murow 0.0.60 → 0.0.71

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 (425) hide show
  1. package/README.md +52 -37
  2. package/dist/cjs/core/binary-codec/binary-codec.js +1 -0
  3. package/dist/cjs/core/binary-codec/index.js +1 -0
  4. package/dist/cjs/core/driver/driver.js +1 -0
  5. package/dist/cjs/core/driver/drivers/immediate.js +1 -0
  6. package/dist/cjs/core/driver/drivers/index.js +1 -0
  7. package/dist/cjs/core/driver/drivers/raf.js +1 -0
  8. package/dist/cjs/core/driver/drivers/timeout.js +1 -0
  9. package/dist/cjs/core/driver/index.js +1 -0
  10. package/dist/cjs/core/events/event-system.js +1 -0
  11. package/dist/cjs/core/events/index.js +1 -0
  12. package/dist/cjs/core/fixed-ticker/fixed-ticker.js +1 -0
  13. package/dist/cjs/core/fixed-ticker/index.js +1 -0
  14. package/dist/cjs/core/free-list/free-list.js +1 -0
  15. package/dist/cjs/core/free-list/index.js +1 -0
  16. package/dist/cjs/core/generate-id/generate-id.js +1 -0
  17. package/dist/cjs/core/generate-id/index.js +1 -0
  18. package/dist/cjs/core/index.js +1 -0
  19. package/dist/cjs/core/input/index.js +1 -0
  20. package/dist/cjs/core/input/manager.js +1 -0
  21. package/dist/cjs/core/input/sources/browser.js +1 -0
  22. package/dist/cjs/core/input/sources/index.js +1 -0
  23. package/dist/cjs/core/input/types.js +1 -0
  24. package/dist/cjs/core/lerp/index.js +1 -0
  25. package/dist/cjs/core/lerp/lerp.js +1 -0
  26. package/dist/cjs/core/navmesh/index.js +1 -0
  27. package/dist/cjs/core/navmesh/navmesh-worker-pool.js +1 -0
  28. package/dist/cjs/core/navmesh/navmesh.js +1 -0
  29. package/dist/cjs/core/navmesh/navmesh.worker.js +1 -0
  30. package/dist/cjs/core/pooled-codec/index.js +1 -0
  31. package/dist/cjs/core/pooled-codec/pooled-codec.js +1 -0
  32. package/dist/cjs/core/prediction/index.js +1 -0
  33. package/dist/cjs/core/prediction/prediction.js +1 -0
  34. package/dist/cjs/core/ray/index.js +1 -0
  35. package/dist/cjs/core/ray/ray-2d.js +1 -0
  36. package/dist/cjs/core/ray/ray-3d.js +1 -0
  37. package/dist/cjs/core/simple-rng/index.js +1 -0
  38. package/dist/cjs/core/simple-rng/simple-rng.js +1 -0
  39. package/dist/cjs/core/sparse-batcher/index.js +1 -0
  40. package/dist/cjs/core/sparse-batcher/sparse-batcher.js +1 -0
  41. package/dist/cjs/ecs/component-store.js +1 -0
  42. package/dist/cjs/ecs/component.js +1 -0
  43. package/dist/cjs/ecs/entity-handle.js +1 -0
  44. package/dist/cjs/ecs/index.js +1 -0
  45. package/dist/cjs/ecs/system-builder.js +1 -0
  46. package/dist/cjs/ecs/world-systems.js +1 -0
  47. package/dist/cjs/ecs/world.js +1 -0
  48. package/dist/cjs/game/index.js +1 -0
  49. package/dist/cjs/game/loop/index.js +1 -0
  50. package/dist/cjs/game/loop/loop.js +1 -0
  51. package/dist/cjs/index.js +1 -0
  52. package/dist/cjs/net/adapters/browser-websocket.js +1 -0
  53. package/dist/cjs/net/adapters/bun-websocket.js +1 -0
  54. package/dist/cjs/net/buffer-pool.js +1 -0
  55. package/dist/cjs/net/client.js +1 -0
  56. package/dist/cjs/net/index.js +1 -0
  57. package/dist/cjs/net/server.js +1 -0
  58. package/dist/cjs/net/types.js +1 -0
  59. package/dist/cjs/net/validators.js +1 -0
  60. package/dist/cjs/protocol/index.js +1 -0
  61. package/dist/cjs/protocol/intent/define-intent.js +1 -0
  62. package/dist/cjs/protocol/intent/index.js +1 -0
  63. package/dist/cjs/protocol/intent/intent-registry.js +1 -0
  64. package/dist/cjs/protocol/intent/intent.js +1 -0
  65. package/dist/cjs/protocol/rpc/define-rpc.js +1 -0
  66. package/dist/cjs/protocol/rpc/index.js +1 -0
  67. package/dist/cjs/protocol/rpc/rpc-registry.js +1 -0
  68. package/dist/cjs/protocol/rpc/rpc.js +1 -0
  69. package/dist/cjs/protocol/snapshot/index.js +1 -0
  70. package/dist/cjs/protocol/snapshot/snapshot-codec.js +1 -0
  71. package/dist/cjs/protocol/snapshot/snapshot-registry.js +1 -0
  72. package/dist/cjs/protocol/snapshot/snapshot.js +1 -0
  73. package/dist/cjs/renderer/base-2d-renderer.js +1 -0
  74. package/dist/cjs/renderer/base-3d-renderer.js +1 -0
  75. package/dist/cjs/renderer/base-renderer.js +1 -0
  76. package/dist/cjs/renderer/index.js +1 -0
  77. package/dist/cjs/renderer/types.js +1 -0
  78. package/dist/esm/core/binary-codec/binary-codec.js +1 -0
  79. package/dist/esm/core/binary-codec/index.js +1 -0
  80. package/dist/esm/core/driver/driver.js +1 -0
  81. package/dist/esm/core/driver/drivers/immediate.js +1 -0
  82. package/dist/esm/core/driver/drivers/index.js +1 -0
  83. package/dist/esm/core/driver/drivers/raf.js +1 -0
  84. package/dist/esm/core/driver/drivers/timeout.js +1 -0
  85. package/dist/esm/core/driver/index.js +1 -0
  86. package/dist/esm/core/events/event-system.js +1 -0
  87. package/dist/esm/core/events/index.js +1 -0
  88. package/dist/esm/core/fixed-ticker/fixed-ticker.js +1 -0
  89. package/dist/esm/core/fixed-ticker/index.js +1 -0
  90. package/dist/esm/core/free-list/free-list.js +1 -0
  91. package/dist/esm/core/free-list/index.js +1 -0
  92. package/dist/esm/core/generate-id/generate-id.js +1 -0
  93. package/dist/esm/core/generate-id/index.js +1 -0
  94. package/dist/esm/core/index.js +1 -0
  95. package/dist/esm/core/input/index.js +1 -0
  96. package/dist/esm/core/input/manager.js +1 -0
  97. package/dist/esm/core/input/sources/browser.js +1 -0
  98. package/dist/esm/core/input/sources/index.js +1 -0
  99. package/dist/esm/core/input/types.js +0 -0
  100. package/dist/esm/core/lerp/index.js +1 -0
  101. package/dist/esm/core/lerp/lerp.js +1 -0
  102. package/dist/esm/core/navmesh/index.js +1 -0
  103. package/dist/esm/core/navmesh/navmesh-worker-pool.js +1 -0
  104. package/dist/esm/core/navmesh/navmesh.js +1 -0
  105. package/dist/esm/core/navmesh/navmesh.worker.js +1 -0
  106. package/dist/esm/core/pooled-codec/index.js +1 -0
  107. package/dist/esm/core/pooled-codec/pooled-codec.js +1 -0
  108. package/dist/esm/core/prediction/index.js +1 -0
  109. package/dist/esm/core/prediction/prediction.js +1 -0
  110. package/dist/esm/core/ray/index.js +1 -0
  111. package/dist/esm/core/ray/ray-2d.js +1 -0
  112. package/dist/esm/core/ray/ray-3d.js +1 -0
  113. package/dist/esm/core/simple-rng/index.js +1 -0
  114. package/dist/esm/core/simple-rng/simple-rng.js +1 -0
  115. package/dist/esm/core/sparse-batcher/index.js +1 -0
  116. package/dist/esm/core/sparse-batcher/sparse-batcher.js +1 -0
  117. package/dist/esm/ecs/component-store.js +1 -0
  118. package/dist/esm/ecs/component.js +1 -0
  119. package/dist/esm/ecs/entity-handle.js +1 -0
  120. package/dist/esm/ecs/index.js +1 -0
  121. package/dist/esm/ecs/system-builder.js +1 -0
  122. package/dist/esm/ecs/world-systems.js +1 -0
  123. package/dist/esm/ecs/world.js +1 -0
  124. package/dist/esm/game/index.js +1 -0
  125. package/dist/esm/game/loop/index.js +1 -0
  126. package/dist/esm/game/loop/loop.js +1 -0
  127. package/dist/esm/index.js +1 -0
  128. package/dist/esm/net/adapters/browser-websocket.js +1 -0
  129. package/dist/esm/net/adapters/bun-websocket.js +1 -0
  130. package/dist/esm/net/buffer-pool.js +1 -0
  131. package/dist/esm/net/client.js +1 -0
  132. package/dist/esm/net/index.js +1 -0
  133. package/dist/esm/net/server.js +1 -0
  134. package/dist/esm/net/types.js +1 -0
  135. package/dist/esm/net/validators.js +1 -0
  136. package/dist/esm/protocol/index.js +1 -0
  137. package/dist/esm/protocol/intent/define-intent.js +1 -0
  138. package/dist/esm/protocol/intent/index.js +1 -0
  139. package/dist/esm/protocol/intent/intent-registry.js +1 -0
  140. package/dist/esm/protocol/intent/intent.js +0 -0
  141. package/dist/esm/protocol/rpc/define-rpc.js +1 -0
  142. package/dist/esm/protocol/rpc/index.js +1 -0
  143. package/dist/esm/protocol/rpc/rpc-registry.js +1 -0
  144. package/dist/esm/protocol/rpc/rpc.js +0 -0
  145. package/dist/esm/protocol/snapshot/index.js +1 -0
  146. package/dist/esm/protocol/snapshot/snapshot-codec.js +1 -0
  147. package/dist/esm/protocol/snapshot/snapshot-registry.js +1 -0
  148. package/dist/esm/protocol/snapshot/snapshot.js +1 -0
  149. package/dist/esm/renderer/base-2d-renderer.js +1 -0
  150. package/dist/esm/renderer/base-3d-renderer.js +1 -0
  151. package/dist/esm/renderer/base-renderer.js +1 -0
  152. package/dist/esm/renderer/index.js +1 -0
  153. package/dist/esm/renderer/types.js +0 -0
  154. package/dist/{core → types/core}/binary-codec/binary-codec.d.ts +4 -0
  155. package/dist/{core/loop → types/core/driver}/drivers/immediate.d.ts +1 -1
  156. package/dist/{core/loop → types/core/driver}/drivers/raf.d.ts +1 -1
  157. package/dist/{core/loop → types/core/driver}/drivers/timeout.d.ts +1 -1
  158. package/dist/{core/loop → types/core/driver}/index.d.ts +1 -1
  159. package/dist/{core → types/core}/events/event-system.d.ts +14 -33
  160. package/dist/{core → types/core}/fixed-ticker/fixed-ticker.d.ts +1 -1
  161. package/dist/types/core/free-list/free-list.d.ts +31 -0
  162. package/dist/types/core/free-list/index.d.ts +1 -0
  163. package/dist/{core → types/core}/index.d.ts +7 -1
  164. package/dist/types/core/input/index.d.ts +3 -0
  165. package/dist/types/core/input/manager.d.ts +56 -0
  166. package/dist/types/core/input/sources/browser.d.ts +9 -0
  167. package/dist/types/core/input/sources/index.d.ts +1 -0
  168. package/dist/types/core/input/types.d.ts +36 -0
  169. package/dist/{core → types/core}/navmesh/navmesh.d.ts +1 -21
  170. package/dist/types/core/ray/index.d.ts +2 -0
  171. package/dist/types/core/ray/ray-2d.d.ts +37 -0
  172. package/dist/types/core/ray/ray-3d.d.ts +42 -0
  173. package/dist/types/core/simple-rng/index.d.ts +1 -0
  174. package/dist/types/core/simple-rng/simple-rng.d.ts +36 -0
  175. package/dist/types/core/sparse-batcher/index.d.ts +1 -0
  176. package/dist/types/core/sparse-batcher/sparse-batcher.d.ts +55 -0
  177. package/dist/{ecs → types/ecs}/system-builder.d.ts +20 -9
  178. package/dist/{ecs → types/ecs}/world.d.ts +11 -0
  179. package/dist/types/game/index.d.ts +1 -0
  180. package/dist/types/game/loop/index.d.ts +1 -0
  181. package/dist/types/game/loop/loop.d.ts +175 -0
  182. package/dist/{index.d.ts → types/index.d.ts} +2 -0
  183. package/dist/{net → types/net}/index.d.ts +2 -2
  184. package/dist/{net → types/net}/server.d.ts +39 -19
  185. package/dist/{protocol → types/protocol}/intent/define-intent.d.ts +15 -0
  186. package/dist/{protocol → types/protocol}/intent/index.d.ts +1 -1
  187. package/dist/types/renderer/base-2d-renderer.d.ts +13 -0
  188. package/dist/types/renderer/base-3d-renderer.d.ts +10 -0
  189. package/dist/types/renderer/base-renderer.d.ts +21 -0
  190. package/dist/types/renderer/index.d.ts +4 -0
  191. package/dist/types/renderer/types.d.ts +79 -0
  192. package/dist/webgpu/cjs/index.js +6004 -0
  193. package/dist/webgpu/esm/index.js +5972 -0
  194. package/dist/webgpu/types/2d/animation.d.ts +97 -0
  195. package/dist/webgpu/types/2d/renderer.d.ts +55 -0
  196. package/dist/webgpu/types/2d/shader.d.ts +61 -0
  197. package/dist/webgpu/types/2d/sprite-accessor.d.ts +47 -0
  198. package/dist/webgpu/types/2d/sprite-accessor.test.d.ts +1 -0
  199. package/dist/webgpu/types/3d/gltf-skin-parser.d.ts +101 -0
  200. package/dist/webgpu/types/3d/morph-animation.d.ts +69 -0
  201. package/dist/webgpu/types/3d/morph-animation.test.d.ts +1 -0
  202. package/dist/webgpu/types/3d/renderer.d.ts +216 -0
  203. package/dist/webgpu/types/3d/shader.d.ts +136 -0
  204. package/dist/webgpu/types/3d/skeletal-animation-compute/index.d.ts +2 -0
  205. package/dist/webgpu/types/3d/skeletal-animation-compute/kernel.d.ts +8 -0
  206. package/dist/webgpu/types/3d/skeletal-animation-compute/packer.d.ts +32 -0
  207. package/dist/webgpu/types/3d/skeletal-animation.d.ts +90 -0
  208. package/dist/webgpu/types/camera/camera-2d.d.ts +53 -0
  209. package/dist/webgpu/types/camera/camera-2d.test.d.ts +1 -0
  210. package/dist/webgpu/types/camera/camera-3d.d.ts +81 -0
  211. package/dist/webgpu/types/camera/camera-3d.test.d.ts +1 -0
  212. package/dist/webgpu/types/camera/index.d.ts +2 -0
  213. package/dist/webgpu/types/compute/compute-builder.d.ts +123 -0
  214. package/dist/webgpu/types/compute/compute-builder.test.d.ts +1 -0
  215. package/dist/webgpu/types/core/constants.d.ts +59 -0
  216. package/dist/webgpu/types/core/constants.test.d.ts +1 -0
  217. package/dist/webgpu/types/core/index.d.ts +2 -0
  218. package/dist/webgpu/types/core/math.d.ts +37 -0
  219. package/dist/webgpu/types/core/types.d.ts +125 -0
  220. package/dist/webgpu/types/core/types.test.d.ts +1 -0
  221. package/dist/webgpu/types/geometry/built-in.d.ts +58 -0
  222. package/dist/webgpu/types/geometry/built-in.test.d.ts +1 -0
  223. package/dist/webgpu/types/geometry/geometry-builder.d.ts +281 -0
  224. package/dist/webgpu/types/geometry/geometry-builder.test.d.ts +1 -0
  225. package/dist/webgpu/types/geometry/index.d.ts +2 -0
  226. package/dist/webgpu/types/index.d.ts +32 -0
  227. package/dist/webgpu/types/particle/emitter.d.ts +36 -0
  228. package/dist/webgpu/types/shaders/index.d.ts +2 -0
  229. package/dist/webgpu/types/shaders/runtime-transpile.d.ts +18 -0
  230. package/dist/webgpu/types/shaders/sprite-2d.wgsl.d.ts +10 -0
  231. package/dist/webgpu/types/shaders/typegpu.d.ts +9 -0
  232. package/dist/webgpu/types/shaders/utils.d.ts +28 -0
  233. package/dist/webgpu/types/shaders/utils.test.d.ts +1 -0
  234. package/dist/webgpu/types/spritesheet/index.d.ts +1 -0
  235. package/dist/webgpu/types/spritesheet/spritesheet.d.ts +57 -0
  236. package/dist/webgpu/types/spritesheet/spritesheet.test.d.ts +1 -0
  237. package/package.json +96 -26
  238. package/dist/core/binary-codec/binary-codec.js +0 -354
  239. package/dist/core/binary-codec/index.js +0 -1
  240. package/dist/core/events/event-system.js +0 -88
  241. package/dist/core/events/index.js +0 -1
  242. package/dist/core/fixed-ticker/fixed-ticker.js +0 -101
  243. package/dist/core/fixed-ticker/index.js +0 -1
  244. package/dist/core/generate-id/generate-id.js +0 -25
  245. package/dist/core/generate-id/index.js +0 -1
  246. package/dist/core/index.js +0 -9
  247. package/dist/core/lerp/index.js +0 -1
  248. package/dist/core/lerp/lerp.js +0 -42
  249. package/dist/core/loop/drivers/immediate.js +0 -61
  250. package/dist/core/loop/drivers/index.js +0 -3
  251. package/dist/core/loop/drivers/raf.js +0 -62
  252. package/dist/core/loop/drivers/timeout.js +0 -71
  253. package/dist/core/loop/index.js +0 -2
  254. package/dist/core/loop/loop.js +0 -47
  255. package/dist/core/navmesh/index.js +0 -1
  256. package/dist/core/navmesh/navmesh-worker-pool.js +0 -180
  257. package/dist/core/navmesh/navmesh.js +0 -799
  258. package/dist/core/navmesh/navmesh.worker.js +0 -79
  259. package/dist/core/pooled-codec/index.js +0 -1
  260. package/dist/core/pooled-codec/pooled-codec.js +0 -410
  261. package/dist/core/prediction/index.js +0 -1
  262. package/dist/core/prediction/prediction.js +0 -99
  263. package/dist/core.esm.js +0 -1
  264. package/dist/core.js +0 -1
  265. package/dist/ecs/component-store.js +0 -175
  266. package/dist/ecs/component.js +0 -43
  267. package/dist/ecs/entity-handle.js +0 -515
  268. package/dist/ecs/example.js +0 -125
  269. package/dist/ecs/index.js +0 -4
  270. package/dist/ecs/system-builder.js +0 -180
  271. package/dist/ecs/system.d.ts +0 -63
  272. package/dist/ecs/system.js +0 -92
  273. package/dist/ecs/world-systems.js +0 -79
  274. package/dist/ecs/world.js +0 -684
  275. package/dist/index.js +0 -24
  276. package/dist/net/adapters/browser-websocket.js +0 -74
  277. package/dist/net/adapters/bun-websocket.js +0 -245
  278. package/dist/net/buffer-pool.js +0 -89
  279. package/dist/net/client.js +0 -586
  280. package/dist/net/index.js +0 -58
  281. package/dist/net/server.js +0 -938
  282. package/dist/net/types.js +0 -31
  283. package/dist/net/validators.js +0 -88
  284. package/dist/protocol/index.js +0 -92
  285. package/dist/protocol/intent/define-intent.js +0 -125
  286. package/dist/protocol/intent/index.js +0 -91
  287. package/dist/protocol/intent/intent-registry.js +0 -91
  288. package/dist/protocol/rpc/define-rpc.js +0 -84
  289. package/dist/protocol/rpc/index.js +0 -3
  290. package/dist/protocol/rpc/rpc-registry.js +0 -159
  291. package/dist/protocol/rpc/rpc.js +0 -12
  292. package/dist/protocol/snapshot/index.js +0 -43
  293. package/dist/protocol/snapshot/snapshot-codec.js +0 -67
  294. package/dist/protocol/snapshot/snapshot-registry.js +0 -168
  295. package/dist/protocol/snapshot/snapshot.js +0 -30
  296. package/src/core/binary-codec/README.md +0 -60
  297. package/src/core/binary-codec/binary-codec.test.ts +0 -300
  298. package/src/core/binary-codec/binary-codec.ts +0 -448
  299. package/src/core/binary-codec/index.ts +0 -1
  300. package/src/core/events/README.md +0 -47
  301. package/src/core/events/event-system.test.ts +0 -243
  302. package/src/core/events/event-system.ts +0 -140
  303. package/src/core/events/index.ts +0 -1
  304. package/src/core/fixed-ticker/README.md +0 -77
  305. package/src/core/fixed-ticker/fixed-ticker.test.ts +0 -151
  306. package/src/core/fixed-ticker/fixed-ticker.ts +0 -169
  307. package/src/core/fixed-ticker/index.ts +0 -1
  308. package/src/core/generate-id/README.md +0 -18
  309. package/src/core/generate-id/generate-id.test.ts +0 -79
  310. package/src/core/generate-id/generate-id.ts +0 -37
  311. package/src/core/generate-id/index.ts +0 -1
  312. package/src/core/index.ts +0 -9
  313. package/src/core/lerp/README.md +0 -79
  314. package/src/core/lerp/index.ts +0 -1
  315. package/src/core/lerp/lerp.test.ts +0 -90
  316. package/src/core/lerp/lerp.ts +0 -42
  317. package/src/core/loop/README.md +0 -97
  318. package/src/core/loop/drivers/immediate.ts +0 -66
  319. package/src/core/loop/drivers/index.ts +0 -3
  320. package/src/core/loop/drivers/raf.ts +0 -67
  321. package/src/core/loop/drivers/timeout.ts +0 -77
  322. package/src/core/loop/index.ts +0 -2
  323. package/src/core/loop/loop.test.ts +0 -414
  324. package/src/core/loop/loop.ts +0 -71
  325. package/src/core/navmesh/README.md +0 -164
  326. package/src/core/navmesh/index.ts +0 -1
  327. package/src/core/navmesh/navmesh-worker-pool.ts +0 -236
  328. package/src/core/navmesh/navmesh-workers.test.ts +0 -356
  329. package/src/core/navmesh/navmesh.test.ts +0 -344
  330. package/src/core/navmesh/navmesh.ts +0 -1047
  331. package/src/core/navmesh/navmesh.worker.ts +0 -147
  332. package/src/core/pooled-codec/README.md +0 -70
  333. package/src/core/pooled-codec/index.ts +0 -1
  334. package/src/core/pooled-codec/pooled-codec.test.ts +0 -862
  335. package/src/core/pooled-codec/pooled-codec.ts +0 -504
  336. package/src/core/prediction/README.md +0 -64
  337. package/src/core/prediction/index.ts +0 -1
  338. package/src/core/prediction/prediction.test.ts +0 -423
  339. package/src/core/prediction/prediction.ts +0 -112
  340. package/src/ecs/README.md +0 -427
  341. package/src/ecs/benchmark.test.ts +0 -1645
  342. package/src/ecs/component-store.ts +0 -198
  343. package/src/ecs/component.ts +0 -90
  344. package/src/ecs/entity-handle.test.ts +0 -393
  345. package/src/ecs/entity-handle.ts +0 -563
  346. package/src/ecs/example.ts +0 -152
  347. package/src/ecs/index.ts +0 -4
  348. package/src/ecs/system-builder.ts +0 -309
  349. package/src/ecs/system.ts +0 -111
  350. package/src/ecs/world-systems.ts +0 -83
  351. package/src/ecs/world.test.ts +0 -310
  352. package/src/ecs/world.ts +0 -828
  353. package/src/index.ts +0 -28
  354. package/src/net/README.md +0 -474
  355. package/src/net/adapters/browser-websocket.ts +0 -86
  356. package/src/net/adapters/bun-websocket.ts +0 -292
  357. package/src/net/buffer-pool.ts +0 -106
  358. package/src/net/client.test.ts +0 -807
  359. package/src/net/client.ts +0 -695
  360. package/src/net/index.ts +0 -60
  361. package/src/net/server.test.ts +0 -799
  362. package/src/net/server.ts +0 -1116
  363. package/src/net/types.ts +0 -228
  364. package/src/net/validators.ts +0 -104
  365. package/src/protocol/README.md +0 -469
  366. package/src/protocol/index.ts +0 -93
  367. package/src/protocol/intent/define-intent.test.ts +0 -397
  368. package/src/protocol/intent/define-intent.ts +0 -182
  369. package/src/protocol/intent/index.ts +0 -94
  370. package/src/protocol/intent/intent-registry.test.ts +0 -198
  371. package/src/protocol/intent/intent-registry.ts +0 -112
  372. package/src/protocol/intent/intent.ts +0 -12
  373. package/src/protocol/rpc/define-rpc.test.ts +0 -141
  374. package/src/protocol/rpc/define-rpc.ts +0 -113
  375. package/src/protocol/rpc/index.ts +0 -3
  376. package/src/protocol/rpc/rpc-registry.test.ts +0 -168
  377. package/src/protocol/rpc/rpc-registry.ts +0 -176
  378. package/src/protocol/rpc/rpc.ts +0 -37
  379. package/src/protocol/snapshot/index.ts +0 -45
  380. package/src/protocol/snapshot/snapshot-codec.test.ts +0 -138
  381. package/src/protocol/snapshot/snapshot-codec.ts +0 -87
  382. package/src/protocol/snapshot/snapshot-registry.test.ts +0 -310
  383. package/src/protocol/snapshot/snapshot-registry.ts +0 -201
  384. package/src/protocol/snapshot/snapshot.test.ts +0 -76
  385. package/src/protocol/snapshot/snapshot.ts +0 -41
  386. /package/dist/{core → types/core}/binary-codec/index.d.ts +0 -0
  387. /package/dist/{core/loop/loop.d.ts → types/core/driver/driver.d.ts} +0 -0
  388. /package/dist/{core/loop → types/core/driver}/drivers/index.d.ts +0 -0
  389. /package/dist/{core → types/core}/events/index.d.ts +0 -0
  390. /package/dist/{core → types/core}/fixed-ticker/index.d.ts +0 -0
  391. /package/dist/{core → types/core}/generate-id/generate-id.d.ts +0 -0
  392. /package/dist/{core → types/core}/generate-id/index.d.ts +0 -0
  393. /package/dist/{core → types/core}/lerp/index.d.ts +0 -0
  394. /package/dist/{core → types/core}/lerp/lerp.d.ts +0 -0
  395. /package/dist/{core → types/core}/navmesh/index.d.ts +0 -0
  396. /package/dist/{core → types/core}/navmesh/navmesh-worker-pool.d.ts +0 -0
  397. /package/dist/{core → types/core}/navmesh/navmesh.worker.d.ts +0 -0
  398. /package/dist/{core → types/core}/pooled-codec/index.d.ts +0 -0
  399. /package/dist/{core → types/core}/pooled-codec/pooled-codec.d.ts +0 -0
  400. /package/dist/{core → types/core}/prediction/index.d.ts +0 -0
  401. /package/dist/{core → types/core}/prediction/prediction.d.ts +0 -0
  402. /package/dist/{ecs → types/ecs}/component-store.d.ts +0 -0
  403. /package/dist/{ecs → types/ecs}/component.d.ts +0 -0
  404. /package/dist/{ecs → types/ecs}/entity-handle.d.ts +0 -0
  405. /package/dist/{ecs → types/ecs}/example.d.ts +0 -0
  406. /package/dist/{ecs → types/ecs}/index.d.ts +0 -0
  407. /package/dist/{ecs → types/ecs}/world-systems.d.ts +0 -0
  408. /package/dist/{net → types/net}/adapters/browser-websocket.d.ts +0 -0
  409. /package/dist/{net → types/net}/adapters/bun-websocket.d.ts +0 -0
  410. /package/dist/{net → types/net}/buffer-pool.d.ts +0 -0
  411. /package/dist/{net → types/net}/client.d.ts +0 -0
  412. /package/dist/{net → types/net}/types.d.ts +0 -0
  413. /package/dist/{net → types/net}/validators.d.ts +0 -0
  414. /package/dist/{protocol → types/protocol}/index.d.ts +0 -0
  415. /package/dist/{protocol → types/protocol}/intent/intent-registry.d.ts +0 -0
  416. /package/dist/{protocol → types/protocol}/intent/intent.d.ts +0 -0
  417. /package/dist/{protocol → types/protocol}/rpc/define-rpc.d.ts +0 -0
  418. /package/dist/{protocol → types/protocol}/rpc/index.d.ts +0 -0
  419. /package/dist/{protocol → types/protocol}/rpc/rpc-registry.d.ts +0 -0
  420. /package/dist/{protocol → types/protocol}/rpc/rpc.d.ts +0 -0
  421. /package/dist/{protocol → types/protocol}/snapshot/index.d.ts +0 -0
  422. /package/dist/{protocol → types/protocol}/snapshot/snapshot-codec.d.ts +0 -0
  423. /package/dist/{protocol → types/protocol}/snapshot/snapshot-registry.d.ts +0 -0
  424. /package/dist/{protocol → types/protocol}/snapshot/snapshot.d.ts +0 -0
  425. /package/dist/{protocol/intent/intent.js → webgpu/types/2d/animation.test.d.ts} +0 -0
