@series-inc/rundot-syncplay 5.25.0-beta.7 → 5.25.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -252,15 +252,20 @@ protocol/load ceiling, not a 60 Hz performance guarantee for an arbitrary game.
252
252
 
253
253
  ## Supported correctness kit
254
254
 
255
- `@series-inc/rundot-syncplay/testing` exposes exactly six supported functions —
256
- no browser or runtime APIs leak through it:
255
+ `@series-inc/rundot-syncplay/testing` exposes exactly nine supported
256
+ entry points — no browser or runtime APIs leak through it:
257
257
 
258
258
  ```ts
259
259
  import {
260
260
  assertDeterministic,
261
261
  assertLateJoinHydration,
262
+ assertPresentationParity,
262
263
  assertReplayVerifies,
264
+ assertRunnerLifecycle,
263
265
  assertTwoClientConvergence,
266
+ createSimulatedSyncplayMatch,
267
+ createSyncplayRunnerHarness,
268
+ runSyncplaySynctest,
264
269
  } from '@series-inc/rundot-syncplay/testing'
265
270
  ```
266
271
 
@@ -268,5 +273,7 @@ import {
268
273
  restore-resim / hydration / replay cert; `assertTwoClientConvergence` and
269
274
  `assertLateJoinHydration` run the **real** authority room and networked client
270
275
  over a deterministic simulated network (`createSimulatedSyncplayMatch`,
271
- `runSyncplaySynctest`). Failures name the phase, frame, and disagreeing
272
- checksums.
276
+ `runSyncplaySynctest`). `createSyncplayRunnerHarness`, `assertRunnerLifecycle`,
277
+ and `assertPresentationParity` cover the runner seam — a real runner driven on
278
+ a fully controlled clock against the simulated match. Failures name the phase,
279
+ frame, and disagreeing checksums.
@@ -185,7 +185,12 @@ export interface NetworkedSyncplayClient<Projection = unknown> {
185
185
  pumpPaced(nowMs: number): void;
186
186
  /** Report this client's confirmed-state checksum for desync telemetry. */
187
187
  reportChecksum(): void;
188
- /** Confirmed-state checksum at `frame` (must be <= appliedThrough + 1). */
188
+ /**
189
+ * Confirmed-state checksum at `frame` (must be <= appliedThrough + 1).
190
+ * Destructive: rewinds the live session to `frame`, discarding every later
191
+ * confirmed and predicted frame — call only on a settled session (test
192
+ * harnesses comparing peers), never per-frame during live play.
193
+ */
189
194
  confirmedStateChecksum(frame: number): string;
190
195
  exportReplay(): ReplayFile;
191
196
  readonly currentFrame: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@series-inc/rundot-syncplay",
3
- "version": "5.25.0-beta.7",
3
+ "version": "5.25.0-beta.8",
4
4
  "description": "Kinetix orchestration, rollback, replay, late-join, and deterministic networking for RUN.game",
5
5
  "repository": {
6
6
  "type": "git",
@@ -65,8 +65,8 @@
65
65
  "Kinetix"
66
66
  ],
67
67
  "dependencies": {
68
- "@series-inc/rundot-game-sdk": "5.25.0-beta.2",
69
- "@series-inc/rundot-kinetix": "0.1.0-beta.9"
68
+ "@series-inc/rundot-game-sdk": "5.25.0-beta.3",
69
+ "@series-inc/rundot-kinetix": "0.1.0-beta.10"
70
70
  },
71
71
  "devDependencies": {
72
72
  "@dimforge/rapier2d-compat": "0.19.3",