diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a598e4c7..0f0ee736b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,19 @@ Format based on [Keep a Changelog](https://keepachangelog.com/). ## [Unreleased] +### Added +- PerceptionQuery trait and ActivePerceptionMode resource — abstraction layer for D-017 perception mode swapping (NaturalVision default implementation) +- VisibilityGeometry intermediate resource decoupling FOV computation from entity filtering +- Client-side PROTOCOL_VERSION enforcement — snapshot decoder rejects version mismatches with error log +- POI verb priority test in observer pipeline — asserts both verb kind and priority values end-to-end + +### Changed +- Observer pipeline decomposed into two-stage system: compute_visibility_geometry (geometry) → compute_observer_snapshot (entity filtering + assembly) +- POI verb priority adjustment moved from simulation phase (interaction.rs) to perception phase (observer) — fixes D-010 information boundary violation +- compute_nearby_interactions no longer reads KnowledgeGraph — determines verb availability by proximity only, verb priority adjusted by observer +- compute_nearby_interactions scheduling moved from SimulationPlugin to BridgePlugin for explicit ordering with geometry and observer systems +- Client test snapshot updated to v4 format (Protocol.PROTOCOL_VERSION, tick_rate replaces paused) + ### Added - Content validation tooling — `make validate-content` validates campaign YAML files against JSON schemas, maps files by directory context - Entity::to_bits() roundtrip test — guards against bevy version changes silently breaking wire IDs