mirror of
https://github.com/cathrynlavery/diagram-design.git
synced 2026-09-14 16:31:34 +08:00
48fecccda7
* feat(waterfall): add reference, example variants, and executable verifier Waterfall is a running-total grammar: totals anchor at the domain floor, signed bridge bars float between running levels, and a carry connector conserves the total across every gap. Each bar declares data-role, data-value, and data-name; scripts/verify-waterfall.py recomputes the walk and fails on conservation, scale, bridge-geometry, carry, printed- label, or sign-treatment drift, with adversarial coverage in scripts/test-verify-waterfall.py per ADR 0005. Co-authored-by: Matt Van Horn <mvanhorn@users.noreply.github.com> * feat(waterfall): wire routing, gallery, docs, CI, and screenshot catalog Move the verifiable type count 39 -> 40 across SKILL.md, the frontmatter description and all four plugin manifest descriptions, the gallery tab (eyebrow 53), README, CONTRIBUTING, cookbook, and the counters in verify-docs-sync.py, verify-semantic-motion.py, the screenshot catalog scripts, and the motion-verifier fixture. Add the waterfall CI gates to ci.yml and .maintainer-policy.json, the canonical waterfall.png with its manifest entry, and the README thumbnail. Pay the ADR 0004 byte cap by trimming SKILL.md body prose the ADR 0007 way (an illustrative §6 rule-5 example clause and the §10 consultant-row detail); SKILL.md lands at 39,971 bytes. Plugin manifest versions are untouched (ADR 0009). Co-authored-by: Matt Van Horn <mvanhorn@users.noreply.github.com> * docs(adr): record the waterfall running-total grammar decision ADR 0010 argues the grammar against bar, dumbbell, pyramid, Sankey, and stacked bars, and scopes the two dumbbell-precedent departures (sign by fill weight, data coordinates exempt from the 4px grid). ADR 0002 gains the 39 -> 40 amendment its enforcement procedure requires. Co-authored-by: Matt Van Horn <mvanhorn@users.noreply.github.com> * docs(pr-previews): add waterfall light/dark/full visual proof renders Co-authored-by: Matt Van Horn <mvanhorn@users.noreply.github.com> * fix(verify-waterfall): close the three review findings, with regressions Non-finite carries: parse_number now rejects nan/inf, and the bar geometry, running total and fitted scale each require finite values, so a data-carry="nan" can no longer sail past a tolerance comparison that is false either way. Labels were not bar-bound: printed_values now takes the bar and only accepts a <text> centred on that bar's column at its expected label height. A bar that loses its own label while an unrelated tick carries the same number now fails instead of borrowing it. Polarity fills were under-validated: the tint-for-increase and paper-for-decrease mapping is asserted absolutely per bar against the theme's documented pair, which the previous set-vs-set comparison could not see for a single-polarity walk or a swapped chart. An unrecognised paper falls through to the relative checks rather than failing the file. Each finding gets a mutation in test-verify-waterfall.py: 17 now, all caught, and the three shipped examples still pass. --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Co-authored-by: Cathryn Lavery <cathryn@bestself.co>
68 KiB
2400x1202px
68 KiB
2400x1202px