Repository navigation
Conversation
The default look is now a deck slide from specs/t27f/deck.t27: a cover, stage or split layout by scene kind, regions, type sizes, palette and card opacity all from the spec, with the map placed by slide_x/slide_y. look 0 keeps the plain map. wasm/t27f.wasm now carries reel and deck bodies; export.zig handles two modules and five parameters. WIP: split stills wait on a deck.t27 answer for card_alpha at the still frame (it is 0 there). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
deck.t27 (gHashTag/t27 PR #9992) adds STILL_CARD_ALPHA: a still is the last frame of its scene, where card_alpha is 0, so a still drawn with card_alpha showed no card. A scene still now uses STILL_CARD_ALPHA; an exact frame keeps card_alpha. deck.zig and deck.mjs regenerated on the Railway lab (15/15 deck tests, 0 vacuous); t27f.wasm is byte-identical (the change is a constant). Adds deck renders and pane screenshots under docs/t27f_view/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary by t27-beesThis PR switches Worth a look
Read: 22 files, +902 -39, the whole diff up to 60000 characters (the rest was not read). Head |
Regenerated wasm/deck.zig, deck.mjs and t27f.wasm from deck.t27 at gHashTag/t27#10036: BACKDROP 0x000000, both aurora strengths 0. Only those three constants differ in deck.mjs; reel.* byte-identical. Built on the Railway lab (t27c 0.5.2, zig 0.16.0), sha256 in wasm/BUILD. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Merged on the owner's explicit instruction of 2026-10-18 (translated): "merge it yourself, autonomously -- I allow everything". For the record: this stack adds hand-written non-t27 code, all of it drawing glue -- |
Summary
t27f_viewnow draws every T27F demo reel still as a presentation slide by default, fromspecs/t27f/deck.t27in gHashTag/t27. Before this, the tool drew only the plain map fromspecs/t27f/reel.t27.This PR is stacked on #3 and its base is
t27f-view.Spec PRs it depends on:
demo_cx,demo_cyanddemo_hw, plusdemo_kindanddemo_scene_start. With these, a wasm host can call deck'sslide_x,slide_y,slide_randcard_alphawithout passing arrays.STILL_CARD_ALPHA. A still is the last frame of its scene, wherecard_alphais 0, so a still drawn withcard_alphawould show no card. The generatedwasm/deck.zigandwasm/deck.mjshere come from #9992's deck.t27. Merge this PR after #9992.What the tool draws
Defaults:
look = DEFAULT_LOOK(LOOK_DECK) andpreset = DEFAULT_PRESET(wide 16:9).look: 0(LOOK_MAP) keeps the previous plain map.Layout by scene kind (
layout_for):On a SPLIT slide the glass card is on the left and the map on the right; on square and tall presets the map stacks above the card.
Values from the spec: regions (
region_px), map placement (slide_x,slide_y,slide_r), type sizes, leading, palette, aurora, glass constants andSTYLE_COLOUR.Status styles: GAP and UNKNOWN cells are dashed (
style_dashed).The hero is the map. It is clipped to REGION_HERO, and no generated image is drawn.
Card opacity: a scene still shows the card at
STILL_CARD_ALPHA. An exactframeshows it atcard_alpha, the way the video would.New inputs:
title,subtitleandrows. If they do not fit (text_fits), the tool returns an error asking for a second slide; it never shrinks the text.Wasm: one module,
wasm/t27f.wasm, exports the scalar functions of both reel and deck.wasm/BUILDlists the commands and sha256s.Choices made in glue (not in the spec)
deck.t27 fixes these colours, opacities and sizes, but not the shapes below, so the glue picks them:
Hand glue (gate #7371): 64 of 80
deck-view.mjs(new)server.mjswasm/export.zigEverything else is generated (
wasm/deck.zig,wasm/deck.mjs,wasm/t27f.wasm), prose (README.md,wasm/BUILD) or output (docs/t27f_view/).wasm/reel.wasmis deleted;t27f.wasmreplaces it.Evidence
t27f.wasmis 6234 bytes with 75 exports. #9992 adds only a constant, so the wasm is byte-identical before and after it.docs/t27f_view/:deck-focus-wide,deck-focus-squareanddeck-focus-tall: split slides; the card is visible at opacity 1.deck-overview-wide: stage slide.deck-evidence-wide: split slide with statuses and two rows. Only the gap cell is dashed.Not shown: a COVER slide. The demo reel has no title scene (DEMO_KIND is overview, lens, focus, evidence, call), so no demo still uses COVER.
🤖 Generated with Claude Code