Freeze the Vulcanus render parity to fixtures (#227) - #351
Merged
Conversation
The second of the three render parity specs, using the machinery #350 added, so this is the conversion only. `vulcanus:render` holds 26 rows: 4 terrain windows, the 5 routed views, 4 rocks, 5 resources, 4 composite and 4 cliffs. Each was recorded only after the Rust and TypeScript arms were compared and agreed. The Nauvis section came through the re-record byte-identical, which is the merge behaviour `flushRecording` is meant to have and is worth having seen rather than assumed. The three `renderTiled` helpers are deliberately NOT frozen, checked rather than assumed: every one of their `runRenderRequest` calls passes the engine, so they compare tiled against whole rather than Rust against TypeScript. The deletion leaves them grading exactly what they grade now. The coverage guard is here from the start rather than added after review. Planted: deleting the terrain `freeze` call site leaves **all 16 other tests green** and is caught only by the guard, at "expected 22 to be 26". That is the second spec where a deleted call site was invisible to every pre-existing assertion. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015W4pLtEAk7Evo14mBkQ1HN
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The second of the three render parity specs, on the machinery #350 added. This
one is the conversion only - no new infrastructure.
What it adds
vulcanus:render, 26 rows intest/fixtures/tier3-render-checksums.json:Each recorded only after the two arms were compared and agreed. The existing
expect(wasm).toEqual(ts)assertions stay, so a failure still gives apixel-level diff; the deletion PR drops those and the
tslocals, and thefrozen rows are what survive.
nauvis:rendercame through the re-record byte-identical - checked, notassumed, since
flushRecordingmerging rather than truncating is the propertythe whole two-section table depends on.
What is deliberately not frozen
The three
renderTiledhelpers. Every one of theirrunRenderRequestcallspasses the engine, so they compare tiled against whole rather than Rust against
TypeScript, and the deletion leaves them grading exactly what they grade now. I
checked the call sites rather than assuming from the helper name - the line-wise
grep flags them because the
runRenderRequest(line itself carries no engineargument, and the
esits several lines down after the request object.The coverage guard, from the start this time
#350 shipped without one and review caught it. This spec has it from the first
commit.
Planted rather than reasoned - deleting the terrain
freezecall site:All 16 other tests stayed green. That is now the second spec where deleting
a
freeze(...)call site was invisible to every pre-existing assertion, which isthe case the guard exists for and the one a
frozenCount-against-a-literalcheck would miss.
Verification
pnpm run verifygreen in 14m59s.tests also confirm the other 22 frozen rows assert correctly.
After this, only
wasmElevationRenderParity(333 lines) is left before entry 8is done and the 43-file deletion is unblocked.
Refs #227.
🤖 Generated with Claude Code
https://claude.ai/code/session_015W4pLtEAk7Evo14mBkQ1HN