feat(simulation): sprint 10 — hub teleport, confrontation response, walk-away phase 2, gauntlet rooms 4-7, blocked_entities debug field

#491: PlayerAction::TeleportToHub — moves player to hub spawn, clears
dialogue/monologue/interaction buffer, Gauntlet-only with log warning.
#520: ConfrontationDelivered event — Tier 2 animation shift, relationship
state decrement (D-033), monologue spike emission.
#519: Walk-away Phase 2 — NPC animation shift + routine deviation on
dialogue exit (D-064).
#498: Four new Gauntlet rooms — Interaction Gallery, Fog Theater, Crowd
Plaza, Dialogue Room with constants and wiring.
#514: blocked_entities Vec<u64> on ObserverSnapshot, protocol v9.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-18 12:58:14 +01:00
co-authored by Claude Opus 4.6
parent b4a3784218
commit 273d29f26f
18 changed files with 1219 additions and 50 deletions
+17
View File
@@ -129,6 +129,23 @@ pub enum RelationshipState {
Hostile,
}
impl RelationshipState {
/// Decrement relationship state toward more negative (D-063 confrontation response).
///
/// Friendly → Known → PersonOfInterest → Hostile.
/// Unknown stays Unknown (can't confront a stranger meaningfully).
/// Hostile stays Hostile (already worst state).
pub fn decrement(self) -> Self {
match self {
Self::Friendly => Self::Known,
Self::Known => Self::PersonOfInterest,
Self::PersonOfInterest => Self::Hostile,
Self::Unknown => Self::Unknown,
Self::Hostile => Self::Hostile,
}
}
}
// --- Entity Knowledge ---
/// What entity A knows about entity B.