@multitapio/multitap 0.0.9 → 0.0.11
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/codegen/rust.d.ts.map +1 -1
- package/dist/codegen/typescript.d.ts.map +1 -1
- package/dist/diagnostics.js +18 -1
- package/dist/executor.d.ts +6 -2
- package/dist/executor.d.ts.map +1 -1
- package/dist/lib.js +83 -9
- package/dist/react/hooks/useFrame.d.ts.map +1 -1
- package/dist/react/hooks/useQuery.d.ts +13 -2
- package/dist/react/hooks/useQuery.d.ts.map +1 -1
- package/dist/react/index.d.ts +1 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/types/session.d.ts +11 -0
- package/dist/react/types/session.d.ts.map +1 -1
- package/dist/schema.d.ts +3 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/types/codegen/rust.d.ts.map +1 -1
- package/dist/types/codegen/typescript.d.ts.map +1 -1
- package/dist/types/executor.d.ts +6 -2
- package/dist/types/executor.d.ts.map +1 -1
- package/dist/types/react/hooks/useFrame.d.ts.map +1 -1
- package/dist/types/react/hooks/useQuery.d.ts +13 -2
- package/dist/types/react/hooks/useQuery.d.ts.map +1 -1
- package/dist/types/react/index.d.ts +1 -1
- package/dist/types/react/index.d.ts.map +1 -1
- package/dist/types/react/types/session.d.ts +11 -0
- package/dist/types/react/types/session.d.ts.map +1 -1
- package/dist/types/schema.d.ts +3 -0
- package/dist/types/schema.d.ts.map +1 -1
- package/dist/vite/index.js +127 -29
- package/package.json +1 -1
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;;GAGG;AACH,eAAO,MAAM,KAAK,aAAa,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,SAAsB,CAAC;AAEjD,+CAA+C;AAC/C,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,gDAAgD;AAChD,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,8CAA8C;AAC9C,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,6CAA6C;AAC7C,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,iFAAiF;AACjF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAc7C,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAenD,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,eAAe,aAU1B,CAAC;AAEH,iFAAiF;AACjF,eAAO,MAAM,4BAA4B,aASvC,CAAC;AAMH,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACpC,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC5C,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAMpD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,KAAK,CAAC;AAEtH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,GAAG,aAAa,IAAI,MAAM,GAAG,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../../src/codegen/rust.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EAKpB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../../src/codegen/rust.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EAKpB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA67C/D;;;GAGG;AACH,qBAAa,aAAc,YAAW,SAAS;IAC7C,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;IACpC,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,eAAe,CAAS;gBAEpB,IAAI,GAAE,gBAAqB;IAKvC,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM;IA+ClD,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM;IA2BlD,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,GAAG,MAAM;CAe7E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/codegen/typescript.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EAMpB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/codegen/typescript.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EAMpB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA6nD/D;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,SAAS;IACnD,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;IAC1C,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,eAAe,CAAS;gBAEpB,IAAI,GAAE,gBAAqB;IAKvC,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM;IA8ClD,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM;IAyClD,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,GAAG,MAAM;CAG7E"}
|
package/dist/types/executor.d.ts
CHANGED
|
@@ -19,8 +19,12 @@ export interface BatchTransitionExecutor {
|
|
|
19
19
|
close: () => void;
|
|
20
20
|
}
|
|
21
21
|
export interface TransitionExports {
|
|
22
|
-
/** Per-tick transition function - mutates state in-place
|
|
23
|
-
|
|
22
|
+
/** Per-tick transition function - mutates state in-place
|
|
23
|
+
* @param statePtr - Pointer to state buffer in WASM memory
|
|
24
|
+
* @param outputStateIdPtr - Pointer to 32-byte output stateId (for physics caching)
|
|
25
|
+
* @param isSync - 1 if this is a sync tick, 0 otherwise (for cache checkpoint)
|
|
26
|
+
*/
|
|
27
|
+
apply: (statePtr: number, outputStateIdPtr: number, isSync: number) => void;
|
|
24
28
|
/** WASM memory */
|
|
25
29
|
memory: WebAssembly.Memory;
|
|
26
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/executor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAsC,KAAK,WAAW,EAAsB,MAAM,eAAe,CAAC;AACzG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/executor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAsC,KAAK,WAAW,EAAsB,MAAM,eAAe,CAAC;AACzG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,WAAW,EAajB,MAAM,SAAS,CAAC;AAEjB;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,WAAW,CAAC;IACxE,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,kBAAkB;IAClB,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;CAC5B;AAED,kDAAkD;AAClD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,UAAU,CAAC;IACtB,oFAAoF;IACpF,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,sEAAsE;IACtE,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,uBAAuB;IACvB,WAAW,EAAE,cAAc,CAAC;IAC5B,uBAAuB;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,mFAAmF;IACnF,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAYD,qBAAa,QAAS,YAAW,uBAAuB;IACtD,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,OAAO,CAAkB;IAGjC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAuB;IAGvC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,cAAc,CAAa;IAGnC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,cAAc,CAAqC;gBAE/C,OAAO,EAAE,eAAe;IAIpC;;;;OAIG;IACH,OAAO,CAAC,SAAS,CA2Bf;IAEF;;;OAGG;IACH,cAAc,IAAI,IAAI;IAItB;;;OAGG;IACH,UAAU,IAAI,IAAI;IAIZ,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC;IAyF/B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAQ/B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA6C3B;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IA+C7B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAuCpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA+B7B;;;;;;OAMG;IACH,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,UAAU;IA2EjE,KAAK,IAAI,IAAI;IAKb,YAAY,IAAI,MAAM;CAOvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFrame.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/useFrame.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"useFrame.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/useFrame.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAgB1F"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { QuerySelector } from '../types/session';
|
|
1
2
|
import { type EntityRef } from '../../state';
|
|
2
3
|
/**
|
|
3
4
|
* useQuery hook that returns entities matching component requirements
|
|
@@ -9,11 +10,16 @@ import { type EntityRef } from '../../state';
|
|
|
9
10
|
* // Find entities with Position but NOT RespawnTimer
|
|
10
11
|
* const activeShips = useQuery(['Position', 'Ship'], ['RespawnTimer']);
|
|
11
12
|
*
|
|
13
|
+
* // With selector to transform results
|
|
14
|
+
* const shipCount = useQuery(['Position', 'Ship'], undefined, (entities) => entities.length);
|
|
15
|
+
*
|
|
12
16
|
* @param include - Component names that entities must have
|
|
13
17
|
* @param exclude - Optional component names that entities must NOT have
|
|
14
|
-
* @
|
|
18
|
+
* @param selector - Optional selector function to transform results
|
|
19
|
+
* @returns Array of EntityRef matching the query, or selector result if provided
|
|
15
20
|
*/
|
|
16
21
|
export declare function useQuery(include: string[], exclude?: string[]): EntityRef[];
|
|
22
|
+
export declare function useQuery<T>(include: string[], exclude: string[] | undefined, selector: QuerySelector<T>): T;
|
|
17
23
|
/**
|
|
18
24
|
* useQueryMask hook that returns entities matching pre-computed bitmasks.
|
|
19
25
|
*
|
|
@@ -33,9 +39,14 @@ export declare function useQuery(include: string[], exclude?: string[]): EntityR
|
|
|
33
39
|
* return ships.map(entity => <Ship key={entity} entity={entity} />);
|
|
34
40
|
* }
|
|
35
41
|
*
|
|
42
|
+
* // With selector
|
|
43
|
+
* const shipCount = useQueryMask(SHIPS_MASK, undefined, (entities) => entities.length);
|
|
44
|
+
*
|
|
36
45
|
* @param includeMask - Bigint bitmask of components that must be present
|
|
37
46
|
* @param excludeMask - Optional bigint bitmask of components that must NOT be present
|
|
38
|
-
* @
|
|
47
|
+
* @param selector - Optional selector function to transform results
|
|
48
|
+
* @returns Array of EntityRef matching the query, or selector result if provided
|
|
39
49
|
*/
|
|
40
50
|
export declare function useQueryMask(includeMask: bigint, excludeMask?: bigint): EntityRef[];
|
|
51
|
+
export declare function useQueryMask<T>(includeMask: bigint, excludeMask: bigint | undefined, selector: QuerySelector<T>): T;
|
|
41
52
|
//# sourceMappingURL=useQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/useQuery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/useQuery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAA;AAyEhE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAA;AAC5E,wBAAgB,QAAQ,CAAC,CAAC,EACxB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,EAC7B,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GACzB,CAAC,CAAA;AAsDJ;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAAA;AACpF,wBAAgB,YAAY,CAAC,CAAC,EAC5B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GACzB,CAAC,CAAA"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
export { SessionProvider, SessionContext, useSessionContext } from './providers';
|
|
5
5
|
export { useSession, useFrame, useQuery, useQueryMask, usePlayers, useCurrentPlayer, useEvent } from './hooks';
|
|
6
6
|
export type { CapturedEvent, UseEventOptions } from './hooks';
|
|
7
|
-
export type { Player, PlayerStore, EntityStore, SessionContextValue, SessionProviderProps, ReactSessionInterface, ReactCreateSession, UseSessionRenderCallback, } from './types/session';
|
|
7
|
+
export type { Player, PlayerStore, EntityStore, SessionContextValue, SessionProviderProps, ReactSessionInterface, ReactCreateSession, UseSessionRenderCallback, QuerySelector, QuerySelectorContext, } from './types/session';
|
|
8
8
|
export { Player as UnicamPlayer, Player as PlayerController } from './Player';
|
|
9
9
|
export { Crosshair } from './Crosshair';
|
|
10
10
|
export type { PlayerProps, PlayerHandle, PlayerIntent, ViewType, Vector3Like, QuaternionLike, InterpolationMode, } from './types';
|
|
@@ -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,
|
|
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,EACxB,aAAa,EACb,oBAAoB,GACrB,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"}
|
|
@@ -20,6 +20,17 @@ export type EntityStore = {
|
|
|
20
20
|
entities: EntityRef[];
|
|
21
21
|
updateEntities: (incoming: Generator<EntityRef>) => void;
|
|
22
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* Context passed to query selectors
|
|
25
|
+
*/
|
|
26
|
+
export type QuerySelectorContext = {
|
|
27
|
+
state: DataView;
|
|
28
|
+
players: Player[];
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Selector function for transforming query results
|
|
32
|
+
*/
|
|
33
|
+
export type QuerySelector<T> = (entities: EntityRef[], context: QuerySelectorContext) => T;
|
|
23
34
|
/**
|
|
24
35
|
* Zustand store for tracking session players
|
|
25
36
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/react/types/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/react/types/session.ts"],"names":[],"mappings":"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"}
|
package/dist/types/schema.d.ts
CHANGED
|
@@ -82,6 +82,7 @@ export interface ComponentDef {
|
|
|
82
82
|
readonly singleton?: boolean;
|
|
83
83
|
readonly fields?: readonly FieldDef[];
|
|
84
84
|
readonly variants?: readonly string[];
|
|
85
|
+
readonly maxSize?: number;
|
|
85
86
|
}
|
|
86
87
|
/**
|
|
87
88
|
* Event definition.
|
|
@@ -161,6 +162,8 @@ export interface CompiledComponent {
|
|
|
161
162
|
size: number;
|
|
162
163
|
storageOffset: number;
|
|
163
164
|
fields: CompiledField[];
|
|
165
|
+
isBlob?: boolean;
|
|
166
|
+
blobMaxSize?: number;
|
|
164
167
|
}
|
|
165
168
|
/**
|
|
166
169
|
* Compiled event information with pre-calculated layout.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;;GAGG;AACH,eAAO,MAAM,KAAK,aAAa,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,SAAsB,CAAC;AAEjD,+CAA+C;AAC/C,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,gDAAgD;AAChD,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,8CAA8C;AAC9C,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,6CAA6C;AAC7C,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,iFAAiF;AACjF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAc7C,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAenD,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,eAAe,aAU1B,CAAC;AAEH,iFAAiF;AACjF,eAAO,MAAM,4BAA4B,aASvC,CAAC;AAMH,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACpC,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC5C,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAMpD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,KAAK,CAAC;AAEtH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,GAAG,aAAa,IAAI,MAAM,GAAG,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/vite/index.js
CHANGED
|
@@ -1163,6 +1163,46 @@ function generateSingletonAccessors(comp) {
|
|
|
1163
1163
|
}
|
|
1164
1164
|
return out;
|
|
1165
1165
|
}
|
|
1166
|
+
function generateBlobAccessors(comp) {
|
|
1167
|
+
const UPPER = toUpperSnake(comp.name);
|
|
1168
|
+
const maxSize = comp.blobMaxSize;
|
|
1169
|
+
return `
|
|
1170
|
+
// ---------- ${comp.name} Blob ----------
|
|
1171
|
+
|
|
1172
|
+
/** Maximum capacity of ${comp.name} blob */
|
|
1173
|
+
export const ${UPPER}_MAX_SIZE = ${maxSize};
|
|
1174
|
+
|
|
1175
|
+
/** Get current length of ${comp.name} blob data */
|
|
1176
|
+
export function get${comp.name}Length(state: DataView): number {
|
|
1177
|
+
return state.getUint32(${UPPER}_OFFSET, true);
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1180
|
+
/** Get ${comp.name} blob data (returns copy) */
|
|
1181
|
+
export function get${comp.name}(state: DataView): Uint8Array {
|
|
1182
|
+
const length = state.getUint32(${UPPER}_OFFSET, true);
|
|
1183
|
+
const result = new Uint8Array(length);
|
|
1184
|
+
for (let i = 0; i < length; i++) {
|
|
1185
|
+
result[i] = state.getUint8(${UPPER}_OFFSET + 4 + i);
|
|
1186
|
+
}
|
|
1187
|
+
return result;
|
|
1188
|
+
}
|
|
1189
|
+
|
|
1190
|
+
/** Set ${comp.name} blob data. Returns false if data exceeds maxSize. */
|
|
1191
|
+
export function set${comp.name}(state: DataView, data: Uint8Array): boolean {
|
|
1192
|
+
if (data.length > ${UPPER}_MAX_SIZE) return false;
|
|
1193
|
+
state.setUint32(${UPPER}_OFFSET, data.length, true);
|
|
1194
|
+
for (let i = 0; i < data.length; i++) {
|
|
1195
|
+
state.setUint8(${UPPER}_OFFSET + 4 + i, data[i]!);
|
|
1196
|
+
}
|
|
1197
|
+
return true;
|
|
1198
|
+
}
|
|
1199
|
+
|
|
1200
|
+
/** Clear ${comp.name} blob (set length to 0) */
|
|
1201
|
+
export function clear${comp.name}(state: DataView): void {
|
|
1202
|
+
state.setUint32(${UPPER}_OFFSET, 0, true);
|
|
1203
|
+
}
|
|
1204
|
+
`;
|
|
1205
|
+
}
|
|
1166
1206
|
function generateEventAccessors(event) {
|
|
1167
1207
|
const UPPER = toUpperSnake(event.name);
|
|
1168
1208
|
let out = `
|
|
@@ -1965,7 +2005,11 @@ var TypeScriptGenerator = class {
|
|
|
1965
2005
|
// =============================================================================
|
|
1966
2006
|
`;
|
|
1967
2007
|
for (const comp of schema.singletonComponents) {
|
|
1968
|
-
|
|
2008
|
+
if (comp.isBlob) {
|
|
2009
|
+
out += generateBlobAccessors(comp);
|
|
2010
|
+
} else {
|
|
2011
|
+
out += generateSingletonAccessors(comp);
|
|
2012
|
+
}
|
|
1969
2013
|
}
|
|
1970
2014
|
}
|
|
1971
2015
|
if (schema.events && schema.events.length > 0) {
|
|
@@ -2193,6 +2237,22 @@ pub const TICK_OFFSET: u32 = 40;
|
|
|
2193
2237
|
|
|
2194
2238
|
// Tick rate location in header (uses one of the reserved bytes)
|
|
2195
2239
|
pub const TICK_RATE_OFFSET: u32 = 6;
|
|
2240
|
+
|
|
2241
|
+
/// Read the 32-byte state ID from the state header (input state's stateId)
|
|
2242
|
+
#[inline]
|
|
2243
|
+
pub unsafe fn get_state_id(state: *const u8) -> [u8; 32] {
|
|
2244
|
+
let mut id = [0u8; 32];
|
|
2245
|
+
core::ptr::copy_nonoverlapping(state.add(STATE_ID_OFFSET as usize), id.as_mut_ptr(), 32);
|
|
2246
|
+
id
|
|
2247
|
+
}
|
|
2248
|
+
|
|
2249
|
+
/// Read output state ID from a pointer (passed by host for cache keying)
|
|
2250
|
+
#[inline]
|
|
2251
|
+
pub unsafe fn read_output_state_id(ptr: *const u8) -> [u8; 32] {
|
|
2252
|
+
let mut id = [0u8; 32];
|
|
2253
|
+
core::ptr::copy_nonoverlapping(ptr, id.as_mut_ptr(), 32);
|
|
2254
|
+
id
|
|
2255
|
+
}
|
|
2196
2256
|
`;
|
|
2197
2257
|
}
|
|
2198
2258
|
function generateComponentOffsets2(schema) {
|
|
@@ -2891,6 +2951,44 @@ function generateSingletonAccessors2(comp) {
|
|
|
2891
2951
|
}
|
|
2892
2952
|
return out;
|
|
2893
2953
|
}
|
|
2954
|
+
function generateBlobAccessors2(comp) {
|
|
2955
|
+
const UPPER = toUpperSnake(comp.name);
|
|
2956
|
+
const lower = toLowerSnake(comp.name);
|
|
2957
|
+
const maxSize = comp.blobMaxSize;
|
|
2958
|
+
return `
|
|
2959
|
+
// ---------- ${comp.name} Blob ----------
|
|
2960
|
+
|
|
2961
|
+
pub const ${UPPER}_MAX_SIZE: u32 = ${maxSize};
|
|
2962
|
+
|
|
2963
|
+
/// Get current length of ${comp.name} blob data
|
|
2964
|
+
#[inline]
|
|
2965
|
+
pub unsafe fn get_${lower}_length(state: *const u8) -> u32 {
|
|
2966
|
+
load_u32(state.add(${UPPER}_OFFSET as usize))
|
|
2967
|
+
}
|
|
2968
|
+
|
|
2969
|
+
/// Get ${comp.name} blob data as a slice
|
|
2970
|
+
#[inline]
|
|
2971
|
+
pub unsafe fn get_${lower}(state: *const u8) -> &'static [u8] {
|
|
2972
|
+
let length = load_u32(state.add(${UPPER}_OFFSET as usize)) as usize;
|
|
2973
|
+
core::slice::from_raw_parts(state.add(${UPPER}_OFFSET as usize + 4), length)
|
|
2974
|
+
}
|
|
2975
|
+
|
|
2976
|
+
/// Set ${comp.name} blob data. Returns false if data exceeds maxSize.
|
|
2977
|
+
#[inline]
|
|
2978
|
+
pub unsafe fn set_${lower}(state: *mut u8, data: &[u8]) -> bool {
|
|
2979
|
+
if data.len() > ${UPPER}_MAX_SIZE as usize { return false; }
|
|
2980
|
+
store_u32(state.add(${UPPER}_OFFSET as usize), data.len() as u32);
|
|
2981
|
+
core::ptr::copy_nonoverlapping(data.as_ptr(), state.add(${UPPER}_OFFSET as usize + 4), data.len());
|
|
2982
|
+
true
|
|
2983
|
+
}
|
|
2984
|
+
|
|
2985
|
+
/// Clear ${comp.name} blob (set length to 0)
|
|
2986
|
+
#[inline]
|
|
2987
|
+
pub unsafe fn clear_${lower}(state: *mut u8) {
|
|
2988
|
+
store_u32(state.add(${UPPER}_OFFSET as usize), 0);
|
|
2989
|
+
}
|
|
2990
|
+
`;
|
|
2991
|
+
}
|
|
2894
2992
|
function generateEventAccessors2(event) {
|
|
2895
2993
|
const UPPER = toUpperSnake(event.name);
|
|
2896
2994
|
const lower = toLowerSnake(event.name);
|
|
@@ -3327,36 +3425,15 @@ function generateCommandConstants(schema) {
|
|
|
3327
3425
|
function generateGameAllocator() {
|
|
3328
3426
|
return `
|
|
3329
3427
|
// =============================================================================
|
|
3330
|
-
// Global Allocator (
|
|
3428
|
+
// Global Allocator (talc for WASM)
|
|
3331
3429
|
// =============================================================================
|
|
3430
|
+
//
|
|
3431
|
+
// Uses talc's TalckWasm which automatically manages WASM linear memory.
|
|
3432
|
+
// This provides efficient memory reuse without requiring arena reset.
|
|
3332
3433
|
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
// Host-provided allocator - enables shared memory across multiple WASM plugins.
|
|
3336
|
-
// The host maintains a single bump allocator and resets it between tick batches.
|
|
3337
|
-
extern "C" {
|
|
3338
|
-
/// Host-provided allocation function. Returns pointer to aligned memory.
|
|
3339
|
-
/// The host tracks arena position and handles memory growth.
|
|
3340
|
-
fn host_alloc(size: usize, align: usize) -> *mut u8;
|
|
3341
|
-
}
|
|
3342
|
-
|
|
3343
|
-
/// Allocator that delegates to host-provided \`host_alloc\` import.
|
|
3344
|
-
/// This enables multiple WASM modules to share the same memory without
|
|
3345
|
-
/// conflicting allocator state.
|
|
3346
|
-
struct HostAlloc;
|
|
3347
|
-
|
|
3348
|
-
unsafe impl GlobalAlloc for HostAlloc {
|
|
3349
|
-
unsafe fn alloc(&self, layout: Layout) -> *mut u8 {
|
|
3350
|
-
host_alloc(layout.size(), layout.align())
|
|
3351
|
-
}
|
|
3352
|
-
|
|
3353
|
-
unsafe fn dealloc(&self, _ptr: *mut u8, _layout: Layout) {
|
|
3354
|
-
// No-op: arena is bulk-freed by host via reset_arena() between tick batches
|
|
3355
|
-
}
|
|
3356
|
-
}
|
|
3357
|
-
|
|
3434
|
+
/// SAFETY: The runtime environment must be single-threaded WASM.
|
|
3358
3435
|
#[global_allocator]
|
|
3359
|
-
static
|
|
3436
|
+
static ALLOCATOR: talc::TalckWasm = unsafe { talc::TalckWasm::new_global() };
|
|
3360
3437
|
`;
|
|
3361
3438
|
}
|
|
3362
3439
|
var RustGenerator = class {
|
|
@@ -3390,7 +3467,11 @@ var RustGenerator = class {
|
|
|
3390
3467
|
// =============================================================================
|
|
3391
3468
|
`;
|
|
3392
3469
|
for (const comp of schema.singletonComponents) {
|
|
3393
|
-
|
|
3470
|
+
if (comp.isBlob) {
|
|
3471
|
+
out += generateBlobAccessors2(comp);
|
|
3472
|
+
} else {
|
|
3473
|
+
out += generateSingletonAccessors2(comp);
|
|
3474
|
+
}
|
|
3394
3475
|
}
|
|
3395
3476
|
}
|
|
3396
3477
|
if (schema.events && schema.events.length > 0) {
|
|
@@ -3653,6 +3734,8 @@ function compileStateSchema(schema) {
|
|
|
3653
3734
|
const fields = [];
|
|
3654
3735
|
let componentSize = 0;
|
|
3655
3736
|
let isTag = false;
|
|
3737
|
+
let isBlob = false;
|
|
3738
|
+
let blobMaxSize;
|
|
3656
3739
|
const isSingleton = componentDef.singleton === true;
|
|
3657
3740
|
if (componentType === "tag") {
|
|
3658
3741
|
isTag = true;
|
|
@@ -3705,6 +3788,17 @@ function compileStateSchema(schema) {
|
|
|
3705
3788
|
fieldOffset += size;
|
|
3706
3789
|
componentSize += size;
|
|
3707
3790
|
}
|
|
3791
|
+
} else if (componentType === "blob") {
|
|
3792
|
+
if (!isSingleton) {
|
|
3793
|
+
throw new Error(`Component '${name}' with type 'blob' must be a singleton`);
|
|
3794
|
+
}
|
|
3795
|
+
const maxSize = componentDef.maxSize;
|
|
3796
|
+
if (typeof maxSize !== "number" || maxSize <= 0) {
|
|
3797
|
+
throw new Error(`Component '${name}' with type 'blob' requires positive 'maxSize'`);
|
|
3798
|
+
}
|
|
3799
|
+
componentSize = 4 + maxSize;
|
|
3800
|
+
isBlob = true;
|
|
3801
|
+
blobMaxSize = maxSize;
|
|
3708
3802
|
} else {
|
|
3709
3803
|
const fieldType = componentType;
|
|
3710
3804
|
const size = getValidatedTypeSize(fieldType, name);
|
|
@@ -3737,6 +3831,10 @@ function compileStateSchema(schema) {
|
|
|
3737
3831
|
storageOffset: 0,
|
|
3738
3832
|
fields
|
|
3739
3833
|
};
|
|
3834
|
+
if (isBlob) {
|
|
3835
|
+
compiled.isBlob = true;
|
|
3836
|
+
compiled.blobMaxSize = blobMaxSize;
|
|
3837
|
+
}
|
|
3740
3838
|
components.push(compiled);
|
|
3741
3839
|
componentByName.set(name, compiled);
|
|
3742
3840
|
if (isSingleton) {
|