Repository navigation
spec(t27f): demo camera and scene kind as scalar entry points for deck hosts - #9984
Merged
Merged
Conversation
…k hosts (Closes #9983) demo_cx/cy/hw expose the demo reel camera at frame f, demo_kind and demo_scene_start the scene's kind and first frame, so a wasm host can call T27fDeck slide_x/slide_y/slide_r and card_alpha. Test demo_camera_is_the_reel_camera ties them to demo_sx/demo_sy; lab 20/20, 0 vacuous, 4/4 negative controls killed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
enabled auto-merge (squash)
October 17, 2026 15:21
Contributor
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.
Summary
This PR adds scalar entry points to
specs/t27f/reel.t27that let a wasm host place the demo reel's map on a T27fDeck slide (specs/t27f/deck.t27, #9979). Closes #9983. Refs #9980, #9978.slide_x,slide_yandslide_rin deck.t27 take the reel camera(cx, cy, hw). Until now reel.t27 exposed that camera only through the array-takingcamera_cx,camera_cyandcamera_hw, and a wasm export cannot receive arrays. The new entry points:demo_cx(f),demo_cy(f)anddemo_hw(f): the demo camera at base frame f;demo_kind(scene): the scene kind, orSCENE_KIND_COUNTfor a scene the demo does not have, which deck'slayout_formaps toLAYOUT_NONE;demo_scene_start(scene): the first frame of a scene, orEND_OF_REEL. deck'scard_alpha(k, n)needs the frame within the scene.The header's "not claimed" line now names both importers, t27f_view and T27fDeck. It no longer says that only t27f_view imports this file, which stopped being true when deck.t27 landed.
Test added
demo_camera_is_the_reel_camerachecks the following:FOCUS_HW. At the lens still, it stands atlens_cy(0).demo_sxanddemo_syequalscreen_xandscreen_yof the new camera.demo_scene_at(demo_scene_start(s)) == s, and the start is never after the still.SCENE_KIND_COUNTandEND_OF_REEL.Evidence (Railway lab, t27c 0.5.2 built at 57474a4, zig 0.16.0)
demo_camera_is_the_reel_camera(19 pass, 1 fail):demo_hwreturnsOVERVIEW_HW;demo_kindguards with>in place of>=;demo_scene_startreturns the still frame;demo_cyreturnsOVERVIEW_CY.specs/t27f/reel.t27:c47b21cea1d7169da6528e321cf2d2c513d3f552c0cd04fe9d37bbd5314ccacf.The consumer is the deck look of gHashTag/t27-mcp
t27f_view, in a PR stacked on gHashTag/t27-mcp#3.🤖 Generated with Claude Code