#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:
@@ -98,6 +98,7 @@ mod tests {
|
||||
let entity = world
|
||||
.spawn((
|
||||
Npc,
|
||||
super::ActiveSim, // system requires With<ActiveSim> (#94)
|
||||
TilePosition::new(0, 0, 0),
|
||||
ComputedPath {
|
||||
steps: vec![
|
||||
@@ -129,6 +130,7 @@ mod tests {
|
||||
let entity = world
|
||||
.spawn((
|
||||
Npc,
|
||||
super::ActiveSim, // system requires With<ActiveSim> (#94)
|
||||
TilePosition::new(2, 0, 0),
|
||||
ComputedPath {
|
||||
steps: vec![TilePosition::new(3, 0, 0)],
|
||||
@@ -154,6 +156,7 @@ mod tests {
|
||||
let entity = world
|
||||
.spawn((
|
||||
Npc,
|
||||
super::ActiveSim, // system requires With<ActiveSim> (#94)
|
||||
TilePosition::new(0, 0, 0),
|
||||
ComputedPath {
|
||||
steps: vec![TilePosition::new(1, 0, 0), TilePosition::new(2, 0, 0)],
|
||||
|
||||
Reference in New Issue
Block a user