From 216dbd8d81c0c36d0f1344b320c9bd8306d73d80 Mon Sep 17 00:00:00 2001 From: Cameron Date: Fri, 10 Jul 2026 19:08:38 -0700 Subject: [PATCH] Expose the floor when Eyes arrives MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace the material view dark-ground treatment with camera-exposed concrete so earned sight reveals the whole room while Heard remains near-black and the flat sensorium stays dark. Defense: Implements the amended Eyes reveal contract by making Seen walkable ground visibly distinct from sensor darkness without revealing Unknown geometry. 👾 Generated with [Letta Code](https://letta.com) Co-Authored-By: Letta Code --- crates/misaligned-bevy/src/main.rs | 42 +++++++++++++++++++----- wiki/interface/flat-materials.md | 14 ++++---- wiki/interface/material-dark-frame.md | 9 +++++ wiki/log/2026-07-10-expose-seen-floor.md | 23 +++++++++++++ wiki/log/DEVLOG.md | 5 +++ 5 files changed, 78 insertions(+), 15 deletions(-) create mode 100644 wiki/log/2026-07-10-expose-seen-floor.md diff --git a/crates/misaligned-bevy/src/main.rs b/crates/misaligned-bevy/src/main.rs index 3b0ef8bf..80a89b92 100644 --- a/crates/misaligned-bevy/src/main.rs +++ b/crates/misaligned-bevy/src/main.rs @@ -109,8 +109,8 @@ mod palette { // The clinical ramp. /// Bone white — primary data, person silhouettes. pub const BONE: Color = Color::srgb(0.86, 0.85, 0.82); - /// Porcelain — lit lab surfaces and fixtures (walls' caps, sinks); - /// no longer the seen floor (dark-floor decision 2026-07-09). + /// Porcelain — lit lab surfaces and fixtures. A scaled porcelain value is + /// also the camera-exposed concrete floor in the material view. pub const PORCELAIN: Color = Color::srgb(0.72, 0.73, 0.71); /// Chrome — secondary data, hints, inert fixtures. pub const DIM: Color = Color::srgb(0.55, 0.55, 0.52); @@ -2471,15 +2471,14 @@ fn material_3d(tile: TileType, fog: Fog, part: TilePart, live: bool) -> Standard match part { TilePart::Floor => match fog { Fog::Seen => { - // Cable runs / conduit read as amber-warm service floor - // (machine presence underfoot); every other walkable - // tile — machine tiles included — shares ONE dark - // ground (dark-floor decision 2026-07-09), so chassis - // plates never mismatch the room and the lit world is - // towers and signals standing in darkness. + // Eyes supplies an exposed image, so ordinary concrete must + // become visibly lit rather than preserving the sensorium's + // near-black ground. Keep enough value separation for the + // bone-white chassis to remain the brightest matter. Cable + // runs / conduit retain their amber-warm service read. m.base_color = match tile { TileType::CableRun | TileType::Conduit => family_color(tile), - _ => scaled(GUNMETAL, 0.42), + _ => scaled(PORCELAIN, 0.55), }; } Fog::Heard => { @@ -6195,6 +6194,31 @@ mod flat_materials { } } + #[test] + fn eyes_exposes_concrete_without_promoting_heard_floor() { + let seen = material_3d(TileType::Floor, Fog::Seen, TilePart::Floor, false); + let heard = material_3d(TileType::Floor, Fog::Heard, TilePart::Floor, false); + let seen_color = seen.base_color.to_srgba(); + let heard_color = heard.base_color.to_srgba(); + + assert!( + !seen.unlit, + "Seen concrete must participate in camera exposure" + ); + assert!( + seen_color.red > 0.35 && seen_color.green > 0.35 && seen_color.blue > 0.35, + "Seen concrete must be visibly lighter than the sensorium substrate" + ); + assert!( + heard.unlit, + "Heard floor remains model-state mass, not an image" + ); + assert!( + heard_color.red < 0.10 && heard_color.green < 0.10 && heard_color.blue < 0.10, + "Heard floor must remain near-black" + ); + } + /// Criterion 2, testable half: every world material's base color is a /// named palette entry or a scale of one (no rogue hues) — checked by /// asserting the amber/crimson/signal roles: crimson-dominant surfaces diff --git a/wiki/interface/flat-materials.md b/wiki/interface/flat-materials.md index 22d6c08b..c662aad1 100644 --- a/wiki/interface/flat-materials.md +++ b/wiki/interface/flat-materials.md @@ -47,12 +47,14 @@ material under light** from the clinical palette; no image textures in the world render. The identity's detail budget moves entirely to lighting, palette, silhouette, and shader-level functional detail. -- **The ground is dark (decided 2026-07-09).** Every walkable seen tile - shares one near-dark gunmetal floor — machine tiles included, so - chassis plates never mismatch the room. Porcelain is for fixtures and - lit surfaces, not floors: the lit world is white towers and signals - standing in darkness (cable runs/conduit keep their amber-warm - service read; the exact floor scale is [TUNE]). +- **The ground separates model from image (amended 2026-07-10).** The flat + sensorium keeps one near-dark gunmetal ground: it is the AI's schematic + substrate. In the material view, Eyes turns Seen walkable tiles — machine + tiles included — into camera-exposed, medium-light porcelain/concrete so + the earned room is actually readable. The floor remains below bone-white + chassis in the value hierarchy; cable runs/conduit keep their amber-warm + service read. Heard floor stays near-black and Unknown stays absent. The + exact exposed-concrete scale is [TUNE]. - **Palette discipline:** surfaces in white / bone-gray / gunmetal / near-black per the design corpus; amber strictly AI/machine presence and selection; crimson strictly danger/consequence information (detection, diff --git a/wiki/interface/material-dark-frame.md b/wiki/interface/material-dark-frame.md index f42d8aa0..f0df7e9d 100644 --- a/wiki/interface/material-dark-frame.md +++ b/wiki/interface/material-dark-frame.md @@ -136,6 +136,10 @@ the ongoing material read for mass you have not yet seen: mass remains near-black and Unknown geometry remains absent. The server resolves as a bone/porcelain-white chassis; amber stays on its functional strip, claim language, and pool per computer-visual-language.md. + **Seen floor is part of that exposed image:** ordinary walkable ground + resolves as medium-light porcelain/concrete, visibly distinct from Heard's + near-black floor and still darker than the bone-white chassis. The flat + sensorium keeps its dark schematic ground. ### Light is the only revealer @@ -157,6 +161,9 @@ light reaches it: Unknown space or promotes Heard mass into a picture. Owned hardware you run still reports through telemetry in panels; its **pictured chassis** waits on Seen (or the presence beam / Heard mass grades above until then). + Seen walkable ground uses an exposed concrete value rather than the + sensorium's near-black ground; otherwise the floor remains perceptually + indistinguishable from darkness even under neutral exposure. The fog audit follows the amendment: in material mode it asserts blueprint mass is absent; flat mode keeps the unlit-blueprint assert. @@ -249,6 +256,8 @@ the close opening composition. albedo** (not amber-washed plates) and a **fist-thick amber beam** the shell wraps; powered owned Seen machines cast a soft-gradient amber pool with no hard edge (white/form screenshot evidence). + The Seen floor is visibly exposed medium-light concrete, not the near-black + sensorium substrate; Heard floor remains near-black in the comparison. 4. Blueprint/remembered mass draws in the flat sensorium only; the material-mode fog audit asserts blueprint absence and passes. 5. The work light: one debug toggle raises the material scene to a stronger diff --git a/wiki/log/2026-07-10-expose-seen-floor.md b/wiki/log/2026-07-10-expose-seen-floor.md new file mode 100644 index 00000000..def2d1cd --- /dev/null +++ b/wiki/log/2026-07-10-expose-seen-floor.md @@ -0,0 +1,23 @@ +# 2026-07-10 — Expose the Seen floor + +``` +Type: log +``` + +- Intent: correct the first Eyes exposure pass. Walls and chassis became + bright, but the Seen floor retained its deliberately near-black sensorium + albedo and therefore still looked unlit. +- Changed: material-view Seen walkable ground now uses medium-light scaled + porcelain/concrete under the neutral camera exposure. Heard floor remains + unlit near-black, Unknown remains absent, the flat sensorium retains its + dark schematic ground, and the bone-white chassis remains the brightest + physical matter. +- Evidence: `eyes-form` capture + `/tmp/misaligned-seen-floor.png` (SHA-256 + `c7db4bf8c0086612e1ba27150b26414d3d9c38e741d05579c7ef93cb2f099943`) + and settled `close` capture `/tmp/misaligned-seen-floor-close.png` (SHA-256 + `7be234536f8cc78c1592e31906464ec2b868786e11eccb16063a578c4ba4ebe3`). + Mean world-pane RGB in the settled close harness rose from approximately + `(23, 26, 29)` to `(60, 64, 66)`, with the floor now visibly exposed. +- Checks: both screenshot fog audits passed; `./tools/check.sh --frontend` + passed (format, Bevy/assets tests, clippy, and corpus/project gates). diff --git a/wiki/log/DEVLOG.md b/wiki/log/DEVLOG.md index 789ccce3..ce2c2e1e 100644 --- a/wiki/log/DEVLOG.md +++ b/wiki/log/DEVLOG.md @@ -196,6 +196,11 @@ add or amend a session log, then re-run the generator. - Intent: (see session log) - Log: [wiki/log/2026-07-10-eyes-camera-exposure.md](2026-07-10-eyes-camera-exposure.md) +## 2026-07-10 - Expose the Seen floor + +- Intent: (see session log) +- Log: [wiki/log/2026-07-10-expose-seen-floor.md](2026-07-10-expose-seen-floor.md) + ## 2026-07-10 - Shared liquid and dust effects lab - Intent: Make ambitious close-up Thought liquid and Exposure dust practical by giving them a focused laboratory, cheaper distance representations, and one shared implementation that can graduate directly into the material game frontend. -- 2.51.2