Skip to content

spec(t27f): the deck backdrop is brand black (Closes #10035) - #10036

Merged
gHashTag merged 1 commit into
masterfrom
t27f/black-backdrop
Oct 17, 2026
Merged

gHashTag merged 1 commit into
masterfrom
t27f/black-backdrop

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #10035

What

The owner's order of 2026-10-18 is to make the background black and follow our brand book. specs/t27f/deck.t27 is the default slide look of a T27F reel, and this PR changes:

  • BACKDROP: 0x06060B -> 0x000000. The t27.ai site paints its page #000000 (gHashTag/trinity apps/website/src/index.css, --bg).
  • AURORA_UNDER_CARD_PERMILLE 300 -> 0 and AURORA_UNDER_COVER_PERMILLE 450 -> 0. The brand book (gHashTag/tri-net phone/BRANDBOOK.md) says black surfaces, with colour only as a signal and never as decoration. The ribbon colours stay in the file, so the existing separation test still guards them, but they are drawn at zero strength.
  • New test the_backdrop_is_brand_black: BACKDROP == 0x000000, every ribbon at card and cover strength leaves the backdrop black, and the darkest status colour (muted, 0x3F3F50) still stands off black by MIN_STATUS_DISTANCE.
  • Header note: what changed from the Tome deck and why.

Nothing else moves. The layout, the card, the type and the status colours are unchanged.

Verification (Railway lab, never the Mac)

Shipped as one tarball, with the sha256 equal on both ends. Here deck.t27 is bd8ef9fc...512147.

  • t27c test-report: 16 tests, 16 pass, 0 FAIL, 2 invariants proved, 0 vacuous passes. The new test executes 9 asserts.
  • t27b (aarch64 under qemu) test --check: 16 passed, 0 failed, 2 invariants held.
  • Negative control: with BACKDROP = 0x06060B restored on a copy, t27c reports exactly 1 FAIL, the_backdrop_is_brand_black.
  • Regenerated host numbers (t27c 0.5.2 gen / gen-js, zig 0.16.0 wasm). Compared with the current wasm/deck.mjs in gHashTag/t27-mcp, the only differences are BACKDROP and the two AURORA_UNDER_*_PERMILLE values. reel.zig and reel.mjs are byte-identical. The regenerated files go into t27f_view: presentation slides by default (T27fDeck) t27-mcp#4.

Not claimed

The plain map view (look: 0) draws its background from a colour hard-coded in t27-mcp server.mjs (#0b0d12), not from this spec, so this PR does not make it black. Moving that number into the spec is a hand-written change to a .mjs file, which the only-t27 rule does not allow here, so it is left as a follow-up.

🤖 Generated with Claude Code

BACKDROP 0x06060B -> 0x000000 and both aurora strengths -> 0, by the
owner's order of 2026-10-18 to follow the brand book: the t27.ai site
paints its page #000000, and gHashTag/tri-net phone/BRANDBOOK.md says
black surfaces, colour only as a signal. New test
the_backdrop_is_brand_black holds every backdrop pixel at 0x000000.

Lab: t27c 16/16 pass, 0 vacuous; t27b 16 passed; negative control
(0x06060B restored) fails the new test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gHashTag
gHashTag enabled auto-merge (squash) October 17, 2026 17:20
gHashTag added a commit to gHashTag/t27-mcp that referenced this pull request Oct 17, 2026
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>
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-17 17:21:13 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 49
PRs with All Checks Green 1
READY 0
FAILING 49
PENDING 0
NO CHECKS YET 0

These columns do not partition: 0 + 49 + 0 + 0 = 49, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=e769ef021713 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit 60d332d into master Oct 17, 2026
25 of 29 checks passed
gHashTag added a commit to gHashTag/t27-mcp that referenced this pull request Oct 17, 2026
…he spec as SVG (#3)

* feat: t27f_view draws T27F demo reel stills from the spec as SVG

Every position, size and style index comes from specs/t27f/reel.t27
(gHashTag/t27 PR #9982): its bodies run as wasm/reel.wasm, built from the
generated Zig plus a 38-line export shim, and its constants are the generated
wasm/reel.mjs. server.mjs only writes polygons and labels to an SVG file and
returns the path, which the Claude Code desktop app opens in its Browser pane.

Hand glue: wasm/export.zig 38 lines, server.mjs 40 added lines (one of them
the changed tools/call line that passes string results through) -- 78 in all.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: t27f_view draws presentation slides by default (T27fDeck)

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>

* t27f_view: a scene still shows the whole glass card (STILL_CARD_ALPHA)

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>

* t27f_view: the slide backdrop is brand black (gHashTag/t27#10036)

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>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag added a commit to gHashTag/t27-mcp that referenced this pull request Oct 17, 2026
…ck) (#6)

look 0 hard-coded #0b0d12 for its background and its cell strokes. It
now reads deck.BACKDROP from wasm/deck.mjs (generated from
specs/t27f/deck.t27, 0x000000 since gHashTag/t27#10036), so both looks
share one backdrop and the number lives only in the spec. Net change: 0
lines, 3 edited.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

spec(t27f): the deck backdrop is brand black (owner order 2026-10-18)

1 participant