Copyright 2023-2024 Dave Cridland
This is a somewhat silly play-about with React and an NPMish library.
The bulk of the application logic is handled entirely in the library, hence the awkward hack to make React actually re-render after cells are recalculated.