Skip to content

docs: polished animated SVG demo (3 scenes), retire the VHS path#21

Merged
wavyx merged 7 commits into
mainfrom
docs/demo-svg-polished
Jun 16, 2026
Merged

docs: polished animated SVG demo (3 scenes), retire the VHS path#21
wavyx merged 7 commits into
mainfrom
docs/demo-svg-polished

Conversation

@wavyx

@wavyx wavyx commented Jun 16, 2026

Copy link
Copy Markdown
Owner

Replaces the README demo with a polished, curated SMIL-SVG terminal — crisper than the WebP (vector, ~4 KB, scales at any DPI), deterministic, no network/fonts/scripts.

Scenes (see → act → improve):

  1. pdcli pipeline health — the pipeline table
  2. pdcli deal update 4821 --status won — ✓ confirmation
  3. pdcli audit — data-hygiene findings (● duplicates/stale, --strict CI hint)

Generator fixes (scripts/gen-demo.mjs) over the old version:

  • wider canvas (880px) + 15px type
  • typing clip snaps fully open after each command → never crops, font-independent
  • clip extends below the baseline → descenders (p/g/y tails) intact
  • plays once and rests on the last scene → no loop-degeneration frames

Retires the VHS path (docs/demo.tape, scripts/seed-demo.sh, docs/demo.webp). 1503 tests, 100% coverage, lint clean. Docs-only.

wavyx added 7 commits June 16, 2026 12:07
Brings back the deterministic SMIL-SVG generator (vector, tiny, no network) with
the curated forged scenes — both valid pdcli commands (pipeline health; deal
update --status won). Polish vs the old one: WIDTH 720→880, font 14→15px,
LINE_H 22→26, scaled padding/caret, so nothing crowds the edge. README points
back at docs/demo.svg; docs:demo runs the generator again. The VHS path
(demo.tape + seed-demo.sh + demo.webp) stays in the tree as the live-recording
alternative — this branch is for side-by-side comparison.
…crop

CH (the clip/caret glyph width) was 9.0px but real 15px monospace advance is
wider, so the typing clip cut the command ('health' → 'heal') and parked the
caret mid-word. Bump CH to a safe over-estimate (10.0); the command now fully
reveals on the fonts in the stack, caret sits just after it.
The typing/output reveals fired once but the doc 'looped' every 12s without
re-triggering them, so after the first pass the command never re-revealed —
renderers landed on degenerate frames (bare prompt + caret). Drop the loop: the
demo now types scene 1, then scene 2, and rests on the won-confirmation (last
scene never resets/hides; its caret blinks on the resting frame). No loop state
to degenerate, robust across SVG renderers.
… cut

The command's typing clip-rect bottom sat exactly on the text baseline, shearing
glyph descenders (the tails of p/g/y in 'pdcli'/'pipeline'). Extend the rect 10px
past the baseline so descenders render in full.
Rounds the arc see → act → improve: pipeline health, a won deal, then an audit
that surfaces duplicate/stale/next-step findings (amber ● markers) with a
--strict CI hint. Showcases the value-add beyond CRUD. New .warn color; the demo
plays through three scenes and rests on the audit.
Sizing the held clip to an estimated cmdW still shaved the last glyph when the
viewer's real advance ran over the estimate ('audit' -> 'audi'). Now the clip
grows to ~cmdW while typing, then snaps to full width at typing-end — the
resting command is never cropped, independent of the rendering font. CH (11)
now only paces the type animation and the caret.
Going with the curated SMIL-SVG demo (crisper, tiny, deterministic). Remove the
VHS recording files (docs/demo.tape, scripts/seed-demo.sh, docs/demo.webp) and
the stale CONTRIBUTING mention; refresh the README alt text for the 3 scenes.
@wavyx wavyx merged commit d4eca48 into main Jun 16, 2026
11 checks passed
@wavyx wavyx deleted the docs/demo-svg-polished branch June 16, 2026 12:41
@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants