feat(artifact): handheld (clap) destination tab on the design board #211

Merged
peterswimm merged 1 commit from feat/udg-handheld-board-tab into main 2026-10-14 01:18:19 +00:00
Owner

Scope

Built on #210, which has since merged to main, so this PR targets main (it was opened as a stack on #210's branch, which was deleted on merge). The diff against main is this one commit. Adds a "Handheld" (clap) destination tab to the design board so the handheld.display surface profile is visible on dist/fux-capacity/artifact.html. The Components panel shows the surface preview (regions and the blocks the product places there) plus a static 640x480 LittleGPTracker-style mockup (page strip SAM..MOD, label value [bar] rows) drawn from the product's *.forgeblock.json. Products with no clap profile get the standard cr-empty placeholder. Also lists clap in the MCP ARTIFACT_TABS.

Testing

  • just build then just check: rc 0 (artifact HTML OK, 13 boards match sources).
  • python -m pytest -q generator/tests/: 344 passed.
  • Two consecutive builds give byte-identical dist/.
  • Control: handheld.display appears in dist/fux-capacity/artifact.html (0 times on #210's branch) along with id="tab-clap".

Impact Statement

  • Existing features: other destination tabs are unchanged; every board gains one tab button and one panel.
  • Public APIs / contracts: none; DESTINATIONS gains clap, so --default-tab clap becomes valid.
  • Schemas: none.
  • Data / artifacts: all dist/*/artifact.html regenerated (tab bar, panel, CSS); no other dist files change.
  • Integrations: none.
  • Mappings: none.
  • Backward compatibility: additive; existing tab ids and default tab are untouched.

Docs

No docs change; the board is generated. Mockup bars are illustrative, since ranges and values are not restated in UDG.

## Scope Built on #210, which has since merged to main, so this PR targets main (it was opened as a stack on #210's branch, which was deleted on merge). The diff against main is this one commit. Adds a "Handheld" (`clap`) destination tab to the design board so the `handheld.display` surface profile is visible on `dist/fux-capacity/artifact.html`. The Components panel shows the surface preview (regions and the blocks the product places there) plus a static 640x480 LittleGPTracker-style mockup (page strip SAM..MOD, `label value [bar]` rows) drawn from the product's `*.forgeblock.json`. Products with no clap profile get the standard `cr-empty` placeholder. Also lists `clap` in the MCP `ARTIFACT_TABS`. ## Testing - `just build` then `just check`: rc 0 (artifact HTML OK, 13 boards match sources). - `python -m pytest -q generator/tests/`: 344 passed. - Two consecutive builds give byte-identical `dist/`. - Control: `handheld.display` appears in `dist/fux-capacity/artifact.html` (0 times on #210's branch) along with `id="tab-clap"`. ## Impact Statement - Existing features: other destination tabs are unchanged; every board gains one tab button and one panel. - Public APIs / contracts: none; `DESTINATIONS` gains `clap`, so `--default-tab clap` becomes valid. - Schemas: none. - Data / artifacts: all `dist/*/artifact.html` regenerated (tab bar, panel, CSS); no other dist files change. - Integrations: none. - Mappings: none. - Backward compatibility: additive; existing tab ids and default tab are untouched. ## Docs No docs change; the board is generated. Mockup bars are illustrative, since ranges and values are not restated in UDG.
feat(artifact): handheld (clap) destination tab on the design board
Some checks failed
Security Scans / Trivy filesystem scan (pull_request) Successful in 1m6s
Security Scans / Gitleaks secret scan (pull_request) Successful in 56s
Block Validation / validate (pull_request) Successful in 2m18s
Test Generator / lint-workflows (pull_request) Successful in 31s
PR policy check / policy-gate (pull_request) Successful in 1s
Test Generator / lint-prose (pull_request) Successful in 36s
UDG dist drift gate / dist/ matches dtcg + udg sources (pull_request) Successful in 29s
Copy coverage / Design copy reaching rendered HTML (pull_request) Successful in 1m3s
Test Generator / test (pull_request) Failing after 1m37s
f2d350b982
Adds a Handheld tab for the clap destination: surface preview for
handheld.display plus a static 640x480 LittleGPTracker-style mockup drawn
from the product forgeblock page_strip and param_page. Products without a
clap profile get the standard placeholder.
peterswimm deleted branch feat/udg-handheld-board-tab 2026-10-14 01:18:19 +00:00
Sign in to join this conversation.
No description provided.