@zylem/game-lib 0.4.1 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/README.md +23 -41
  2. package/dist/actions.d.ts +25 -0
  3. package/dist/actions.js +287 -8
  4. package/dist/actions.js.map +1 -0
  5. package/dist/behaviors.d.ts +108 -0
  6. package/dist/behaviors.js +396 -6
  7. package/dist/behaviors.js.map +1 -0
  8. package/dist/{lib/camera/zylem-camera.d.ts → camera-Dk-fOVZE.d.ts} +55 -8
  9. package/dist/camera.d.ts +5 -0
  10. package/dist/camera.js +504 -4
  11. package/dist/camera.js.map +1 -0
  12. package/dist/core-C2mjetAd.d.ts +431 -0
  13. package/dist/core.d.ts +9 -0
  14. package/dist/core.js +4780 -9
  15. package/dist/core.js.map +1 -0
  16. package/dist/entities.d.ts +269 -0
  17. package/dist/entities.js +2161 -17
  18. package/dist/entities.js.map +1 -0
  19. package/dist/entity-bQElAdpo.d.ts +347 -0
  20. package/dist/entity-spawner-DNnLYnZq.d.ts +11 -0
  21. package/dist/main.d.ts +135 -0
  22. package/dist/main.js +6599 -56
  23. package/dist/main.js.map +1 -0
  24. package/dist/moveable-B_vyA6cw.d.ts +67 -0
  25. package/dist/stage-CrmY7V0i.d.ts +287 -0
  26. package/dist/stage.d.ts +26 -0
  27. package/dist/stage.js +2229 -15
  28. package/dist/stage.js.map +1 -0
  29. package/dist/transformable-CUhvyuYO.d.ts +67 -0
  30. package/package.json +12 -42
  31. package/LICENSE +0 -21
  32. package/dist/.vite/manifest.json +0 -676
  33. package/dist/api/actions.d.ts +0 -5
  34. package/dist/api/actions.d.ts.map +0 -1
  35. package/dist/api/behaviors.d.ts +0 -4
  36. package/dist/api/behaviors.d.ts.map +0 -1
  37. package/dist/api/camera.d.ts +0 -4
  38. package/dist/api/camera.d.ts.map +0 -1
  39. package/dist/api/core.d.ts +0 -6
  40. package/dist/api/core.d.ts.map +0 -1
  41. package/dist/api/entities.d.ts +0 -9
  42. package/dist/api/entities.d.ts.map +0 -1
  43. package/dist/api/main.d.ts +0 -32
  44. package/dist/api/main.d.ts.map +0 -1
  45. package/dist/api/stage.d.ts +0 -6
  46. package/dist/api/stage.d.ts.map +0 -1
  47. package/dist/assets/zylem-logo.png +0 -0
  48. package/dist/lib/actions/behaviors/actions.d.ts +0 -11
  49. package/dist/lib/actions/behaviors/actions.d.ts.map +0 -1
  50. package/dist/lib/actions/behaviors/actions.js +0 -35
  51. package/dist/lib/actions/behaviors/behavior.d.ts +0 -6
  52. package/dist/lib/actions/behaviors/behavior.d.ts.map +0 -1
  53. package/dist/lib/actions/behaviors/boundaries/boundary.d.ts +0 -37
  54. package/dist/lib/actions/behaviors/boundaries/boundary.d.ts.map +0 -1
  55. package/dist/lib/actions/behaviors/boundaries/boundary.js +0 -40
  56. package/dist/lib/actions/behaviors/character-controller.d.ts +0 -6
  57. package/dist/lib/actions/behaviors/character-controller.d.ts.map +0 -1
  58. package/dist/lib/actions/behaviors/debug/debug-collision.d.ts +0 -6
  59. package/dist/lib/actions/behaviors/debug/debug-collision.d.ts.map +0 -1
  60. package/dist/lib/actions/behaviors/debug/debug-update.d.ts +0 -5
  61. package/dist/lib/actions/behaviors/debug/debug-update.d.ts.map +0 -1
  62. package/dist/lib/actions/behaviors/debug/debug.d.ts +0 -10
  63. package/dist/lib/actions/behaviors/debug/debug.d.ts.map +0 -1
  64. package/dist/lib/actions/behaviors/movement/movement-sequence-2d.d.ts +0 -24
  65. package/dist/lib/actions/behaviors/movement/movement-sequence-2d.d.ts.map +0 -1
  66. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-collision.d.ts +0 -11
  67. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-collision.d.ts.map +0 -1
  68. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-collision.js +0 -100
  69. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-in-bounds.d.ts +0 -12
  70. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-in-bounds.d.ts.map +0 -1
  71. package/dist/lib/actions/behaviors/ricochet/ricochet-2d-in-bounds.js +0 -37
  72. package/dist/lib/actions/behaviors/ricochet/ricochet.d.ts +0 -44
  73. package/dist/lib/actions/behaviors/ricochet/ricochet.d.ts.map +0 -1
  74. package/dist/lib/actions/behaviors/ricochet/ricochet.js +0 -6
  75. package/dist/lib/actions/behaviors/zylem-behavior.d.ts +0 -2
  76. package/dist/lib/actions/behaviors/zylem-behavior.d.ts.map +0 -1
  77. package/dist/lib/actions/capabilities/moveable.d.ts +0 -125
  78. package/dist/lib/actions/capabilities/moveable.d.ts.map +0 -1
  79. package/dist/lib/actions/capabilities/moveable.js +0 -108
  80. package/dist/lib/actions/capabilities/rotatable.d.ts +0 -111
  81. package/dist/lib/actions/capabilities/rotatable.d.ts.map +0 -1
  82. package/dist/lib/actions/capabilities/rotatable.js +0 -82
  83. package/dist/lib/actions/capabilities/transformable.d.ts +0 -7
  84. package/dist/lib/actions/capabilities/transformable.d.ts.map +0 -1
  85. package/dist/lib/actions/capabilities/transformable.js +0 -9
  86. package/dist/lib/actions/global-change.d.ts +0 -23
  87. package/dist/lib/actions/global-change.d.ts.map +0 -1
  88. package/dist/lib/actions/global-change.js +0 -40
  89. package/dist/lib/camera/camera.d.ts +0 -16
  90. package/dist/lib/camera/camera.d.ts.map +0 -1
  91. package/dist/lib/camera/camera.js +0 -19
  92. package/dist/lib/camera/fixed-2d.d.ts +0 -32
  93. package/dist/lib/camera/fixed-2d.d.ts.map +0 -1
  94. package/dist/lib/camera/fixed-2d.js +0 -30
  95. package/dist/lib/camera/perspective.d.ts +0 -9
  96. package/dist/lib/camera/perspective.d.ts.map +0 -1
  97. package/dist/lib/camera/perspective.js +0 -10
  98. package/dist/lib/camera/third-person.d.ts +0 -32
  99. package/dist/lib/camera/third-person.d.ts.map +0 -1
  100. package/dist/lib/camera/third-person.js +0 -42
  101. package/dist/lib/camera/zylem-camera.d.ts.map +0 -1
  102. package/dist/lib/camera/zylem-camera.js +0 -208
  103. package/dist/lib/collision/collision-builder.d.ts +0 -17
  104. package/dist/lib/collision/collision-builder.d.ts.map +0 -1
  105. package/dist/lib/collision/collision-builder.js +0 -46
  106. package/dist/lib/collision/collision-delegate.d.ts +0 -6
  107. package/dist/lib/collision/collision-delegate.d.ts.map +0 -1
  108. package/dist/lib/collision/collision-delegate.js +0 -6
  109. package/dist/lib/collision/collision-group.d.ts +0 -11
  110. package/dist/lib/collision/collision-group.d.ts.map +0 -1
  111. package/dist/lib/collision/collision-mask.d.ts +0 -18
  112. package/dist/lib/collision/collision-mask.d.ts.map +0 -1
  113. package/dist/lib/collision/collision.d.ts +0 -19
  114. package/dist/lib/collision/collision.d.ts.map +0 -1
  115. package/dist/lib/collision/utils.d.ts +0 -15
  116. package/dist/lib/collision/utils.d.ts.map +0 -1
  117. package/dist/lib/collision/utils.js +0 -24
  118. package/dist/lib/collision/world.d.ts +0 -23
  119. package/dist/lib/collision/world.d.ts.map +0 -1
  120. package/dist/lib/collision/world.js +0 -77
  121. package/dist/lib/core/asset-manager.d.ts +0 -2
  122. package/dist/lib/core/asset-manager.d.ts.map +0 -1
  123. package/dist/lib/core/base-node-life-cycle.d.ts +0 -68
  124. package/dist/lib/core/base-node-life-cycle.d.ts.map +0 -1
  125. package/dist/lib/core/base-node.d.ts +0 -37
  126. package/dist/lib/core/base-node.d.ts.map +0 -1
  127. package/dist/lib/core/base-node.js +0 -62
  128. package/dist/lib/core/entity-asset-loader.d.ts +0 -16
  129. package/dist/lib/core/entity-asset-loader.d.ts.map +0 -1
  130. package/dist/lib/core/entity-asset-loader.js +0 -54
  131. package/dist/lib/core/errors.d.ts +0 -5
  132. package/dist/lib/core/errors.d.ts.map +0 -1
  133. package/dist/lib/core/flags.d.ts +0 -3
  134. package/dist/lib/core/flags.d.ts.map +0 -1
  135. package/dist/lib/core/index.d.ts +0 -5
  136. package/dist/lib/core/index.d.ts.map +0 -1
  137. package/dist/lib/core/lazy-loader.d.ts +0 -80
  138. package/dist/lib/core/lazy-loader.d.ts.map +0 -1
  139. package/dist/lib/core/lifecycle-base.d.ts +0 -17
  140. package/dist/lib/core/lifecycle-base.d.ts.map +0 -1
  141. package/dist/lib/core/lifecycle-base.js +0 -20
  142. package/dist/lib/core/preset-shader.d.ts +0 -8
  143. package/dist/lib/core/preset-shader.d.ts.map +0 -1
  144. package/dist/lib/core/preset-shader.js +0 -26
  145. package/dist/lib/core/three-addons/Timer.d.ts +0 -92
  146. package/dist/lib/core/three-addons/Timer.d.ts.map +0 -1
  147. package/dist/lib/core/three-addons/Timer.js +0 -103
  148. package/dist/lib/core/utility/nodes.d.ts +0 -13
  149. package/dist/lib/core/utility/nodes.d.ts.map +0 -1
  150. package/dist/lib/core/utility/nodes.js +0 -31
  151. package/dist/lib/core/utility/strings.d.ts +0 -3
  152. package/dist/lib/core/utility/strings.d.ts.map +0 -1
  153. package/dist/lib/core/utility/strings.js +0 -14
  154. package/dist/lib/core/utility/vector.d.ts +0 -8
  155. package/dist/lib/core/utility/vector.d.ts.map +0 -1
  156. package/dist/lib/core/utility/vector.js +0 -8
  157. package/dist/lib/core/vector.d.ts +0 -4
  158. package/dist/lib/core/vector.d.ts.map +0 -1
  159. package/dist/lib/core/vessel.d.ts +0 -13
  160. package/dist/lib/core/vessel.d.ts.map +0 -1
  161. package/dist/lib/core/vessel.js +0 -26
  162. package/dist/lib/debug/console/console-state.d.ts +0 -20
  163. package/dist/lib/debug/console/console-state.d.ts.map +0 -1
  164. package/dist/lib/debug/console/console-state.js +0 -11
  165. package/dist/lib/debug/console/console-store.d.ts +0 -6
  166. package/dist/lib/debug/console/console-store.d.ts.map +0 -1
  167. package/dist/lib/debug/debug-state.d.ts +0 -38
  168. package/dist/lib/debug/debug-state.d.ts.map +0 -1
  169. package/dist/lib/debug/debug-state.js +0 -40
  170. package/dist/lib/debug/debug-store.d.ts +0 -15
  171. package/dist/lib/debug/debug-store.d.ts.map +0 -1
  172. package/dist/lib/debug/state-based-debug-loader.d.ts +0 -8
  173. package/dist/lib/debug/state-based-debug-loader.d.ts.map +0 -1
  174. package/dist/lib/device/aspect-ratio.d.ts +0 -38
  175. package/dist/lib/device/aspect-ratio.d.ts.map +0 -1
  176. package/dist/lib/device/aspect-ratio.js +0 -44
  177. package/dist/lib/device/desktop.d.ts +0 -2
  178. package/dist/lib/device/desktop.d.ts.map +0 -1
  179. package/dist/lib/device/mobile.d.ts +0 -2
  180. package/dist/lib/device/mobile.d.ts.map +0 -1
  181. package/dist/lib/device/tablet.d.ts +0 -2
  182. package/dist/lib/device/tablet.d.ts.map +0 -1
  183. package/dist/lib/entities/actor.d.ts +0 -44
  184. package/dist/lib/entities/actor.d.ts.map +0 -1
  185. package/dist/lib/entities/actor.js +0 -122
  186. package/dist/lib/entities/box.d.ts +0 -27
  187. package/dist/lib/entities/box.d.ts.map +0 -1
  188. package/dist/lib/entities/box.js +0 -68
  189. package/dist/lib/entities/builder.d.ts +0 -28
  190. package/dist/lib/entities/builder.d.ts.map +0 -1
  191. package/dist/lib/entities/builder.js +0 -79
  192. package/dist/lib/entities/create.d.ts +0 -15
  193. package/dist/lib/entities/create.d.ts.map +0 -1
  194. package/dist/lib/entities/create.js +0 -31
  195. package/dist/lib/entities/delegates/animation.d.ts +0 -33
  196. package/dist/lib/entities/delegates/animation.d.ts.map +0 -1
  197. package/dist/lib/entities/delegates/animation.js +0 -58
  198. package/dist/lib/entities/delegates/debug.d.ts +0 -29
  199. package/dist/lib/entities/delegates/debug.d.ts.map +0 -1
  200. package/dist/lib/entities/delegates/debug.js +0 -71
  201. package/dist/lib/entities/delegates/loader.d.ts +0 -12
  202. package/dist/lib/entities/delegates/loader.d.ts.map +0 -1
  203. package/dist/lib/entities/delegates/loader.js +0 -19
  204. package/dist/lib/entities/destroy.d.ts +0 -4
  205. package/dist/lib/entities/destroy.d.ts.map +0 -1
  206. package/dist/lib/entities/destroy.js +0 -15
  207. package/dist/lib/entities/entity.d.ts +0 -96
  208. package/dist/lib/entities/entity.d.ts.map +0 -1
  209. package/dist/lib/entities/entity.js +0 -120
  210. package/dist/lib/entities/index.d.ts +0 -12
  211. package/dist/lib/entities/index.d.ts.map +0 -1
  212. package/dist/lib/entities/plane.d.ts +0 -36
  213. package/dist/lib/entities/plane.d.ts.map +0 -1
  214. package/dist/lib/entities/plane.js +0 -81
  215. package/dist/lib/entities/rect.d.ts +0 -63
  216. package/dist/lib/entities/rect.d.ts.map +0 -1
  217. package/dist/lib/entities/rect.js +0 -160
  218. package/dist/lib/entities/sphere.d.ts +0 -29
  219. package/dist/lib/entities/sphere.d.ts.map +0 -1
  220. package/dist/lib/entities/sphere.js +0 -68
  221. package/dist/lib/entities/sprite.d.ts +0 -53
  222. package/dist/lib/entities/sprite.d.ts.map +0 -1
  223. package/dist/lib/entities/sprite.js +0 -118
  224. package/dist/lib/entities/text.d.ts +0 -49
  225. package/dist/lib/entities/text.d.ts.map +0 -1
  226. package/dist/lib/entities/text.js +0 -140
  227. package/dist/lib/entities/zone.d.ts +0 -54
  228. package/dist/lib/entities/zone.d.ts.map +0 -1
  229. package/dist/lib/entities/zone.js +0 -103
  230. package/dist/lib/game/game-blueprint.d.ts +0 -38
  231. package/dist/lib/game/game-blueprint.d.ts.map +0 -1
  232. package/dist/lib/game/game-canvas.d.ts +0 -35
  233. package/dist/lib/game/game-canvas.d.ts.map +0 -1
  234. package/dist/lib/game/game-canvas.js +0 -57
  235. package/dist/lib/game/game-config.d.ts +0 -59
  236. package/dist/lib/game/game-config.d.ts.map +0 -1
  237. package/dist/lib/game/game-config.js +0 -78
  238. package/dist/lib/game/game-default.d.ts +0 -14
  239. package/dist/lib/game/game-default.d.ts.map +0 -1
  240. package/dist/lib/game/game-default.js +0 -23
  241. package/dist/lib/game/game-interfaces.d.ts +0 -29
  242. package/dist/lib/game/game-interfaces.d.ts.map +0 -1
  243. package/dist/lib/game/game-retro-resolutions.d.ts +0 -25
  244. package/dist/lib/game/game-retro-resolutions.d.ts.map +0 -1
  245. package/dist/lib/game/game-retro-resolutions.js +0 -80
  246. package/dist/lib/game/game-state.d.ts +0 -11
  247. package/dist/lib/game/game-state.d.ts.map +0 -1
  248. package/dist/lib/game/game-state.js +0 -17
  249. package/dist/lib/game/game.d.ts +0 -37
  250. package/dist/lib/game/game.d.ts.map +0 -1
  251. package/dist/lib/game/game.js +0 -109
  252. package/dist/lib/game/zylem-game.d.ts +0 -58
  253. package/dist/lib/game/zylem-game.d.ts.map +0 -1
  254. package/dist/lib/game/zylem-game.js +0 -140
  255. package/dist/lib/graphics/geometries/XZPlaneGeometry.d.ts +0 -8
  256. package/dist/lib/graphics/geometries/XZPlaneGeometry.d.ts.map +0 -1
  257. package/dist/lib/graphics/geometries/XZPlaneGeometry.js +0 -34
  258. package/dist/lib/graphics/material.d.ts +0 -29
  259. package/dist/lib/graphics/material.d.ts.map +0 -1
  260. package/dist/lib/graphics/material.js +0 -64
  261. package/dist/lib/graphics/mesh.d.ts +0 -19
  262. package/dist/lib/graphics/mesh.d.ts.map +0 -1
  263. package/dist/lib/graphics/mesh.js +0 -14
  264. package/dist/lib/graphics/render-pass.d.ts +0 -17
  265. package/dist/lib/graphics/render-pass.d.ts.map +0 -1
  266. package/dist/lib/graphics/render-pass.js +0 -56
  267. package/dist/lib/graphics/shaders/fragment/debug.glsl.js +0 -23
  268. package/dist/lib/graphics/shaders/fragment/fire.glsl.js +0 -52
  269. package/dist/lib/graphics/shaders/fragment/standard.glsl.js +0 -11
  270. package/dist/lib/graphics/shaders/fragment/stars.glsl.js +0 -44
  271. package/dist/lib/graphics/shaders/vertex/debug.glsl.js +0 -15
  272. package/dist/lib/graphics/shaders/vertex/object-shader.glsl.js +0 -11
  273. package/dist/lib/graphics/shaders/vertex/standard.glsl.js +0 -9
  274. package/dist/lib/graphics/zylem-scene.d.ts +0 -50
  275. package/dist/lib/graphics/zylem-scene.d.ts.map +0 -1
  276. package/dist/lib/graphics/zylem-scene.js +0 -75
  277. package/dist/lib/input/gamepad-provider.d.ts +0 -14
  278. package/dist/lib/input/gamepad-provider.d.ts.map +0 -1
  279. package/dist/lib/input/gamepad-provider.js +0 -58
  280. package/dist/lib/input/input-manager.d.ts +0 -15
  281. package/dist/lib/input/input-manager.d.ts.map +0 -1
  282. package/dist/lib/input/input-manager.js +0 -70
  283. package/dist/lib/input/input-provider.d.ts +0 -7
  284. package/dist/lib/input/input-provider.d.ts.map +0 -1
  285. package/dist/lib/input/input.d.ts +0 -48
  286. package/dist/lib/input/input.d.ts.map +0 -1
  287. package/dist/lib/input/keyboard-provider.d.ts +0 -21
  288. package/dist/lib/input/keyboard-provider.d.ts.map +0 -1
  289. package/dist/lib/input/keyboard-provider.js +0 -120
  290. package/dist/lib/interfaces/entity.d.ts +0 -26
  291. package/dist/lib/interfaces/entity.d.ts.map +0 -1
  292. package/dist/lib/sounds/index.d.ts +0 -3
  293. package/dist/lib/sounds/index.d.ts.map +0 -1
  294. package/dist/lib/sounds/ping-pong-sound.d.ts +0 -5
  295. package/dist/lib/sounds/ping-pong-sound.d.ts.map +0 -1
  296. package/dist/lib/sounds/ricochet-sound.d.ts +0 -5
  297. package/dist/lib/sounds/ricochet-sound.d.ts.map +0 -1
  298. package/dist/lib/stage/debug-entity-cursor.d.ts +0 -24
  299. package/dist/lib/stage/debug-entity-cursor.d.ts.map +0 -1
  300. package/dist/lib/stage/debug-entity-cursor.js +0 -53
  301. package/dist/lib/stage/entity-spawner.d.ts +0 -9
  302. package/dist/lib/stage/entity-spawner.d.ts.map +0 -1
  303. package/dist/lib/stage/entity-spawner.js +0 -27
  304. package/dist/lib/stage/stage-blueprint.d.ts +0 -45
  305. package/dist/lib/stage/stage-blueprint.d.ts.map +0 -1
  306. package/dist/lib/stage/stage-blueprint.js +0 -56
  307. package/dist/lib/stage/stage-camera-debug-delegate.d.ts +0 -14
  308. package/dist/lib/stage/stage-camera-debug-delegate.d.ts.map +0 -1
  309. package/dist/lib/stage/stage-debug-delegate.d.ts +0 -26
  310. package/dist/lib/stage/stage-debug-delegate.d.ts.map +0 -1
  311. package/dist/lib/stage/stage-debug-delegate.js +0 -100
  312. package/dist/lib/stage/stage-default.d.ts +0 -3
  313. package/dist/lib/stage/stage-default.d.ts.map +0 -1
  314. package/dist/lib/stage/stage-default.js +0 -32
  315. package/dist/lib/stage/stage-state.d.ts +0 -14
  316. package/dist/lib/stage/stage-state.d.ts.map +0 -1
  317. package/dist/lib/stage/stage-state.js +0 -36
  318. package/dist/lib/stage/stage.d.ts +0 -33
  319. package/dist/lib/stage/stage.d.ts.map +0 -1
  320. package/dist/lib/stage/stage.js +0 -60
  321. package/dist/lib/stage/zylem-stage.d.ts +0 -128
  322. package/dist/lib/stage/zylem-stage.d.ts.map +0 -1
  323. package/dist/lib/stage/zylem-stage.js +0 -268
  324. package/dist/lib/systems/test-system.d.ts +0 -2
  325. package/dist/lib/systems/test-system.d.ts.map +0 -1
  326. package/dist/lib/systems/transformable.system.d.ts +0 -25
  327. package/dist/lib/systems/transformable.system.d.ts.map +0 -1
  328. package/dist/lib/systems/transformable.system.js +0 -43
  329. package/dist/lib/types/entity-types.d.ts +0 -24
  330. package/dist/lib/types/entity-types.d.ts.map +0 -1
  331. package/dist/lib/types/index.d.ts +0 -3
  332. package/dist/lib/types/index.d.ts.map +0 -1
  333. package/dist/lib/types/stage-types.d.ts +0 -26
  334. package/dist/lib/types/stage-types.d.ts.map +0 -1
  335. package/dist/lib/ui/Debug.d.ts +0 -6
  336. package/dist/lib/ui/Debug.d.ts.map +0 -1
  337. package/dist/lib/ui/console/Console.d.ts +0 -7
  338. package/dist/lib/ui/console/Console.d.ts.map +0 -1
  339. package/dist/lib/ui/debug-panel/AccordionMenu.d.ts +0 -7
  340. package/dist/lib/ui/debug-panel/AccordionMenu.d.ts.map +0 -1
  341. package/dist/lib/ui/debug-panel/Menu.d.ts +0 -6
  342. package/dist/lib/ui/debug-panel/Menu.d.ts.map +0 -1
  343. package/dist/lib/ui/debug-panel/sections/EntitiesSection.d.ts +0 -4
  344. package/dist/lib/ui/debug-panel/sections/EntitiesSection.d.ts.map +0 -1
  345. package/dist/lib/ui/debug-panel/sections/GameSection.d.ts +0 -3
  346. package/dist/lib/ui/debug-panel/sections/GameSection.d.ts.map +0 -1
  347. package/dist/lib/ui/debug-panel/sections/StagesSection.d.ts +0 -3
  348. package/dist/lib/ui/debug-panel/sections/StagesSection.d.ts.map +0 -1
  349. package/dist/lib/ui/debug-panel/sections/all.d.ts +0 -4
  350. package/dist/lib/ui/debug-panel/sections/all.d.ts.map +0 -1
  351. package/dist/lib/ui/toolbar/Toolbar.d.ts +0 -6
  352. package/dist/lib/ui/toolbar/Toolbar.d.ts.map +0 -1
  353. package/dist/tests/integration/debug.sim.spec.d.ts +0 -2
  354. package/dist/tests/integration/debug.sim.spec.d.ts.map +0 -1
  355. package/dist/tests/unit/collision/collision.spec.d.ts +0 -2
  356. package/dist/tests/unit/collision/collision.spec.d.ts.map +0 -1
  357. package/dist/tests/unit/core/game.spec.d.ts +0 -2
  358. package/dist/tests/unit/core/game.spec.d.ts.map +0 -1
  359. package/dist/tests/unit/core/stage.spec.d.ts +0 -2
  360. package/dist/tests/unit/core/stage.spec.d.ts.map +0 -1
  361. package/dist/tests/unit/core/vessel.spec.d.ts +0 -2
  362. package/dist/tests/unit/core/vessel.spec.d.ts.map +0 -1
