Rules

CORE / 01–27

  1. R-01

    Binary first

    Use black and light neutral before any semantic color.

  2. R-02

    Complete frame

    Every framed element has a complete boundary. Only two attached panes can share one explicitly owned boundary; no exposed side is left open.

  3. R-03

    Shared chrome

    Adjacent panes share one boundary and do not float as cards.

  4. R-04

    Visible transfer

    A joint is an enlarged transfer zone, not a decorative dot.

  5. R-05

    Caused geometry

    Diagonal and curved geometry must record load, tension, interpolation, or flow.

  6. R-06

    One proportional family

    Iosevka Aile 400 carries sustained reading. Iosevka Aile 600 carries interface language. Iosevka remains the structural display voice.

  7. R-07

    Neutral title

    Titles use neutral text. Semantic color does not create title hierarchy.

  8. R-08

    State route

    Semantic color identifies a complete state or route and always has a label, pattern, marker, or boundary signifier. Color never carries meaning alone.

  9. R-09

    Grid attachment

    Frame, pane, module, joint, and control edges attach to registered grid lines.

  10. R-10

    Progressive machinery

    Content and action survive without optional computation, animation, or shaders.

  11. R-11

    Concentrated complexity

    Dense machinery occupies bounded regions inside calm fields.

  12. R-12

    No unregistered form

    The demo can use only registered components, states, tokens, and layouts.

  13. R-13

    External mark

    An internal link omits the diagonal arrow mark. An external link appends the mark after exactly one space.

  14. R-14

    Native semantics

    Common widgets retain native HTML semantics, keyboard behavior, labels, focus, validation, and disabled states before visual customization.

  15. R-15

    Full-height separation

    A divider between elements in a bar spans the full bar height and meets both bar edges.

  16. R-16

    Standard interval

    Table and interface insets use 2u. Compact gaps use 2u. Control gaps use 4u. Module gaps use 6u. Dense, standard, and touch rows are 8u, 10u, and 11u high.

  17. R-17

    Light-region division

    A divider inside or between adjacent light surfaces, including record and base0A highlight surfaces, uses ink. A divider between dark regions or across a dark/light transition uses the record neutral.

  18. R-18

    Typographic grid

    Every text element uses one registered type role. Every line height is an integer multiple of u, and sustained body lines align to the 6u baseline rhythm.

  19. R-19

    Layered table titles

    Dense tables use a paper-form rule hierarchy: 2 px outer and section rules, 1 px cell rules, merged group labels, and fixed 8 px insets. Adjacent light title layers use ink. Hierarchy does not rely on extra gray fills.

  20. R-20

    Field vocabulary

    A field legend names a domain value, not its HTML control type or validation state. Field content uses the order legend, instruction, control, and state message.

  21. R-21

    Cancel semantics

    CANCEL is a neutral action that dismisses the transient surface and discards only its uncommitted changes. A non-destructive commit uses the selection accent. A destructive commit uses risk and a precise domain verb.

  22. R-22

    Link destination

    An external action link declares its external destination and uses the diagonal mark. An internal reference action provides a same-origin preview on hover or focus without preventing ordinary navigation.

  23. R-23

    Interaction highlight

    Hover, focus, selection, checked choices, and current local state use the base0A highlight. Base0C is reserved for live routes, exchange, data flow, or computation in progress.

  24. R-24

    Chart context

    Every chart declares its measure, unit, population or scope, time window when applicable, and source status. Exact consequential values remain available in a record or table.

  25. R-25

    Chart color

    Neutral marks carry ordinary comparison. Base0A marks hover, focus, or selection. Base0C appears only when the encoded datum is live, moving, exchanging, or computing.

  26. R-26

    Graph identity

    A graph encodes identified entities and typed relations. Position, proximity, and line crossings do not create an unstated relation.

  27. R-27

    Directed relation

    Every directed edge has one source, one destination, one visible arrowhead, and a relation label or a graph-level relation key.

