@zylem/game-lib 0.5.0 → 0.6.0

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 (441) 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 +106 -0
  6. package/dist/behaviors.js +396 -6
  7. package/dist/behaviors.js.map +1 -0
  8. package/dist/blueprints-BOCc3Wve.d.ts +26 -0
  9. package/dist/{src/lib/camera/zylem-camera.d.ts → camera-CpbDr4-V.d.ts} +48 -27
  10. package/dist/camera.d.ts +5 -0
  11. package/dist/camera.js +608 -4
  12. package/dist/camera.js.map +1 -0
  13. package/dist/core-CZhozNRH.d.ts +466 -0
  14. package/dist/core.d.ts +10 -0
  15. package/dist/core.js +5761 -9
  16. package/dist/core.js.map +1 -0
  17. package/dist/entities-BAxfJOkk.d.ts +307 -0
  18. package/dist/entities.d.ts +6 -0
  19. package/dist/entities.js +2284 -17
  20. package/dist/entities.js.map +1 -0
  21. package/dist/{src/lib/interfaces/entity.d.ts → entity-Bq_eNEDI.d.ts} +8 -6
  22. package/dist/entity-COvRtFNG.d.ts +395 -0
  23. package/dist/main.d.ts +211 -0
  24. package/dist/main.js +7600 -56
  25. package/dist/main.js.map +1 -0
  26. package/dist/moveable-B_vyA6cw.d.ts +67 -0
  27. package/dist/stage-types-CD21XoIU.d.ts +338 -0
  28. package/dist/stage.d.ts +46 -0
  29. package/dist/stage.js +2765 -4
  30. package/dist/stage.js.map +1 -0
  31. package/dist/transformable-CUhvyuYO.d.ts +67 -0
  32. package/package.json +11 -47
  33. package/dist/.vite/manifest.json +0 -716
  34. package/dist/assets/zylem-logo.png +0 -0
  35. package/dist/examples/00-readme-example.d.ts +0 -2
  36. package/dist/examples/00-readme-example.d.ts.map +0 -1
  37. package/dist/examples/01-basic.d.ts +0 -2
  38. package/dist/examples/01-basic.d.ts.map +0 -1
  39. package/dist/examples/01.1-basic-ball.d.ts +0 -9
  40. package/dist/examples/01.1-basic-ball.d.ts.map +0 -1
  41. package/dist/examples/01.2-ricochet-test.d.ts +0 -2
  42. package/dist/examples/01.2-ricochet-test.d.ts.map +0 -1
  43. package/dist/examples/01.3-rect.d.ts +0 -2
  44. package/dist/examples/01.3-rect.d.ts.map +0 -1
  45. package/dist/examples/02-input.d.ts +0 -2
  46. package/dist/examples/02-input.d.ts.map +0 -1
  47. package/dist/examples/03-stage-test/03-stage-test.d.ts +0 -2
  48. package/dist/examples/03-stage-test/03-stage-test.d.ts.map +0 -1
  49. package/dist/examples/03-stage-test/stage0.d.ts +0 -2
  50. package/dist/examples/03-stage-test/stage0.d.ts.map +0 -1
  51. package/dist/examples/03-stage-test/stage1.d.ts +0 -2
  52. package/dist/examples/03-stage-test/stage1.d.ts.map +0 -1
  53. package/dist/examples/03-stage-test/stage2.d.ts +0 -2
  54. package/dist/examples/03-stage-test/stage2.d.ts.map +0 -1
  55. package/dist/examples/03-stage-test/stage3.d.ts +0 -2
  56. package/dist/examples/03-stage-test/stage3.d.ts.map +0 -1
  57. package/dist/examples/03.1-stage-variable.d.ts +0 -2
  58. package/dist/examples/03.1-stage-variable.d.ts.map +0 -1
  59. package/dist/examples/04-vessel-test.d.ts +0 -18
  60. package/dist/examples/04-vessel-test.d.ts.map +0 -1
  61. package/dist/examples/05-camera-test.d.ts +0 -2
  62. package/dist/examples/05-camera-test.d.ts.map +0 -1
  63. package/dist/examples/06-entity-test.d.ts +0 -2
  64. package/dist/examples/06-entity-test.d.ts.map +0 -1
  65. package/dist/examples/07-behaviors.d.ts +0 -2
  66. package/dist/examples/07-behaviors.d.ts.map +0 -1
  67. package/dist/examples/07.01-behavior-context.d.ts +0 -2
  68. package/dist/examples/07.01-behavior-context.d.ts.map +0 -1
  69. package/dist/examples/08-pong.d.ts +0 -2
  70. package/dist/examples/08-pong.d.ts.map +0 -1
  71. package/dist/examples/08.01-breakout.d.ts +0 -2
  72. package/dist/examples/08.01-breakout.d.ts.map +0 -1
  73. package/dist/examples/09-space-invaders.d.ts +0 -2
  74. package/dist/examples/09-space-invaders.d.ts.map +0 -1
  75. package/dist/examples/10-asteroids.d.ts +0 -2
  76. package/dist/examples/10-asteroids.d.ts.map +0 -1
  77. package/dist/examples/11-2d-platformer.d.ts +0 -2
  78. package/dist/examples/11-2d-platformer.d.ts.map +0 -1
  79. package/dist/examples/12-3d-platformer.d.ts +0 -2
  80. package/dist/examples/12-3d-platformer.d.ts.map +0 -1
  81. package/dist/examples/13-fps.d.ts +0 -2
  82. package/dist/examples/13-fps.d.ts.map +0 -1
  83. package/dist/examples/14-strategy.d.ts +0 -2
  84. package/dist/examples/14-strategy.d.ts.map +0 -1
  85. package/dist/examples/15-zylem-planet-demo.d.ts +0 -2
  86. package/dist/examples/15-zylem-planet-demo.d.ts.map +0 -1
  87. package/dist/examples/16-timbotron.d.ts +0 -2
  88. package/dist/examples/16-timbotron.d.ts.map +0 -1
  89. package/dist/examples/17-stress-test.d.ts +0 -2
  90. package/dist/examples/17-stress-test.d.ts.map +0 -1
  91. package/dist/examples/architecture-test.d.ts +0 -2
  92. package/dist/examples/architecture-test.d.ts.map +0 -1
  93. package/dist/examples/utils.d.ts +0 -10
  94. package/dist/examples/utils.d.ts.map +0 -1
  95. package/dist/lib/actions/behaviors/actions.js +0 -35
  96. package/dist/lib/actions/behaviors/boundaries/boundary.js +0 -40
  97. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-collision.js +0 -100
  98. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-in-bounds.js +0 -37
  99. package/dist/lib/actions/behaviors/ricochet/ricochet.js +0 -6
  100. package/dist/lib/actions/capabilities/moveable.js +0 -108
  101. package/dist/lib/actions/capabilities/rotatable.js +0 -82
  102. package/dist/lib/actions/capabilities/transformable.js +0 -9
  103. package/dist/lib/actions/global-change.js +0 -40
  104. package/dist/lib/camera/camera.js +0 -19
  105. package/dist/lib/camera/fixed-2d.js +0 -30
  106. package/dist/lib/camera/perspective.js +0 -10
  107. package/dist/lib/camera/third-person.js +0 -42
  108. package/dist/lib/camera/zylem-camera.js +0 -208
  109. package/dist/lib/collision/collision-builder.js +0 -46
  110. package/dist/lib/collision/collision-delegate.js +0 -6
  111. package/dist/lib/collision/utils.js +0 -24
  112. package/dist/lib/collision/world.js +0 -77
  113. package/dist/lib/core/base-node.js +0 -61
  114. package/dist/lib/core/entity-asset-loader.js +0 -54
  115. package/dist/lib/core/lifecycle-base.js +0 -20
  116. package/dist/lib/core/preset-shader.js +0 -26
  117. package/dist/lib/core/three-addons/Timer.js +0 -103
  118. package/dist/lib/core/utility/nodes.js +0 -31
  119. package/dist/lib/core/utility/strings.js +0 -14
  120. package/dist/lib/core/utility/vector.js +0 -8
  121. package/dist/lib/core/vessel.js +0 -26
  122. package/dist/lib/debug/console/console-state.js +0 -11
  123. package/dist/lib/debug/debug-state.js +0 -40
  124. package/dist/lib/device/aspect-ratio.js +0 -44
  125. package/dist/lib/entities/actor.js +0 -122
  126. package/dist/lib/entities/box.js +0 -68
  127. package/dist/lib/entities/builder.js +0 -79
  128. package/dist/lib/entities/create.js +0 -31
  129. package/dist/lib/entities/delegates/animation.js +0 -58
  130. package/dist/lib/entities/delegates/debug.js +0 -71
  131. package/dist/lib/entities/delegates/loader.js +0 -19
  132. package/dist/lib/entities/destroy.js +0 -15
  133. package/dist/lib/entities/entity-factory.js +0 -24
  134. package/dist/lib/entities/entity.js +0 -121
  135. package/dist/lib/entities/plane.js +0 -81
  136. package/dist/lib/entities/rect.js +0 -160
  137. package/dist/lib/entities/sphere.js +0 -68
  138. package/dist/lib/entities/sprite.js +0 -125
  139. package/dist/lib/entities/text.js +0 -140
  140. package/dist/lib/entities/zone.js +0 -103
  141. package/dist/lib/game/game-canvas.js +0 -57
  142. package/dist/lib/game/game-config.js +0 -78
  143. package/dist/lib/game/game-default.js +0 -23
  144. package/dist/lib/game/game-retro-resolutions.js +0 -80
  145. package/dist/lib/game/game-state.js +0 -17
  146. package/dist/lib/game/game.js +0 -131
  147. package/dist/lib/game/zylem-game.js +0 -140
  148. package/dist/lib/graphics/geometries/XZPlaneGeometry.js +0 -34
  149. package/dist/lib/graphics/material.js +0 -64
  150. package/dist/lib/graphics/mesh.js +0 -14
  151. package/dist/lib/graphics/render-pass.js +0 -56
  152. package/dist/lib/graphics/shaders/fragment/debug.glsl.js +0 -23
  153. package/dist/lib/graphics/shaders/fragment/fire.glsl.js +0 -52
  154. package/dist/lib/graphics/shaders/fragment/standard.glsl.js +0 -11
  155. package/dist/lib/graphics/shaders/fragment/stars.glsl.js +0 -44
  156. package/dist/lib/graphics/shaders/vertex/debug.glsl.js +0 -15
  157. package/dist/lib/graphics/shaders/vertex/object-shader.glsl.js +0 -11
  158. package/dist/lib/graphics/shaders/vertex/standard.glsl.js +0 -9
  159. package/dist/lib/graphics/zylem-scene.js +0 -75
  160. package/dist/lib/input/gamepad-provider.js +0 -58
  161. package/dist/lib/input/input-manager.js +0 -70
  162. package/dist/lib/input/keyboard-provider.js +0 -120
  163. package/dist/lib/stage/debug-entity-cursor.js +0 -53
  164. package/dist/lib/stage/entity-spawner.js +0 -27
  165. package/dist/lib/stage/stage-debug-delegate.js +0 -100
  166. package/dist/lib/stage/stage-default.js +0 -32
  167. package/dist/lib/stage/stage-factory.js +0 -22
  168. package/dist/lib/stage/stage-manager.js +0 -49
  169. package/dist/lib/stage/stage-state.js +0 -36
  170. package/dist/lib/stage/stage.js +0 -67
  171. package/dist/lib/stage/zylem-stage.js +0 -268
  172. package/dist/lib/systems/transformable.system.js +0 -43
  173. package/dist/node_modules/.pnpm/idb-keyval@6.2.2/node_modules/idb-keyval/dist/index.js +0 -34
  174. package/dist/node_modules/.pnpm/msgpackr@1.11.5/node_modules/msgpackr/pack.js +0 -520
  175. package/dist/node_modules/.pnpm/msgpackr@1.11.5/node_modules/msgpackr/unpack.js +0 -672
  176. package/dist/src/api/actions.d.ts +0 -5
  177. package/dist/src/api/actions.d.ts.map +0 -1
  178. package/dist/src/api/behaviors.d.ts +0 -4
  179. package/dist/src/api/behaviors.d.ts.map +0 -1
  180. package/dist/src/api/camera.d.ts +0 -4
  181. package/dist/src/api/camera.d.ts.map +0 -1
  182. package/dist/src/api/core.d.ts +0 -6
  183. package/dist/src/api/core.d.ts.map +0 -1
  184. package/dist/src/api/entities.d.ts +0 -9
  185. package/dist/src/api/entities.d.ts.map +0 -1
  186. package/dist/src/api/main.d.ts +0 -32
  187. package/dist/src/api/main.d.ts.map +0 -1
  188. package/dist/src/api/stage.d.ts +0 -5
  189. package/dist/src/api/stage.d.ts.map +0 -1
  190. package/dist/src/lib/actions/behaviors/actions.d.ts +0 -11
  191. package/dist/src/lib/actions/behaviors/actions.d.ts.map +0 -1
  192. package/dist/src/lib/actions/behaviors/behavior.d.ts +0 -6
  193. package/dist/src/lib/actions/behaviors/behavior.d.ts.map +0 -1
  194. package/dist/src/lib/actions/behaviors/boundaries/boundary.d.ts +0 -37
  195. package/dist/src/lib/actions/behaviors/boundaries/boundary.d.ts.map +0 -1
  196. package/dist/src/lib/actions/behaviors/character-controller.d.ts +0 -6
  197. package/dist/src/lib/actions/behaviors/character-controller.d.ts.map +0 -1
  198. package/dist/src/lib/actions/behaviors/debug/debug-collision.d.ts +0 -6
  199. package/dist/src/lib/actions/behaviors/debug/debug-collision.d.ts.map +0 -1
  200. package/dist/src/lib/actions/behaviors/debug/debug-update.d.ts +0 -5
  201. package/dist/src/lib/actions/behaviors/debug/debug-update.d.ts.map +0 -1
  202. package/dist/src/lib/actions/behaviors/debug/debug.d.ts +0 -10
  203. package/dist/src/lib/actions/behaviors/debug/debug.d.ts.map +0 -1
  204. package/dist/src/lib/actions/behaviors/movement/movement-sequence-2d.d.ts +0 -24
  205. package/dist/src/lib/actions/behaviors/movement/movement-sequence-2d.d.ts.map +0 -1
  206. package/dist/src/lib/actions/behaviors/ricochet/ricochet-2d-collision.d.ts +0 -11
  207. package/dist/src/lib/actions/behaviors/ricochet/ricochet-2d-collision.d.ts.map +0 -1
  208. package/dist/src/lib/actions/behaviors/ricochet/ricochet-2d-in-bounds.d.ts +0 -12
  209. package/dist/src/lib/actions/behaviors/ricochet/ricochet-2d-in-bounds.d.ts.map +0 -1
  210. package/dist/src/lib/actions/behaviors/ricochet/ricochet.d.ts +0 -44
  211. package/dist/src/lib/actions/behaviors/ricochet/ricochet.d.ts.map +0 -1
  212. package/dist/src/lib/actions/behaviors/zylem-behavior.d.ts +0 -2
  213. package/dist/src/lib/actions/behaviors/zylem-behavior.d.ts.map +0 -1
  214. package/dist/src/lib/actions/capabilities/moveable.d.ts +0 -125
  215. package/dist/src/lib/actions/capabilities/moveable.d.ts.map +0 -1
  216. package/dist/src/lib/actions/capabilities/rotatable.d.ts +0 -111
  217. package/dist/src/lib/actions/capabilities/rotatable.d.ts.map +0 -1
  218. package/dist/src/lib/actions/capabilities/transformable.d.ts +0 -7
  219. package/dist/src/lib/actions/capabilities/transformable.d.ts.map +0 -1
  220. package/dist/src/lib/actions/global-change.d.ts +0 -23
  221. package/dist/src/lib/actions/global-change.d.ts.map +0 -1
  222. package/dist/src/lib/camera/camera.d.ts +0 -16
  223. package/dist/src/lib/camera/camera.d.ts.map +0 -1
  224. package/dist/src/lib/camera/fixed-2d.d.ts +0 -32
  225. package/dist/src/lib/camera/fixed-2d.d.ts.map +0 -1
  226. package/dist/src/lib/camera/perspective.d.ts +0 -9
  227. package/dist/src/lib/camera/perspective.d.ts.map +0 -1
  228. package/dist/src/lib/camera/third-person.d.ts +0 -32
  229. package/dist/src/lib/camera/third-person.d.ts.map +0 -1
  230. package/dist/src/lib/camera/zylem-camera.d.ts.map +0 -1
  231. package/dist/src/lib/collision/collision-builder.d.ts +0 -17
  232. package/dist/src/lib/collision/collision-builder.d.ts.map +0 -1
  233. package/dist/src/lib/collision/collision-delegate.d.ts +0 -6
  234. package/dist/src/lib/collision/collision-delegate.d.ts.map +0 -1
  235. package/dist/src/lib/collision/collision-group.d.ts +0 -11
  236. package/dist/src/lib/collision/collision-group.d.ts.map +0 -1
  237. package/dist/src/lib/collision/collision-mask.d.ts +0 -18
  238. package/dist/src/lib/collision/collision-mask.d.ts.map +0 -1
  239. package/dist/src/lib/collision/collision.d.ts +0 -19
  240. package/dist/src/lib/collision/collision.d.ts.map +0 -1
  241. package/dist/src/lib/collision/utils.d.ts +0 -15
  242. package/dist/src/lib/collision/utils.d.ts.map +0 -1
  243. package/dist/src/lib/collision/world.d.ts +0 -23
  244. package/dist/src/lib/collision/world.d.ts.map +0 -1
  245. package/dist/src/lib/core/asset-manager.d.ts +0 -2
  246. package/dist/src/lib/core/asset-manager.d.ts.map +0 -1
  247. package/dist/src/lib/core/base-node-life-cycle.d.ts +0 -54
  248. package/dist/src/lib/core/base-node-life-cycle.d.ts.map +0 -1
  249. package/dist/src/lib/core/base-node.d.ts +0 -36
  250. package/dist/src/lib/core/base-node.d.ts.map +0 -1
  251. package/dist/src/lib/core/blueprints.d.ts +0 -22
  252. package/dist/src/lib/core/blueprints.d.ts.map +0 -1
  253. package/dist/src/lib/core/entity-asset-loader.d.ts +0 -16
  254. package/dist/src/lib/core/entity-asset-loader.d.ts.map +0 -1
  255. package/dist/src/lib/core/errors.d.ts +0 -5
  256. package/dist/src/lib/core/errors.d.ts.map +0 -1
  257. package/dist/src/lib/core/flags.d.ts +0 -3
  258. package/dist/src/lib/core/flags.d.ts.map +0 -1
  259. package/dist/src/lib/core/index.d.ts +0 -5
  260. package/dist/src/lib/core/index.d.ts.map +0 -1
  261. package/dist/src/lib/core/interfaces.d.ts +0 -25
  262. package/dist/src/lib/core/interfaces.d.ts.map +0 -1
  263. package/dist/src/lib/core/lazy-loader.d.ts +0 -80
  264. package/dist/src/lib/core/lazy-loader.d.ts.map +0 -1
  265. package/dist/src/lib/core/lifecycle-base.d.ts +0 -17
  266. package/dist/src/lib/core/lifecycle-base.d.ts.map +0 -1
  267. package/dist/src/lib/core/node-interface.d.ts +0 -12
  268. package/dist/src/lib/core/node-interface.d.ts.map +0 -1
  269. package/dist/src/lib/core/preset-shader.d.ts +0 -8
  270. package/dist/src/lib/core/preset-shader.d.ts.map +0 -1
  271. package/dist/src/lib/core/three-addons/Timer.d.ts +0 -92
  272. package/dist/src/lib/core/three-addons/Timer.d.ts.map +0 -1
  273. package/dist/src/lib/core/utility/nodes.d.ts +0 -13
  274. package/dist/src/lib/core/utility/nodes.d.ts.map +0 -1
  275. package/dist/src/lib/core/utility/strings.d.ts +0 -3
  276. package/dist/src/lib/core/utility/strings.d.ts.map +0 -1
  277. package/dist/src/lib/core/utility/vector.d.ts +0 -8
  278. package/dist/src/lib/core/utility/vector.d.ts.map +0 -1
  279. package/dist/src/lib/core/vector.d.ts +0 -4
  280. package/dist/src/lib/core/vector.d.ts.map +0 -1
  281. package/dist/src/lib/core/vessel.d.ts +0 -13
  282. package/dist/src/lib/core/vessel.d.ts.map +0 -1
  283. package/dist/src/lib/debug/console/console-state.d.ts +0 -20
  284. package/dist/src/lib/debug/console/console-state.d.ts.map +0 -1
  285. package/dist/src/lib/debug/console/console-store.d.ts +0 -6
  286. package/dist/src/lib/debug/console/console-store.d.ts.map +0 -1
  287. package/dist/src/lib/debug/debug-state.d.ts +0 -38
  288. package/dist/src/lib/debug/debug-state.d.ts.map +0 -1
  289. package/dist/src/lib/debug/debug-store.d.ts +0 -15
  290. package/dist/src/lib/debug/debug-store.d.ts.map +0 -1
  291. package/dist/src/lib/debug/state-based-debug-loader.d.ts +0 -8
  292. package/dist/src/lib/debug/state-based-debug-loader.d.ts.map +0 -1
  293. package/dist/src/lib/device/aspect-ratio.d.ts +0 -38
  294. package/dist/src/lib/device/aspect-ratio.d.ts.map +0 -1
  295. package/dist/src/lib/device/desktop.d.ts +0 -2
  296. package/dist/src/lib/device/desktop.d.ts.map +0 -1
  297. package/dist/src/lib/device/mobile.d.ts +0 -2
  298. package/dist/src/lib/device/mobile.d.ts.map +0 -1
  299. package/dist/src/lib/device/tablet.d.ts +0 -2
  300. package/dist/src/lib/device/tablet.d.ts.map +0 -1
  301. package/dist/src/lib/entities/actor.d.ts +0 -44
  302. package/dist/src/lib/entities/actor.d.ts.map +0 -1
  303. package/dist/src/lib/entities/box.d.ts +0 -27
  304. package/dist/src/lib/entities/box.d.ts.map +0 -1
  305. package/dist/src/lib/entities/builder.d.ts +0 -28
  306. package/dist/src/lib/entities/builder.d.ts.map +0 -1
  307. package/dist/src/lib/entities/create.d.ts +0 -15
  308. package/dist/src/lib/entities/create.d.ts.map +0 -1
  309. package/dist/src/lib/entities/delegates/animation.d.ts +0 -33
  310. package/dist/src/lib/entities/delegates/animation.d.ts.map +0 -1
  311. package/dist/src/lib/entities/delegates/debug.d.ts +0 -29
  312. package/dist/src/lib/entities/delegates/debug.d.ts.map +0 -1
  313. package/dist/src/lib/entities/delegates/loader.d.ts +0 -12
  314. package/dist/src/lib/entities/delegates/loader.d.ts.map +0 -1
  315. package/dist/src/lib/entities/destroy.d.ts +0 -4
  316. package/dist/src/lib/entities/destroy.d.ts.map +0 -1
  317. package/dist/src/lib/entities/entity-factory.d.ts +0 -10
  318. package/dist/src/lib/entities/entity-factory.d.ts.map +0 -1
  319. package/dist/src/lib/entities/entity.d.ts +0 -98
  320. package/dist/src/lib/entities/entity.d.ts.map +0 -1
  321. package/dist/src/lib/entities/index.d.ts +0 -12
  322. package/dist/src/lib/entities/index.d.ts.map +0 -1
  323. package/dist/src/lib/entities/plane.d.ts +0 -36
  324. package/dist/src/lib/entities/plane.d.ts.map +0 -1
  325. package/dist/src/lib/entities/rect.d.ts +0 -63
  326. package/dist/src/lib/entities/rect.d.ts.map +0 -1
  327. package/dist/src/lib/entities/sphere.d.ts +0 -29
  328. package/dist/src/lib/entities/sphere.d.ts.map +0 -1
  329. package/dist/src/lib/entities/sprite.d.ts +0 -54
  330. package/dist/src/lib/entities/sprite.d.ts.map +0 -1
  331. package/dist/src/lib/entities/text.d.ts +0 -49
  332. package/dist/src/lib/entities/text.d.ts.map +0 -1
  333. package/dist/src/lib/entities/zone.d.ts +0 -54
  334. package/dist/src/lib/entities/zone.d.ts.map +0 -1
  335. package/dist/src/lib/game/game-blueprint.d.ts +0 -38
  336. package/dist/src/lib/game/game-blueprint.d.ts.map +0 -1
  337. package/dist/src/lib/game/game-canvas.d.ts +0 -35
  338. package/dist/src/lib/game/game-canvas.d.ts.map +0 -1
  339. package/dist/src/lib/game/game-config.d.ts +0 -59
  340. package/dist/src/lib/game/game-config.d.ts.map +0 -1
  341. package/dist/src/lib/game/game-default.d.ts +0 -14
  342. package/dist/src/lib/game/game-default.d.ts.map +0 -1
  343. package/dist/src/lib/game/game-interfaces.d.ts +0 -29
  344. package/dist/src/lib/game/game-interfaces.d.ts.map +0 -1
  345. package/dist/src/lib/game/game-retro-resolutions.d.ts +0 -25
  346. package/dist/src/lib/game/game-retro-resolutions.d.ts.map +0 -1
  347. package/dist/src/lib/game/game-state.d.ts +0 -11
  348. package/dist/src/lib/game/game-state.d.ts.map +0 -1
  349. package/dist/src/lib/game/game.d.ts +0 -39
  350. package/dist/src/lib/game/game.d.ts.map +0 -1
  351. package/dist/src/lib/game/zylem-game.d.ts +0 -58
  352. package/dist/src/lib/game/zylem-game.d.ts.map +0 -1
  353. package/dist/src/lib/graphics/geometries/XZPlaneGeometry.d.ts +0 -8
  354. package/dist/src/lib/graphics/geometries/XZPlaneGeometry.d.ts.map +0 -1
  355. package/dist/src/lib/graphics/material.d.ts +0 -29
  356. package/dist/src/lib/graphics/material.d.ts.map +0 -1
  357. package/dist/src/lib/graphics/mesh.d.ts +0 -19
  358. package/dist/src/lib/graphics/mesh.d.ts.map +0 -1
  359. package/dist/src/lib/graphics/render-pass.d.ts +0 -17
  360. package/dist/src/lib/graphics/render-pass.d.ts.map +0 -1
  361. package/dist/src/lib/graphics/zylem-scene.d.ts +0 -50
  362. package/dist/src/lib/graphics/zylem-scene.d.ts.map +0 -1
  363. package/dist/src/lib/input/gamepad-provider.d.ts +0 -14
  364. package/dist/src/lib/input/gamepad-provider.d.ts.map +0 -1
  365. package/dist/src/lib/input/input-manager.d.ts +0 -15
  366. package/dist/src/lib/input/input-manager.d.ts.map +0 -1
  367. package/dist/src/lib/input/input-provider.d.ts +0 -7
  368. package/dist/src/lib/input/input-provider.d.ts.map +0 -1
  369. package/dist/src/lib/input/input.d.ts +0 -48
  370. package/dist/src/lib/input/input.d.ts.map +0 -1
  371. package/dist/src/lib/input/keyboard-provider.d.ts +0 -21
  372. package/dist/src/lib/input/keyboard-provider.d.ts.map +0 -1
  373. package/dist/src/lib/interfaces/entity.d.ts.map +0 -1
  374. package/dist/src/lib/sounds/index.d.ts +0 -3
  375. package/dist/src/lib/sounds/index.d.ts.map +0 -1
  376. package/dist/src/lib/sounds/ping-pong-sound.d.ts +0 -5
  377. package/dist/src/lib/sounds/ping-pong-sound.d.ts.map +0 -1
  378. package/dist/src/lib/sounds/ricochet-sound.d.ts +0 -5
  379. package/dist/src/lib/sounds/ricochet-sound.d.ts.map +0 -1
  380. package/dist/src/lib/stage/debug-entity-cursor.d.ts +0 -24
  381. package/dist/src/lib/stage/debug-entity-cursor.d.ts.map +0 -1
  382. package/dist/src/lib/stage/entity-spawner.d.ts +0 -9
  383. package/dist/src/lib/stage/entity-spawner.d.ts.map +0 -1
  384. package/dist/src/lib/stage/stage-camera-debug-delegate.d.ts +0 -14
  385. package/dist/src/lib/stage/stage-camera-debug-delegate.d.ts.map +0 -1
  386. package/dist/src/lib/stage/stage-debug-delegate.d.ts +0 -26
  387. package/dist/src/lib/stage/stage-debug-delegate.d.ts.map +0 -1
  388. package/dist/src/lib/stage/stage-default.d.ts +0 -3
  389. package/dist/src/lib/stage/stage-default.d.ts.map +0 -1
  390. package/dist/src/lib/stage/stage-factory.d.ts +0 -6
  391. package/dist/src/lib/stage/stage-factory.d.ts.map +0 -1
  392. package/dist/src/lib/stage/stage-manager.d.ts +0 -30
  393. package/dist/src/lib/stage/stage-manager.d.ts.map +0 -1
  394. package/dist/src/lib/stage/stage-state.d.ts +0 -14
  395. package/dist/src/lib/stage/stage-state.d.ts.map +0 -1
  396. package/dist/src/lib/stage/stage.d.ts +0 -35
  397. package/dist/src/lib/stage/stage.d.ts.map +0 -1
  398. package/dist/src/lib/stage/zylem-stage.d.ts +0 -128
  399. package/dist/src/lib/stage/zylem-stage.d.ts.map +0 -1
  400. package/dist/src/lib/systems/test-system.d.ts +0 -2
  401. package/dist/src/lib/systems/test-system.d.ts.map +0 -1
  402. package/dist/src/lib/systems/transformable.system.d.ts +0 -25
  403. package/dist/src/lib/systems/transformable.system.d.ts.map +0 -1
  404. package/dist/src/lib/types/entity-types.d.ts +0 -24
  405. package/dist/src/lib/types/entity-types.d.ts.map +0 -1
  406. package/dist/src/lib/types/index.d.ts +0 -3
  407. package/dist/src/lib/types/index.d.ts.map +0 -1
  408. package/dist/src/lib/types/stage-types.d.ts +0 -26
  409. package/dist/src/lib/types/stage-types.d.ts.map +0 -1
  410. package/dist/src/lib/ui/Debug.d.ts +0 -6
  411. package/dist/src/lib/ui/Debug.d.ts.map +0 -1
  412. package/dist/src/lib/ui/console/Console.d.ts +0 -7
  413. package/dist/src/lib/ui/console/Console.d.ts.map +0 -1
  414. package/dist/src/lib/ui/debug-panel/AccordionMenu.d.ts +0 -7
  415. package/dist/src/lib/ui/debug-panel/AccordionMenu.d.ts.map +0 -1
  416. package/dist/src/lib/ui/debug-panel/Menu.d.ts +0 -6
  417. package/dist/src/lib/ui/debug-panel/Menu.d.ts.map +0 -1
  418. package/dist/src/lib/ui/debug-panel/sections/EntitiesSection.d.ts +0 -4
  419. package/dist/src/lib/ui/debug-panel/sections/EntitiesSection.d.ts.map +0 -1
  420. package/dist/src/lib/ui/debug-panel/sections/GameSection.d.ts +0 -3
  421. package/dist/src/lib/ui/debug-panel/sections/GameSection.d.ts.map +0 -1
  422. package/dist/src/lib/ui/debug-panel/sections/StagesSection.d.ts +0 -3
  423. package/dist/src/lib/ui/debug-panel/sections/StagesSection.d.ts.map +0 -1
  424. package/dist/src/lib/ui/debug-panel/sections/all.d.ts +0 -4
  425. package/dist/src/lib/ui/debug-panel/sections/all.d.ts.map +0 -1
  426. package/dist/src/lib/ui/toolbar/Toolbar.d.ts +0 -6
  427. package/dist/src/lib/ui/toolbar/Toolbar.d.ts.map +0 -1
  428. package/dist/tests/e2e/basic-game.spec.d.ts +0 -2
  429. package/dist/tests/e2e/basic-game.spec.d.ts.map +0 -1
  430. package/dist/tests/integration/debug.sim.spec.d.ts +0 -2
  431. package/dist/tests/integration/debug.sim.spec.d.ts.map +0 -1
  432. package/dist/tests/unit/collision/collision.spec.d.ts +0 -2
  433. package/dist/tests/unit/collision/collision.spec.d.ts.map +0 -1
  434. package/dist/tests/unit/core/base-node.spec.d.ts +0 -2
  435. package/dist/tests/unit/core/base-node.spec.d.ts.map +0 -1
  436. package/dist/tests/unit/core/game.spec.d.ts +0 -2
  437. package/dist/tests/unit/core/game.spec.d.ts.map +0 -1
  438. package/dist/tests/unit/core/stage.spec.d.ts +0 -2
  439. package/dist/tests/unit/core/stage.spec.d.ts.map +0 -1
  440. package/dist/tests/unit/core/vessel.spec.d.ts +0 -2
  441. package/dist/tests/unit/core/vessel.spec.d.ts.map +0 -1
