@zylem/game-lib 0.3.16 → 0.4.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 (294) hide show
  1. package/README.md +39 -14
  2. package/dist/.vite/manifest.json +140 -64
  3. package/dist/api/actions.d.ts +5 -0
  4. package/dist/api/actions.d.ts.map +1 -0
  5. package/dist/api/behaviors.d.ts +4 -0
  6. package/dist/api/behaviors.d.ts.map +1 -0
  7. package/dist/api/camera.d.ts +4 -0
  8. package/dist/api/camera.d.ts.map +1 -0
  9. package/dist/api/core.d.ts +6 -0
  10. package/dist/api/core.d.ts.map +1 -0
  11. package/dist/api/entities.d.ts +9 -0
  12. package/dist/api/entities.d.ts.map +1 -0
  13. package/dist/api/main.d.ts +32 -0
  14. package/dist/api/main.d.ts.map +1 -0
  15. package/dist/api/stage.d.ts +7 -0
  16. package/dist/api/stage.d.ts.map +1 -0
  17. package/dist/core.js +4 -4
  18. package/dist/lib/actions/behaviors/actions.d.ts +1 -0
  19. package/dist/lib/actions/behaviors/actions.d.ts.map +1 -0
  20. package/dist/lib/actions/behaviors/behavior.d.ts +1 -0
  21. package/dist/lib/actions/behaviors/behavior.d.ts.map +1 -0
  22. package/dist/lib/actions/behaviors/boundaries/boundary.d.ts +1 -0
  23. package/dist/lib/actions/behaviors/boundaries/boundary.d.ts.map +1 -0
  24. package/dist/lib/actions/behaviors/character-controller.d.ts +1 -0
  25. package/dist/lib/actions/behaviors/character-controller.d.ts.map +1 -0
  26. package/dist/lib/actions/behaviors/debug/debug-collision.d.ts +1 -0
  27. package/dist/lib/actions/behaviors/debug/debug-collision.d.ts.map +1 -0
  28. package/dist/lib/actions/behaviors/debug/debug-update.d.ts +1 -0
  29. package/dist/lib/actions/behaviors/debug/debug-update.d.ts.map +1 -0
  30. package/dist/lib/actions/behaviors/debug/debug.d.ts +1 -0
  31. package/dist/lib/actions/behaviors/debug/debug.d.ts.map +1 -0
  32. package/dist/lib/actions/behaviors/movement/movement-sequence-2d.d.ts +1 -0
  33. package/dist/lib/actions/behaviors/movement/movement-sequence-2d.d.ts.map +1 -0
  34. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-collision.d.ts +1 -0
  35. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-collision.d.ts.map +1 -0
  36. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-in-bounds.d.ts +1 -0
  37. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-in-bounds.d.ts.map +1 -0
  38. package/dist/lib/actions/behaviors/ricochet/ricochet.d.ts +1 -0
  39. package/dist/lib/actions/behaviors/ricochet/ricochet.d.ts.map +1 -0
  40. package/dist/lib/actions/behaviors/zylem-behavior.d.ts +1 -0
  41. package/dist/lib/actions/behaviors/zylem-behavior.d.ts.map +1 -0
  42. package/dist/lib/actions/capabilities/moveable.d.ts +1 -0
  43. package/dist/lib/actions/capabilities/moveable.d.ts.map +1 -0
  44. package/dist/lib/actions/capabilities/rotatable.d.ts +1 -0
  45. package/dist/lib/actions/capabilities/rotatable.d.ts.map +1 -0
  46. package/dist/lib/actions/capabilities/transformable.d.ts +1 -0
  47. package/dist/lib/actions/capabilities/transformable.d.ts.map +1 -0
  48. package/dist/lib/actions/global-change.d.ts +1 -0
  49. package/dist/lib/actions/global-change.d.ts.map +1 -0
  50. package/dist/lib/camera/camera.d.ts +1 -0
  51. package/dist/lib/camera/camera.d.ts.map +1 -0
  52. package/dist/lib/camera/fixed-2d.d.ts +1 -0
  53. package/dist/lib/camera/fixed-2d.d.ts.map +1 -0
  54. package/dist/lib/camera/perspective.d.ts +1 -0
  55. package/dist/lib/camera/perspective.d.ts.map +1 -0
  56. package/dist/lib/camera/third-person.d.ts +1 -0
  57. package/dist/lib/camera/third-person.d.ts.map +1 -0
  58. package/dist/lib/camera/zylem-camera.d.ts +27 -0
  59. package/dist/lib/camera/zylem-camera.d.ts.map +1 -0
  60. package/dist/lib/camera/zylem-camera.js +100 -37
  61. package/dist/lib/collision/collision-builder.d.ts +1 -0
  62. package/dist/lib/collision/collision-builder.d.ts.map +1 -0
  63. package/dist/lib/collision/collision-delegate.d.ts +1 -0
  64. package/dist/lib/collision/collision-delegate.d.ts.map +1 -0
  65. package/dist/lib/collision/collision-group.d.ts +1 -0
  66. package/dist/lib/collision/collision-group.d.ts.map +1 -0
  67. package/dist/lib/collision/collision-mask.d.ts +1 -0
  68. package/dist/lib/collision/collision-mask.d.ts.map +1 -0
  69. package/dist/lib/collision/collision.d.ts +1 -0
  70. package/dist/lib/collision/collision.d.ts.map +1 -0
  71. package/dist/lib/collision/utils.d.ts +1 -0
  72. package/dist/lib/collision/utils.d.ts.map +1 -0
  73. package/dist/lib/collision/world.d.ts +1 -0
  74. package/dist/lib/collision/world.d.ts.map +1 -0
  75. package/dist/lib/core/asset-manager.d.ts +1 -0
  76. package/dist/lib/core/asset-manager.d.ts.map +1 -0
  77. package/dist/lib/core/base-node-life-cycle.d.ts +15 -0
  78. package/dist/lib/core/base-node-life-cycle.d.ts.map +1 -0
  79. package/dist/lib/core/base-node.d.ts +7 -2
  80. package/dist/lib/core/base-node.d.ts.map +1 -0
  81. package/dist/lib/core/base-node.js +7 -3
  82. package/dist/lib/core/entity-asset-loader.d.ts +1 -0
  83. package/dist/lib/core/entity-asset-loader.d.ts.map +1 -0
  84. package/dist/lib/core/errors.d.ts +1 -0
  85. package/dist/lib/core/errors.d.ts.map +1 -0
  86. package/dist/lib/core/flags.d.ts +1 -0
  87. package/dist/lib/core/flags.d.ts.map +1 -0
  88. package/dist/lib/core/index.d.ts +1 -0
  89. package/dist/lib/core/index.d.ts.map +1 -0
  90. package/dist/lib/core/lazy-loader.d.ts +3 -2
  91. package/dist/lib/core/lazy-loader.d.ts.map +1 -0
  92. package/dist/lib/core/lifecycle-base.d.ts +1 -0
  93. package/dist/lib/core/lifecycle-base.d.ts.map +1 -0
  94. package/dist/lib/core/preset-shader.d.ts +1 -0
  95. package/dist/lib/core/preset-shader.d.ts.map +1 -0
  96. package/dist/lib/core/three-addons/Timer.d.ts +1 -0
  97. package/dist/lib/core/three-addons/Timer.d.ts.map +1 -0
  98. package/dist/lib/core/utility/nodes.d.ts +13 -0
  99. package/dist/lib/core/utility/nodes.d.ts.map +1 -0
  100. package/dist/lib/core/utility/nodes.js +31 -0
  101. package/dist/lib/core/utility/strings.d.ts +3 -0
  102. package/dist/lib/core/utility/strings.d.ts.map +1 -0
  103. package/dist/lib/core/utility/strings.js +14 -0
  104. package/dist/lib/core/{utility.d.ts → utility/vector.d.ts} +1 -2
  105. package/dist/lib/core/utility/vector.d.ts.map +1 -0
  106. package/dist/lib/core/utility/vector.js +8 -0
  107. package/dist/lib/core/vector.d.ts +1 -0
  108. package/dist/lib/core/vector.d.ts.map +1 -0
  109. package/dist/lib/core/vessel.d.ts +4 -1
  110. package/dist/lib/core/vessel.d.ts.map +1 -0
  111. package/dist/lib/core/vessel.js +13 -9
  112. package/dist/lib/debug/console/console-state.d.ts +1 -0
  113. package/dist/lib/debug/console/console-state.d.ts.map +1 -0
  114. package/dist/lib/debug/console/console-store.d.ts +1 -0
  115. package/dist/lib/debug/console/console-store.d.ts.map +1 -0
  116. package/dist/lib/debug/debug-state.d.ts +1 -0
  117. package/dist/lib/debug/debug-state.d.ts.map +1 -0
  118. package/dist/lib/debug/debug-store.d.ts +1 -0
  119. package/dist/lib/debug/debug-store.d.ts.map +1 -0
  120. package/dist/lib/debug/state-based-debug-loader.d.ts +1 -0
  121. package/dist/lib/debug/state-based-debug-loader.d.ts.map +1 -0
  122. package/dist/lib/device/aspect-ratio.d.ts +38 -0
  123. package/dist/lib/device/aspect-ratio.d.ts.map +1 -0
  124. package/dist/lib/device/aspect-ratio.js +44 -0
  125. package/dist/lib/device/desktop.d.ts +1 -0
  126. package/dist/lib/device/desktop.d.ts.map +1 -0
  127. package/dist/lib/device/mobile.d.ts +1 -0
  128. package/dist/lib/device/mobile.d.ts.map +1 -0
  129. package/dist/lib/device/tablet.d.ts +1 -0
  130. package/dist/lib/device/tablet.d.ts.map +1 -0
  131. package/dist/lib/entities/actor.d.ts +1 -0
  132. package/dist/lib/entities/actor.d.ts.map +1 -0
  133. package/dist/lib/entities/box.d.ts +1 -0
  134. package/dist/lib/entities/box.d.ts.map +1 -0
  135. package/dist/lib/entities/builder.d.ts +1 -0
  136. package/dist/lib/entities/builder.d.ts.map +1 -0
  137. package/dist/lib/entities/create.d.ts +1 -0
  138. package/dist/lib/entities/create.d.ts.map +1 -0
  139. package/dist/lib/entities/delegates/animation.d.ts +1 -0
  140. package/dist/lib/entities/delegates/animation.d.ts.map +1 -0
  141. package/dist/lib/entities/delegates/debug.d.ts +1 -0
  142. package/dist/lib/entities/delegates/debug.d.ts.map +1 -0
  143. package/dist/lib/entities/delegates/loader.d.ts +1 -0
  144. package/dist/lib/entities/delegates/loader.d.ts.map +1 -0
  145. package/dist/lib/entities/destroy.d.ts +1 -0
  146. package/dist/lib/entities/destroy.d.ts.map +1 -0
  147. package/dist/lib/entities/entity.d.ts +4 -1
  148. package/dist/lib/entities/entity.d.ts.map +1 -0
  149. package/dist/lib/entities/entity.js +9 -5
  150. package/dist/lib/entities/index.d.ts +1 -0
  151. package/dist/lib/entities/index.d.ts.map +1 -0
  152. package/dist/lib/entities/plane.d.ts +1 -0
  153. package/dist/lib/entities/plane.d.ts.map +1 -0
  154. package/dist/lib/entities/rect.d.ts +1 -0
  155. package/dist/lib/entities/rect.d.ts.map +1 -0
  156. package/dist/lib/entities/sphere.d.ts +1 -0
  157. package/dist/lib/entities/sphere.d.ts.map +1 -0
  158. package/dist/lib/entities/sprite.d.ts +1 -0
  159. package/dist/lib/entities/sprite.d.ts.map +1 -0
  160. package/dist/lib/entities/text.d.ts +8 -0
  161. package/dist/lib/entities/text.d.ts.map +1 -0
  162. package/dist/lib/entities/text.js +77 -48
  163. package/dist/lib/entities/zone.d.ts +1 -0
  164. package/dist/lib/entities/zone.d.ts.map +1 -0
  165. package/dist/lib/game/game-blueprint.d.ts +38 -0
  166. package/dist/lib/game/game-blueprint.d.ts.map +1 -0
  167. package/dist/lib/game/game-canvas.d.ts +35 -0
  168. package/dist/lib/game/game-canvas.d.ts.map +1 -0
  169. package/dist/lib/game/game-canvas.js +57 -0
  170. package/dist/lib/game/game-config.d.ts +63 -0
  171. package/dist/lib/game/game-config.d.ts.map +1 -0
  172. package/dist/lib/game/game-config.js +79 -0
  173. package/dist/lib/game/game-default.d.ts +19 -0
  174. package/dist/lib/game/game-default.d.ts.map +1 -0
  175. package/dist/lib/game/game-default.js +24 -0
  176. package/dist/lib/game/game-interfaces.d.ts +3 -2
  177. package/dist/lib/game/game-interfaces.d.ts.map +1 -0
  178. package/dist/lib/game/game-retro-resolutions.d.ts +24 -0
  179. package/dist/lib/game/game-retro-resolutions.d.ts.map +1 -0
  180. package/dist/lib/game/game-retro-resolutions.js +81 -0
  181. package/dist/lib/game/game-state.d.ts +6 -5
  182. package/dist/lib/game/game-state.d.ts.map +1 -0
  183. package/dist/lib/game/game.d.ts +8 -12
  184. package/dist/lib/game/game.d.ts.map +1 -0
  185. package/dist/lib/game/game.js +44 -92
  186. package/dist/lib/game/zylem-game.d.ts +15 -3
  187. package/dist/lib/game/zylem-game.d.ts.map +1 -0
  188. package/dist/lib/game/zylem-game.js +67 -33
  189. package/dist/lib/graphics/geometries/XZPlaneGeometry.d.ts +1 -0
  190. package/dist/lib/graphics/geometries/XZPlaneGeometry.d.ts.map +1 -0
  191. package/dist/lib/graphics/material.d.ts +2 -1
  192. package/dist/lib/graphics/material.d.ts.map +1 -0
  193. package/dist/lib/graphics/material.js +1 -1
  194. package/dist/lib/graphics/mesh.d.ts +1 -0
  195. package/dist/lib/graphics/mesh.d.ts.map +1 -0
  196. package/dist/lib/graphics/render-pass.d.ts +1 -0
  197. package/dist/lib/graphics/render-pass.d.ts.map +1 -0
  198. package/dist/lib/graphics/zylem-scene.d.ts +8 -7
  199. package/dist/lib/graphics/zylem-scene.d.ts.map +1 -0
  200. package/dist/lib/graphics/zylem-scene.js +26 -40
  201. package/dist/lib/input/gamepad-provider.d.ts +1 -0
  202. package/dist/lib/input/gamepad-provider.d.ts.map +1 -0
  203. package/dist/lib/input/input-manager.d.ts +1 -0
  204. package/dist/lib/input/input-manager.d.ts.map +1 -0
  205. package/dist/lib/input/input-provider.d.ts +1 -0
  206. package/dist/lib/input/input-provider.d.ts.map +1 -0
  207. package/dist/lib/input/input.d.ts +1 -0
  208. package/dist/lib/input/input.d.ts.map +1 -0
  209. package/dist/lib/input/keyboard-provider.d.ts +1 -0
  210. package/dist/lib/input/keyboard-provider.d.ts.map +1 -0
  211. package/dist/lib/interfaces/entity.d.ts +1 -0
  212. package/dist/lib/interfaces/entity.d.ts.map +1 -0
  213. package/dist/lib/sounds/index.d.ts +1 -0
  214. package/dist/lib/sounds/index.d.ts.map +1 -0
  215. package/dist/lib/sounds/ping-pong-sound.d.ts +1 -0
  216. package/dist/lib/sounds/ping-pong-sound.d.ts.map +1 -0
  217. package/dist/lib/sounds/ricochet-sound.d.ts +1 -0
  218. package/dist/lib/sounds/ricochet-sound.d.ts.map +1 -0
  219. package/dist/lib/stage/debug-entity-cursor.d.ts +1 -0
  220. package/dist/lib/stage/debug-entity-cursor.d.ts.map +1 -0
  221. package/dist/lib/stage/entity-spawner.d.ts +1 -0
  222. package/dist/lib/stage/entity-spawner.d.ts.map +1 -0
  223. package/dist/lib/stage/stage-blueprint.d.ts +45 -0
  224. package/dist/lib/stage/stage-blueprint.d.ts.map +1 -0
  225. package/dist/lib/stage/stage-blueprint.js +56 -0
  226. package/dist/lib/stage/stage-camera-debug-delegate.d.ts +14 -0
  227. package/dist/lib/stage/stage-camera-debug-delegate.d.ts.map +1 -0
  228. package/dist/lib/stage/stage-debug-delegate.d.ts +1 -0
  229. package/dist/lib/stage/stage-debug-delegate.d.ts.map +1 -0
  230. package/dist/lib/stage/stage-default.d.ts +10 -0
  231. package/dist/lib/stage/stage-default.d.ts.map +1 -0
  232. package/dist/lib/stage/stage-default.js +42 -0
  233. package/dist/lib/stage/stage-state.d.ts +1 -0
  234. package/dist/lib/stage/stage-state.d.ts.map +1 -0
  235. package/dist/lib/stage/stage.d.ts +4 -3
  236. package/dist/lib/stage/stage.d.ts.map +1 -0
  237. package/dist/lib/stage/stage.js +27 -25
  238. package/dist/lib/stage/zylem-stage.d.ts +8 -4
  239. package/dist/lib/stage/zylem-stage.d.ts.map +1 -0
  240. package/dist/lib/stage/zylem-stage.js +36 -46
  241. package/dist/lib/systems/test-system.d.ts +1 -0
  242. package/dist/lib/systems/test-system.d.ts.map +1 -0
  243. package/dist/lib/systems/transformable.system.d.ts +1 -0
  244. package/dist/lib/systems/transformable.system.d.ts.map +1 -0
  245. package/dist/lib/types/entity-types.d.ts +1 -0
  246. package/dist/lib/types/entity-types.d.ts.map +1 -0
  247. package/dist/lib/types/index.d.ts +1 -0
  248. package/dist/lib/types/index.d.ts.map +1 -0
  249. package/dist/lib/types/stage-types.d.ts +1 -0
  250. package/dist/lib/types/stage-types.d.ts.map +1 -0
  251. package/dist/lib/ui/Debug.d.ts +1 -0
  252. package/dist/lib/ui/Debug.d.ts.map +1 -0
  253. package/dist/lib/ui/console/Console.d.ts +1 -0
  254. package/dist/lib/ui/console/Console.d.ts.map +1 -0
  255. package/dist/lib/ui/debug-panel/AccordionMenu.d.ts +1 -0
  256. package/dist/lib/ui/debug-panel/AccordionMenu.d.ts.map +1 -0
  257. package/dist/lib/ui/debug-panel/Menu.d.ts +1 -0
  258. package/dist/lib/ui/debug-panel/Menu.d.ts.map +1 -0
  259. package/dist/lib/ui/debug-panel/sections/EntitiesSection.d.ts +1 -0
  260. package/dist/lib/ui/debug-panel/sections/EntitiesSection.d.ts.map +1 -0
  261. package/dist/lib/ui/debug-panel/sections/GameSection.d.ts +1 -0
  262. package/dist/lib/ui/debug-panel/sections/GameSection.d.ts.map +1 -0
  263. package/dist/lib/ui/debug-panel/sections/StagesSection.d.ts +1 -0
  264. package/dist/lib/ui/debug-panel/sections/StagesSection.d.ts.map +1 -0
  265. package/dist/lib/ui/debug-panel/sections/all.d.ts +1 -0
  266. package/dist/lib/ui/debug-panel/sections/all.d.ts.map +1 -0
  267. package/dist/lib/ui/toolbar/Toolbar.d.ts +1 -0
  268. package/dist/lib/ui/toolbar/Toolbar.d.ts.map +1 -0
  269. package/dist/main.js +52 -50
  270. package/dist/stage.js +20 -4
  271. package/dist/tests/unit/collision/collision.spec.d.ts +2 -0
  272. package/dist/tests/unit/collision/collision.spec.d.ts.map +1 -0
  273. package/dist/tests/unit/core/game.spec.d.ts +2 -0
  274. package/dist/tests/unit/core/game.spec.d.ts.map +1 -0
  275. package/dist/tests/unit/core/stage.spec.d.ts +2 -0
  276. package/dist/tests/unit/core/stage.spec.d.ts.map +1 -0
  277. package/dist/tests/unit/core/vessel.spec.d.ts +2 -0
  278. package/dist/tests/unit/core/vessel.spec.d.ts.map +1 -0
  279. package/dist/tests/unit/stage/stage-blueprint.spec.d.ts +2 -0
  280. package/dist/tests/unit/stage/stage-blueprint.spec.d.ts.map +1 -0
  281. package/package.json +11 -9
  282. package/dist/actions.d.ts +0 -4
  283. package/dist/behaviors.d.ts +0 -3
  284. package/dist/camera.d.ts +0 -3
  285. package/dist/core.d.ts +0 -5
  286. package/dist/entities.d.ts +0 -8
  287. package/dist/lib/core/game-canvas.d.ts +0 -4
  288. package/dist/lib/core/utility.js +0 -20
  289. package/dist/main.d.ts +0 -30
  290. package/dist/stage.d.ts +0 -3
  291. package/dist/tests/collision/collision.spec.d.ts +0 -1
  292. package/dist/tests/core/game.spec.d.ts +0 -1
  293. package/dist/tests/core/stage.spec.d.ts +0 -1
  294. package/dist/tests/core/vessel.spec.d.ts +0 -1
