From 604e32080a4798bcff1062e73e143896b8a4e6e6 Mon Sep 17 00:00:00 2001 From: Hayden Flinner Date: Sat, 30 Aug 2025 17:03:41 -0400 Subject: [PATCH 1/2] fix snapshots in 2d examples --- src_testbed/testbed.rs | 26 +++++++++++--------------- src_testbed/ui.rs | 3 ++- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src_testbed/testbed.rs b/src_testbed/testbed.rs index ed0610180..9f1b3a75c 100644 --- a/src_testbed/testbed.rs +++ b/src_testbed/testbed.rs @@ -1248,21 +1248,17 @@ fn update_testbed( state .action_flags .set(TestbedActionFlags::TAKE_SNAPSHOT, false); - // FIXME - println!( - "!!!!!!!!! Snapshots are not working any more. Requires broad-phase serialization." - ); - // state.snapshot = PhysicsSnapshot::new( - // harness.state.timestep_id, - // &*harness.physics.broad_phase, - // &harness.physics.narrow_phase, - // &harness.physics.islands, - // &harness.physics.bodies, - // &harness.physics.colliders, - // &harness.physics.impulse_joints, - // &harness.physics.multibody_joints, - // ) - // .ok(); + state.snapshot = PhysicsSnapshot::new( + harness.state.timestep_id, + &harness.physics.broad_phase, + &harness.physics.narrow_phase, + &harness.physics.islands, + &harness.physics.bodies, + &harness.physics.colliders, + &harness.physics.impulse_joints, + &harness.physics.multibody_joints, + ) + .ok(); if let Some(snap) = &state.snapshot { snap.print_snapshot_len(); diff --git a/src_testbed/ui.rs b/src_testbed/ui.rs index c89a0b264..0a66b6ae8 100644 --- a/src_testbed/ui.rs +++ b/src_testbed/ui.rs @@ -383,6 +383,7 @@ fn serialization_string(timestep_id: usize, physics: &PhysicsState) -> String { let bf = bincode::serialize(&physics.broad_phase).unwrap(); // println!("bf: {}", Instant::now() - t); // let t = Instant::now(); + let bf = bincode::serialize(&physics.broad_phase).unwrap(); let nf = bincode::serialize(&physics.narrow_phase).unwrap(); // println!("nf: {}", Instant::now() - t); // let t = Instant::now(); @@ -411,7 +412,7 @@ Hashes at frame: {} serialization_time.as_secs_f64() * 1000.0, timestep_id, bf.len() as f32 / 1000.0, - format!("{:?}", hash_bf).split_at(10).0, + format!("{hash_bf:?}").split_at(10).0, nf.len() as f32 / 1000.0, format!("{hash_nf:?}").split_at(10).0, bs.len() as f32 / 1000.0, From a306004de2445e0f955b8568c62724ef2313f712 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Crozet?= Date: Fri, 21 Nov 2025 16:37:55 +0100 Subject: [PATCH 2/2] fix duplicate line --- src_testbed/ui.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/src_testbed/ui.rs b/src_testbed/ui.rs index 0a66b6ae8..844ae39c0 100644 --- a/src_testbed/ui.rs +++ b/src_testbed/ui.rs @@ -383,7 +383,6 @@ fn serialization_string(timestep_id: usize, physics: &PhysicsState) -> String { let bf = bincode::serialize(&physics.broad_phase).unwrap(); // println!("bf: {}", Instant::now() - t); // let t = Instant::now(); - let bf = bincode::serialize(&physics.broad_phase).unwrap(); let nf = bincode::serialize(&physics.narrow_phase).unwrap(); // println!("nf: {}", Instant::now() - t); // let t = Instant::now();