Skip to content

Recapture the gallery: axis fix, and two frames that were never deterministic - #71

Merged
ralyodio merged 2 commits into
mainfrom
worktree-recapture-axis
Sep 8, 2026
Merged

Recapture the gallery: axis fix, and two frames that were never deterministic#71
ralyodio merged 2 commits into
mainfrom
worktree-recapture-axis

Conversation

@ralyodio

@ralyodio ralyodio commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

#70 moved the y-axis minimum off the time-axis row. The published screenshot still showed the old collision, because the gallery serves committed images rather than rendering live.

before   │   $008-10             08-14
after    │   $0  ■ volume ■ commission
         │    08-10             08-14

And two frames that were never reproducible

I first claimed the other eight would regenerate byte for byte. That was wrong, and checking it found two real defects — in the fixtures I wrote, not in the capture:

  • nixampanoisesrc defaults to seed=-1, so the analyser was measuring different pink noise on every run. The screenshot changed each time. Seeded in nixamp@8c12e52. It is still real audio through the real analyser, just the same real audio each time.
  • tsbb — the view renders ages through relative(), which compares against Date.now(). Pinning the fixture timestamps to a fixed date meant the rendered labels drifted an hour every hour. Anchored to capture time in tsbb@1ba17f7.

Either would have churned the gallery on every regeneration, making a real change impossible to spot in a diff — which is precisely what these frames exist to prevent.

Verified rather than asserted this time

Two consecutive full captures now produce byte-identical files for all nine apps (md5sum compared across runs).

🤖 Generated with Claude Code

https://claude.ai/code/session_017Df2FNu5DhinMV2soRz3cy

ralyodio and others added 2 commits September 8, 2026 16:14
#70 moved the y-axis minimum off the time-axis row. The published
screenshot still showed the old collision, since the gallery serves
committed images rather than rendering live.

"$0" now sits on the plot's bottom row and "08-10" has the time axis to
itself.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017Df2FNu5DhinMV2soRz3cy
Regenerating the whole gallery showed these two changing on every run,
which I had claimed would not happen without checking. Both were real
defects in the fixtures rather than in the capture:

  nixamp  anoisesrc defaults to seed=-1, so the analyser was measuring
          different noise each time. Seeded upstream.

  tsbb    the view renders ages through relative(), which compares
          against Date.now(). Pinning the fixture timestamps to a fixed
          date made the rendered labels drift by an hour every hour.
          Anchored to capture time upstream instead.

Two consecutive captures now produce byte-identical files for all nine.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017Df2FNu5DhinMV2soRz3cy
@ralyodio ralyodio changed the title Recapture the CoinPay frame with the axis fix Recapture the gallery: axis fix, and two frames that were never deterministic Sep 8, 2026
@ralyodio
ralyodio merged commit 5b347fa into main Sep 8, 2026
14 checks passed
@ralyodio
ralyodio deleted the worktree-recapture-axis branch September 8, 2026 16:21
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