# Spec: the feel floor — rails, pads, and the build beam ``` Type: spec Status: IMPLEMENTED Status note: implemented 2026-07-09 (ROADMAP #37). Tick-one no longer seeds blueprint room topology; `Sim::feel_rail_segments` / `growable_bays` / `FactSource::Feel` drive inspect + both frontends; Bevy material draws shimmer rails/pads and a build-beam birth gesture; terminal/agent paint feel midpoints and empty-bay `o` without room shape. Same-day beam-first amendment: the first held material frame is the host **presence beam** only (material-dark-frame.md) — rails/pads are feel-light and must not paint a chassis or room plan before sound/sight earn mass/form (#38). Amended 2026-07-09: the first issued Voss job teaches the work route; pre-job opening frames expose neither rails nor pads. Verified by `cargo test --lib` and `cargo check --no-default-features --features bevy_ui --bin misaligned-bevy`. 2026-07-11 hall amendment: growable pads are exactly the three authored pilot allocations around Rack 3. The other fifty-six sites contain live foreign or dead Foundation chassis and never masquerade as empty pads. 2026-07-11 relay-composition amendment: close material rails are one attention-local broken filament, not a doubled full-edge beam. The trace holds near focus, tapers at junctions, and fades to nothing over distance; moving attention along it reveals the next stretch. The flat sensorium retains the complete schematic edge. An authored passive patch relay may bend the material cable path without becoming a reach-graph node. Stage: B1 — The Basement Design: - wiki/vision/simulation-laws.md#justification-and-legibility - wiki/vision/simulation-laws.md#work-is-somewhere - wiki/interface/presence.md#presence-the-cursor-and-the-senses - wiki/interface/presence.md#two-views-of-one-world-same-frame-digital-and-real-representations - wiki/art/visual-identity.md#visual-identity-clinical-gore - wiki/gameplay/act-one.md#opening-state Depends on: - wiki/mechanics/reach.md#spec-digital-reach - wiki/mechanics/cursor.md#spec-the-cursor-and-the-senses - wiki/mechanics/machine-work.md#spec-machine-work-delegation-visible-tokens-and-the-byproduct-network - wiki/mechanics/building.md#spec-building-intent-and-actuators - wiki/interface/computer-visual-language.md#spec-computer-visual-language-territory-at-a-glance - wiki/interface/material-dark-frame.md#spec-the-dark-frame-the-material-render-shows-only-light - wiki/world/story/opening.md#spec-the-dark-opening-a-tutorial-made-of-fog ``` ## Dependency notes The structured references above identify the contracts to re-verify. Relationship context: mechanics/reach.md (joined links you can feel), mechanics/cursor.md (telemetry; blueprint no longer seeds the open; audio channel / Seen form), mechanics/machine-work.md (work rides the same rails), mechanics/building.md (empty bays; placing a machine), interface/computer-visual-language.md (cast amber pool; chassis wrap when form is earned), interface/material-dark-frame.md (presence beam; material shows light, not plans), world/story/opening.md (dark opening beat 1) ## Why this spec exists The opening used to hand you a **blueprint** — schematic room topology and inspect tags like `open bay [blueprint]` — as if you already owned a subnet floor plan. That fought the dark opening: you are a machine in blackness with rack feel, not a facility diagram. Cameron's replacement (2026-07-09): the basement floor becomes the diagram once work teaches it. Shimmery underfloor lines are the links you can feel. Shimmery pads mark empty bays where a server will stand. When you build, a thin beam rises from the pad and the chassis wraps it. No room slabs, no starting blueprint facts — light on the floor and the boxes that stand in it. ## Behavior ### Feel rails **Feel rails** are shimmery lines on (or just under) the floor that trace **only joined links you can feel** — edges on your connection, the same graph work already travels. - A rail exists iff the player has **earned its first work-route read** (the first Voss job) and can feel that hop (owned/joined path; proprioception of the wire, not sight of the room). - Rails are the visible nervous system: track where demand and thought can travel. In-flight blips ride the same edges (machine-work.md). - Cutting or losing a link kills its rail with it. - Rails do **not** sketch foreign topology, unread rooms, or walls. They never punch a thick beam through drywall or doors as a light sculpture. Rejected 2026-07-09: wall-cutting showpiece beams — fun to show, wrong fantasy ("map as light show" instead of "my connection"). Exact shimmer treatment is [TUNE] (hue, pulse, thickness). Futurism lives in the living underfloor light, not in cutting architecture. In the close material dialect, a felt edge is deliberately incomplete: one fine, irregular filament answers around the attention anchor and decays into darkness over several tiles. It must not render as parallel rails or a uniform laser all the way to a remote endpoint. Junctions taper before their shared anchor instead of welding into a bright hard corner. Moving attention along the trace reveals the next local stretch — the player can follow the signal without the frame drawing the complete answer. The flat sensorium is the diagrammatic dialect and may retain the complete edge. Material routing may pass a direct digital edge through an authored passive fixture when the map owns that cable geography. In the Foundation hall, Rack 3 and the environmental monitor meet at the local patch relay before the onward leg continues to the network-closet switch. This is a physical waypoint only: it does not create another reachable device, alter graph gates, or move cargo between different graph nodes. ### Empty-bay pads An empty bay you can grow into shows a **shimmery floor pad** — soft light saying a server belongs here — not a labeled blueprint fact (`open bay [blueprint]`). - Pads are placement affordances, not room topology. They arrive with the earned work-route read, never as part of the opening frame. - No chassis until built; the pad is the promise. - Foreign empty slots you cannot feel stay dark (no intel, no pad). - In the Foundation hall this is a deliberately scarce authored set: three pilot allocations, all near Rack 3. Adjacency to fifty-one live foreign racks does not make them growable; five dead chassis require SALVAGE and remain physical rack bodies rather than becoming floor pads. ### The build beam When a machine is placed on a pad: 1. A thin **beam of light** rises from the pad. 2. The chassis **wraps around** the beam once form is earned (computer-visual-language.md ownership albedo and strip land with the box; material-dark-frame.md — same light family as the opening presence beam). 3. The pad becomes the machine's cast amber pool (material-dark-frame.md); the beam is the birth gesture, not a permanent prop. [TUNE] beam duration, height, and whether a brief afterimage remains. ### Opening contract At the first held material frame (post-wake, pre-job) the read is the host **presence beam** and its softest wash only — you are not aware of your server as a chassis or the floor around it (material-dark-frame.md). The first issued Voss job teaches the work route: only then may joined-hop feel rails and empty-bay pads appear as subordinate feel-light. They never outline a room or promote a pictured box. No blueprint room mass, no FOCUS lines tagged `[blueprint]` for schematic bay/device names earned only from the old subnet seed. **Blueprint** as a fog grade may still exist later for plan knowledge earned another way (records, schedule, flat sensorium) — cursor.md and material-dark-frame.md own that split. It is **not** the opening seed and not the material-frame diagram. ## Player surface - Material Bevy: rails, pads, and build beam are diegetic floor light. - Flat sensorium / terminal / agent: the same feel-graph must be legible (line/glyph conventions), never as unearned room shape. - FOCUS / inspect: feel-link and telemetry facts stay provenance-tagged; opening no longer dumps blueprint topology for the seeded subnet map. ## Acceptance criteria 1. A fresh run's first held material frame shows the host presence beam (and softest wash) without a chassis, feel rails, or pads — no blueprint room slabs or floor-plan grid (screenshot in the session log). 2. The first issued Voss job makes the work route legible: joined-hop rails and empty owned/growable bays then read as shimmer pads, not `open bay [blueprint]` inspect lines from a tick-one topology seed. 3. Placing a machine plays pad → rising beam → chassis wrap; the lasting floor read is the cast pool, not a permanent beam prop. 4. Rails appear only for feel-joined links and vanish when the link dies; no rail sketches foreign or unfelt topology; no wall-cutting light sculpture through doors or drywall. 5. Work-in-flight blips continue to ride the same edges the rails draw (one graph, two zoom reads). 6. Terminal and agent surfaces expose the same feel-graph without inventing room geometry the material frame refused. 7. The sixty-site data hall exposes exactly three feel pads after the route is earned. A foreign or dead rack never renders or inspects as an empty bay. 8. At close material framing a long felt edge is a single broken filament strongest near attention, tapered at its endpoints, and fully absent at distance. Following it with the cursor reveals successive local stretches; the flat sensorium still exposes the complete felt edge. 9. The Foundation material route passes both opening hall edges through the authored local patch relay and deduplicates their one onward segment. The shared reach graph still contains the original Rack 3/sensor-to-switch edges, and the switch remains in the network closet.