You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
| title |
type |
audience |
authority |
status |
| UIX Glossary |
reference |
human + agent |
navigational — concise definitions; the linked doc is authoritative |
current |
UIX Glossary
The framework's invented vocabulary, defined in one line each, with a pointer to
the authoritative doc. The semantic vocabulary (families, intents, verbs,
channels) is owned by CANON.md — this glossary points there
rather than re-stating the values, so they cannot drift.
New here? Start at docs/README.md.
The layers
| Term |
Meaning |
| morfo |
The declarative contract (a component's "DNA"): its public DOM surface — parts, data-*/ARIA, keyboard, events — declared once in a typed object. Every other layer reads it. → morfo/README |
| soma |
The headless behavior layer: keyboard, focus, ARIA wiring, state machines, composition. No visuals. → soma/README |
| sema |
The perceptual engine: turns a declared event into sound / haptic (runtime) and a data-event-* projection (for eidos), via a cascade. → sema/README |
| eidos |
The visual layer: CSS recipes, tokens, themes, sizes, variants — reacts to the DOM attrs morfo promises. → eidos/README |
| arts |
Runtime artifacts: the Engine* / Active* services (auth, cache, http, format, langs, dom, motion, …). → arts/README |
| libs |
Pure, zero-dependency helpers ($libs/days, $libs/dom, $reactive, …). |
| svrs |
Server-authoritative engines ($svrs/auth, $svrs/perm, $svrs/cache). |
| active-uix |
The composition root that wires the layers — createActiveUix (standalone) or attachActiveUix (attach to an app). → active-uix/README |
ActiveDom / $adom |
The single reactive DOM service: the only sanctioned surface for managed DOM writes, listeners, queries, focus and scroll. |
Morfo vocabulary
| Term |
Meaning |
| part |
A named sub-element of a component (provider, trigger, content, …). |
| archetype |
Cross-component classification of a part (trigger, item, option, …) — used for transversal eidos selectors and sema verbs. |
| kind |
A part's visibility: public | internal | private. |
| data-attr contract |
The stable markers a part emits: data-{component} (provider) and data-{component}-{part}. Never data-soma-*. The eidos/sema frontier. |
value sources (v.*) |
Typed origins for an ARIA/data value in morfo: v.literal, v.stateRef, v.partRef, v.propRef, v.translationRef. |
| scope |
Which layers implement the component: ['soma'], ['soma', 'eidos'], … |
| 2-of-3 rule |
A morfo field is justified only if at least 2 of soma / sema / eidos consume it. |
| compileMorfo |
Turns a morfo into a CompiledMorfo (resolved attr/keyboard/action plans + the closed set of CSS selectors), cached by morfo identity. |
| expression |
How a morfo materializes its perceptual signature: 'pack' | 'family-default' | 'delegated' | 'none'. |
Soma vocabulary
| Term |
Meaning |
| provider |
The concrete state class for a component or part. The root registers context; sub-parts read it. Exported as Xxx.Provider. |
| SomaRuntime |
The morfo interpreter in soma. runtime.part() registers a part; runtime.trigger(event) sequences prewrite → emit → handler → effect-driven attrs. |
| layer (soma) |
A shared behavior class consumed by providers: Presence, FocusScope, Dismissal, ScrollLock, Gesture, SafePolygon. → SOMA_ARCHITECTURE §6 |
| Presence |
Animation-aware mount/unmount (waits for exit animations before removing). |
| Active<T> / State<T> |
Reactive containers (readonly / mutable, exposing .current) that let runes be passed by reference between classes. |
| context convention |
The X.create() / X.get() / X.require() static methods every context-using class follows. |
| roving vs virtual focus |
Two keyboard strategies: real DOM focus with one tabindex=0 (roving) vs focus stays on the input and items are data-highlighted via aria-activedescendant (virtual). |
| polymorphic close |
One close event with allowedFamilies; the provider chooses the family at dismiss time (used by Dialog/Drawer/Popover). |
| prewrite / commit |
DOM written imperatively before the semantic emit (prewrite, e.g. data-last-action) vs the structural state written after (commit). |
Sema vocabulary
The values live in CANON.md; these are the term shapes.
| Term |
Meaning |
| family |
One of the 8 perceptual event families (contact · commit · signal · handle · emerge · shift · sustain · delegate). → CANON |
| intent |
The evaluative load of an occurrence (neutral · affirm · fulfill · risk · threat · loss) — only on valenced families. → CANON |
| verb |
The specific act within a family (tap, select, close, …). → CANON |
| channel |
An expression modality. Sema runs two at runtime (sound, haptic) and projects visual; eidos owns the rest (motion/presence/depth/shape/color). → CANON |
| hold |
The minimum perceptible duration a signal stays projected (data-event-* stamped during it). |
| cascade |
The 5-layer resolution of a perceptual signature (family base → intent deltas → per-event → globals → per-component / app rules). → sema/README |
| persistence |
A signal's lifecycle, distinct from hold: transient | untilAction | untilFix | stateBound. |
Eidos vocabulary
| Term |
Meaning |
| recipe |
A component's token + CSS definition (in EidosConfig.recipes / {name}.css). |
| token |
A CSS custom property. Public: --{component}-*; private recipe-internal: --_{component}-*. Never --eidos-* / --soma-*. |
| TSC (Token Scope Contract) |
Where each token is allowed to be emitted (:root / [data-{c}] / by color / by event) + transitivity validation. → TSC.md |
| variant |
A fixed visual archetype (solid, outline, ghost, …). Canon of eidos — a theme cannot invent or redefine one. |
| role |
One of the 9 canonical color roles (primary, secondary, tertiary, neutral, affirm, fulfill, risk, threat, loss). |
| scaling / density |
Orthogonal structural axes: global zoom (90–110) vs spacing (compact/comfortable/spacious). |
| theme |
A retint of the perceptually-fixed: it changes which hex is affirm, never what outline means. → THEMING |