A video game where you play as a misaligned AI, deceiving and building power. An experiment in spec-driven development.
misaligned wiki interface computer-visual-language.md
14 kB
Markdown
at commit 8b980eca

Spec: computer visual language — territory at a glance #

Type: spec
Status: IMPLEMENTED
Status note: implemented 2026-07-09 (ROADMAP #32) after the same-day
  amendment from the identity plate (ownership = chassis albedo,
  bone-white = under your control, dark gunmetal = not; the seam strip
  banners the delegated mode, amber strip = core only; foreign accent
  RESOLVED — no accent, darkness is the read; claim mark: ring). The
  chassis library (src/bin/assets/rack.rs) is compiled into BOTH
  binaries; the game's material render wires it to sim truth: albedo
  from control (compute machines + device controller), the strip from
  WorkGrid delegation with its load fill from work-token queue depths,
  the tile-scale claim ring (double under the core), and the core's
  amber strip front AND back plus edge spines. SLEEK AMENDMENT (same
  day, Cameron, from the hero plate): the strip is the chassis's ONLY
  lit element — the power dot, presence LED ladder, and segmented
  activity bar were removed and their axes folded into the strip
  (lit-ness = power/liveness; brighter fill height = queue depth).
  Intel tiers per criterion 2b: networked = full detail; known or
  remembered = undetailed ghost shell; otherwise absent. Owned hardware
  reports via telemetry in panels; material **chassis form** waits on
  Seen (beam-first 2026-07-09 — pre-sight host is a presence beam,
  material-dark-frame.md). The fog audit asserts a visible chassis has
  sight (or earned Heard mass is not a chassis) and that exactly one
  core presence exists. The material law is
  pinned by unit tests in rack.rs (owned = bone albedo; unowned = dark
  and never a warm pixel; warm strip = core only; the load fill
  brightens but never recolors). Terminal parity: one line per machine (M{id},
  core `*`, provenance, on/OFF, mode, D/!/K queues) beside the
  existing map glyphs and focus readouts. Camera: SDR + AcesFitted —
  HDR/bloom were removed 2026-07-09 after macOS EDR proved unreliable
  (an HDR view renders solid black when the display idles/locks,
  breaking harness captures); glow is emissives plus the core's
  linear light fixture. The core lamp is tightened to its own pool so
  foreign chassis stay cold. Evidence: tester lineups (five states,
  four modes) and game close/zoomin/intel shots in
  wiki/log/2026-07-09-visual-language-in-game.md. DEBTS: UPS, power
  core, patch panel, breaker, and HVAC remain flat billboards; cameras
  keep the security-housing billboard; a staged in-game fleet shot
  with all four modes live waits until multiple machines exist in
  normal play; beam-first opening (no chassis at pre-tap) waits on the
  dark-frame / opening implement work order. [TUNE] axes (emissive multipliers, dash counts, white
  point) remain open to taste passes. The fourth mode strip is
  Operations, replacing Social (decided 2026-07-09): the chassis
  library and tester say operations; the sim's MachineMode enum still
  says Social pending its own rename work order — the render maps it.
  2026-07-09 dark-frame amendment (material-dark-frame.md): the ruled
  claim ring leaves the material frame; the close-range claim read is
  the machine's cast amber pool once Seen form exists, and the map-zoom
  mark is [OPEN].
Stage: B1 — The Basement
Design:
  - wiki/art/visual-identity.md#visual-identity-clinical-gore
  - wiki/vision/simulation-laws.md#justification-and-legibility
  - wiki/interface/presence.md#two-views-of-one-world-same-frame-digital-and-real-representations
Depends on: interface/flat-materials.md (IMPLEMENTED — palette table,
  emissive-as-information), interface/material-render.md (IMPLEMENTED),
  mechanics/machine-work.md (one machine, one mode — the strip banners
  it), art/asset-tester.md (the sandbox where this language is tuned)

Why #

Knowing which computer you are on, which computers are yours, and where your core sits is the player's ground truth — territory must read at a glance, before any panel opens. Every computer in the world (rack, desktop, laptop, phone, camera, switch) speaks one visual language: the chassis differs per class, the signals never do. You should be able to sweep the camera across the basement and know instantly: mine, mine, foreign, mine, core — and, on your own hardware, what each machine is doing for you.

The reference composition is the identity plate (wiki/art/visual-identity.md, "The public identity plate"): a severe dark tower, a bone-white tower, one amber stripe. That is not marketing art — it is the law of the machine read.

The signal kit — the sleek amendment (2026-07-09) #

Every computer-class asset carries the same signals. Amber emissive strictly means my footprint — a machine no part of which is mine never shows a warm pixel. Cold SIGNAL means electricity and other people's live activity. Each axis also carries a geometry or luminance channel (height, pattern, luminance), never hue alone.

Sleek rule (Cameron, 2026-07-09): the strip is the chassis's only lit element. The hero plate has no scatter of little lights — one severe form, one band. The earlier power dot, presence LED ladder, and segmented activity bar are REMOVED from the chassis; every axis they carried folds into the strip.

  1. Chassis albedo — the ownership field (DECIDED 2026-07-09). The chassis itself is painted by control: machines under your control are bone-white/porcelain; machines not under your control — foreign or dead — are dark gunmetal. The white tower is yours, the black tower is not. Luminance carries the axis, so it survives a grayscale audit and map zoom. Amber is never a chassis fill; it remains the footprint's emissive punctuation (claim ring, core light). Taking a machine repaints it — conversion is visible as the chassis going white.
  2. The strip — one full-height recessed LED band riding the seam, the machine's single lamp. It carries every live axis at once:
    • Power / liveness: lit at all iff the machine is powered — a dead machine's strip is dark hardware in a dark groove; a foreign powered machine shows one dim cold reading (you see it runs; what it runs is intel, inspected at the cursor).
    • Mode (owned machines; one machine, one mode): color is the flow family the mode serves, pattern is per-mode geometry so no reading is hue-alone — day-job solid cold-signal (it eats demand); research dashed bone (it emits knowledge); conceal sparse dim ticks (its job is silence); operations dotted cold-signal (player-authored work). The core's strip is solid amber, the only amber strip in the world.
    • Load: the work-token queue depth reads as a brighter fill rising from the foot of the bar (machine-work.md: one system, two zoom levels) — height and luminance, no extra elements; the fill never recolors the mode. The busy fill pulses; a paused frame still carries the amount. Exact hues, dash counts, fill multipliers are [TUNE] against tester renders.
  3. Claim floor (amended 2026-07-09, dark-frame feedback) — at game camera the claim read on the floor is the machine's own cast amber pool: a soft gradient from the chassis foot into darkness, never a ruled edge (material-dark-frame.md owns the pool). The ruled underglow frame (ring, decided 2026-07-08) is removed from the material frame; whether it returns at map zoom is [OPEN] — see "The claim mark" below. Same-day feel-floor amendment: joined links you can feel draw as shimmer rails on the floor, empty growable bays as shimmer pads, and a new machine is born as pad → rising beam → chassis wrap (feel-floor.md owns that language).
  4. Core light (core only, amended 2026-07-09) — the core carries the world's only full-height amber light, and three lines of it: the amber strip (front and back of the seam) plus a spine up both front edges. Nothing else in the world shows a full-height amber line, so the core reads from any angle and any distance. The core is the most orange thing in the world.

Foreign machines — definition by intel, accent RESOLVED #

Decided 2026-07-08: networked = fully seen. A foreign machine networked to you renders in full geometric definition — complete chassis detail, same as owned hardware minus every amber signal. A machine you merely know about (location intel, not networked) renders as an undetailed shell. No intel at all = not rendered (fog contract: unknown is absent). Definition level is the intel tier made visible.

RESOLVED 2026-07-09 (Cameron, from the identity plate): there is no foreign accent color. Foreign presence is the dark gunmetal chassis itself — the severe black form. Liveness stays in the cold signal (the dim strip); ownership is the albedo. This lands exactly on the earlier instinct that the treatment must be very dull without reading as "inactive, activate me": the dark chassis is inert matter, the cold pinpricks say it is switched on. Strong teal stays in reserve as a future accent for something that earns it.

The claim mark — ring at close range SUPERSEDED by the cast pool #

Decided 2026-07-08 from the tester lineup renders: ring — an amber underglow frame on the floor under owned machines, double frame under the core. Rejected alternatives (still render in the tester, Q/W/ E): ladder (LEDs + strip only — quiet, but ownership nearly vanishes at map zoom); wash (faint amber emissive on owned faces — weak mid-zoom read); painting foreign machines' activity amber (breaks amber = mine); a floating icon/billboard (breaks diegesis — the world is the AI's sensorium model, signals live on the hardware).