@@ -14,3 +14,4 @@ export default class RenderPass extends Pass {
14
14
  material(): THREE.ShaderMaterial;
15
15
  dispose(): void;
16
16
  }
17
+ //# sourceMappingURL=render-pass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-pass.d.ts","sourceRoot":"","sources":["../../../src/lib/graphics/render-pass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAE3E,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,IAAI;IAC3C,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;IACrB,eAAe,EAAE,iBAAiB,CAAC;IACnC,kBAAkB,EAAE,iBAAiB,CAAC;IACtC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC;gBAEnB,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM;IAa/E,MAAM,CACL,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,iBAAiB;IA0B/B,QAAQ;IAqBR,OAAO;CAYP"}
@@ -1,10 +1,10 @@
1
1
  import { Scene, Color, Object3D, Vector3 } from 'three';
2
- import { Entity } from '../interfaces/entity';
2
+ import { Entity, LifecycleFunction } from '../interfaces/entity';
3
3
  import { GameEntity } from '../entities/entity';
4
4
  import { ZylemCamera } from '../camera/zylem-camera';
5
5
  import { SetupFunction } from '../core/base-node-life-cycle';
6
6
  interface SceneState {
7
- backgroundColor: Color;
7
+ backgroundColor: Color | string;
8
8
  backgroundImage: string | null;
9
9
  }
