refactor(server): NearbyInteractionBuffer from Resource to Component

Per-entity Component attached to PlayerCharacter instead of global
Resource. Makes the interaction buffer multiplayer-ready (D-009) —
each observer gets their own buffer without pipeline refactoring.

Updated all 8 files touching the buffer: system signatures, player
spawn bundles, and ~30 test spawn sites.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-12 22:52:47 +01:00
co-authored by Claude Opus 4.6
parent c970d2eba7
commit 6f9537fff3
8 changed files with 317 additions and 873 deletions
+3 -1
View File
@@ -101,7 +101,6 @@ mod tests {
world.init_resource::<SnapshotBuffer>();
world.init_resource::<KnowledgeEventQueue>();
world.init_resource::<EntityRegistry>();
world.init_resource::<crate::simulation::interaction::NearbyInteractionBuffer>();
world
}
@@ -116,6 +115,7 @@ mod tests {
TilePosition::new(16, 16, 0),
Facing(FacingDirection::North),
KnowledgeGraph::new(),
crate::simulation::interaction::NearbyInteractionBuffer::default(),
))
.id();
registry.register(player);
@@ -159,6 +159,7 @@ mod tests {
TilePosition::new(16, 16, 0),
Facing(FacingDirection::North),
kg,
crate::simulation::interaction::NearbyInteractionBuffer::default(),
))
.id();
registry.register(player);
@@ -195,6 +196,7 @@ mod tests {
TilePosition::new(16, 16, 0),
Facing::default(),
KnowledgeGraph::new(),
crate::simulation::interaction::NearbyInteractionBuffer::default(),
))
.id();
registry.register(player);