@@ -0,0 +1,67 @@
1
+ import { Vector3 } from 'three';
2
+ import { RigidBody, Vector } from '@dimforge/rapier3d-compat';
3
+
4
+ interface EntityWithBody {
5
+ body: RigidBody | null;
6
+ }
7
+ /**
8
+ * Move entity based on a vector, adding to existing velocities
9
+ */
10
+ declare function move(entity: EntityWithBody, vector: Vector3): void;
11
+ /**
12
+ * Reset entity velocity
13
+ */
14
+ declare function resetVelocity(entity: EntityWithBody): void;
15
+ /**
16
+ * Enhanced moveable entity with bound methods
17
+ */
18
+ interface MoveableEntity extends EntityWithBody {
19
+ moveX(delta: number): void;
20
+ moveY(delta: number): void;
21
+ moveZ(delta: number): void;
22
+ moveXY(deltaX: number, deltaY: number): void;
23
+ moveXZ(deltaX: number, deltaZ: number): void;
24
+ move(vector: Vector3): void;
25
+ resetVelocity(): void;
26
+ moveForwardXY(delta: number, rotation2DAngle: number): void;
27
+ getPosition(): Vector | null;
28
+ getVelocity(): Vector | null;
29
+ setPosition(x: number, y: number, z: number): void;
30
+ setPositionX(x: number): void;
31
+ setPositionY(y: number): void;
32
+ setPositionZ(z: number): void;
33
+ wrapAroundXY(boundsX: number, boundsY: number): void;
34
+ wrapAround3D(boundsX: number, boundsY: number, boundsZ: number): void;
35
+ }
36
+ /**
37
+ * Class decorator to enhance an entity with additive movement methods
38
+ */
39
+ declare function moveable<T extends {
40
+ new (...args: any[]): EntityWithBody;
41
+ }>(constructor: T): {
42
+ new (...args: any[]): {
43
+ moveX(delta: number): void;
44
+ moveY(delta: number): void;
45
+ moveZ(delta: number): void;
46
+ moveXY(deltaX: number, deltaY: number): void;
47
+ moveXZ(deltaX: number, deltaZ: number): void;
48
+ move(vector: Vector3): void;
49
+ resetVelocity(): void;
50
+ moveForwardXY(delta: number, rotation2DAngle: number): void;
51
+ getPosition(): Vector | null;
52
+ getVelocity(): Vector | null;
53
+ setPosition(x: number, y: number, z: number): void;
54
+ setPositionX(x: number): void;
55
+ setPositionY(y: number): void;
56
+ setPositionZ(z: number): void;
57
+ wrapAroundXY(boundsX: number, boundsY: number): void;
58
+ wrapAround3D(boundsX: number, boundsY: number, boundsZ: number): void;
59
+ body: RigidBody | null;
60
+ };
61
+ } & T;
62
+ /**
63
+ * Enhance an entity with additive movement methods (retained for compatibility)
64
+ */
65
+ declare function makeMoveable<T extends EntityWithBody>(entity: T): T & MoveableEntity;
66
+
67
+ export { type EntityWithBody as E, type MoveableEntity as M, moveable as a, move as b, makeMoveable as m, resetVelocity as r };
@@ -0,0 +1,338 @@
1
+ import { b as SetupFunction, G as GameEntity, c as UpdateFunction, D as DestroyFunction, S as SetupContext, U as UpdateContext, d as DestroyContext, e as BaseNode, L as LoadingEvent } from './entity-COvRtFNG.js';
2
+ import * as bitecs from 'bitecs';
3
+ import { defineSystem, IWorld } from 'bitecs';
4
+ import { Scene, Color, Object3D, Vector3, Group } from 'three';
5
+ import { f as ZylemWorld, S as SPRITE_TYPE, g as ZylemSprite, d as SPHERE_TYPE, h as ZylemSphere, R as RECT_TYPE, i as ZylemRect, T as TEXT_TYPE, j as ZylemText, B as BOX_TYPE, Z as ZylemBox, P as PLANE_TYPE, k as ZylemPlane, e as ZONE_TYPE, l as ZylemZone, A as ACTOR_TYPE, m as ZylemActor } from './entities-BAxfJOkk.js';
6
+ import { E as Entity, L as LifecycleFunction, S as StageEntity } from './entity-Bq_eNEDI.js';
7
+ import { Z as ZylemCamera, C as CameraDebugDelegate, b as CameraDebugState, d as CameraWrapper } from './camera-CpbDr4-V.js';
8
+ import RAPIER__default, { RigidBody, Collider } from '@dimforge/rapier3d-compat';
9
+
10
+ interface SceneState {
11
+ backgroundColor: Color | string;
12
+ backgroundImage: string | null;
13
+ }
14
+ declare class ZylemScene implements Entity<ZylemScene> {
15
+ type: string;
16
+ _setup?: SetupFunction<ZylemScene>;
17
+ scene: Scene;
18
+ zylemCamera: ZylemCamera;
19
+ containerElement: HTMLElement | null;
20
+ update: LifecycleFunction<ZylemScene>;
21
+ _collision?: ((entity: any, other: any, globals?: any) => void) | undefined;
22
+ _destroy?: ((globals?: any) => void) | undefined;
23
+ name?: string | undefined;
24
+ tag?: Set<string> | undefined;
25
+ constructor(id: string, camera: ZylemCamera, state: SceneState);
26
+ setup(): void;
27
+ destroy(): void;
28
+ /**
29
+ * Setup camera with the scene
30
+ */
31
+ setupCamera(scene: Scene, camera: ZylemCamera): void;
32
+ /**
33
+ * Setup scene lighting
34
+ */
35
+ setupLighting(scene: Scene): void;
36
+ /**
37
+ * Update renderer size - delegates to camera
38
+ */
39
+ updateRenderer(width: number, height: number): void;
40
+ /**
41
+ * Add object to scene
42
+ */
43
+ add(object: Object3D, position?: Vector3): void;
44
+ /**
45
+ * Add game entity to scene
46
+ */
47
+ addEntity(entity: GameEntity<any>): void;
48
+ /**
49
+ * Add debug helpers to scene
50
+ */
51
+ debugScene(): void;
52
+ }
53
+
54
+ /**
55
+ * Base entity interface - shared across modules to prevent circular dependencies
56
+ */
57
+ interface BaseEntityInterface {
58
+ uuid: string;
59
+ name: string;
60
+ eid: number;
61
+ group: Group | null;
62
+ body: RigidBody | null;
63
+ collider: Collider | null;
64
+ }
65
+ /**
66
+ * Game entity interface - minimal interface to break circular dependencies
67
+ */
68
+ interface GameEntityInterface extends BaseEntityInterface {
69
+ type: string;
70
+ isStatic: boolean;
71
+ setPosition(x: number, y: number, z: number): void;
72
+ setRotation(x: number, y: number, z: number): void;
73
+ setScale(x: number, y: number, z: number): void;
74
+ }
75
+
76
+ /**
77
+ * Provides BaseNode-like lifecycle without ECS/children. Consumers implement
78
+ * the protected hooks and may assign public setup/update/destroy callbacks.
79
+ */
80
+ declare abstract class LifeCycleBase<TSelf> {
81
+ update: UpdateFunction<TSelf>;
82
+ setup: SetupFunction<TSelf>;
83
+ destroy: DestroyFunction<TSelf>;
84
+ protected abstract _setup(context: SetupContext<TSelf>): void;
85
+ protected abstract _update(context: UpdateContext<TSelf>): void;
86
+ protected abstract _destroy(context: DestroyContext<TSelf>): void;
87
+ nodeSetup(context: SetupContext<TSelf>): void;
88
+ nodeUpdate(context: UpdateContext<TSelf>): void;
89
+ nodeDestroy(context: DestroyContext<TSelf>): void;
90
+ }
91
+
92
+ type StageSystem = {
93
+ _childrenMap: Map<number, StageEntity & {
94
+ body: RAPIER__default.RigidBody;
95
+ }>;
96
+ };
97
+ type TransformSystemResult = {
98
+ system: ReturnType<typeof defineSystem>;
99
+ destroy: (world: IWorld) => void;
100
+ };
101
+ declare function createTransformSystem(stage: StageSystem): TransformSystemResult;
102
+
103
+ type AddEntityFactory = (params: {
104
+ position: Vector3;
105
+ normal?: Vector3;
106
+ }) => Promise<any> | any;
107
+ interface StageDebugDelegateOptions {
108
+ maxRayDistance?: number;
109
+ addEntityFactory?: AddEntityFactory | null;
110
+ }
111
+ declare class StageDebugDelegate {
112
+ private stage;
113
+ private options;
114
+ private mouseNdc;
115
+ private raycaster;
116
+ private isMouseDown;
117
+ private disposeFns;
118
+ private debugCursor;
119
+ private debugLines;
120
+ constructor(stage: ZylemStage, options?: StageDebugDelegateOptions);
121
+ update(): void;
122
+ dispose(): void;
123
+ private handleActionOnHit;
124
+ private attachDomListeners;
125
+ }
126
+
127
+ /**
128
+ * Debug delegate that bridges the stage's entity map and debug state to the camera.
129
+ */
130
+ declare class StageCameraDebugDelegate implements CameraDebugDelegate {
131
+ private stage;
132
+ constructor(stage: ZylemStage);
133
+ subscribe(listener: (state: CameraDebugState) => void): () => void;
134
+ resolveTarget(uuid: string): Object3D | null;
135
+ private snapshot;
136
+ }
137
+
138
+ interface ZylemStageConfig {
139
+ inputs: Record<string, string[]>;
140
+ backgroundColor: Color | string;
141
+ backgroundImage: string | null;
142
+ gravity: Vector3;
143
+ variables: Record<string, any>;
144
+ stageRef?: Stage;
145
+ }
146
+ type NodeLike$1 = {
147
+ create: Function;
148
+ };
149
+ type StageEntityInput = NodeLike$1 | Promise<any> | (() => NodeLike$1 | Promise<any>);
150
+ type StageOptionItem = Partial<ZylemStageConfig> | CameraWrapper | StageEntityInput;
151
+ type StageOptions = [] | [Partial<ZylemStageConfig>, ...StageOptionItem[]];
152
+ type StageState = ZylemStageConfig & {
153
+ entities: GameEntityInterface[];
154
+ };
155
+ /**
156
+ * ZylemStage orchestrates scene, physics world, entities, and lifecycle.
157
+ *
158
+ * Responsibilities:
159
+ * - Manage stage configuration (background, inputs, gravity, variables)
160
+ * - Initialize and own `ZylemScene` and `ZylemWorld`
161
+ * - Spawn, track, and remove entities; emit entity-added events
162
+ * - Drive per-frame updates and transform system
163
+ */
164
+ declare class ZylemStage extends LifeCycleBase<ZylemStage> {
165
+ type: string;
166
+ state: StageState;
167
+ gravity: Vector3;
168
+ world: ZylemWorld | null;
169
+ scene: ZylemScene | null;
170
+ children: Array<BaseNode>;
171
+ _childrenMap: Map<number, BaseNode>;
172
+ _removalMap: Map<number, BaseNode>;
173
+ private pendingEntities;
174
+ private pendingPromises;
175
+ private isLoaded;
176
+ _debugMap: Map<string, BaseNode>;
177
+ private entityAddedHandlers;
178
+ ecs: bitecs.IWorld;
179
+ testSystem: any;
180
+ transformSystem: ReturnType<typeof createTransformSystem> | null;
181
+ debugDelegate: StageDebugDelegate | null;
182
+ cameraDebugDelegate: StageCameraDebugDelegate | null;
183
+ private debugStateUnsubscribe;
184
+ uuid: string;
185
+ wrapperRef: Stage | null;
186
+ camera?: CameraWrapper;
187
+ cameraRef?: ZylemCamera | null;
188
+ private cameraDelegate;
189
+ private loadingDelegate;
190
+ /**
191
+ * Create a new stage.
192
+ * @param options Stage options: partial config, camera, and initial entities or factories
193
+ */
194
+ constructor(options?: StageOptions);
195
+ private handleEntityImmediatelyOrQueue;
196
+ private handlePromiseWithSpawnOnResolve;
197
+ private saveState;
198
+ private setState;
199
+ /**
200
+ * Load and initialize the stage's scene and world.
201
+ * Uses generator pattern to yield control to event loop for real-time progress.
202
+ * @param id DOM element id for the renderer container
203
+ * @param camera Optional camera override
204
+ */
205
+ load(id: string, camera?: ZylemCamera | null): Promise<void>;
206
+ /**
207
+ * Generator that yields between entity loads for real-time progress updates.
208
+ */
209
+ private entityLoadGenerator;
210
+ /**
211
+ * Runs the entity load generator, yielding to the event loop between loads.
212
+ * This allows the browser to process events and update the UI in real-time.
213
+ */
214
+ private runEntityLoadGenerator;
215
+ protected _setup(params: SetupContext<ZylemStage>): void;
216
+ private updateDebugDelegate;
217
+ protected _update(params: UpdateContext<ZylemStage>): void;
218
+ outOfLoop(): void;
219
+ /** Update debug overlays and helpers if enabled. */
220
+ debugUpdate(): void;
221
+ /** Cleanup owned resources when the stage is destroyed. */
222
+ protected _destroy(params: DestroyContext<ZylemStage>): void;
223
+ /**
224
+ * Create, register, and add an entity to the scene/world.
225
+ * Safe to call only after `load` when scene/world exist.
226
+ */
227
+ spawnEntity(child: BaseNode): Promise<void>;
228
+ buildEntityState(child: BaseNode): Partial<BaseEntityInterface>;
229
+ /** Add the entity to internal maps and notify listeners. */
230
+ addEntityToStage(entity: BaseNode): void;
231
+ /**
232
+ * Subscribe to entity-added events.
233
+ * @param callback Invoked for each entity when added
234
+ * @param options.replayExisting If true and stage already loaded, replays existing entities
235
+ * @returns Unsubscribe function
236
+ */
237
+ onEntityAdded(callback: (entity: BaseNode) => void, options?: {
238
+ replayExisting?: boolean;
239
+ }): () => void;
240
+ onLoading(callback: (event: LoadingEvent) => void): () => void;
241
+ /**
242
+ * Remove an entity and its resources by its UUID.
243
+ * @returns true if removed, false if not found or stage not ready
244
+ */
245
+ removeEntityByUuid(uuid: string): boolean;
246
+ /** Get an entity by its name; returns null if not found. */
247
+ getEntityByName(name: string): BaseNode<any, any> | null;
248
+ logMissingEntities(): void;
249
+ /** Resize renderer viewport. */
250
+ resize(width: number, height: number): void;
251
+ /**
252
+ * Enqueue items to be spawned. Items can be:
253
+ * - BaseNode instances (immediate or deferred until load)
254
+ * - Factory functions returning BaseNode or Promise<BaseNode>
255
+ * - Promises resolving to BaseNode
256
+ */
257
+ enqueue(...items: StageEntityInput[]): void;
258
+ }
259
+
260
+ /**
261
+ * Maps entity type symbols to their class types.
262
+ * Used by getEntityByName to infer return types.
263
+ */
264
+ interface EntityTypeMap {
265
+ [SPRITE_TYPE]: ZylemSprite;
266
+ [SPHERE_TYPE]: ZylemSphere;
267
+ [RECT_TYPE]: ZylemRect;
268
+ [TEXT_TYPE]: ZylemText;
269
+ [BOX_TYPE]: ZylemBox;
270
+ [PLANE_TYPE]: ZylemPlane;
271
+ [ZONE_TYPE]: ZylemZone;
272
+ [ACTOR_TYPE]: ZylemActor;
273
+ }
274
+
275
+ type NodeLike = {
276
+ create: Function;
277
+ };
278
+ type AnyNode = NodeLike | Promise<NodeLike>;
279
+ type EntityInput = AnyNode | (() => AnyNode) | (() => Promise<any>);
280
+ declare class Stage {
281
+ wrappedStage: ZylemStage | null;
282
+ options: StageOptionItem[];
283
+ private _pendingEntities;
284
+ private setupCallbacks;
285
+ private updateCallbacks;
286
+ private destroyCallbacks;
287
+ private pendingLoadingCallbacks;
288
+ constructor(options: StageOptions);
289
+ load(id: string, camera?: ZylemCamera | CameraWrapper | null): Promise<void>;
290
+ private applyLifecycleCallbacks;
291
+ addEntities(entities: BaseNode[]): Promise<void>;
292
+ add(...inputs: Array<EntityInput>): void;
293
+ private addToBlueprints;
294
+ private addToStage;
295
+ start(params: SetupContext<ZylemStage>): void;
296
+ onUpdate(...callbacks: UpdateFunction<ZylemStage>[]): this;
297
+ onSetup(...callbacks: SetupFunction<ZylemStage>[]): this;
298
+ onDestroy(...callbacks: DestroyFunction<ZylemStage>[]): this;
299
+ onLoading(callback: (event: LoadingEvent) => void): () => void;
300
+ /**
301
+ * Find an entity by name on the current stage.
302
+ * @param name The name of the entity to find
303
+ * @param type Optional type symbol for type inference (e.g., TEXT_TYPE, SPRITE_TYPE)
304
+ * @returns The entity if found, or undefined
305
+ * @example stage.getEntityByName('scoreText', TEXT_TYPE)
306
+ */
307
+ getEntityByName<T extends symbol | void = void>(name: string, type?: T): T extends keyof EntityTypeMap ? EntityTypeMap[T] | undefined : BaseNode | undefined;
308
+ }
309
+ /**
310
+ * Create a stage with optional camera
311
+ */
312
+ declare function createStage(...options: StageOptions): Stage;
313
+
314
+ /**
315
+ * Stage state interface - minimal to prevent circular dependencies
316
+ */
317
+ interface StageStateInterface {
318
+ backgroundColor: Color;
319
+ backgroundImage: string | null;
320
+ inputs: {
321
+ p1: string[];
322
+ p2: string[];
323
+ };
324
+ variables: Record<string, any>;
325
+ gravity: Vector3;
326
+ entities: Partial<BaseEntityInterface>[];
327
+ stageRef?: any;
328
+ }
329
+ /**
330
+ * Minimal stage interface to break circular dependencies
331
+ */
332
+ interface StageInterface {
333
+ uuid: string;
334
+ children: any[];
335
+ state: StageStateInterface;
336
+ }
337
+
338
+ export { type StageStateInterface as S, type StageOptions as a, Stage as b, createStage as c, type StageInterface as d };
@@ -0,0 +1,46 @@
1
+ import { S as StageStateInterface } from './stage-types-CD21XoIU.js';
2
+ export { a as StageOptions, c as createStage } from './stage-types-CD21XoIU.js';
3
+ export { S as StageBlueprint, e as entitySpawner } from './blueprints-BOCc3Wve.js';
4
+ import './entity-COvRtFNG.js';
5
+ import 'three';
6
+ import '@dimforge/rapier3d-compat';
7
+ import 'bitecs';
8
+ import './entities-BAxfJOkk.js';
9
+ import './entity-Bq_eNEDI.js';
10
+ import './camera-CpbDr4-V.js';
11
+ import 'three/examples/jsm/postprocessing/EffectComposer.js';
12
+ import '@sinclair/typebox';
13
+
14
+ /**
15
+ * Event name for stage state changes.
16
+ * Dispatched when the stage state proxy is updated.
17
+ */
18
+ declare const STAGE_STATE_CHANGE = "STAGE_STATE_CHANGE";
19
+ /**
20
+ * Event detail payload for STAGE_STATE_CHANGE events.
21
+ */
22
+ interface StageStateChangeEvent {
23
+ entities: StageStateInterface['entities'];
24
+ variables: StageStateInterface['variables'];
25
+ }
26
+ /**
27
+ * Initialize the stage state dispatcher.
28
+ * Subscribes to stageState changes and dispatches STAGE_STATE_CHANGE events to the window.
29
+ *
30
+ * @returns Unsubscribe function to stop dispatching events.
31
+ *
32
+ * @example
33
+ * // Start dispatching stage state changes
34
+ * const unsubscribe = initStageStateDispatcher();
35
+ *
36
+ * // Later, stop dispatching
37
+ * unsubscribe();
38
+ */
39
+ declare function initStageStateDispatcher(): () => void;
40
+ /**
41
+ * Manually dispatch the current stage state.
42
+ * Useful for initial sync when a listener is added.
43
+ */
44
+ declare function dispatchStageState(): void;
45
+
46
+ export { STAGE_STATE_CHANGE, type StageStateChangeEvent, dispatchStageState, initStageStateDispatcher };