#94 — Active tier simulation (complete): - Add ActiveSim marker to all 9 test world room NPC spawns - Fix test entities in routine.rs and path_follow.rs to include ActiveSim so With<ActiveSim> queries match correctly in unit tests #99 — Tier transition logic (complete): - Implement update_tier_markers system in tier.rs - Promotes/demotes tier markers by manhattan distance from PlayerCharacter: ≤40 tiles → ActiveSim, ≤120 → BackgroundSim, beyond → StateSaved - Handles cross-z-level as u32::MAX (effectively unreachable) - No-op when no PlayerCharacter entity present (headless tests safe) - 11 new unit tests covering all distance bands and boundary cases - TierPlugin now registers the system after movement::validate_movement Also picks up extended test coverage added by hoshe: - observer/tests.rs — 230 lines of perception observer tests - sound.rs — additional sound event integration tests All 548 tests pass. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -94,6 +94,7 @@ mod tests {
|
||||
let entity = world
|
||||
.spawn((
|
||||
Npc,
|
||||
crate::simulation::tier::ActiveSim, // system requires With<ActiveSim> (#94)
|
||||
TilePosition::new(5, 5, 0), // Not at afternoon location
|
||||
DailyRoutine {
|
||||
entries: vec![RoutineEntry {
|
||||
@@ -216,6 +217,7 @@ mod tests {
|
||||
let entity = world
|
||||
.spawn((
|
||||
Npc,
|
||||
crate::simulation::tier::ActiveSim, // system requires With<ActiveSim> (#94)
|
||||
TilePosition::new(20, 20, 0),
|
||||
DailyRoutine {
|
||||
entries: vec![RoutineEntry {
|
||||
|
||||
Reference in New Issue
Block a user