@@ -1,300 +0,0 @@
1
- import { describe, expect, test } from "bun:test";
2
- import { BinaryCodec, BinaryPrimitives } from "./binary-codec";
3
-
4
- describe("BinaryCodec - Primitives", () => {
5
- test("should encode and decode u8", () => {
6
- const schema = { value: BinaryPrimitives.u8 };
7
- const data = { value: 255 };
8
- const encoded = BinaryCodec.encode(schema, data);
9
- const decoded = BinaryCodec.decode(schema, encoded, { value: 0 });
10
- expect(decoded.value).toBe(255);
11
- });
12
-
13
- test("should encode and decode u16", () => {
14
- const schema = { value: BinaryPrimitives.u16 };
15
- const data = { value: 65535 };
16
- const encoded = BinaryCodec.encode(schema, data);
17
- const decoded = BinaryCodec.decode(schema, encoded, { value: 0 });
18
- expect(decoded.value).toBe(65535);
19
- });
20
-
21
- test("should encode and decode u32", () => {
22
- const schema = { value: BinaryPrimitives.u32 };
23
- const data = { value: 4294967295 };
24
- const encoded = BinaryCodec.encode(schema, data);
25
- const decoded = BinaryCodec.decode(schema, encoded, { value: 0 });
26
- expect(decoded.value).toBe(4294967295);
27
- });
28
-
29
- test("should encode and decode i8", () => {
30
- const schema = { value: BinaryPrimitives.i8 };
31
- const data = { value: -128 };
32
- const encoded = BinaryCodec.encode(schema, data);
33
- const decoded = BinaryCodec.decode(schema, encoded, { value: 0 });
34
- expect(decoded.value).toBe(-128);
35
- });
36
-
37
- test("should encode and decode i16", () => {
38
- const schema = { value: BinaryPrimitives.i16 };
39
- const data = { value: -32768 };
40
- const encoded = BinaryCodec.encode(schema, data);
41
- const decoded = BinaryCodec.decode(schema, encoded, { value: 0 });
42
- expect(decoded.value).toBe(-32768);
43
- });
44
-
45
- test("should encode and decode i32", () => {
46
- const schema = { value: BinaryPrimitives.i32 };
47
- const data = { value: -2147483648 };
48
- const encoded = BinaryCodec.encode(schema, data);
49
- const decoded = BinaryCodec.decode(schema, encoded, { value: 0 });
50
- expect(decoded.value).toBe(-2147483648);
51
- });
52
-
53
- test("should encode and decode f32", () => {
54
- const schema = { value: BinaryPrimitives.f32 };
55
- const data = { value: 3.14159 };
56
- const encoded = BinaryCodec.encode(schema, data);
57
- const decoded = BinaryCodec.decode(schema, encoded, { value: 0 });
58
- expect(decoded.value).toBeCloseTo(3.14159, 5);
59
- });
60
-
61
- test("should encode and decode f64", () => {
62
- const schema = { value: BinaryPrimitives.f64 };
63
- const data = { value: Math.PI };
64
- const encoded = BinaryCodec.encode(schema, data);
65
- const decoded = BinaryCodec.decode(schema, encoded, { value: 0 });
66
- expect(decoded.value).toBeCloseTo(Math.PI, 15);
67
- });
68
-
69
- test("should encode and decode bool", () => {
70
- const schema = { flag: BinaryPrimitives.bool };
71
- const data1 = { flag: true };
72
- const encoded1 = BinaryCodec.encode(schema, data1);
73
- const decoded1 = BinaryCodec.decode(schema, encoded1, { flag: false });
74
- expect(decoded1.flag).toBe(true);
75
-
76
- const data2 = { flag: false };
77
- const encoded2 = BinaryCodec.encode(schema, data2);
78
- const decoded2 = BinaryCodec.decode(schema, encoded2, { flag: true });
79
- expect(decoded2.flag).toBe(false);
80
- });
81
-
82
- test("should encode and decode string", () => {
83
- const schema = { name: BinaryPrimitives.string(20) };
84
- const data = { name: "Player1" };
85
- const encoded = BinaryCodec.encode(schema, data);
86
- const decoded = BinaryCodec.decode(schema, encoded, { name: "" });
87
- expect(decoded.name).toBe("Player1");
88
- });
89
-
90
- test("should throw on string too long", () => {
91
- const schema = { name: BinaryPrimitives.string(5) };
92
- const data = { name: "TooLongString" };
93
- expect(() => BinaryCodec.encode(schema, data)).toThrow();
94
- });
95
-
96
- test("should encode and decode vec2", () => {
97
- const schema = { pos: BinaryPrimitives.vec2 };
98
- const data = { pos: { x: 10.5, y: 20.7 } };
99
- const encoded = BinaryCodec.encode(schema, data);
100
- const decoded = BinaryCodec.decode(schema, encoded, { pos: { x: 0, y: 0 } });
101
- expect(decoded.pos.x).toBeCloseTo(10.5, 5);
102
- expect(decoded.pos.y).toBeCloseTo(20.7, 5);
103
- });
104
-
105
- test("should encode and decode vec3", () => {
106
- const schema = { pos: BinaryPrimitives.vec3 };
107
- const data = { pos: { x: 1.1, y: 2.2, z: 3.3 } };
108
- const encoded = BinaryCodec.encode(schema, data);
109
- const decoded = BinaryCodec.decode(schema, encoded, {
110
- pos: { x: 0, y: 0, z: 0 },
111
- });
112
- expect(decoded.pos.x).toBeCloseTo(1.1, 5);
113
- expect(decoded.pos.y).toBeCloseTo(2.2, 5);
114
- expect(decoded.pos.z).toBeCloseTo(3.3, 5);
115
- });
116
-
117
- test("should encode and decode color", () => {
118
- const schema = { color: BinaryPrimitives.color };
119
- const data = { color: { r: 255, g: 128, b: 64, a: 32 } };
120
- const encoded = BinaryCodec.encode(schema, data);
121
- const decoded = BinaryCodec.decode(schema, encoded, {
122
- color: { r: 0, g: 0, b: 0, a: 0 },
123
- });
124
- expect(decoded.color.r).toBe(255);
125
- expect(decoded.color.g).toBe(128);
126
- expect(decoded.color.b).toBe(64);
127
- expect(decoded.color.a).toBe(32);
128
- });
129
- });
130
-
131
- describe("BinaryCodec - Complex Schemas", () => {
132
- test("should encode and decode multiple fields", () => {
133
- const schema = {
134
- id: BinaryPrimitives.u32,
135
- name: BinaryPrimitives.string(10),
136
- health: BinaryPrimitives.f32,
137
- alive: BinaryPrimitives.bool,
138
- };
139
- const data = {
140
- id: 12345,
141
- name: "Hero",
142
- health: 85.5,
143
- alive: true,
144
- };
145
- const encoded = BinaryCodec.encode(schema, data);
146
- const decoded = BinaryCodec.decode(schema, encoded, {
147
- id: 0,
148
- name: "",
149
- health: 0,
150
- alive: false,
151
- });
152
- expect(decoded.id).toBe(12345);
153
- expect(decoded.name).toBe("Hero");
154
- expect(decoded.health).toBeCloseTo(85.5, 5);
155
- expect(decoded.alive).toBe(true);
156
- });
157
-
158
- test("should maintain field order", () => {
159
- const schema = {
160
- a: BinaryPrimitives.u8,
161
- b: BinaryPrimitives.u8,
162
- c: BinaryPrimitives.u8,
163
- };
164
- const data = { a: 1, b: 2, c: 3 };
165
- const encoded = BinaryCodec.encode(schema, data);
166
- expect(Array.from(encoded)).toEqual([1, 2, 3]);
167
- });
168
-
169
- test("should throw on buffer too small", () => {
170
- const schema = { value: BinaryPrimitives.u32 };
171
- const smallBuffer = new Uint8Array(2); // Only 2 bytes, need 4
172
- expect(() =>
173
- BinaryCodec.decode(schema, smallBuffer, { value: 0 })
174
- ).toThrow();
175
- });
176
-
177
- test("should handle empty string", () => {
178
- const schema = { name: BinaryPrimitives.string(10) };
179
- const data = { name: "" };
180
- const encoded = BinaryCodec.encode(schema, data);
181
- const decoded = BinaryCodec.decode(schema, encoded, { name: "default" });
182
- expect(decoded.name).toBe("");
183
- });
184
-
185
- test("should handle unicode strings", () => {
186
- const schema = { text: BinaryPrimitives.string(20) };
187
- const data = { text: "Hello 世界" };
188
- const encoded = BinaryCodec.encode(schema, data);
189
- const decoded = BinaryCodec.decode(schema, encoded, { text: "" });
190
- expect(decoded.text).toBe("Hello 世界");
191
- });
192
- });
193
-
194
- describe("BinaryCodec - Little Endian Variants", () => {
195
- test("should encode and decode f32_le", () => {
196
- const schema = { value: BinaryPrimitives.f32_le };
197
- const data = { value: 1.234 };
198
- const encoded = BinaryCodec.encode(schema, data);
199
- const decoded = BinaryCodec.decode(schema, encoded, { value: 0 });
200
- expect(decoded.value).toBeCloseTo(1.234, 5);
201
- });
202
-
203
- test("should encode and decode f64_le", () => {
204
- const schema = { value: BinaryPrimitives.f64_le };
205
- const data = { value: Math.E };
206
- const encoded = BinaryCodec.encode(schema, data);
207
- const decoded = BinaryCodec.decode(schema, encoded, { value: 0 });
208
- expect(decoded.value).toBeCloseTo(Math.E, 15);
209
- });
210
-
211
- test("should encode and decode vec2_le", () => {
212
- const schema = { pos: BinaryPrimitives.vec2_le };
213
- const data = { pos: [5.5, 6.6] as [number, number] };
214
- const encoded = BinaryCodec.encode(schema, data);
215
- const decoded = BinaryCodec.decode(schema, encoded, { pos: [0, 0] as [number, number] });
216
- expect(decoded.pos[0]).toBeCloseTo(5.5, 5);
217
- expect(decoded.pos[1]).toBeCloseTo(6.6, 5);
218
- });
219
-
220
- test("should encode and decode vec3_le", () => {
221
- const schema = { pos: BinaryPrimitives.vec3_le };
222
- const data = { pos: [1.1, 2.2, 3.3] as [number, number, number] };
223
- const encoded = BinaryCodec.encode(schema, data);
224
- const decoded = BinaryCodec.decode(schema, encoded, {
225
- pos: [0, 0, 0] as [number, number, number],
226
- });
227
- expect(decoded.pos[0]).toBeCloseTo(1.1, 5);
228
- expect(decoded.pos[1]).toBeCloseTo(2.2, 5);
229
- expect(decoded.pos[2]).toBeCloseTo(3.3, 5);
230
- });
231
-
232
- test("should encode and decode vec4_le", () => {
233
- const schema = { quat: BinaryPrimitives.vec4_le };
234
- const data = { quat: [0.1, 0.2, 0.3, 0.4] as [number, number, number, number] };
235
- const encoded = BinaryCodec.encode(schema, data);
236
- const decoded = BinaryCodec.decode(schema, encoded, {
237
- quat: [0, 0, 0, 0] as [number, number, number, number],
238
- });
239
- expect(decoded.quat[0]).toBeCloseTo(0.1, 5);
240
- expect(decoded.quat[1]).toBeCloseTo(0.2, 5);
241
- expect(decoded.quat[2]).toBeCloseTo(0.3, 5);
242
- expect(decoded.quat[3]).toBeCloseTo(0.4, 5);
243
- });
244
- });
245
-
246
- describe("BinaryCodec - Edge Cases", () => {
247
- test("should handle zero values", () => {
248
- const schema = {
249
- u8: BinaryPrimitives.u8,
250
- i32: BinaryPrimitives.i32,
251
- f32: BinaryPrimitives.f32,
252
- };
253
- const data = { u8: 0, i32: 0, f32: 0 };
254
- const encoded = BinaryCodec.encode(schema, data);
255
- const decoded = BinaryCodec.decode(schema, encoded, {
256
- u8: 1,
257
- i32: 1,
258
- f32: 1,
259
- });
260
- expect(decoded.u8).toBe(0);
261
- expect(decoded.i32).toBe(0);
262
- expect(decoded.f32).toBe(0);
263
- });
264
-
265
- test("should handle max values", () => {
266
- const schema = {
267
- u8: BinaryPrimitives.u8,
268
- u16: BinaryPrimitives.u16,
269
- u32: BinaryPrimitives.u32,
270
- };
271
- const data = { u8: 255, u16: 65535, u32: 4294967295 };
272
- const encoded = BinaryCodec.encode(schema, data);
273
- const decoded = BinaryCodec.decode(schema, encoded, {
274
- u8: 0,
275
- u16: 0,
276
- u32: 0,
277
- });
278
- expect(decoded.u8).toBe(255);
279
- expect(decoded.u16).toBe(65535);
280
- expect(decoded.u32).toBe(4294967295);
281
- });
282
-
283
- test("should handle min signed values", () => {
284
- const schema = {
285
- i8: BinaryPrimitives.i8,
286
- i16: BinaryPrimitives.i16,
287
- i32: BinaryPrimitives.i32,
288
- };
289
- const data = { i8: -128, i16: -32768, i32: -2147483648 };
290
- const encoded = BinaryCodec.encode(schema, data);
291
- const decoded = BinaryCodec.decode(schema, encoded, {
292
- i8: 0,
293
- i16: 0,
294
- i32: 0,
295
- });
296
- expect(decoded.i8).toBe(-128);
297
- expect(decoded.i16).toBe(-32768);
298
- expect(decoded.i32).toBe(-2147483648);
299
- });
300
- });