feat(simulation): extend monologue event generation with new triggers (#119)

Add observe_npc, hear_sound, observe_anomaly, witness_interaction, and
post_conversation triggers to monologue system. trigger_event_monologue
system fires after sound collection, NPC conversations, and walk-away.
Context tags (location, situation, character_state) populated for D-035
content pool matching. COOLDOWN_TICKS=300 anti-spam guard respected.
witness_interaction fires after overheard NPC-to-NPC conversation per
D-078. Voice sounds and ambient sounds correctly excluded from
hear_sound trigger.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-21 14:39:58 +01:00
co-authored by Claude Opus 4.6
parent 0af86b1f0b
commit 517318c8a7
3 changed files with 1017 additions and 0 deletions
+6
View File
@@ -68,6 +68,12 @@ impl ObservationEventQueue {
pub fn is_empty(&self) -> bool {
self.events.is_empty()
}
/// Iterate over observation events without draining.
/// Used by monologue trigger system (#119) to react to previous-tick events.
pub fn iter(&self) -> impl Iterator<Item = &ObservationEvent> {
self.events.iter()
}
}
/// System: interpret visible snapshot against known routines and knowledge.