@multitapio/multitap 0.0.6 → 0.0.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/dist/channel.d.ts +15 -1
- package/dist/channel.d.ts.map +1 -1
- package/dist/diagnostics.js +137 -48
- package/dist/input-graph.d.ts +15 -0
- package/dist/input-graph.d.ts.map +1 -1
- package/dist/lib.js +215 -59
- package/dist/messages.d.ts +5 -2
- package/dist/messages.d.ts.map +1 -1
- package/dist/react/Player.d.ts.map +1 -1
- package/dist/react/index.d.ts +2 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/types.d.ts +15 -2
- package/dist/react/types.d.ts.map +1 -1
- package/dist/react/views/AsteroidsView.d.ts.map +1 -1
- package/dist/rollback.d.ts +5 -0
- package/dist/rollback.d.ts.map +1 -1
- package/dist/session.d.ts +8 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/types/channel.d.ts +15 -1
- package/dist/types/channel.d.ts.map +1 -1
- package/dist/types/input-graph.d.ts +15 -0
- package/dist/types/input-graph.d.ts.map +1 -1
- package/dist/types/messages.d.ts +5 -2
- package/dist/types/messages.d.ts.map +1 -1
- package/dist/types/react/Player.d.ts.map +1 -1
- package/dist/types/react/index.d.ts +2 -1
- package/dist/types/react/index.d.ts.map +1 -1
- package/dist/types/react/types.d.ts +15 -2
- package/dist/types/react/types.d.ts.map +1 -1
- package/dist/types/react/views/AsteroidsView.d.ts.map +1 -1
- package/dist/types/rollback.d.ts +5 -0
- package/dist/types/rollback.d.ts.map +1 -1
- package/dist/types/session.d.ts +8 -0
- package/dist/types/session.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/messages.d.ts
CHANGED
|
@@ -9,7 +9,8 @@ export declare const INPUT_IDX_SIZE = 1;
|
|
|
9
9
|
export declare const MIN_INPUT_SIZE: number;
|
|
10
10
|
export declare const MAX_INPUT_SIZE: number;
|
|
11
11
|
export declare const TICK_HEADER_SIZE: number;
|
|
12
|
-
export declare const
|
|
12
|
+
export declare const PING_PAYLOAD_SIZE = 8;
|
|
13
|
+
export declare const PONG_PAYLOAD_SIZE = 12;
|
|
13
14
|
export declare const REPLAY_PING_SIZE = 11;
|
|
14
15
|
export declare const MSG_HEADER_SIZE = 3;
|
|
15
16
|
export declare const MAX_INPUTS_PER_TICK = 16;
|
|
@@ -17,6 +18,8 @@ export declare const NULL_INPUT_TARGET_TICK = 4294967295;
|
|
|
17
18
|
export interface PingMessage {
|
|
18
19
|
type: 'ping';
|
|
19
20
|
tickRate: number;
|
|
21
|
+
pingId: number;
|
|
22
|
+
rttMs: number;
|
|
20
23
|
isReplay: boolean;
|
|
21
24
|
replayStart: number;
|
|
22
25
|
replayEnd: number;
|
|
@@ -53,7 +56,7 @@ export declare function inputWireSize(payloadLen: number): number;
|
|
|
53
56
|
export declare function tickInputWireSize(payloadLen: number): number;
|
|
54
57
|
export declare const messageCodec: {
|
|
55
58
|
encodeInput(targetTick: number, payload: Uint8Array, signature: Uint8Array): Uint8Array;
|
|
56
|
-
encodePong(syncHead: number, latestHead: number): Uint8Array;
|
|
59
|
+
encodePong(syncHead: number, latestHead: number, pingId: number): Uint8Array;
|
|
57
60
|
encodeTick(tick: TickMessage): Uint8Array;
|
|
58
61
|
decode(bytes: Uint8Array): DecodedMessage;
|
|
59
62
|
decodeTick(data: Uint8Array): TickMessage;
|
package/dist/messages.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,aAAa,IAAO,CAAC;AAClC,eAAO,MAAM,aAAa,IAAO,CAAC;AAClC,eAAO,MAAM,cAAc,IAAO,CAAC;AACnC,eAAO,MAAM,aAAa,IAAO,CAAC;AAGlC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,cAAc,QAAqC,CAAC;AACjE,eAAO,MAAM,cAAc,QAA8D,CAAC;AAC1F,eAAO,MAAM,gBAAgB,QAAyB,CAAC;AACvD,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAGtC,eAAO,MAAM,sBAAsB,aAAa,CAAC;AAGjD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,UAAU,CAAC;IACpB,SAAS,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,UAAU,CAAC;IACpB,GAAG,EAAE,UAAU,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;AAGtE,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAExD;AAGD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAGD,eAAO,MAAM,YAAY;4BAEC,MAAM,WAAW,UAAU,aAAa,UAAU,GAAG,UAAU;yBAwBlE,MAAM,cAAc,MAAM,GAAG,UAAU;
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,aAAa,IAAO,CAAC;AAClC,eAAO,MAAM,aAAa,IAAO,CAAC;AAClC,eAAO,MAAM,cAAc,IAAO,CAAC;AACnC,eAAO,MAAM,aAAa,IAAO,CAAC;AAGlC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,cAAc,QAAqC,CAAC;AACjE,eAAO,MAAM,cAAc,QAA8D,CAAC;AAC1F,eAAO,MAAM,gBAAgB,QAAyB,CAAC;AACvD,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAGtC,eAAO,MAAM,sBAAsB,aAAa,CAAC;AAGjD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,UAAU,CAAC;IACpB,SAAS,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,UAAU,CAAC;IACpB,GAAG,EAAE,UAAU,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;AAGtE,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAExD;AAGD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAGD,eAAO,MAAM,YAAY;4BAEC,MAAM,WAAW,UAAU,aAAa,UAAU,GAAG,UAAU;yBAwBlE,MAAM,cAAc,MAAM,UAAU,MAAM,GAAG,UAAU;qBAa3D,WAAW,GAAG,UAAU;kBA0C3B,UAAU,GAAG,cAAc;qBAqDxB,UAAU,GAAG,WAAW;uBA2CtB,UAAU,GAAG,YAAY;CAmC7C,CAAC;AAGF,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAEpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../../../src/react/Player.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAY,MAAM,SAAS,CAAA;AAelE;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../../../src/react/Player.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAY,MAAM,SAAS,CAAA;AAelE;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,sGA+RjB,CAAA"}
|
package/dist/react/index.d.ts
CHANGED
|
@@ -7,7 +7,8 @@ export type { CapturedEvent, UseEventOptions } from './hooks';
|
|
|
7
7
|
export type { Player, PlayerStore, EntityStore, SessionContextValue, SessionProviderProps, ReactSessionInterface, ReactCreateSession, UseSessionRenderCallback, } from './types/session';
|
|
8
8
|
export { Player as UnicamPlayer, Player as PlayerController } from './Player';
|
|
9
9
|
export { Crosshair } from './Crosshair';
|
|
10
|
-
export type { PlayerProps, PlayerHandle, PlayerIntent, ViewType, Vector3Like, QuaternionLike, } from './types';
|
|
10
|
+
export type { PlayerProps, PlayerHandle, PlayerIntent, ViewType, Vector3Like, QuaternionLike, InterpolationMode, } from './types';
|
|
11
|
+
export { Interpolation } from './types';
|
|
11
12
|
export { usePlayerPose } from './PlayerPoseContext';
|
|
12
13
|
export type { PlayerPose } from './PlayerPoseContext';
|
|
13
14
|
export { DesktopInputMapper } from './input';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAGhF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC9G,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG7D,YAAY,EACV,MAAM,EACN,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,iBAAiB,CAAA;AAQxB,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAG7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAGhF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC9G,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG7D,YAAY,EACV,MAAM,EACN,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,iBAAiB,CAAA;AAQxB,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAG7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAGvC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC5C,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAGpF,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,aAAa,EACb,OAAO,GACR,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA"}
|
package/dist/react/types.d.ts
CHANGED
|
@@ -18,6 +18,19 @@ export type QuaternionLike = Quaternion | [number, number, number, number] | {
|
|
|
18
18
|
z: number;
|
|
19
19
|
w: number;
|
|
20
20
|
};
|
|
21
|
+
/**
|
|
22
|
+
* How to apply position/rotation updates
|
|
23
|
+
*/
|
|
24
|
+
export type InterpolationMode = 'snap' | 'smooth';
|
|
25
|
+
/**
|
|
26
|
+
* Interpolation mode constants
|
|
27
|
+
*/
|
|
28
|
+
export declare const Interpolation: {
|
|
29
|
+
/** Snap instantly to new position (no interpolation) */
|
|
30
|
+
SNAP: "snap";
|
|
31
|
+
/** Smooth interpolation using exponential decay (default) */
|
|
32
|
+
SMOOTH: "smooth";
|
|
33
|
+
};
|
|
21
34
|
/**
|
|
22
35
|
* Supported camera view types
|
|
23
36
|
*/
|
|
@@ -127,9 +140,9 @@ export interface PlayerIntent {
|
|
|
127
140
|
*/
|
|
128
141
|
export interface PlayerHandle {
|
|
129
142
|
/** Set player body position (e.g., from server update) */
|
|
130
|
-
setPosition(pos: Vector3Like): void;
|
|
143
|
+
setPosition(pos: Vector3Like, mode?: InterpolationMode): void;
|
|
131
144
|
/** Set player body rotation (e.g., from server update) */
|
|
132
|
-
setRotation(rot: QuaternionLike): void;
|
|
145
|
+
setRotation(rot: QuaternionLike, mode?: InterpolationMode): void;
|
|
133
146
|
/** Sample current intent for network sync */
|
|
134
147
|
sample(): PlayerIntent;
|
|
135
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/react/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACxB;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvC;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,UAAU,GACV,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAChC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAElD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,aAAa,GACb,aAAa,GACb,kBAAkB,GAClB,SAAS,GACT,cAAc,GACd,WAAW,GACX,QAAQ,GACR,KAAK,GACL,SAAS,GACT,cAAc,GACd,WAAW,GACX,MAAM,GACN,WAAW,CAAA;AAEf;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,cAAc,CAAA;IAEzB,gEAAgE;IAChE,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,QAAQ,CAAA;IAEf,wDAAwD;IACxD,WAAW,CAAC,EAAE,WAAW,CAAA;IAGzB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,WAAW,CAAA;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,YAAY;IAC3B,6DAA6D;IAC7D,OAAO,EAAE,UAAU,CAAA;IACnB,kDAAkD;IAClD,GAAG,EAAE,UAAU,CAAA;IACf;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,EAAE,OAAO,CAAA;IACb,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/react/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsteroidsView.d.ts","sourceRoot":"","sources":["../../../../src/react/views/AsteroidsView.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAA0B,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"AsteroidsView.d.ts","sourceRoot":"","sources":["../../../../src/react/views/AsteroidsView.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAA0B,MAAM,SAAS,CAAC;AAmB5D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,aAAa,EAAE,IA8F3B,CAAC"}
|
package/dist/rollback.d.ts
CHANGED
|
@@ -142,10 +142,15 @@ export declare class Rollback {
|
|
|
142
142
|
rollbacks: number;
|
|
143
143
|
executions: number;
|
|
144
144
|
updates: number;
|
|
145
|
+
cacheHits: number;
|
|
146
|
+
cacheMisses: number;
|
|
145
147
|
}>;
|
|
146
148
|
/**
|
|
147
149
|
* Process ticks with cache fast-forward, then batch the rest.
|
|
148
150
|
*
|
|
151
|
+
* @param ticks - Array of ticks to process
|
|
152
|
+
* @param isRollback - True if this is a rollback scenario (for cache hit/miss tracking)
|
|
153
|
+
* @param previousMaxTick - The tick number we had reached before rollback (for counting mispredictions)
|
|
149
154
|
* @returns Number of ticks computed (excludes cache hits)
|
|
150
155
|
*/
|
|
151
156
|
private processTicks;
|
package/dist/rollback.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollback.d.ts","sourceRoot":"","sources":["../../src/rollback.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rollback.d.ts","sourceRoot":"","sources":["../../src/rollback.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts
CHANGED
|
@@ -5,6 +5,10 @@ import { type Rollback as RollbackClass } from './rollback';
|
|
|
5
5
|
import { SessionConfig } from './session-config';
|
|
6
6
|
import type { Participant } from './input-graph';
|
|
7
7
|
export * from './input-graph';
|
|
8
|
+
export declare const OPTIMISTIC_NONE: "NONE";
|
|
9
|
+
export declare const OPTIMISTIC_LOCAL: "LOCAL";
|
|
10
|
+
export declare const OPTIMISTIC_ALL: "ALL";
|
|
11
|
+
export type OptimisticStrategy = typeof OPTIMISTIC_NONE | typeof OPTIMISTIC_LOCAL | typeof OPTIMISTIC_ALL;
|
|
8
12
|
export interface SessionStats {
|
|
9
13
|
inputs: Partial<Awaited<ReturnType<(typeof Channel.prototype)['getStats']>>>;
|
|
10
14
|
simulation: Partial<Awaited<ReturnType<(typeof RollbackClass.prototype)['getStats']>>>;
|
|
@@ -60,6 +64,8 @@ export interface SessionOptions {
|
|
|
60
64
|
logSyncTicks?: boolean;
|
|
61
65
|
enableStatsCollection?: boolean;
|
|
62
66
|
enableP2P?: boolean;
|
|
67
|
+
optimisticStrategy: OptimisticStrategy;
|
|
68
|
+
predictedHeadMax?: number | 'auto';
|
|
63
69
|
}
|
|
64
70
|
declare class Session {
|
|
65
71
|
private channel;
|
|
@@ -94,6 +100,8 @@ declare class Session {
|
|
|
94
100
|
private participantsSorted;
|
|
95
101
|
private peerMesh;
|
|
96
102
|
private enableP2P;
|
|
103
|
+
private optimisticStrategy;
|
|
104
|
+
private predictedHeadMax;
|
|
97
105
|
constructor(options: SessionOptions);
|
|
98
106
|
init(): Promise<void>;
|
|
99
107
|
getCurrentPlayerId(): string;
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAqB,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,KAAK,QAAQ,IAAI,aAAa,EAAE,MAAM,YAAY,CAAC;AAM5D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,cAAc,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/types/channel.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { InputData, TickMessage } from './messages';
|
|
2
2
|
import { InputGraph, type AsyncTickLog, type GetTicksAfterOptions, type Participant, type PayloadPredictor, type TickNode, type TickPrimitive } from './input-graph';
|
|
3
|
+
import { type OptimisticStrategy } from './session';
|
|
3
4
|
export type TickListener = (tick: TickMessage, streamIndex: number) => void;
|
|
4
5
|
export type StateListener = (connected: boolean) => void;
|
|
5
6
|
export type StreamActivityListener = (streamIndex: number) => void;
|
|
@@ -26,7 +27,10 @@ export interface ChannelConfig {
|
|
|
26
27
|
connectionTimeoutMs?: number | undefined;
|
|
27
28
|
logSyncTicks?: boolean | undefined;
|
|
28
29
|
iceServers?: ICEServerConfig[] | undefined;
|
|
30
|
+
optimisticStrategy: OptimisticStrategy;
|
|
31
|
+
predictedHeadMax?: number | 'auto' | undefined;
|
|
29
32
|
}
|
|
33
|
+
export declare const MAX_PREDICTION_WINDOW = 10;
|
|
30
34
|
export declare class Channel implements AsyncTickLog {
|
|
31
35
|
readonly connectionURL: string;
|
|
32
36
|
readonly serverCertHash: string | null | undefined;
|
|
@@ -53,6 +57,11 @@ export declare class Channel implements AsyncTickLog {
|
|
|
53
57
|
private tickDeadlineWants;
|
|
54
58
|
private tickDeadlineTimer;
|
|
55
59
|
private tickDeadlineGrace;
|
|
60
|
+
private lastSentTick;
|
|
61
|
+
private optimisticStrategy;
|
|
62
|
+
private autoPredictedHeadMax;
|
|
63
|
+
private smoothedRttMs;
|
|
64
|
+
private lastPingId;
|
|
56
65
|
private stats;
|
|
57
66
|
constructor(config: ChannelConfig);
|
|
58
67
|
connect(): Promise<void>;
|
|
@@ -65,7 +74,9 @@ export declare class Channel implements AsyncTickLog {
|
|
|
65
74
|
messagesRecv: number;
|
|
66
75
|
messagesSent: number;
|
|
67
76
|
reconnections: number;
|
|
77
|
+
rttMs: number;
|
|
68
78
|
};
|
|
79
|
+
private calculateInputLag;
|
|
69
80
|
getTickRate(): Promise<number>;
|
|
70
81
|
getParticipantSlots(tick: number): Promise<Participant[]>;
|
|
71
82
|
getSyncHead(): Promise<TickNode>;
|
|
@@ -75,12 +86,15 @@ export declare class Channel implements AsyncTickLog {
|
|
|
75
86
|
getPredictionCount(): Promise<number>;
|
|
76
87
|
getTicksAfter(nodeId: string | null, options?: GetTicksAfterOptions): Promise<TickPrimitive[]>;
|
|
77
88
|
setOnParticipantJoined(fn: (participant: Participant) => void): Promise<void>;
|
|
89
|
+
setCurrentTick(tick: number): Promise<void>;
|
|
90
|
+
getCurrentTick(): Promise<number>;
|
|
91
|
+
setPredictedHeadMax(max: number): Promise<void>;
|
|
78
92
|
expose(port: MessagePort): Promise<void>;
|
|
79
93
|
close(): Promise<void>;
|
|
80
94
|
private _setConnected;
|
|
81
95
|
private _send;
|
|
82
96
|
private _generateNullInput;
|
|
83
|
-
sendSignedInput(payload: Uint8Array
|
|
97
|
+
sendSignedInput(payload: Uint8Array): Promise<Uint8Array | null>;
|
|
84
98
|
private _nextChannel;
|
|
85
99
|
private _connectLoop;
|
|
86
100
|
private _handleDataChannel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAe,WAAW,EAAE,MAAM,YAAY,CAAC;AAGtE,OAAO,EACL,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACb,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,9 @@ export interface TickLog {
|
|
|
10
10
|
getPredictedHead(): TickNode;
|
|
11
11
|
addSyncTick(msg: TickMessage): void;
|
|
12
12
|
addOptimisticInput(input: InputData, preVerifiedSigner?: Uint8Array): void;
|
|
13
|
+
setCurrentTick(tick: number): void;
|
|
14
|
+
getCurrentTick(): number;
|
|
15
|
+
setPredictedHeadMax(max: number): void;
|
|
13
16
|
getParticipantSlots(tick: number): (Participant | undefined)[];
|
|
14
17
|
getTicksAfter(nodeId: string | null, options?: GetTicksAfterOptions): TickPrimitive[];
|
|
15
18
|
getPredictionCount(): number;
|
|
@@ -20,6 +23,9 @@ export interface AsyncTickLog {
|
|
|
20
23
|
getPredictedHead(): Promise<TickNode>;
|
|
21
24
|
addSyncTick(msg: TickMessage): Promise<void>;
|
|
22
25
|
addOptimisticInput(input: InputData, preVerifiedSigner?: Uint8Array): Promise<void>;
|
|
26
|
+
setCurrentTick(tick: number): Promise<void>;
|
|
27
|
+
getCurrentTick(): Promise<number>;
|
|
28
|
+
setPredictedHeadMax(max: number): Promise<void>;
|
|
23
29
|
getParticipantSlots(tick: number): Promise<(Participant | undefined)[]>;
|
|
24
30
|
getTicksAfter(nodeId: string | null, options?: GetTicksAfterOptions): Promise<TickPrimitive[]>;
|
|
25
31
|
getPredictionCount(): Promise<number>;
|
|
@@ -52,6 +58,7 @@ export interface InputGraphConfig {
|
|
|
52
58
|
verificationPubKey?: Uint8Array | undefined | null;
|
|
53
59
|
debug?: boolean | undefined;
|
|
54
60
|
logSyncTicks?: boolean | undefined;
|
|
61
|
+
predictedHeadMax?: number | undefined;
|
|
55
62
|
}
|
|
56
63
|
export type PayloadPredictor = (tick: number, participantIndex: number, parent: TickNode) => Uint8Array;
|
|
57
64
|
export declare class InputGraph implements TickLog {
|
|
@@ -61,6 +68,8 @@ export declare class InputGraph implements TickLog {
|
|
|
61
68
|
private syncNodesById;
|
|
62
69
|
private syncHead;
|
|
63
70
|
private predictedHead;
|
|
71
|
+
private predictedHeadMax;
|
|
72
|
+
private currentTick;
|
|
64
73
|
private pendingSyncMessages;
|
|
65
74
|
private nodeIdSequence;
|
|
66
75
|
private optimisticInputs;
|
|
@@ -77,6 +86,9 @@ export declare class InputGraph implements TickLog {
|
|
|
77
86
|
addSyncTick(msg: TickMessage): void;
|
|
78
87
|
private recoverInputPubKey;
|
|
79
88
|
addOptimisticInput(input: InputData, preVerifiedSigner?: Uint8Array): void;
|
|
89
|
+
setCurrentTick(tick: number): void;
|
|
90
|
+
getCurrentTick(): number;
|
|
91
|
+
setPredictedHeadMax(max: number): void;
|
|
80
92
|
getParticipantSlots(tick: number): Participant[];
|
|
81
93
|
getTicksAfter(nodeId: string | null, options?: GetTicksAfterOptions): TickPrimitive[];
|
|
82
94
|
getPredictionCount(): number;
|
|
@@ -99,6 +111,9 @@ export declare class AsyncInputGraph implements AsyncTickLog {
|
|
|
99
111
|
addSyncTick(msg: TickMessage): Promise<void>;
|
|
100
112
|
getTicksAfter(nodeId: string | null, options?: GetTicksAfterOptions): Promise<TickPrimitive[]>;
|
|
101
113
|
addOptimisticInput(input: InputData, preVerifiedSigner?: Uint8Array): Promise<void>;
|
|
114
|
+
setCurrentTick(tick: number): Promise<void>;
|
|
115
|
+
getCurrentTick(): Promise<number>;
|
|
116
|
+
setPredictedHeadMax(max: number): Promise<void>;
|
|
102
117
|
getParticipantSlots(tick: number): Promise<(Participant | undefined)[]>;
|
|
103
118
|
getPredictionCount(): Promise<number>;
|
|
104
119
|
setOnParticipantJoined(fn: (participant: Participant) => void): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-graph.d.ts","sourceRoot":"","sources":["../../src/input-graph.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"input-graph.d.ts","sourceRoot":"","sources":["../../src/input-graph.ts"],"names":[],"mappings":"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"}
|
package/dist/types/messages.d.ts
CHANGED
|
@@ -9,7 +9,8 @@ export declare const INPUT_IDX_SIZE = 1;
|
|
|
9
9
|
export declare const MIN_INPUT_SIZE: number;
|
|
10
10
|
export declare const MAX_INPUT_SIZE: number;
|
|
11
11
|
export declare const TICK_HEADER_SIZE: number;
|
|
12
|
-
export declare const
|
|
12
|
+
export declare const PING_PAYLOAD_SIZE = 8;
|
|
13
|
+
export declare const PONG_PAYLOAD_SIZE = 12;
|
|
13
14
|
export declare const REPLAY_PING_SIZE = 11;
|
|
14
15
|
export declare const MSG_HEADER_SIZE = 3;
|
|
15
16
|
export declare const MAX_INPUTS_PER_TICK = 16;
|
|
@@ -17,6 +18,8 @@ export declare const NULL_INPUT_TARGET_TICK = 4294967295;
|
|
|
17
18
|
export interface PingMessage {
|
|
18
19
|
type: 'ping';
|
|
19
20
|
tickRate: number;
|
|
21
|
+
pingId: number;
|
|
22
|
+
rttMs: number;
|
|
20
23
|
isReplay: boolean;
|
|
21
24
|
replayStart: number;
|
|
22
25
|
replayEnd: number;
|
|
@@ -53,7 +56,7 @@ export declare function inputWireSize(payloadLen: number): number;
|
|
|
53
56
|
export declare function tickInputWireSize(payloadLen: number): number;
|
|
54
57
|
export declare const messageCodec: {
|
|
55
58
|
encodeInput(targetTick: number, payload: Uint8Array, signature: Uint8Array): Uint8Array;
|
|
56
|
-
encodePong(syncHead: number, latestHead: number): Uint8Array;
|
|
59
|
+
encodePong(syncHead: number, latestHead: number, pingId: number): Uint8Array;
|
|
57
60
|
encodeTick(tick: TickMessage): Uint8Array;
|
|
58
61
|
decode(bytes: Uint8Array): DecodedMessage;
|
|
59
62
|
decodeTick(data: Uint8Array): TickMessage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,aAAa,IAAO,CAAC;AAClC,eAAO,MAAM,aAAa,IAAO,CAAC;AAClC,eAAO,MAAM,cAAc,IAAO,CAAC;AACnC,eAAO,MAAM,aAAa,IAAO,CAAC;AAGlC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,cAAc,QAAqC,CAAC;AACjE,eAAO,MAAM,cAAc,QAA8D,CAAC;AAC1F,eAAO,MAAM,gBAAgB,QAAyB,CAAC;AACvD,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAGtC,eAAO,MAAM,sBAAsB,aAAa,CAAC;AAGjD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,UAAU,CAAC;IACpB,SAAS,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,UAAU,CAAC;IACpB,GAAG,EAAE,UAAU,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;AAGtE,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAExD;AAGD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAGD,eAAO,MAAM,YAAY;4BAEC,MAAM,WAAW,UAAU,aAAa,UAAU,GAAG,UAAU;yBAwBlE,MAAM,cAAc,MAAM,GAAG,UAAU;
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,aAAa,IAAO,CAAC;AAClC,eAAO,MAAM,aAAa,IAAO,CAAC;AAClC,eAAO,MAAM,cAAc,IAAO,CAAC;AACnC,eAAO,MAAM,aAAa,IAAO,CAAC;AAGlC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,cAAc,QAAqC,CAAC;AACjE,eAAO,MAAM,cAAc,QAA8D,CAAC;AAC1F,eAAO,MAAM,gBAAgB,QAAyB,CAAC;AACvD,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAGtC,eAAO,MAAM,sBAAsB,aAAa,CAAC;AAGjD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,UAAU,CAAC;IACpB,SAAS,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,UAAU,CAAC;IACpB,GAAG,EAAE,UAAU,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;AAGtE,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAExD;AAGD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAGD,eAAO,MAAM,YAAY;4BAEC,MAAM,WAAW,UAAU,aAAa,UAAU,GAAG,UAAU;yBAwBlE,MAAM,cAAc,MAAM,UAAU,MAAM,GAAG,UAAU;qBAa3D,WAAW,GAAG,UAAU;kBA0C3B,UAAU,GAAG,cAAc;qBAqDxB,UAAU,GAAG,WAAW;uBA2CtB,UAAU,GAAG,YAAY;CAmC7C,CAAC;AAGF,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAEpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../../../src/react/Player.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAY,MAAM,SAAS,CAAA;AAelE;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../../../src/react/Player.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAY,MAAM,SAAS,CAAA;AAelE;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,sGA+RjB,CAAA"}
|
|
@@ -7,7 +7,8 @@ export type { CapturedEvent, UseEventOptions } from './hooks';
|
|
|
7
7
|
export type { Player, PlayerStore, EntityStore, SessionContextValue, SessionProviderProps, ReactSessionInterface, ReactCreateSession, UseSessionRenderCallback, } from './types/session';
|
|
8
8
|
export { Player as UnicamPlayer, Player as PlayerController } from './Player';
|
|
9
9
|
export { Crosshair } from './Crosshair';
|
|
10
|
-
export type { PlayerProps, PlayerHandle, PlayerIntent, ViewType, Vector3Like, QuaternionLike, } from './types';
|
|
10
|
+
export type { PlayerProps, PlayerHandle, PlayerIntent, ViewType, Vector3Like, QuaternionLike, InterpolationMode, } from './types';
|
|
11
|
+
export { Interpolation } from './types';
|
|
11
12
|
export { usePlayerPose } from './PlayerPoseContext';
|
|
12
13
|
export type { PlayerPose } from './PlayerPoseContext';
|
|
13
14
|
export { DesktopInputMapper } from './input';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAGhF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC9G,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG7D,YAAY,EACV,MAAM,EACN,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,iBAAiB,CAAA;AAQxB,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAG7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAGhF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC9G,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG7D,YAAY,EACV,MAAM,EACN,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,iBAAiB,CAAA;AAQxB,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAG7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAGvC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC5C,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAGpF,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,aAAa,EACb,OAAO,GACR,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -18,6 +18,19 @@ export type QuaternionLike = Quaternion | [number, number, number, number] | {
|
|
|
18
18
|
z: number;
|
|
19
19
|
w: number;
|
|
20
20
|
};
|
|
21
|
+
/**
|
|
22
|
+
* How to apply position/rotation updates
|
|
23
|
+
*/
|
|
24
|
+
export type InterpolationMode = 'snap' | 'smooth';
|
|
25
|
+
/**
|
|
26
|
+
* Interpolation mode constants
|
|
27
|
+
*/
|
|
28
|
+
export declare const Interpolation: {
|
|
29
|
+
/** Snap instantly to new position (no interpolation) */
|
|
30
|
+
SNAP: "snap";
|
|
31
|
+
/** Smooth interpolation using exponential decay (default) */
|
|
32
|
+
SMOOTH: "smooth";
|
|
33
|
+
};
|
|
21
34
|
/**
|
|
22
35
|
* Supported camera view types
|
|
23
36
|
*/
|
|
@@ -127,9 +140,9 @@ export interface PlayerIntent {
|
|
|
127
140
|
*/
|
|
128
141
|
export interface PlayerHandle {
|
|
129
142
|
/** Set player body position (e.g., from server update) */
|
|
130
|
-
setPosition(pos: Vector3Like): void;
|
|
143
|
+
setPosition(pos: Vector3Like, mode?: InterpolationMode): void;
|
|
131
144
|
/** Set player body rotation (e.g., from server update) */
|
|
132
|
-
setRotation(rot: QuaternionLike): void;
|
|
145
|
+
setRotation(rot: QuaternionLike, mode?: InterpolationMode): void;
|
|
133
146
|
/** Sample current intent for network sync */
|
|
134
147
|
sample(): PlayerIntent;
|
|
135
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/react/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACxB;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvC;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,UAAU,GACV,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAChC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAElD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,aAAa,GACb,aAAa,GACb,kBAAkB,GAClB,SAAS,GACT,cAAc,GACd,WAAW,GACX,QAAQ,GACR,KAAK,GACL,SAAS,GACT,cAAc,GACd,WAAW,GACX,MAAM,GACN,WAAW,CAAA;AAEf;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,cAAc,CAAA;IAEzB,gEAAgE;IAChE,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,QAAQ,CAAA;IAEf,wDAAwD;IACxD,WAAW,CAAC,EAAE,WAAW,CAAA;IAGzB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,WAAW,CAAA;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,YAAY;IAC3B,6DAA6D;IAC7D,OAAO,EAAE,UAAU,CAAA;IACnB,kDAAkD;IAClD,GAAG,EAAE,UAAU,CAAA;IACf;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,EAAE,OAAO,CAAA;IACb,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/react/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsteroidsView.d.ts","sourceRoot":"","sources":["../../../../src/react/views/AsteroidsView.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAA0B,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"AsteroidsView.d.ts","sourceRoot":"","sources":["../../../../src/react/views/AsteroidsView.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAA0B,MAAM,SAAS,CAAC;AAmB5D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,aAAa,EAAE,IA8F3B,CAAC"}
|
package/dist/types/rollback.d.ts
CHANGED
|
@@ -142,10 +142,15 @@ export declare class Rollback {
|
|
|
142
142
|
rollbacks: number;
|
|
143
143
|
executions: number;
|
|
144
144
|
updates: number;
|
|
145
|
+
cacheHits: number;
|
|
146
|
+
cacheMisses: number;
|
|
145
147
|
}>;
|
|
146
148
|
/**
|
|
147
149
|
* Process ticks with cache fast-forward, then batch the rest.
|
|
148
150
|
*
|
|
151
|
+
* @param ticks - Array of ticks to process
|
|
152
|
+
* @param isRollback - True if this is a rollback scenario (for cache hit/miss tracking)
|
|
153
|
+
* @param previousMaxTick - The tick number we had reached before rollback (for counting mispredictions)
|
|
149
154
|
* @returns Number of ticks computed (excludes cache hits)
|
|
150
155
|
*/
|
|
151
156
|
private processTicks;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollback.d.ts","sourceRoot":"","sources":["../../src/rollback.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rollback.d.ts","sourceRoot":"","sources":["../../src/rollback.ts"],"names":[],"mappings":"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"}
|
package/dist/types/session.d.ts
CHANGED
|
@@ -5,6 +5,10 @@ import { type Rollback as RollbackClass } from './rollback';
|
|
|
5
5
|
import { SessionConfig } from './session-config';
|
|
6
6
|
import type { Participant } from './input-graph';
|
|
7
7
|
export * from './input-graph';
|
|
8
|
+
export declare const OPTIMISTIC_NONE: "NONE";
|
|
9
|
+
export declare const OPTIMISTIC_LOCAL: "LOCAL";
|
|
10
|
+
export declare const OPTIMISTIC_ALL: "ALL";
|
|
11
|
+
export type OptimisticStrategy = typeof OPTIMISTIC_NONE | typeof OPTIMISTIC_LOCAL | typeof OPTIMISTIC_ALL;
|
|
8
12
|
export interface SessionStats {
|
|
9
13
|
inputs: Partial<Awaited<ReturnType<(typeof Channel.prototype)['getStats']>>>;
|
|
10
14
|
simulation: Partial<Awaited<ReturnType<(typeof RollbackClass.prototype)['getStats']>>>;
|
|
@@ -60,6 +64,8 @@ export interface SessionOptions {
|
|
|
60
64
|
logSyncTicks?: boolean;
|
|
61
65
|
enableStatsCollection?: boolean;
|
|
62
66
|
enableP2P?: boolean;
|
|
67
|
+
optimisticStrategy: OptimisticStrategy;
|
|
68
|
+
predictedHeadMax?: number | 'auto';
|
|
63
69
|
}
|
|
64
70
|
declare class Session {
|
|
65
71
|
private channel;
|
|
@@ -94,6 +100,8 @@ declare class Session {
|
|
|
94
100
|
private participantsSorted;
|
|
95
101
|
private peerMesh;
|
|
96
102
|
private enableP2P;
|
|
103
|
+
private optimisticStrategy;
|
|
104
|
+
private predictedHeadMax;
|
|
97
105
|
constructor(options: SessionOptions);
|
|
98
106
|
init(): Promise<void>;
|
|
99
107
|
getCurrentPlayerId(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAqB,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,KAAK,QAAQ,IAAI,aAAa,EAAE,MAAM,YAAY,CAAC;AAM5D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,cAAc,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
|