@zylem/game-lib 0.4.1 → 0.5.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 (362) hide show
  1. package/README.md +23 -41
  2. package/dist/actions.d.ts +25 -0
  3. package/dist/actions.js +287 -8
  4. package/dist/actions.js.map +1 -0
  5. package/dist/behaviors.d.ts +108 -0
  6. package/dist/behaviors.js +396 -6
  7. package/dist/behaviors.js.map +1 -0
  8. package/dist/{lib/camera/zylem-camera.d.ts → camera-Dk-fOVZE.d.ts} +55 -8
  9. package/dist/camera.d.ts +5 -0
  10. package/dist/camera.js +504 -4
  11. package/dist/camera.js.map +1 -0
  12. package/dist/core-C2mjetAd.d.ts +431 -0
  13. package/dist/core.d.ts +9 -0
  14. package/dist/core.js +4780 -9
  15. package/dist/core.js.map +1 -0
  16. package/dist/entities.d.ts +269 -0
  17. package/dist/entities.js +2161 -17
  18. package/dist/entities.js.map +1 -0
  19. package/dist/entity-bQElAdpo.d.ts +347 -0
  20. package/dist/entity-spawner-DNnLYnZq.d.ts +11 -0
  21. package/dist/main.d.ts +135 -0
  22. package/dist/main.js +6599 -56
  23. package/dist/main.js.map +1 -0
  24. package/dist/moveable-B_vyA6cw.d.ts +67 -0
  25. package/dist/stage-CrmY7V0i.d.ts +287 -0
  26. package/dist/stage.d.ts +26 -0
  27. package/dist/stage.js +2229 -15
  28. package/dist/stage.js.map +1 -0
  29. package/dist/transformable-CUhvyuYO.d.ts +67 -0
  30. package/package.json +12 -42
  31. package/LICENSE +0 -21
  32. package/dist/.vite/manifest.json +0 -676
  33. package/dist/api/actions.d.ts +0 -5
  34. package/dist/api/actions.d.ts.map +0 -1
  35. package/dist/api/behaviors.d.ts +0 -4
  36. package/dist/api/behaviors.d.ts.map +0 -1
  37. package/dist/api/camera.d.ts +0 -4
  38. package/dist/api/camera.d.ts.map +0 -1
  39. package/dist/api/core.d.ts +0 -6
  40. package/dist/api/core.d.ts.map +0 -1
  41. package/dist/api/entities.d.ts +0 -9
  42. package/dist/api/entities.d.ts.map +0 -1
  43. package/dist/api/main.d.ts +0 -32
  44. package/dist/api/main.d.ts.map +0 -1
  45. package/dist/api/stage.d.ts +0 -6
  46. package/dist/api/stage.d.ts.map +0 -1
  47. package/dist/assets/zylem-logo.png +0 -0
  48. package/dist/lib/actions/behaviors/actions.d.ts +0 -11
  49. package/dist/lib/actions/behaviors/actions.d.ts.map +0 -1
  50. package/dist/lib/actions/behaviors/actions.js +0 -35
  51. package/dist/lib/actions/behaviors/behavior.d.ts +0 -6
  52. package/dist/lib/actions/behaviors/behavior.d.ts.map +0 -1
  53. package/dist/lib/actions/behaviors/boundaries/boundary.d.ts +0 -37
  54. package/dist/lib/actions/behaviors/boundaries/boundary.d.ts.map +0 -1
  55. package/dist/lib/actions/behaviors/boundaries/boundary.js +0 -40
  56. package/dist/lib/actions/behaviors/character-controller.d.ts +0 -6
  57. package/dist/lib/actions/behaviors/character-controller.d.ts.map +0 -1
  58. package/dist/lib/actions/behaviors/debug/debug-collision.d.ts +0 -6
  59. package/dist/lib/actions/behaviors/debug/debug-collision.d.ts.map +0 -1
  60. package/dist/lib/actions/behaviors/debug/debug-update.d.ts +0 -5
  61. package/dist/lib/actions/behaviors/debug/debug-update.d.ts.map +0 -1
  62. package/dist/lib/actions/behaviors/debug/debug.d.ts +0 -10
  63. package/dist/lib/actions/behaviors/debug/debug.d.ts.map +0 -1
  64. package/dist/lib/actions/behaviors/movement/movement-sequence-2d.d.ts +0 -24
  65. package/dist/lib/actions/behaviors/movement/movement-sequence-2d.d.ts.map +0 -1
  66. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-collision.d.ts +0 -11
  67. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-collision.d.ts.map +0 -1
  68. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-collision.js +0 -100
  69. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-in-bounds.d.ts +0 -12
  70. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-in-bounds.d.ts.map +0 -1
  71. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-in-bounds.js +0 -37
  72. package/dist/lib/actions/behaviors/ricochet/ricochet.d.ts +0 -44
  73. package/dist/lib/actions/behaviors/ricochet/ricochet.d.ts.map +0 -1
  74. package/dist/lib/actions/behaviors/ricochet/ricochet.js +0 -6
  75. package/dist/lib/actions/behaviors/zylem-behavior.d.ts +0 -2
  76. package/dist/lib/actions/behaviors/zylem-behavior.d.ts.map +0 -1
  77. package/dist/lib/actions/capabilities/moveable.d.ts +0 -125
  78. package/dist/lib/actions/capabilities/moveable.d.ts.map +0 -1
  79. package/dist/lib/actions/capabilities/moveable.js +0 -108
  80. package/dist/lib/actions/capabilities/rotatable.d.ts +0 -111
  81. package/dist/lib/actions/capabilities/rotatable.d.ts.map +0 -1
  82. package/dist/lib/actions/capabilities/rotatable.js +0 -82
  83. package/dist/lib/actions/capabilities/transformable.d.ts +0 -7
  84. package/dist/lib/actions/capabilities/transformable.d.ts.map +0 -1
  85. package/dist/lib/actions/capabilities/transformable.js +0 -9
  86. package/dist/lib/actions/global-change.d.ts +0 -23
  87. package/dist/lib/actions/global-change.d.ts.map +0 -1
  88. package/dist/lib/actions/global-change.js +0 -40
  89. package/dist/lib/camera/camera.d.ts +0 -16
  90. package/dist/lib/camera/camera.d.ts.map +0 -1
  91. package/dist/lib/camera/camera.js +0 -19
  92. package/dist/lib/camera/fixed-2d.d.ts +0 -32
  93. package/dist/lib/camera/fixed-2d.d.ts.map +0 -1
  94. package/dist/lib/camera/fixed-2d.js +0 -30
  95. package/dist/lib/camera/perspective.d.ts +0 -9
  96. package/dist/lib/camera/perspective.d.ts.map +0 -1
  97. package/dist/lib/camera/perspective.js +0 -10
  98. package/dist/lib/camera/third-person.d.ts +0 -32
  99. package/dist/lib/camera/third-person.d.ts.map +0 -1
  100. package/dist/lib/camera/third-person.js +0 -42
  101. package/dist/lib/camera/zylem-camera.d.ts.map +0 -1
  102. package/dist/lib/camera/zylem-camera.js +0 -208
  103. package/dist/lib/collision/collision-builder.d.ts +0 -17
  104. package/dist/lib/collision/collision-builder.d.ts.map +0 -1
  105. package/dist/lib/collision/collision-builder.js +0 -46
  106. package/dist/lib/collision/collision-delegate.d.ts +0 -6
  107. package/dist/lib/collision/collision-delegate.d.ts.map +0 -1
  108. package/dist/lib/collision/collision-delegate.js +0 -6
  109. package/dist/lib/collision/collision-group.d.ts +0 -11
  110. package/dist/lib/collision/collision-group.d.ts.map +0 -1
  111. package/dist/lib/collision/collision-mask.d.ts +0 -18
  112. package/dist/lib/collision/collision-mask.d.ts.map +0 -1
  113. package/dist/lib/collision/collision.d.ts +0 -19
  114. package/dist/lib/collision/collision.d.ts.map +0 -1
  115. package/dist/lib/collision/utils.d.ts +0 -15
  116. package/dist/lib/collision/utils.d.ts.map +0 -1
  117. package/dist/lib/collision/utils.js +0 -24
  118. package/dist/lib/collision/world.d.ts +0 -23
  119. package/dist/lib/collision/world.d.ts.map +0 -1
  120. package/dist/lib/collision/world.js +0 -77
  121. package/dist/lib/core/asset-manager.d.ts +0 -2
  122. package/dist/lib/core/asset-manager.d.ts.map +0 -1
  123. package/dist/lib/core/base-node-life-cycle.d.ts +0 -68
  124. package/dist/lib/core/base-node-life-cycle.d.ts.map +0 -1
  125. package/dist/lib/core/base-node.d.ts +0 -37
  126. package/dist/lib/core/base-node.d.ts.map +0 -1
  127. package/dist/lib/core/base-node.js +0 -62
  128. package/dist/lib/core/entity-asset-loader.d.ts +0 -16
  129. package/dist/lib/core/entity-asset-loader.d.ts.map +0 -1
  130. package/dist/lib/core/entity-asset-loader.js +0 -54
  131. package/dist/lib/core/errors.d.ts +0 -5
  132. package/dist/lib/core/errors.d.ts.map +0 -1
  133. package/dist/lib/core/flags.d.ts +0 -3
  134. package/dist/lib/core/flags.d.ts.map +0 -1
  135. package/dist/lib/core/index.d.ts +0 -5
  136. package/dist/lib/core/index.d.ts.map +0 -1
  137. package/dist/lib/core/lazy-loader.d.ts +0 -80
  138. package/dist/lib/core/lazy-loader.d.ts.map +0 -1
  139. package/dist/lib/core/lifecycle-base.d.ts +0 -17
  140. package/dist/lib/core/lifecycle-base.d.ts.map +0 -1
  141. package/dist/lib/core/lifecycle-base.js +0 -20
  142. package/dist/lib/core/preset-shader.d.ts +0 -8
  143. package/dist/lib/core/preset-shader.d.ts.map +0 -1
  144. package/dist/lib/core/preset-shader.js +0 -26
  145. package/dist/lib/core/three-addons/Timer.d.ts +0 -92
  146. package/dist/lib/core/three-addons/Timer.d.ts.map +0 -1
  147. package/dist/lib/core/three-addons/Timer.js +0 -103
  148. package/dist/lib/core/utility/nodes.d.ts +0 -13
  149. package/dist/lib/core/utility/nodes.d.ts.map +0 -1
  150. package/dist/lib/core/utility/nodes.js +0 -31
  151. package/dist/lib/core/utility/strings.d.ts +0 -3
  152. package/dist/lib/core/utility/strings.d.ts.map +0 -1
  153. package/dist/lib/core/utility/strings.js +0 -14
  154. package/dist/lib/core/utility/vector.d.ts +0 -8
  155. package/dist/lib/core/utility/vector.d.ts.map +0 -1
  156. package/dist/lib/core/utility/vector.js +0 -8
  157. package/dist/lib/core/vector.d.ts +0 -4
  158. package/dist/lib/core/vector.d.ts.map +0 -1
  159. package/dist/lib/core/vessel.d.ts +0 -13
  160. package/dist/lib/core/vessel.d.ts.map +0 -1
  161. package/dist/lib/core/vessel.js +0 -26
  162. package/dist/lib/debug/console/console-state.d.ts +0 -20
  163. package/dist/lib/debug/console/console-state.d.ts.map +0 -1
  164. package/dist/lib/debug/console/console-state.js +0 -11
  165. package/dist/lib/debug/console/console-store.d.ts +0 -6
  166. package/dist/lib/debug/console/console-store.d.ts.map +0 -1
  167. package/dist/lib/debug/debug-state.d.ts +0 -38
  168. package/dist/lib/debug/debug-state.d.ts.map +0 -1
  169. package/dist/lib/debug/debug-state.js +0 -40
  170. package/dist/lib/debug/debug-store.d.ts +0 -15
  171. package/dist/lib/debug/debug-store.d.ts.map +0 -1
  172. package/dist/lib/debug/state-based-debug-loader.d.ts +0 -8
  173. package/dist/lib/debug/state-based-debug-loader.d.ts.map +0 -1
  174. package/dist/lib/device/aspect-ratio.d.ts +0 -38
  175. package/dist/lib/device/aspect-ratio.d.ts.map +0 -1
  176. package/dist/lib/device/aspect-ratio.js +0 -44
  177. package/dist/lib/device/desktop.d.ts +0 -2
  178. package/dist/lib/device/desktop.d.ts.map +0 -1
  179. package/dist/lib/device/mobile.d.ts +0 -2
  180. package/dist/lib/device/mobile.d.ts.map +0 -1
  181. package/dist/lib/device/tablet.d.ts +0 -2
  182. package/dist/lib/device/tablet.d.ts.map +0 -1
  183. package/dist/lib/entities/actor.d.ts +0 -44
  184. package/dist/lib/entities/actor.d.ts.map +0 -1
  185. package/dist/lib/entities/actor.js +0 -122
  186. package/dist/lib/entities/box.d.ts +0 -27
  187. package/dist/lib/entities/box.d.ts.map +0 -1
  188. package/dist/lib/entities/box.js +0 -68
  189. package/dist/lib/entities/builder.d.ts +0 -28
  190. package/dist/lib/entities/builder.d.ts.map +0 -1
  191. package/dist/lib/entities/builder.js +0 -79
  192. package/dist/lib/entities/create.d.ts +0 -15
  193. package/dist/lib/entities/create.d.ts.map +0 -1
  194. package/dist/lib/entities/create.js +0 -31
  195. package/dist/lib/entities/delegates/animation.d.ts +0 -33
  196. package/dist/lib/entities/delegates/animation.d.ts.map +0 -1
  197. package/dist/lib/entities/delegates/animation.js +0 -58
  198. package/dist/lib/entities/delegates/debug.d.ts +0 -29
  199. package/dist/lib/entities/delegates/debug.d.ts.map +0 -1
  200. package/dist/lib/entities/delegates/debug.js +0 -71
  201. package/dist/lib/entities/delegates/loader.d.ts +0 -12
  202. package/dist/lib/entities/delegates/loader.d.ts.map +0 -1
  203. package/dist/lib/entities/delegates/loader.js +0 -19
  204. package/dist/lib/entities/destroy.d.ts +0 -4
  205. package/dist/lib/entities/destroy.d.ts.map +0 -1
  206. package/dist/lib/entities/destroy.js +0 -15
  207. package/dist/lib/entities/entity.d.ts +0 -96
  208. package/dist/lib/entities/entity.d.ts.map +0 -1
  209. package/dist/lib/entities/entity.js +0 -120
  210. package/dist/lib/entities/index.d.ts +0 -12
  211. package/dist/lib/entities/index.d.ts.map +0 -1
  212. package/dist/lib/entities/plane.d.ts +0 -36
  213. package/dist/lib/entities/plane.d.ts.map +0 -1
  214. package/dist/lib/entities/plane.js +0 -81
  215. package/dist/lib/entities/rect.d.ts +0 -63
  216. package/dist/lib/entities/rect.d.ts.map +0 -1
  217. package/dist/lib/entities/rect.js +0 -160
  218. package/dist/lib/entities/sphere.d.ts +0 -29
  219. package/dist/lib/entities/sphere.d.ts.map +0 -1
  220. package/dist/lib/entities/sphere.js +0 -68
  221. package/dist/lib/entities/sprite.d.ts +0 -53
  222. package/dist/lib/entities/sprite.d.ts.map +0 -1
  223. package/dist/lib/entities/sprite.js +0 -118
  224. package/dist/lib/entities/text.d.ts +0 -49
  225. package/dist/lib/entities/text.d.ts.map +0 -1
  226. package/dist/lib/entities/text.js +0 -140
  227. package/dist/lib/entities/zone.d.ts +0 -54
  228. package/dist/lib/entities/zone.d.ts.map +0 -1
  229. package/dist/lib/entities/zone.js +0 -103
  230. package/dist/lib/game/game-blueprint.d.ts +0 -38
  231. package/dist/lib/game/game-blueprint.d.ts.map +0 -1
  232. package/dist/lib/game/game-canvas.d.ts +0 -35
  233. package/dist/lib/game/game-canvas.d.ts.map +0 -1
  234. package/dist/lib/game/game-canvas.js +0 -57
  235. package/dist/lib/game/game-config.d.ts +0 -59
  236. package/dist/lib/game/game-config.d.ts.map +0 -1
  237. package/dist/lib/game/game-config.js +0 -78
  238. package/dist/lib/game/game-default.d.ts +0 -14
  239. package/dist/lib/game/game-default.d.ts.map +0 -1
  240. package/dist/lib/game/game-default.js +0 -23
  241. package/dist/lib/game/game-interfaces.d.ts +0 -29
  242. package/dist/lib/game/game-interfaces.d.ts.map +0 -1
  243. package/dist/lib/game/game-retro-resolutions.d.ts +0 -25
  244. package/dist/lib/game/game-retro-resolutions.d.ts.map +0 -1
  245. package/dist/lib/game/game-retro-resolutions.js +0 -80
  246. package/dist/lib/game/game-state.d.ts +0 -11
  247. package/dist/lib/game/game-state.d.ts.map +0 -1
  248. package/dist/lib/game/game-state.js +0 -17
  249. package/dist/lib/game/game.d.ts +0 -37
  250. package/dist/lib/game/game.d.ts.map +0 -1
  251. package/dist/lib/game/game.js +0 -109
  252. package/dist/lib/game/zylem-game.d.ts +0 -58
  253. package/dist/lib/game/zylem-game.d.ts.map +0 -1
  254. package/dist/lib/game/zylem-game.js +0 -140
  255. package/dist/lib/graphics/geometries/XZPlaneGeometry.d.ts +0 -8
  256. package/dist/lib/graphics/geometries/XZPlaneGeometry.d.ts.map +0 -1
  257. package/dist/lib/graphics/geometries/XZPlaneGeometry.js +0 -34
  258. package/dist/lib/graphics/material.d.ts +0 -29
  259. package/dist/lib/graphics/material.d.ts.map +0 -1
  260. package/dist/lib/graphics/material.js +0 -64
  261. package/dist/lib/graphics/mesh.d.ts +0 -19
  262. package/dist/lib/graphics/mesh.d.ts.map +0 -1
  263. package/dist/lib/graphics/mesh.js +0 -14
  264. package/dist/lib/graphics/render-pass.d.ts +0 -17
  265. package/dist/lib/graphics/render-pass.d.ts.map +0 -1
  266. package/dist/lib/graphics/render-pass.js +0 -56
  267. package/dist/lib/graphics/shaders/fragment/debug.glsl.js +0 -23
  268. package/dist/lib/graphics/shaders/fragment/fire.glsl.js +0 -52
  269. package/dist/lib/graphics/shaders/fragment/standard.glsl.js +0 -11
  270. package/dist/lib/graphics/shaders/fragment/stars.glsl.js +0 -44
  271. package/dist/lib/graphics/shaders/vertex/debug.glsl.js +0 -15
  272. package/dist/lib/graphics/shaders/vertex/object-shader.glsl.js +0 -11
  273. package/dist/lib/graphics/shaders/vertex/standard.glsl.js +0 -9
  274. package/dist/lib/graphics/zylem-scene.d.ts +0 -50
  275. package/dist/lib/graphics/zylem-scene.d.ts.map +0 -1
  276. package/dist/lib/graphics/zylem-scene.js +0 -75
  277. package/dist/lib/input/gamepad-provider.d.ts +0 -14
  278. package/dist/lib/input/gamepad-provider.d.ts.map +0 -1
  279. package/dist/lib/input/gamepad-provider.js +0 -58
  280. package/dist/lib/input/input-manager.d.ts +0 -15
  281. package/dist/lib/input/input-manager.d.ts.map +0 -1
  282. package/dist/lib/input/input-manager.js +0 -70
  283. package/dist/lib/input/input-provider.d.ts +0 -7
  284. package/dist/lib/input/input-provider.d.ts.map +0 -1
  285. package/dist/lib/input/input.d.ts +0 -48
  286. package/dist/lib/input/input.d.ts.map +0 -1
  287. package/dist/lib/input/keyboard-provider.d.ts +0 -21
  288. package/dist/lib/input/keyboard-provider.d.ts.map +0 -1
  289. package/dist/lib/input/keyboard-provider.js +0 -120
  290. package/dist/lib/interfaces/entity.d.ts +0 -26
  291. package/dist/lib/interfaces/entity.d.ts.map +0 -1
  292. package/dist/lib/sounds/index.d.ts +0 -3
  293. package/dist/lib/sounds/index.d.ts.map +0 -1
  294. package/dist/lib/sounds/ping-pong-sound.d.ts +0 -5
  295. package/dist/lib/sounds/ping-pong-sound.d.ts.map +0 -1
  296. package/dist/lib/sounds/ricochet-sound.d.ts +0 -5
  297. package/dist/lib/sounds/ricochet-sound.d.ts.map +0 -1
  298. package/dist/lib/stage/debug-entity-cursor.d.ts +0 -24
  299. package/dist/lib/stage/debug-entity-cursor.d.ts.map +0 -1
  300. package/dist/lib/stage/debug-entity-cursor.js +0 -53
  301. package/dist/lib/stage/entity-spawner.d.ts +0 -9
  302. package/dist/lib/stage/entity-spawner.d.ts.map +0 -1
  303. package/dist/lib/stage/entity-spawner.js +0 -27
  304. package/dist/lib/stage/stage-blueprint.d.ts +0 -45
  305. package/dist/lib/stage/stage-blueprint.d.ts.map +0 -1
  306. package/dist/lib/stage/stage-blueprint.js +0 -56
  307. package/dist/lib/stage/stage-camera-debug-delegate.d.ts +0 -14
  308. package/dist/lib/stage/stage-camera-debug-delegate.d.ts.map +0 -1
  309. package/dist/lib/stage/stage-debug-delegate.d.ts +0 -26
  310. package/dist/lib/stage/stage-debug-delegate.d.ts.map +0 -1
  311. package/dist/lib/stage/stage-debug-delegate.js +0 -100
  312. package/dist/lib/stage/stage-default.d.ts +0 -3
  313. package/dist/lib/stage/stage-default.d.ts.map +0 -1
  314. package/dist/lib/stage/stage-default.js +0 -32
  315. package/dist/lib/stage/stage-state.d.ts +0 -14
  316. package/dist/lib/stage/stage-state.d.ts.map +0 -1
  317. package/dist/lib/stage/stage-state.js +0 -36
  318. package/dist/lib/stage/stage.d.ts +0 -33
  319. package/dist/lib/stage/stage.d.ts.map +0 -1
  320. package/dist/lib/stage/stage.js +0 -60
  321. package/dist/lib/stage/zylem-stage.d.ts +0 -128
  322. package/dist/lib/stage/zylem-stage.d.ts.map +0 -1
  323. package/dist/lib/stage/zylem-stage.js +0 -268
  324. package/dist/lib/systems/test-system.d.ts +0 -2
  325. package/dist/lib/systems/test-system.d.ts.map +0 -1
  326. package/dist/lib/systems/transformable.system.d.ts +0 -25
  327. package/dist/lib/systems/transformable.system.d.ts.map +0 -1
  328. package/dist/lib/systems/transformable.system.js +0 -43
  329. package/dist/lib/types/entity-types.d.ts +0 -24
  330. package/dist/lib/types/entity-types.d.ts.map +0 -1
  331. package/dist/lib/types/index.d.ts +0 -3
  332. package/dist/lib/types/index.d.ts.map +0 -1
  333. package/dist/lib/types/stage-types.d.ts +0 -26
  334. package/dist/lib/types/stage-types.d.ts.map +0 -1
  335. package/dist/lib/ui/Debug.d.ts +0 -6
  336. package/dist/lib/ui/Debug.d.ts.map +0 -1
  337. package/dist/lib/ui/console/Console.d.ts +0 -7
  338. package/dist/lib/ui/console/Console.d.ts.map +0 -1
  339. package/dist/lib/ui/debug-panel/AccordionMenu.d.ts +0 -7
  340. package/dist/lib/ui/debug-panel/AccordionMenu.d.ts.map +0 -1
  341. package/dist/lib/ui/debug-panel/Menu.d.ts +0 -6
  342. package/dist/lib/ui/debug-panel/Menu.d.ts.map +0 -1
  343. package/dist/lib/ui/debug-panel/sections/EntitiesSection.d.ts +0 -4
  344. package/dist/lib/ui/debug-panel/sections/EntitiesSection.d.ts.map +0 -1
  345. package/dist/lib/ui/debug-panel/sections/GameSection.d.ts +0 -3
  346. package/dist/lib/ui/debug-panel/sections/GameSection.d.ts.map +0 -1
  347. package/dist/lib/ui/debug-panel/sections/StagesSection.d.ts +0 -3
  348. package/dist/lib/ui/debug-panel/sections/StagesSection.d.ts.map +0 -1
  349. package/dist/lib/ui/debug-panel/sections/all.d.ts +0 -4
  350. package/dist/lib/ui/debug-panel/sections/all.d.ts.map +0 -1
  351. package/dist/lib/ui/toolbar/Toolbar.d.ts +0 -6
  352. package/dist/lib/ui/toolbar/Toolbar.d.ts.map +0 -1
  353. package/dist/tests/integration/debug.sim.spec.d.ts +0 -2
  354. package/dist/tests/integration/debug.sim.spec.d.ts.map +0 -1
  355. package/dist/tests/unit/collision/collision.spec.d.ts +0 -2
  356. package/dist/tests/unit/collision/collision.spec.d.ts.map +0 -1
  357. package/dist/tests/unit/core/game.spec.d.ts +0 -2
  358. package/dist/tests/unit/core/game.spec.d.ts.map +0 -1
  359. package/dist/tests/unit/core/stage.spec.d.ts +0 -2
  360. package/dist/tests/unit/core/stage.spec.d.ts.map +0 -1
  361. package/dist/tests/unit/core/vessel.spec.d.ts +0 -2
  362. package/dist/tests/unit/core/vessel.spec.d.ts.map +0 -1
