Formatting pass across simulation, perception, knowledge, NPC, and
test modules. Includes two clippy fixes in monologue.rs (.values()
instead of for (_, v) pattern).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix NpcPlugin system ordering: .before(compute_paths) instead of
.after(advance_tick) so PathRequests are picked up same frame
- Fix stale doc comment in interpretation.rs: system runs BEFORE
knowledge events, not after
- Add TODO(v0.2) on RelationshipGraph about information boundary
limitation for multiplayer
- Document cardinal-only movement as deliberate v0.1 choice
- Add comment on manhattan_distance u32::MAX fallback for cross-z
- Pin pathfinding crate to 4.11
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implements tickets #237 and #238 for Sprint 3:
- Add pathfinding crate dependency for A* algorithm
- PathRequest component triggers compute_paths system which uses
cardinal-neighbor A* with manhattan distance heuristic
- ComputedPath component with step navigation (next_step, advance,
is_complete) and PathBlocked marker for no-route cases
- MovementSpeed component throttles NPC movement (ticks_per_step)
- follow_paths system advances NPCs along computed paths, creating
MoveIntent per step; cleanup_path_blocked removes markers after
one tick
- System ordering: input → compute_paths → follow_paths →
validate_movement → cleanup_path_blocked → advance_tick
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>