Skip to content

v1.9.0 — Design-Panel Review Hardening + Animated HTML Decks

Latest

Choose a tag to compare

@kgraph57 kgraph57 released this 17 Jul 04:49
251251a

Messy notes in. Board-ready slides out. This release makes the charts defensible and the output shippable.

demo

Highlights

  • Animated HTML decks: scripts/build_html_deck.py bundles slide specs into one self-contained HTML file — quiet staggered reveals, keyboard navigation, progress bar, and a print stylesheet that exports one slide per page to PDF. Zero external requests. (Attached: the six-slide demo deck.)
  • Four new rendered patterns: cover, scatter, distribution, small_multiples — 16 patterns now render to real SVG.
  • Five-perspective design-panel hardening: we ran the whole system through Tufte / ex-McKinsey (Zelazny) / Swiss grid / FT data-journalism / design-engineering review lenses and shipped every fix:
    • Waterfalls stay on-canvas on negative-running bridges (zero floor + 0 tick; -$4 not $-4)
    • CJK-correct wrapping — Japanese headlines and labels wrap instead of overflowing; committed 役員会サマリー example
    • No silent truncation: ellipsis + full text preserved in SVG <title>
    • One re-derived navy #15296B that survives greyscale print (luminance separation asserted in tests); gold accent removed
    • Diverging heatmap ramp for signed data; cell text passes WCAG AA across the whole ramp (asserted)
    • Decoration stripped per data-ink rules; legends replaced with direct labels
    • Comparison-type gate before pattern choice; single-proposition headline rule; deck-level storyline check; new Data-Ink & Graphical Integrity rubric axis (24-point scale)
  • Slide furniture: page_number, classification, footnotes
  • Honest scope disclosure: pattern tables mark ✓ SVG vs spec-only; the renderer claims exactly what it does
  • Tests 12 → 28, and the validator now re-renders every committed SVG and the demo deck from source, failing on any drift

Full details in CHANGELOG.md.

Zero dependencies. Zero API keys. Python 3 stdlib only.