@series-inc/rundot-syncplay 5.23.0-beta.7
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 +610 -0
- package/dist/animation.d.ts +119 -0
- package/dist/animation.js +488 -0
- package/dist/asset-cooking.d.ts +82 -0
- package/dist/asset-cooking.js +364 -0
- package/dist/authority-room.d.ts +217 -0
- package/dist/authority-room.js +701 -0
- package/dist/bot-documents.d.ts +115 -0
- package/dist/bot-documents.js +549 -0
- package/dist/bot-primitives.d.ts +152 -0
- package/dist/bot-primitives.js +472 -0
- package/dist/browser.d.ts +57 -0
- package/dist/browser.js +53 -0
- package/dist/canonical.d.ts +12 -0
- package/dist/canonical.js +288 -0
- package/dist/certification.d.ts +455 -0
- package/dist/certification.js +1855 -0
- package/dist/chaos-certification.d.ts +56 -0
- package/dist/chaos-certification.js +1397 -0
- package/dist/cjs/animation.js +495 -0
- package/dist/cjs/asset-cooking.js +372 -0
- package/dist/cjs/authority-room.js +704 -0
- package/dist/cjs/bot-documents.js +556 -0
- package/dist/cjs/bot-primitives.js +482 -0
- package/dist/cjs/browser.js +96 -0
- package/dist/cjs/canonical.js +299 -0
- package/dist/cjs/certification.js +1860 -0
- package/dist/cjs/chaos-certification.js +1402 -0
- package/dist/cjs/collections.js +36 -0
- package/dist/cjs/collision.js +96 -0
- package/dist/cjs/commands.js +987 -0
- package/dist/cjs/config-bundle.js +491 -0
- package/dist/cjs/creator.js +30 -0
- package/dist/cjs/deterministic-primitives.js +134 -0
- package/dist/cjs/deterministic-session.js +1410 -0
- package/dist/cjs/ecs-lite.js +155 -0
- package/dist/cjs/effects-adapter.js +97 -0
- package/dist/cjs/engine-complete.js +2297 -0
- package/dist/cjs/engine-core-proof.js +70 -0
- package/dist/cjs/engine-parity-matrix.js +874 -0
- package/dist/cjs/engine-parity.js +3183 -0
- package/dist/cjs/engine-runtime.js +3141 -0
- package/dist/cjs/errors.js +22 -0
- package/dist/cjs/events.js +247 -0
- package/dist/cjs/examples/counter-duel.js +157 -0
- package/dist/cjs/examples/fixed-arena.js +368 -0
- package/dist/cjs/index.js +229 -0
- package/dist/cjs/input-authority.js +150 -0
- package/dist/cjs/input-button.js +256 -0
- package/dist/cjs/input-timeline.js +418 -0
- package/dist/cjs/instant-replay.js +66 -0
- package/dist/cjs/lag-compensation3d.js +837 -0
- package/dist/cjs/local-authority-server-runner.js +1121 -0
- package/dist/cjs/local-authority-wire.js +1497 -0
- package/dist/cjs/local-authority.js +817 -0
- package/dist/cjs/local-ws-adapter.js +150 -0
- package/dist/cjs/match-log.js +61 -0
- package/dist/cjs/math.js +157 -0
- package/dist/cjs/mock-network-adapter.js +26 -0
- package/dist/cjs/movement.js +703 -0
- package/dist/cjs/movement3d.js +1246 -0
- package/dist/cjs/multiclient-authority.js +308 -0
- package/dist/cjs/multiplayer-service.js +434 -0
- package/dist/cjs/navigation.js +347 -0
- package/dist/cjs/navmesh.js +1437 -0
- package/dist/cjs/networked-client.js +691 -0
- package/dist/cjs/networked-input-authority.js +443 -0
- package/dist/cjs/node.js +47 -0
- package/dist/cjs/number-lab.js +78 -0
- package/dist/cjs/offline-session.js +370 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/pause-resume.js +43 -0
- package/dist/cjs/physics-cert.js +426 -0
- package/dist/cjs/physics2d.js +751 -0
- package/dist/cjs/physics3d.js +1996 -0
- package/dist/cjs/prediction-culling.js +203 -0
- package/dist/cjs/protocol-lab.js +1299 -0
- package/dist/cjs/r3f-render-adapter.js +209 -0
- package/dist/cjs/random.js +59 -0
- package/dist/cjs/replay-bundle.js +1598 -0
- package/dist/cjs/replay-inspect.js +236 -0
- package/dist/cjs/replay-scoring.js +68 -0
- package/dist/cjs/replay.js +356 -0
- package/dist/cjs/reports.js +181 -0
- package/dist/cjs/rollback-history.js +251 -0
- package/dist/cjs/runtime-guards.js +111 -0
- package/dist/cjs/sample-lab.js +145 -0
- package/dist/cjs/sample-scenes.js +752 -0
- package/dist/cjs/schema-artifacts.js +359 -0
- package/dist/cjs/schema-codegen.js +544 -0
- package/dist/cjs/schema-dsl-binary.js +655 -0
- package/dist/cjs/schema.js +319 -0
- package/dist/cjs/sdk-offline.js +99 -0
- package/dist/cjs/session-promotion.js +74 -0
- package/dist/cjs/session-snapshot.js +265 -0
- package/dist/cjs/session-wire.js +216 -0
- package/dist/cjs/signals.js +103 -0
- package/dist/cjs/sparse-set.js +169 -0
- package/dist/cjs/synctest.js +136 -0
- package/dist/cjs/system-lifecycle.js +286 -0
- package/dist/cjs/timers.js +61 -0
- package/dist/cjs/tools/static-checker.js +1468 -0
- package/dist/cjs/types.js +2 -0
- package/dist/cjs/venus-mp-budget.js +125 -0
- package/dist/cjs/ws-frame.js +255 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +11379 -0
- package/dist/collections.d.ts +9 -0
- package/dist/collections.js +30 -0
- package/dist/collision.d.ts +25 -0
- package/dist/collision.js +85 -0
- package/dist/commands.d.ts +137 -0
- package/dist/commands.js +977 -0
- package/dist/config-bundle.d.ts +89 -0
- package/dist/config-bundle.js +483 -0
- package/dist/creator.d.ts +20 -0
- package/dist/creator.js +11 -0
- package/dist/deterministic-primitives.d.ts +59 -0
- package/dist/deterministic-primitives.js +126 -0
- package/dist/deterministic-session.d.ts +197 -0
- package/dist/deterministic-session.js +1401 -0
- package/dist/ecs-lite.d.ts +26 -0
- package/dist/ecs-lite.js +152 -0
- package/dist/effects-adapter.d.ts +21 -0
- package/dist/effects-adapter.js +94 -0
- package/dist/engine-complete.d.ts +45 -0
- package/dist/engine-complete.js +2292 -0
- package/dist/engine-core-proof.d.ts +26 -0
- package/dist/engine-core-proof.js +66 -0
- package/dist/engine-parity-matrix.d.ts +300 -0
- package/dist/engine-parity-matrix.js +869 -0
- package/dist/engine-parity.d.ts +74 -0
- package/dist/engine-parity.js +3178 -0
- package/dist/engine-runtime.d.ts +351 -0
- package/dist/engine-runtime.js +3123 -0
- package/dist/errors.d.ts +11 -0
- package/dist/errors.js +17 -0
- package/dist/events.d.ts +45 -0
- package/dist/events.js +242 -0
- package/dist/examples/counter-duel.d.ts +43 -0
- package/dist/examples/counter-duel.js +150 -0
- package/dist/examples/fixed-arena.d.ts +110 -0
- package/dist/examples/fixed-arena.js +356 -0
- package/dist/index.d.ts +101 -0
- package/dist/index.js +66 -0
- package/dist/input-authority.d.ts +82 -0
- package/dist/input-authority.js +147 -0
- package/dist/input-button.d.ts +36 -0
- package/dist/input-button.js +249 -0
- package/dist/input-timeline.d.ts +65 -0
- package/dist/input-timeline.js +412 -0
- package/dist/instant-replay.d.ts +59 -0
- package/dist/instant-replay.js +62 -0
- package/dist/lag-compensation3d.d.ts +146 -0
- package/dist/lag-compensation3d.js +827 -0
- package/dist/local-authority-server-runner.d.ts +79 -0
- package/dist/local-authority-server-runner.js +1118 -0
- package/dist/local-authority-wire.d.ts +142 -0
- package/dist/local-authority-wire.js +1477 -0
- package/dist/local-authority.d.ts +160 -0
- package/dist/local-authority.js +810 -0
- package/dist/local-ws-adapter.d.ts +14 -0
- package/dist/local-ws-adapter.js +146 -0
- package/dist/match-log.d.ts +74 -0
- package/dist/match-log.js +57 -0
- package/dist/math.d.ts +41 -0
- package/dist/math.js +154 -0
- package/dist/mock-network-adapter.d.ts +13 -0
- package/dist/mock-network-adapter.js +23 -0
- package/dist/movement.d.ts +155 -0
- package/dist/movement.js +694 -0
- package/dist/movement3d.d.ts +195 -0
- package/dist/movement3d.js +1238 -0
- package/dist/multiclient-authority.d.ts +30 -0
- package/dist/multiclient-authority.js +305 -0
- package/dist/multiplayer-service.d.ts +153 -0
- package/dist/multiplayer-service.js +429 -0
- package/dist/navigation.d.ts +91 -0
- package/dist/navigation.js +338 -0
- package/dist/navmesh.d.ts +236 -0
- package/dist/navmesh.js +1423 -0
- package/dist/networked-client.d.ts +124 -0
- package/dist/networked-client.js +688 -0
- package/dist/networked-input-authority.d.ts +51 -0
- package/dist/networked-input-authority.js +439 -0
- package/dist/node.d.ts +22 -0
- package/dist/node.js +19 -0
- package/dist/number-lab.d.ts +15 -0
- package/dist/number-lab.js +75 -0
- package/dist/offline-session.d.ts +2 -0
- package/dist/offline-session.js +367 -0
- package/dist/pause-resume.d.ts +48 -0
- package/dist/pause-resume.js +40 -0
- package/dist/physics-cert.d.ts +40 -0
- package/dist/physics-cert.js +389 -0
- package/dist/physics2d.d.ts +142 -0
- package/dist/physics2d.js +741 -0
- package/dist/physics3d.d.ts +285 -0
- package/dist/physics3d.js +1979 -0
- package/dist/prediction-culling.d.ts +34 -0
- package/dist/prediction-culling.js +200 -0
- package/dist/protocol-lab.d.ts +115 -0
- package/dist/protocol-lab.js +1295 -0
- package/dist/r3f-render-adapter.d.ts +61 -0
- package/dist/r3f-render-adapter.js +203 -0
- package/dist/random.d.ts +13 -0
- package/dist/random.js +55 -0
- package/dist/replay-bundle.d.ts +150 -0
- package/dist/replay-bundle.js +1586 -0
- package/dist/replay-inspect.d.ts +60 -0
- package/dist/replay-inspect.js +228 -0
- package/dist/replay-scoring.d.ts +28 -0
- package/dist/replay-scoring.js +65 -0
- package/dist/replay.d.ts +17 -0
- package/dist/replay.js +351 -0
- package/dist/reports.d.ts +176 -0
- package/dist/reports.js +174 -0
- package/dist/rollback-history.d.ts +46 -0
- package/dist/rollback-history.js +247 -0
- package/dist/runtime-guards.d.ts +1 -0
- package/dist/runtime-guards.js +108 -0
- package/dist/sample-lab.d.ts +32 -0
- package/dist/sample-lab.js +134 -0
- package/dist/sample-scenes.d.ts +86 -0
- package/dist/sample-scenes.js +745 -0
- package/dist/schema-artifacts.d.ts +49 -0
- package/dist/schema-artifacts.js +356 -0
- package/dist/schema-codegen.d.ts +21 -0
- package/dist/schema-codegen.js +538 -0
- package/dist/schema-dsl-binary.d.ts +75 -0
- package/dist/schema-dsl-binary.js +648 -0
- package/dist/schema.d.ts +87 -0
- package/dist/schema.js +315 -0
- package/dist/sdk-offline.d.ts +34 -0
- package/dist/sdk-offline.js +96 -0
- package/dist/session-promotion.d.ts +26 -0
- package/dist/session-promotion.js +70 -0
- package/dist/session-snapshot.d.ts +95 -0
- package/dist/session-snapshot.js +255 -0
- package/dist/session-wire.d.ts +89 -0
- package/dist/session-wire.js +211 -0
- package/dist/signals.d.ts +31 -0
- package/dist/signals.js +99 -0
- package/dist/sparse-set.d.ts +34 -0
- package/dist/sparse-set.js +165 -0
- package/dist/synctest.d.ts +31 -0
- package/dist/synctest.js +133 -0
- package/dist/system-lifecycle.d.ts +72 -0
- package/dist/system-lifecycle.js +281 -0
- package/dist/timers.d.ts +17 -0
- package/dist/timers.js +53 -0
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.js +4 -0
- package/dist/tools/static-checker.d.ts +31 -0
- package/dist/tools/static-checker.js +1462 -0
- package/dist/tools/vite-plugin.d.ts +69 -0
- package/dist/tools/vite-plugin.js +203 -0
- package/dist/types.d.ts +148 -0
- package/dist/types.js +1 -0
- package/dist/venus-mp-budget.d.ts +29 -0
- package/dist/venus-mp-budget.js +122 -0
- package/dist/ws-frame.d.ts +49 -0
- package/dist/ws-frame.js +247 -0
- package/package.json +169 -0
|
@@ -0,0 +1,455 @@
|
|
|
1
|
+
import { runPredictionCullingLab } from './prediction-culling.js';
|
|
2
|
+
import { type ProtocolRollbackGame } from './protocol-lab.js';
|
|
3
|
+
export type CertificationFixtureKind = 'event-callbacks' | 'bot-replacement' | 'ecs-lite' | 'external-physics-gate' | 'fixed-foundation' | 'genre-128' | 'kcc-lite' | 'navigation-grid' | 'netcode' | 'physics-builtin' | 'prediction-culling' | 'projectile-hitscan' | 'protocol-matrix' | 'reference-samples' | 'replay-node' | 'replay-browser' | 'schema-tooling' | 'static-analysis';
|
|
4
|
+
export type CertificationRuntimeTarget = 'node' | 'chromium' | 'webkit';
|
|
5
|
+
export type CertificationResult = 'pass' | 'fail' | 'skip';
|
|
6
|
+
export type CertificationNetcodeShape = 'input-minimal' | 'moderate-state' | 'command-bursts';
|
|
7
|
+
export type CertificationProtocolProfileId = 'delay-jitter' | 'loss-duplicate-reorder' | 'reconnect' | 'late-join' | 'asymmetric-latency' | 'input-delay' | 'bots' | 'command-bursts' | 'expected-desync';
|
|
8
|
+
export interface CertificationBudgets {
|
|
9
|
+
readonly maxReplayBytes?: number;
|
|
10
|
+
readonly maxPackedInputBytesPerSecond?: number;
|
|
11
|
+
readonly maxRollbackDepth?: number;
|
|
12
|
+
readonly requireChecksumConvergence?: boolean;
|
|
13
|
+
readonly requireExpectedDesyncArtifacts?: boolean;
|
|
14
|
+
readonly maxElapsedMs?: number;
|
|
15
|
+
readonly maxHeapUsedBytes?: number;
|
|
16
|
+
readonly maxRssBytes?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface CertificationManifest {
|
|
19
|
+
readonly manifestId?: string;
|
|
20
|
+
readonly artifactDir?: string;
|
|
21
|
+
readonly benchmarkProfile?: boolean;
|
|
22
|
+
readonly fixtures?: readonly CertificationFixture[];
|
|
23
|
+
}
|
|
24
|
+
export type CertificationFixtureTier = 'required' | 'optional' | 'experimental' | 'optional-browser' | 'optional-integration' | 'stress';
|
|
25
|
+
export type CertificationFixture = CertificationBotReplacementFixture | CertificationEcsLiteFixture | CertificationExternalPhysicsGateFixture | CertificationEventCallbacksFixture | CertificationFixedFoundationFixture | CertificationGenre128Fixture | CertificationKccLiteFixture | CertificationNavigationGridFixture | CertificationNetcodeFixture | CertificationPhysicsBuiltinFixture | CertificationPredictionCullingFixture | CertificationProjectileHitscanFixture | CertificationProtocolMatrixFixture | CertificationReferenceSamplesFixture | CertificationReplayNodeFixture | CertificationSchemaToolingFixture | CertificationStaticAnalysisFixture | CertificationBrowserReplayFixture;
|
|
26
|
+
export interface CertificationFixtureBase {
|
|
27
|
+
readonly fixtureId: string;
|
|
28
|
+
readonly kind: CertificationFixtureKind;
|
|
29
|
+
readonly tier?: CertificationFixtureTier;
|
|
30
|
+
readonly required?: boolean;
|
|
31
|
+
readonly runtimeTarget?: CertificationRuntimeTarget;
|
|
32
|
+
readonly players: number;
|
|
33
|
+
readonly frames: number;
|
|
34
|
+
readonly seed: number;
|
|
35
|
+
readonly budgets?: CertificationBudgets;
|
|
36
|
+
}
|
|
37
|
+
export interface CertificationNetcodeFixture extends CertificationFixtureBase {
|
|
38
|
+
readonly kind: 'netcode';
|
|
39
|
+
readonly runtimeTarget?: 'node';
|
|
40
|
+
readonly shape: CertificationNetcodeShape;
|
|
41
|
+
readonly hz?: number;
|
|
42
|
+
readonly rttMs?: number;
|
|
43
|
+
readonly jitterMs?: number;
|
|
44
|
+
readonly lossPercent?: number;
|
|
45
|
+
readonly duplicatePermille?: number;
|
|
46
|
+
readonly inputDelayFrames?: number;
|
|
47
|
+
readonly bundleSizeFrames?: number;
|
|
48
|
+
readonly eventTimelineLimit?: number;
|
|
49
|
+
}
|
|
50
|
+
export interface CertificationFixedFoundationFixture extends CertificationFixtureBase {
|
|
51
|
+
readonly kind: 'fixed-foundation';
|
|
52
|
+
readonly runtimeTarget?: 'node';
|
|
53
|
+
}
|
|
54
|
+
export interface CertificationStaticAnalysisFixture extends CertificationFixtureBase {
|
|
55
|
+
readonly kind: 'static-analysis';
|
|
56
|
+
readonly runtimeTarget?: 'node';
|
|
57
|
+
}
|
|
58
|
+
export interface CertificationSchemaToolingFixture extends CertificationFixtureBase {
|
|
59
|
+
readonly kind: 'schema-tooling';
|
|
60
|
+
readonly runtimeTarget?: 'node';
|
|
61
|
+
}
|
|
62
|
+
export interface CertificationEventCallbacksFixture extends CertificationFixtureBase {
|
|
63
|
+
readonly kind: 'event-callbacks';
|
|
64
|
+
readonly runtimeTarget?: 'node';
|
|
65
|
+
}
|
|
66
|
+
export interface CertificationPhysicsBuiltinFixture extends CertificationFixtureBase {
|
|
67
|
+
readonly kind: 'physics-builtin';
|
|
68
|
+
readonly runtimeTarget?: 'node';
|
|
69
|
+
}
|
|
70
|
+
export interface CertificationPredictionCullingFixture extends CertificationFixtureBase {
|
|
71
|
+
readonly kind: 'prediction-culling';
|
|
72
|
+
readonly runtimeTarget?: 'node';
|
|
73
|
+
}
|
|
74
|
+
export interface CertificationExternalPhysicsGateFixture extends CertificationFixtureBase {
|
|
75
|
+
readonly kind: 'external-physics-gate';
|
|
76
|
+
readonly runtimeTarget?: 'node';
|
|
77
|
+
}
|
|
78
|
+
export interface CertificationEcsLiteFixture extends CertificationFixtureBase {
|
|
79
|
+
readonly kind: 'ecs-lite';
|
|
80
|
+
readonly runtimeTarget?: 'node';
|
|
81
|
+
}
|
|
82
|
+
export interface CertificationKccLiteFixture extends CertificationFixtureBase {
|
|
83
|
+
readonly kind: 'kcc-lite';
|
|
84
|
+
readonly runtimeTarget?: 'node';
|
|
85
|
+
}
|
|
86
|
+
export interface CertificationNavigationGridFixture extends CertificationFixtureBase {
|
|
87
|
+
readonly kind: 'navigation-grid';
|
|
88
|
+
readonly runtimeTarget?: 'node';
|
|
89
|
+
}
|
|
90
|
+
export interface CertificationProjectileHitscanFixture extends CertificationFixtureBase {
|
|
91
|
+
readonly kind: 'projectile-hitscan';
|
|
92
|
+
readonly runtimeTarget?: 'node';
|
|
93
|
+
}
|
|
94
|
+
export interface CertificationBotReplacementFixture extends CertificationFixtureBase {
|
|
95
|
+
readonly kind: 'bot-replacement';
|
|
96
|
+
readonly runtimeTarget?: 'node';
|
|
97
|
+
}
|
|
98
|
+
export interface CertificationGenre128Fixture extends CertificationFixtureBase {
|
|
99
|
+
readonly kind: 'genre-128';
|
|
100
|
+
readonly runtimeTarget?: 'node';
|
|
101
|
+
}
|
|
102
|
+
export interface CertificationProtocolMatrixFixture extends CertificationFixtureBase {
|
|
103
|
+
readonly kind: 'protocol-matrix';
|
|
104
|
+
readonly runtimeTarget?: 'node';
|
|
105
|
+
readonly profiles?: readonly CertificationProtocolProfileId[];
|
|
106
|
+
}
|
|
107
|
+
export interface CertificationReferenceSamplesFixture extends CertificationFixtureBase {
|
|
108
|
+
readonly kind: 'reference-samples';
|
|
109
|
+
readonly runtimeTarget?: 'node';
|
|
110
|
+
}
|
|
111
|
+
export interface CertificationReplayNodeFixture extends CertificationFixtureBase {
|
|
112
|
+
readonly kind: 'replay-node';
|
|
113
|
+
readonly runtimeTarget?: 'node';
|
|
114
|
+
}
|
|
115
|
+
export interface CertificationBrowserReplayFixture extends CertificationFixtureBase {
|
|
116
|
+
readonly kind: 'replay-browser';
|
|
117
|
+
readonly runtimeTarget: 'chromium' | 'webkit';
|
|
118
|
+
}
|
|
119
|
+
export interface CertificationBudgetResult {
|
|
120
|
+
readonly name: keyof CertificationBudgets;
|
|
121
|
+
readonly limit?: number | boolean;
|
|
122
|
+
readonly actual?: number | boolean;
|
|
123
|
+
readonly gating: boolean;
|
|
124
|
+
readonly result: CertificationResult;
|
|
125
|
+
}
|
|
126
|
+
export interface CertificationFixtureReport {
|
|
127
|
+
readonly schemaVersion: 1;
|
|
128
|
+
readonly reportId: string;
|
|
129
|
+
readonly manifestId: string;
|
|
130
|
+
readonly fixtureId: string;
|
|
131
|
+
readonly kind: CertificationFixtureKind;
|
|
132
|
+
readonly tier: CertificationFixtureTier;
|
|
133
|
+
readonly required: boolean;
|
|
134
|
+
readonly runtimeTarget: CertificationRuntimeTarget;
|
|
135
|
+
readonly players: number;
|
|
136
|
+
readonly frames: number;
|
|
137
|
+
readonly seed: number;
|
|
138
|
+
readonly artifactPath: string;
|
|
139
|
+
readonly reportPath: string;
|
|
140
|
+
readonly metrics: CertificationMetrics;
|
|
141
|
+
readonly budgets: readonly CertificationBudgetResult[];
|
|
142
|
+
readonly failures: readonly string[];
|
|
143
|
+
readonly result: CertificationResult;
|
|
144
|
+
}
|
|
145
|
+
export type CertificationMetrics = CertificationBotReplacementMetrics | CertificationEcsLiteMetrics | CertificationExternalPhysicsGateMetrics | CertificationEventCallbacksMetrics | CertificationFixedFoundationMetrics | CertificationGenre128Metrics | CertificationKccLiteMetrics | CertificationNavigationGridMetrics | CertificationNetcodeMetrics | CertificationPhysicsBuiltinMetrics | CertificationPredictionCullingMetrics | CertificationProjectileHitscanMetrics | CertificationProtocolMatrixMetrics | CertificationReferenceSamplesMetrics | CertificationReplayNodeMetrics | CertificationSchemaToolingMetrics | CertificationStaticAnalysisMetrics | CertificationBrowserReplayMetrics;
|
|
146
|
+
export interface CertificationNetcodeMetrics {
|
|
147
|
+
readonly shape: CertificationNetcodeShape;
|
|
148
|
+
readonly game: ProtocolRollbackGame;
|
|
149
|
+
readonly authorityChecksum: string;
|
|
150
|
+
readonly clientChecksum: string;
|
|
151
|
+
readonly checksumConverged: boolean;
|
|
152
|
+
readonly rollbacks: number;
|
|
153
|
+
readonly maxRollbackDepth: number;
|
|
154
|
+
readonly replayBytes: number;
|
|
155
|
+
readonly packedInputBytesPerTick: string;
|
|
156
|
+
readonly packedInputBytesPerSecond: string;
|
|
157
|
+
readonly inputBytesPerTick: string;
|
|
158
|
+
readonly checksumCostMsP95: string;
|
|
159
|
+
readonly elapsedMs: string;
|
|
160
|
+
readonly heapUsedBytes: number;
|
|
161
|
+
readonly rssBytes: number;
|
|
162
|
+
}
|
|
163
|
+
export interface CertificationFixedFoundationMetrics {
|
|
164
|
+
readonly goldenChecksum: string;
|
|
165
|
+
readonly checksumConverged: boolean;
|
|
166
|
+
readonly fixedMath: {
|
|
167
|
+
readonly a: number;
|
|
168
|
+
readonly b: number;
|
|
169
|
+
readonly add: number;
|
|
170
|
+
readonly sub: number;
|
|
171
|
+
readonly mul: number;
|
|
172
|
+
readonly div: number;
|
|
173
|
+
readonly clamp: number;
|
|
174
|
+
};
|
|
175
|
+
readonly vectors: {
|
|
176
|
+
readonly a: {
|
|
177
|
+
readonly x: number;
|
|
178
|
+
readonly y: number;
|
|
179
|
+
};
|
|
180
|
+
readonly b: {
|
|
181
|
+
readonly x: number;
|
|
182
|
+
readonly y: number;
|
|
183
|
+
};
|
|
184
|
+
readonly circlesIntersect: boolean;
|
|
185
|
+
};
|
|
186
|
+
readonly rng: readonly number[];
|
|
187
|
+
readonly timers: {
|
|
188
|
+
readonly milliseconds: number;
|
|
189
|
+
readonly frames: number;
|
|
190
|
+
readonly cooldown: {
|
|
191
|
+
readonly start: unknown;
|
|
192
|
+
readonly ticked: unknown;
|
|
193
|
+
readonly ready: unknown;
|
|
194
|
+
};
|
|
195
|
+
readonly due: readonly unknown[];
|
|
196
|
+
readonly pending: readonly unknown[];
|
|
197
|
+
};
|
|
198
|
+
readonly collections: {
|
|
199
|
+
readonly sortedKeys: readonly string[];
|
|
200
|
+
readonly stableEntries: readonly unknown[];
|
|
201
|
+
readonly stableMapEntries: readonly unknown[];
|
|
202
|
+
readonly stableSetValues: readonly string[];
|
|
203
|
+
readonly shuffle: readonly string[];
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
export interface CertificationReplayNodeMetrics {
|
|
207
|
+
readonly finalChecksum: string;
|
|
208
|
+
readonly replayBytes: number;
|
|
209
|
+
readonly packedInputBytesPerTick: string;
|
|
210
|
+
readonly packedInputBytesPerSecond: string;
|
|
211
|
+
readonly replayVerification: {
|
|
212
|
+
readonly frames: number;
|
|
213
|
+
readonly checksums: number;
|
|
214
|
+
readonly mismatches: number;
|
|
215
|
+
readonly finalChecksum: string;
|
|
216
|
+
};
|
|
217
|
+
readonly elapsedMs: string;
|
|
218
|
+
readonly heapUsedBytes: number;
|
|
219
|
+
readonly rssBytes: number;
|
|
220
|
+
}
|
|
221
|
+
export interface CertificationStaticAnalysisMetrics {
|
|
222
|
+
readonly parser: 'typescript-ast' | 'regex-scanner';
|
|
223
|
+
readonly dependencyPosture: 'package-internal-no-runtime-parser-dependency';
|
|
224
|
+
readonly diagnostics: readonly {
|
|
225
|
+
readonly ruleId: string;
|
|
226
|
+
readonly severity: string;
|
|
227
|
+
readonly suggestion: string;
|
|
228
|
+
}[];
|
|
229
|
+
readonly errors: number;
|
|
230
|
+
readonly warnings: number;
|
|
231
|
+
readonly alternativesReported: number;
|
|
232
|
+
readonly result: 'pass' | 'fail';
|
|
233
|
+
}
|
|
234
|
+
export interface CertificationSchemaToolingMetrics {
|
|
235
|
+
readonly artifactId: string;
|
|
236
|
+
readonly descriptorId: string;
|
|
237
|
+
readonly commandSchemaId: string;
|
|
238
|
+
readonly prototypeSchemaId: string;
|
|
239
|
+
readonly defaultInputFactoryPresent: boolean;
|
|
240
|
+
readonly canonicalInput: unknown;
|
|
241
|
+
readonly serializedStateBytes: number;
|
|
242
|
+
readonly frameDumpChecksum: string;
|
|
243
|
+
readonly frameDumpChecksumMatch: boolean;
|
|
244
|
+
readonly generatedTypesBytes: number;
|
|
245
|
+
readonly generatedHelpers: readonly string[];
|
|
246
|
+
readonly generatedRuntimeValidatorsPresent: boolean;
|
|
247
|
+
readonly checksumConverged: boolean;
|
|
248
|
+
}
|
|
249
|
+
export interface CertificationEventCallbacksMetrics {
|
|
250
|
+
readonly predictionStates: readonly string[];
|
|
251
|
+
readonly records: number;
|
|
252
|
+
readonly confirmed: number;
|
|
253
|
+
readonly canceled: number;
|
|
254
|
+
readonly verifiedOnly: number;
|
|
255
|
+
readonly lifecycleEvents: number;
|
|
256
|
+
readonly physicsEvents: number;
|
|
257
|
+
readonly eventChecksum: string;
|
|
258
|
+
readonly checksumConverged: boolean;
|
|
259
|
+
}
|
|
260
|
+
export interface CertificationPhysicsBuiltinMetrics {
|
|
261
|
+
readonly engine: string;
|
|
262
|
+
readonly uninterruptedChecksum: string;
|
|
263
|
+
readonly restoredChecksum: string;
|
|
264
|
+
readonly checksumConverged: boolean;
|
|
265
|
+
readonly collisionEventsStable: boolean;
|
|
266
|
+
readonly queryOrderStable: boolean;
|
|
267
|
+
readonly snapshotHashStable: boolean;
|
|
268
|
+
readonly collisionEvents: number;
|
|
269
|
+
readonly snapshotBytesP95: number;
|
|
270
|
+
readonly result: 'pass' | 'fail';
|
|
271
|
+
}
|
|
272
|
+
export interface CertificationPredictionCullingMetrics {
|
|
273
|
+
readonly passProfile: ReturnType<typeof runPredictionCullingLab>;
|
|
274
|
+
readonly expectedFailureProfile: ReturnType<typeof runPredictionCullingLab>;
|
|
275
|
+
readonly expectedFailureDetected: boolean;
|
|
276
|
+
readonly checksumConverged: boolean;
|
|
277
|
+
}
|
|
278
|
+
export interface CertificationExternalPhysicsGateMetrics {
|
|
279
|
+
readonly engine: 'rapier2d-compat';
|
|
280
|
+
readonly packageName: string;
|
|
281
|
+
readonly certified: boolean;
|
|
282
|
+
readonly checksummedGameplayAllowed: boolean;
|
|
283
|
+
readonly checksummedGameplayRejected: boolean;
|
|
284
|
+
readonly requiredGates: readonly string[];
|
|
285
|
+
readonly knownIssue: string;
|
|
286
|
+
readonly checksumConverged: boolean;
|
|
287
|
+
}
|
|
288
|
+
export interface CertificationEcsLiteMetrics {
|
|
289
|
+
readonly stableEntityIds: boolean;
|
|
290
|
+
readonly queryOrderStable: boolean;
|
|
291
|
+
readonly snapshotRestoreEqual: boolean;
|
|
292
|
+
readonly rollbackCreateDestroyEqual: boolean;
|
|
293
|
+
readonly singletonStateStable: boolean;
|
|
294
|
+
readonly componentLifecycleStable: boolean;
|
|
295
|
+
readonly checksumConverged: boolean;
|
|
296
|
+
readonly worldChecksum: string;
|
|
297
|
+
}
|
|
298
|
+
export interface CertificationKccLiteMetrics {
|
|
299
|
+
readonly groundedFrames: number;
|
|
300
|
+
readonly horizontalTravel: number;
|
|
301
|
+
readonly jumps: number;
|
|
302
|
+
readonly coyoteJumps: number;
|
|
303
|
+
readonly wallCollisions: number;
|
|
304
|
+
readonly leftWallCollisions: number;
|
|
305
|
+
readonly rightWallCollisions: number;
|
|
306
|
+
readonly rollbackChecksumEqual: boolean;
|
|
307
|
+
readonly queryOrderStable: boolean;
|
|
308
|
+
readonly finalChecksum: string;
|
|
309
|
+
readonly checksumConverged: boolean;
|
|
310
|
+
}
|
|
311
|
+
export interface CertificationNavigationGridMetrics {
|
|
312
|
+
readonly pathChecksum: string;
|
|
313
|
+
readonly pathsFound: number;
|
|
314
|
+
readonly unreachableDetected: boolean;
|
|
315
|
+
readonly queryOrderStable: boolean;
|
|
316
|
+
readonly avoidanceStable: boolean;
|
|
317
|
+
readonly rollbackChecksumEqual: boolean;
|
|
318
|
+
readonly checksumConverged: boolean;
|
|
319
|
+
}
|
|
320
|
+
export interface CertificationProjectileHitscanMetrics {
|
|
321
|
+
readonly raycastOrderStable: boolean;
|
|
322
|
+
readonly projectileHits: number;
|
|
323
|
+
readonly hitscanHits: number;
|
|
324
|
+
readonly cooldownBlocks: number;
|
|
325
|
+
readonly respawns: number;
|
|
326
|
+
readonly rollbackChecksumEqual: boolean;
|
|
327
|
+
readonly eventCancellationCount: number;
|
|
328
|
+
readonly finalChecksum: string;
|
|
329
|
+
readonly checksumConverged: boolean;
|
|
330
|
+
}
|
|
331
|
+
export interface CertificationBotReplacementMetrics {
|
|
332
|
+
readonly botInputFrames: number;
|
|
333
|
+
readonly disconnectedSlot: number;
|
|
334
|
+
readonly replacementChecksumEqual: boolean;
|
|
335
|
+
readonly authorityChecksum: string;
|
|
336
|
+
readonly replacementChecksum: string;
|
|
337
|
+
readonly checksumConverged: boolean;
|
|
338
|
+
}
|
|
339
|
+
export interface CertificationGenre128Metrics {
|
|
340
|
+
readonly players: number;
|
|
341
|
+
readonly frames: number;
|
|
342
|
+
readonly movementFrames: number;
|
|
343
|
+
readonly collisionOrHitResolutions: number;
|
|
344
|
+
readonly events: number;
|
|
345
|
+
readonly botInputFrames: number;
|
|
346
|
+
readonly authorityChecksum: string;
|
|
347
|
+
readonly clientChecksum: string;
|
|
348
|
+
readonly replayVerification: {
|
|
349
|
+
readonly mismatches: number;
|
|
350
|
+
readonly finalChecksum: string;
|
|
351
|
+
};
|
|
352
|
+
readonly protocolRollback: {
|
|
353
|
+
readonly rollbacks: number;
|
|
354
|
+
readonly maxRollbackDepth: number;
|
|
355
|
+
};
|
|
356
|
+
readonly checksumConverged: boolean;
|
|
357
|
+
}
|
|
358
|
+
export interface CertificationFrameModelMetrics {
|
|
359
|
+
readonly currentFrame: number;
|
|
360
|
+
readonly verifiedFrame: number;
|
|
361
|
+
readonly predictedFrame: number;
|
|
362
|
+
readonly previousPredictedFrame: number;
|
|
363
|
+
readonly rollbackCount: number;
|
|
364
|
+
readonly correctionCount: number;
|
|
365
|
+
readonly maxRollbackDepth: number;
|
|
366
|
+
readonly deterministicStats: {
|
|
367
|
+
readonly confirmations: number;
|
|
368
|
+
readonly deliveries: number;
|
|
369
|
+
readonly duplicates: number;
|
|
370
|
+
readonly lost: number;
|
|
371
|
+
readonly reorders: number;
|
|
372
|
+
readonly disconnectDrops: number;
|
|
373
|
+
readonly absentInputFrames: number;
|
|
374
|
+
readonly botInputFrames: number;
|
|
375
|
+
readonly commandProfiles: number;
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
export interface CertificationDesyncArtifact {
|
|
379
|
+
readonly firstDesyncFrame: number;
|
|
380
|
+
readonly localChecksum: string;
|
|
381
|
+
readonly authorityChecksum: string;
|
|
382
|
+
readonly inputDump: unknown;
|
|
383
|
+
readonly stateDump: unknown;
|
|
384
|
+
readonly schemaArtifactId: string;
|
|
385
|
+
readonly runtimeConfig: unknown;
|
|
386
|
+
readonly fieldDiff: readonly {
|
|
387
|
+
readonly path: string;
|
|
388
|
+
readonly local: unknown;
|
|
389
|
+
readonly authority: unknown;
|
|
390
|
+
}[];
|
|
391
|
+
}
|
|
392
|
+
export interface CertificationProtocolProfileMetrics {
|
|
393
|
+
readonly profileId: CertificationProtocolProfileId;
|
|
394
|
+
readonly channel: 'input' | 'command';
|
|
395
|
+
readonly authorityChecksum: string;
|
|
396
|
+
readonly clientChecksum: string;
|
|
397
|
+
readonly checksumConverged: boolean;
|
|
398
|
+
readonly rollbacks: number;
|
|
399
|
+
readonly corrections: number;
|
|
400
|
+
readonly maxRollbackDepth: number;
|
|
401
|
+
readonly confirmations: number;
|
|
402
|
+
readonly deliveries: number;
|
|
403
|
+
readonly duplicates: number;
|
|
404
|
+
readonly lost: number;
|
|
405
|
+
readonly disconnectDrops: number;
|
|
406
|
+
readonly absentInputFrames: number;
|
|
407
|
+
readonly botInputFrames: number;
|
|
408
|
+
readonly inputDelayFrames: number;
|
|
409
|
+
readonly reorders: number;
|
|
410
|
+
readonly result: 'pass' | 'desync' | 'fail';
|
|
411
|
+
readonly desyncArtifact?: CertificationDesyncArtifact;
|
|
412
|
+
}
|
|
413
|
+
export interface CertificationProtocolMatrixMetrics {
|
|
414
|
+
readonly schemaArtifactId: 'protocol-matrix/v1';
|
|
415
|
+
readonly profiles: readonly CertificationProtocolProfileMetrics[];
|
|
416
|
+
readonly frameModel: CertificationFrameModelMetrics;
|
|
417
|
+
readonly checksumConverged: boolean;
|
|
418
|
+
readonly expectedDesyncArtifacts: boolean;
|
|
419
|
+
readonly maxRollbackDepth: number;
|
|
420
|
+
}
|
|
421
|
+
export interface CertificationReferenceSampleMetrics {
|
|
422
|
+
readonly sampleId: string;
|
|
423
|
+
readonly players: number;
|
|
424
|
+
readonly frames: number;
|
|
425
|
+
readonly mechanics: readonly string[];
|
|
426
|
+
readonly finalChecksum: string;
|
|
427
|
+
readonly replayChecksum: string;
|
|
428
|
+
readonly rollbackChecksumEqual: boolean;
|
|
429
|
+
readonly events: number;
|
|
430
|
+
}
|
|
431
|
+
export interface CertificationReferenceSamplesMetrics {
|
|
432
|
+
readonly samples: readonly CertificationReferenceSampleMetrics[];
|
|
433
|
+
readonly sampleIds: readonly string[];
|
|
434
|
+
readonly checksumConverged: boolean;
|
|
435
|
+
}
|
|
436
|
+
export interface CertificationBrowserReplayMetrics {
|
|
437
|
+
readonly skippedReason: string;
|
|
438
|
+
}
|
|
439
|
+
export interface CertificationSuiteReport {
|
|
440
|
+
readonly schemaVersion: 1;
|
|
441
|
+
readonly reportId: string;
|
|
442
|
+
readonly manifestId: string;
|
|
443
|
+
readonly artifactDir: string;
|
|
444
|
+
readonly benchmarkProfile: boolean;
|
|
445
|
+
readonly fixtures: readonly CertificationFixtureReport[];
|
|
446
|
+
readonly failures: readonly string[];
|
|
447
|
+
readonly result: 'pass' | 'fail';
|
|
448
|
+
}
|
|
449
|
+
export interface CertificationSuiteRun {
|
|
450
|
+
readonly report: CertificationSuiteReport;
|
|
451
|
+
readonly fixtureReports: readonly CertificationFixtureReport[];
|
|
452
|
+
}
|
|
453
|
+
export declare function createDefaultCertificationManifest(): Required<CertificationManifest>;
|
|
454
|
+
export declare function runCertificationSuite(manifestInput?: CertificationManifest): CertificationSuiteRun;
|
|
455
|
+
export declare function stableCertificationJson(value: CertificationSuiteReport | CertificationFixtureReport): string;
|