Skip to content

specs/t27f: ui_targets plan, one object model on three targets (Closes #13294) - #13295

Merged
gHashTag merged 3 commits into
masterfrom
claude/ui-targets-plan
Nov 7, 2026
Merged

gHashTag merged 3 commits into
masterfrom
claude/ui-targets-plan

Conversation

@gHashTag

@gHashTag gHashTag commented Nov 7, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #13294. See #11037 (T27 OS), see #10782 (the 27-petal menu from one t27 spec).

What

STEP 1 of the owner order of 2026-11-08: the T27 OS UI on three targets (browser via t27b, the native desktop window, the AX7203 framebuffer) from one object model. This PR adds the plan as one spec, specs/t27f/ui_targets.t27, and nothing else.

  • Object model: 13 rows (menu, petal, label, glass, tokens, style, graph, layout, frame, display list, browser, desktop, fpga). Each row has its owner spec, shared or per target, a label (exact / derived / missing), the open PR that holds a missing piece, and the gap.
  • Data flow: 11 arrows from the spec objects through VfGraph, VfLayout and VcStyle + tokens into one display list, then into three backends. Each arrow names its spec, label, PR and gap.
  • Order: desktop first (host on master, waits on no open PR), then browser (waits on PR 13254 and t27b wasm body lowering), then fpga (waits on a board top and HDMI pins), then the UI Kit (waits on VcStyle in PR 13254).
  • Style law: background 0x000000, text 0xFFFFFF, Outfit, letters read from petal_menu.t27, frosted-hover contrast at least 7.6:1.
  • Frame budget: the menu fits the 128-op display-list frame (112 ops) only with a quad op and a glyph op that each carry all their coordinates in one record. Today's encoding spends one op per int, so a petal costs at least 13 ops and the menu 351.
  • Held objects: a comment line names the window-shell objects (window, toolbar, nav, content, slot, target profile; owner spec specs/t27f/vf_window.t27) that become rows once the owner approves that plan.

The plan defines no second VfGraph, VcStyle, token set or display list. Where master lacks one, the row says missing.

Counts (pinned by the tests)

exact derived missing
objects (13) 5 6 2
arrows (11) 0 2 9

Checks

  • t27_check (compiler front end, MCP): ok, 0 errors.
  • lefthook pre-commit and pre-push: own-language and secret-gate green.
  • The 12 test blocks and 1 invariant run in CI (spec-guards / suite). Nothing was run on the Mac.
  • No seal: new specs of this kind (for example petal_viz_plan.t27) carry none.

🤖 Generated with Claude Code

…#13294)

The plan for the T27 OS UI on the browser, the desktop window and the
AX7203 framebuffer, written as a spec. It names the owner spec of 13
objects (menu, petal, label, glass, tokens, style, graph, layout, frame,
display list and the three targets) and of 11 data-flow arrows, labels
each one exact, derived or missing, and names the open PR that holds a
missing piece (13254, 13250). It defines no second graph, style, token
set or display list.

Tests check that both tables are complete, that every target reads only
the display list, that a row held by an open PR is never exact, the
pinned label counts (objects 5/6/2, arrows 0/2/9), the order (desktop,
browser, fpga, then the UI Kit) and the menu style law read from
petal_menu.t27.

See #11037, see #10782.

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

github-actions Bot commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-11-07 19:17:31 UTC

Summary

Status Count
Total Open PRs 42
PRs with Failing Checks 39
PRs with All Checks Green 3
READY 2
FAILING 39
PENDING 0
NO CHECKS YET 0

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

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=b97adc88eb30 != 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 and others added 2 commits November 8, 2026 02:20
A comment line in L2 names window, toolbar, nav, content, slot and target profile (owner spec specs/t27f/vf_window.t27) and three arrows. They become rows after the owner approves the window-shell plan. No row, count or test changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ing (Refs #13294)

flatten_into spends one op per int, so a petal costs at least 13 ops and the menu 351, over the 128-op frame. The 112-op estimate holds only with packed quad and glyph ops (arrows A1, A6); the test now pins both.

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

github-actions Bot commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-11-07 19:23:56 UTC

Summary

Status Count
Total Open PRs 40
PRs with Failing Checks 38
PRs with All Checks Green 2
READY 2
FAILING 38
PENDING 0
NO CHECKS YET 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=b97adc88eb30 != 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 c43937b into master Nov 7, 2026
26 of 39 checks passed
@gHashTag
gHashTag deleted the claude/ui-targets-plan branch November 7, 2026 19:29
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.

T27OS UI on three targets: plan spec, object model and data flow

1 participant