Substrate proof

One field. Two readings.

Demo · experimental substrate surface

The bodies on the left are the field, revealed as type and ink — heavier and brighter where density is higher, and one body whose position the engine owns. The panel on the right is the same field read as JSON through field.query(). The number on a body equals the number in the JSON. That is the point: an agent reads the field, not the DOM.

As interface — revealed as type & ink

signal · a d — signal · b d — signal · c d — free body engine-owned x/y

Hover or focus a signal — it engages, and its density climbs on both sides. The free body drifts because the engine owns its position.

As agent — field.query()

{ binding query()… }

A serializable read-out of the same bodies. The surface a tool or agent consumes — no DOM scraping, no second model of the page.

Mass is first-class

Both plates push matter away with exactly the same force. They differ only in rendered area, and under mass a body's inertia comes from that area (√(area / 4800)) — so the same push moves them by different amounts. The numbers below are read off the field with query(), not animated.

heavy — light —

Recoil is measured from each plate's own starting point, in pixels.