@zylem/game-lib 0.3.17 → 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 (282) hide show
  1. package/README.md +2 -2
  2. package/dist/.vite/manifest.json +64 -58
  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 +1 -0
  78. package/dist/lib/core/base-node-life-cycle.d.ts.map +1 -0
  79. package/dist/lib/core/base-node.d.ts +1 -0
  80. package/dist/lib/core/base-node.d.ts.map +1 -0
  81. package/dist/lib/core/base-node.js +1 -1
  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 +1 -0
  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 +5 -3
  99. package/dist/lib/core/utility/nodes.d.ts.map +1 -0
  100. package/dist/lib/core/utility/nodes.js +20 -16
  101. package/dist/lib/core/utility/strings.d.ts +1 -0
  102. package/dist/lib/core/utility/strings.d.ts.map +1 -0
  103. package/dist/lib/core/utility/vector.d.ts +1 -0
  104. package/dist/lib/core/utility/vector.d.ts.map +1 -0
  105. package/dist/lib/core/vector.d.ts +1 -0
  106. package/dist/lib/core/vector.d.ts.map +1 -0
  107. package/dist/lib/core/vessel.d.ts +1 -0
  108. package/dist/lib/core/vessel.d.ts.map +1 -0
  109. package/dist/lib/debug/console/console-state.d.ts +1 -0
  110. package/dist/lib/debug/console/console-state.d.ts.map +1 -0
  111. package/dist/lib/debug/console/console-store.d.ts +1 -0
  112. package/dist/lib/debug/console/console-store.d.ts.map +1 -0
  113. package/dist/lib/debug/debug-state.d.ts +1 -0
  114. package/dist/lib/debug/debug-state.d.ts.map +1 -0
  115. package/dist/lib/debug/debug-store.d.ts +1 -0
  116. package/dist/lib/debug/debug-store.d.ts.map +1 -0
  117. package/dist/lib/debug/state-based-debug-loader.d.ts +1 -0
  118. package/dist/lib/debug/state-based-debug-loader.d.ts.map +1 -0
  119. package/dist/lib/device/aspect-ratio.d.ts +1 -0
  120. package/dist/lib/device/aspect-ratio.d.ts.map +1 -0
  121. package/dist/lib/device/desktop.d.ts +1 -0
  122. package/dist/lib/device/desktop.d.ts.map +1 -0
  123. package/dist/lib/device/mobile.d.ts +1 -0
  124. package/dist/lib/device/mobile.d.ts.map +1 -0
  125. package/dist/lib/device/tablet.d.ts +1 -0
  126. package/dist/lib/device/tablet.d.ts.map +1 -0
  127. package/dist/lib/entities/actor.d.ts +1 -0
  128. package/dist/lib/entities/actor.d.ts.map +1 -0
  129. package/dist/lib/entities/box.d.ts +1 -0
  130. package/dist/lib/entities/box.d.ts.map +1 -0
  131. package/dist/lib/entities/builder.d.ts +1 -0
  132. package/dist/lib/entities/builder.d.ts.map +1 -0
  133. package/dist/lib/entities/create.d.ts +1 -0
  134. package/dist/lib/entities/create.d.ts.map +1 -0
  135. package/dist/lib/entities/delegates/animation.d.ts +1 -0
  136. package/dist/lib/entities/delegates/animation.d.ts.map +1 -0
  137. package/dist/lib/entities/delegates/debug.d.ts +1 -0
  138. package/dist/lib/entities/delegates/debug.d.ts.map +1 -0
  139. package/dist/lib/entities/delegates/loader.d.ts +1 -0
  140. package/dist/lib/entities/delegates/loader.d.ts.map +1 -0
  141. package/dist/lib/entities/destroy.d.ts +1 -0
  142. package/dist/lib/entities/destroy.d.ts.map +1 -0
  143. package/dist/lib/entities/entity.d.ts +1 -0
  144. package/dist/lib/entities/entity.d.ts.map +1 -0
  145. package/dist/lib/entities/index.d.ts +1 -0
  146. package/dist/lib/entities/index.d.ts.map +1 -0
  147. package/dist/lib/entities/plane.d.ts +1 -0
  148. package/dist/lib/entities/plane.d.ts.map +1 -0
  149. package/dist/lib/entities/rect.d.ts +1 -0
  150. package/dist/lib/entities/rect.d.ts.map +1 -0
  151. package/dist/lib/entities/sphere.d.ts +1 -0
  152. package/dist/lib/entities/sphere.d.ts.map +1 -0
  153. package/dist/lib/entities/sprite.d.ts +1 -0
  154. package/dist/lib/entities/sprite.d.ts.map +1 -0
  155. package/dist/lib/entities/text.d.ts +8 -0
  156. package/dist/lib/entities/text.d.ts.map +1 -0
  157. package/dist/lib/entities/text.js +77 -48
  158. package/dist/lib/entities/zone.d.ts +1 -0
  159. package/dist/lib/entities/zone.d.ts.map +1 -0
  160. package/dist/lib/game/game-blueprint.d.ts +5 -11
  161. package/dist/lib/game/game-blueprint.d.ts.map +1 -0
  162. package/dist/lib/game/game-canvas.d.ts +1 -0
  163. package/dist/lib/game/game-canvas.d.ts.map +1 -0
  164. package/dist/lib/game/game-canvas.js +9 -9
  165. package/dist/lib/game/game-config.d.ts +17 -1
  166. package/dist/lib/game/game-config.d.ts.map +1 -0
  167. package/dist/lib/game/game-config.js +50 -24
  168. package/dist/lib/game/game-default.d.ts +5 -4
  169. package/dist/lib/game/game-default.d.ts.map +1 -0
  170. package/dist/lib/game/game-interfaces.d.ts +3 -2
  171. package/dist/lib/game/game-interfaces.d.ts.map +1 -0
  172. package/dist/lib/game/game-retro-resolutions.d.ts +24 -0
  173. package/dist/lib/game/game-retro-resolutions.d.ts.map +1 -0
  174. package/dist/lib/game/game-retro-resolutions.js +81 -0
  175. package/dist/lib/game/game-state.d.ts +6 -5
  176. package/dist/lib/game/game-state.d.ts.map +1 -0
  177. package/dist/lib/game/game.d.ts +7 -8
  178. package/dist/lib/game/game.d.ts.map +1 -0
  179. package/dist/lib/game/game.js +46 -70
  180. package/dist/lib/game/zylem-game.d.ts +4 -3
  181. package/dist/lib/game/zylem-game.d.ts.map +1 -0
  182. package/dist/lib/game/zylem-game.js +39 -31
  183. package/dist/lib/graphics/geometries/XZPlaneGeometry.d.ts +1 -0
  184. package/dist/lib/graphics/geometries/XZPlaneGeometry.d.ts.map +1 -0
  185. package/dist/lib/graphics/material.d.ts +1 -0
  186. package/dist/lib/graphics/material.d.ts.map +1 -0
  187. package/dist/lib/graphics/mesh.d.ts +1 -0
  188. package/dist/lib/graphics/mesh.d.ts.map +1 -0
  189. package/dist/lib/graphics/render-pass.d.ts +1 -0
  190. package/dist/lib/graphics/render-pass.d.ts.map +1 -0
  191. package/dist/lib/graphics/zylem-scene.d.ts +1 -0
  192. package/dist/lib/graphics/zylem-scene.d.ts.map +1 -0
  193. package/dist/lib/input/gamepad-provider.d.ts +1 -0
  194. package/dist/lib/input/gamepad-provider.d.ts.map +1 -0
  195. package/dist/lib/input/input-manager.d.ts +1 -0
  196. package/dist/lib/input/input-manager.d.ts.map +1 -0
  197. package/dist/lib/input/input-provider.d.ts +1 -0
  198. package/dist/lib/input/input-provider.d.ts.map +1 -0
  199. package/dist/lib/input/input.d.ts +1 -0
  200. package/dist/lib/input/input.d.ts.map +1 -0
  201. package/dist/lib/input/keyboard-provider.d.ts +1 -0
  202. package/dist/lib/input/keyboard-provider.d.ts.map +1 -0
  203. package/dist/lib/interfaces/entity.d.ts +1 -0
  204. package/dist/lib/interfaces/entity.d.ts.map +1 -0
  205. package/dist/lib/sounds/index.d.ts +1 -0
  206. package/dist/lib/sounds/index.d.ts.map +1 -0
  207. package/dist/lib/sounds/ping-pong-sound.d.ts +1 -0
  208. package/dist/lib/sounds/ping-pong-sound.d.ts.map +1 -0
  209. package/dist/lib/sounds/ricochet-sound.d.ts +1 -0
  210. package/dist/lib/sounds/ricochet-sound.d.ts.map +1 -0
  211. package/dist/lib/stage/debug-entity-cursor.d.ts +1 -0
  212. package/dist/lib/stage/debug-entity-cursor.d.ts.map +1 -0
  213. package/dist/lib/stage/entity-spawner.d.ts +1 -0
  214. package/dist/lib/stage/entity-spawner.d.ts.map +1 -0
  215. package/dist/lib/stage/stage-blueprint.d.ts +1 -0
  216. package/dist/lib/stage/stage-blueprint.d.ts.map +1 -0
  217. package/dist/lib/stage/stage-camera-debug-delegate.d.ts +14 -0
  218. package/dist/lib/stage/stage-camera-debug-delegate.d.ts.map +1 -0
  219. package/dist/lib/stage/stage-debug-delegate.d.ts +1 -0
  220. package/dist/lib/stage/stage-debug-delegate.d.ts.map +1 -0
  221. package/dist/lib/stage/stage-default.d.ts +1 -0
  222. package/dist/lib/stage/stage-default.d.ts.map +1 -0
  223. package/dist/lib/stage/stage-state.d.ts +1 -0
  224. package/dist/lib/stage/stage-state.d.ts.map +1 -0
  225. package/dist/lib/stage/stage.d.ts +2 -1
  226. package/dist/lib/stage/stage.d.ts.map +1 -0
  227. package/dist/lib/stage/stage.js +27 -27
  228. package/dist/lib/stage/zylem-stage.d.ts +4 -1
  229. package/dist/lib/stage/zylem-stage.d.ts.map +1 -0
  230. package/dist/lib/stage/zylem-stage.js +25 -24
  231. package/dist/lib/systems/test-system.d.ts +1 -0
  232. package/dist/lib/systems/test-system.d.ts.map +1 -0
  233. package/dist/lib/systems/transformable.system.d.ts +1 -0
  234. package/dist/lib/systems/transformable.system.d.ts.map +1 -0
  235. package/dist/lib/types/entity-types.d.ts +1 -0
  236. package/dist/lib/types/entity-types.d.ts.map +1 -0
  237. package/dist/lib/types/index.d.ts +1 -0
  238. package/dist/lib/types/index.d.ts.map +1 -0
  239. package/dist/lib/types/stage-types.d.ts +1 -0
  240. package/dist/lib/types/stage-types.d.ts.map +1 -0
  241. package/dist/lib/ui/Debug.d.ts +1 -0
  242. package/dist/lib/ui/Debug.d.ts.map +1 -0
  243. package/dist/lib/ui/console/Console.d.ts +1 -0
  244. package/dist/lib/ui/console/Console.d.ts.map +1 -0
  245. package/dist/lib/ui/debug-panel/AccordionMenu.d.ts +1 -0
  246. package/dist/lib/ui/debug-panel/AccordionMenu.d.ts.map +1 -0
  247. package/dist/lib/ui/debug-panel/Menu.d.ts +1 -0
  248. package/dist/lib/ui/debug-panel/Menu.d.ts.map +1 -0
  249. package/dist/lib/ui/debug-panel/sections/EntitiesSection.d.ts +1 -0
  250. package/dist/lib/ui/debug-panel/sections/EntitiesSection.d.ts.map +1 -0
  251. package/dist/lib/ui/debug-panel/sections/GameSection.d.ts +1 -0
  252. package/dist/lib/ui/debug-panel/sections/GameSection.d.ts.map +1 -0
  253. package/dist/lib/ui/debug-panel/sections/StagesSection.d.ts +1 -0
  254. package/dist/lib/ui/debug-panel/sections/StagesSection.d.ts.map +1 -0
  255. package/dist/lib/ui/debug-panel/sections/all.d.ts +1 -0
  256. package/dist/lib/ui/debug-panel/sections/all.d.ts.map +1 -0
  257. package/dist/lib/ui/toolbar/Toolbar.d.ts +1 -0
  258. package/dist/lib/ui/toolbar/Toolbar.d.ts.map +1 -0
  259. package/dist/main.js +10 -10
  260. package/dist/tests/unit/collision/collision.spec.d.ts +2 -0
  261. package/dist/tests/unit/collision/collision.spec.d.ts.map +1 -0
  262. package/dist/tests/unit/core/game.spec.d.ts +2 -0
  263. package/dist/tests/unit/core/game.spec.d.ts.map +1 -0
  264. package/dist/tests/unit/core/stage.spec.d.ts +2 -0
  265. package/dist/tests/unit/core/stage.spec.d.ts.map +1 -0
  266. package/dist/tests/unit/core/vessel.spec.d.ts +2 -0
  267. package/dist/tests/unit/core/vessel.spec.d.ts.map +1 -0
  268. package/dist/tests/unit/stage/stage-blueprint.spec.d.ts +2 -0
  269. package/dist/tests/unit/stage/stage-blueprint.spec.d.ts.map +1 -0
  270. package/package.json +11 -9
  271. package/dist/actions.d.ts +0 -4
  272. package/dist/behaviors.d.ts +0 -3
  273. package/dist/camera.d.ts +0 -3
  274. package/dist/core.d.ts +0 -5
  275. package/dist/entities.d.ts +0 -8
  276. package/dist/main.d.ts +0 -31
  277. package/dist/stage.d.ts +0 -6
  278. package/dist/tests/collision/collision.spec.d.ts +0 -1
  279. package/dist/tests/core/game.spec.d.ts +0 -1
  280. package/dist/tests/core/stage.spec.d.ts +0 -1
  281. package/dist/tests/core/vessel.spec.d.ts +0 -1
  282. package/dist/tests/stage/stage-blueprint.spec.d.ts +0 -1
