Design language — survey and revamp
State: open/active · Genre: plan
The ask: establish a clear design language for the determined suite — and, by descent, for every app in the monorepo — with real theming support. Inspiration: highly technical yet usable apps (OmniGraffle), with a modern update.
The design language already exists and is good. It is @determined/ui
(packages/ts/ui): a --d-* token vocabulary, multiple themes × light/dark,
a set of appearance axes, 35 D* components, a semantic-intent contract, and
a written spec whose principles (“sophisticated, elegant, minimal, mac-first;
compact pro-tool density”) are exactly the OmniGraffle target. Current token,
theme and axis counts live in
design-system.md.
What it needs is not invention. It needs three things:
- Coherence. The spec contradicts the implementation, several tokens are defined but never wired (fonts, density), four dark-mode mechanisms coexist, and two icon sets ship. SURVEY.md carries the full drift ledger.
- Law. No repo-level decision or standard governs any of this. The spec is package-local and stale. It cannot bind the suite until it is true and adopted as a decision.
- Descent. Adoption is an hourglass: deep inside determined experiences
and the SDF desktop, zero everywhere else — including the five live apps
under
apps/the system was distilled from. The theming seam that fixes this is already proven (SDF’s registeredsdftheme).
The five facts that shape the plan
Section titled “The five facts that shape the plan”- Every live desktop app is Tauri 2 + Nuxt 4 + Vue 3 + Tailwind 4 + Nuxt UI. The stack is converged; only the styling layer diverges.
- The token system is the real interface: app-frame names no design-system
layer and consumes only a documented 25-token
--d-*contract. - Theming-by-descent works today:
solutions/ontological/desktopregisters its ownsdftheme through the public seam and gets the whole chrome. - The visible incoherence is mostly unwired plumbing, not missing design: body font hard-coded past the font token, density token unread, icon sets mixed, stock-green Nuxt UI on unadopted surfaces.
- Frozen and legacy surfaces (
apps/ontological-legacy) are explicitly out of scope; adoption targets are the live rings only.
Documents
Section titled “Documents”| Doc | What it holds |
|---|---|
| SURVEY.md | Current-state inventory: the system, the adoption map, the drift ledger |
| PROPOSAL.md | The design language: stance, architecture, theming descent, decisions to make |
| PLAN.md | Phased execution plan with concrete tasks |