feat(simulation): integrate knowledge graph into observer snapshot (#366)

VisibleEntity now carries relationship state (D-033 entity color) and
observation type (Visible vs Remembered). compute_observer_snapshot
queries the player's KnowledgeGraph to overlay relationship data on
visible entities and include remembered (not-in-LOS) entities as fog
ghosts at their last known position. Regenerated msgpack fixtures.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-12 01:28:53 +01:00
co-authored by Claude Opus 4.6
parent 12dc0bc0bf
commit 9c0190c7c2
12 changed files with 270 additions and 10 deletions
+6
View File
@@ -32,6 +32,8 @@ fn observer_snapshot_roundtrip() {
z: 0,
kind: EntityKind::Npc,
visibility: VisibilitySector::Forward,
relationship: RelationshipState::Unknown,
observation: EntityVisibility::Visible,
}],
);
@@ -158,6 +160,8 @@ fn all_entity_kind_variants_roundtrip() {
z: 0,
kind,
visibility: VisibilitySector::Forward,
relationship: RelationshipState::Unknown,
observation: EntityVisibility::Visible,
};
let snapshot = test_snapshot(0, vec![entity]);
let bytes = rmp_serde::to_vec_named(&snapshot).expect("serialize");
@@ -190,6 +194,8 @@ fn snapshot_v2_fields_roundtrip() {
z: 0,
kind: EntityKind::Player,
visibility: VisibilitySector::Forward,
relationship: RelationshipState::Unknown,
observation: EntityVisibility::Visible,
}],
visible_tiles: vec![
VisibleTile {