@@ -16,6 +16,14 @@ export interface PerspectiveController {
16
16
  update(delta: number): void;
17
17
  resize(width: number, height: number): void;
18
18
  }
19
+ export interface CameraDebugState {
20
+ enabled: boolean;
21
+ selected: string[];
22
+ }
23
+ export interface CameraDebugDelegate {
24
+ subscribe(listener: (state: CameraDebugState) => void): () => void;
25
+ resolveTarget(uuid: string): Object3D | null;
26
+ }
19
27
  export declare class ZylemCamera {
20
28
  cameraRig: Object3D;
21
29
  camera: Camera;
@@ -28,6 +36,11 @@ export declare class ZylemCamera {
28
36
  sceneRef: Scene | null;
29
37
  frustumSize: number;
30
38
  perspectiveController: PerspectiveController | null;
39
+ debugDelegate: CameraDebugDelegate | null;
40
+ private debugUnsubscribe;
41
+ private debugStateSnapshot;
42
+ private orbitTarget;
43
+ private orbitTargetWorldPos;
31
44
  constructor(perspective: PerspectiveType, screenResolution: Vector2, frustumSize?: number);
32
45
  /**
33
46
  * Setup the camera with a scene
@@ -41,10 +54,18 @@ export declare class ZylemCamera {
41
54
  * Dispose renderer, composer, controls, and detach from scene
42
55
  */
43
56
  destroy(): void;
57
+ /**
58
+ * Attach a delegate to react to debug state changes.
59
+ */
60
+ setDebugDelegate(delegate: CameraDebugDelegate | null): void;
44
61
  /**
45
62
  * Resize camera and renderer
46
63
  */
47
64
  resize(width: number, height: number): void;
65
+ /**
66
+ * Update renderer pixel ratio (DPR)
67
+ */
68
+ setPixelRatio(dpr: number): void;
48
69
  /**
49
70
  * Create camera based on perspective type
50
71
  */
@@ -65,4 +86,10 @@ export declare class ZylemCamera {
65
86
  * Get the DOM element for the renderer
66
87
  */
67
88
  getDomElement(): HTMLCanvasElement;
89
+ private applyDebugState;
90
+ private enableOrbitControls;
91
+ private disableOrbitControls;
92
+ private updateOrbitTargetFromSelection;
93
+ private detachDebugDelegate;
68
94
  }
95
+ //# sourceMappingURL=zylem-camera.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zylem-camera.d.ts","sourceRoot":"","sources":["../../../src/lib/camera/zylem-camera.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { WebGLRenderer as c, Object3D as m, Vector3 as h, PerspectiveCamera as a, OrthographicCamera as o } from "three";
1
+ import { Vector3 as a, WebGLRenderer as c, Object3D as u, PerspectiveCamera as o, OrthographicCamera as n } from "three";
2
2
  import { OrbitControls as l } from "three/addons/controls/OrbitControls.js";
3
- import { Perspectives as t } from "./perspective.js";
4
- import { ThirdPersonCamera as n } from "./third-person.js";
5
- import { Fixed2DCamera as p } from "./fixed-2d.js";
6
- import { EffectComposer as u } from "three/examples/jsm/postprocessing/EffectComposer.js";
3
+ import { Perspectives as s } from "./perspective.js";
4
+ import { ThirdPersonCamera as h } from "./third-person.js";
5
+ import { Fixed2DCamera as m } from "./fixed-2d.js";
6
+ import { EffectComposer as b } from "three/examples/jsm/postprocessing/EffectComposer.js";
7
7
  import d from "../graphics/render-pass.js";
8
- class S {
8
+ class F {
9
9
  cameraRig;
10
10
  camera;
11
11
  screenResolution;
@@ -18,20 +18,25 @@ class S {
18
18
  frustumSize = 10;
19
19
  // Perspective controller delegation
20
20
  perspectiveController = null;
21
- constructor(e, r, s = 10) {
22
- this._perspective = e, this.screenResolution = r, this.frustumSize = s, this.renderer = new c({ antialias: !1, alpha: !0 }), this.renderer.setSize(r.x, r.y), this.renderer.shadowMap.enabled = !0, this.composer = new u(this.renderer);
23
- const i = r.x / r.y;
24
- this.camera = this.createCameraForPerspective(i), this.cameraRig = new m(), this.cameraRig.position.set(0, 3, 10), this.cameraRig.add(this.camera), this.camera.lookAt(new h(0, 2, 0)), this.initializePerspectiveController();
21
+ debugDelegate = null;
22
+ debugUnsubscribe = null;
23
+ debugStateSnapshot = { enabled: !1, selected: [] };
24
+ orbitTarget = null;
25
+ orbitTargetWorldPos = new a();
26
+ constructor(e, t, r = 10) {
27
+ this._perspective = e, this.screenResolution = t, this.frustumSize = r, this.renderer = new c({ antialias: !1, alpha: !0 }), this.renderer.setSize(t.x, t.y), this.renderer.shadowMap.enabled = !0, this.composer = new b(this.renderer);
28
+ const i = t.x / t.y;
29
+ this.camera = this.createCameraForPerspective(i), this.cameraRig = new u(), this.cameraRig.position.set(0, 3, 10), this.cameraRig.add(this.camera), this.camera.lookAt(new a(0, 2, 0)), this.initializePerspectiveController();
25
30
  }
26
31
  /**
27
32
  * Setup the camera with a scene
28
33
  */
29
34
  async setup(e) {
30
35
  this.sceneRef = e, this.orbitControls === null && (this.orbitControls = new l(this.camera, this.renderer.domElement), this.orbitControls.enableDamping = !0, this.orbitControls.dampingFactor = 0.05, this.orbitControls.screenSpacePanning = !1, this.orbitControls.minDistance = 1, this.orbitControls.maxDistance = 500, this.orbitControls.maxPolarAngle = Math.PI / 2);
31
- let r = this.screenResolution.clone().divideScalar(2);
32
- r.x |= 0, r.y |= 0;
33
- const s = new d(r, e, this.camera);
34
- this.composer.addPass(s), this.perspectiveController && this.perspectiveController.setup({
36
+ let t = this.screenResolution.clone().divideScalar(2);
37
+ t.x |= 0, t.y |= 0;
38
+ const r = new d(t, e, this.camera);
39
+ this.composer.addPass(r), this.perspectiveController && this.perspectiveController.setup({
35
40
  screenResolution: this.screenResolution,
36
41
  renderer: this.renderer,
37
42
  scene: e,
@@ -44,7 +49,7 @@ class S {
44
49
  * Update camera and render
45
50
  */
46
51
  update(e) {
47
- this.orbitControls?.update(), this.perspectiveController && this.perspectiveController.update(e), this.composer.render(e);
52
+ this.orbitControls && this.orbitTarget && (this.orbitTarget.getWorldPosition(this.orbitTargetWorldPos), this.orbitControls.target.copy(this.orbitTargetWorldPos)), this.orbitControls?.update(), this.perspectiveController && this.perspectiveController.update(e), this.composer.render(e);
48
53
  }
49
54
  /**
50
55
  * Dispose renderer, composer, controls, and detach from scene
@@ -55,7 +60,7 @@ class S {
55
60
  } catch {
56
61
  }
57
62
  try {
58
- this.orbitControls?.dispose(), this.orbitControls = null;
63
+ this.disableOrbitControls();
59
64
  } catch {
60
65
  }
61
66
  try {
@@ -66,28 +71,52 @@ class S {
66
71
  this.renderer.dispose();
67
72
  } catch {
68
73
  }
69
- this.sceneRef = null;
74
+ this.detachDebugDelegate(), this.sceneRef = null;
75
+ }
76
+ /**
77
+ * Attach a delegate to react to debug state changes.
78
+ */
79
+ setDebugDelegate(e) {
80
+ if (this.debugDelegate === e)
81
+ return;
82
+ if (this.detachDebugDelegate(), this.debugDelegate = e, !e) {
83
+ this.applyDebugState({ enabled: !1, selected: [] });
84
+ return;
85
+ }
86
+ const t = e.subscribe((r) => {
87
+ this.applyDebugState(r);
88
+ });
89
+ this.debugUnsubscribe = () => {
90
+ t?.();
91
+ };
70
92
  }
71
93
  /**
72
94
  * Resize camera and renderer
73
95
  */
74
- resize(e, r) {
75
- this.screenResolution.set(e, r), this.renderer.setSize(e, r, !0), this.composer.setSize(e, r), this.camera instanceof a && (this.camera.aspect = e / r, this.camera.updateProjectionMatrix()), this.perspectiveController && this.perspectiveController.resize(e, r);
96
+ resize(e, t) {
97
+ this.screenResolution.set(e, t), this.renderer.setSize(e, t, !1), this.composer.setSize(e, t), this.camera instanceof o && (this.camera.aspect = e / t, this.camera.updateProjectionMatrix()), this.perspectiveController && this.perspectiveController.resize(e, t);
98
+ }
99
+ /**
100
+ * Update renderer pixel ratio (DPR)
101
+ */
102
+ setPixelRatio(e) {
103
+ const t = Math.max(1, Number.isFinite(e) ? e : 1);
104
+ this.renderer.setPixelRatio(t);
76
105
  }
77
106
  /**
78
107
  * Create camera based on perspective type
79
108
  */
80
109
  createCameraForPerspective(e) {
81
110
  switch (this._perspective) {
82
- case t.ThirdPerson:
111
+ case s.ThirdPerson:
83
112
  return this.createThirdPersonCamera(e);
84
- case t.FirstPerson:
113
+ case s.FirstPerson:
85
114
  return this.createFirstPersonCamera(e);
86
- case t.Isometric:
115
+ case s.Isometric:
87
116
  return this.createIsometricCamera(e);
88
- case t.Flat2D:
117
+ case s.Flat2D:
89
118
  return this.createFlat2DCamera(e);
90
- case t.Fixed2D:
119
+ case s.Fixed2D:
91
120
  return this.createFixed2DCamera(e);
92
121
  default:
93
122
  return this.createThirdPersonCamera(e);
@@ -98,40 +127,40 @@ class S {
98
127
  */
99
128
  initializePerspectiveController() {
100
129
  switch (this._perspective) {
101
- case t.ThirdPerson:
102
- this.perspectiveController = new n();
130
+ case s.ThirdPerson:
131
+ this.perspectiveController = new h();
103
132
  break;
104
- case t.Fixed2D:
105
- this.perspectiveController = new p();
133
+ case s.Fixed2D:
134
+ this.perspectiveController = new m();
106
135
  break;
107
136
  default:
108
- this.perspectiveController = new n();
137
+ this.perspectiveController = new h();
109
138
  }
110
139
  }
111
140
  createThirdPersonCamera(e) {
112
- return new a(75, e, 0.1, 1e3);
141
+ return new o(75, e, 0.1, 1e3);
113
142
  }
114
143
  createFirstPersonCamera(e) {
115
- return new a(75, e, 0.1, 1e3);
144
+ return new o(75, e, 0.1, 1e3);
116
145
  }
117
146
  createIsometricCamera(e) {
118
- return new o(this.frustumSize * e / -2, this.frustumSize * e / 2, this.frustumSize / 2, this.frustumSize / -2, 1, 1e3);
147
+ return new n(this.frustumSize * e / -2, this.frustumSize * e / 2, this.frustumSize / 2, this.frustumSize / -2, 1, 1e3);
119
148
  }
120
149
  createFlat2DCamera(e) {
121
- return new o(this.frustumSize * e / -2, this.frustumSize * e / 2, this.frustumSize / 2, this.frustumSize / -2, 1, 1e3);
150
+ return new n(this.frustumSize * e / -2, this.frustumSize * e / 2, this.frustumSize / 2, this.frustumSize / -2, 1, 1e3);
122
151
  }
123
152
  createFixed2DCamera(e) {
124
153
  return this.createFlat2DCamera(e);
125
154
  }
126
155
  // Movement methods
127
156
  moveCamera(e) {
128
- (this._perspective === t.Flat2D || this._perspective === t.Fixed2D) && (this.frustumSize = e.z), this.cameraRig.position.set(e.x, e.y, e.z);
157
+ (this._perspective === s.Flat2D || this._perspective === s.Fixed2D) && (this.frustumSize = e.z), this.cameraRig.position.set(e.x, e.y, e.z);
129
158
  }
130
159
  move(e) {
131
160
  this.moveCamera(e);
132
161
  }
133
- rotate(e, r, s) {
134
- this.cameraRig.rotateX(e), this.cameraRig.rotateY(r), this.cameraRig.rotateZ(s);
162
+ rotate(e, t, r) {
163
+ this.cameraRig.rotateX(e), this.cameraRig.rotateY(t), this.cameraRig.rotateZ(r);
135
164
  }
136
165
  /**
137
166
  * Get the DOM element for the renderer
@@ -139,7 +168,41 @@ class S {
139
168
  getDomElement() {
140
169
  return this.renderer.domElement;
141
170
  }
171
+ applyDebugState(e) {
172
+ this.debugStateSnapshot = {
173
+ enabled: e.enabled,
174
+ selected: [...e.selected]
175
+ }, e.enabled ? (this.enableOrbitControls(), this.updateOrbitTargetFromSelection(e.selected)) : (this.orbitTarget = null, this.disableOrbitControls());
176
+ }
177
+ enableOrbitControls() {
178
+ this.orbitControls || (this.orbitControls = new l(this.camera, this.renderer.domElement), this.orbitControls.enableDamping = !0, this.orbitControls.dampingFactor = 0.05, this.orbitControls.screenSpacePanning = !1, this.orbitControls.minDistance = 1, this.orbitControls.maxDistance = 500, this.orbitControls.maxPolarAngle = Math.PI / 2);
179
+ }
180
+ disableOrbitControls() {
181
+ this.orbitControls && (this.orbitControls.dispose(), this.orbitControls = null);
182
+ }
183
+ updateOrbitTargetFromSelection(e) {
184
+ if (!this.debugDelegate || e.length === 0) {
185
+ this.orbitTarget = null;
186
+ return;
187
+ }
188
+ for (let t = e.length - 1; t >= 0; t -= 1) {
189
+ const r = e[t], i = this.debugDelegate.resolveTarget(r);
190
+ if (i) {
191
+ this.orbitTarget = i, this.orbitControls && (i.getWorldPosition(this.orbitTargetWorldPos), this.orbitControls.target.copy(this.orbitTargetWorldPos));
192
+ return;
193
+ }
194
+ }
195
+ this.orbitTarget = null;
196
+ }
197
+ detachDebugDelegate() {
198
+ if (this.debugUnsubscribe)
199
+ try {
200
+ this.debugUnsubscribe();
201
+ } catch {
202
+ }
203
+ this.debugUnsubscribe = null, this.debugDelegate = null;
204
+ }
142
205
  }
143
206
  export {
144
- S as ZylemCamera
207
+ F as ZylemCamera
145
208
  };
@@ -19,3 +19,4 @@ export declare class CollisionBuilder {
19
19
  isDynamicBody?: boolean | undefined;
20
20
  }): RigidBodyDesc;
21
21
  }
22
+ //# sourceMappingURL=collision-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collision-builder.d.ts","sourceRoot":"","sources":["../../../src/lib/collision/collision-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,YAAY,EAAE,aAAa,EAA0B,MAAM,2BAA2B,CAAC;AACtH,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAK/C,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOhE;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAOpE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAI3G;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC;AAClD,MAAM,MAAM,iBAAiB,GAAG,CAAC,EAAE,aAAa,EAAE,EAAE;IAAE,aAAa,EAAE,OAAO,CAAA;CAAE,KAAK,aAAa,CAAC;AAEjG,qBAAa,gBAAgB;IAC5B,MAAM,EAAE,OAAO,CAAS;IACxB,MAAM,EAAE,OAAO,CAAS;IACxB,OAAO,EAAE,IAAI,CAAwB;IAErC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC;IAmBxE,aAAa,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAMhE,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,YAAY;IAOjD,QAAQ,CAAC,EAAE,aAAoB,EAAE;;KAAA,GAAG,aAAa;CASjD"}
@@ -9,3 +9,4 @@ export declare class CollisionHandler {
9
9
  handlePostCollision(params: any): boolean;
10
10
  handleIntersectionEvent(params: any): void;
11
11
  }
12
+ //# sourceMappingURL=collision-delegate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collision-delegate.d.ts","sourceRoot":"","sources":["../../../src/lib/collision/collision-delegate.ts"],"names":[],"mappings":"AACA,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,wBAAwB,CAEpF;AAED,MAAM,WAAW,wBAAwB;IACxC,mBAAmB,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC;IAC1C,uBAAuB,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC;CAC3C;AAED,qBAAa,gBAAgB;IAC5B,eAAe,EAAE,wBAAwB,CAAC;gBAE9B,MAAM,EAAE,wBAAwB;IAI5C,mBAAmB,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO;IAIzC,uBAAuB,CAAC,MAAM,EAAE,GAAG;CAGnC"}
@@ -8,3 +8,4 @@ import { GameEntity } from '../entities/entity';
8
8
  * @returns The entity for method chaining
9
9
  */
10
10
  export declare function collisionGroup<T extends GameEntity<any>>(entity: T, allowedTypes: string[]): T;
11
+ //# sourceMappingURL=collision-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collision-group.d.ts","sourceRoot":"","sources":["../../../src/lib/collision/collision-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,EACvD,MAAM,EAAE,CAAC,EACT,YAAY,EAAE,MAAM,EAAE,GACpB,CAAC,CAiBH"}
@@ -15,3 +15,4 @@ export declare function buildCollisionMask(...types: string[]): CollisionMask;
15
15
  * Tests whether the given entity's collision type is included in the mask.
16
16
  */
17
17
  export declare function entityMatchesMask(entity: GameEntity<any>, mask: CollisionMask): boolean;
18
+ //# sourceMappingURL=collision-mask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collision-mask.d.ts","sourceRoot":"","sources":["../../../src/lib/collision/collision-mask.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC;AAE3E;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,aAAa,CAEpE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAIvF"}
@@ -25,3 +25,4 @@ export interface CollisionOptions {
25
25
  collisionType?: string;
26
26
  collisionFilter?: string[];
27
27
  }
28
+ //# sourceMappingURL=collision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collision.d.ts","sourceRoot":"","sources":["../../../src/lib/collision/collision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiB,MAAM,2BAA2B,CAAC;AAEzE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,qBAAa,aAAa;IACzB,MAAM,EAAE,OAAO,CAAS;IACxB,QAAQ,EAAE,OAAO,CAAS;IAC1B,eAAe,EAAE,aAAa,CAAC;gBAEnB,EAAE,aAAoB,EAAE;;KAAA;CAQpC;AAED,eAAO,MAAM,kBAAkB;;;;EAI7B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;EAGlC,CAAC;AAEH,MAAM,WAAW,gBAAgB;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B"}
@@ -12,3 +12,4 @@ export type CollisionSelector = {
12
12
  * Returns true if the `other` entity matches the provided selector.
13
13
  */
14
14
  export declare function matchesCollisionSelector(other: GameEntity<any>, selector?: CollisionSelector): boolean;
15
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/collision/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;AAEtD,MAAM,MAAM,iBAAiB,GAC1B;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,OAAO,CAAA;CAAE,CAAC;AAEjD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CA0BtG"}
@@ -20,3 +20,4 @@ export declare class ZylemWorld implements Entity<ZylemWorld> {
20
20
  updateColliders(delta: number): void;
21
21
  destroy(): void;
22
22
  }
23
+ //# sourceMappingURL=world.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../../src/lib/collision/world.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAG7D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,qBAAa,UAAW,YAAW,MAAM,CAAC,UAAU,CAAC;IACpD,IAAI,SAAW;IACf,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAa;IACvD,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAa;IAC/D,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAa;WAEzC,WAAW,CAAC,OAAO,EAAE,OAAO;gBAM7B,KAAK,EAAE,KAAK;IAIxB,SAAS,CAAC,MAAM,EAAE,GAAG;IAwBrB,aAAa,CAAC,MAAM,EAAE,GAAG;IAMzB,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC;IAWrC,KAAK;IAEL,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC;IAUjC,4BAA4B,CAAC,KAAK,EAAE,MAAM;IAc1C,eAAe,CAAC,KAAK,EAAE,MAAM;IAwC7B,OAAO;CAaP"}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=asset-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-manager.d.ts","sourceRoot":"","sources":["../../../src/lib/core/asset-manager.ts"],"names":[],"mappings":""}
@@ -65,3 +65,4 @@ export interface CleanupContext<T, TGlobals extends Record<string, unknown> = an
65
65
  me: T;
66
66
  globals: TGlobals;
67
67
  }
68
+ //# sourceMappingURL=base-node-life-cycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-node-life-cycle.d.ts","sourceRoot":"","sources":["../../../src/lib/core/base-node-life-cycle.ts"],"names":[],"mappings":"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"}
@@ -34,3 +34,4 @@ export declare abstract class BaseNode<Options = any, T = any> {
34
34
  getOptions(): Options;
35
35
  setOptions(options: Partial<Options>): void;
36
36
  }
37
+ //# sourceMappingURL=base-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-node.d.ts","sourceRoot":"","sources":["../../../src/lib/core/base-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EACN,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,MAAM,wBAAwB,CAAC;AAIhC,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7D,8BAAsB,QAAQ,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG;IACpD,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAQ;IACzC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAM;IAC7B,SAAS,EAAE,QAAQ,EAAE,CAAM;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAK;IAChB,IAAI,EAAE,MAAM,CAAM;IAClB,IAAI,EAAE,MAAM,CAAM;IAClB,gBAAgB,EAAE,OAAO,CAAS;IAEzC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAa;IACvC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAa;IACzC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAa;IACzC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,CAAa;IAC3C,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,CAAa;gBAE/B,IAAI,GAAE,eAAe,EAAO;IAQjC,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAIxC,SAAS,IAAI,QAAQ,GAAG,IAAI;IAI5B,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAK7B,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAQhC,WAAW,IAAI,QAAQ,EAAE;IAIzB,WAAW,IAAI,OAAO;aAIb,MAAM,IAAI,CAAC;IAE3B,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI;IAE3D,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAEtE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI;IAE7D,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAE/D,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjE,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC;IAYpC,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI;IAa7C,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAW/C,UAAU,IAAI,OAAO;IAIrB,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI;CAGlD"}
@@ -42,7 +42,7 @@ class s {
42
42
  return this.children.length > 0;
43
43
  }
44
44
  nodeSetup(t) {
45
- typeof this._setup == "function" && this._setup(t), this.setup && this.setup(t), this.children.forEach((e) => e.nodeSetup(t));
45
+ this.markedForRemoval = !1, typeof this._setup == "function" && this._setup(t), this.setup && this.setup(t), this.children.forEach((e) => e.nodeSetup(t));
46
46
  }
47
47
  nodeUpdate(t) {
48
48
  this.markedForRemoval || (typeof this._update == "function" && this._update(t), this.update && this.update(t), this.children.forEach((e) => e.nodeUpdate(t)));
@@ -27,3 +27,4 @@ export declare class EntityAssetLoader {
27
27
  private loaders;
28
28
  loadFile(file: string): Promise<AssetLoaderResult>;
29
29
  }
30
+ //# sourceMappingURL=entity-asset-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-asset-loader.d.ts","sourceRoot":"","sources":["../../../src/lib/core/entity-asset-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAE,IAAI,EAAc,MAAM,oCAAoC,CAAC;AAEtE,oBAAY,kBAAkB;IAC7B,GAAG,QAAQ;IACX,IAAI,SAAS;CACb;AAED,MAAM,WAAW,iBAAiB;IACjC,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED,qBAAa,cAAe,YAAW,YAAY;IAClD,OAAO,CAAC,MAAM,CAA8B;IAE5C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI5B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAgBpD;AAED,qBAAa,eAAgB,YAAW,YAAY;IACnD,OAAO,CAAC,MAAM,CAAgC;IAE9C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI5B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAepD;AAED,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,OAAO,CAGb;IAEI,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;CASxD"}
@@ -2,3 +2,4 @@ export declare class EntityErrors {
2
2
  errorEntityBody(): string;
3
3
  errorIncompatibleFileType(extension?: string): string;
4
4
  }
5
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/lib/core/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IAExB,eAAe,IAAI,MAAM;IAMzB,yBAAyB,CAAC,SAAS,GAAE,MAAkB,GAAG,MAAM;CAKhE"}
@@ -1,2 +1,3 @@
1
1
  /** Vite build flags */
2
2
  export declare const DEBUG_FLAG: boolean;
3
+ //# sourceMappingURL=flags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../src/lib/core/flags.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,eAAO,MAAM,UAAU,SAA6C,CAAC"}
@@ -2,3 +2,4 @@ export * from '../game/zylem-game';
2
2
  export * from '../stage/zylem-stage';
3
3
  export * from './vessel';
4
4
  export * from '../types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/core/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC"}
@@ -77,3 +77,4 @@ export declare const loadFullGame: () => Promise<{
77
77
  scene: typeof import("../graphics/zylem-scene");
78
78
  };
79
79
  }>;
80
+ //# sourceMappingURL=lazy-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy-loader.d.ts","sourceRoot":"","sources":["../../../src/lib/core/lazy-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,eAAO,MAAM,cAAc;;;;;EAQ1B,CAAC;AAGF,eAAO,MAAM,SAAS,oDAGrB,CAAC;AAEF,eAAO,MAAM,SAAS,wDAGrB,CAAC;AAEF,eAAO,MAAM,YAAY;;;EAMxB,CAAC;AAEF,eAAO,MAAM,WAAW;;;EAMvB,CAAC;AAGF,eAAO,MAAM,UAAU;;;EAMtB,CAAC;AAGF,eAAO,MAAM,eAAe,oDAG3B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,YAAY,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,wOAiBpG,CAAC;AAGF,eAAO,MAAM,aAAa,8DAGzB,CAAC;AAGF,eAAO,MAAM,YAAY;;;EAMxB,CAAC;AAGF,eAAO,MAAM,SAAS;;;;EAOrB,CAAC;AAEF,eAAO,MAAM,cAAc,6CAG1B,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBxB,CAAC"}
@@ -14,3 +14,4 @@ export declare abstract class LifeCycleBase<TSelf> {
14
14
  nodeUpdate(context: UpdateContext<TSelf>): void;
15
15
  nodeDestroy(context: DestroyContext<TSelf>): void;
16
16
  }
17
+ //# sourceMappingURL=lifecycle-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-base.d.ts","sourceRoot":"","sources":["../../../src/lib/core/lifecycle-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAErI;;;GAGG;AACH,8BAAsB,aAAa,CAAC,KAAK;IACxC,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,CAAa;IAC1C,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAa;IACxC,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,CAAa;IAE5C,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI;IAC7D,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,IAAI;IAC/D,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI;IAEjE,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC;IAStC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC;IASxC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;CAQ1C"}
@@ -9,3 +9,4 @@ export declare const debugShader: ZylemShaderObject;
9
9
  export type ZylemShaderType = 'standard' | 'fire' | 'star' | 'debug';
10
10
  declare const shaderMap: Map<ZylemShaderType, ZylemShaderObject>;
11
11
  export default shaderMap;
12
+ //# sourceMappingURL=preset-shader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset-shader.d.ts","sourceRoot":"","sources":["../../../src/lib/core/preset-shader.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,iBAAiB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAErE,eAAO,MAAM,UAAU,EAAE,iBAGxB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,iBAGxB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,iBAG5B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,iBAGzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAErE,QAAA,MAAM,SAAS,EAAE,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAa,CAAC;AAMrE,eAAe,SAAS,CAAC"}
@@ -104,3 +104,4 @@ declare class FixedTimer extends Timer {
104
104
  update(): FixedTimer;
105
105
  }
106
106
  export { Timer, FixedTimer };
107
+ //# sourceMappingURL=Timer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Timer.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/three-addons/Timer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,cAAM,KAAK;IACV,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAC;IACrC,SAAS,CAAC,sBAAsB,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAEtD;;OAEG;;IAiBH;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAgBjC;;OAEG;IACH,UAAU,IAAI,IAAI;IAalB;;;;OAIG;IACH,QAAQ,IAAI,MAAM;IAMlB;;;;OAIG;IACH,UAAU,IAAI,MAAM;IAMpB;;;;OAIG;IACH,YAAY,IAAI,MAAM;IAMtB;;;;;;OAMG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK;IAQtC;;;;OAIG;IACH,KAAK,IAAI,KAAK;IAQd;;;OAGG;IACH,OAAO,IAAI,IAAI;IAMf;;;;;;;;;OASG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK;CAoBjC;AAED;;;;;GAKG;AACH,cAAM,UAAW,SAAQ,KAAK;IAE7B;;;;OAIG;gBACS,GAAG,GAAE,MAAW;IAO5B,MAAM,IAAI,UAAU;CAQpB;AAcD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC"}
@@ -1,11 +1,13 @@
1
1
  import { BaseNode } from '../base-node';
2
2
  import { Stage } from '../../stage/stage';
3
3
  import { GameEntityLifeCycle } from '../../entities/entity';
4
- import { BasicTypes, GlobalVariablesType, ZylemGameConfig } from '../../game/game-interfaces';
4
+ import { BaseGlobals, ZylemGameConfig } from '../../game/game-interfaces';
5
5
  import { GameConfigLike } from '~/lib/game/game-config';
6
- export type GameOptions<TGlobals extends Record<string, BasicTypes> = GlobalVariablesType> = Array<ZylemGameConfig<Stage, any, TGlobals> | GameConfigLike | Stage | GameEntityLifeCycle | BaseNode>;
7
- export declare function convertNodes<TGlobals extends Record<string, BasicTypes> = GlobalVariablesType>(_options: GameOptions<TGlobals>): Promise<{
6
+ export type GameOptions<TGlobals extends BaseGlobals> = Array<ZylemGameConfig<Stage, any, TGlobals> | GameConfigLike | Stage | GameEntityLifeCycle | BaseNode>;
7
+ export declare function convertNodes<TGlobals extends BaseGlobals>(_options: GameOptions<TGlobals>): Promise<{
8
8
  id: string;
9
9
  globals: TGlobals;
10
10
  stages: Stage[];
11
11
  }>;
12
+ export declare function hasStages<TGlobals extends BaseGlobals>(_options: GameOptions<TGlobals>): Boolean;
13
+ //# sourceMappingURL=nodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/utility/nodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAc,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAMxD,MAAM,MAAM,WAAW,CAAC,QAAQ,SAAS,WAAW,IAAI,KAAK,CAC5D,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,GACrC,cAAc,GACd,KAAK,GACL,mBAAmB,GACnB,QAAQ,CACR,CAAC;AAEF,wBAAsB,YAAY,CAAC,QAAQ,SAAS,WAAW,EAC9D,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,GAC7B,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,KAAK,EAAE,CAAA;CAAE,CAAC,CAgC7D;AAED,wBAAgB,SAAS,CAAC,QAAQ,SAAS,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,CAGhG"}
@@ -1,27 +1,31 @@
1
- import { BaseNode as f } from "../base-node.js";
2
- import { Stage as r } from "../../stage/stage.js";
1
+ import { BaseNode as r } from "../base-node.js";
2
+ import { Stage as c } from "../../stage/stage.js";
3
3
  import { GameEntity as g } from "../../entities/entity.js";
4
- async function h(c) {
5
- const { getGameDefaultConfig: a } = await import("../../game/game-default.js");
6
- let s = { ...a() };
7
- const o = [], e = [], i = [];
8
- return Object.values(c).forEach((t) => {
9
- if (t instanceof r)
4
+ async function h(i) {
5
+ const { getGameDefaultConfig: n } = await import("../../game/game-default.js");
6
+ let s = { ...n() };
7
+ const o = [], e = [], a = [];
8
+ return Object.values(i).forEach((t) => {
9
+ if (t instanceof c)
10
10
  e.push(t);
11
11
  else if (t instanceof g)
12
- i.push(t);
13
- else if (t instanceof f)
14
- i.push(t);
12
+ a.push(t);
13
+ else if (t instanceof r)
14
+ a.push(t);
15
15
  else if (t?.constructor?.name === "Object" && typeof t == "object") {
16
- const n = Object.assign({ ...a() }, { ...t });
17
- o.push(n);
16
+ const f = Object.assign({ ...n() }, { ...t });
17
+ o.push(f);
18
18
  }
19
19
  }), o.forEach((t) => {
20
20
  s = Object.assign(s, { ...t });
21
21
  }), e.forEach((t) => {
22
- t.addEntities(i);
23
- }), e.length ? s.stages = e : s.stages[0].addEntities(i), s;
22
+ t.addEntities(a);
23
+ }), e.length ? s.stages = e : s.stages[0].addEntities(a), s;
24
+ }
25
+ function l(i) {
26
+ return !!i.find((s) => s instanceof c);
24
27
  }
25
28
  export {
26
- h as convertNodes
29
+ h as convertNodes,
30
+ l as hasStages
27
31
  };
@@ -1,2 +1,3 @@
1
1
  export declare function sortedStringify(obj: Record<string, any>): string;
2
2
  export declare function shortHash(objString: string): string;
3
+ //# sourceMappingURL=strings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/utility/strings.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,UASvD;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,UAM1C"}
@@ -11,3 +11,4 @@ export declare const ZylemGoldText = "#DAA420";
11
11
  export type SizeVector = Vect3 | null;
12
12
  export declare const Vec0: Vector3;
13
13
  export declare const Vec1: Vector3;
14
+ //# sourceMappingURL=vector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/utility/vector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGpD;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,YAAY,GAAG,OAAO,CAAC;AAE3C,eAAO,MAAM,cAAc,OAAuB,CAAC;AACnD,eAAO,MAAM,SAAS,YAAY,CAAC;AACnC,eAAO,MAAM,oBAAoB,cAAc,CAAC;AAChD,eAAO,MAAM,aAAa,YAAY,CAAC;AAEvC,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,IAAI,CAAC;AAEtC,eAAO,MAAM,IAAI,SAAuB,CAAC;AACzC,eAAO,MAAM,IAAI,SAAuB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import { Vector3 as ThreeVector3 } from 'three';
2
2
  import { Vector3 as RapierVector3 } from '@dimforge/rapier3d-compat';
3
3
  export type Vec3 = ThreeVector3 | RapierVector3;
4
+ //# sourceMappingURL=vector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../../src/lib/core/vector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAErE,MAAM,MAAM,IAAI,GAAG,YAAY,GAAG,aAAa,CAAC"}
@@ -11,3 +11,4 @@ export declare class Vessel extends BaseNode<{}, Vessel> {
11
11
  create(): this;
12
12
  }
13
13
  export declare function vessel(...args: Array<BaseNode>): BaseNode<{}, Vessel>;
14
+ //# sourceMappingURL=vessel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vessel.d.ts","sourceRoot":"","sources":["../../../src/lib/core/vessel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EACN,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,WAAW,eAAmB,CAAC;AAE5C,qBAAa,MAAO,SAAQ,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAC/C,MAAM,CAAC,IAAI,SAAe;IAE1B,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI;cAEnC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAEpE,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI;IAErD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAEvC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAE/D,MAAM,IAAI,IAAI;CAGrB;AAED,wBAAgB,MAAM,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAIrE"}
@@ -17,3 +17,4 @@ export declare const clearConsole: () => void;
17
17
  * Get all console messages as a single string
18
18
  */
19
19
  export declare const getConsoleContent: () => string;
20
+ //# sourceMappingURL=console-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-state.d.ts","sourceRoot":"","sources":["../../../../src/lib/debug/console/console-state.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,YAAY;cACR,MAAM,EAAE;CACvB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,SAI7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,YAExB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,cAE7B,CAAC"}