buenosairesam 160ee31b8c docgen: drop the superseded first pass, port the style harvester
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.
2026-09-13 21:41:29 -03:00
2026-08-11 07:30:27 -03:00
2026-08-11 07:30:27 -03:00
2026-08-11 07:30:27 -03:00
2026-04-12 12:34:25 -03:00
2026-08-19 02:55:06 -03:00
2026-08-10 09:19:19 -03:00
2026-05-06 12:04:19 -03:00
2026-08-10 09:19:19 -03:00

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
No description provided
Readme 13 MiB
Languages
Python 54%
HTML 21.7%
Shell 17.1%
CSS 2%
Vue 1.5%
Other 3.6%