Roadmap
Done
- Core parser (PTA, Goluca, Beancount via tree-sitter)
- LR column layout engine
- SVG renderer with text/template
- CSS flow animations (optional)
- CLI with -o, -animate, -title, -layout, -format flags
- Multi-commodity support
- Balance display on account nodes
- Syntax-highlighted PTA source in docs site
Phase 1 — Better automatic layout
- Integrate
nulab/autogas Sugiyama/layered layout (-layout sugiyama) - Proper crossing minimisation and edge routing
- Support autog edge points (polyline/ortho/spline) in renderer
- Keep LR as default, Sugiyama as alternative
Phase 2 — Clustering / grouping
- Group nodes by account hierarchy prefix (e.g. all
Asset:Bank:*) - Post-layout bounding-box computation with padding
- Render cluster backgrounds as SVG
<g>+<rect>(rounded, dashed) - Irregular shapes via SVG
<path>for non-rectangular groups
Phase 3 — Animation
- SMIL
<animateMotion>for money flowing along edge paths - Sequenced animation via existing delay indices → SMIL
beginattributes - Docs samples: static vs animated diagrams side-by-side
Phase 4 — Visual styles & docs samples
- Varied node shapes (ellipse, rounded-rect, diamond)
- Sankey-style edge width proportional to amount
- Gradients and shadows via SVG
<defs> - Docs site sections: basic, animated, clustered, styled
- Account declarations with explicit types/colors