Capability ladder
LAW — locked, CI-gatedCapability ladder
Section titled “Capability ladder”principle. sameness across platforms is sameness of roles, grammar, and register, never sameness of pixels. every platform lets a surface do different things; a language that demands the richest platform’s tricks everywhere ships the poorest version of itself everywhere else.
rule (law; decision 0023). each device chapter declares a fidelity ladder with three rungs:
- full — the platform supports the surface’s material and motion as designed.
- reduced — material flattens, motion shortens, every role and behaviour intact.
- flat — colour, type, and layout only; state still fully legible.
a surface degrades down its chapter’s ladder without changing its layout, its role mapping, its state grammar, or its voice. which rung a given platform build occupies is declared in the chapter, never discovered by the user.
partial implementation is doctrine. the web chapter is the standing proof: browsers permit a partial implementation (tokens, tint law, voice, and motion values all portable; shell integration and tray behaviours absent), and the partial implementation is doctrine: the rungs it cannot reach are named in its chapter, not apologised for.
fidgets ride the ladder. a surface’s signature fidget is a compositor transform over token-driven geometry, which is what makes it portable at all: it survives to the reduced rung as a shorter, flatter version of itself, and at the flat rung it is honestly absent rather than faked. the hardest surfaces for fidgets are the smallest and the web, in that order; the ladder is the answer for both: design the fidget at full, declare its reduced form, accept its flat absence.
worked example. two live case studies inform this rule: a dashboard surface whose panels are draggable, hideable, and rearranged by its user daily (the fidget layer earning its keep on a live data surface), and the suite’s own web property, whose implementation is partial by platform and complete by grammar.
prior art, for the record. a long-lived rhythm game with a deep skinning system demonstrates both halves of the lesson: users will re-skin anything given the chance, and a skinning system which swaps structure and assets breaks constantly under legacy weight. Distira swaps values through contracts (tokens, themes) and never structure, and carries no legacy skins to preserve; the fidget layer is designed to that advantage deliberately.
Canonical text: §13, the capability ladder, in the design language document. Governed by decision 0023.