diff --git a/server/src/bridge/mod.rs b/server/src/bridge/mod.rs index 2beee789e..56e20a558 100644 --- a/server/src/bridge/mod.rs +++ b/server/src/bridge/mod.rs @@ -63,64 +63,6 @@ impl BridgeResource { } } -/// Generate ObserverSnapshot v2 from ECS state. -/// Pre-visibility version: sends ALL entities (no LOS filtering yet). -/// Will be replaced by perception::observer::compute_observer_snapshot in #112. -pub fn generate_snapshot( - time: Res, - entities: Query<( - Entity, - &crate::simulation::movement::TilePosition, - Option<&crate::simulation::movement::PlayerCharacter>, - Option<&crate::npc::Npc>, - )>, - mut buffer: ResMut, -) { - let mut visible = Vec::new(); - for (entity, pos, is_player, is_npc) in entities.iter() { - let (x, y, z) = pos.to_render_coords(); - let kind = if is_player.is_some() { - EntityKind::Player - } else if is_npc.is_some() { - EntityKind::Npc - } else { - EntityKind::Object - }; - visible.push(VisibleEntity { - entity_id: entity.to_bits(), - x, - y, - z, - kind, - visibility: VisibilitySector::Forward, - relationship: RelationshipState::Unknown, - observation: EntityVisibility::Visible, - }); - } - - let game_time = GameTime { - day: time.day(), - time_of_day: time.time_of_day_minutes(), - day_phase: time.day_phase(), - tick_rate: time.tick_rate, - }; - - tracing::trace!( - "generate_snapshot: tick={}, entities={}", - time.tick, - visible.len() - ); - buffer.snapshot = Some(ObserverSnapshot { - version: 4, - tick: time.tick, - game_time, - player_facing: FacingDirection::default(), - entities: visible, - visible_tiles: Vec::new(), // Empty until #112 adds LOS filtering - nearby_interactions: Vec::new(), - }); -} - /// Receive inputs from bridge and push to InputQueue pub fn receive_bridge_inputs( bridge: Option>,