DX: replace binary golden .ppm fixtures with a text-diffable baseline #30
Labels
No labels
area:ci
area:docs
area:input
area:net
area:rendering
area:repo
area:stdlib
area:tooling
area:types
cleanup
dx
priority:high
priority:low
priority:medium
proposal
status:in-progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: workshopsoft/ludic#30
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
selfhost/golden/holds 4 binary.ppmgolden files (chronorift.ppm,draw_prims.ppm,menu.ppm,snake.ppm) used as render-output baselines. This ispoor DX:
("Binary files differ"), so a reviewer can't tell what actually changed.
Proposal
Pick a verification strategy with a legible signal instead of committed binaries:
of the rendered framebuffer and compare in
bin/x test. Tiny, text-diffable,no image blobs.
(generated artifact, or committed as PNG with an explicit "regenerate with
bin/x …" doc), and diff structurally, not byte-for-byte.review a baseline so blessing an update is deliberate.
Acceptance criteria
Part of the repository-cleanup / DX pass.
Done in
fb728bb.The 4 binary
selfhost/golden/*.ppmfixtures are gone, replaced by a single text baseline:selfhost/golden/renders.sha256— one<path> <sha256>line per render.Acceptance criteria
.ppmfiles are deleted; the primary baseline is now hashes in a text file.game_caserenders each game headless and compares the framebuffer's SHA-256 against the manifest. A regression is a changed hex line in review, not "binary files differ".bin/x goldenre-renders the four goldens and rewrites the manifest, printingreview the change: git diff selfhost/golden/renders.sha256. Render keys live in one place, shared by the checks and the regenerator so they can't drift.The new hashes are byte-identical to the retired PPMs (verified before deleting them), so this changes the baseline's form, not its content.