Concepts

Natural fields

field-ui does not copy physics into the interface. It translates the four fundamental fields into interface behavior. Every interface already has priority, polarity, binding, and transformation — physics already has a language for those relations.

Natural fields are conceptual. Engine primitives are translations. Canonical forces are designed verbs. Natural fields are not tokens; tokens are translations. This reframe changes nothing the particles do — it only gives each behavior a clean place in the hierarchy:

field → translation → runtime token → metric → diagnostic → recipe

The vocabulary lanes

field-ui keeps these categories separate on purpose. A reader should never have to guess whether a word is a runtime token, a metric, or a diagnostic — the lane says so:

Natural field
conceptual translation — gravity, electromagnetic, strong, weak
Runtime token
a real passported engine force (attract, gravity, fieldflow…) — strict, conformance-gated
Concept
human-facing product language (orbit, spring, trust, staleness) — not a token
Metric
measured / semantic state (mass, attention, pressure, confidence)
Diagnostic
inspection or render mode (potential, topology, causality, field-lines)
Condition
activation logic (dwell, threshold, stale, in-view, focused)
Scheduler phase
runtime step — discover → read → compute → state → write → render
Compatibility alias
older naming (--d, --mass) — kept, but not the primary path

The four fields

Gravity

priority, convergence, hierarchy

the field of what matters — important bodies bend attention and gather related matter into stable wells.

Use for priority · ranking · search relevance · centrality · anchoring · settling · attention wells

Expressions gravity

Electromagnetic

polarity, signal, field lines, flow

the field of difference and signal. Electric fields push; magnetic fields bend; fieldflow carries.

Use for polarity · contrast · signal · routing · state opposition · field lines · guided flow · activation

Expressions chargemagnetismpropagate

Strong

binding, cohesion, structure

the field of what holds together — groups, clusters, bonds, constraints, and durable local structure.

Use for grouping · relationship strength · clusters · bonds · constraints · local structure · material integrity

Expressions crystallizealigncohesionpressurelink

Weak

transformation, decay, release

the field of change — fading, mutation, release, phase shift, expiration, and handoff.

Use for state change · release · decay · expiration · handoff · transformation · instability

Expressions morph

Electric fields push. Magnetic fields bend. Fieldflow carries. Do not make magnetism.apply() follow magnetic field lines — field-aligned transport belongs to fieldflow. And attract is not gravity; repel is not charge — those are designed UI verbs.

Author each field — the data-attribute patterns

You express a field's translation with data attributes on semantic HTML, using honest runtime tokens only. A token's field is its classification, not a separate API — there is no <gravity> element, only data-body="gravity". Strong binding is the clearest case: a native href (or data-field-relation / data-field-target) is the relationship — the graph is discovered from the DOM, not declared in code.

<!-- Gravity → priority: the element converges attention -->
<section data-body="gravity" data-field-role="priority" data-strength="0.9">
  <h2>What matters most</h2>
</section>

Live — gravity bodies carrying a supplied priority; applyRecipe() frozen · @fundamental-engine/platform writes it back as --field-priority and the CSS reads it (gravity's interface translation, running):

Headline — converges attention

Supporting detail

Fine print

data-body="gravity" + supplied priorityapplyRecipe()--field-priority → this element Each row supplies a different value, so the field's feedback is visible at a glance — the readout shows what the field actually wrote back.

Fields vs primitives vs forces

Every catalog token has a place. This grouping is read straight from the engine's classification:

Field primitive
gravitychargemagnetismpropagate
Material analogue
crystallizealigncohesionpressurelinkmorph
Transport
pigmentfieldflow
Derived behavior
thermalcollidediffuse
Metric
memory
Designed UI verb
attractrepelswirlstreamviscosityjettetherwallsinklensgatebuoyancyshearwindhuntspawnresonatespotlightscreenwarp

Interface translation table

One need, separated into lanes: the runtime tokens that execute it, the metrics it measures, and the diagnostics that reveal it.

Interface needNatural fieldRuntime tokensMetricsDiagnostics
Show importance Gravity gravity attract mass priority attention potential prediction
Route signal Electromagnetic charge propagate fieldflow stream signal strength field-lines force-vectors
Show relationship Strong + EM link cohesion relation-strength topology causality
Keep things grouped Strong cohesion crystallize align cluster density topology heatmap
Show change / decay Weak morph memory decay age causality contours
Show flow through structure EM + transport fieldflow stream flow velocity field-lines prediction
Show reading history Memory (metric) memory attention recency heatmap inspector

Diagnostics by field

Each diagnostic answers “which invisible relation am I revealing?” — all shipped (see them live). Diagnostics are inspection modes, not runtime tokens.

DiagnosticRevealsField
Potential wells and energy landscapeGravity
Field lines electromagnetic structureElectromagnetic
Topology binding and relationshipsStrong
Causality which primitive caused changeany
Prediction near-future pathGravity / flow
Contours scalar fieldsderived
Four fields. Many expressions. One DOM runtime. Every interface has priority, polarity, binding, and transformation. field-ui gives those relations a field model.