Skip to content

feat(design-system): register the Layouts tier in the manifest + Design Studio gallery (#2197 slice 3) - #2393

Merged
kevinthelago merged 3 commits into
developfrom
2391-layouts-manifest
Jul 6, 2026
Merged

feat(design-system): register the Layouts tier in the manifest + Design Studio gallery (#2197 slice 3)#2393
kevinthelago merged 3 commits into
developfrom
2391-layouts-manifest

Conversation

@kevinthelago

Copy link
Copy Markdown
Owner

Slice 3 of the Layouts epic #2197. Registers the four page-skeleton templates (MasterDetail/SplitView/GraphCanvas/PaneGrid) in the shared-UI introspection manifest (#2060) as a new layouts tier, so they flow through the existing manifest→kit generator (reactUiKit.tsreact-ui.json) and render live in the Design Studio gallery alongside every primitive/component.

Changes

  • shared/ui/manifest.ts: 4 templates in PrimitiveName + a layouts group + slot/prop specs + an object PropType (GraphCanvas vp/world).
  • shared/ui/registry.tsx: the 4 in the render-map (compile-time sync guard).
  • reactUiKit.ts: layouts→layout role + guidance overlay (whenUse/whenNot/srcText).
  • specimens.tsx: a live schematic specimen per template, with variants.
  • react-ui.json: regenerated (drift guard); values verified against toRecord.
  • Tests: manifest object type + an all-variants specimen render smoke.

Behavior-preserving for existing pages (adds introspection only). Verified: npm run typecheck clean, npm run lint 0 errors.

Refs #2197. Closes #2391.

🤖 Generated with Claude Code

kevinthelago and others added 3 commits July 5, 2026 14:44
…ery (#2391)

Slice 3 of the Layouts epic #2197. Register the four page-skeleton templates
(MasterDetail/SplitView/GraphCanvas/PaneGrid) in the shared-UI introspection
manifest (#2060) as a new `layouts` tier, so they flow through the existing
manifest→kit generator (reactUiKit.ts → react-ui.json) and render live in the
Design Studio gallery alongside every primitive/component — the design-system
docs + QA surface + the palette the v1.0.5 in-app designer emits from.

- manifest.ts: 4 templates in PrimitiveName + a `layouts` group + slot/prop
  specs; an `object` PropType for GraphCanvas vp/world.
- registry.tsx: the 4 in the render-map (compile-time sync guard).
- reactUiKit.ts: layouts→layout role + guidance overlay (whenUse/whenNot/srcText).
- specimens.tsx: a live schematic specimen per template, with variants.
- react-ui.json: regenerated (drift guard).
- tests: manifest `object` type + an all-variants specimen render smoke.

Behavior-preserving for existing pages (adds introspection only). Refs #2197.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…h the #2421 gap-fill

Both sides appended to the same manifest surfaces (PrimitiveName union,
UI_KIT entries, registry imports/render-map, kit guidance): resolved as
union, gap-fill entries first, layouts after. Both sides had also
independently added the `object` PropType — deduped to one member.
react-ui.json regenerated from the merged manifest (UPDATE_KITS=1), and
the specimen no-fallback guard verified over all 56 components.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@kevinthelago
kevinthelago merged commit b382d92 into develop Jul 6, 2026
7 checks passed
@kevinthelago
kevinthelago deleted the 2391-layouts-manifest branch July 6, 2026 19:04
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.

1 participant