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
17 kB
Markdown
at commit 84ae93c6

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 (crates/misaligned-assets/src/rack.rs) is shared by
  BOTH binaries through the misaligned-assets library; 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
  fist-wide amber beam the white shells wrap (2026-07-10; thin strip +
  edge spines retired on the core). SLEEK AMENDMENT (same day, Cameron,
  from the hero plate): on ordinary racks 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/!/T 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,
  three delegations) 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 three delegations 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 Operations decision
  from 2026-07-09 was superseded 2026-07-10: Research and Operations
  dissolved into Thought sinks, and the strip now banners the three
  delegations WORK / THINK / LIE.
  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].
  2026-07-10 intensity amendment: the cast pool is the physical effort read.
  Light is smaller/dimmer, medium is the rated pool, and hard is wider/hotter;
  mode and queue meanings on the strip do not change.
  2026-07-11 Foundation-hall amendment: all sixty authored rack sites now
  use the same state language in material, flat sensorium, terminal, and
  agent views. Live foreign, unpowered foreign, dead, owned, core, and empty
  allocation derive from one `RackSite` query; material shell assets and
  epistemic variants are pooled rather than allocated per chassis.
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:
  - wiki/interface/action-vocabulary.md#spec-action-vocabulary-what-the-player-can-tell-the-process-to-do
  - wiki/interface/flat-materials.md#spec-flat-materials-the-world-without-textures
  - wiki/interface/material-render.md#spec-material-render-hd-2d-to-default-quality
  - wiki/mechanics/machine-work.md#spec-machine-work-delegation-visible-tokens-and-the-byproduct-network
  - wiki/art/asset-tester.md#procedural-asset-tester

Dependency notes #

The structured references above identify the contracts to re-verify. Relationship context:

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; AMENDED 2026-07-10 — sinks not modes, machine-work.md): color is the flow family the delegation serves, pattern is per-delegation geometry so no reading is hue-alone — WORK (the day job) keeps the solid cold-signal treatment (it eats demand); THINK banners dashed bone (its output is thought); LIE keeps the concealment treatment, sparse dim ticks (its job is silence). Research and Operations are no longer modes to banner — they are thought sinks THINK feeds. 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). The pool also carries intensity without another widget: light effort contracts and dims it, medium is the rated read, and hard effort widens and brightens it [TUNE]. The sim's hard Power/Thermal signature is therefore visible in the same physical register before an observer notices it.
  4. Core light (core only; amended 2026-07-09, form 2026-07-10) — the core carries the world's only full-height amber light as a thick physical beam (~a large fist wide — CORE_BEAM_W in rack.rs) that the white chassis wraps around. Not a hairline strip plus edge spines that wash the plates gold: one volume of amber the shells stand either side of. Scene point lights sit inside that beam at short range so bone-white ownership albedo stays chalk white after Eyes (never a gold lacquer). Nothing else in the world shows a full-height amber column. The core is still the most orange thing in the world — the light, not the shell.

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 dense Foundation hall does not relax the fog contract. An unearned rack is absent. Heard yields only a near-black undetailed shell; Remembered yields a dim undetailed shell; Seen yields live powered/unpowered/dead definition. Owned telemetry may identify the machine in panels but still does not paint unearned material form. Empty pilot allocations remain floor pads, never dark chassis. Terminal and flat sensorium apply the same precedence, so a foreign or dead authored tile cannot overwrite an owned machine revived/built there.

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 the three delegations WORK / THINK / LIE 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, intensity, 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).
  9. Light / medium / hard intensity changes the owned machine's cast-pool strength in the material render and appears as L/M/H text in the terminal; neither frontend invents intensity state.
  10. A sixty-site Foundation-hall capture distinguishes live foreign, unpowered foreign, dead, owned, core, and empty allocations without warm pixels on foreign/dead hardware. All frontends derive those states from the shared rack-site query; the material renderer pools repeated shell mesh/material assets rather than allocating one pair per site.

[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.