What existed
A React application with OKLCH semantic variables, Instrument Sans, CVA button variants, Radix-based UI primitives and product-level scheduling patterns.
Corpus Design System / a chapter of the product case
A semantic foundation for scheduling, professional identity and the different rhythms of the studio.
01 / SOURCE AUDIT
The same class is an operational decision for staff, a quick attendance task on a tablet and a place in the student’s weekly routine. Identity must remain consistent while the task and density change.
A React application with OKLCH semantic variables, Instrument Sans, CVA button variants, Radix-based UI primitives and product-level scheduling patterns.
The implementation had reusable parts, but the relationship between material palette, semantic roles and product patterns needed an inspectable documentation layer.
Fourteen documented components, a portable token contract and responsive role compositions. The existing product remains the source for operational rules and permissions.
The light palette follows the source’s documented color values. Corpus dark is a proposed documentation mode. The examples use fictional data and demonstrate presentation only; they do not implement product access control or write attendance.
02 / ARCHITECTURE
A semantic layer keeps brand choices separate from component behavior. Product patterns compose primitives, and the consuming application owns its data and rules.
Warm paper, olive, sage, sand and clay remain brand decisions. The portfolio’s square editorial shell does not overwrite the shape language inside product specimens.
A professional’s color accompanies a name and stays distinct from availability, success or errors. ProfessionalTag and ClassSlot keep that distinction visible.
Time, professional and capacity belong in one component. WeekStrip narrows the day first; ClassSlot makes the remaining place visible before selection.
Brand values → semantic roles → component tokens → product patterns 4px spacing base · 12 / 14 / 16 / 24 / 40px type roles 44px control targets · explicit light and dark alias sets
03 / LIVE DOCUMENTATION
Select a component to inspect its properties, variants and states. Switch to Tokens to trace aliases, or Application to see the same library composed across screen sizes.
Loading the interactive component catalogue…
04 / IMPLEMENTATION & HANDOFF
The existing Corpus case specimen shares the light semantic roles through a scoped adapter. Team, tablet and student compositions below demonstrate presentation differences; permissions continue to belong to the real application and its server rules.
Import the component and compiled tokens. Scope the brand and mode at the root of the product surface. Pass controlled state from the application, rather than letting a component talk to storage or infer permissions.
<div data-ds-brand="corpus" data-ds-mode="light">
<ClassSlot
time="09:00" teacher="Lia"
occupied={3} capacity={4}
selected={selected}
onSelect={chooseClass}
/>
</div>No Figma library is required. A future MCP integration is documented as a mapping proposal; no Figma connection or automated synchronization is claimed.