@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.
- package/README.md +23 -41
- package/dist/actions.d.ts +25 -0
- package/dist/actions.js +287 -8
- package/dist/actions.js.map +1 -0
- package/dist/behaviors.d.ts +108 -0
- package/dist/behaviors.js +396 -6
- package/dist/behaviors.js.map +1 -0
- package/dist/{lib/camera/zylem-camera.d.ts → camera-Dk-fOVZE.d.ts} +55 -8
- package/dist/camera.d.ts +5 -0
- package/dist/camera.js +504 -4
- package/dist/camera.js.map +1 -0
- package/dist/core-C2mjetAd.d.ts +431 -0
- package/dist/core.d.ts +9 -0
- package/dist/core.js +4780 -9
- package/dist/core.js.map +1 -0
- package/dist/entities.d.ts +269 -0
- package/dist/entities.js +2161 -17
- package/dist/entities.js.map +1 -0
- package/dist/entity-bQElAdpo.d.ts +347 -0
- package/dist/entity-spawner-DNnLYnZq.d.ts +11 -0
- package/dist/main.d.ts +135 -0
- package/dist/main.js +6599 -56
- package/dist/main.js.map +1 -0
- package/dist/moveable-B_vyA6cw.d.ts +67 -0
- package/dist/stage-CrmY7V0i.d.ts +287 -0
- package/dist/stage.d.ts +26 -0
- package/dist/stage.js +2229 -15
- package/dist/stage.js.map +1 -0
- package/dist/transformable-CUhvyuYO.d.ts +67 -0
- package/package.json +12 -42
- package/LICENSE +0 -21
- package/dist/.vite/manifest.json +0 -676
- package/dist/api/actions.d.ts +0 -5
- package/dist/api/actions.d.ts.map +0 -1
- package/dist/api/behaviors.d.ts +0 -4
- package/dist/api/behaviors.d.ts.map +0 -1
- package/dist/api/camera.d.ts +0 -4
- package/dist/api/camera.d.ts.map +0 -1
- package/dist/api/core.d.ts +0 -6
- package/dist/api/core.d.ts.map +0 -1
- package/dist/api/entities.d.ts +0 -9
- package/dist/api/entities.d.ts.map +0 -1
- package/dist/api/main.d.ts +0 -32
- package/dist/api/main.d.ts.map +0 -1
- package/dist/api/stage.d.ts +0 -6
- package/dist/api/stage.d.ts.map +0 -1
- package/dist/assets/zylem-logo.png +0 -0
- package/dist/lib/actions/behaviors/actions.d.ts +0 -11
- package/dist/lib/actions/behaviors/actions.d.ts.map +0 -1
- package/dist/lib/actions/behaviors/actions.js +0 -35
- package/dist/lib/actions/behaviors/behavior.d.ts +0 -6
- package/dist/lib/actions/behaviors/behavior.d.ts.map +0 -1
- package/dist/lib/actions/behaviors/boundaries/boundary.d.ts +0 -37
- package/dist/lib/actions/behaviors/boundaries/boundary.d.ts.map +0 -1
- package/dist/lib/actions/behaviors/boundaries/boundary.js +0 -40
- package/dist/lib/actions/behaviors/character-controller.d.ts +0 -6
- package/dist/lib/actions/behaviors/character-controller.d.ts.map +0 -1
- package/dist/lib/actions/behaviors/debug/debug-collision.d.ts +0 -6
- package/dist/lib/actions/behaviors/debug/debug-collision.d.ts.map +0 -1
- package/dist/lib/actions/behaviors/debug/debug-update.d.ts +0 -5
- package/dist/lib/actions/behaviors/debug/debug-update.d.ts.map +0 -1
- package/dist/lib/actions/behaviors/debug/debug.d.ts +0 -10
- package/dist/lib/actions/behaviors/debug/debug.d.ts.map +0 -1
- package/dist/lib/actions/behaviors/movement/movement-sequence-2d.d.ts +0 -24
- package/dist/lib/actions/behaviors/movement/movement-sequence-2d.d.ts.map +0 -1
- package/dist/lib/actions/behaviors/ricochet/ricochet-2d-collision.d.ts +0 -11
- package/dist/lib/actions/behaviors/ricochet/ricochet-2d-collision.d.ts.map +0 -1
- package/dist/lib/actions/behaviors/ricochet/ricochet-2d-collision.js +0 -100
- package/dist/lib/actions/behaviors/ricochet/ricochet-2d-in-bounds.d.ts +0 -12
- package/dist/lib/actions/behaviors/ricochet/ricochet-2d-in-bounds.d.ts.map +0 -1
- package/dist/lib/actions/behaviors/ricochet/ricochet-2d-in-bounds.js +0 -37
- package/dist/lib/actions/behaviors/ricochet/ricochet.d.ts +0 -44
- package/dist/lib/actions/behaviors/ricochet/ricochet.d.ts.map +0 -1
- package/dist/lib/actions/behaviors/ricochet/ricochet.js +0 -6
- package/dist/lib/actions/behaviors/zylem-behavior.d.ts +0 -2
- package/dist/lib/actions/behaviors/zylem-behavior.d.ts.map +0 -1
- package/dist/lib/actions/capabilities/moveable.d.ts +0 -125
- package/dist/lib/actions/capabilities/moveable.d.ts.map +0 -1
- package/dist/lib/actions/capabilities/moveable.js +0 -108
- package/dist/lib/actions/capabilities/rotatable.d.ts +0 -111
- package/dist/lib/actions/capabilities/rotatable.d.ts.map +0 -1
- package/dist/lib/actions/capabilities/rotatable.js +0 -82
- package/dist/lib/actions/capabilities/transformable.d.ts +0 -7
- package/dist/lib/actions/capabilities/transformable.d.ts.map +0 -1
- package/dist/lib/actions/capabilities/transformable.js +0 -9
- package/dist/lib/actions/global-change.d.ts +0 -23
- package/dist/lib/actions/global-change.d.ts.map +0 -1
- package/dist/lib/actions/global-change.js +0 -40
- package/dist/lib/camera/camera.d.ts +0 -16
- package/dist/lib/camera/camera.d.ts.map +0 -1
- package/dist/lib/camera/camera.js +0 -19
- package/dist/lib/camera/fixed-2d.d.ts +0 -32
- package/dist/lib/camera/fixed-2d.d.ts.map +0 -1
- package/dist/lib/camera/fixed-2d.js +0 -30
- package/dist/lib/camera/perspective.d.ts +0 -9
- package/dist/lib/camera/perspective.d.ts.map +0 -1
- package/dist/lib/camera/perspective.js +0 -10
- package/dist/lib/camera/third-person.d.ts +0 -32
- package/dist/lib/camera/third-person.d.ts.map +0 -1
- package/dist/lib/camera/third-person.js +0 -42
- package/dist/lib/camera/zylem-camera.d.ts.map +0 -1
- package/dist/lib/camera/zylem-camera.js +0 -208
- package/dist/lib/collision/collision-builder.d.ts +0 -17
- package/dist/lib/collision/collision-builder.d.ts.map +0 -1
- package/dist/lib/collision/collision-builder.js +0 -46
- package/dist/lib/collision/collision-delegate.d.ts +0 -6
- package/dist/lib/collision/collision-delegate.d.ts.map +0 -1
- package/dist/lib/collision/collision-delegate.js +0 -6
- package/dist/lib/collision/collision-group.d.ts +0 -11
- package/dist/lib/collision/collision-group.d.ts.map +0 -1
- package/dist/lib/collision/collision-mask.d.ts +0 -18
- package/dist/lib/collision/collision-mask.d.ts.map +0 -1
- package/dist/lib/collision/collision.d.ts +0 -19
- package/dist/lib/collision/collision.d.ts.map +0 -1
- package/dist/lib/collision/utils.d.ts +0 -15
- package/dist/lib/collision/utils.d.ts.map +0 -1
- package/dist/lib/collision/utils.js +0 -24
- package/dist/lib/collision/world.d.ts +0 -23
- package/dist/lib/collision/world.d.ts.map +0 -1
- package/dist/lib/collision/world.js +0 -77
- package/dist/lib/core/asset-manager.d.ts +0 -2
- package/dist/lib/core/asset-manager.d.ts.map +0 -1
- package/dist/lib/core/base-node-life-cycle.d.ts +0 -68
- package/dist/lib/core/base-node-life-cycle.d.ts.map +0 -1
- package/dist/lib/core/base-node.d.ts +0 -37
- package/dist/lib/core/base-node.d.ts.map +0 -1
- package/dist/lib/core/base-node.js +0 -62
- package/dist/lib/core/entity-asset-loader.d.ts +0 -16
- package/dist/lib/core/entity-asset-loader.d.ts.map +0 -1
- package/dist/lib/core/entity-asset-loader.js +0 -54
- package/dist/lib/core/errors.d.ts +0 -5
- package/dist/lib/core/errors.d.ts.map +0 -1
- package/dist/lib/core/flags.d.ts +0 -3
- package/dist/lib/core/flags.d.ts.map +0 -1
- package/dist/lib/core/index.d.ts +0 -5
- package/dist/lib/core/index.d.ts.map +0 -1
- package/dist/lib/core/lazy-loader.d.ts +0 -80
- package/dist/lib/core/lazy-loader.d.ts.map +0 -1
- package/dist/lib/core/lifecycle-base.d.ts +0 -17
- package/dist/lib/core/lifecycle-base.d.ts.map +0 -1
- package/dist/lib/core/lifecycle-base.js +0 -20
- package/dist/lib/core/preset-shader.d.ts +0 -8
- package/dist/lib/core/preset-shader.d.ts.map +0 -1
- package/dist/lib/core/preset-shader.js +0 -26
- package/dist/lib/core/three-addons/Timer.d.ts +0 -92
- package/dist/lib/core/three-addons/Timer.d.ts.map +0 -1
- package/dist/lib/core/three-addons/Timer.js +0 -103
- package/dist/lib/core/utility/nodes.d.ts +0 -13
- package/dist/lib/core/utility/nodes.d.ts.map +0 -1
- package/dist/lib/core/utility/nodes.js +0 -31
- package/dist/lib/core/utility/strings.d.ts +0 -3
- package/dist/lib/core/utility/strings.d.ts.map +0 -1
- package/dist/lib/core/utility/strings.js +0 -14
- package/dist/lib/core/utility/vector.d.ts +0 -8
- package/dist/lib/core/utility/vector.d.ts.map +0 -1
- package/dist/lib/core/utility/vector.js +0 -8
- package/dist/lib/core/vector.d.ts +0 -4
- package/dist/lib/core/vector.d.ts.map +0 -1
- package/dist/lib/core/vessel.d.ts +0 -13
- package/dist/lib/core/vessel.d.ts.map +0 -1
- package/dist/lib/core/vessel.js +0 -26
- package/dist/lib/debug/console/console-state.d.ts +0 -20
- package/dist/lib/debug/console/console-state.d.ts.map +0 -1
- package/dist/lib/debug/console/console-state.js +0 -11
- package/dist/lib/debug/console/console-store.d.ts +0 -6
- package/dist/lib/debug/console/console-store.d.ts.map +0 -1
- package/dist/lib/debug/debug-state.d.ts +0 -38
- package/dist/lib/debug/debug-state.d.ts.map +0 -1
- package/dist/lib/debug/debug-state.js +0 -40
- package/dist/lib/debug/debug-store.d.ts +0 -15
- package/dist/lib/debug/debug-store.d.ts.map +0 -1
- package/dist/lib/debug/state-based-debug-loader.d.ts +0 -8
- package/dist/lib/debug/state-based-debug-loader.d.ts.map +0 -1
- package/dist/lib/device/aspect-ratio.d.ts +0 -38
- package/dist/lib/device/aspect-ratio.d.ts.map +0 -1
- package/dist/lib/device/aspect-ratio.js +0 -44
- package/dist/lib/device/desktop.d.ts +0 -2
- package/dist/lib/device/desktop.d.ts.map +0 -1
- package/dist/lib/device/mobile.d.ts +0 -2
- package/dist/lib/device/mobile.d.ts.map +0 -1
- package/dist/lib/device/tablet.d.ts +0 -2
- package/dist/lib/device/tablet.d.ts.map +0 -1
- package/dist/lib/entities/actor.d.ts +0 -44
- package/dist/lib/entities/actor.d.ts.map +0 -1
- package/dist/lib/entities/actor.js +0 -122
- package/dist/lib/entities/box.d.ts +0 -27
- package/dist/lib/entities/box.d.ts.map +0 -1
- package/dist/lib/entities/box.js +0 -68
- package/dist/lib/entities/builder.d.ts +0 -28
- package/dist/lib/entities/builder.d.ts.map +0 -1
- package/dist/lib/entities/builder.js +0 -79
- package/dist/lib/entities/create.d.ts +0 -15
- package/dist/lib/entities/create.d.ts.map +0 -1
- package/dist/lib/entities/create.js +0 -31
- package/dist/lib/entities/delegates/animation.d.ts +0 -33
- package/dist/lib/entities/delegates/animation.d.ts.map +0 -1
- package/dist/lib/entities/delegates/animation.js +0 -58
- package/dist/lib/entities/delegates/debug.d.ts +0 -29
- package/dist/lib/entities/delegates/debug.d.ts.map +0 -1
- package/dist/lib/entities/delegates/debug.js +0 -71
- package/dist/lib/entities/delegates/loader.d.ts +0 -12
- package/dist/lib/entities/delegates/loader.d.ts.map +0 -1
- package/dist/lib/entities/delegates/loader.js +0 -19
- package/dist/lib/entities/destroy.d.ts +0 -4
- package/dist/lib/entities/destroy.d.ts.map +0 -1
- package/dist/lib/entities/destroy.js +0 -15
- package/dist/lib/entities/entity.d.ts +0 -96
- package/dist/lib/entities/entity.d.ts.map +0 -1
- package/dist/lib/entities/entity.js +0 -120
- package/dist/lib/entities/index.d.ts +0 -12
- package/dist/lib/entities/index.d.ts.map +0 -1
- package/dist/lib/entities/plane.d.ts +0 -36
- package/dist/lib/entities/plane.d.ts.map +0 -1
- package/dist/lib/entities/plane.js +0 -81
- package/dist/lib/entities/rect.d.ts +0 -63
- package/dist/lib/entities/rect.d.ts.map +0 -1
- package/dist/lib/entities/rect.js +0 -160
- package/dist/lib/entities/sphere.d.ts +0 -29
- package/dist/lib/entities/sphere.d.ts.map +0 -1
- package/dist/lib/entities/sphere.js +0 -68
- package/dist/lib/entities/sprite.d.ts +0 -53
- package/dist/lib/entities/sprite.d.ts.map +0 -1
- package/dist/lib/entities/sprite.js +0 -118
- package/dist/lib/entities/text.d.ts +0 -49
- package/dist/lib/entities/text.d.ts.map +0 -1
- package/dist/lib/entities/text.js +0 -140
- package/dist/lib/entities/zone.d.ts +0 -54
- package/dist/lib/entities/zone.d.ts.map +0 -1
- package/dist/lib/entities/zone.js +0 -103
- package/dist/lib/game/game-blueprint.d.ts +0 -38
- package/dist/lib/game/game-blueprint.d.ts.map +0 -1
- package/dist/lib/game/game-canvas.d.ts +0 -35
- package/dist/lib/game/game-canvas.d.ts.map +0 -1
- package/dist/lib/game/game-canvas.js +0 -57
- package/dist/lib/game/game-config.d.ts +0 -59
- package/dist/lib/game/game-config.d.ts.map +0 -1
- package/dist/lib/game/game-config.js +0 -78
- package/dist/lib/game/game-default.d.ts +0 -14
- package/dist/lib/game/game-default.d.ts.map +0 -1
- package/dist/lib/game/game-default.js +0 -23
- package/dist/lib/game/game-interfaces.d.ts +0 -29
- package/dist/lib/game/game-interfaces.d.ts.map +0 -1
- package/dist/lib/game/game-retro-resolutions.d.ts +0 -25
- package/dist/lib/game/game-retro-resolutions.d.ts.map +0 -1
- package/dist/lib/game/game-retro-resolutions.js +0 -80
- package/dist/lib/game/game-state.d.ts +0 -11
- package/dist/lib/game/game-state.d.ts.map +0 -1
- package/dist/lib/game/game-state.js +0 -17
- package/dist/lib/game/game.d.ts +0 -37
- package/dist/lib/game/game.d.ts.map +0 -1
- package/dist/lib/game/game.js +0 -109
- package/dist/lib/game/zylem-game.d.ts +0 -58
- package/dist/lib/game/zylem-game.d.ts.map +0 -1
- package/dist/lib/game/zylem-game.js +0 -140
- package/dist/lib/graphics/geometries/XZPlaneGeometry.d.ts +0 -8
- package/dist/lib/graphics/geometries/XZPlaneGeometry.d.ts.map +0 -1
- package/dist/lib/graphics/geometries/XZPlaneGeometry.js +0 -34
- package/dist/lib/graphics/material.d.ts +0 -29
- package/dist/lib/graphics/material.d.ts.map +0 -1
- package/dist/lib/graphics/material.js +0 -64
- package/dist/lib/graphics/mesh.d.ts +0 -19
- package/dist/lib/graphics/mesh.d.ts.map +0 -1
- package/dist/lib/graphics/mesh.js +0 -14
- package/dist/lib/graphics/render-pass.d.ts +0 -17
- package/dist/lib/graphics/render-pass.d.ts.map +0 -1
- package/dist/lib/graphics/render-pass.js +0 -56
- package/dist/lib/graphics/shaders/fragment/debug.glsl.js +0 -23
- package/dist/lib/graphics/shaders/fragment/fire.glsl.js +0 -52
- package/dist/lib/graphics/shaders/fragment/standard.glsl.js +0 -11
- package/dist/lib/graphics/shaders/fragment/stars.glsl.js +0 -44
- package/dist/lib/graphics/shaders/vertex/debug.glsl.js +0 -15
- package/dist/lib/graphics/shaders/vertex/object-shader.glsl.js +0 -11
- package/dist/lib/graphics/shaders/vertex/standard.glsl.js +0 -9
- package/dist/lib/graphics/zylem-scene.d.ts +0 -50
- package/dist/lib/graphics/zylem-scene.d.ts.map +0 -1
- package/dist/lib/graphics/zylem-scene.js +0 -75
- package/dist/lib/input/gamepad-provider.d.ts +0 -14
- package/dist/lib/input/gamepad-provider.d.ts.map +0 -1
- package/dist/lib/input/gamepad-provider.js +0 -58
- package/dist/lib/input/input-manager.d.ts +0 -15
- package/dist/lib/input/input-manager.d.ts.map +0 -1
- package/dist/lib/input/input-manager.js +0 -70
- package/dist/lib/input/input-provider.d.ts +0 -7
- package/dist/lib/input/input-provider.d.ts.map +0 -1
- package/dist/lib/input/input.d.ts +0 -48
- package/dist/lib/input/input.d.ts.map +0 -1
- package/dist/lib/input/keyboard-provider.d.ts +0 -21
- package/dist/lib/input/keyboard-provider.d.ts.map +0 -1
- package/dist/lib/input/keyboard-provider.js +0 -120
- package/dist/lib/interfaces/entity.d.ts +0 -26
- package/dist/lib/interfaces/entity.d.ts.map +0 -1
- package/dist/lib/sounds/index.d.ts +0 -3
- package/dist/lib/sounds/index.d.ts.map +0 -1
- package/dist/lib/sounds/ping-pong-sound.d.ts +0 -5
- package/dist/lib/sounds/ping-pong-sound.d.ts.map +0 -1
- package/dist/lib/sounds/ricochet-sound.d.ts +0 -5
- package/dist/lib/sounds/ricochet-sound.d.ts.map +0 -1
- package/dist/lib/stage/debug-entity-cursor.d.ts +0 -24
- package/dist/lib/stage/debug-entity-cursor.d.ts.map +0 -1
- package/dist/lib/stage/debug-entity-cursor.js +0 -53
- package/dist/lib/stage/entity-spawner.d.ts +0 -9
- package/dist/lib/stage/entity-spawner.d.ts.map +0 -1
- package/dist/lib/stage/entity-spawner.js +0 -27
- package/dist/lib/stage/stage-blueprint.d.ts +0 -45
- package/dist/lib/stage/stage-blueprint.d.ts.map +0 -1
- package/dist/lib/stage/stage-blueprint.js +0 -56
- package/dist/lib/stage/stage-camera-debug-delegate.d.ts +0 -14
- package/dist/lib/stage/stage-camera-debug-delegate.d.ts.map +0 -1
- package/dist/lib/stage/stage-debug-delegate.d.ts +0 -26
- package/dist/lib/stage/stage-debug-delegate.d.ts.map +0 -1
- package/dist/lib/stage/stage-debug-delegate.js +0 -100
- package/dist/lib/stage/stage-default.d.ts +0 -3
- package/dist/lib/stage/stage-default.d.ts.map +0 -1
- package/dist/lib/stage/stage-default.js +0 -32
- package/dist/lib/stage/stage-state.d.ts +0 -14
- package/dist/lib/stage/stage-state.d.ts.map +0 -1
- package/dist/lib/stage/stage-state.js +0 -36
- package/dist/lib/stage/stage.d.ts +0 -33
- package/dist/lib/stage/stage.d.ts.map +0 -1
- package/dist/lib/stage/stage.js +0 -60
- package/dist/lib/stage/zylem-stage.d.ts +0 -128
- package/dist/lib/stage/zylem-stage.d.ts.map +0 -1
- package/dist/lib/stage/zylem-stage.js +0 -268
- package/dist/lib/systems/test-system.d.ts +0 -2
- package/dist/lib/systems/test-system.d.ts.map +0 -1
- package/dist/lib/systems/transformable.system.d.ts +0 -25
- package/dist/lib/systems/transformable.system.d.ts.map +0 -1
- package/dist/lib/systems/transformable.system.js +0 -43
- package/dist/lib/types/entity-types.d.ts +0 -24
- package/dist/lib/types/entity-types.d.ts.map +0 -1
- package/dist/lib/types/index.d.ts +0 -3
- package/dist/lib/types/index.d.ts.map +0 -1
- package/dist/lib/types/stage-types.d.ts +0 -26
- package/dist/lib/types/stage-types.d.ts.map +0 -1
- package/dist/lib/ui/Debug.d.ts +0 -6
- package/dist/lib/ui/Debug.d.ts.map +0 -1
- package/dist/lib/ui/console/Console.d.ts +0 -7
- package/dist/lib/ui/console/Console.d.ts.map +0 -1
- package/dist/lib/ui/debug-panel/AccordionMenu.d.ts +0 -7
- package/dist/lib/ui/debug-panel/AccordionMenu.d.ts.map +0 -1
- package/dist/lib/ui/debug-panel/Menu.d.ts +0 -6
- package/dist/lib/ui/debug-panel/Menu.d.ts.map +0 -1
- package/dist/lib/ui/debug-panel/sections/EntitiesSection.d.ts +0 -4
- package/dist/lib/ui/debug-panel/sections/EntitiesSection.d.ts.map +0 -1
- package/dist/lib/ui/debug-panel/sections/GameSection.d.ts +0 -3
- package/dist/lib/ui/debug-panel/sections/GameSection.d.ts.map +0 -1
- package/dist/lib/ui/debug-panel/sections/StagesSection.d.ts +0 -3
- package/dist/lib/ui/debug-panel/sections/StagesSection.d.ts.map +0 -1
- package/dist/lib/ui/debug-panel/sections/all.d.ts +0 -4
- package/dist/lib/ui/debug-panel/sections/all.d.ts.map +0 -1
- package/dist/lib/ui/toolbar/Toolbar.d.ts +0 -6
- package/dist/lib/ui/toolbar/Toolbar.d.ts.map +0 -1
- package/dist/tests/integration/debug.sim.spec.d.ts +0 -2
- package/dist/tests/integration/debug.sim.spec.d.ts.map +0 -1
- package/dist/tests/unit/collision/collision.spec.d.ts +0 -2
- package/dist/tests/unit/collision/collision.spec.d.ts.map +0 -1
- package/dist/tests/unit/core/game.spec.d.ts +0 -2
- package/dist/tests/unit/core/game.spec.d.ts.map +0 -1
- package/dist/tests/unit/core/stage.spec.d.ts +0 -2
- package/dist/tests/unit/core/stage.spec.d.ts.map +0 -1
- package/dist/tests/unit/core/vessel.spec.d.ts +0 -2
- package/dist/tests/unit/core/vessel.spec.d.ts.map +0 -1
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { Ray as b } from "@dimforge/rapier3d-compat";
|
|
2
|
-
import { Vector2 as E, Raycaster as f, LineSegments as L, BufferGeometry as p, LineBasicMaterial as w, BufferAttribute as m } from "three";
|
|
3
|
-
import { debugState as C, getDebugTool as y, setHoveredEntity as D, resetHoveredEntity as v, getHoveredEntity as R, DebugTools as d, setSelectedEntity as T } from "../debug/debug-state.js";
|
|
4
|
-
import { DebugEntityCursor as O } from "./debug-entity-cursor.js";
|
|
5
|
-
const F = 2293538, x = 16724787;
|
|
6
|
-
class A {
|
|
7
|
-
stage;
|
|
8
|
-
options;
|
|
9
|
-
mouseNdc = new E(-2, -2);
|
|
10
|
-
raycaster = new f();
|
|
11
|
-
isMouseDown = !1;
|
|
12
|
-
disposeFns = [];
|
|
13
|
-
debugCursor = null;
|
|
14
|
-
debugLines = null;
|
|
15
|
-
constructor(e, s) {
|
|
16
|
-
this.stage = e, this.options = {
|
|
17
|
-
maxRayDistance: s?.maxRayDistance ?? 5e3,
|
|
18
|
-
addEntityFactory: s?.addEntityFactory ?? null
|
|
19
|
-
}, this.stage.scene && (this.debugLines = new L(new p(), new w({ vertexColors: !0 })), this.stage.scene.scene.add(this.debugLines), this.debugLines.visible = !0, this.debugCursor = new O(this.stage.scene.scene)), this.attachDomListeners();
|
|
20
|
-
}
|
|
21
|
-
update() {
|
|
22
|
-
if (!C.on || !this.stage.scene || !this.stage.world || !this.stage.cameraRef)
|
|
23
|
-
return;
|
|
24
|
-
const { world: e, cameraRef: s } = this.stage;
|
|
25
|
-
if (this.debugLines) {
|
|
26
|
-
const { vertices: l, colors: c } = e.world.debugRender();
|
|
27
|
-
this.debugLines.geometry.setAttribute("position", new m(l, 3)), this.debugLines.geometry.setAttribute("color", new m(c, 4));
|
|
28
|
-
}
|
|
29
|
-
const i = y(), n = i === d.SELECT || i === d.DELETE;
|
|
30
|
-
this.raycaster.setFromCamera(this.mouseNdc, s.camera);
|
|
31
|
-
const t = this.raycaster.ray.origin.clone(), o = this.raycaster.ray.direction.clone().normalize(), r = new b({ x: t.x, y: t.y, z: t.z }, { x: o.x, y: o.y, z: o.z }), a = e.world.castRay(r, this.options.maxRayDistance, !0);
|
|
32
|
-
if (a && n) {
|
|
33
|
-
const c = a.collider?._parent?.userData?.uuid;
|
|
34
|
-
c ? D(c) : v(), this.isMouseDown && this.handleActionOnHit(c ?? null, t, o, a.toi);
|
|
35
|
-
}
|
|
36
|
-
this.isMouseDown = !1;
|
|
37
|
-
const u = R();
|
|
38
|
-
if (!u) {
|
|
39
|
-
this.debugCursor?.hide();
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
const h = this.stage._debugMap.get(`${u}`), g = h?.group ?? h?.mesh ?? null;
|
|
43
|
-
if (!g) {
|
|
44
|
-
this.debugCursor?.hide();
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
switch (i) {
|
|
48
|
-
case d.SELECT:
|
|
49
|
-
this.debugCursor?.setColor(F);
|
|
50
|
-
break;
|
|
51
|
-
case d.DELETE:
|
|
52
|
-
this.debugCursor?.setColor(x);
|
|
53
|
-
break;
|
|
54
|
-
default:
|
|
55
|
-
this.debugCursor?.setColor(16777215);
|
|
56
|
-
break;
|
|
57
|
-
}
|
|
58
|
-
this.debugCursor?.updateFromObject(g);
|
|
59
|
-
}
|
|
60
|
-
dispose() {
|
|
61
|
-
this.disposeFns.forEach((e) => e()), this.disposeFns = [], this.debugCursor?.dispose(), this.debugLines && this.stage.scene && (this.stage.scene.scene.remove(this.debugLines), this.debugLines.geometry.dispose(), this.debugLines.material.dispose(), this.debugLines = null);
|
|
62
|
-
}
|
|
63
|
-
handleActionOnHit(e, s, i, n) {
|
|
64
|
-
switch (y()) {
|
|
65
|
-
case "SELECT": {
|
|
66
|
-
e && T(e);
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
69
|
-
case "DELETE": {
|
|
70
|
-
e && this.stage.removeEntityByUuid(e);
|
|
71
|
-
break;
|
|
72
|
-
}
|
|
73
|
-
case "ADD": {
|
|
74
|
-
if (!this.options.addEntityFactory)
|
|
75
|
-
break;
|
|
76
|
-
const o = s.clone().add(i.clone().multiplyScalar(n)), r = this.options.addEntityFactory({ position: o });
|
|
77
|
-
r && Promise.resolve(r).then((a) => {
|
|
78
|
-
a && this.stage.spawnEntity(a);
|
|
79
|
-
}).catch(() => {
|
|
80
|
-
});
|
|
81
|
-
break;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
attachDomListeners() {
|
|
86
|
-
const e = this.stage.cameraRef?.renderer.domElement ?? this.stage.scene?.zylemCamera.renderer.domElement;
|
|
87
|
-
if (!e)
|
|
88
|
-
return;
|
|
89
|
-
const s = (n) => {
|
|
90
|
-
const t = e.getBoundingClientRect(), o = (n.clientX - t.left) / t.width * 2 - 1, r = -((n.clientY - t.top) / t.height * 2 - 1);
|
|
91
|
-
this.mouseNdc.set(o, r);
|
|
92
|
-
}, i = (n) => {
|
|
93
|
-
this.isMouseDown = !0;
|
|
94
|
-
};
|
|
95
|
-
e.addEventListener("mousemove", s), e.addEventListener("mousedown", i), this.disposeFns.push(() => e.removeEventListener("mousemove", s)), this.disposeFns.push(() => e.removeEventListener("mousedown", i));
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
export {
|
|
99
|
-
A as StageDebugDelegate
|
|
100
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stage-default.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/stage-default.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,eAAe,CAAC;AAiCpE,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CAQnE"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { proxy as r } from "valtio/vanilla";
|
|
2
|
-
import { Vector3 as i } from "three";
|
|
3
|
-
import { ZylemBlueColor as n } from "../core/utility/vector.js";
|
|
4
|
-
const g = {
|
|
5
|
-
backgroundColor: n,
|
|
6
|
-
backgroundImage: null,
|
|
7
|
-
inputs: {
|
|
8
|
-
p1: ["gamepad-1", "keyboard"],
|
|
9
|
-
p2: ["gamepad-2", "keyboard"]
|
|
10
|
-
},
|
|
11
|
-
gravity: new i(0, 0, 0),
|
|
12
|
-
variables: {}
|
|
13
|
-
}, o = r({
|
|
14
|
-
...g
|
|
15
|
-
});
|
|
16
|
-
function b(a) {
|
|
17
|
-
const e = l();
|
|
18
|
-
let t = {};
|
|
19
|
-
return typeof a[0] == "object" && (t = a.shift() ?? {}), [{ ...e, ...t }, ...a];
|
|
20
|
-
}
|
|
21
|
-
function l() {
|
|
22
|
-
return {
|
|
23
|
-
backgroundColor: o.backgroundColor,
|
|
24
|
-
backgroundImage: o.backgroundImage ?? null,
|
|
25
|
-
inputs: o.inputs ? { ...o.inputs } : void 0,
|
|
26
|
-
gravity: o.gravity,
|
|
27
|
-
variables: o.variables ? { ...o.variables } : void 0
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
export {
|
|
31
|
-
b as getStageOptions
|
|
32
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Color } from 'three';
|
|
2
|
-
import { StageStateInterface } from '../types/stage-types';
|
|
3
|
-
declare const stageState: StageStateInterface;
|
|
4
|
-
declare const setStageBackgroundColor: (value: Color) => void;
|
|
5
|
-
declare const setStageBackgroundImage: (value: string | null) => void;
|
|
6
|
-
declare const setStageVariable: (key: string, value: any) => void;
|
|
7
|
-
declare const getStageVariable: (key: string) => any;
|
|
8
|
-
/** Replace the entire stage variables object (used on stage load). */
|
|
9
|
-
declare const setStageVariables: (variables: Record<string, any>) => void;
|
|
10
|
-
/** Reset all stage variables (used on stage unload). */
|
|
11
|
-
declare const resetStageVariables: () => void;
|
|
12
|
-
declare const stageStateToString: (state: StageStateInterface) => string;
|
|
13
|
-
export { stageState, setStageBackgroundColor, setStageBackgroundImage, stageStateToString, setStageVariable, getStageVariable, setStageVariables, resetStageVariables, };
|
|
14
|
-
//# sourceMappingURL=stage-state.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stage-state.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/stage-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAW,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,QAAA,MAAM,UAAU,qBAUS,CAAC;AAM1B,QAAA,MAAM,uBAAuB,GAAI,OAAO,KAAK,SAE5C,CAAC;AAEF,QAAA,MAAM,uBAAuB,GAAI,OAAO,MAAM,GAAG,IAAI,SAEpD,CAAC;AAMF,QAAA,MAAM,gBAAgB,GAAI,KAAK,MAAM,EAAE,OAAO,GAAG,SAGhD,CAAC;AAEF,QAAA,MAAM,gBAAgB,GAAI,KAAK,MAAM,QAMpC,CAAC;AAEF,sEAAsE;AACtE,QAAA,MAAM,iBAAiB,GAAI,WAAW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,SAExD,CAAC;AAEF,wDAAwD;AACxD,QAAA,MAAM,mBAAmB,YAExB,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAI,OAAO,mBAAmB,WAuBrD,CAAC;AAEF,OAAO,EACN,UAAU,EAEV,uBAAuB,EACvB,uBAAuB,EAEvB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GACnB,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Vector3 as t, Color as r } from "three";
|
|
2
|
-
import { proxy as s } from "valtio/vanilla";
|
|
3
|
-
const e = s({
|
|
4
|
-
backgroundColor: new r(r.NAMES.cornflowerblue),
|
|
5
|
-
backgroundImage: null,
|
|
6
|
-
inputs: {
|
|
7
|
-
p1: ["gamepad-1", "keyboard-1"],
|
|
8
|
-
p2: ["gamepad-2", "keyboard-2"]
|
|
9
|
-
},
|
|
10
|
-
variables: {},
|
|
11
|
-
gravity: new t(0, 0, 0),
|
|
12
|
-
entities: []
|
|
13
|
-
}), l = (a) => {
|
|
14
|
-
e.backgroundColor = a;
|
|
15
|
-
}, b = (a) => {
|
|
16
|
-
e.backgroundImage = a;
|
|
17
|
-
}, i = (a, o) => {
|
|
18
|
-
e.variables[a] = o;
|
|
19
|
-
}, c = (a) => {
|
|
20
|
-
if (e.variables.hasOwnProperty(a))
|
|
21
|
-
return e.variables[a];
|
|
22
|
-
console.warn(`Stage variable ${a} not found`);
|
|
23
|
-
}, d = (a) => {
|
|
24
|
-
e.variables = { ...a };
|
|
25
|
-
}, u = () => {
|
|
26
|
-
e.variables = {};
|
|
27
|
-
};
|
|
28
|
-
export {
|
|
29
|
-
c as getStageVariable,
|
|
30
|
-
u as resetStageVariables,
|
|
31
|
-
l as setStageBackgroundColor,
|
|
32
|
-
b as setStageBackgroundImage,
|
|
33
|
-
i as setStageVariable,
|
|
34
|
-
d as setStageVariables,
|
|
35
|
-
e as stageState
|
|
36
|
-
};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { BaseNode } from '../core/base-node';
|
|
2
|
-
import { DestroyFunction, SetupContext, SetupFunction, UpdateFunction } from '../core/base-node-life-cycle';
|
|
3
|
-
import { StageOptionItem, StageOptions, ZylemStage } from './zylem-stage';
|
|
4
|
-
import { ZylemCamera } from '../camera/zylem-camera';
|
|
5
|
-
import { CameraWrapper } from '../camera/camera';
|
|
6
|
-
type NodeLike = {
|
|
7
|
-
create: Function;
|
|
8
|
-
};
|
|
9
|
-
type AnyNode = NodeLike | Promise<NodeLike>;
|
|
10
|
-
type EntityInput = AnyNode | (() => AnyNode) | (() => Promise<any>);
|
|
11
|
-
export declare class Stage {
|
|
12
|
-
wrappedStage: ZylemStage | null;
|
|
13
|
-
options: StageOptionItem[];
|
|
14
|
-
update: UpdateFunction<ZylemStage>;
|
|
15
|
-
setup: SetupFunction<ZylemStage>;
|
|
16
|
-
destroy: DestroyFunction<ZylemStage>;
|
|
17
|
-
constructor(options: StageOptions);
|
|
18
|
-
load(id: string, camera?: ZylemCamera | CameraWrapper | null): Promise<void>;
|
|
19
|
-
addEntities(entities: BaseNode[]): Promise<void>;
|
|
20
|
-
add(...inputs: Array<EntityInput>): void;
|
|
21
|
-
start(params: SetupContext<ZylemStage>): void;
|
|
22
|
-
onUpdate(...callbacks: UpdateFunction<ZylemStage>[]): void;
|
|
23
|
-
onSetup(callback: SetupFunction<ZylemStage>): void;
|
|
24
|
-
onDestroy(callback: DestroyFunction<ZylemStage>): void;
|
|
25
|
-
setVariable(key: string, value: any): void;
|
|
26
|
-
getVariable(key: string): any;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Create a stage with optional camera
|
|
30
|
-
*/
|
|
31
|
-
export declare function stage(...options: StageOptions): Stage;
|
|
32
|
-
export {};
|
|
33
|
-
//# sourceMappingURL=stage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/stage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC5G,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,KAAK,QAAQ,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,CAAC;AACrC,KAAK,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5C,KAAK,WAAW,GAAG,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAEpE,qBAAa,KAAK;IACjB,YAAY,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,eAAe,EAAE,CAAM;IAEhC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAa;IAC/C,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAa;IAC7C,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,CAAa;gBAErC,OAAO,EAAE,YAAY;IAK3B,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,IAAI;IAQ5D,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE;IAOtC,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC;IAIjC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC;IAQtC,QAAQ,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE;IASnD,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC;IAI3C,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC;IAI/C,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAInC,WAAW,CAAC,GAAG,EAAE,MAAM;CAGvB;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,GAAG,OAAO,EAAE,YAAY,GAAG,KAAK,CAGrD"}
|
package/dist/lib/stage/stage.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { ZylemStage as i } from "./zylem-stage.js";
|
|
2
|
-
import { CameraWrapper as o } from "../camera/camera.js";
|
|
3
|
-
import { stageState as r, setStageVariable as n, getStageVariable as d } from "./stage-state.js";
|
|
4
|
-
import { getStageOptions as g } from "./stage-default.js";
|
|
5
|
-
class S {
|
|
6
|
-
wrappedStage;
|
|
7
|
-
options = [];
|
|
8
|
-
update = () => {
|
|
9
|
-
};
|
|
10
|
-
setup = () => {
|
|
11
|
-
};
|
|
12
|
-
destroy = () => {
|
|
13
|
-
};
|
|
14
|
-
constructor(t) {
|
|
15
|
-
this.options = t, this.wrappedStage = null;
|
|
16
|
-
}
|
|
17
|
-
async load(t, e) {
|
|
18
|
-
this.wrappedStage = new i(this.options), this.wrappedStage.wrapperRef = this;
|
|
19
|
-
const a = e instanceof o ? e.cameraRef : e;
|
|
20
|
-
await this.wrappedStage.load(t, a);
|
|
21
|
-
}
|
|
22
|
-
async addEntities(t) {
|
|
23
|
-
this.options.push(...t), this.wrappedStage && this.wrappedStage.enqueue(...t);
|
|
24
|
-
}
|
|
25
|
-
add(...t) {
|
|
26
|
-
this.wrappedStage.enqueue(...t);
|
|
27
|
-
}
|
|
28
|
-
start(t) {
|
|
29
|
-
this.wrappedStage?.nodeSetup(t), this.wrappedStage.onEntityAdded((e) => {
|
|
30
|
-
const a = this.wrappedStage.buildEntityState(e);
|
|
31
|
-
r.entities = [...r.entities, a];
|
|
32
|
-
}, { replayExisting: !0 });
|
|
33
|
-
}
|
|
34
|
-
onUpdate(...t) {
|
|
35
|
-
this.wrappedStage && (this.wrappedStage.update = (e) => {
|
|
36
|
-
const a = { ...e, stage: this };
|
|
37
|
-
t.forEach((s) => s(a));
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
onSetup(t) {
|
|
41
|
-
this.wrappedStage.setup = t;
|
|
42
|
-
}
|
|
43
|
-
onDestroy(t) {
|
|
44
|
-
this.wrappedStage.destroy = t;
|
|
45
|
-
}
|
|
46
|
-
setVariable(t, e) {
|
|
47
|
-
n(t, e);
|
|
48
|
-
}
|
|
49
|
-
getVariable(t) {
|
|
50
|
-
return d(t);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
function c(...p) {
|
|
54
|
-
const t = g(p);
|
|
55
|
-
return new S([...t]);
|
|
56
|
-
}
|
|
57
|
-
export {
|
|
58
|
-
S as Stage,
|
|
59
|
-
c as stage
|
|
60
|
-
};
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { Color, Vector3 } from 'three';
|
|
2
|
-
import { ZylemWorld } from '../collision/world';
|
|
3
|
-
import { ZylemScene } from '../graphics/zylem-scene';
|
|
4
|
-
import { GameEntityInterface } from '../types/entity-types';
|
|
5
|
-
import { SetupContext, UpdateContext, DestroyContext } from '../core/base-node-life-cycle';
|
|
6
|
-
import { LifeCycleBase } from '../core/lifecycle-base';
|
|
7
|
-
import { BaseNode } from '../core/base-node';
|
|
8
|
-
import { Stage } from './stage';
|
|
9
|
-
import { CameraWrapper } from '../camera/camera';
|
|
10
|
-
import { StageDebugDelegate } from './stage-debug-delegate';
|
|
11
|
-
import { StageCameraDebugDelegate } from './stage-camera-debug-delegate';
|
|
12
|
-
import { BaseEntityInterface } from '../types/entity-types';
|
|
13
|
-
import { ZylemCamera } from '../camera/zylem-camera';
|
|
14
|
-
export interface ZylemStageConfig {
|
|
15
|
-
inputs: Record<string, string[]>;
|
|
16
|
-
backgroundColor: Color | string;
|
|
17
|
-
backgroundImage: string | null;
|
|
18
|
-
gravity: Vector3;
|
|
19
|
-
variables: Record<string, any>;
|
|
20
|
-
stageRef?: Stage;
|
|
21
|
-
}
|
|
22
|
-
type NodeLike = {
|
|
23
|
-
create: Function;
|
|
24
|
-
};
|
|
25
|
-
export type StageEntityInput = NodeLike | Promise<any> | (() => NodeLike | Promise<any>);
|
|
26
|
-
export type StageOptionItem = Partial<ZylemStageConfig> | CameraWrapper | StageEntityInput;
|
|
27
|
-
export type StageOptions = [] | [Partial<ZylemStageConfig>, ...StageOptionItem[]];
|
|
28
|
-
export type StageState = ZylemStageConfig & {
|
|
29
|
-
entities: GameEntityInterface[];
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* ZylemStage orchestrates scene, physics world, entities, and lifecycle.
|
|
33
|
-
*
|
|
34
|
-
* Responsibilities:
|
|
35
|
-
* - Manage stage configuration (background, inputs, gravity, variables)
|
|
36
|
-
* - Initialize and own `ZylemScene` and `ZylemWorld`
|
|
37
|
-
* - Spawn, track, and remove entities; emit entity-added events
|
|
38
|
-
* - Drive per-frame updates and transform system
|
|
39
|
-
*/
|
|
40
|
-
export declare class ZylemStage extends LifeCycleBase<ZylemStage> {
|
|
41
|
-
type: string;
|
|
42
|
-
state: StageState;
|
|
43
|
-
gravity: Vector3;
|
|
44
|
-
world: ZylemWorld | null;
|
|
45
|
-
scene: ZylemScene | null;
|
|
46
|
-
children: Array<BaseNode>;
|
|
47
|
-
_childrenMap: Map<number, BaseNode>;
|
|
48
|
-
_removalMap: Map<number, BaseNode>;
|
|
49
|
-
private pendingEntities;
|
|
50
|
-
private pendingPromises;
|
|
51
|
-
private isLoaded;
|
|
52
|
-
_debugMap: Map<string, BaseNode>;
|
|
53
|
-
private entityAddedHandlers;
|
|
54
|
-
ecs: import("bitecs").IWorld;
|
|
55
|
-
testSystem: any;
|
|
56
|
-
transformSystem: any;
|
|
57
|
-
debugDelegate: StageDebugDelegate | null;
|
|
58
|
-
cameraDebugDelegate: StageCameraDebugDelegate | null;
|
|
59
|
-
uuid: string;
|
|
60
|
-
wrapperRef: Stage | null;
|
|
61
|
-
camera?: CameraWrapper;
|
|
62
|
-
cameraRef?: ZylemCamera | null;
|
|
63
|
-
/**
|
|
64
|
-
* Create a new stage.
|
|
65
|
-
* @param options Stage options: partial config, camera, and initial entities or factories
|
|
66
|
-
*/
|
|
67
|
-
constructor(options?: StageOptions);
|
|
68
|
-
private parseOptions;
|
|
69
|
-
private isZylemStageConfig;
|
|
70
|
-
private isBaseNode;
|
|
71
|
-
private isCameraWrapper;
|
|
72
|
-
private isEntityInput;
|
|
73
|
-
private isThenable;
|
|
74
|
-
private handleEntityImmediatelyOrQueue;
|
|
75
|
-
private handlePromiseWithSpawnOnResolve;
|
|
76
|
-
private saveState;
|
|
77
|
-
private setState;
|
|
78
|
-
/**
|
|
79
|
-
* Load and initialize the stage's scene and world.
|
|
80
|
-
* @param id DOM element id for the renderer container
|
|
81
|
-
* @param camera Optional camera override
|
|
82
|
-
*/
|
|
83
|
-
load(id: string, camera?: ZylemCamera | null): Promise<void>;
|
|
84
|
-
private createDefaultCamera;
|
|
85
|
-
protected _setup(params: SetupContext<ZylemStage>): void;
|
|
86
|
-
protected _update(params: UpdateContext<ZylemStage>): void;
|
|
87
|
-
outOfLoop(): void;
|
|
88
|
-
/** Update debug overlays and helpers if enabled. */
|
|
89
|
-
debugUpdate(): void;
|
|
90
|
-
/** Cleanup owned resources when the stage is destroyed. */
|
|
91
|
-
protected _destroy(params: DestroyContext<ZylemStage>): void;
|
|
92
|
-
/**
|
|
93
|
-
* Create, register, and add an entity to the scene/world.
|
|
94
|
-
* Safe to call only after `load` when scene/world exist.
|
|
95
|
-
*/
|
|
96
|
-
spawnEntity(child: BaseNode): Promise<void>;
|
|
97
|
-
buildEntityState(child: BaseNode): Partial<BaseEntityInterface>;
|
|
98
|
-
/** Add the entity to internal maps and notify listeners. */
|
|
99
|
-
addEntityToStage(entity: BaseNode): void;
|
|
100
|
-
/**
|
|
101
|
-
* Subscribe to entity-added events.
|
|
102
|
-
* @param callback Invoked for each entity when added
|
|
103
|
-
* @param options.replayExisting If true and stage already loaded, replays existing entities
|
|
104
|
-
* @returns Unsubscribe function
|
|
105
|
-
*/
|
|
106
|
-
onEntityAdded(callback: (entity: BaseNode) => void, options?: {
|
|
107
|
-
replayExisting?: boolean;
|
|
108
|
-
}): () => void;
|
|
109
|
-
/**
|
|
110
|
-
* Remove an entity and its resources by its UUID.
|
|
111
|
-
* @returns true if removed, false if not found or stage not ready
|
|
112
|
-
*/
|
|
113
|
-
removeEntityByUuid(uuid: string): boolean;
|
|
114
|
-
/** Get an entity by its name; returns null if not found. */
|
|
115
|
-
getEntityByName(name: string): BaseNode<any, any> | null;
|
|
116
|
-
logMissingEntities(): void;
|
|
117
|
-
/** Resize renderer viewport. */
|
|
118
|
-
resize(width: number, height: number): void;
|
|
119
|
-
/**
|
|
120
|
-
* Enqueue items to be spawned. Items can be:
|
|
121
|
-
* - BaseNode instances (immediate or deferred until load)
|
|
122
|
-
* - Factory functions returning BaseNode or Promise<BaseNode>
|
|
123
|
-
* - Promises resolving to BaseNode
|
|
124
|
-
*/
|
|
125
|
-
enqueue(...items: StageEntityInput[]): void;
|
|
126
|
-
}
|
|
127
|
-
export {};
|
|
128
|
-
//# sourceMappingURL=zylem-stage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zylem-stage.d.ts","sourceRoot":"","sources":["../../../src/lib/stage/zylem-stage.ts"],"names":[],"mappings":"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"}
|