@@ -1,32 +0,0 @@
1
- import { Scene, Vector2, Vector3, WebGLRenderer } from 'three';
2
- import { PerspectiveController, ZylemCamera } from './zylem-camera';
3
- export declare class ThirdPersonCamera implements PerspectiveController {
4
- distance: Vector3;
5
- screenResolution: Vector2 | null;
6
- renderer: WebGLRenderer | null;
7
- scene: Scene | null;
8
- cameraRef: ZylemCamera | null;
9
- constructor();
10
- /**
11
- * Setup the third person camera controller
12
- */
13
- setup(params: {
14
- screenResolution: Vector2;
15
- renderer: WebGLRenderer;
16
- scene: Scene;
17
- camera: ZylemCamera;
18
- }): void;
19
- /**
20
- * Update the third person camera
21
- */
22
- update(delta: number): void;
23
- /**
24
- * Handle resize events
25
- */
26
- resize(width: number, height: number): void;
27
- /**
28
- * Set the distance from the target
29
- */
30
- setDistance(distance: Vector3): void;
31
- }
32
- //# sourceMappingURL=third-person.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"third-person.d.ts","sourceRoot":"","sources":["../../../src/lib/camera/third-person.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAWpE,qBAAa,iBAAkB,YAAW,qBAAqB;IAC9D,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAQ;IACxC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAQ;IACtC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAQ;IAC3B,SAAS,EAAE,WAAW,GAAG,IAAI,CAAQ;;IAMrC;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE;QAAE,gBAAgB,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,aAAa,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE;IAQvG;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM;IAUpB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAOpC;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,OAAO;CAG7B"}
@@ -1,42 +0,0 @@
1
- import { Vector3 as a } from "three";
2
- class c {
3
- distance;
4
- screenResolution = null;
5
- renderer = null;
6
- scene = null;
7
- cameraRef = null;
8
- constructor() {
9
- this.distance = new a(0, 5, 8);
10
- }
11
- /**
12
- * Setup the third person camera controller
13
- */
14
- setup(e) {
15
- const { screenResolution: t, renderer: s, scene: r, camera: i } = e;
16
- this.screenResolution = t, this.renderer = s, this.scene = r, this.cameraRef = i;
17
- }
18
- /**
19
- * Update the third person camera
20
- */
21
- update(e) {
22
- if (!this.cameraRef.target)
23
- return;
24
- const t = this.cameraRef.target.group.position.clone().add(this.distance);
25
- this.cameraRef.camera.position.lerp(t, 0.1), this.cameraRef.camera.lookAt(this.cameraRef.target.group.position);
26
- }
27
- /**
28
- * Handle resize events
29
- */
30
- resize(e, t) {
31
- this.screenResolution && this.screenResolution.set(e, t);
32
- }
33
- /**
34
- * Set the distance from the target
35
- */
36
- setDistance(e) {
37
- this.distance = e;
38
- }
39
- }
40
- export {
41
- c as ThirdPersonCamera
42
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"zylem-camera.d.ts","sourceRoot":"","sources":["../../../src/lib/camera/zylem-camera.ts"],"names":[],"mappings":"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"}
@@ -1,208 +0,0 @@
1
- import { Vector3 as a, WebGLRenderer as c, Object3D as u, PerspectiveCamera as o, OrthographicCamera as n } from "three";
2
- import { OrbitControls as l } from "three/addons/controls/OrbitControls.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
- import d from "../graphics/render-pass.js";
8
- class F {
9
- cameraRig;
10
- camera;
11
- screenResolution;
12
- renderer;
13
- composer;
14
- _perspective;
15
- orbitControls = null;
16
- target = null;
17
- sceneRef = null;
18
- frustumSize = 10;
19
- // Perspective controller delegation
20
- perspectiveController = null;
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();
30
- }
31
- /**
32
- * Setup the camera with a scene
33
- */
34
- async setup(e) {
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);
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({
40
- screenResolution: this.screenResolution,
41
- renderer: this.renderer,
42
- scene: e,
43
- camera: this
44
- }), this.renderer.setAnimationLoop((i) => {
45
- this.update(i || 0);
46
- });
47
- }
48
- /**
49
- * Update camera and render
50
- */
51
- update(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);
53
- }
54
- /**
55
- * Dispose renderer, composer, controls, and detach from scene
56
- */
57
- destroy() {
58
- try {
59
- this.renderer.setAnimationLoop(null);
60
- } catch {
61
- }
62
- try {
63
- this.disableOrbitControls();
64
- } catch {
65
- }
66
- try {
67
- this.composer?.passes?.forEach((e) => e.dispose?.()), this.composer?.dispose?.();
68
- } catch {
69
- }
70
- try {
71
- this.renderer.dispose();
72
- } catch {
73
- }
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
- };
92
- }
93
- /**
94
- * Resize camera and renderer
95
- */
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);
105
- }
106
- /**
107
- * Create camera based on perspective type
108
- */
109
- createCameraForPerspective(e) {
110
- switch (this._perspective) {
111
- case s.ThirdPerson:
112
- return this.createThirdPersonCamera(e);
113
- case s.FirstPerson:
114
- return this.createFirstPersonCamera(e);
115
- case s.Isometric:
116
- return this.createIsometricCamera(e);
117
- case s.Flat2D:
118
- return this.createFlat2DCamera(e);
119
- case s.Fixed2D:
120
- return this.createFixed2DCamera(e);
121
- default:
122
- return this.createThirdPersonCamera(e);
123
- }
124
- }
125
- /**
126
- * Initialize perspective-specific controller
127
- */
128
- initializePerspectiveController() {
129
- switch (this._perspective) {
130
- case s.ThirdPerson:
131
- this.perspectiveController = new h();
132
- break;
133
- case s.Fixed2D:
134
- this.perspectiveController = new m();
135
- break;
136
- default:
137
- this.perspectiveController = new h();
138
- }
139
- }
140
- createThirdPersonCamera(e) {
141
- return new o(75, e, 0.1, 1e3);
142
- }
143
- createFirstPersonCamera(e) {
144
- return new o(75, e, 0.1, 1e3);
145
- }
146
- createIsometricCamera(e) {
147
- return new n(this.frustumSize * e / -2, this.frustumSize * e / 2, this.frustumSize / 2, this.frustumSize / -2, 1, 1e3);
148
- }
149
- createFlat2DCamera(e) {
150
- return new n(this.frustumSize * e / -2, this.frustumSize * e / 2, this.frustumSize / 2, this.frustumSize / -2, 1, 1e3);
151
- }
152
- createFixed2DCamera(e) {
153
- return this.createFlat2DCamera(e);
154
- }
155
- // Movement methods
156
- moveCamera(e) {
157
- (this._perspective === s.Flat2D || this._perspective === s.Fixed2D) && (this.frustumSize = e.z), this.cameraRig.position.set(e.x, e.y, e.z);
158
- }
159
- move(e) {
160
- this.moveCamera(e);
161
- }
162
- rotate(e, t, r) {
163
- this.cameraRig.rotateX(e), this.cameraRig.rotateY(t), this.cameraRig.rotateZ(r);
164
- }
165
- /**
166
- * Get the DOM element for the renderer
167
- */
168
- getDomElement() {
169
- return this.renderer.domElement;
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
- }
205
- }
206
- export {
207
- F as ZylemCamera
208
- };
@@ -1,17 +0,0 @@
1
- import { ColliderDesc, RigidBodyDesc } from "@dimforge/rapier3d-compat";
2
- import { Vec3 } from "../core/vector";
3
- import { CollisionOptions } from "./collision";
4
- export declare function getOrCreateCollisionGroupId(type: string): number;
5
- export declare function createCollisionFilter(allowedTypes: string[]): number;
6
- export declare class CollisionBuilder {
7
- static: boolean;
8
- sensor: boolean;
9
- gravity: Vec3;
10
- build(options: Partial<CollisionOptions>): [RigidBodyDesc, ColliderDesc];
11
- withCollision(collisionOptions: Partial<CollisionOptions>): this;
12
- collider(options: CollisionOptions): ColliderDesc;
13
- bodyDesc({ isDynamicBody }: {
14
- isDynamicBody?: boolean | undefined;
15
- }): RigidBodyDesc;
16
- }
17
- //# sourceMappingURL=collision-builder.d.ts.map
@@ -1 +0,0 @@
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,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"}
@@ -1,46 +0,0 @@
1
- import { Vector3 as r, ActiveCollisionTypes as f, ColliderDesc as p, RigidBodyType as c, RigidBodyDesc as D } from "@dimforge/rapier3d-compat";
2
- const n = /* @__PURE__ */ new Map();
3
- let h = 0;
4
- function d(i) {
5
- let e = n.get(i);
6
- return e === void 0 && (e = h++ % 16, n.set(i, e)), e;
7
- }
8
- function C(i) {
9
- let e = 0;
10
- return i.forEach((s) => {
11
- const t = d(s);
12
- e |= 1 << t;
13
- }), e;
14
- }
15
- class g {
16
- static = !1;
17
- sensor = !1;
18
- gravity = new r(0, 0, 0);
19
- build(e) {
20
- const s = this.bodyDesc({
21
- isDynamicBody: !this.static
22
- }), t = this.collider(e), o = e.collisionType;
23
- if (o) {
24
- let u = d(o), l = 65535;
25
- e.collisionFilter && (l = C(e.collisionFilter)), t.setCollisionGroups(u << 16 | l);
26
- }
27
- const { KINEMATIC_FIXED: a, DEFAULT: y } = f;
28
- return t.activeCollisionTypes = this.sensor ? a : y, [s, t];
29
- }
30
- withCollision(e) {
31
- return this.sensor = e?.sensor ?? this.sensor, this.static = e?.static ?? this.static, this;
32
- }
33
- collider(e) {
34
- const s = e.size ?? new r(1, 1, 1), t = { x: s.x / 2, y: s.y / 2, z: s.z / 2 };
35
- return p.cuboid(t.x, t.y, t.z);
36
- }
37
- bodyDesc({ isDynamicBody: e = !0 }) {
38
- const s = e ? c.Dynamic : c.Fixed;
39
- return new D(s).setTranslation(0, 0, 0).setGravityScale(1).setCanSleep(!1).setCcdEnabled(!0);
40
- }
41
- }
42
- export {
43
- g as CollisionBuilder,
44
- C as createCollisionFilter,
45
- d as getOrCreateCollisionGroupId
46
- };
@@ -1,6 +0,0 @@
1
- export declare function isCollisionHandlerDelegate(obj: any): obj is CollisionHandlerDelegate;
2
- export interface CollisionHandlerDelegate {
3
- handlePostCollision(params: any): boolean;
4
- handleIntersectionEvent(params: any): void;
5
- }
6
- //# sourceMappingURL=collision-delegate.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,6 +0,0 @@
1
- function e(n) {
2
- return typeof n?.handlePostCollision == "function" && typeof n?.handleIntersectionEvent == "function";
3
- }
4
- export {
5
- e as isCollisionHandlerDelegate
6
- };
@@ -1,11 +0,0 @@
1
- import { GameEntity } from '../entities/entity';
2
- /**
3
- * Configure an entity's collision groups to only collide with the specified types.
4
- * This uses Rapier's built-in collision group system for efficient filtering.
5
- *
6
- * @param entity - The entity to configure collision groups for
7
- * @param allowedTypes - Array of collision types this entity should collide with
8
- * @returns The entity for method chaining
9
- */
10
- export declare function collisionGroup<T extends GameEntity<any>>(entity: T, allowedTypes: string[]): T;
11
- //# sourceMappingURL=collision-group.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,18 +0,0 @@
1
- import type { GameEntity } from "../entities/entity";
2
- /**
3
- * A branded bitmask representing a set of collision types.
4
- * Construct with {@link buildCollisionMask}.
5
- */
6
- export type CollisionMask = number & {
7
- readonly __brand: "CollisionMask";
8
- };
9
- /**
10
- * Builds a bitmask from one or more collision type names.
11
- * The type names should match the values set on `GameEntity.collisionType`.
12
- */
13
- export declare function buildCollisionMask(...types: string[]): CollisionMask;
14
- /**
15
- * Tests whether the given entity's collision type is included in the mask.
16
- */
17
- export declare function entityMatchesMask(entity: GameEntity<any>, mask: CollisionMask): boolean;
18
- //# sourceMappingURL=collision-mask.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,19 +0,0 @@
1
- import { RigidBodyDesc } from '@dimforge/rapier3d-compat';
2
- import { Vector3 } from 'three';
3
- export declare class BaseCollision {
4
- static: boolean;
5
- isSensor: boolean;
6
- bodyDescription: RigidBodyDesc;
7
- constructor({ isDynamicBody }: {
8
- isDynamicBody?: boolean | undefined;
9
- });
10
- }
11
- export interface CollisionOptions {
12
- static?: boolean;
13
- sensor?: boolean;
14
- size?: Vector3;
15
- position?: Vector3;
16
- collisionType?: string;
17
- collisionFilter?: string[];
18
- }
19
- //# sourceMappingURL=collision.d.ts.map
@@ -1 +0,0 @@
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;AAaD,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"}
@@ -1,15 +0,0 @@
1
- import type { GameEntity } from "../entities/entity";
2
- import type { CollisionMask } from "./collision-mask";
3
- export type NameSelector = string | string[] | RegExp;
4
- export type CollisionSelector = {
5
- name: NameSelector;
6
- } | {
7
- mask: CollisionMask | RegExp;
8
- } | {
9
- test: (other: GameEntity<any>) => boolean;
10
- };
11
- /**
12
- * Returns true if the `other` entity matches the provided selector.
13
- */
14
- export declare function matchesCollisionSelector(other: GameEntity<any>, selector?: CollisionSelector): boolean;
15
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,24 +0,0 @@
1
- import { getOrCreateCollisionGroupId as o } from "./collision-builder.js";
2
- function u(i, n) {
3
- if (!n)
4
- return !0;
5
- const r = i.name ?? "";
6
- if ("name" in n) {
7
- const e = n.name;
8
- return e instanceof RegExp ? e.test(r) : Array.isArray(e) ? e.some((t) => t === r) : r === e;
9
- } else if ("mask" in n) {
10
- const e = n.mask;
11
- if (e instanceof RegExp) {
12
- const t = i.collisionType ?? "";
13
- return e.test(t);
14
- } else {
15
- const t = i.collisionType ?? "", s = o(t);
16
- return (e & 1 << s) !== 0;
17
- }
18
- } else if ("test" in n)
19
- return !!n.test(i);
20
- return !0;
21
- }
22
- export {
23
- u as matchesCollisionSelector
24
- };
@@ -1,23 +0,0 @@
1
- import { Vector3 } from 'three';
2
- import RAPIER, { World } from '@dimforge/rapier3d-compat';
3
- import { Entity } from '../interfaces/entity';
4
- import { UpdateContext } from '../core/base-node-life-cycle';
5
- import { GameEntity } from '../entities/entity';
6
- export declare class ZylemWorld implements Entity<ZylemWorld> {
7
- type: string;
8
- world: World;
9
- collisionMap: Map<string, GameEntity<any>>;
10
- collisionBehaviorMap: Map<string, GameEntity<any>>;
11
- _removalMap: Map<string, GameEntity<any>>;
12
- static loadPhysics(gravity: Vector3): Promise<RAPIER.World>;
13
- constructor(world: World);
14
- addEntity(entity: any): void;
15
- setForRemoval(entity: any): void;
16
- destroyEntity(entity: GameEntity<any>): void;
17
- setup(): void;
18
- update(params: UpdateContext<any>): void;
19
- updatePostCollisionBehaviors(delta: number): void;
20
- updateColliders(delta: number): void;
21
- destroy(): void;
22
- }
23
- //# sourceMappingURL=world.d.ts.map
@@ -1 +0,0 @@
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,77 +0,0 @@
1
- import d from "@dimforge/rapier3d-compat";
2
- import { state as c } from "../game/game-state.js";
3
- import { ZylemActor as h } from "../entities/actor.js";
4
- import { isCollisionHandlerDelegate as n } from "./collision-delegate.js";
5
- class v {
6
- type = "World";
7
- world;
8
- collisionMap = /* @__PURE__ */ new Map();
9
- collisionBehaviorMap = /* @__PURE__ */ new Map();
10
- _removalMap = /* @__PURE__ */ new Map();
11
- static async loadPhysics(o) {
12
- return await d.init(), new d.World(o);
13
- }
14
- constructor(o) {
15
- this.world = o;
16
- }
17
- addEntity(o) {
18
- const i = this.world.createRigidBody(o.bodyDesc);
19
- o.body = i, o.body.userData = { uuid: o.uuid, ref: o }, this.world.gravity.x === 0 && this.world.gravity.y === 0 && this.world.gravity.z === 0 && (o.body.lockTranslations(!0, !0), o.body.lockRotations(!0, !0));
20
- const e = this.world.createCollider(o.colliderDesc, o.body);
21
- o.collider = e, (o.controlledRotation || o instanceof h) && (o.body.lockRotations(!0, !0), o.characterController = this.world.createCharacterController(0.01), o.characterController.setMaxSlopeClimbAngle(45 * Math.PI / 180), o.characterController.setMinSlopeSlideAngle(30 * Math.PI / 180), o.characterController.enableSnapToGround(0.01), o.characterController.setSlideEnabled(!0), o.characterController.setApplyImpulsesToDynamicBodies(!0), o.characterController.setCharacterMass(1)), this.collisionMap.set(o.uuid, o);
22
- }
23
- setForRemoval(o) {
24
- o.body && this._removalMap.set(o.uuid, o);
25
- }
26
- destroyEntity(o) {
27
- o.collider && this.world.removeCollider(o.collider, !0), o.body && (this.world.removeRigidBody(o.body), this.collisionMap.delete(o.uuid), this._removalMap.delete(o.uuid));
28
- }
29
- setup() {
30
- }
31
- update(o) {
32
- const { delta: i } = o;
33
- this.world && (this.updateColliders(i), this.updatePostCollisionBehaviors(i), this.world.step());
34
- }
35
- updatePostCollisionBehaviors(o) {
36
- const i = this.collisionBehaviorMap;
37
- for (let [e, a] of i) {
38
- const r = a;
39
- if (!n(r))
40
- return;
41
- r.handlePostCollision({ entity: r, delta: o }) || this.collisionBehaviorMap.delete(e);
42
- }
43
- }
44
- updateColliders(o) {
45
- const i = this.collisionMap;
46
- for (let [e, a] of i) {
47
- const r = a;
48
- if (r.body) {
49
- if (this._removalMap.get(r.uuid)) {
50
- this.destroyEntity(r);
51
- continue;
52
- }
53
- this.world.contactsWith(r.body.collider(0), (t) => {
54
- const s = t._parent.userData.uuid, l = i.get(s);
55
- l && r._collision && r._collision(l, c.globals);
56
- }), this.world.intersectionsWith(r.body.collider(0), (t) => {
57
- const s = t._parent.userData.uuid, l = i.get(s);
58
- l && (r._collision && r._collision(l, c.globals), n(l) && (l.handleIntersectionEvent({ entity: l, other: r, delta: o }), this.collisionBehaviorMap.set(s, l)));
59
- });
60
- }
61
- }
62
- }
63
- destroy() {
64
- try {
65
- for (const [, o] of this.collisionMap)
66
- try {
67
- this.destroyEntity(o);
68
- } catch {
69
- }
70
- this.collisionMap.clear(), this.collisionBehaviorMap.clear(), this._removalMap.clear(), this.world = void 0;
71
- } catch {
72
- }
73
- }
74
- }
75
- export {
76
- v as ZylemWorld
77
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=asset-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"asset-manager.d.ts","sourceRoot":"","sources":["../../../src/lib/core/asset-manager.ts"],"names":[],"mappings":""}