Extend simulation runtime coverage and kinematics support

This commit is contained in:
2026-08-21 10:57:10 +08:00
parent 554b72dae8
commit 2ef2d82db3
71 changed files with 24232 additions and 1867 deletions

View File

@@ -33,4 +33,15 @@ assert.equal(response.payload.tick, 7);
response = session.accept({ ...base, kind: "SIM_STEP", seq: 7, operation_id: "op-7", payload: { cycles: 1 } });
assert.equal(response.kind, "ERROR");
assert.equal(response.payload.code, "protocol_sequence");
response = session.accept({ ...base, kind: "CHECKPOINT", seq: 6, operation_id: "op-checkpoint", payload: {} });
assert.equal(response.kind, "CHECKPOINT_READY");
const checkpoint = response.payload.checkpoint;
response = session.accept({ ...base, kind: "SIM_STEP", seq: 7, operation_id: "op-7", payload: { cycles: 1 } });
assert.equal(response.kind, "COMMAND_RESULT");
const replayed = session.accept({ ...base, kind: "SIM_STEP", seq: 8, operation_id: "op-7", payload: { cycles: 99 } });
assert.equal(replayed.replayed, true);
assert.equal(replayed.payload.cycles, 1);
const recovered = session.restoreCheckpoint(checkpoint, null, (operation) => operation);
assert.equal(recovered.status, "recovered");
assert.equal(recovered.simulation_tick, 7);
console.log("sim_session=passed calls=" + calls.length);