Add marimo app pages as a 'primary' approach to using the package
Given an aspiration that people actually make tiled/woven maps, it would make sense to enable a more 'app-like' way of using it. The most promising approach to this is likely via a web interface. Marimo seems to offer a way to do this without having to build a sophisticated JS infrastructure around the weavingspace package.
An example 'my first marimo app' is here. A collection of pages that allowed:
- Exploration of tile and weave units via UI controls and generation of the necessary CLI invocation of the library to make said units. This shouldn't be hard. Perhaps also download of said units (as pickled python objects? JSON-ified objects?)
- Import of tile units (from the previous page) and target data layers to be tiled, and then overlaid. This might too hard/too slow.
- An app for exploring topological manipulations of tile units.
- Others? Perhaps a ColorBrewer-like display showing this is what this tiling might look like with this combination of colour ramps / palettes.
This is substantially done for a large subset of the API's capabilities in the app at https://dosull.github.io/mapweaver/app/
Some work needed to clean up the relationship between that and this repo, where a parallel app is in the tiling-explorer-2 subfolder with associated code in tiling-explorer-2.py.
There are limits to what can be done in an app. Every potential tweak requires additional UI which can quickly become overwhelming. E.g., the join_on_prototiles, prioritise_tiles, and ragged_edges parameters of the TiledMap constructor each require a marimo.ui.switch and associated screen real estate. They also require pithy explanations, which are non-trivial! Loading time for the marimo app is long.