Repository navigation
t27f: scene renderers for the 12 archetypes and the still anomaly gate, R3 (Closes #10571) - #10770
Merged
Merged
Conversation
…e, R3 (Closes #10571) Squash of PR #10592 onto master's tip. Its WIP commits named the issue without a linking keyword, which L1 refuses, and the history cannot be rewritten. - scene_raster, scene_lex, scene_bg: the shared integer raster, the lesson's own lines and bytes, and the per-lesson background. - One scene_<archetype> renderer for each of the 12 archetypes that reel_factory plans, plus scene_still, which dispatches on the plan. - still_gate: block SSIM over the 27 stills, with the worst pair pinned. - claw/reel_still and claw/visual_output: TRI CLAW's still command. scene_code now calls scene_lex's lex_letter instead of a copy of its body, which the duplicate-bodies check refused. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
scene_raster's i32 clamp has the same body as igla/coder/prm's f32 clamp. The types differ, so neither can call the other; the copy is deliberate and the ledger now says so (clamp 6 -> 6,2, via tools/dupe_scan.py --bless on the Railway lab). scene_code's seal is re-saved after it switched to lex_letter. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… recipe (Refs #10571) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The only conflict was tools/duplicate_bodies_baseline.txt: this branch raised clamp to 6,2; master added block_ids_equal 6 and lowered clear to 6. Resolved three-way (clamp 6,2; clear 6; block_ids_equal 6). docs/reports/t27b_expectations.json merged cleanly and parses. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
This was referenced Oct 19, 2026
Merged
Closed
Open
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.
Closes #10571. Part of epic #10560 (R3). Supersedes #10592.
Why a new PR
#10592 could not pass L1: 16 of its WIP commits named the issue without a linking keyword, and its history cannot be rewritten without a force-push. This PR carries the same work as one commit on master's tip. Its tree equals #10592 merged with master, plus two fixes for the duplicate-bodies check.
What this does
reel_factory.t27plans one of 12 scene archetypes per lesson. Before this PR, no code drew the plan. This PR adds one renderer per archetype, each drawing the lesson's own content as a still. It also adds a gate that compares the stills.scene_raster.t27: an integer raster with colours, discs, rings, segments and a bitmap font.scene_lex.t27: the lesson's lines, bytes and keyword counts.scene_bg.t27: a backdrop seeded by the lesson..t27each: code, graph, tests, trit, loop, branch, data, links, guard, title, task and map. Each is a function<name>_px(t, acc, n, x, y)on a 360 x 640 canvas.scene_still.pixeldispatches by archetype and applies the plan's accent, motion and layout.still_gate.t27:claw/reel_still,claw/visual_output: TRI CLAW's still tool and its visual-output rule.Fixes over #10592
scene_code: callsscene_lex'slex_letterinstead of a copy of its body. Its seal is re-saved.scene_raster's i32clamp: has the same body asigla/coder/prm.t27's f32clamp. The types differ, so neither can call the other. The ledger now records the copy as deliberate (clamp 6->6,2, written bytools/dupe_scan.py --bless).Evidence (Railway lab, 355d44a)
t27c test-reporton all 19 R3 specs: 91 of 91 tests pass, 0 vacuous.t27c seal --verifyreports all hashes MATCH for all 19.tools/dupe_scan.pyis clean after the bless: "no new duplicate body, and none of the known groups grew"..t27, not committed) dumped all 27 stills at 360 x 640.Not claimed
lesson_reelstill drawstoken_floor. That is R4, next.🤖 Generated with Claude Code