Implementation doctrine

Motion Semantics

Every animation must carry meaning. This document defines the only kinds of motion the SIBurst interface may use, what each one means, and how the experience works when motion is reduced. It is governed by INTERFACE_CONTRACT.md.

1. Principles

  1. Motion is state change made visible. Every movement corresponds to a change in the demonstration system's state or relationships, as defined in the contract.
  2. Motion is driven by progress, not by time. Movement inside the demonstration is a function of p (see INTERFACE_CONTRACT.md §6). When the visitor stops, the system stops.
  3. Stillness invariant. If the visitor does not scroll or navigate, nothing inside the demonstration moves. There are no idle loops, ambient drift, pulsing, or "breathing".
  4. Monotonic easing only. Interpolations may ease in or out, but they never overshoot, bounce, spring, or oscillate.
  5. Removable test. If an animation could be removed without losing information about accumulation, threshold, or regime, it must not exist (from SITE_ARCHITECTURE.md).

2. Motion taxonomy

Six motion classes are allowed. Any motion that does not belong to one of them is prohibited.

M1 — Appearance

M2 — Relationship formation

M3 — Constraint pressure

M4 — Local misalignment

M5 — Topology reconfiguration

M6 — Stabilization

Interface feedback (outside the taxonomy)

Focus indicators, hover states, and pressed states on controls and links are interface feedback, not demonstration motion. They change immediately or with a very short transition, and never move the demonstration system.

3. Allowed and prohibited: reference pairs

Allowed Not allowed
A line appears because a relationship now exists. A line floats continuously because it looks technological.
A node changes position because its relationship topology changed. Nodes drift randomly.
The interface reorganizes under a new rule. The screen shakes or explodes.
A stub appears because the Lattice cannot route a relationship. A node flickers to show "instability".
Rails fade as their rule is lifted. Rails shatter into fragments.
The system becomes still after S5. The system idles with ambient motion.

4. Reduced motion

When the visitor has set prefers-reduced-motion: reduce, the thesis must survive intact. No essential meaning may depend on animation alone. This is mandatory.

In reduced-motion mode:

Reduced-motion users must be able to answer the same question as everyone else: was the change from S1 to S4 more of the same, or different?

5. Motion and performance

If a device cannot animate the demonstration smoothly, the implementation uses the reduced-motion path. Motion is always the first thing sacrificed. Meaning is never sacrificed.