feat(simulation): wire Sprint 15 systems + protocol v13

Register all new systems in NpcPlugin and SimulationPlugin with correct
ordering constraints. Protocol bumped to v13: tell_state on VisibleEntity,
follow_state and PostConversationQueue on ObserverSnapshot, Follow verb
on VerbKind. Observer snapshot populates tell state from DerivedTellState
and follow state from FollowTarget. System ordering: tolerance after
mood, deviation after activity, tell after mood+deviation, follow after
visibility geometry, event monologue after conversations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-21 14:40:09 +01:00
co-authored by Claude Opus 4.6
parent 517318c8a7
commit 8538f916af
8 changed files with 98 additions and 11 deletions
+5
View File
@@ -240,6 +240,7 @@ mod tests {
visibility: VisibilitySector::Forward,
relationship: RelationshipState::Unknown,
observation: EntityVisibility::Visible,
tell_state: None,
},
VisibleEntity {
entity_id: 100,
@@ -250,6 +251,7 @@ mod tests {
visibility: VisibilitySector::Forward,
relationship: RelationshipState::Known,
observation: EntityVisibility::Visible,
tell_state: None,
},
VisibleEntity {
entity_id: 200,
@@ -260,6 +262,7 @@ mod tests {
visibility: VisibilitySector::Forward,
relationship: RelationshipState::Unknown,
observation: EntityVisibility::Visible,
tell_state: None,
},
],
visible_tiles: vec![VisibleTile {
@@ -302,6 +305,7 @@ mod tests {
scan_events: vec![],
conversation_events: vec![],
conversation_ended: vec![],
follow_state: None,
sound_events: vec![],
rng_seed: None,
}
@@ -431,6 +435,7 @@ mod tests {
scan_events: vec![],
conversation_events: vec![],
conversation_ended: vec![],
follow_state: None,
sound_events: vec![],
rng_seed: None,
};