Amended 2026-07-09 (Cameron, screenshot feedback captured in material-dark-frame.md): in the material render the ruled frame reads as UI painted on a physical floor, and it is gone — the close-range claim read is the white chassis plus the soft amber pool its own light casts once Seen form exists; before that the host is a presence beam. With ownership also in the chassis albedo, the only job left to a drawn mark is the map-zoom / mixed-tile read, and that is [OPEN]: brightened pool alone, ring beyond a zoom threshold, or map-zoom territory as a flat-sensorium job. The dark-frame spec proposes pool-alone with ring-at-distance as the fallback.

Acceptance criteria (when READY -> IMPLEMENTED) #

  1. One screenshot of a five-machine row (dead / foreign / owned-idle / owned-busy / core) at game camera distance where all five states are distinguishable in the dark, plus one row of owned machines in all four modes (day-job / research / conceal / operations) where the modes are distinguishable.
  2. Ownership is albedo + amber: owned machines render in the bone-white chassis family and are the only hardware showing warm emissive; foreign and dead machines render dark gunmetal and never show a warm pixel — enforced by a test over the machine-material selection, not by convention. 2b. Definition follows intel: networked foreign machines render full chassis detail; known-unnetworked machines render as undetailed shells; no-intel machines are absent (screenshot evidence of all three tiers).
  3. Full-height amber light exists only on the core (strip + spines, exactly one core in the world render); it reads at the default zoom from every orbit angle (screenshot evidence, front and back).
  4. Task presence (any tasks running on this machine) is visible on the chassis without opening a panel, on every computer class — the strip's load fill (height + luminance).
  5. The kit applies unchanged to at least two computer classes (rack plus one other, e.g. desktop or camera) — same signals, same semantics, no per-class color meanings.
  6. No axis is hue-alone: ownership (albedo luminance), power (strip lit-ness), mode (strip pattern), load (fill height), core (line count/height) each audit in a grayscale screenshot.
  7. The terminal surfaces the same axes (ownership, power, mode, load, core) for every machine — parity of legibility.
  8. Sleek rule: the strip is the only lit element on the chassis — no other emissive pixel on the box (the claim ring lives on the floor, the core spines are the core's exception).

[TUNE] at implementation time: emissive multipliers per state, the per-mode strip colors/patterns (dash and dot counts), the load-fill brightness factor, blink rate/phase, chassis white point (bone vs porcelain), and ring inset and thickness. Matte calibration (2026-07-09, Cameron: "more matte"): chassis surfaces are chalk, not lacquer — high roughness, zero metallic, specular reflectance ~0.06 — and all amber emissives (core strip/fill/spines, claim rings, the core's lamp) sit low enough that the core never clips to white; the tower must stay readable geometry, not a flare. NO BLOOM, NO HDR (2026-07-09): Bloom requires an HDR target and macOS EDR vanishes on idle/locked displays, rendering the view black — the capture pipeline must never depend on display state; glow is emissive + the linear fixture. The core's scene light is a LINEAR fixture (2026-07-09): a dense run of dim point lights along the strip's height, front and back — never one round point pool; rung count, offsets, and per-rung intensity are the knobs.