@multitapio/multitap 0.0.1

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.
Files changed (286) hide show
  1. package/dist/.stamp +0 -0
  2. package/dist/cache.d.ts +117 -0
  3. package/dist/cache.d.ts.map +1 -0
  4. package/dist/channel.d.ts +91 -0
  5. package/dist/channel.d.ts.map +1 -0
  6. package/dist/channel.worker.d.ts +3 -0
  7. package/dist/channel.worker.d.ts.map +1 -0
  8. package/dist/codegen/config.d.ts +107 -0
  9. package/dist/codegen/config.d.ts.map +1 -0
  10. package/dist/codegen/generator.d.ts +78 -0
  11. package/dist/codegen/generator.d.ts.map +1 -0
  12. package/dist/codegen/index.d.ts +13 -0
  13. package/dist/codegen/index.d.ts.map +1 -0
  14. package/dist/codegen/inject.d.ts +51 -0
  15. package/dist/codegen/inject.d.ts.map +1 -0
  16. package/dist/codegen/rust.d.ts +22 -0
  17. package/dist/codegen/rust.d.ts.map +1 -0
  18. package/dist/codegen/typescript.d.ts +22 -0
  19. package/dist/codegen/typescript.d.ts.map +1 -0
  20. package/dist/constants.d.ts +5 -0
  21. package/dist/constants.d.ts.map +1 -0
  22. package/dist/crypto.d.ts +141 -0
  23. package/dist/crypto.d.ts.map +1 -0
  24. package/dist/debug.d.ts +39 -0
  25. package/dist/debug.d.ts.map +1 -0
  26. package/dist/diagnostics/index.d.ts +12 -0
  27. package/dist/diagnostics/index.d.ts.map +1 -0
  28. package/dist/diagnostics.js +5502 -0
  29. package/dist/e2e/cli.d.ts +2 -0
  30. package/dist/e2e/cli.d.ts.map +1 -0
  31. package/dist/executor.d.ts +130 -0
  32. package/dist/executor.d.ts.map +1 -0
  33. package/dist/globals.d.ts +32 -0
  34. package/dist/helpers.d.ts +3 -0
  35. package/dist/helpers.d.ts.map +1 -0
  36. package/dist/input-codec.d.ts +136 -0
  37. package/dist/input-codec.d.ts.map +1 -0
  38. package/dist/input-graph.d.ts +106 -0
  39. package/dist/input-graph.d.ts.map +1 -0
  40. package/dist/lib.d.ts +10 -0
  41. package/dist/lib.d.ts.map +1 -0
  42. package/dist/lib.js +9409 -0
  43. package/dist/messages.d.ts +63 -0
  44. package/dist/messages.d.ts.map +1 -0
  45. package/dist/peer-mesh.d.ts +77 -0
  46. package/dist/peer-mesh.d.ts.map +1 -0
  47. package/dist/react/Crosshair.d.ts +17 -0
  48. package/dist/react/Crosshair.d.ts.map +1 -0
  49. package/dist/react/Player.d.ts +10 -0
  50. package/dist/react/Player.d.ts.map +1 -0
  51. package/dist/react/PlayerPoseContext.d.ts +31 -0
  52. package/dist/react/PlayerPoseContext.d.ts.map +1 -0
  53. package/dist/react/hooks/index.d.ts +7 -0
  54. package/dist/react/hooks/index.d.ts.map +1 -0
  55. package/dist/react/hooks/useEvent.d.ts +46 -0
  56. package/dist/react/hooks/useEvent.d.ts.map +1 -0
  57. package/dist/react/hooks/useFrame.d.ts +23 -0
  58. package/dist/react/hooks/useFrame.d.ts.map +1 -0
  59. package/dist/react/hooks/usePlayers.d.ts +24 -0
  60. package/dist/react/hooks/usePlayers.d.ts.map +1 -0
  61. package/dist/react/hooks/useQuery.d.ts +41 -0
  62. package/dist/react/hooks/useQuery.d.ts.map +1 -0
  63. package/dist/react/hooks/useSession.d.ts +10 -0
  64. package/dist/react/hooks/useSession.d.ts.map +1 -0
  65. package/dist/react/index.d.ts +18 -0
  66. package/dist/react/index.d.ts.map +1 -0
  67. package/dist/react/input/DesktopInputMapper.d.ts +38 -0
  68. package/dist/react/input/DesktopInputMapper.d.ts.map +1 -0
  69. package/dist/react/input/index.d.ts +4 -0
  70. package/dist/react/input/index.d.ts.map +1 -0
  71. package/dist/react/input/types.d.ts +46 -0
  72. package/dist/react/input/types.d.ts.map +1 -0
  73. package/dist/react/providers/SessionProvider.d.ts +17 -0
  74. package/dist/react/providers/SessionProvider.d.ts.map +1 -0
  75. package/dist/react/providers/index.d.ts +2 -0
  76. package/dist/react/providers/index.d.ts.map +1 -0
  77. package/dist/react/types/index.d.ts +2 -0
  78. package/dist/react/types/index.d.ts.map +1 -0
  79. package/dist/react/types/session.d.ts +88 -0
  80. package/dist/react/types/session.d.ts.map +1 -0
  81. package/dist/react/types.d.ts +134 -0
  82. package/dist/react/types.d.ts.map +1 -0
  83. package/dist/react/utils/math.d.ts +19 -0
  84. package/dist/react/utils/math.d.ts.map +1 -0
  85. package/dist/react/views/AsteroidsView.d.ts +24 -0
  86. package/dist/react/views/AsteroidsView.d.ts.map +1 -0
  87. package/dist/react/views/FirstPersonView.d.ts +10 -0
  88. package/dist/react/views/FirstPersonView.d.ts.map +1 -0
  89. package/dist/react/views/IsometricView.d.ts +21 -0
  90. package/dist/react/views/IsometricView.d.ts.map +1 -0
  91. package/dist/react/views/MapView.d.ts +16 -0
  92. package/dist/react/views/MapView.d.ts.map +1 -0
  93. package/dist/react/views/MobaView.d.ts +17 -0
  94. package/dist/react/views/MobaView.d.ts.map +1 -0
  95. package/dist/react/views/SideOnView.d.ts +23 -0
  96. package/dist/react/views/SideOnView.d.ts.map +1 -0
  97. package/dist/react/views/ThirdPersonFixedView.d.ts +21 -0
  98. package/dist/react/views/ThirdPersonFixedView.d.ts.map +1 -0
  99. package/dist/react/views/ThirdPersonView.d.ts +12 -0
  100. package/dist/react/views/ThirdPersonView.d.ts.map +1 -0
  101. package/dist/react/views/TopDownFixedView.d.ts +20 -0
  102. package/dist/react/views/TopDownFixedView.d.ts.map +1 -0
  103. package/dist/react/views/TopDownView.d.ts +12 -0
  104. package/dist/react/views/TopDownView.d.ts.map +1 -0
  105. package/dist/react/views/TwinStickView.d.ts +13 -0
  106. package/dist/react/views/TwinStickView.d.ts.map +1 -0
  107. package/dist/react/views/VehicleFixedView.d.ts +16 -0
  108. package/dist/react/views/VehicleFixedView.d.ts.map +1 -0
  109. package/dist/react/views/VehicleView.d.ts +13 -0
  110. package/dist/react/views/VehicleView.d.ts.map +1 -0
  111. package/dist/react/views/index.d.ts +21 -0
  112. package/dist/react/views/index.d.ts.map +1 -0
  113. package/dist/react/views/types.d.ts +136 -0
  114. package/dist/react/views/types.d.ts.map +1 -0
  115. package/dist/rollback.d.ts +193 -0
  116. package/dist/rollback.d.ts.map +1 -0
  117. package/dist/rollback.worker.d.ts +3 -0
  118. package/dist/rollback.worker.d.ts.map +1 -0
  119. package/dist/schema.d.ts +309 -0
  120. package/dist/schema.d.ts.map +1 -0
  121. package/dist/session-config.d.ts +119 -0
  122. package/dist/session-config.d.ts.map +1 -0
  123. package/dist/session.d.ts +120 -0
  124. package/dist/session.d.ts.map +1 -0
  125. package/dist/state.d.ts +400 -0
  126. package/dist/state.d.ts.map +1 -0
  127. package/dist/stats.d.ts +21 -0
  128. package/dist/stats.d.ts.map +1 -0
  129. package/dist/test-session.d.ts +170 -0
  130. package/dist/test-session.d.ts.map +1 -0
  131. package/dist/types/cache.d.ts +117 -0
  132. package/dist/types/cache.d.ts.map +1 -0
  133. package/dist/types/channel.d.ts +91 -0
  134. package/dist/types/channel.d.ts.map +1 -0
  135. package/dist/types/channel.worker.d.ts +3 -0
  136. package/dist/types/channel.worker.d.ts.map +1 -0
  137. package/dist/types/codegen/config.d.ts +107 -0
  138. package/dist/types/codegen/config.d.ts.map +1 -0
  139. package/dist/types/codegen/generator.d.ts +78 -0
  140. package/dist/types/codegen/generator.d.ts.map +1 -0
  141. package/dist/types/codegen/index.d.ts +13 -0
  142. package/dist/types/codegen/index.d.ts.map +1 -0
  143. package/dist/types/codegen/inject.d.ts +51 -0
  144. package/dist/types/codegen/inject.d.ts.map +1 -0
  145. package/dist/types/codegen/rust.d.ts +22 -0
  146. package/dist/types/codegen/rust.d.ts.map +1 -0
  147. package/dist/types/codegen/typescript.d.ts +22 -0
  148. package/dist/types/codegen/typescript.d.ts.map +1 -0
  149. package/dist/types/constants.d.ts +5 -0
  150. package/dist/types/constants.d.ts.map +1 -0
  151. package/dist/types/crypto.d.ts +141 -0
  152. package/dist/types/crypto.d.ts.map +1 -0
  153. package/dist/types/debug.d.ts +39 -0
  154. package/dist/types/debug.d.ts.map +1 -0
  155. package/dist/types/diagnostics/index.d.ts +12 -0
  156. package/dist/types/diagnostics/index.d.ts.map +1 -0
  157. package/dist/types/e2e/cli.d.ts +2 -0
  158. package/dist/types/e2e/cli.d.ts.map +1 -0
  159. package/dist/types/executor.d.ts +130 -0
  160. package/dist/types/executor.d.ts.map +1 -0
  161. package/dist/types/helpers.d.ts +3 -0
  162. package/dist/types/helpers.d.ts.map +1 -0
  163. package/dist/types/input-codec.d.ts +136 -0
  164. package/dist/types/input-codec.d.ts.map +1 -0
  165. package/dist/types/input-graph.d.ts +106 -0
  166. package/dist/types/input-graph.d.ts.map +1 -0
  167. package/dist/types/lib.d.ts +10 -0
  168. package/dist/types/lib.d.ts.map +1 -0
  169. package/dist/types/messages.d.ts +63 -0
  170. package/dist/types/messages.d.ts.map +1 -0
  171. package/dist/types/peer-mesh.d.ts +77 -0
  172. package/dist/types/peer-mesh.d.ts.map +1 -0
  173. package/dist/types/react/Crosshair.d.ts +17 -0
  174. package/dist/types/react/Crosshair.d.ts.map +1 -0
  175. package/dist/types/react/Player.d.ts +10 -0
  176. package/dist/types/react/Player.d.ts.map +1 -0
  177. package/dist/types/react/PlayerPoseContext.d.ts +31 -0
  178. package/dist/types/react/PlayerPoseContext.d.ts.map +1 -0
  179. package/dist/types/react/hooks/index.d.ts +7 -0
  180. package/dist/types/react/hooks/index.d.ts.map +1 -0
  181. package/dist/types/react/hooks/useEvent.d.ts +46 -0
  182. package/dist/types/react/hooks/useEvent.d.ts.map +1 -0
  183. package/dist/types/react/hooks/useFrame.d.ts +23 -0
  184. package/dist/types/react/hooks/useFrame.d.ts.map +1 -0
  185. package/dist/types/react/hooks/usePlayers.d.ts +24 -0
  186. package/dist/types/react/hooks/usePlayers.d.ts.map +1 -0
  187. package/dist/types/react/hooks/useQuery.d.ts +41 -0
  188. package/dist/types/react/hooks/useQuery.d.ts.map +1 -0
  189. package/dist/types/react/hooks/useSession.d.ts +10 -0
  190. package/dist/types/react/hooks/useSession.d.ts.map +1 -0
  191. package/dist/types/react/index.d.ts +18 -0
  192. package/dist/types/react/index.d.ts.map +1 -0
  193. package/dist/types/react/input/DesktopInputMapper.d.ts +38 -0
  194. package/dist/types/react/input/DesktopInputMapper.d.ts.map +1 -0
  195. package/dist/types/react/input/index.d.ts +4 -0
  196. package/dist/types/react/input/index.d.ts.map +1 -0
  197. package/dist/types/react/input/types.d.ts +46 -0
  198. package/dist/types/react/input/types.d.ts.map +1 -0
  199. package/dist/types/react/providers/SessionProvider.d.ts +17 -0
  200. package/dist/types/react/providers/SessionProvider.d.ts.map +1 -0
  201. package/dist/types/react/providers/index.d.ts +2 -0
  202. package/dist/types/react/providers/index.d.ts.map +1 -0
  203. package/dist/types/react/types/index.d.ts +2 -0
  204. package/dist/types/react/types/index.d.ts.map +1 -0
  205. package/dist/types/react/types/session.d.ts +88 -0
  206. package/dist/types/react/types/session.d.ts.map +1 -0
  207. package/dist/types/react/types.d.ts +134 -0
  208. package/dist/types/react/types.d.ts.map +1 -0
  209. package/dist/types/react/utils/math.d.ts +19 -0
  210. package/dist/types/react/utils/math.d.ts.map +1 -0
  211. package/dist/types/react/views/AsteroidsView.d.ts +24 -0
  212. package/dist/types/react/views/AsteroidsView.d.ts.map +1 -0
  213. package/dist/types/react/views/FirstPersonView.d.ts +10 -0
  214. package/dist/types/react/views/FirstPersonView.d.ts.map +1 -0
  215. package/dist/types/react/views/IsometricView.d.ts +21 -0
  216. package/dist/types/react/views/IsometricView.d.ts.map +1 -0
  217. package/dist/types/react/views/MapView.d.ts +16 -0
  218. package/dist/types/react/views/MapView.d.ts.map +1 -0
  219. package/dist/types/react/views/MobaView.d.ts +17 -0
  220. package/dist/types/react/views/MobaView.d.ts.map +1 -0
  221. package/dist/types/react/views/SideOnView.d.ts +23 -0
  222. package/dist/types/react/views/SideOnView.d.ts.map +1 -0
  223. package/dist/types/react/views/ThirdPersonFixedView.d.ts +21 -0
  224. package/dist/types/react/views/ThirdPersonFixedView.d.ts.map +1 -0
  225. package/dist/types/react/views/ThirdPersonView.d.ts +12 -0
  226. package/dist/types/react/views/ThirdPersonView.d.ts.map +1 -0
  227. package/dist/types/react/views/TopDownFixedView.d.ts +20 -0
  228. package/dist/types/react/views/TopDownFixedView.d.ts.map +1 -0
  229. package/dist/types/react/views/TopDownView.d.ts +12 -0
  230. package/dist/types/react/views/TopDownView.d.ts.map +1 -0
  231. package/dist/types/react/views/TwinStickView.d.ts +13 -0
  232. package/dist/types/react/views/TwinStickView.d.ts.map +1 -0
  233. package/dist/types/react/views/VehicleFixedView.d.ts +16 -0
  234. package/dist/types/react/views/VehicleFixedView.d.ts.map +1 -0
  235. package/dist/types/react/views/VehicleView.d.ts +13 -0
  236. package/dist/types/react/views/VehicleView.d.ts.map +1 -0
  237. package/dist/types/react/views/index.d.ts +21 -0
  238. package/dist/types/react/views/index.d.ts.map +1 -0
  239. package/dist/types/react/views/types.d.ts +136 -0
  240. package/dist/types/react/views/types.d.ts.map +1 -0
  241. package/dist/types/rollback.d.ts +193 -0
  242. package/dist/types/rollback.d.ts.map +1 -0
  243. package/dist/types/rollback.worker.d.ts +3 -0
  244. package/dist/types/rollback.worker.d.ts.map +1 -0
  245. package/dist/types/schema.d.ts +309 -0
  246. package/dist/types/schema.d.ts.map +1 -0
  247. package/dist/types/session-config.d.ts +119 -0
  248. package/dist/types/session-config.d.ts.map +1 -0
  249. package/dist/types/session.d.ts +120 -0
  250. package/dist/types/session.d.ts.map +1 -0
  251. package/dist/types/state.d.ts +400 -0
  252. package/dist/types/state.d.ts.map +1 -0
  253. package/dist/types/stats.d.ts +21 -0
  254. package/dist/types/stats.d.ts.map +1 -0
  255. package/dist/types/test-session.d.ts +170 -0
  256. package/dist/types/test-session.d.ts.map +1 -0
  257. package/dist/types/utils.d.ts +26 -0
  258. package/dist/types/utils.d.ts.map +1 -0
  259. package/dist/types/vite/codegen-runner.d.ts +27 -0
  260. package/dist/types/vite/codegen-runner.d.ts.map +1 -0
  261. package/dist/types/vite/index.d.ts +20 -0
  262. package/dist/types/vite/index.d.ts.map +1 -0
  263. package/dist/types/vite/module-builder.d.ts +28 -0
  264. package/dist/types/vite/module-builder.d.ts.map +1 -0
  265. package/dist/types/vite/plugin.d.ts +27 -0
  266. package/dist/types/vite/plugin.d.ts.map +1 -0
  267. package/dist/types/vite/types.d.ts +37 -0
  268. package/dist/types/vite/types.d.ts.map +1 -0
  269. package/dist/types/vite/wasm-compiler.d.ts +32 -0
  270. package/dist/types/vite/wasm-compiler.d.ts.map +1 -0
  271. package/dist/utils.d.ts +26 -0
  272. package/dist/utils.d.ts.map +1 -0
  273. package/dist/vite/codegen-runner.d.ts +27 -0
  274. package/dist/vite/codegen-runner.d.ts.map +1 -0
  275. package/dist/vite/index.d.ts +20 -0
  276. package/dist/vite/index.d.ts.map +1 -0
  277. package/dist/vite/index.js +4202 -0
  278. package/dist/vite/module-builder.d.ts +28 -0
  279. package/dist/vite/module-builder.d.ts.map +1 -0
  280. package/dist/vite/plugin.d.ts +27 -0
  281. package/dist/vite/plugin.d.ts.map +1 -0
  282. package/dist/vite/types.d.ts +37 -0
  283. package/dist/vite/types.d.ts.map +1 -0
  284. package/dist/vite/wasm-compiler.d.ts +32 -0
  285. package/dist/vite/wasm-compiler.d.ts.map +1 -0
  286. package/package.json +92 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export declare class RollingCounter {
2
+ private readonly buffer;
3
+ private readonly windowMs;
4
+ private head;
5
+ private tail;
6
+ private size;
7
+ constructor(windowMs?: number, maxEvents?: number);
8
+ /**
9
+ * Record a single event at the given timestamp
10
+ */
11
+ inc(): void;
12
+ /**
13
+ * Returns number of events within the rolling window
14
+ */
15
+ count(now?: number): number;
16
+ /**
17
+ * Returns the rate of events per second
18
+ */
19
+ rate(now?: number): number;
20
+ }
21
+ //# sourceMappingURL=stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/stats.ts"],"names":[],"mappings":"AAEA,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,IAAI,CAAK;gBAEL,QAAQ,GAAE,MAAa,EAAE,SAAS,GAAE,MAAa;IAK7D;;OAEG;IACH,GAAG,IAAI,IAAI;IAcX;;OAEG;IACH,KAAK,CAAC,GAAG,GAAE,MAA0B,GAAG,MAAM;IAc9C;;OAEG;IACH,IAAI,CAAC,GAAG,GAAE,MAA0B,GAAG,MAAM;CAG9C"}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * TestSession - Headless simulation testing for Multitap games.
3
+ *
4
+ * Enables AI agents and developers to test game logic without network or WebWorkers.
5
+ * Wraps Rollback + InputGraph with a simple API for input simulation and state inspection.
6
+ *
7
+ * Features:
8
+ * - Auto-generated player keys (no crypto knowledge needed)
9
+ * - State history with cursor for rollback testing
10
+ * - Direct state buffer access for use with generated ECS bindings
11
+ *
12
+ * @module test-session
13
+ */
14
+ import { type TickResult } from './rollback';
15
+ import { type CompiledSchema, type StateSchema, type StateBuffer } from './state';
16
+ import { type InputSchema } from './input-codec';
17
+ import type { Participant, SessionOptions, MultitapPlugin } from './session';
18
+ /**
19
+ * Options for creating a TestSession.
20
+ */
21
+ export interface TestSessionOptions {
22
+ /** Plugins array (WASM modules in execution order) */
23
+ plugins: MultitapPlugin[];
24
+ /** State and input schemas */
25
+ schema: {
26
+ state: StateSchema | CompiledSchema;
27
+ input: InputSchema;
28
+ };
29
+ /** Tick rate in Hz (default: 20) */
30
+ tickRate?: number;
31
+ /** Maximum ticks for the session (default: 10000) */
32
+ maxTicks?: number;
33
+ }
34
+ /**
35
+ * A test player that can submit inputs.
36
+ */
37
+ export interface TestPlayer {
38
+ /** The player's slot index (0-15) */
39
+ readonly index: number;
40
+ /**
41
+ * Queue an input for this player.
42
+ * The input will be applied on the next tick() call.
43
+ *
44
+ * @param payload - Raw input bytes (use InputCodec to encode)
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * const inputCodec = compileInputCodec(inputSchema);
49
+ * const input = inputCodec.create();
50
+ * input.setFlags('buttons', { up: true, fire: true });
51
+ * player.input(input.encode());
52
+ * ```
53
+ */
54
+ input(payload: Uint8Array): void;
55
+ }
56
+ /**
57
+ * TestSession provides headless simulation testing for Multitap games.
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * const session = await TestSession.create({
62
+ * plugins: [{ name: 'game', wasmBytes, reservedBytes: 4194304 }],
63
+ * schema: { state: stateSchema, input: inputSchema },
64
+ * });
65
+ *
66
+ * const p1 = session.addPlayer();
67
+ * const p2 = session.addPlayer();
68
+ *
69
+ * p1.input({ buttons: { up: true } });
70
+ * p2.input({ buttons: { fire: true } });
71
+ *
72
+ * await session.tick();
73
+ * console.log('Tick:', session.getTick()); // 1
74
+ *
75
+ * // Test rollback
76
+ * await session.tick(10);
77
+ * session.rollback(5);
78
+ * await session.tick();
79
+ * console.log('Tick:', session.getTick()); // 6
80
+ *
81
+ * // Use state with generated bindings
82
+ * const state = session.getState();
83
+ * ```
84
+ */
85
+ export declare class TestSession {
86
+ private inputGraph;
87
+ private asyncInputGraph;
88
+ private rollbackManager;
89
+ private executor;
90
+ private stateSchema;
91
+ private inputCodec;
92
+ private genesisHash;
93
+ private players;
94
+ private joinedPlayers;
95
+ private pendingInputs;
96
+ private states;
97
+ private cursor;
98
+ private constructor();
99
+ /**
100
+ * Create a new TestSession.
101
+ */
102
+ static create(options: TestSessionOptions): Promise<TestSession>;
103
+ getParticipants(): Participant[];
104
+ /**
105
+ * Create a TestSession from SessionOptions.
106
+ * Ignores network-related properties (playerKey, authority, renderer, etc.)
107
+ *
108
+ * This allows using the same options object for both production Session
109
+ * and headless TestSession.
110
+ */
111
+ static fromConfig(options: SessionOptions): Promise<TestSession>;
112
+ /**
113
+ * Add a new player to the session.
114
+ * Returns a TestPlayer wrapper for submitting inputs.
115
+ *
116
+ * @param privateKey - Optional private key for deterministic replay testing
117
+ */
118
+ addPlayer(privateKey?: Uint8Array): TestPlayer;
119
+ /**
120
+ * Queue an input for a player. Called by TestPlayer.input().
121
+ * @internal
122
+ */
123
+ _queueInput(playerIndex: number, privateKey: Uint8Array, payload: Uint8Array): void;
124
+ /**
125
+ * Advance the simulation by one or more ticks.
126
+ *
127
+ * If cursor is behind the state history, this just moves the cursor forward.
128
+ * Otherwise, it runs the actual simulation to compute new states.
129
+ */
130
+ tick(count?: number): Promise<TickResult>;
131
+ /**
132
+ * Run multiple ticks with an optional callback before each tick.
133
+ *
134
+ * @param count - Number of ticks to run
135
+ * @param onTick - Optional callback called before each tick with current tick number
136
+ * @returns The result of the last tick
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * // Run 50 ticks with player input each tick
141
+ * await session.runTicks(50, () => {
142
+ * player.input(fireInput);
143
+ * });
144
+ * ```
145
+ */
146
+ runTicks(count: number, onTick?: (tick: number) => Promise<void>): Promise<TickResult>;
147
+ /**
148
+ * Rewind the simulation to a previous tick.
149
+ * The next tick() call will produce tick N+1.
150
+ */
151
+ rollback(toTick: number): void;
152
+ /**
153
+ * Get the current state buffer.
154
+ * Use with generated ECS bindings for state inspection.
155
+ */
156
+ getState(): StateBuffer;
157
+ /**
158
+ * Get the current tick number.
159
+ */
160
+ getTick(): number;
161
+ /**
162
+ * Clean up resources.
163
+ */
164
+ close(): void;
165
+ /**
166
+ * Compute the next tick by processing pending inputs.
167
+ */
168
+ private computeNextTick;
169
+ }
170
+ //# sourceMappingURL=test-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-session.d.ts","sourceRoot":"","sources":["../../src/test-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAkB,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAAsC,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAIrF,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAM7E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,OAAO,EAAE,cAAc,EAAE,CAAC;IAE1B,8BAA8B;IAC9B,MAAM,EAAE;QACN,KAAK,EAAE,WAAW,GAAG,cAAc,CAAC;QACpC,KAAK,EAAE,WAAW,CAAC;KACpB,CAAC;IAEF,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;CAClC;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,WAAW;IAEtB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,QAAQ,CAA0B;IAG1C,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,UAAU,CAAa;IAG/B,OAAO,CAAC,WAAW,CAAa;IAGhC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,aAAa,CAA0B;IAG/C,OAAO,CAAC,aAAa,CAA2E;IAGhG,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO;IAuBP;;OAEG;WACU,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;IAgEtE,eAAe,IAAI,WAAW,EAAE;IAIhC;;;;;;OAMG;WACU,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAStE;;;;;OAKG;IACH,SAAS,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU;IAQ9C;;;OAGG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAInF;;;;;OAKG;IACG,IAAI,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAuBlD;;;;;;;;;;;;;;OAcG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAW5F;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO9B;;;OAGG;IACH,QAAQ,IAAI,WAAW;IAIvB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;YACW,eAAe;CA+C9B"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Encode bytes to standard base64.
3
+ */
4
+ export declare function uint8ArrayToBase64(data: Uint8Array): string;
5
+ /**
6
+ * Decode standard base64 to bytes.
7
+ */
8
+ export declare function base64ToUint8Array(str: string): Uint8Array;
9
+ /**
10
+ * Encode bytes to base64url (RFC 4648 Section 5, no padding).
11
+ */
12
+ export declare function uint8ArrayToBase64URL(data: Uint8Array): string;
13
+ /**
14
+ * Decode base64url (RFC 4648 Section 5, no padding) to bytes.
15
+ */
16
+ export declare function base64URLToUint8Array(str: string): Uint8Array;
17
+ /**
18
+ * Encode a string to base64url.
19
+ */
20
+ export declare function stringToBase64URL(str: string): string;
21
+ /**
22
+ * Decode base64url to a string.
23
+ */
24
+ export declare function base64URLToString(str: string): string;
25
+ export declare function arraysEqual(a: Uint8Array, b: Uint8Array): boolean;
26
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAY3D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAO1D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAG9D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAQ7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIrD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIrD;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAMjE"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Codegen orchestration for the Multitap Vite plugin.
3
+ *
4
+ * Runs TypeScript and Rust code generation from compiled schemas.
5
+ *
6
+ * @module vite/codegen-runner
7
+ */
8
+ import { type ConfigGraph, type MergedConfig } from '../codegen';
9
+ import { type CompiledStateSchema, type CompiledInputSchema } from '../schema';
10
+ export interface CodegenResult {
11
+ compiledState: CompiledStateSchema;
12
+ compiledInput: CompiledInputSchema;
13
+ mergedConfig: MergedConfig;
14
+ graph: ConfigGraph;
15
+ }
16
+ export interface CodegenOptions {
17
+ generatedDir: string;
18
+ verbose?: boolean;
19
+ }
20
+ /**
21
+ * Run full codegen pipeline: load configs, compile schemas, generate code.
22
+ *
23
+ * @param configPath - Absolute path to mt.config.json
24
+ * @param options - Codegen options
25
+ */
26
+ export declare function runCodegen(configPath: string, options: CodegenOptions): Promise<CodegenResult>;
27
+ //# sourceMappingURL=codegen-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codegen-runner.d.ts","sourceRoot":"","sources":["../../../src/vite/codegen-runner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAA0C,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEvH,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,mBAAmB,CAAC;IACnC,aAAa,EAAE,mBAAmB,CAAC;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAuDpG"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Vite plugin for Multitap game projects.
3
+ *
4
+ * @module vite
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * // vite.config.ts
9
+ * import { defineConfig } from 'vite';
10
+ * import react from '@vitejs/plugin-react';
11
+ * import multitap from './runtime/vite';
12
+ *
13
+ * export default defineConfig({
14
+ * plugins: [react(), multitap()],
15
+ * });
16
+ * ```
17
+ */
18
+ export { multitapPlugin as default, multitapPlugin } from './plugin';
19
+ export type { MultitapPluginOptions, WasmCompileResult } from './types';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vite/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACrE,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Virtual module generation for the Multitap Vite plugin.
3
+ *
4
+ * Generates the JavaScript module that exports the config object
5
+ * with embedded WASM bytes and compiled schemas.
6
+ *
7
+ * Ported from sdk/go/build/build_multitap.go generateJSModule()
8
+ *
9
+ * @module vite/module-builder
10
+ */
11
+ import type { Config } from '../codegen/config';
12
+ import type { CompiledStateSchema } from '../schema';
13
+ import type { WasmCompileResult } from './types';
14
+ export interface BuildModuleOptions {
15
+ config: Config;
16
+ plugins: WasmCompileResult[];
17
+ compiledState: CompiledStateSchema;
18
+ }
19
+ /**
20
+ * Build the virtual module JavaScript source code.
21
+ *
22
+ * Generates a module that exports:
23
+ * - appID, tickRate, maxTicks, maxParticipants
24
+ * - plugins array with WASM bytes
25
+ * - schema object with compiled state and raw input
26
+ */
27
+ export declare function buildVirtualModule(options: BuildModuleOptions): string;
28
+ //# sourceMappingURL=module-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-builder.d.ts","sourceRoot":"","sources":["../../../src/vite/module-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AA8CjD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,aAAa,EAAE,mBAAmB,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CA2CtE"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Vite plugin for Multitap game projects.
3
+ *
4
+ * Handles:
5
+ * - `multitap:*.json` virtual module imports
6
+ * - Automatic codegen (TypeScript + Rust)
7
+ * - WASM compilation with memory isolation
8
+ *
9
+ * @module vite/plugin
10
+ */
11
+ import type { Plugin } from 'vite';
12
+ import type { MultitapPluginOptions } from './types';
13
+ /**
14
+ * Create a Multitap Vite plugin.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * import { defineConfig } from 'vite';
19
+ * import multitap from './runtime/vite';
20
+ *
21
+ * export default defineConfig({
22
+ * plugins: [multitap()],
23
+ * });
24
+ * ```
25
+ */
26
+ export declare function multitapPlugin(options?: MultitapPluginOptions): Plugin;
27
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,MAAM,CAAC;AAEnD,OAAO,KAAK,EAAE,qBAAqB,EAAqB,MAAM,SAAS,CAAC;AAQxE;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,MAAM,CAyF1E"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Type definitions for the Multitap Vite plugin.
3
+ *
4
+ * @module vite/types
5
+ */
6
+ /**
7
+ * Plugin configuration options.
8
+ */
9
+ export interface MultitapPluginOptions {
10
+ /**
11
+ * Output directory for generated TypeScript code.
12
+ * @default './generated'
13
+ */
14
+ generatedDir?: string;
15
+ /**
16
+ * Enable verbose logging during build.
17
+ * @default false
18
+ */
19
+ verbose?: boolean;
20
+ /**
21
+ * Skip WASM compilation (useful for codegen-only mode).
22
+ * @default false
23
+ */
24
+ skipWasm?: boolean;
25
+ }
26
+ /**
27
+ * Result of compiling a single plugin to WASM.
28
+ */
29
+ export interface WasmCompileResult {
30
+ /** Plugin name (directory basename) */
31
+ name: string;
32
+ /** Compiled WASM bytes */
33
+ wasmBytes: Uint8Array;
34
+ /** Reserved memory bytes for this plugin */
35
+ reservedBytes: number;
36
+ }
37
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vite/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,SAAS,EAAE,UAAU,CAAC;IACtB,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * WASM compilation utilities for the Multitap Vite plugin.
3
+ *
4
+ * Ported from sdk/go/build/build_multitap.go
5
+ *
6
+ * @module vite/wasm-compiler
7
+ */
8
+ import type { WasmCompileResult } from './types';
9
+ /** WASM page size in bytes (64 KiB) */
10
+ export declare const WASM_PAGE_SIZE = 65536;
11
+ /**
12
+ * Find Cargo.toml by walking up from startDir.
13
+ */
14
+ export declare function findCargoToml(startDir: string): Promise<string>;
15
+ /**
16
+ * Find the .wasm file in the target directory.
17
+ */
18
+ export declare function findWasmFile(targetDir: string): Promise<string>;
19
+ /**
20
+ * Compile a Rust plugin to WASM.
21
+ *
22
+ * @param pluginPath - Absolute path to the plugin directory
23
+ * @param globalBase - Memory offset for this plugin's data section and stack
24
+ * @param verbose - Stream cargo output in real-time
25
+ */
26
+ export declare function compilePluginWasm(pluginPath: string, globalBase: number, verbose?: boolean): Promise<WasmCompileResult>;
27
+ /**
28
+ * Calculate aligned global base offsets for a list of plugins.
29
+ * Returns a map from plugin path to its global base offset.
30
+ */
31
+ export declare function calculateGlobalBases(pluginOrder: string[], reservedBytesMap: Map<string, number>): Map<string, number>;
32
+ //# sourceMappingURL=wasm-compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm-compiler.d.ts","sourceRoot":"","sources":["../../../src/vite/wasm-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,uCAAuC;AACvC,eAAO,MAAM,cAAc,QAAQ,CAAC;AAEpC;;GAEG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAerE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWrE;AAuCD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,UAAQ,GACd,OAAO,CAAC,iBAAiB,CAAC,CAgC5B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EAAE,EACrB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAarB"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Encode bytes to standard base64.
3
+ */
4
+ export declare function uint8ArrayToBase64(data: Uint8Array): string;
5
+ /**
6
+ * Decode standard base64 to bytes.
7
+ */
8
+ export declare function base64ToUint8Array(str: string): Uint8Array;
9
+ /**
10
+ * Encode bytes to base64url (RFC 4648 Section 5, no padding).
11
+ */
12
+ export declare function uint8ArrayToBase64URL(data: Uint8Array): string;
13
+ /**
14
+ * Decode base64url (RFC 4648 Section 5, no padding) to bytes.
15
+ */
16
+ export declare function base64URLToUint8Array(str: string): Uint8Array;
17
+ /**
18
+ * Encode a string to base64url.
19
+ */
20
+ export declare function stringToBase64URL(str: string): string;
21
+ /**
22
+ * Decode base64url to a string.
23
+ */
24
+ export declare function base64URLToString(str: string): string;
25
+ export declare function arraysEqual(a: Uint8Array, b: Uint8Array): boolean;
26
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAY3D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAO1D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAG9D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAQ7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIrD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIrD;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAMjE"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Codegen orchestration for the Multitap Vite plugin.
3
+ *
4
+ * Runs TypeScript and Rust code generation from compiled schemas.
5
+ *
6
+ * @module vite/codegen-runner
7
+ */
8
+ import { type ConfigGraph, type MergedConfig } from '../codegen';
9
+ import { type CompiledStateSchema, type CompiledInputSchema } from '../schema';
10
+ export interface CodegenResult {
11
+ compiledState: CompiledStateSchema;
12
+ compiledInput: CompiledInputSchema;
13
+ mergedConfig: MergedConfig;
14
+ graph: ConfigGraph;
15
+ }
16
+ export interface CodegenOptions {
17
+ generatedDir: string;
18
+ verbose?: boolean;
19
+ }
20
+ /**
21
+ * Run full codegen pipeline: load configs, compile schemas, generate code.
22
+ *
23
+ * @param configPath - Absolute path to mt.config.json
24
+ * @param options - Codegen options
25
+ */
26
+ export declare function runCodegen(configPath: string, options: CodegenOptions): Promise<CodegenResult>;
27
+ //# sourceMappingURL=codegen-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codegen-runner.d.ts","sourceRoot":"","sources":["../../../src/vite/codegen-runner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAA0C,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEvH,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,mBAAmB,CAAC;IACnC,aAAa,EAAE,mBAAmB,CAAC;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAuDpG"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Vite plugin for Multitap game projects.
3
+ *
4
+ * @module vite
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * // vite.config.ts
9
+ * import { defineConfig } from 'vite';
10
+ * import react from '@vitejs/plugin-react';
11
+ * import multitap from './runtime/vite';
12
+ *
13
+ * export default defineConfig({
14
+ * plugins: [react(), multitap()],
15
+ * });
16
+ * ```
17
+ */
18
+ export { multitapPlugin as default, multitapPlugin } from './plugin';
19
+ export type { MultitapPluginOptions, WasmCompileResult } from './types';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vite/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACrE,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC"}