10
10
  export declare class ZylemScene implements Entity<ZylemScene> {
@@ -13,14 +13,14 @@ export declare class ZylemScene implements Entity<ZylemScene> {
13
13
  scene: Scene;
14
14
  zylemCamera: ZylemCamera;
15
15
  containerElement: HTMLElement | null;
16
+ update: LifecycleFunction<ZylemScene>;
17
+ _collision?: ((entity: any, other: any, globals?: any) => void) | undefined;
18
+ _destroy?: ((globals?: any) => void) | undefined;
19
+ name?: string | undefined;
20
+ tag?: Set<string> | undefined;
16
21
  constructor(id: string, camera: ZylemCamera, state: SceneState);
17
- /**
18
- * Setup the container element and append camera's renderer
19
- */
20
- private setupContainer;
21
22
  setup(): void;
22
23
  destroy(): void;
23
- update({ delta }: Partial<any>): void;
24
24
  /**
25
25
  * Setup camera with the scene
26
26
  */
@@ -47,3 +47,4 @@ export declare class ZylemScene implements Entity<ZylemScene> {
47
47
  debugScene(): void;
48
48
  }
49
49
  export {};
50
+ //# sourceMappingURL=zylem-scene.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zylem-scene.d.ts","sourceRoot":"","sources":["../../../src/lib/graphics/zylem-scene.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,EACL,KAAK,EAGL,QAAQ,EACR,OAAO,EAGP,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAG7D,UAAU,UAAU;IACnB,eAAe,EAAE,KAAK,GAAG,MAAM,CAAC;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,qBAAa,UAAW,YAAW,MAAM,CAAC,UAAU,CAAC;IAC7C,IAAI,SAAW;IAEtB,MAAM,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACnC,KAAK,EAAG,KAAK,CAAC;IACd,WAAW,EAAG,WAAW,CAAC;IAC1B,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAQ;IAC5C,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAa;IAClD,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5E,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACjD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;gBAElB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU;IAqB9D,KAAK;IAML,OAAO;IAmBP;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW;IAM7C;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,KAAK;IAmB1B;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAI5C;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAE,OAA8B;IAK9D;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC;IAQjC;;OAEG;IACH,UAAU;CAOV"}
@@ -1,74 +1,60 @@
1
- import { Scene as r, Color as n, TextureLoader as o, AmbientLight as m, DirectionalLight as d, Vector3 as h, GridHelper as l } from "three";
2
- import { debugState as c } from "../debug/debug-state.js";
1
+ import { Scene as d, Color as i, TextureLoader as n, AmbientLight as m, DirectionalLight as c, Vector3 as h, GridHelper as l } from "three";
2
+ import { debugState as g } from "../debug/debug-state.js";
3
3
  import { getGlobalState as p } from "../game/game-state.js";
4
- class y {
4
+ class b {
5
5
  type = "Scene";
6
6
  _setup;
7
7
  scene;
8
8
  zylemCamera;
9
9
  containerElement = null;
10
- constructor(e, t, a) {
11
- const i = new r();
12
- if (i.background = new n(a.backgroundColor), a.backgroundImage) {
13
- const s = new o().load(a.backgroundImage);
14
- i.background = s;
10
+ update = () => {
11
+ };
12
+ _collision;
13
+ _destroy;
14
+ name;
15
+ tag;
16
+ constructor(e, s, a) {
17
+ const o = new d(), t = a.backgroundColor instanceof i ? a.backgroundColor : new i(a.backgroundColor);
18
+ if (o.background = t, a.backgroundImage) {
19
+ const r = new n().load(a.backgroundImage);
20
+ o.background = r;
15
21
  }
16
- this.scene = i, this.zylemCamera = t, this.setupContainer(e), this.setupLighting(i), this.setupCamera(i, t), c.on && this.debugScene();
17
- }
18
- /**
19
- * Setup the container element and append camera's renderer
20
- */
21
- setupContainer(e) {
22
- let t = document.getElementById(e);
23
- if (!t) {
24
- console.warn(`Could not find element with id: ${e}`);
25
- const a = document.createElement("main");
26
- a.setAttribute("id", e), document.body.appendChild(a), t = a;
27
- }
28
- t?.firstChild && t.removeChild(t.firstChild), this.containerElement = t, t?.appendChild(this.zylemCamera.getDomElement());
22
+ this.scene = o, this.zylemCamera = s, this.setupLighting(o), this.setupCamera(o, s), g.on && this.debugScene();
29
23
  }
30
24
  setup() {
31
25
  this._setup && this._setup({ me: this, camera: this.zylemCamera, globals: p() });
32
26
  }
33
27
  destroy() {
34
- if (this.containerElement && this.zylemCamera)
35
- try {
36
- const e = this.zylemCamera.getDomElement();
37
- e && e.parentElement === this.containerElement && this.containerElement.removeChild(e);
38
- } catch {
39
- }
40
28
  this.zylemCamera && this.zylemCamera.destroy && this.zylemCamera.destroy(), this.scene && this.scene.traverse((e) => {
41
- e.geometry && e.geometry.dispose?.(), e.material && (Array.isArray(e.material) ? e.material.forEach((t) => t.dispose?.()) : e.material.dispose?.());
29
+ e.geometry && e.geometry.dispose?.(), e.material && (Array.isArray(e.material) ? e.material.forEach((s) => s.dispose?.()) : e.material.dispose?.());
42
30
  });
43
31
  }
44
- update({ delta: e }) {
45
- }
46
32
  /**
47
33
  * Setup camera with the scene
48
34
  */
49
- setupCamera(e, t) {
50
- e.add(t.cameraRig), t.setup(e);
35
+ setupCamera(e, s) {
36
+ e.add(s.cameraRig), s.setup(e);
51
37
  }
52
38
  /**
53
39
  * Setup scene lighting
54
40
  */
55
41
  setupLighting(e) {
56
- const t = new m(16777215, 2);
57
- e.add(t);
58
- const a = new d(16777215, 2);
42
+ const s = new m(16777215, 2);
43
+ e.add(s);
44
+ const a = new c(16777215, 2);
59
45
  a.name = "Light", a.position.set(0, 100, 0), a.castShadow = !0, a.shadow.camera.near = 0.1, a.shadow.camera.far = 2e3, a.shadow.camera.left = -100, a.shadow.camera.right = 100, a.shadow.camera.top = 100, a.shadow.camera.bottom = -100, a.shadow.mapSize.width = 2048, a.shadow.mapSize.height = 2048, e.add(a);
60
46
  }
61
47
  /**
62
48
  * Update renderer size - delegates to camera
63
49
  */
64
- updateRenderer(e, t) {
65
- this.zylemCamera.resize(e, t);
50
+ updateRenderer(e, s) {
51
+ this.zylemCamera.resize(e, s);
66
52
  }
67
53
  /**
68
54
  * Add object to scene
69
55
  */
70
- add(e, t = new h(0, 0, 0)) {
71
- e.position.set(t.x, t.y, t.z), this.scene.add(e);
56
+ add(e, s = new h(0, 0, 0)) {
57
+ e.position.set(s.x, s.y, s.z), this.scene.add(e);
72
58
  }
73
59
  /**
74
60
  * Add game entity to scene
@@ -85,5 +71,5 @@ class y {
85
71
  }
86
72
  }
87
73
  export {
88
- y as ZylemScene
74
+ b as ZylemScene
89
75
  };
@@ -11,3 +11,4 @@ export declare class GamepadProvider implements InputProvider {
11
11
  getName(): string;
12
12
  isConnected(): boolean;
13
13
  }
14
+ //# sourceMappingURL=gamepad-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gamepad-provider.d.ts","sourceRoot":"","sources":["../../../src/lib/input/gamepad-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAA4B,YAAY,EAAE,MAAM,SAAS,CAAC;AAEjE,qBAAa,eAAgB,YAAW,aAAa;IACpD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAkB;IAEnC,OAAO,CAAC,YAAY,CAAmC;gBAE3C,YAAY,EAAE,MAAM;IAchC,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,iBAAiB;IAKzB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAgC9C,OAAO,IAAI,MAAM;IAIjB,WAAW,IAAI,OAAO;CAGtB"}
@@ -12,3 +12,4 @@ export declare class InputManager {
12
12
  mergeAnalogState(a: AnalogState | undefined, b: AnalogState | undefined): AnalogState;
13
13
  private mergeInputs;
14
14
  }
15
+ //# sourceMappingURL=input-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-manager.d.ts","sourceRoot":"","sources":["../../../src/lib/input/input-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAgB,iBAAiB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAG5F,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,qBAAa,YAAY;IACxB,OAAO,CAAC,QAAQ,CAAsD;IACtE,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,cAAc,CAAwB;gBAElC,MAAM,CAAC,EAAE,eAAe;IAqCpC,gBAAgB,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa;IAOzE,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAkBhC,gBAAgB,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW;IAQrF,gBAAgB,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW;IAOrF,OAAO,CAAC,WAAW;CA4BnB"}
@@ -4,3 +4,4 @@ export interface InputProvider {
4
4
  isConnected(): boolean;
5
5
  getName(): string;
6
6
  }
7
+ //# sourceMappingURL=input-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-provider.d.ts","sourceRoot":"","sources":["../../../src/lib/input/input-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/C,WAAW,IAAI,OAAO,CAAC;IACvB,OAAO,IAAI,MAAM,CAAC;CAClB"}
@@ -49,3 +49,4 @@ export interface InputHandler {
49
49
  onPress(button: ButtonName, callback: InputHandlerCallback): void;
50
50
  update(currentInputs: Inputs): void;
51
51
  }
52
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/lib/input/input.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAElD,MAAM,WAAW,WAAW;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,WAAW;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC5B,YAAY,EAAE,iBAAiB,CAAC;IAChC,OAAO,EAAE;QACR,CAAC,EAAE,WAAW,CAAC;QACf,CAAC,EAAE,WAAW,CAAC;QACf,CAAC,EAAE,WAAW,CAAC;QACf,CAAC,EAAE,WAAW,CAAC;QACf,KAAK,EAAE,WAAW,CAAC;QACnB,MAAM,EAAE,WAAW,CAAC;QACpB,CAAC,EAAE,WAAW,CAAC;QACf,CAAC,EAAE,WAAW,CAAC;KACf,CAAC;IACF,UAAU,EAAE;QACX,EAAE,EAAE,WAAW,CAAC;QAChB,IAAI,EAAE,WAAW,CAAC;QAClB,IAAI,EAAE,WAAW,CAAC;QAClB,KAAK,EAAE,WAAW,CAAC;KACnB,CAAC;IACF,SAAS,EAAE;QACV,QAAQ,EAAE,WAAW,CAAC;QACtB,QAAQ,EAAE,WAAW,CAAC;KACtB,CAAC;IACF,IAAI,EAAE;QACL,UAAU,EAAE,WAAW,CAAC;QACxB,QAAQ,EAAE,WAAW,CAAC;KACtB,CAAC;CACF;AAED,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAEvD,MAAM,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;AACvD,MAAM,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC5B,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClE,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC"}
@@ -18,3 +18,4 @@ export declare class KeyboardProvider implements InputProvider {
18
18
  private getAxisValue;
19
19
  isConnected(): boolean;
20
20
  }
21
+ //# sourceMappingURL=keyboard-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard-provider.d.ts","sourceRoot":"","sources":["../../../src/lib/input/keyboard-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAA4B,YAAY,EAAE,MAAM,SAAS,CAAC;AAEjE,qBAAa,gBAAiB,YAAW,aAAa;IACrD,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,kBAAkB,CAAiB;gBAE/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE;IAO1F,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;IAkD1B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA+B9C,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,YAAY;IAIpB,WAAW,IAAI,OAAO;CAGtB"}
@@ -29,3 +29,4 @@ export type OptionalVector = {
29
29
  y?: number;
30
30
  z?: number;
31
31
  };
32
+ //# sourceMappingURL=entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/lib/interfaces/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAEpC,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAElF,MAAM,WAAW,MAAM,CAAC,CAAC,GAAG,GAAG;IAC9B,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,MAAM;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,4BAA4B,CAAC;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export { ricochetSound } from "./ricochet-sound";
2
2
  export { pingPongBeep } from "./ping-pong-sound";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/sounds/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -2,3 +2,4 @@
2
2
  * Plays a ping-pong beep sound effect.
3
3
  */
4
4
  export declare function pingPongBeep(frequency?: number, duration?: number): void;
5
+ //# sourceMappingURL=ping-pong-sound.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ping-pong-sound.d.ts","sourceRoot":"","sources":["../../../src/lib/sounds/ping-pong-sound.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,GAAE,MAAY,EAAE,QAAQ,GAAE,MAAY,QAE3E"}
@@ -2,3 +2,4 @@
2
2
  * Plays a ricochet sound effect when boundary collision occurs
3
3
  */
4
4
  export declare function ricochetSound(frequency?: number, duration?: number): void;
5
+ //# sourceMappingURL=ricochet-sound.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ricochet-sound.d.ts","sourceRoot":"","sources":["../../../src/lib/sounds/ricochet-sound.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,GAAE,MAAY,EAAE,QAAQ,GAAE,MAAa,QAE7E"}
@@ -21,3 +21,4 @@ export declare class DebugEntityCursor {
21
21
  hide(): void;
22
22
  dispose(): void;
23
23
  }
24
+ //# sourceMappingURL=debug-entity-cursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-entity-cursor.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/debug-entity-cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,EAOL,QAAQ,EACR,KAAK,EAEL,MAAM,OAAO,CAAC;AAEf;;;GAGG;AACH,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,MAAM,CAA0B;gBAE5B,KAAK,EAAE,KAAK;IA8BxB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI;IAMrC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IA+B3D,IAAI,IAAI,IAAI;IAIZ,OAAO,IAAI,IAAI;CAOf"}
@@ -6,3 +6,4 @@ export interface EntitySpawner {
6
6
  spawnRelative: (source: any, stage: Stage, offset?: Vector2) => Promise<any | void>;
7
7
  }
8
8
  export declare function entitySpawner(factory: (x: number, y: number) => Promise<any> | GameEntity<any>): EntitySpawner;
9
+ //# sourceMappingURL=entity-spawner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-spawner.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/entity-spawner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,OAAO,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;CACpF;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,aAAa,CA8B9G"}
@@ -0,0 +1,45 @@
1
+ import type { Stage } from './stage';
2
+ import type { StageOptions, ZylemStageConfig } from './zylem-stage';
3
+ /**
4
+ * A lightweight, serializable blueprint representing the initial configuration
5
+ * of a `ZylemStage`. It is intentionally minimal and should not include
6
+ * entities, functions, or runtime references. Use blueprints only to build
7
+ * stages.
8
+ */
9
+ export interface StageBlueprint {
10
+ id: string;
11
+ name?: string;
12
+ config: Partial<ZylemStageConfig>;
13
+ }
14
+ export declare const stageBlueprintsState: {
15
+ byId: Record<string, StageBlueprint>;
16
+ order: string[];
17
+ currentId: string | null;
18
+ };
19
+ /** Reset the blueprints store back to its initial empty state. */
20
+ export declare function resetStageBlueprints(): void;
21
+ /** Create and register a new `StageBlueprint`. */
22
+ export declare function createStageBlueprint(config: Partial<ZylemStageConfig>, options?: {
23
+ id?: string;
24
+ name?: string;
25
+ setCurrent?: boolean;
26
+ }): StageBlueprint;
27
+ /** Upsert a blueprint into the store. */
28
+ export declare function upsertStageBlueprint(blueprint: StageBlueprint): void;
29
+ /** Remove a blueprint by id. */
30
+ export declare function removeStageBlueprint(id: string): void;
31
+ /** Get a blueprint by id. */
32
+ export declare function getStageBlueprint(id: string): StageBlueprint | undefined;
33
+ /** List all blueprints in insertion order. */
34
+ export declare function listStageBlueprints(): StageBlueprint[];
35
+ /** Set the current blueprint id (or clear by passing null). */
36
+ export declare function setCurrentStageBlueprint(id: string | null): void;
37
+ /** Get the current blueprint object, if any. */
38
+ export declare function getCurrentStageBlueprint(): StageBlueprint | null;
39
+ /**
40
+ * Build a `Stage` instance from a blueprint and optional extra `StageOptions`
41
+ * (e.g., entities or a camera wrapper). This does not load the stage; callers
42
+ * should pass the returned `Stage` to the game and call `load` as usual.
43
+ */
44
+ export declare function buildStageFromBlueprint(input: string | StageBlueprint, ...extras: StageOptions): Stage;
45
+ //# sourceMappingURL=stage-blueprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stage-blueprint.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/stage-blueprint.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAClC;AAYD,eAAO,MAAM,oBAAoB;UALpB,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;WAC7B,MAAM,EAAE;eACF,MAAM,GAAG,IAAI;CAGgD,CAAC;AAElF,kEAAkE;AAClE,wBAAgB,oBAAoB,IAAI,IAAI,CAK3C;AAED,kDAAkD;AAClD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAAE,GAAG,cAAc,CAWvJ;AAED,yCAAyC;AACzC,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAKpE;AAED,gCAAgC;AAChC,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAMrD;AAED,6BAA6B;AAC7B,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAExE;AAED,8CAA8C;AAC9C,wBAAgB,mBAAmB,IAAI,cAAc,EAAE,CAItD;AAED,+DAA+D;AAC/D,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEhE;AAED,gDAAgD;AAChD,wBAAgB,wBAAwB,IAAI,cAAc,GAAG,IAAI,CAGhE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,YAAY,GAAG,KAAK,CAMtG"}
@@ -0,0 +1,56 @@
1
+ import { proxy as d } from "valtio/vanilla";
2
+ import { deepClone as i } from "valtio/utils";
3
+ import { nanoid as c } from "nanoid";
4
+ import { stage as l } from "./stage.js";
5
+ const u = {
6
+ byId: {},
7
+ order: [],
8
+ currentId: null
9
+ }, e = d(i(u));
10
+ function m() {
11
+ const r = i(u);
12
+ Object.keys(r).forEach((t) => {
13
+ e[t] = r[t];
14
+ });
15
+ }
16
+ function I(r, t) {
17
+ const n = t?.id ?? c(), o = { id: n, name: t?.name, config: { ...r } };
18
+ return e.byId[n] = o, e.order.includes(n) || (e.order = [...e.order, n]), t?.setCurrent && (e.currentId = n), o;
19
+ }
20
+ function S(r) {
21
+ e.byId[r.id] = { ...r, config: { ...r.config } }, e.order.includes(r.id) || (e.order = [...e.order, r.id]);
22
+ }
23
+ function B(r) {
24
+ delete e.byId[r], e.order = e.order.filter((t) => t !== r), e.currentId === r && (e.currentId = null);
25
+ }
26
+ function f(r) {
27
+ return e.byId[r];
28
+ }
29
+ function b() {
30
+ return e.order.map((r) => e.byId[r]).filter((r) => !!r);
31
+ }
32
+ function y(r) {
33
+ e.currentId = r;
34
+ }
35
+ function C() {
36
+ const r = e.currentId;
37
+ return r ? e.byId[r] ?? null : null;
38
+ }
39
+ function h(r, ...t) {
40
+ const n = typeof r == "string" ? f(r) : r;
41
+ if (!n)
42
+ throw new Error("Stage blueprint not found");
43
+ return l(n.config, ...t);
44
+ }
45
+ export {
46
+ h as buildStageFromBlueprint,
47
+ I as createStageBlueprint,
48
+ C as getCurrentStageBlueprint,
49
+ f as getStageBlueprint,
50
+ b as listStageBlueprints,
51
+ B as removeStageBlueprint,
52
+ m as resetStageBlueprints,
53
+ y as setCurrentStageBlueprint,
54
+ e as stageBlueprintsState,
55
+ S as upsertStageBlueprint
56
+ };
@@ -0,0 +1,14 @@
1
+ import { Object3D } from 'three';
2
+ import type { CameraDebugDelegate, CameraDebugState } from '../camera/zylem-camera';
3
+ import type { ZylemStage } from './zylem-stage';
4
+ /**
5
+ * Debug delegate that bridges the stage's entity map and debug state to the camera.
6
+ */
7
+ export declare class StageCameraDebugDelegate implements CameraDebugDelegate {
8
+ private stage;
9
+ constructor(stage: ZylemStage);
10
+ subscribe(listener: (state: CameraDebugState) => void): () => void;
11
+ resolveTarget(uuid: string): Object3D | null;
12
+ private snapshot;
13
+ }
14
+ //# sourceMappingURL=stage-camera-debug-delegate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stage-camera-debug-delegate.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/stage-camera-debug-delegate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIhD;;GAEG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IACnE,OAAO,CAAC,KAAK,CAAa;gBAEd,KAAK,EAAE,UAAU;IAI7B,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,MAAM,IAAI;IAMlE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAQ5C,OAAO,CAAC,QAAQ;CAMhB"}
@@ -23,3 +23,4 @@ export declare class StageDebugDelegate {
23
23
  private handleActionOnHit;
24
24
  private attachDomListeners;
25
25
  }
26
+ //# sourceMappingURL=stage-debug-delegate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stage-debug-delegate.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/stage-debug-delegate.ts"],"names":[],"mappings":"AACA,OAAO,EAAwF,OAAO,EAAE,MAAM,OAAO,CAAC;AACtH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAEvG,MAAM,WAAW,yBAAyB;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC3C;AAKD,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,UAAU,CAA6B;gBAEnC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,yBAAyB;IAmBlE,MAAM,IAAI,IAAI;IAiEd,OAAO,IAAI,IAAI;IAYf,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,kBAAkB;CAqB1B"}
@@ -0,0 +1,10 @@
1
+ import type { StageOptions, ZylemStageConfig } from './zylem-stage';
2
+ export declare const stageDefaultsState: Partial<ZylemStageConfig>;
3
+ /** Replace multiple defaults at once (shallow merge). */
4
+ export declare function setStageDefaults(partial: Partial<ZylemStageConfig>): void;
5
+ /** Reset defaults back to library defaults. */
6
+ export declare function resetStageDefaults(): void;
7
+ export declare function getStageOptions(options: StageOptions): StageOptions;
8
+ /** Get a plain object copy of the current defaults. */
9
+ export declare function getStageDefaultConfig(): Partial<ZylemStageConfig>;
10
+ //# sourceMappingURL=stage-default.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stage-default.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/stage-default.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAmBpE,eAAO,MAAM,kBAAkB,2BAE7B,CAAC;AAEH,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAEzE;AAED,+CAA+C;AAC/C,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CAQnE;AAED,uDAAuD;AACvD,wBAAgB,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAQjE"}
@@ -0,0 +1,42 @@
1
+ import { proxy as i } from "valtio/vanilla";
2
+ import { Vector3 as r } from "three";
3
+ import { ZylemBlueColor as g } from "../core/utility/vector.js";
4
+ const o = {
5
+ backgroundColor: g,
6
+ backgroundImage: null,
7
+ inputs: {
8
+ p1: ["gamepad-1", "keyboard"],
9
+ p2: ["gamepad-2", "keyboard"]
10
+ },
11
+ gravity: new r(0, 0, 0),
12
+ variables: {}
13
+ }, t = i({
14
+ ...o
15
+ });
16
+ function b(a) {
17
+ Object.assign(t, a);
18
+ }
19
+ function d() {
20
+ Object.assign(t, o);
21
+ }
22
+ function m(a) {
23
+ const n = u();
24
+ let e = {};
25
+ return typeof a[0] == "object" && (e = a.shift() ?? {}), [{ ...n, ...e }, ...a];
26
+ }
27
+ function u() {
28
+ return {
29
+ backgroundColor: t.backgroundColor,
30
+ backgroundImage: t.backgroundImage ?? null,
31
+ inputs: t.inputs ? { ...t.inputs } : void 0,
32
+ gravity: t.gravity,
33
+ variables: t.variables ? { ...t.variables } : void 0
34
+ };
35
+ }
36
+ export {
37
+ u as getStageDefaultConfig,
38
+ m as getStageOptions,
39
+ d as resetStageDefaults,
40
+ b as setStageDefaults,
41
+ t as stageDefaultsState
42
+ };
@@ -14,3 +14,4 @@ declare const setStageVariables: (variables: Record<string, any>) => void;
14
14
  declare const resetStageVariables: () => void;
15
15
  declare const stageStateToString: (state: StageStateInterface) => string;
16
16
  export { stageState, setStageState, setStageBackgroundColor, setStageBackgroundImage, setEntitiesToStage, stageStateToString, setStageVariable, getStageVariable, setStageVariables, resetStageVariables, };
17
+ //# sourceMappingURL=stage-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stage-state.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/stage-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAW,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,QAAA,MAAM,UAAU,qBAUS,CAAC;AAE1B,QAAA,MAAM,aAAa,GAAI,OAAO,mBAAmB,SAEhD,CAAC;AAEF,QAAA,MAAM,uBAAuB,GAAI,OAAO,KAAK,SAE5C,CAAC;AAEF,QAAA,MAAM,uBAAuB,GAAI,OAAO,MAAM,GAAG,IAAI,SAEpD,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAI,UAAU,OAAO,CAAC,mBAAmB,CAAC,EAAE,SAEnE,CAAC;AAEF,QAAA,MAAM,gBAAgB,GAAI,KAAK,MAAM,EAAE,OAAO,GAAG,SAGhD,CAAC;AAEF,QAAA,MAAM,gBAAgB,GAAI,KAAK,MAAM,QAMpC,CAAC;AAEF,sEAAsE;AACtE,QAAA,MAAM,iBAAiB,GAAI,WAAW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,SAExD,CAAC;AAEF,wDAAwD;AACxD,QAAA,MAAM,mBAAmB,YAExB,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAI,OAAO,mBAAmB,WAuBrD,CAAC;AAEF,OAAO,EACN,UAAU,EACV,aAAa,EACb,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GACnB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { BaseNode } from '../core/base-node';
2
2
  import { DestroyFunction, SetupContext, SetupFunction, UpdateFunction } from '../core/base-node-life-cycle';
3
- import { StageOptions, ZylemStage } from './zylem-stage';
3
+ import { StageOptionItem, StageOptions, ZylemStage } from './zylem-stage';
4
4
  import { ZylemCamera } from '../camera/zylem-camera';
5
5
  import { CameraWrapper } from '../camera/camera';
6
6
  type NodeLike = {
@@ -9,8 +9,8 @@ type NodeLike = {
9
9
  type AnyNode = NodeLike | Promise<NodeLike>;
10
10
  type EntityInput = AnyNode | (() => AnyNode) | (() => Promise<any>);
11
11
  export declare class Stage {
12
- stageRef: ZylemStage;
13
- options: StageOptions;
12
+ wrappedStage: ZylemStage | null;
13
+ options: StageOptionItem[];
14
14
  update: UpdateFunction<ZylemStage>;
15
15
  setup: SetupFunction<ZylemStage>;
16
16
  destroy: DestroyFunction<ZylemStage>;
@@ -30,3 +30,4 @@ export declare class Stage {
30
30
  */
31
31
  export declare function stage(...options: StageOptions): Stage;
32
32
  export {};
33
+ //# sourceMappingURL=stage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/stage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC5G,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,KAAK,QAAQ,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,CAAC;AACrC,KAAK,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5C,KAAK,WAAW,GAAG,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAEpE,qBAAa,KAAK;IACjB,YAAY,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,eAAe,EAAE,CAAM;IAEhC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAa;IAC/C,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAa;IAC7C,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,CAAa;gBAErC,OAAO,EAAE,YAAY;IAK3B,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,IAAI;IAQ5D,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE;IAOtC,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC;IAIjC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC;IAQtC,QAAQ,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE;IAOnD,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC;IAI3C,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC;IAI/C,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAInC,WAAW,CAAC,GAAG,EAAE,MAAM;CAGvB;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,GAAG,OAAO,EAAE,YAAY,GAAG,KAAK,CAGrD"}
@@ -1,8 +1,9 @@
1
- import { ZylemStage as n } from "./zylem-stage.js";
2
- import { CameraWrapper as r } from "../camera/camera.js";
3
- import { stageState as i, setStageVariable as g, getStageVariable as p } from "./stage-state.js";
4
- class f {
5
- stageRef;
1
+ import { ZylemStage as i } from "./zylem-stage.js";
2
+ import { CameraWrapper as o } from "../camera/camera.js";
3
+ import { stageState as s, setStageVariable as n, getStageVariable as d } from "./stage-state.js";
4
+ import { getStageOptions as g } from "./stage-default.js";
5
+ class S {
6
+ wrappedStage;
6
7
  options = [];
7
8
  update = () => {
8
9
  };
@@ -11,48 +12,49 @@ class f {
11
12
  destroy = () => {
12
13
  };
13
14
  constructor(t) {
14
- this.options = t, this.stageRef = new n(this.options);
15
+ this.options = t, this.wrappedStage = null;
15
16
  }
16
17
  async load(t, e) {
17
- this.stageRef.wrapperRef = this;
18
- const s = e instanceof r ? e.cameraRef : e;
19
- await this.stageRef.load(t, s);
18
+ this.wrappedStage = new i(this.options), this.wrappedStage.wrapperRef = this;
19
+ const a = e instanceof o ? e.cameraRef : e;
20
+ await this.wrappedStage.load(t, a);
20
21
  }
21
22
  async addEntities(t) {
22
- this.options.push(...t), this.stageRef.enqueue(...t);
23
+ this.options.push(...t), this.wrappedStage && this.wrappedStage.enqueue(...t);
23
24
  }
24
25
  add(...t) {
25
- this.stageRef.enqueue(...t);
26
+ this.wrappedStage.enqueue(...t);
26
27
  }
27
28
  start(t) {
28
- this.stageRef?.nodeSetup(t), this.stageRef.onEntityAdded((e) => {
29
- const s = this.stageRef.buildEntityState(e);
30
- i.entities = [...i.entities, s];
29
+ this.wrappedStage?.nodeSetup(t), this.wrappedStage.onEntityAdded((e) => {
30
+ const a = this.wrappedStage.buildEntityState(e);
31
+ s.entities = [...s.entities, a];
31
32
  }, { replayExisting: !0 });
32
33
  }
33
34
  onUpdate(...t) {
34
- this.stageRef.update = (e) => {
35
- const s = { ...e, stage: this };
36
- t.forEach((o) => o(s));
35
+ this.wrappedStage.update = (e) => {
36
+ const a = { ...e, stage: this };
37
+ t.forEach((r) => r(a));
37
38
  };
38
39
  }
39
40
  onSetup(t) {
40
- this.stageRef.setup = t;
41
+ this.wrappedStage.setup = t;
41
42
  }
42
43
  onDestroy(t) {
43
- this.stageRef.destroy = t;
44
+ this.wrappedStage.destroy = t;
44
45
  }
45
46
  setVariable(t, e) {
46
- g(t, e);
47
+ n(t, e);
47
48
  }
48
49
  getVariable(t) {
49
- return p(t);
50
+ return d(t);
50
51
  }
51
52
  }
52
- function R(...a) {
53
- return new f(a);
53
+ function c(...p) {
54
+ const t = g(p);
55
+ return new S([...t]);
54
56
  }
55
57
  export {
56
- f as Stage,
57
- R as stage
58
+ S as Stage,
59
+ c as stage
58
60
  };