feat(perception): ground vision cone in human sensory physiology

- Visible half-angle 150° → 100° (200° arc), matching average human
  binocular field. Blind spot widens from 60° to 160° — genuine
  vulnerability behind the character.
- Forward half-angle stays at 60° (120° arc) — binocular overlap zone.
- Peripheral zone represents combined sensory awareness: visual
  periphery + subconscious sound/motion tracking, not just eyes.
- Per-character VisionConeConfig allows implants and perception modes
  (D-017) to widen beyond the unaugmented baseline.
- Fog shader: smooth back-edge gradient via smoothstep blend between
  Layer 2 (peripheral) and Layer 3 (deep fog), eliminating blocky
  stair-stepped tiles at the rear of the vision cone.
- D-015 updated with physiological basis and per-character config.
- D-017 updated with vision cone modification by perception modes.
- D-020 updated with protocol versioning policy: PROTOCOL_VERSION
  gates wire format, not gameplay parameters.
- DB backup after sprint 21 close.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-27 22:31:29 +01:00
co-authored by Claude Opus 4.6
parent dd0de2ff04
commit a69e69e663
5 changed files with 67 additions and 39 deletions
+9 -4
View File
@@ -19,13 +19,16 @@ How the player observes and interacts with the world: camera, fog, line-of-sight
- **Date:** 2026-02-09
- **Decision:** Camera is locked to the character at all times. No panning. Optionally rotates to character facing direction (player option, later version).
- **Rationale:** Pannable camera breaks the information model - you become a surveillance drone, not a character. Locked camera reinforces "you ARE this person." Rotation with facing direction restores directional audio mapping (binaural becomes viable again) and creates a natural vision cone (front = detailed, peripheral = reduced, behind = blind).
- **Vision cone model:**
- Forward: full LOS, full detail
- Peripheral: reduced range, dimmer
- Behind: fog / blind spot. You can be snuck up on.
- **Vision cone model (physiological basis):**
- Forward: 120° arc (60° half-angle) — binocular overlap zone where both eyes converge, providing stereoscopic depth and high acuity. Full LOS range, full detail.
- Peripheral: extends to 200° arc (100° half-angle) — combined sensory awareness envelope. Beyond pure visual acuity (~120°), this represents the character's subconscious tracking of sound cues, movement in the corner of the eye, and ambient sensory input. Nothing supernatural — just the human awareness envelope. Reduced range, dimmer. The fog shader gradient (D-059) is aligned to this outer edge.
- Behind: ~160° blind arc — no sensory awareness without explicit cues. Fog / blind spot. You can be snuck up on. The monologue system (D-016) bridges this gap when the character's senses fire ("Footsteps behind me").
- Physiological reference: human binocular field ~200° horizontal, binocular overlap ~120°, far peripheral limit ~100-105° per eye (NCBI Visual Fields NBK220).
- **Per-character cone configuration:** The physiological baseline (120° forward / 200° total / 160° blind) is the unaugmented human floor. Bionic implants, perception modes (D-017), and equipment modify these angles upward. A back-of-head optical implant might widen to 320° visible (tiny blind spot); an ANA-touched character might approach 360°. The `VisionConeConfig` struct is per-entity, not global — different characters can have different awareness envelopes simultaneously. This is gameplay parameter variation, not a protocol change: the wire format (D-020) carries the *result* of cone classification (which tiles are Forward/Peripheral), not the cone angles themselves.
- **Reference:** Hotline Miami's camera made that game terrifying with the same principle.
- **v0.1:** Locked camera, no rotation. Vision cone still works on fixed-north map. Rotation deferred as player option.
- **Raised by:** Team Leader (Jeroen).
- **Updated:** 2026-02-27 — cone angles grounded in human sensory physiology; per-character config documented.
### D-016: Internal monologue as core perception/atmosphere system
- **Date:** 2026-02-09
@@ -54,9 +57,11 @@ How the player observes and interacts with the world: camera, fog, line-of-sight
- Higher: biononic thermal, enhanced spectrum, passive scanning
- ANA-touched: pattern recognition across all feeds, predictive awareness
- **Playstyle implications (Nigel):** Low-tech Guardian playthrough = survival horror (blind, relying on contacts and paranoia). Senator playthrough = information overload (cameras and tracking but drowning in data). Perception modes are playstyle selectors.
- **Vision cone modification:** Perception modes and bionic equipment can widen the vision cone beyond the unaugmented human baseline (D-015: 120° forward / 200° total). Examples: back-of-head optical implant → 320° visible arc; thermal overlay → omnidirectional heat signatures through walls; ANA-touched awareness → near-360° pattern recognition. Each mode modifies `VisionConeConfig` per-entity. The fog shader renders whatever the server classifies — no client-side awareness of cone angles.
- **v0.1:** Natural vision cone + basic audio indicators + insert minimap only. Additional modes are milestone features, each self-contained and modular.
- **Engine implication:** Each perception mode is an observer query against the information boundary system ([D-010](architecture.md#d-010-multiplayer-ready-architectural-baseline) principle 2). Engine doesn't distinguish between eyes/thermal/camera - all are "given this sensor, what state is visible?"
- **Raised by:** Team Leader (Jeroen) proposed thermal and camera hacking. Full team developed into perception mode framework.
- **Updated:** 2026-02-27 — vision cone modification by perception modes documented.
### D-018: Three-range sound model
- **Date:** 2026-02-09