160ee31b8c632d943c233c0505f500fd6b503f17
The IR supersedes both intermediate designs (requirements D6, D7):
station/tools/docgen and the graph model that briefly lived in graphgen.
Shipping them beside atlas2/docgen would mean two graph models, which is the
thing the architecture argues against.
Carried across rather than lost:
- style/extract.py and tokens.py, the offline theme harvester (R31). Rewritten
to emit a *theme* — a slot-to-hex binding — rather than a whole style file,
since what harvesting recovers is which colour a slot should be, not what a
kind should look like.
- graphgen/README.md, rewritten for what graphgen actually is now: the
schema explorer. It fixes the blank station-index entry at run.py:304.
Two bugs found while doing it:
- Canvas and ink are the two lightness extremes, not the two most common
values. In a Graphviz SVG every label carries a fill, so the ink outnumbers
the canvas 87 to 43 and the old rule produced a theme whose text was
invisible against its own background.
- A name defined in both branches of an if/else produced a duplicate id, which
failed validation on docgen's own source. Disambiguated by line.
soleprint
Development workflow platform. Wraps existing applications with tools, testing, and documentation — without touching source code.
Cada paso deja huella.
Docs
cd docs && python -m http.server 8080
Visit http://localhost:8080. Start with Concepts for the mental model, then Quickstart to run your first room.
Description
Languages
Python
54%
HTML
21.7%
Shell
17.1%
CSS
2%
Vue
1.5%
Other
3.6%