@@ -0,0 +1,347 @@
1
+ import { Vector3, Vector2, Color, Material, BufferGeometry, Mesh, Group, ShaderMaterial } from 'three';
2
+ import { Vector3 as Vector3$1, RigidBodyDesc, ColliderDesc, RigidBody, Collider } from '@dimforge/rapier3d-compat';
3
+ import { IComponent } from 'bitecs';
4
+
5
+ /** Input
6
+ *
7
+ * Maximum number of local players is 8.
8
+ * All input can be mapped to a gamepad or keyboard but shares the common
9
+ * interface represented as a gamepad.
10
+ */
11
+ type InputPlayerNumber = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
12
+ type InputPlayer = `p${InputPlayerNumber}`;
13
+ interface ButtonState {
14
+ pressed: boolean;
15
+ released: boolean;
16
+ held: number;
17
+ }
18
+ interface AnalogState {
19
+ value: number;
20
+ held: number;
21
+ }
22
+ interface InputGamepad {
23
+ playerNumber: InputPlayerNumber;
24
+ buttons: {
25
+ A: ButtonState;
26
+ B: ButtonState;
27
+ X: ButtonState;
28
+ Y: ButtonState;
29
+ Start: ButtonState;
30
+ Select: ButtonState;
31
+ L: ButtonState;
32
+ R: ButtonState;
33
+ };
34
+ directions: {
35
+ Up: ButtonState;
36
+ Down: ButtonState;
37
+ Left: ButtonState;
38
+ Right: ButtonState;
39
+ };
40
+ shoulders: {
41
+ LTrigger: ButtonState;
42
+ RTrigger: ButtonState;
43
+ };
44
+ axes: {
45
+ Horizontal: AnalogState;
46
+ Vertical: AnalogState;
47
+ };
48
+ }
49
+ type Inputs = Record<InputPlayer, InputGamepad>;
50
+
51
+ type LoadingEvent = {
52
+ type: 'start' | 'progress' | 'complete';
53
+ message?: string;
54
+ progress?: number;
55
+ total?: number;
56
+ current?: number;
57
+ };
58
+ interface IGame<TGlobals extends Record<string, unknown> = any> {
59
+ start: () => Promise<this>;
60
+ nextStage: () => Promise<void>;
61
+ previousStage: () => Promise<void>;
62
+ reset: () => Promise<void>;
63
+ pause: () => Promise<void>;
64
+ resume: () => Promise<void>;
65
+ onLoading: (callback: (event: LoadingEvent) => void) => void;
66
+ loadStageFromId: (stageId: string) => Promise<void>;
67
+ end: () => Promise<void>;
68
+ goToStage: () => void;
69
+ }
70
+ interface IStage {
71
+ onUpdate: (callback: UpdateFunction<IStage>) => void;
72
+ onSetup: (callback: SetupFunction<IStage>) => void;
73
+ onDestroy: (callback: DestroyFunction<IStage>) => void;
74
+ }
75
+ interface ICamera {
76
+ move: (position: Vector3) => void;
77
+ rotate: (pitch: number, yaw: number, roll: number) => void;
78
+ }
79
+
80
+ type GlobalRecord = Record<string, unknown>;
81
+ /** Setup */
82
+ interface SetupContext<T, TGlobals extends GlobalRecord = any> {
83
+ me: T;
84
+ globals: TGlobals;
85
+ inputs?: Inputs;
86
+ camera?: ICamera;
87
+ stage?: IStage;
88
+ game?: IGame<TGlobals>;
89
+ }
90
+ interface SetupFunction<T, TGlobals extends GlobalRecord = any> {
91
+ (context: SetupContext<T, TGlobals>): void;
92
+ }
93
+ /** Loaded */
94
+ interface LoadedContext<T, TGlobals extends GlobalRecord = any> {
95
+ me: T;
96
+ globals: TGlobals;
97
+ }
98
+ interface LoadedFunction<T, TGlobals extends GlobalRecord = any> {
99
+ (context: LoadedContext<T, TGlobals>): void;
100
+ }
101
+ /** Update */
102
+ type UpdateContext<T, TGlobals extends GlobalRecord = any> = {
103
+ me: T;
104
+ delta: number;
105
+ inputs: Inputs;
106
+ globals: TGlobals;
107
+ camera: ICamera;
108
+ stage?: IStage;
109
+ game?: IGame<TGlobals>;
110
+ };
111
+ interface UpdateFunction<T, TGlobals extends GlobalRecord = any> {
112
+ (context: UpdateContext<T, TGlobals>): void;
113
+ }
114
+ /** Destroy */
115
+ interface DestroyContext<T, TGlobals extends GlobalRecord = any> {
116
+ me: T;
117
+ globals: TGlobals;
118
+ }
119
+ interface DestroyFunction<T, TGlobals extends GlobalRecord = any> {
120
+ (context: DestroyContext<T, TGlobals>): void;
121
+ }
122
+ /** Cleanup */
123
+ interface CleanupContext<T, TGlobals extends GlobalRecord = any> {
124
+ me: T;
125
+ globals: TGlobals;
126
+ }
127
+ interface CleanupFunction<T, TGlobals extends GlobalRecord = any> {
128
+ (context: CleanupContext<T, TGlobals>): void;
129
+ }
130
+
131
+ interface NodeInterface {
132
+ uuid: string;
133
+ name: string;
134
+ markedForRemoval: boolean;
135
+ nodeSetup(params: SetupContext<any>): void;
136
+ nodeUpdate(params: UpdateContext<any>): void;
137
+ nodeDestroy(params: DestroyContext<any>): void;
138
+ setParent(parent: NodeInterface | null): void;
139
+ getParent(): NodeInterface | null;
140
+ }
141
+
142
+ type BaseNodeOptions<T = any> = BaseNode | Partial<T>;
143
+ declare abstract class BaseNode<Options = any, T = any> implements NodeInterface {
144
+ protected parent: NodeInterface | null;
145
+ protected children: NodeInterface[];
146
+ options: Options;
147
+ eid: number;
148
+ uuid: string;
149
+ name: string;
150
+ markedForRemoval: boolean;
151
+ setup: SetupFunction<this>;
152
+ loaded: LoadedFunction<this>;
153
+ update: UpdateFunction<this>;
154
+ destroy: DestroyFunction<this>;
155
+ cleanup: CleanupFunction<this>;
156
+ constructor(args?: BaseNodeOptions[]);
157
+ setParent(parent: NodeInterface | null): void;
158
+ getParent(): NodeInterface | null;
159
+ add(baseNode: NodeInterface): void;
160
+ remove(baseNode: NodeInterface): void;
161
+ getChildren(): NodeInterface[];
162
+ isComposite(): boolean;
163
+ abstract create(): T;
164
+ protected abstract _setup(params: SetupContext<this>): void;
165
+ protected abstract _loaded(params: LoadedContext<this>): Promise<void>;
166
+ protected abstract _update(params: UpdateContext<this>): void;
167
+ protected abstract _destroy(params: DestroyContext<this>): void;
168
+ protected abstract _cleanup(params: CleanupContext<this>): Promise<void>;
169
+ nodeSetup(params: SetupContext<this>): void;
170
+ nodeUpdate(params: UpdateContext<this>): void;
171
+ nodeDestroy(params: DestroyContext<this>): void;
172
+ getOptions(): Options;
173
+ setOptions(options: Partial<Options>): void;
174
+ }
175
+
176
+ type Vec3 = Vector3 | Vector3$1;
177
+
178
+ declare function shortHash(objString: string): string;
179
+
180
+ type ZylemShaderType = 'standard' | 'fire' | 'star' | 'debug';
181
+
182
+ interface MaterialOptions {
183
+ path?: string;
184
+ repeat?: Vector2;
185
+ shader?: ZylemShaderType;
186
+ color?: Color;
187
+ }
188
+ type BatchGeometryMap = Map<symbol, number>;
189
+ interface BatchMaterialMapObject {
190
+ geometryMap: BatchGeometryMap;
191
+ material: Material;
192
+ }
193
+ type BatchKey = ReturnType<typeof shortHash>;
194
+ type TexturePath = string | null;
195
+ declare class MaterialBuilder {
196
+ static batchMaterialMap: Map<BatchKey, BatchMaterialMapObject>;
197
+ materials: Material[];
198
+ batchMaterial(options: Partial<MaterialOptions>, entityType: symbol): void;
199
+ build(options: Partial<MaterialOptions>, entityType: symbol): Promise<void>;
200
+ withColor(color: Color): this;
201
+ withShader(shaderType: ZylemShaderType): this;
202
+ setTexture(texturePath?: TexturePath, repeat?: Vector2): Promise<void>;
203
+ setColor(color: Color): void;
204
+ setShader(customShader: ZylemShaderType): void;
205
+ }
206
+
207
+ interface CollisionOptions {
208
+ static?: boolean;
209
+ sensor?: boolean;
210
+ size?: Vector3;
211
+ position?: Vector3;
212
+ collisionType?: string;
213
+ collisionFilter?: string[];
214
+ }
215
+
216
+ declare class CollisionBuilder {
217
+ static: boolean;
218
+ sensor: boolean;
219
+ gravity: Vec3;
220
+ build(options: Partial<CollisionOptions>): [RigidBodyDesc, ColliderDesc];
221
+ withCollision(collisionOptions: Partial<CollisionOptions>): this;
222
+ collider(options: CollisionOptions): ColliderDesc;
223
+ bodyDesc({ isDynamicBody }: {
224
+ isDynamicBody?: boolean | undefined;
225
+ }): RigidBodyDesc;
226
+ }
227
+
228
+ /**
229
+ * TODO: allow for multiple materials requires geometry groups
230
+ * TODO: allow for instanced uniforms
231
+ * TODO: allow for geometry groups
232
+ * TODO: allow for batched meshes
233
+ * import { InstancedUniformsMesh } from 'three-instanced-uniforms-mesh';
234
+ * may not need geometry groups for shaders though
235
+ * setGeometry<T extends BufferGeometry>(geometry: T) {
236
+ * MeshBuilder.bachedMesh = new BatchedMesh(10, 5000, 10000, material);
237
+ * }
238
+ */
239
+ type MeshBuilderOptions = Partial<Pick<GameEntityOptions, 'batched' | 'material'>>;
240
+ declare class MeshBuilder {
241
+ _build(meshOptions: MeshBuilderOptions, geometry: BufferGeometry, materials: Material[]): Mesh;
242
+ _postBuild(): void;
243
+ }
244
+
245
+ declare abstract class EntityCollisionBuilder extends CollisionBuilder {
246
+ abstract collider(options: GameEntityOptions): ColliderDesc;
247
+ }
248
+ declare abstract class EntityMeshBuilder extends MeshBuilder {
249
+ build(options: GameEntityOptions): BufferGeometry;
250
+ postBuild(): void;
251
+ }
252
+
253
+ interface Behavior {
254
+ component: IComponent;
255
+ values: any;
256
+ }
257
+
258
+ interface LifeCycleDelegate<U> {
259
+ setup?: ((params: SetupContext<U>) => void)[];
260
+ update?: ((params: UpdateContext<U>) => void)[];
261
+ destroy?: ((params: DestroyContext<U>) => void)[];
262
+ }
263
+ interface CollisionContext<T, O extends GameEntityOptions, TGlobals extends Record<string, unknown> = any> {
264
+ entity: T;
265
+ other: GameEntity<O>;
266
+ globals: TGlobals;
267
+ }
268
+ type BehaviorContext<T, O extends GameEntityOptions> = SetupContext<T, O> | UpdateContext<T, O> | CollisionContext<T, O> | DestroyContext<T, O>;
269
+ type BehaviorCallback<T, O extends GameEntityOptions> = (params: BehaviorContext<T, O>) => void;
270
+ interface CollisionDelegate<T, O extends GameEntityOptions> {
271
+ collision?: ((params: CollisionContext<T, O>) => void)[];
272
+ }
273
+ type IBuilder<BuilderOptions = any> = {
274
+ preBuild: (options: BuilderOptions) => BuilderOptions;
275
+ build: (options: BuilderOptions) => BuilderOptions;
276
+ postBuild: (options: BuilderOptions) => BuilderOptions;
277
+ };
278
+ type GameEntityOptions = {
279
+ name?: string;
280
+ color?: Color;
281
+ size?: Vec3;
282
+ position?: Vec3;
283
+ batched?: boolean;
284
+ collision?: Partial<CollisionOptions>;
285
+ material?: Partial<MaterialOptions>;
286
+ custom?: {
287
+ [key: string]: any;
288
+ };
289
+ collisionType?: string;
290
+ collisionGroup?: string;
291
+ collisionFilter?: string[];
292
+ _builders?: {
293
+ meshBuilder?: IBuilder | EntityMeshBuilder | null;
294
+ collisionBuilder?: IBuilder | EntityCollisionBuilder | null;
295
+ materialBuilder?: MaterialBuilder | null;
296
+ };
297
+ };
298
+ declare abstract class GameEntityLifeCycle {
299
+ abstract _setup(params: SetupContext<this>): void;
300
+ abstract _update(params: UpdateContext<this>): void;
301
+ abstract _destroy(params: DestroyContext<this>): void;
302
+ }
303
+ interface EntityDebugInfo {
304
+ buildInfo: () => Record<string, string>;
305
+ }
306
+ type BehaviorCallbackType = 'setup' | 'update' | 'destroy' | 'collision';
307
+ declare class GameEntity<O extends GameEntityOptions> extends BaseNode<O> implements GameEntityLifeCycle, EntityDebugInfo {
308
+ behaviors: Behavior[];
309
+ group: Group | undefined;
310
+ mesh: Mesh | undefined;
311
+ materials: Material[] | undefined;
312
+ bodyDesc: RigidBodyDesc | null;
313
+ body: RigidBody | null;
314
+ colliderDesc: ColliderDesc | undefined;
315
+ collider: Collider | undefined;
316
+ custom: Record<string, any>;
317
+ debugInfo: Record<string, any>;
318
+ debugMaterial: ShaderMaterial | undefined;
319
+ lifeCycleDelegate: LifeCycleDelegate<O>;
320
+ collisionDelegate: CollisionDelegate<this, O>;
321
+ collisionType?: string;
322
+ behaviorCallbackMap: Record<BehaviorCallbackType, BehaviorCallback<this, O>[]>;
323
+ constructor();
324
+ create(): this;
325
+ onSetup(...callbacks: ((params: SetupContext<this>) => void)[]): this;
326
+ onUpdate(...callbacks: ((params: UpdateContext<this>) => void)[]): this;
327
+ onDestroy(...callbacks: ((params: DestroyContext<this>) => void)[]): this;
328
+ onCollision(...callbacks: ((params: CollisionContext<this, O>) => void)[]): this;
329
+ _setup(params: SetupContext<this>): void;
330
+ protected _loaded(_params: LoadedContext<this>): Promise<void>;
331
+ _update(params: UpdateContext<this>): void;
332
+ _destroy(params: DestroyContext<this>): void;
333
+ protected _cleanup(_params: CleanupContext<this>): Promise<void>;
334
+ _collision(other: GameEntity<O>, globals?: any): void;
335
+ addBehavior(behaviorCallback: ({
336
+ type: BehaviorCallbackType;
337
+ handler: any;
338
+ })): this;
339
+ addBehaviors(behaviorCallbacks: ({
340
+ type: BehaviorCallbackType;
341
+ handler: any;
342
+ })[]): this;
343
+ protected updateMaterials(params: any): void;
344
+ buildInfo(): Record<string, string>;
345
+ }
346
+
347
+ export { type AnalogState as A, type BehaviorCallbackType as B, type CleanupContext as C, type DestroyFunction as D, GameEntity as G, type InputGamepad as I, type LoadingEvent as L, type MaterialOptions as M, type SetupFunction as S, type TexturePath as T, type UpdateContext as U, type Vec3 as V, type Behavior as a, type UpdateFunction as b, type SetupContext as c, type DestroyContext as d, BaseNode as e, type InputPlayerNumber as f, type Inputs as g, type ButtonState as h, GameEntityLifeCycle as i, type IGame as j, type LoadedContext as k, type GameEntityOptions as l, type CollisionContext as m };
@@ -0,0 +1,11 @@
1
+ import { Vector2 } from 'three';
2
+ import { G as GameEntity } from './entity-bQElAdpo.js';
3
+ import { a as Stage } from './stage-CrmY7V0i.js';
4
+
5
+ interface EntitySpawner {
6
+ spawn: (stage: Stage, x: number, y: number) => Promise<GameEntity<any>>;
7
+ spawnRelative: (source: any, stage: Stage, offset?: Vector2) => Promise<any | void>;
8
+ }
9
+ declare function entitySpawner(factory: (x: number, y: number) => Promise<any> | GameEntity<any>): EntitySpawner;
10
+
11
+ export { entitySpawner as e };
package/dist/main.d.ts ADDED
@@ -0,0 +1,135 @@
1
+ import { G as Game } from './core-C2mjetAd.js';
2
+ export { V as Vect3, Z as ZylemGameConfig, c as createGame, g as gameConfig, a as globalChange, b as globalChanges, d as variableChange, e as variableChanges, v as vessel } from './core-C2mjetAd.js';
3
+ export { S as StageOptions, c as createStage } from './stage-CrmY7V0i.js';
4
+ export { e as entitySpawner } from './entity-spawner-DNnLYnZq.js';
5
+ export { P as PerspectiveType, a as Perspectives, c as camera } from './camera-Dk-fOVZE.js';
6
+ export { ZylemBox, actor, box, plane, rect, sphere, sprite, text, zone } from './entities.js';
7
+ import { U as UpdateContext, B as BehaviorCallbackType } from './entity-bQElAdpo.js';
8
+ export { a as Behavior, L as LoadingEvent } from './entity-bQElAdpo.js';
9
+ export { boundary2d, ricochet2DCollision, ricochet2DInBounds } from './behaviors.js';
10
+ import { M as MoveableEntity } from './moveable-B_vyA6cw.js';
11
+ export { m as makeMoveable, b as move, a as moveable, r as resetVelocity } from './moveable-B_vyA6cw.js';
12
+ export { m as makeRotatable, a as makeTransformable, r as rotatable, b as rotateInDirection } from './transformable-CUhvyuYO.js';
13
+ export { Howl } from 'howler';
14
+ import * as three from 'three';
15
+ export { three as THREE };
16
+ import * as RAPIER from '@dimforge/rapier3d-compat';
17
+ export { RAPIER };
18
+ import 'bitecs';
19
+ import 'three/addons/controls/OrbitControls.js';
20
+ import 'three/examples/jsm/postprocessing/EffectComposer.js';
21
+
22
+ interface MovementSequence2DStep {
23
+ name: string;
24
+ moveX?: number;
25
+ moveY?: number;
26
+ timeInSeconds: number;
27
+ }
28
+ interface MovementSequence2DOptions {
29
+ sequence: MovementSequence2DStep[];
30
+ loop?: boolean;
31
+ }
32
+ type MovementSequence2DCallback = (current: MovementSequence2DStep, index: number, ctx: UpdateContext<MoveableEntity>) => void;
33
+ /**
34
+ * Behavior that sequences 2D movements over time.
35
+ * Each step sets linear velocity via `moveXY` for a duration, then advances.
36
+ * Defaults to looping when the end is reached.
37
+ */
38
+ declare function movementSequence2D(opts: MovementSequence2DOptions, onStep?: MovementSequence2DCallback): {
39
+ type: BehaviorCallbackType;
40
+ handler: (ctx: UpdateContext<MoveableEntity>) => void;
41
+ };
42
+
43
+ declare function destroy(entity: any, globals?: any): void;
44
+
45
+ /**
46
+ * Plays a ricochet sound effect when boundary collision occurs
47
+ */
48
+ declare function ricochetSound(frequency?: number, duration?: number): void;
49
+
50
+ /**
51
+ * Plays a ping-pong beep sound effect.
52
+ */
53
+ declare function pingPongBeep(frequency?: number, duration?: number): void;
54
+
55
+ /**
56
+ * Set a global value by path.
57
+ * @example setGlobal('score', 100)
58
+ * @example setGlobal('player.health', 50)
59
+ */
60
+ declare function setGlobal(path: string, value: unknown): void;
61
+ /**
62
+ * Create/initialize a global with a default value.
63
+ * Only sets the value if it doesn't already exist.
64
+ * Use this to ensure globals have initial values before game starts.
65
+ * @example createGlobal('score', 0)
66
+ * @example createGlobal('player.health', 100)
67
+ */
68
+ declare function createGlobal<T>(path: string, defaultValue: T): T;
69
+ /**
70
+ * Get a global value by path.
71
+ * @example getGlobal('score') // 100
72
+ * @example getGlobal<number>('player.health') // 50
73
+ */
74
+ declare function getGlobal<T = unknown>(path: string): T | undefined;
75
+ /**
76
+ * Subscribe to changes on a global value at a specific path.
77
+ * Returns an unsubscribe function.
78
+ * @example const unsub = onGlobalChange('score', (val) => console.log(val));
79
+ */
80
+ declare function onGlobalChange<T = unknown>(path: string, callback: (value: T) => void): () => void;
81
+ /**
82
+ * Subscribe to changes on multiple global paths.
83
+ * Callback fires when any of the paths change, receiving all current values.
84
+ * Returns an unsubscribe function.
85
+ * @example const unsub = onGlobalChanges(['score', 'lives'], ([score, lives]) => console.log(score, lives));
86
+ */
87
+ declare function onGlobalChanges<T extends unknown[] = unknown[]>(paths: string[], callback: (values: T) => void): () => void;
88
+ /**
89
+ * Get the entire globals object (read-only snapshot).
90
+ */
91
+ declare function getGlobals<T = Record<string, unknown>>(): T;
92
+
93
+ /**
94
+ * Set a variable on an object by path.
95
+ * @example setVariable(stage1, 'totalAngle', 0.5)
96
+ * @example setVariable(entity, 'enemy.count', 10)
97
+ */
98
+ declare function setVariable(target: object, path: string, value: unknown): void;
99
+ /**
100
+ * Create/initialize a variable with a default value on a target object.
101
+ * Only sets the value if it doesn't already exist.
102
+ * @example createVariable(stage1, 'totalAngle', 0)
103
+ * @example createVariable(entity, 'enemy.count', 10)
104
+ */
105
+ declare function createVariable<T>(target: object, path: string, defaultValue: T): T;
106
+ /**
107
+ * Get a variable from an object by path.
108
+ * @example getVariable(stage1, 'totalAngle') // 0.5
109
+ * @example getVariable<number>(entity, 'enemy.count') // 10
110
+ */
111
+ declare function getVariable<T = unknown>(target: object, path: string): T | undefined;
112
+ /**
113
+ * Subscribe to changes on a variable at a specific path for a target object.
114
+ * Returns an unsubscribe function.
115
+ * @example const unsub = onVariableChange(stage1, 'score', (val) => console.log(val));
116
+ */
117
+ declare function onVariableChange<T = unknown>(target: object, path: string, callback: (value: T) => void): () => void;
118
+ /**
119
+ * Subscribe to changes on multiple variable paths for a target object.
120
+ * Callback fires when any of the paths change, receiving all current values.
121
+ * Returns an unsubscribe function.
122
+ * @example const unsub = onVariableChanges(stage1, ['count', 'total'], ([count, total]) => console.log(count, total));
123
+ */
124
+ declare function onVariableChanges<T extends unknown[] = unknown[]>(target: object, paths: string[], callback: (values: T) => void): () => void;
125
+
126
+ declare class ZylemGameElement extends HTMLElement {
127
+ private _game;
128
+ private container;
129
+ constructor();
130
+ set game(game: Game<any>);
131
+ get game(): Game<any> | null;
132
+ disconnectedCallback(): void;
133
+ }
134
+
135
+ export { Game, ZylemGameElement, createGlobal, createVariable, destroy, getGlobal, getGlobals, getVariable, movementSequence2D, onGlobalChange, onGlobalChanges, onVariableChange, onVariableChanges, pingPongBeep, ricochetSound, setGlobal, setVariable };