refactor(simulation): simplify vision cone to forward-only 120° arc

Remove the peripheral sector (100° half-angle, reduced range) and blind
spot classification. The server now sends only tiles within the 120°
forward cone; the client renders previously-explored tiles behind the
player with a light fog overlay instead.

This eliminates complexity in both the cone classifier and the snapshot
protocol while preserving the core information asymmetry — you still
can't see behind you, and the monologue system (D-016) still bridges
the perceptual gap.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-28 12:19:38 +01:00
co-authored by Claude Opus 4.6
parent 0bb38dd3d9
commit 2016e9a725
4 changed files with 44 additions and 3266 deletions
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -122,11 +122,11 @@ fn snapshot_excludes_entities_outside_los() {
"IB-2 sanity: observer's own position must always be in the FOV set"
);
// --- Additional sanity: an immediately adjacent tile (1 step) is visible ---
let adjacent_pos = TilePosition::new(6, 5, 0);
// --- Additional sanity: tile directly ahead (1 step north) is visible ---
let adjacent_pos = TilePosition::new(5, 4, 0);
assert!(
geometry.visible_positions.contains(&(adjacent_pos.x, adjacent_pos.y)),
"IB-2 sanity: tile immediately adjacent to observer must be visible"
"IB-2 sanity: tile directly ahead of observer must be visible"
);
}