@series-inc/rundot-syncplay 5.26.0-beta.2 → 5.26.0-beta.4
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 +17 -0
- package/core/native/deterministic_math.hpp +4 -3
- package/core/native/fixed_math.cpp +741 -0
- package/core/native/fixed_math.hpp +111 -0
- package/core/native/kinetix-native-main.cpp +227 -88
- package/core/native/mobile/box3d_probe_scenario.cpp +101 -0
- package/core/native/mobile/box3d_probe_scenario.hpp +25 -0
- package/core/native/mobile/syncplay_native_probe.cpp +114 -0
- package/core/native/mobile/syncplay_native_probe_abi.h +46 -0
- package/core/physics.d.ts +48 -0
- package/core/scripts/build-mobile-native.mjs +101 -0
- package/core/scripts/build-native.mjs +15 -1
- package/core/scripts/build-wasm-fixed-math.mjs +58 -0
- package/core/scripts/run-box3d-benchmark.mjs +22 -124
- package/core/src/physics/box3d-probe.mjs +171 -0
- package/core/src/physics/index.mjs +156 -19
- package/core/src/physics/physics-wasm-module.generated.mjs +3 -3
- package/dist/browser.d.ts +2 -1
- package/dist/browser.js +1 -0
- package/dist/creator.d.ts +1 -0
- package/dist/creator.js +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -0
- package/dist/movement3d.d.ts +31 -0
- package/dist/movement3d.js +265 -30
- package/dist/physics3d-heightfield.d.ts +10 -0
- package/dist/physics3d-heightfield.js +33 -0
- package/dist/physics3d-hull.d.ts +14 -0
- package/dist/physics3d-hull.js +45 -0
- package/dist/physics3d.js +28 -1
- package/package.json +8 -4
- package/dist/prediction-culling.d.ts +0 -34
- package/dist/prediction-culling.js +0 -200
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
|
|
4
|
-
//
|
|
5
|
-
//
|
|
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.
|