fix(simulation): address PR #2 review findings
- Fix Cargo.toml edition 2024 → 2021 (Hoshe #1) - Switch test runner to cargo-nextest in Makefile (Hoshe #2, D-030) - Add debug_assert tick ordering enforcement in InputQueue::push (Hoshe #4) - Add DayPhase Serialize/Deserialize derives (Tyre #6) - Add day phase boundary comments clarifying half-open ranges (Hoshe #3) - Add phase duration adjustability comment (Tyre #5) - Document ObserverSnapshot planned fields as TODO (Tyre #1) - Document entity_id as wire-format ID, not ECS Entity (Tyre #2) - Change Relationship.target_name to target_id: u64 (Tyre #3) - Clarify single app.update() is intentional boilerplate (Hoshe #8, Tyre #7) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -5,7 +5,10 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
/// The ONLY data structure crossing the client-server boundary (D-020)
|
||||
/// Contains all information visible to the observer at a given tick
|
||||
/// Contains all information visible to the observer at a given tick.
|
||||
///
|
||||
/// TODO: Planned fields — fog/visibility data, ambient sound events,
|
||||
/// internal monologue triggers, HUD state (D-020 expansion).
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct ObserverSnapshot {
|
||||
/// Simulation tick when this snapshot was produced
|
||||
@@ -17,6 +20,8 @@ pub struct ObserverSnapshot {
|
||||
/// A visible entity in the simulation
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct VisibleEntity {
|
||||
/// Wire-format entity identifier — NOT a bevy ECS Entity.
|
||||
/// Stable across serialization for client-server boundary (D-020).
|
||||
pub entity_id: u64,
|
||||
pub x: f32,
|
||||
pub y: f32,
|
||||
|
||||
Reference in New Issue
Block a user