v0.19.11lumaweave2026-07-12

Derive the layout, don't tune it

Every spacing constant was tuned against a snapshot and silently broke when content changed. The layout now derives all distances from the content, so overlap is impossible by construction.

v0.19.112026-07-12
  • ·Adaptive pipeline: DERIVE → MEASURE → ALLOCATE → PLACE → VERIFY, zero distance constants
  • ·Nodes overlapping their neighbour: 65.1% → 16.4% → 0.0%
  • ·Magic "8 units" test replaced by relational invariant: dist(a,b) ≥ r(a)+r(b)
  • ·50-finding append-only ledger + 9 characterization guards that fail when facts change
  • ·Guard found GD-050 on first run: isSun is computed, then deleted on the next line
  • ·Deleted the dead renderer scaffolding — 5 things that looked like a seam and weren't