Skip to content

fix(readme): trim dark lead frames from live-graph-rail.gif - #23

Merged
HomenShum merged 1 commit into
mainfrom
claude/readme-gif-lead-r8
Oct 15, 2026
Merged

HomenShum merged 1 commit into
mainfrom
claude/readme-gif-lead-r8

Conversation

@HomenShum

@HomenShum HomenShum commented Oct 15, 2026 •

Copy link
Copy Markdown
Owner

Trim the lead frames from docs/media/live-graph-rail.gif so the README (and the hotlinking site pages) open on the rendered UI instead of a dark pre-paint frame.

Rule (same for NodeMem): steady = median of per-frame mean luminance L over all frames; drop leading frames while L < 0.9 x steady; never drop more than 1.0 s.

  • steady (median L) = 24.423, threshold = 21.981
  • k = 8 frames dropped = 1000 ms removed (the 1.0 s cap binds): frame 0 is a fully dark pre-paint (L = 17.64); frames 1-7 (870 ms) are already the rendered empty-state UI at L = 20.83, below the threshold only because the demo brightens later as content streams in. Cutting them is therefore the literal output of the rule, not needed to remove the blank opener (k=1 would do that); Codex review (WARNING, not BLOCKED) accepts k=8 under this rule
  • frame-0 L: before 17.637 -> after 20.830. New frame 0 shows the full UI ("Ask the room" panel, session graph rail, composer)
  • Known shortfall, not hidden: because the cap binds, new frame-0 L is 0.853 x the old median (< 0.9). The rule was not loosened; the 1.0 s cap is what stops it. Side effect: frames 1-7 render the heading/body text in a visibly different typeface from frame 8 onward, and that difference no longer appears at the start of the loop.
  • frames 124 -> 116; size 960x590 and loop=0 unchanged; durations of kept frames unchanged
  • The kept frames after k were partial deltas over the dropped ones, so the new first frame (old frame 8) is re-encoded as an opaque full-canvas block against the original global colour table (122 colours, lossless); every later block is copied byte-for-byte. Compare script shows all 116 frames pixel-identical to old frames 8..123 and durations equal. Size 2744409 -> 2763051 bytes (+18.6 KB for the full-canvas first frame).
  • Touches exactly one file.

Evidence: D:/ProjectRecovery/.../readme-gif-lead-frames-20261015T231318Z (rule.txt, compare-NodeAgent.txt, NodeAgent-frame0-before/after.png).

🤖 Generated with Claude Code

Drop leading frames below 0.9x the median frame luminance (cap 1.0 s) so the GIF opens on the rendered UI. Kept frames are pixel-identical; size, loop and durations unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@HomenShum
HomenShum merged commit a918e85 into main Oct 15, 2026
3 checks passed
@HomenShum
HomenShum deleted the claude/readme-gif-lead-r8 branch October 15, 2026 23:28
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.

1 participant