§34's refusal: "a replay refuses to run against a different solver".
Compares the document's recorded adapter name and version against the
identity of the solver about to run it. The identity argument is
structural, so the caller can pass anything carrying the two fields — most
usefully a fresh PhysicsWorld.createSnapshot(), whose PhysicsSnapshot
already reports the live adapter's name and version.
The two thrown errors mirror PhysicsWorld.restoreSnapshot's, code and
context included, so a mismatch reads the same whether it is caught at the
document or at the solver.
§34's refusal: "a replay refuses to run against a different solver".
Compares the document's recorded adapter name and version against the identity of the solver about to run it. The
identityargument is structural, so the caller can pass anything carrying the two fields — most usefully a freshPhysicsWorld.createSnapshot(), whosePhysicsSnapshotalready reports the live adapter's name and version.The two thrown errors mirror
PhysicsWorld.restoreSnapshot's, code and context included, so a mismatch reads the same whether it is caught at the document or at the solver.