BEHAVIOR / 28–40

  1. R-28

    Control graph

    A control graph declares command, controller, plant, observation, feedback direction, units, and the sampling or update boundary.

  2. R-29

    Visible navigation

    Wide technical workspaces keep primary navigation, location, and frequent commands visible. Narrow layouts preserve current location and a direct restore command.

  3. R-30

    Flat menus

    A command menu has no more than one submenu level. Deeper structures become a visible pane, outline, filtered list, or command search.

  4. R-31

    Browse and search

    Search complements a stable browse taxonomy. Search does not become the only way to discover ordinary destinations or commands.

  5. R-32

    Command identity

    One command identity defines label, role, scope, availability, checked state, shortcut, authority, handler, and evidence policy across every projection.

  6. R-33

    Dioxus projection

    Approved widgets are typed Rust and Dioxus components that emit semantic RSX and registered CSS. Presentation components do not own authoritative domain state.

  7. R-34

    Useful density

    Density increases legible information and reachable actions per area. It does not shrink registered type, hide ordinary commands, or reduce targets below the input profile.

  8. R-35

    Availability disclosure

    A known but temporarily unavailable command remains visible and disabled when that aids understanding. A protected command or object remains undisclosed.

  9. R-36

    Graph physical type

    Graph nodes, relations, clusters, and consequential annotations render at physical UI-02, 14 px. Nonessential provenance can use UI-03, 12 px. Geometry adapts to text. Narrow graphs scroll.

  10. R-37

    Primary action

    A view has no more than one ordinary primary action unless evidence establishes two equal commits. Destructive commands never receive the ordinary primary role.

  11. R-38

    Widget contract

    Every widget declares semantics, name, state, keyboard and focus behavior, pointer or touch behavior, zoom, contrast, reduced motion, disabled and error behavior, and verification boundaries.

  12. R-39

    Platform surface

    Use audited operating-system surfaces for window chrome, application menus, file selection, notifications, permissions, and justified tray behavior. Record and test each integration per platform.

  13. R-40

    Font subset

    The English trial uses audited production font subsets with unicode-range declarations. New script support requires a separate coverage decision and measured assets.

EVIDENCE / 41–54

  1. R-41

    Operational profile boundary

    Use the operational profile only when a user monitors or controls consequential state. The general profile remains authoritative for ordinary sites, documents, and software.

  2. R-42

    Operational visual angle

    Size consequential text from rendered glyph height, maximum viewing distance, target hardware, and environment. CSS font size alone does not establish legibility.

  3. R-43

    Unified interface type floor

    Frequently read values and control labels use UI-01. Secondary interface context uses UI-02. UI-03 is nonessential provenance and never carries an alarm, limit, unit, mode, relation, or quality state alone.

  4. R-44

    Redundant state coding

    Every consequential state uses an exact text label and at least one independent cue such as stable position, shape, border, pattern, sound, or haptic output. Color is never the only cue.

  5. R-45

    Quiet normal state

    Routine normal values and healthy structure remain neutral. Saturated process color is limited to present-task flow. The strongest salience belongs to abnormal or action-relevant state.

  6. R-46

    Alarm color separation

    Operational warning, caution, and advisory colors are separate from risk actions, selection, live flow, validation, and success. WARNING, CAUTION, or ADVISORY text and a distinct marker always accompany color.

  7. R-47

    Alarm lifecycle

    An operational alarm has explicit onset, acknowledgment, active, return, clearing, inhibition, shelving, suppression, recurrence, stale, and failed-indication states. Retain history when the task requires it.

  8. R-48

    Acknowledgment is not resolution

    Acknowledgment can stop an attention-getting cue. It does not clear an active condition. The condition, priority, source, age, and required action remain visible.

  9. R-49

    Operational motion

    Operational motion represents observed change, command progress, causal flow, navigation continuity, or justified attention capture. Reduced-motion mode replaces each consequential moving cue with a steady equivalent.

  10. R-50

    Operational verification

    Approve an operational view only after target-hardware visual-angle checks and representative abnormal-scenario tests measure detection, identification, diagnosis, action, error, and recovery.

  11. R-51

    Separate detached modules

    Keep 24 px between detached tables, rule registers, graph grids, chart grids, and guidance groups. Keep the standard 8 px cell inset. Attached title bands remain flush.

  12. R-52

    Bound background computation

    A background computation does not carry user information. It pauses offscreen, caps its work, responds to scroll, continues to evolve while live, and supplies a steady reduced-motion state.

  13. R-53

    Useful copy

    Remove each line that does not give identity, decision, action, state, constraint, evidence, or navigation. Put the conclusion or action first. Use ASD-STE100-informed controlled English.

  14. R-54

    Scroll changes the field

    After the summary is substantially visible, scrolling starts a different evolving model regime and color mixture. Preserve live complexity in both regimes. Do not add labels that describe the transition.