Merge remote-tracking branch 'origin/main' into ci

# Conflicts:
#	client/tests/fixtures/msgpack/snapshot_boundary_tick_0.msgpack
#	client/tests/fixtures/msgpack/snapshot_boundary_tick_127.msgpack
#	client/tests/fixtures/msgpack/snapshot_boundary_tick_2b31m1.msgpack
#	client/tests/fixtures/msgpack/snapshot_boundary_tick_2b32.msgpack
#	client/tests/fixtures/msgpack/snapshot_boundary_tick_32767.msgpack
#	client/tests/fixtures/msgpack/snapshot_empty.msgpack
#	client/tests/fixtures/msgpack/snapshot_multi_entity.msgpack
#	client/tests/fixtures/msgpack/snapshot_one_npc.msgpack
#	client/tests/fixtures/msgpack/snapshot_player.msgpack
#	client/tests/fixtures/msgpack/snapshot_v2_full.msgpack
#	server/src/perception/observer/mod.rs
This commit is contained in:
2026-02-25 12:51:41 +01:00
46 changed files with 3722 additions and 31 deletions
+11 -2
View File
@@ -35,6 +35,7 @@ fn test_snapshot(tick: u64, entities: Vec<VisibleEntity>) -> ObserverSnapshot {
poi_list: vec![],
examine_result: None,
player_knowledge: None,
save_result: None,
}
}
@@ -119,6 +120,12 @@ fn all_player_action_variants_roundtrip() {
target_entity_id: 42,
response_id: "kael-davan_d_001".to_string(),
},
PlayerAction::SaveGame {
path: "/tmp/test.msgpack".to_string(),
},
PlayerAction::LoadGame {
path: "/tmp/test.msgpack".to_string(),
},
];
for action in actions {
@@ -286,6 +293,7 @@ fn snapshot_v2_fields_roundtrip() {
poi_list: vec![],
examine_result: None,
player_knowledge: None,
save_result: None,
};
let bytes = rmp_serde::to_vec_named(&snapshot).expect("serialize");
@@ -340,7 +348,7 @@ fn protocol_version_constant_matches_snapshot() {
let snapshot = test_snapshot(0, vec![]);
assert_eq!(snapshot.version, PROTOCOL_VERSION);
assert_eq!(
PROTOCOL_VERSION, 14,
PROTOCOL_VERSION, 15,
"bump this assertion when protocol version changes"
);
}
@@ -389,6 +397,7 @@ fn all_facing_direction_variants_roundtrip() {
poi_list: vec![],
examine_result: None,
player_knowledge: None,
save_result: None,
};
let bytes = rmp_serde::to_vec_named(&snapshot).expect("serialize");
let decoded: ObserverSnapshot = rmp_serde::from_slice(&bytes).expect("deserialize");
@@ -1432,7 +1441,7 @@ fn serde_default_fields_fill_in_when_missing_from_wire() {
let decoded: ObserverSnapshot =
serde_json::from_value(minimal_json).expect("minimal JSON must deserialize");
// Version matches what was in the wire (13, simulating older server)
// Version matches what was in the wire
assert_eq!(decoded.version, 13);
assert_eq!(decoded.tick, 42);
assert_eq!(decoded.entities.len(), 1);