@series-inc/rundot-syncplay 5.26.0-beta.2 → 5.26.0-beta.3

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
@@ -23,6 +23,23 @@ late join, secrets, and transport.
23
23
  | Inputs, prediction, confirmation, rollback policy, replay log, late join, secrets, transport | Syncplay |
24
24
  | Rendering/interpolation/effects | Presentation adapters outside authoritative state |
25
25
 
26
+ ## External monorepos
27
+
28
+ Pin an **exact** published version. Fold that version string into
29
+ `deterministicVersion` when deriving a custom runtime identity, so a silent
30
+ dependency float cannot keep the same engine hash.
31
+
32
+ | Subpath | Role |
33
+ |---------|------|
34
+ | `/core/runtime` | `createInstalledRuntimeAdapter`, identity helpers |
35
+ | `/core/physics` | WASM physics (`initPhysics`, …) — reference solver |
36
+ | `/` or `/browser` | KCC, runner, session, **TypeScript** physics — the solver `stepDeterministicKcc3D` collides against |
37
+ | `/testing` | Simulated multi-peer / synctest |
38
+ | `/node` | Authority room helpers (not for browser bundles) |
39
+
40
+ Do not deep-import `@series-inc/rundot-syncplay/core/src/**`. Do not put a
41
+ non-deterministic third-party engine inside a checksummed step.
42
+
26
43
  There is one session factory:
27
44
 
28
45
  ```ts
@@ -1,8 +1,9 @@
1
1
  // Deterministic-f64 math for the component runtime: C++ transliteration of the
2
2
  // fdlibm-style JS shim (kinetix-deterministic-math.mjs). Every function must be
3
- // bit-identical to the JS implementation for all finite inputs verified by the
4
- // parity battery (deterministic-f64-battery.mjs vs
5
- // deterministic-math-battery-main.cpp).
3
+ // bit-identical to the JS implementation — gated by
4
+ // core/tests/js-cpp-parity.test.mjs against the --math-vectors mode in
5
+ // core/native/kinetix-native-main.cpp. NaN is compared canonically; its payload
6
+ // is architecture-defined.
6
7
  //
7
8
  // Compile with FMA contraction disabled (-ffp-contract=off): the algorithms
8
9
  // depend on exact IEEE double rounding of each written operation.