From 732b5f3adcf61e7bc6b179ff2b815ee840aee0cf Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Wed, 25 Feb 2026 12:48:17 +0100 Subject: [PATCH] fix(simulation): resolve duplicate examine_result field and regenerate fixtures Removed duplicate examine_result from ObserverSnapshot (old ExamineResultEvent superseded by ExamineResultWire). Fixed serde_default test version assertion. Regenerated golden file and all fixture .msgpack files. 1070 Rust tests passing. Co-Authored-By: Claude Opus 4.6 --- .../msgpack/snapshot_boundary_tick_0.msgpack | Bin 379 -> 373 bytes .../msgpack/snapshot_boundary_tick_127.msgpack | Bin 379 -> 373 bytes .../snapshot_boundary_tick_2b31m1.msgpack | Bin 383 -> 377 bytes .../msgpack/snapshot_boundary_tick_2b32.msgpack | Bin 387 -> 381 bytes .../snapshot_boundary_tick_32767.msgpack | Bin 381 -> 375 bytes .../fixtures/msgpack/snapshot_empty.msgpack | Bin 379 -> 373 bytes .../msgpack/snapshot_multi_entity.msgpack | Bin 784 -> 778 bytes .../fixtures/msgpack/snapshot_one_npc.msgpack | Bin 477 -> 471 bytes .../fixtures/msgpack/snapshot_player.msgpack | Bin 480 -> 474 bytes .../fixtures/msgpack/snapshot_v2_full.msgpack | Bin 644 -> 638 bytes server/src/bridge/text_renderer.rs | 2 -- server/src/bridge/types.rs | 5 ----- server/src/perception/observer/mod.rs | 9 +++++++-- server/tests/bridge_ipc.rs | 1 - server/tests/bridge_tcp.rs | 1 - server/tests/golden/proof_room_tick_10.json | 1 - 16 files changed, 7 insertions(+), 12 deletions(-) diff --git a/client/tests/fixtures/msgpack/snapshot_boundary_tick_0.msgpack b/client/tests/fixtures/msgpack/snapshot_boundary_tick_0.msgpack index 148ce3bcd558bbbf951cc30443441e6a809957b2..5fec55ecc517ad10a73f8817a78aac057a4de6d7 100644 GIT binary patch delta 38 ucmey(^p$BtIHTOA{>!u>o>6X7az668YDHphW?pK1QEG8%PRW5y$r*`7iOD6YMezkdq2kh_)B^yWXA=Yf diff --git a/client/tests/fixtures/msgpack/snapshot_boundary_tick_32767.msgpack b/client/tests/fixtures/msgpack/snapshot_boundary_tick_32767.msgpack index 304069bcb2e90efaa885cbc3123132cee31db23a..88a39e51d53269b14d4f666b84f41003f206f4d8 100644 GIT binary patch delta 38 ucmey%^qpx#B%|D>@KO2wVUF delta 27 icmeyz(!#nSfr)=zYDHphW?pK1QEG8%PRZnWCQ$&Dy$VSH diff --git a/server/src/bridge/text_renderer.rs b/server/src/bridge/text_renderer.rs index df789e107..1a2b69da0 100644 --- a/server/src/bridge/text_renderer.rs +++ b/server/src/bridge/text_renderer.rs @@ -306,7 +306,6 @@ mod tests { conversation_events: vec![], conversation_ended: vec![], follow_state: None, - examine_result: None, character_pressure: None, sound_events: vec![], rng_seed: None, @@ -441,7 +440,6 @@ mod tests { conversation_events: vec![], conversation_ended: vec![], follow_state: None, - examine_result: None, character_pressure: None, sound_events: vec![], rng_seed: None, diff --git a/server/src/bridge/types.rs b/server/src/bridge/types.rs index fdec7a988..afdac6564 100644 --- a/server/src/bridge/types.rs +++ b/server/src/bridge/types.rs @@ -110,11 +110,6 @@ pub struct ObserverSnapshot { /// Client shows follow indicator with distance, LOS, and tension. #[serde(default)] pub follow_state: Option, - /// Examine result from Examine verb interaction (#242). - /// Present when the player examined an NPC or object this tick. - /// Client displays character-filtered detail text in an observation panel. - #[serde(default)] - pub examine_result: Option, /// Character pressure state for client HUD widget (#248). /// Present when pressure is non-zero. Client renders tension indicator. #[serde(default)] diff --git a/server/src/perception/observer/mod.rs b/server/src/perception/observer/mod.rs index bf82678bf..2feaa6886 100644 --- a/server/src/perception/observer/mod.rs +++ b/server/src/perception/observer/mod.rs @@ -203,7 +203,13 @@ pub fn compute_observer_snapshot( let current_monologue = monologue_buffer.take(); let dialogue_response = dialogue_response_opt.as_mut().and_then(|buf| buf.take()); - let examine_result = examine_result_buffer_opt.as_mut().and_then(|buf| buf.take()); + let examine_result = examine_result_buffer_opt.as_mut().and_then(|buf| buf.take()).map( + |evt| crate::bridge::types::ExamineResultWire { + entity_id: evt.target_entity_id, + text: evt.text, + confidence: crate::knowledge::types::KnowledgeConfidence::KnowsDetails, + }, + ); let scan_events = scan_event_buffer_opt .as_mut() .map(|buf| buf.take()) @@ -403,7 +409,6 @@ pub fn compute_observer_snapshot( sound_events, rng_seed: sim_rng.as_deref().map(|r| r.seed()), poi_list, - examine_result: None, // Populated by examine system when #242 lands player_knowledge, }); } diff --git a/server/tests/bridge_ipc.rs b/server/tests/bridge_ipc.rs index ecb056bf8..bc2f7c2cf 100644 --- a/server/tests/bridge_ipc.rs +++ b/server/tests/bridge_ipc.rs @@ -66,7 +66,6 @@ fn snapshot_roundtrip_over_unix_socket() { conversation_events: vec![], conversation_ended: vec![], follow_state: None, - examine_result: None, character_pressure: None, rng_seed: None, poi_list: vec![], diff --git a/server/tests/bridge_tcp.rs b/server/tests/bridge_tcp.rs index 3ea63a72e..3c515249b 100644 --- a/server/tests/bridge_tcp.rs +++ b/server/tests/bridge_tcp.rs @@ -52,7 +52,6 @@ fn snapshot_roundtrip_over_tcp() { conversation_events: vec![], conversation_ended: vec![], follow_state: None, - examine_result: None, character_pressure: None, rng_seed: None, poi_list: vec![], diff --git a/server/tests/golden/proof_room_tick_10.json b/server/tests/golden/proof_room_tick_10.json index 95752ac95..fdbc7e163 100644 --- a/server/tests/golden/proof_room_tick_10.json +++ b/server/tests/golden/proof_room_tick_10.json @@ -39,7 +39,6 @@ "z": 0 } ], - "examine_result": null, "follow_state": null, "game_time": { "day": 0,