@hology/core 0.0.91 → 0.0.93
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/dist/config/project-config.d.ts +1 -0
- package/dist/config/project-config.d.ts.map +1 -0
- package/dist/config/project-config.js +1 -2
- package/dist/controllers/base-game-controller.d.ts +1 -0
- package/dist/controllers/base-game-controller.d.ts.map +1 -0
- package/dist/controllers/base-game-controller.js +1 -2
- package/dist/csm.d.ts +1 -0
- package/dist/csm.d.ts.map +1 -0
- package/dist/csm.js +1 -2
- package/dist/effects/particles/examples.d.ts +1 -0
- package/dist/effects/particles/examples.d.ts.map +1 -0
- package/dist/effects/particles/examples.js +1 -2
- package/dist/effects/particles/particle-system-config.d.ts +1 -0
- package/dist/effects/particles/particle-system-config.d.ts.map +1 -0
- package/dist/effects/particles/particle-system-config.js +1 -2
- package/dist/effects/vfx/behaviours.d.ts +3 -1
- package/dist/effects/vfx/behaviours.d.ts.map +1 -0
- package/dist/effects/vfx/behaviours.js +1 -2
- package/dist/effects/vfx/index.d.ts +1 -0
- package/dist/effects/vfx/index.d.ts.map +1 -0
- package/dist/effects/vfx/index.js +1 -2
- package/dist/effects/vfx/initializsers.d.ts +20 -39
- package/dist/effects/vfx/initializsers.d.ts.map +1 -0
- package/dist/effects/vfx/initializsers.js +1 -2
- package/dist/effects/vfx/rates.d.ts +5 -4
- package/dist/effects/vfx/rates.d.ts.map +1 -0
- package/dist/effects/vfx/rates.js +1 -2
- package/dist/effects/vfx/stretched-sprite.d.ts +1 -0
- package/dist/effects/vfx/stretched-sprite.d.ts.map +1 -0
- package/dist/effects/vfx/stretched-sprite.js +1 -2
- package/dist/effects/vfx/trail-renderer.d.ts +1 -0
- package/dist/effects/vfx/trail-renderer.d.ts.map +1 -0
- package/dist/effects/vfx/trail-renderer.js +1 -2
- package/dist/effects/vfx/vfx-actor.d.ts +3 -1
- package/dist/effects/vfx/vfx-actor.d.ts.map +1 -0
- package/dist/effects/vfx/vfx-actor.js +1 -2
- package/dist/effects/vfx/vfx-asset.d.ts +14 -0
- package/dist/effects/vfx/vfx-asset.d.ts.map +1 -0
- package/dist/effects/vfx/vfx-asset.js +1 -2
- package/dist/effects/vfx/vfx-collision-behaviour.d.ts +19 -0
- package/dist/effects/vfx/vfx-collision-behaviour.d.ts.map +1 -0
- package/dist/effects/vfx/vfx-collision-behaviour.js +4 -0
- package/dist/effects/vfx/vfx-defs.d.ts +33 -19
- package/dist/effects/vfx/vfx-defs.d.ts.map +1 -0
- package/dist/effects/vfx/vfx-defs.js +1 -2
- package/dist/effects/vfx/vfx-materializer.d.ts +11 -3
- package/dist/effects/vfx/vfx-materializer.d.ts.map +1 -0
- package/dist/effects/vfx/vfx-materializer.js +1 -2
- package/dist/effects/vfx/vfx-old-materializer.d.ts +2 -11
- package/dist/effects/vfx/vfx-old-materializer.d.ts.map +1 -0
- package/dist/effects/vfx/vfx-old-materializer.js +1 -2
- package/dist/effects/vfx/vfx-param.d.ts +1 -0
- package/dist/effects/vfx/vfx-param.d.ts.map +1 -0
- package/dist/effects/vfx/vfx-param.js +1 -2
- package/dist/effects/vfx/vfx-renderers.d.ts +3 -1
- package/dist/effects/vfx/vfx-renderers.d.ts.map +1 -0
- package/dist/effects/vfx/vfx-renderers.js +1 -2
- package/dist/effects/vfx/vfx-service.d.ts +1 -0
- package/dist/effects/vfx/vfx-service.d.ts.map +1 -0
- package/dist/effects/vfx/vfx-service.js +1 -2
- package/dist/effects/vfx/zones.d.ts +2 -1
- package/dist/effects/vfx/zones.d.ts.map +1 -0
- package/dist/effects/vfx/zones.js +1 -2
- package/dist/game-component/component-decorators.d.ts +1 -0
- package/dist/game-component/component-decorators.d.ts.map +1 -0
- package/dist/game-component/component-decorators.js +1 -2
- package/dist/game-component/game-component.d.ts +1 -0
- package/dist/game-component/game-component.d.ts.map +1 -0
- package/dist/game-component/game-component.js +1 -2
- package/dist/gameplay/actors/actor.d.ts +1 -0
- package/dist/gameplay/actors/actor.d.ts.map +1 -0
- package/dist/gameplay/actors/actor.js +1 -2
- package/dist/gameplay/actors/builtin/camera-actor.d.ts +1 -0
- package/dist/gameplay/actors/builtin/camera-actor.d.ts.map +1 -0
- package/dist/gameplay/actors/builtin/camera-actor.js +1 -2
- package/dist/gameplay/actors/builtin/components/character/character-animation.d.ts +1 -0
- package/dist/gameplay/actors/builtin/components/character/character-animation.d.ts.map +1 -0
- package/dist/gameplay/actors/builtin/components/character/character-animation.js +1 -2
- package/dist/gameplay/actors/builtin/components/character/character-movement copy.d.ts +1 -0
- package/dist/gameplay/actors/builtin/components/character/character-movement copy.d.ts.map +1 -0
- package/dist/gameplay/actors/builtin/components/character/character-movement copy.js +1 -2
- package/dist/gameplay/actors/builtin/components/character/character-movement.d.ts +1 -0
- package/dist/gameplay/actors/builtin/components/character/character-movement.d.ts.map +1 -0
- package/dist/gameplay/actors/builtin/components/character/character-movement.js +1 -2
- package/dist/gameplay/actors/builtin/components/character/modes.d.ts +1 -0
- package/dist/gameplay/actors/builtin/components/character/modes.d.ts.map +1 -0
- package/dist/gameplay/actors/builtin/components/character/modes.js +1 -2
- package/dist/gameplay/actors/builtin/components/mesh-component.d.ts +1 -0
- package/dist/gameplay/actors/builtin/components/mesh-component.d.ts.map +1 -0
- package/dist/gameplay/actors/builtin/components/mesh-component.js +1 -2
- package/dist/gameplay/actors/builtin/components/scene-component.d.ts +1 -0
- package/dist/gameplay/actors/builtin/components/scene-component.d.ts.map +1 -0
- package/dist/gameplay/actors/builtin/components/scene-component.js +1 -2
- package/dist/gameplay/actors/builtin/index.d.ts +1 -0
- package/dist/gameplay/actors/builtin/index.d.ts.map +1 -0
- package/dist/gameplay/actors/builtin/index.js +1 -2
- package/dist/gameplay/actors/builtin/navmesh-actor.d.ts +1 -0
- package/dist/gameplay/actors/builtin/navmesh-actor.d.ts.map +1 -0
- package/dist/gameplay/actors/builtin/navmesh-actor.js +1 -2
- package/dist/gameplay/actors/builtin/positional-audio-actor.d.ts +1 -0
- package/dist/gameplay/actors/builtin/positional-audio-actor.d.ts.map +1 -0
- package/dist/gameplay/actors/builtin/positional-audio-actor.js +1 -2
- package/dist/gameplay/actors/builtin/spawn-point.d.ts +1 -0
- package/dist/gameplay/actors/builtin/spawn-point.d.ts.map +1 -0
- package/dist/gameplay/actors/builtin/spawn-point.js +1 -2
- package/dist/gameplay/actors/builtin/trigger-volume.d.ts +1 -0
- package/dist/gameplay/actors/builtin/trigger-volume.d.ts.map +1 -0
- package/dist/gameplay/actors/builtin/trigger-volume.js +1 -2
- package/dist/gameplay/actors/camera/camera-component.d.ts +1 -0
- package/dist/gameplay/actors/camera/camera-component.d.ts.map +1 -0
- package/dist/gameplay/actors/camera/camera-component.js +1 -2
- package/dist/gameplay/actors/camera/third-person-camera-component.d.ts +1 -0
- package/dist/gameplay/actors/camera/third-person-camera-component.d.ts.map +1 -0
- package/dist/gameplay/actors/camera/third-person-camera-component.js +1 -2
- package/dist/gameplay/actors/component.d.ts +1 -0
- package/dist/gameplay/actors/component.d.ts.map +1 -0
- package/dist/gameplay/actors/component.js +1 -2
- package/dist/gameplay/actors/factory.d.ts +1 -0
- package/dist/gameplay/actors/factory.d.ts.map +1 -0
- package/dist/gameplay/actors/factory.js +1 -2
- package/dist/gameplay/actors/index.d.ts +1 -0
- package/dist/gameplay/actors/index.d.ts.map +1 -0
- package/dist/gameplay/actors/index.js +1 -2
- package/dist/gameplay/actors/internal/component-init.d.ts +1 -0
- package/dist/gameplay/actors/internal/component-init.d.ts.map +1 -0
- package/dist/gameplay/actors/internal/component-init.js +1 -2
- package/dist/gameplay/actors/internal/container-map.d.ts +1 -0
- package/dist/gameplay/actors/internal/container-map.d.ts.map +1 -0
- package/dist/gameplay/actors/internal/container-map.js +1 -2
- package/dist/gameplay/ai/behavior-tree/bt.d.ts +1 -0
- package/dist/gameplay/ai/behavior-tree/bt.d.ts.map +1 -0
- package/dist/gameplay/ai/behavior-tree/bt.js +1 -2
- package/dist/gameplay/ai/behavior-tree/move.d.ts +1 -0
- package/dist/gameplay/ai/behavior-tree/move.d.ts.map +1 -0
- package/dist/gameplay/ai/behavior-tree/move.js +1 -2
- package/dist/gameplay/ai/build-tile.d.ts +2 -1
- package/dist/gameplay/ai/build-tile.d.ts.map +1 -0
- package/dist/gameplay/ai/build-tile.js +1 -2
- package/dist/gameplay/ai/dynamic-tiled-navmesh.d.ts +1 -0
- package/dist/gameplay/ai/dynamic-tiled-navmesh.d.ts.map +1 -0
- package/dist/gameplay/ai/dynamic-tiled-navmesh.js +1 -2
- package/dist/gameplay/ai/dynamic-tiled-navmesh.worker.d.ts +1 -0
- package/dist/gameplay/ai/dynamic-tiled-navmesh.worker.d.ts.map +1 -0
- package/dist/gameplay/ai/dynamic-tiled-navmesh.worker.js +1 -2
- package/dist/gameplay/ai/index.d.ts +1 -0
- package/dist/gameplay/ai/index.d.ts.map +1 -0
- package/dist/gameplay/ai/index.js +1 -2
- package/dist/gameplay/ai/navigation.d.ts +1 -0
- package/dist/gameplay/ai/navigation.d.ts.map +1 -0
- package/dist/gameplay/ai/navigation.js +1 -2
- package/dist/gameplay/animation/anim-sm.d.ts +1 -0
- package/dist/gameplay/animation/anim-sm.d.ts.map +1 -0
- package/dist/gameplay/animation/anim-sm.js +1 -2
- package/dist/gameplay/animation/root-motion.d.ts +1 -0
- package/dist/gameplay/animation/root-motion.d.ts.map +1 -0
- package/dist/gameplay/animation/root-motion.js +1 -2
- package/dist/gameplay/env.d.ts +1 -0
- package/dist/gameplay/env.d.ts.map +1 -0
- package/dist/gameplay/env.js +1 -2
- package/dist/gameplay/index.d.ts +1 -0
- package/dist/gameplay/index.d.ts.map +1 -0
- package/dist/gameplay/index.js +1 -2
- package/dist/gameplay/initiate.d.ts +1 -0
- package/dist/gameplay/initiate.d.ts.map +1 -0
- package/dist/gameplay/initiate.js +1 -2
- package/dist/gameplay/inject.d.ts +1 -0
- package/dist/gameplay/inject.d.ts.map +1 -0
- package/dist/gameplay/inject.js +1 -2
- package/dist/gameplay/input/index.d.ts +1 -0
- package/dist/gameplay/input/index.d.ts.map +1 -0
- package/dist/gameplay/input/index.js +1 -2
- package/dist/gameplay/input/input-service.d.ts +1 -0
- package/dist/gameplay/input/input-service.d.ts.map +1 -0
- package/dist/gameplay/input/input-service.js +1 -2
- package/dist/gameplay/input/input.d.ts +1 -0
- package/dist/gameplay/input/input.d.ts.map +1 -0
- package/dist/gameplay/input/input.js +1 -2
- package/dist/gameplay/input/keybind.d.ts +1 -0
- package/dist/gameplay/input/keybind.d.ts.map +1 -0
- package/dist/gameplay/input/keybind.js +1 -2
- package/dist/gameplay/polyfill.d.ts +1 -0
- package/dist/gameplay/polyfill.d.ts.map +1 -0
- package/dist/gameplay/polyfill.js +1 -2
- package/dist/gameplay/services/asset-loader.d.ts +1 -0
- package/dist/gameplay/services/asset-loader.d.ts.map +1 -0
- package/dist/gameplay/services/asset-loader.js +1 -2
- package/dist/gameplay/services/physics/abstract-physics-system.d.ts +1 -0
- package/dist/gameplay/services/physics/abstract-physics-system.d.ts.map +1 -0
- package/dist/gameplay/services/physics/abstract-physics-system.js +1 -2
- package/dist/gameplay/services/physics/collision-contact.d.ts +1 -0
- package/dist/gameplay/services/physics/collision-contact.d.ts.map +1 -0
- package/dist/gameplay/services/physics/collision-contact.js +1 -2
- package/dist/gameplay/services/physics/physics-system.d.ts +1 -0
- package/dist/gameplay/services/physics/physics-system.d.ts.map +1 -0
- package/dist/gameplay/services/physics/physics-system.js +1 -2
- package/dist/gameplay/services/pointer-events.d.ts +1 -0
- package/dist/gameplay/services/pointer-events.d.ts.map +1 -0
- package/dist/gameplay/services/pointer-events.js +1 -2
- package/dist/gameplay/services/render.d.ts +1 -0
- package/dist/gameplay/services/render.d.ts.map +1 -0
- package/dist/gameplay/services/render.js +1 -2
- package/dist/gameplay/services/world.d.ts +1 -0
- package/dist/gameplay/services/world.d.ts.map +1 -0
- package/dist/gameplay/services/world.js +1 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -2
- package/dist/rendering/shader-override.d.ts +1 -0
- package/dist/rendering/shader-override.d.ts.map +1 -0
- package/dist/rendering/shader-override.js +1 -2
- package/dist/rendering.d.ts +1 -0
- package/dist/rendering.d.ts.map +1 -0
- package/dist/rendering.js +1 -2
- package/dist/scene/asset-resource-loader.d.ts +1 -0
- package/dist/scene/asset-resource-loader.d.ts.map +1 -0
- package/dist/scene/asset-resource-loader.js +1 -2
- package/dist/scene/assets-provider.d.ts +1 -0
- package/dist/scene/assets-provider.d.ts.map +1 -0
- package/dist/scene/assets-provider.js +1 -2
- package/dist/scene/bootstrap.d.ts +1 -0
- package/dist/scene/bootstrap.d.ts.map +1 -0
- package/dist/scene/bootstrap.js +1 -2
- package/dist/scene/collision/collision-shape-import.d.ts +1 -0
- package/dist/scene/collision/collision-shape-import.d.ts.map +1 -0
- package/dist/scene/collision/collision-shape-import.js +1 -2
- package/dist/scene/collision/collision-shape.d.ts +1 -0
- package/dist/scene/collision/collision-shape.d.ts.map +1 -0
- package/dist/scene/collision/collision-shape.js +1 -2
- package/dist/scene/landscape/landscape-manager.d.ts +1 -0
- package/dist/scene/landscape/landscape-manager.d.ts.map +1 -0
- package/dist/scene/landscape/landscape-manager.js +1 -2
- package/dist/scene/landscape/landscape.d.ts +1 -0
- package/dist/scene/landscape/landscape.d.ts.map +1 -0
- package/dist/scene/landscape/landscape.js +1 -2
- package/dist/scene/landscape/utils.d.ts +1 -0
- package/dist/scene/landscape/utils.d.ts.map +1 -0
- package/dist/scene/landscape/utils.js +1 -2
- package/dist/scene/materializer.d.ts +1 -0
- package/dist/scene/materializer.d.ts.map +1 -0
- package/dist/scene/materializer.js +1 -2
- package/dist/scene/materials/grass-foliage.d.ts +1 -0
- package/dist/scene/materials/grass-foliage.d.ts.map +1 -0
- package/dist/scene/materials/grass-foliage.js +1 -2
- package/dist/scene/materials/grass.d.ts +1 -0
- package/dist/scene/materials/grass.d.ts.map +1 -0
- package/dist/scene/materials/grass.js +1 -2
- package/dist/scene/materials/utils/material-painting.d.ts +1 -0
- package/dist/scene/materials/utils/material-painting.d.ts.map +1 -0
- package/dist/scene/materials/utils/material-painting.js +1 -2
- package/dist/scene/materials/utils/noise.glsl.d.ts +1 -0
- package/dist/scene/materials/utils/noise.glsl.d.ts.map +1 -0
- package/dist/scene/materials/utils/noise.glsl.js +1 -2
- package/dist/scene/materials/water.d.ts +1 -0
- package/dist/scene/materials/water.d.ts.map +1 -0
- package/dist/scene/materials/water.js +1 -2
- package/dist/scene/model.d.ts +3 -1
- package/dist/scene/model.d.ts.map +1 -0
- package/dist/scene/model.js +1 -2
- package/dist/scene/objects/ramp-geometry.d.ts +1 -0
- package/dist/scene/objects/ramp-geometry.d.ts.map +1 -0
- package/dist/scene/objects/ramp-geometry.js +1 -2
- package/dist/scene/objects/shapes.d.ts +3 -3
- package/dist/scene/objects/shapes.d.ts.map +1 -0
- package/dist/scene/objects/shapes.js +1 -2
- package/dist/scene/objects/stairs-geometry.d.ts +1 -0
- package/dist/scene/objects/stairs-geometry.d.ts.map +1 -0
- package/dist/scene/objects/stairs-geometry.js +1 -2
- package/dist/scene/runtime-asset-service.d.ts +1 -0
- package/dist/scene/runtime-asset-service.d.ts.map +1 -0
- package/dist/scene/runtime-asset-service.js +1 -2
- package/dist/scene/runtime-backend-service.d.ts +1 -0
- package/dist/scene/runtime-backend-service.d.ts.map +1 -0
- package/dist/scene/runtime-backend-service.js +1 -2
- package/dist/scene/runtime-bundled-backend-service.d.ts +1 -0
- package/dist/scene/runtime-bundled-backend-service.d.ts.map +1 -0
- package/dist/scene/runtime-bundled-backend-service.js +1 -2
- package/dist/scene/scene-data-service.d.ts +1 -0
- package/dist/scene/scene-data-service.d.ts.map +1 -0
- package/dist/scene/scene-data-service.js +1 -2
- package/dist/scene/sky.d.ts +1 -0
- package/dist/scene/sky.d.ts.map +1 -0
- package/dist/scene/sky.js +1 -2
- package/dist/scene/storage/storage.d.ts +1 -0
- package/dist/scene/storage/storage.d.ts.map +1 -0
- package/dist/scene/storage/storage.js +1 -2
- package/dist/shader/builtin/index.d.ts +1 -0
- package/dist/shader/builtin/index.d.ts.map +1 -0
- package/dist/shader/builtin/index.js +1 -2
- package/dist/shader/builtin/lambert-shader.d.ts +1 -0
- package/dist/shader/builtin/lambert-shader.d.ts.map +1 -0
- package/dist/shader/builtin/lambert-shader.js +1 -2
- package/dist/shader/builtin/landscape-composite-shader.d.ts +1 -0
- package/dist/shader/builtin/landscape-composite-shader.d.ts.map +1 -0
- package/dist/shader/builtin/landscape-composite-shader.js +1 -2
- package/dist/shader/builtin/landscape-shader.d.ts +1 -0
- package/dist/shader/builtin/landscape-shader.d.ts.map +1 -0
- package/dist/shader/builtin/landscape-shader.js +1 -2
- package/dist/shader/builtin/standard-shader.d.ts +1 -0
- package/dist/shader/builtin/standard-shader.d.ts.map +1 -0
- package/dist/shader/builtin/standard-shader.js +1 -2
- package/dist/shader/builtin/unlit-shader.d.ts +1 -0
- package/dist/shader/builtin/unlit-shader.d.ts.map +1 -0
- package/dist/shader/builtin/unlit-shader.js +1 -2
- package/dist/shader/index.d.ts +1 -0
- package/dist/shader/index.d.ts.map +1 -0
- package/dist/shader/index.js +1 -2
- package/dist/shader/parameter.d.ts +3 -1
- package/dist/shader/parameter.d.ts.map +1 -0
- package/dist/shader/parameter.js +1 -2
- package/dist/shader/shader.d.ts +1 -0
- package/dist/shader/shader.d.ts.map +1 -0
- package/dist/shader/shader.js +1 -2
- package/dist/shader-nodes/bulge.d.ts +1 -0
- package/dist/shader-nodes/bulge.d.ts.map +1 -0
- package/dist/shader-nodes/bulge.js +1 -2
- package/dist/shader-nodes/depth.d.ts +1 -0
- package/dist/shader-nodes/depth.d.ts.map +1 -0
- package/dist/shader-nodes/depth.js +1 -2
- package/dist/shader-nodes/effects.d.ts +1 -0
- package/dist/shader-nodes/effects.d.ts.map +1 -0
- package/dist/shader-nodes/effects.js +1 -2
- package/dist/shader-nodes/glsl-node.d.ts +2 -1
- package/dist/shader-nodes/glsl-node.d.ts.map +1 -0
- package/dist/shader-nodes/glsl-node.js +1 -2
- package/dist/shader-nodes/index.d.ts +2 -0
- package/dist/shader-nodes/index.d.ts.map +1 -0
- package/dist/shader-nodes/index.js +1 -2
- package/dist/shader-nodes/landscape.d.ts +1 -0
- package/dist/shader-nodes/landscape.d.ts.map +1 -0
- package/dist/shader-nodes/landscape.js +1 -2
- package/dist/shader-nodes/layers.d.ts +1 -0
- package/dist/shader-nodes/layers.d.ts.map +1 -0
- package/dist/shader-nodes/layers.js +1 -2
- package/dist/shader-nodes/math.d.ts +1 -0
- package/dist/shader-nodes/math.d.ts.map +1 -0
- package/dist/shader-nodes/math.js +1 -2
- package/dist/shader-nodes/particle.d.ts +3 -0
- package/dist/shader-nodes/particle.d.ts.map +1 -0
- package/dist/shader-nodes/particle.js +1 -2
- package/dist/shader-nodes/shapes.d.ts +1 -0
- package/dist/shader-nodes/shapes.d.ts.map +1 -0
- package/dist/shader-nodes/shapes.js +1 -2
- package/dist/shader-nodes/texture-sequence.d.ts +2 -1
- package/dist/shader-nodes/texture-sequence.d.ts.map +1 -0
- package/dist/shader-nodes/texture-sequence.js +1 -2
- package/dist/shader-nodes/time.d.ts +1 -0
- package/dist/shader-nodes/time.d.ts.map +1 -0
- package/dist/shader-nodes/time.js +1 -2
- package/dist/shader-nodes/voronoi.d.ts +1 -0
- package/dist/shader-nodes/voronoi.d.ts.map +1 -0
- package/dist/shader-nodes/voronoi.js +1 -2
- package/dist/test/injection.test.d.ts +1 -0
- package/dist/test/injection.test.d.ts.map +1 -0
- package/dist/test/injection.test.js +1 -2
- package/dist/utils/async.d.ts +1 -0
- package/dist/utils/async.d.ts.map +1 -0
- package/dist/utils/async.js +1 -2
- package/dist/utils/buffer.d.ts +1 -0
- package/dist/utils/buffer.d.ts.map +1 -0
- package/dist/utils/buffer.js +1 -2
- package/dist/utils/collections.d.ts +1 -0
- package/dist/utils/collections.d.ts.map +1 -0
- package/dist/utils/collections.js +1 -2
- package/dist/utils/curve.d.ts +12 -0
- package/dist/utils/curve.d.ts.map +1 -0
- package/dist/utils/curve.js +4 -0
- package/dist/utils/files.d.ts +1 -0
- package/dist/utils/files.d.ts.map +1 -0
- package/dist/utils/files.js +1 -2
- package/dist/utils/materials.d.ts +1 -0
- package/dist/utils/materials.d.ts.map +1 -0
- package/dist/utils/materials.js +1 -2
- package/dist/utils/math.d.ts +1 -0
- package/dist/utils/math.d.ts.map +1 -0
- package/dist/utils/math.js +1 -2
- package/dist/utils/mesh.d.ts +1 -0
- package/dist/utils/mesh.d.ts.map +1 -0
- package/dist/utils/mesh.js +1 -2
- package/dist/utils/polyfill.d.ts +1 -0
- package/dist/utils/polyfill.d.ts.map +1 -0
- package/dist/utils/polyfill.js +1 -2
- package/dist/utils/three/depth-pass.d.ts +1 -0
- package/dist/utils/three/depth-pass.d.ts.map +1 -0
- package/dist/utils/three/depth-pass.js +1 -2
- package/dist/utils/three/gpu-stats-panel.d.ts +1 -0
- package/dist/utils/three/gpu-stats-panel.d.ts.map +1 -0
- package/dist/utils/three/gpu-stats-panel.js +1 -2
- package/dist/utils/three/line-sphere.d.ts +1 -0
- package/dist/utils/three/line-sphere.d.ts.map +1 -0
- package/dist/utils/three/line-sphere.js +1 -2
- package/dist/utils/three/outline-pass.d.ts +1 -0
- package/dist/utils/three/outline-pass.d.ts.map +1 -0
- package/dist/utils/three/outline-pass.js +1 -2
- package/dist/utils/three/positional-audio-helper.d.ts +1 -0
- package/dist/utils/three/positional-audio-helper.d.ts.map +1 -0
- package/dist/utils/three/positional-audio-helper.js +1 -2
- package/dist/utils/three/stats.d.ts +1 -0
- package/dist/utils/three/stats.d.ts.map +1 -0
- package/dist/utils/three/stats.js +1 -2
- package/dist/utils/three/transform-controls.d.ts +1 -0
- package/dist/utils/three/transform-controls.d.ts.map +1 -0
- package/dist/utils/three/transform-controls.js +1 -2
- package/dist/utils/three/traverse.d.ts +1 -0
- package/dist/utils/three/traverse.d.ts.map +1 -0
- package/dist/utils/three/traverse.js +1 -2
- package/dist/utils/type.d.ts +1 -0
- package/dist/utils/type.d.ts.map +1 -0
- package/dist/utils/type.js +1 -2
- package/dist/utils/uuid.d.ts +1 -0
- package/dist/utils/uuid.d.ts.map +1 -0
- package/dist/utils/uuid.js +1 -2
- package/dist/utils/voxel-bitset.d.ts +14 -0
- package/dist/utils/voxel-bitset.d.ts.map +1 -0
- package/dist/utils/voxel-bitset.js +4 -0
- package/dist/worker/index.d.ts +1 -0
- package/dist/worker/index.d.ts.map +1 -0
- package/dist/worker/index.js +1 -2
- package/package.json +84 -8
- package/tsconfig.tsbuildinfo +1 -1
@@ -1,5 +1,4 @@
|
|
1
|
-
import{BufferGeometry as t,BufferAttribute as e,LineBasicMaterial as i,Line as s,MathUtils as n}from"three";class o extends s{constructor(s,n=1,o=16,r=2){const a=new t,d=new Float32Array(3*(3*(o+2*r)+3));a.setAttribute("position",new e(d,3));const h=new i({color:65280,linewidth:2});super(a,[new i({color:16776960,linewidth:2}),h]),this.type="PositionalAudioHelper",this.audio=s,this.range=n,this.divisionsInnerAngle=o,this.divisionsOuterAngle=r,this.update()}update(){const t=this.audio,e=this.range,i=this.divisionsInnerAngle,s=this.divisionsOuterAngle,o=n.degToRad(t.panner.coneInnerAngle),r=n.degToRad(t.panner.coneOuterAngle),a=o/2,d=r/2;let h,l,p=0,c=0;const u=this.geometry,g=u.attributes.position;function m(t,i,s,n){const o=(i-t)/s;for(g.setXYZ(p,0,0,0),c++,h=t;h<i;h+=o)l=p+c,g.setXYZ(l,Math.sin(h)*e,0,Math.cos(h)*e),g.setXYZ(l+1,Math.sin(Math.min(h+o,i))*e,0,Math.cos(Math.min(h+o,i))*e),g.setXYZ(l+2,0,0,0),c+=3;u.addGroup(p,c,n),p+=c,c=0}u.clearGroups(),m(-d,-a,s,0),m(-a,a,i,1),m(a,d,s,0),g.needsUpdate=!0,o===r&&(this.material[0].visible=!1)}dispose(){this.geometry.dispose(),this.material[0].dispose(),this.material[1].dispose()}}export{o as PositionalAudioHelper}
|
2
|
-
/*
|
1
|
+
import{BufferGeometry as t,BufferAttribute as e,LineBasicMaterial as i,Line as s,MathUtils as n}from"three";class o extends s{constructor(s,n=1,o=16,r=2){const a=new t,d=new Float32Array(3*(3*(o+2*r)+3));a.setAttribute("position",new e(d,3));const h=new i({color:65280,linewidth:2});super(a,[new i({color:16776960,linewidth:2}),h]),this.type="PositionalAudioHelper",this.audio=s,this.range=n,this.divisionsInnerAngle=o,this.divisionsOuterAngle=r,this.update()}update(){const t=this.audio,e=this.range,i=this.divisionsInnerAngle,s=this.divisionsOuterAngle,o=n.degToRad(t.panner.coneInnerAngle),r=n.degToRad(t.panner.coneOuterAngle),a=o/2,d=r/2;let h,l,p=0,c=0;const u=this.geometry,g=u.attributes.position;function m(t,i,s,n){const o=(i-t)/s;for(g.setXYZ(p,0,0,0),c++,h=t;h<i;h+=o)l=p+c,g.setXYZ(l,Math.sin(h)*e,0,Math.cos(h)*e),g.setXYZ(l+1,Math.sin(Math.min(h+o,i))*e,0,Math.cos(Math.min(h+o,i))*e),g.setXYZ(l+2,0,0,0),c+=3;u.addGroup(p,c,n),p+=c,c=0}u.clearGroups(),m(-d,-a,s,0),m(-a,a,i,1),m(a,d,s,0),g.needsUpdate=!0,o===r&&(this.material[0].visible=!1)}dispose(){this.geometry.dispose(),this.material[0].dispose(),this.material[1].dispose()}}export{o as PositionalAudioHelper};/*
|
3
2
|
* Copyright (©) 2023. All rights reserved.
|
4
3
|
* See the LICENSE.md file for details.
|
5
4
|
*/
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/utils/three/stats.ts"],"names":[],"mappings":"AAAA,QAAA,IAAI,KAAK;;;;;;;;;;CAyGR,CAAC;AA6DF,eAAe,KAAK,CAAC"}
|
@@ -1,5 +1,4 @@
|
|
1
|
-
var e=function(){var t=0,l=document.createElement("div");function n(e){return l.appendChild(e.dom),e}function a(e){for(var n=0;n<l.children.length;n++)l.children[n].style.display=n===e?"block":"none";t=e}l.style.cssText="position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000",l.addEventListener("click",(function(e){e.preventDefault(),a(++t%l.children.length)}),!1);var i=(performance||Date).now(),o=i,r=0,f=n(new e.Panel("FPS","#0ff","#002")),c=n(new e.Panel("MS","#0f0","#020"));if(self.performance&&self.performance.memory)var d=n(new e.Panel("MB","#f08","#201"));return a(0),{REVISION:16,dom:l,addPanel:n,showPanel:a,begin:function(){i=(performance||Date).now()},end:function(){r++;var e=(performance||Date).now();if(c.update(e-i,200),e>=o+1e3&&(f.update(1e3*r/(e-o),100),o=e,r=0,d)){var t=performance.memory;d.update(t.usedJSHeapSize/1048576,t.jsHeapSizeLimit/1048576)}return e},update:function(){i=this.end()},domElement:l,setMode:a}};e.Panel=function(e,t,l){var n=1/0,a=0,i=Math.round,o=i(window.devicePixelRatio||1),r=80*o,f=48*o,c=3*o,d=2*o,p=3*o,u=15*o,m=74*o,s=30*o,h=document.createElement("canvas");h.width=r,h.height=f,h.style.cssText="width:80px;height:48px";var v=h.getContext("2d");return v.font="bold "+9*o+"px Helvetica,Arial,sans-serif",v.textBaseline="top",v.fillStyle=l,v.fillRect(0,0,r,f),v.fillStyle=t,v.fillText(e,c,d),v.fillRect(p,u,m,s),v.fillStyle=l,v.globalAlpha=.9,v.fillRect(p,u,m,s),{dom:h,update:function(f,x){n=Math.min(n,f),a=Math.max(a,f),v.fillStyle=l,v.globalAlpha=1,v.fillRect(0,0,r,u),v.fillStyle=t,v.fillText(i(f)+" "+e+" ("+i(n)+"-"+i(a)+")",c,d),v.drawImage(h,p+o,u,m-o,s,p,u,m-o,s),v.fillRect(p+m-o,u,o,s),v.fillStyle=l,v.globalAlpha=.9,v.fillRect(p+m-o,u,o,i((1-f/x)*s))}}};export default e
|
2
|
-
/*
|
1
|
+
var e=function(){var t=0,l=document.createElement("div");function n(e){return l.appendChild(e.dom),e}function a(e){for(var n=0;n<l.children.length;n++)l.children[n].style.display=n===e?"block":"none";t=e}l.style.cssText="position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000",l.addEventListener("click",(function(e){e.preventDefault(),a(++t%l.children.length)}),!1);var i=(performance||Date).now(),o=i,r=0,f=n(new e.Panel("FPS","#0ff","#002")),c=n(new e.Panel("MS","#0f0","#020"));if(self.performance&&self.performance.memory)var d=n(new e.Panel("MB","#f08","#201"));return a(0),{REVISION:16,dom:l,addPanel:n,showPanel:a,begin:function(){i=(performance||Date).now()},end:function(){r++;var e=(performance||Date).now();if(c.update(e-i,200),e>=o+1e3&&(f.update(1e3*r/(e-o),100),o=e,r=0,d)){var t=performance.memory;d.update(t.usedJSHeapSize/1048576,t.jsHeapSizeLimit/1048576)}return e},update:function(){i=this.end()},domElement:l,setMode:a}};e.Panel=function(e,t,l){var n=1/0,a=0,i=Math.round,o=i(window.devicePixelRatio||1),r=80*o,f=48*o,c=3*o,d=2*o,p=3*o,u=15*o,m=74*o,s=30*o,h=document.createElement("canvas");h.width=r,h.height=f,h.style.cssText="width:80px;height:48px";var v=h.getContext("2d");return v.font="bold "+9*o+"px Helvetica,Arial,sans-serif",v.textBaseline="top",v.fillStyle=l,v.fillRect(0,0,r,f),v.fillStyle=t,v.fillText(e,c,d),v.fillRect(p,u,m,s),v.fillStyle=l,v.globalAlpha=.9,v.fillRect(p,u,m,s),{dom:h,update:function(f,x){n=Math.min(n,f),a=Math.max(a,f),v.fillStyle=l,v.globalAlpha=1,v.fillRect(0,0,r,u),v.fillStyle=t,v.fillText(i(f)+" "+e+" ("+i(n)+"-"+i(a)+")",c,d),v.drawImage(h,p+o,u,m-o,s,p,u,m-o,s),v.fillRect(p+m-o,u,o,s),v.fillStyle=l,v.globalAlpha=.9,v.fillRect(p+m-o,u,o,i((1-f/x)*s))}}};export default e;/*
|
3
2
|
* Copyright (©) 2023. All rights reserved.
|
4
3
|
* See the LICENSE.md file for details.
|
5
4
|
*/
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"transform-controls.d.ts","sourceRoot":"","sources":["../../../src/utils/three/transform-controls.js"],"names":[],"mappings":"AAsCA;IAEC,0CA0IC;IAtIA,qBAA2B;IAS3B,gBAA4B;IAI5B,+BAAoB;IACpB,8BAAmB;IAInB,+BAAoB;IAwFpB,iBAA4B;IAC5B,oBAA+B;IAC/B,kBAA6B;IAC7B,sBAAiC;IAEjC,yBAAoC;IACpC,8BAAyC;IACzC,iCAA4C;IAC5C,sBAAiC;IAEjC,0BAAqC;IACrC,gCAA2C;IAC3C,qBAAgC;IAEhC,wBAAmC;IACnC,6BAAwC;IACxC,qBAAgC;IAEhC,iBAA0C;IAC1C,oBAAgD;IAChD,qBAAkD;IAClD,oBAAgD;IAChD,kBAA4C;IAS7C,0BA8BC;IAED,iCAkBC;IARC,UAAiC;IAUnC,gCA+BC;IANC,kBAAoB;IAQtB,gCAuPC;IAnDE,mBAA6D;IAqDhE,8BAcC;IAED,gBAcC;IAGD,0BAOC;IALA,YAAoB;IAQrB,eAQC;IAED,cAiBC;IAED,0BAIC;IAID,eAIC;IAED,yBAIC;IAFA,UAAgB;IAIjB,+CAIC;IAFA,qBAAsC;IAIvC,yCAIC;IAFA,kBAAgC;IAIjC,mCAIC;IAFA,eAA0B;IAI3B,yBAIC;IAFA,UAAgB;IAIjB,2BAIC;IAFA,WAAkB;IAInB,eAIC;IAIF,6BAA+C;CAF9C;yBA/mBM,OAAO;0BAAP,OAAO;AAwuBd;IAEC,cAqXC;IAjXA,aAAoC;IA6VpC,UAAe;IACf,WAAgB;IAChB,WAAgB;IAsBjB,oCAyTC;IAIF,kCAAyD;CAFxD;AAMD;IAEC,cASC;IAFA,aAAoC;IAIrC,oCA0EC;IAIF,kCAAyD;CAFxD;wBA7/CM,OAAO;2BAAP,OAAO;+BAAP,OAAO;qBAAP,OAAO"}
|
@@ -1,5 +1,4 @@
|
|
1
|
-
import{BoxGeometry as t,BufferGeometry as e,CylinderGeometry as i,DoubleSide as n,Euler as o,Float32BufferAttribute as s,Line as a,LineBasicMaterial as r,Matrix4 as h,Mesh as l,MeshBasicMaterial as c,Object3D as p,OctahedronGeometry as d,PlaneGeometry as m,Quaternion as w,Raycaster as u,SphereGeometry as y,TorusGeometry as b,Vector3 as v}from"three";const M=new u,P=new v,g=new v,S=new w,x={X:new v(1,0,0),Y:new v(0,1,0),Z:new v(0,0,1)},_={type:"change"},f={type:"mouseDown"},E={type:"mouseUp",mode:null},I={type:"objectChange"};export class TransformControls extends p{constructor(t,e){super(),this.raycaster=M,void 0===e&&(console.warn('THREE.TransformControls: The second parameter "domElement" is now mandatory.'),e=document),this.visible=!1,this.domElement=e,this.domElement.style.touchAction="none";const i=new G;this._gizmo=i,this.gizmo=i,this.add(i);const n=new B;this._plane=n,this.add(n);const o=this;function s(t,e){let s=e;Object.defineProperty(o,t,{get:function(){return void 0!==s?s:e},set:function(e){s!==e&&(s=e,n[t]=e,i[t]=e,o.dispatchEvent({type:t+"-changed",value:e}),o.dispatchEvent(_))}}),o[t]=e,n[t]=e,i[t]=e}s("camera",t),s("object",void 0),s("enabled",!0),s("axis",null),s("mode","translate"),s("translationSnap",null),s("rotationSnap",null),s("scaleSnap",null),s("space","world"),s("size",1),s("dragging",!1),s("showX",!0),s("showY",!0),s("showZ",!0);const a=new v,r=new v,h=new w,l=new w,c=new v,p=new w,d=new v,m=new v,u=new v,y=new v;s("worldPosition",a),s("worldPositionStart",r),s("worldQuaternion",h),s("worldQuaternionStart",l),s("cameraPosition",c),s("cameraQuaternion",p),s("pointStart",d),s("pointEnd",m),s("rotationAxis",u),s("rotationAngle",0),s("eye",y),this._offset=new v,this._startNorm=new v,this._endNorm=new v,this._cameraScale=new v,this._parentPosition=new v,this._parentQuaternion=new w,this._parentQuaternionInv=new w,this._parentScale=new v,this._worldScaleStart=new v,this._worldQuaternionInv=new w,this._worldScale=new v,this._positionStart=new v,this._quaternionStart=new w,this._scaleStart=new v,this._getPointer=X.bind(this),this._onPointerDown=Y.bind(this),this._onPointerHover=Q.bind(this),this._onPointerMove=Z.bind(this),this._onPointerUp=A.bind(this),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointermove",this._onPointerHover),this.domElement.addEventListener("pointerup",this._onPointerUp)}updateMatrixWorld(){void 0!==this.object&&(this.object.updateMatrixWorld(),null===this.object.parent?console.error("TransformControls: The attached 3D object must be a part of the scene graph."):this.object.parent.matrixWorld.decompose(this._parentPosition,this._parentQuaternion,this._parentScale),this.object.matrixWorld.decompose(this.worldPosition,this.worldQuaternion,this._worldScale),this._parentQuaternionInv.copy(this._parentQuaternion).invert(),this._worldQuaternionInv.copy(this.worldQuaternion).invert()),this.camera.updateMatrixWorld(),this.camera.matrixWorld.decompose(this.cameraPosition,this.cameraQuaternion,this._cameraScale),this.eye.copy(this.cameraPosition).sub(this.worldPosition).normalize(),super.updateMatrixWorld(this)}pointerHover(t){if(void 0===this.object||!0===this.dragging)return;M.setFromCamera(t,this.camera);const e=z(this._gizmo.picker[this.mode],M);this.axis=e?e.object.name:null}pointerDown(t){if(void 0!==this.object&&!0!==this.dragging&&0===t.button&&null!==this.axis){M.setFromCamera(t,this.camera);const e=z(this._plane,M,!0);e&&(this.object.updateMatrixWorld(),this.object.parent.updateMatrixWorld(),this._positionStart.copy(this.object.position),this._quaternionStart.copy(this.object.quaternion),this._scaleStart.copy(this.object.scale),this.object.matrixWorld.decompose(this.worldPositionStart,this.worldQuaternionStart,this._worldScaleStart),this.pointStart.copy(e.point).sub(this.worldPositionStart)),this.dragging=!0,f.mode=this.mode,this.dispatchEvent(f)}}pointerMove(t){const e=this.axis,i=this.mode,n=this.object;let o=this.space;if("scale"===i?o="local":"E"!==e&&"XYZE"!==e&&"XYZ"!==e||(o="world"),void 0===n||null===e||!1===this.dragging||-1!==t.button)return;M.setFromCamera(t,this.camera);const s=z(this._plane,M,!0);if(s){if(this.pointEnd.copy(s.point).sub(this.worldPositionStart),"translate"===i)this._offset.copy(this.pointEnd).sub(this.pointStart),"local"===o&&"XYZ"!==e&&this._offset.applyQuaternion(this._worldQuaternionInv),-1===e.indexOf("X")&&(this._offset.x=0),-1===e.indexOf("Y")&&(this._offset.y=0),-1===e.indexOf("Z")&&(this._offset.z=0),"local"===o&&"XYZ"!==e?this._offset.applyQuaternion(this._quaternionStart).divide(this._parentScale):this._offset.applyQuaternion(this._parentQuaternionInv).divide(this._parentScale),n.position.copy(this._offset).add(this._positionStart),this.translationSnap&&("local"===o&&(n.position.applyQuaternion(S.copy(this._quaternionStart).invert()),-1!==e.search("X")&&(n.position.x=Math.round(n.position.x/this.translationSnap)*this.translationSnap),-1!==e.search("Y")&&(n.position.y=Math.round(n.position.y/this.translationSnap)*this.translationSnap),-1!==e.search("Z")&&(n.position.z=Math.round(n.position.z/this.translationSnap)*this.translationSnap),n.position.applyQuaternion(this._quaternionStart)),"world"===o&&(n.parent&&n.position.add(P.setFromMatrixPosition(n.parent.matrixWorld)),-1!==e.search("X")&&(n.position.x=Math.round(n.position.x/this.translationSnap)*this.translationSnap),-1!==e.search("Y")&&(n.position.y=Math.round(n.position.y/this.translationSnap)*this.translationSnap),-1!==e.search("Z")&&(n.position.z=Math.round(n.position.z/this.translationSnap)*this.translationSnap),n.parent&&n.position.sub(P.setFromMatrixPosition(n.parent.matrixWorld))));else if("scale"===i){if(-1!==e.search("XYZ")){let t=this.pointEnd.length()/this.pointStart.length();this.pointEnd.dot(this.pointStart)<0&&(t*=-1),g.set(t,t,t)}else P.copy(this.pointStart),g.copy(this.pointEnd),P.applyQuaternion(this._worldQuaternionInv),g.applyQuaternion(this._worldQuaternionInv),g.divide(P),-1===e.search("X")&&(g.x=1),-1===e.search("Y")&&(g.y=1),-1===e.search("Z")&&(g.z=1);n.scale.copy(this._scaleStart).multiply(g),this.scaleSnap&&(-1!==e.search("X")&&(n.scale.x=Math.round(n.scale.x/this.scaleSnap)*this.scaleSnap||this.scaleSnap),-1!==e.search("Y")&&(n.scale.y=Math.round(n.scale.y/this.scaleSnap)*this.scaleSnap||this.scaleSnap),-1!==e.search("Z")&&(n.scale.z=Math.round(n.scale.z/this.scaleSnap)*this.scaleSnap||this.scaleSnap))}else if("rotate"===i){this._offset.copy(this.pointEnd).sub(this.pointStart);const t=20/this.worldPosition.distanceTo(P.setFromMatrixPosition(this.camera.matrixWorld));"E"===e?(this.rotationAxis.copy(this.eye),this.rotationAngle=this.pointEnd.angleTo(this.pointStart),this._startNorm.copy(this.pointStart).normalize(),this._endNorm.copy(this.pointEnd).normalize(),this.rotationAngle*=this._endNorm.cross(this._startNorm).dot(this.eye)<0?1:-1):"XYZE"===e?(this.rotationAxis.copy(this._offset).cross(this.eye).normalize(),this.rotationAngle=this._offset.dot(P.copy(this.rotationAxis).cross(this.eye))*t):"X"!==e&&"Y"!==e&&"Z"!==e||(this.rotationAxis.copy(x[e]),P.copy(x[e]),"local"===o&&P.applyQuaternion(this.worldQuaternion),this.rotationAngle=this._offset.dot(P.cross(this.eye).normalize())*t),this.rotationSnap&&(this.rotationAngle=Math.round(this.rotationAngle/this.rotationSnap)*this.rotationSnap),"local"===o&&"E"!==e&&"XYZE"!==e?(n.quaternion.copy(this._quaternionStart),n.quaternion.multiply(S.setFromAxisAngle(this.rotationAxis,this.rotationAngle)).normalize()):(this.rotationAxis.applyQuaternion(this._parentQuaternionInv),n.quaternion.copy(S.setFromAxisAngle(this.rotationAxis,this.rotationAngle)),n.quaternion.multiply(this._quaternionStart).normalize())}this.dispatchEvent(_),this.dispatchEvent(I)}}pointerUp(t){0===t.button&&(this.dragging&&null!==this.axis&&(E.mode=this.mode,this.dispatchEvent(E)),this.dragging=!1,this.axis=null)}dispose(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointermove",this._onPointerHover),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.traverse((function(t){t.geometry&&t.geometry.dispose(),t.material&&t.material.dispose()}))}attach(t){return this.object=t,this.visible=!0,this}detach(){return this.object=void 0,this.visible=!1,this.axis=null,this}reset(){this.enabled&&this.dragging&&(this.object.position.copy(this._positionStart),this.object.quaternion.copy(this._quaternionStart),this.object.scale.copy(this._scaleStart),this.dispatchEvent(_),this.dispatchEvent(I),this.pointStart.copy(this.pointEnd))}getRaycaster(){return M}getMode(){return this.mode}setMode(t){this.mode=t}setTranslationSnap(t){this.translationSnap=t}setRotationSnap(t){this.rotationSnap=t}setScaleSnap(t){this.scaleSnap=t}setSize(t){this.size=t}setSpace(t){this.space=t}update(){console.warn("THREE.TransformControls: update function has no more functionality and therefore has been deprecated.")}}function X(t){if(this.domElement.ownerDocument.pointerLockElement)return{x:0,y:0,button:t.button};{const e=this.domElement.getBoundingClientRect();return{x:(t.clientX-e.left)/e.width*2-1,y:-(t.clientY-e.top)/e.height*2+1,button:t.button}}}function Q(t){if(this.enabled)switch(t.pointerType){case"mouse":case"pen":this.pointerHover(this._getPointer(t))}}function Y(t){this.enabled&&(document.pointerLockElement||this.domElement.setPointerCapture(t.pointerId),this.domElement.addEventListener("pointermove",this._onPointerMove),this.pointerHover(this._getPointer(t)),this.pointerDown(this._getPointer(t)))}function Z(t){this.enabled&&this.pointerMove(this._getPointer(t))}function A(t){this.enabled&&(this.domElement.releasePointerCapture(t.pointerId),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.pointerUp(this._getPointer(t)))}function z(t,e,i){const n=e.intersectObject(t,!0);for(let t=0;t<n.length;t++)if(n[t].object.visible||i)return n[t];return!1}TransformControls.prototype.isTransformControls=!0;const q=new o,T=new v(0,1,0),j=new v(0,0,0),k=new h,W=new w,C=new w,F=new v,H=new h,L=new v(1,0,0),D=new v(0,1,0),O=new v(0,0,1),R=new v,N=new v,U=new v;class G extends p{constructor(){super(),this.type="TransformControlsGizmo";const n=new c({depthTest:!1,depthWrite:!1,fog:!1,toneMapped:!1,transparent:!0}),o=new r({depthTest:!1,depthWrite:!1,fog:!1,toneMapped:!1,transparent:!0}),h=n.clone();h.opacity=.15;const m=o.clone();m.opacity=.5;const w=n.clone();w.color.setHex(16711680);const u=n.clone();u.color.setHex(65280);const v=n.clone();v.color.setHex(255);const M=n.clone();M.color.setHex(16711680),M.opacity=.5;const P=n.clone();P.color.setHex(65280),P.opacity=.5;const g=n.clone();g.color.setHex(255),g.opacity=.5;const S=n.clone();S.opacity=.25;const x=n.clone();x.color.setHex(16776960),x.opacity=.25;n.clone().color.setHex(16776960);const _=n.clone();_.color.setHex(7895160);const f=new i(0,.04,.1,12);f.translate(0,.05,0);const E=new t(.08,.08,.08);E.translate(0,.04,0);const I=new e;I.setAttribute("position",new s([0,0,0,1,0,0],3));const X=new i(.0075,.0075,.5,3);function Q(t,e){const i=new b(t,.0075,3,64,e*Math.PI*2);return i.rotateY(Math.PI/2),i.rotateX(Math.PI/2),i}X.translate(0,.25,0);const Y={X:[[new l(f,w),[.5,0,0],[0,0,-Math.PI/2]],[new l(f,w),[-.5,0,0],[0,0,Math.PI/2]],[new l(X,w),[0,0,0],[0,0,-Math.PI/2]]],Y:[[new l(f,u),[0,.5,0]],[new l(f,u),[0,-.5,0],[Math.PI,0,0]],[new l(X,u)]],Z:[[new l(f,v),[0,0,.5],[Math.PI/2,0,0]],[new l(f,v),[0,0,-.5],[-Math.PI/2,0,0]],[new l(X,v),null,[Math.PI/2,0,0]]],XYZ:[[new l(new d(.1,0),S.clone()),[0,0,0]]],XY:[[new l(new t(.15,.15,.01),g.clone()),[.15,.15,0]]],YZ:[[new l(new t(.15,.15,.01),M.clone()),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new l(new t(.15,.15,.01),P.clone()),[.15,0,.15],[-Math.PI/2,0,0]]]},Z={X:[[new l(new i(.2,0,.6,4),h),[.3,0,0],[0,0,-Math.PI/2]],[new l(new i(.2,0,.6,4),h),[-.3,0,0],[0,0,Math.PI/2]]],Y:[[new l(new i(.2,0,.6,4),h),[0,.3,0]],[new l(new i(.2,0,.6,4),h),[0,-.3,0],[0,0,Math.PI]]],Z:[[new l(new i(.2,0,.6,4),h),[0,0,.3],[Math.PI/2,0,0]],[new l(new i(.2,0,.6,4),h),[0,0,-.3],[-Math.PI/2,0,0]]],XYZ:[[new l(new d(.2,0),h)]],XY:[[new l(new t(.2,.2,.01),h),[.15,.15,0]]],YZ:[[new l(new t(.2,.2,.01),h),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new l(new t(.2,.2,.01),h),[.15,0,.15],[-Math.PI/2,0,0]]]},A={START:[[new l(new d(.01,2),m),null,null,null,"helper"]],END:[[new l(new d(.01,2),m),null,null,null,"helper"]],DELTA:[[new a(function(){const t=new e;return t.setAttribute("position",new s([0,0,0,1,1,1],3)),t}(),m),null,null,null,"helper"]],X:[[new a(I,m.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]],Y:[[new a(I,m.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],"helper"]],Z:[[new a(I,m.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],"helper"]]},z={XYZE:[[new l(Q(.5,1),_),null,[0,Math.PI/2,0]]],X:[[new l(Q(.5,.5),w)]],Y:[[new l(Q(.5,.5),u),null,[0,0,-Math.PI/2]]],Z:[[new l(Q(.5,.5),v),null,[0,Math.PI/2,0]]],E:[[new l(Q(.75,1),x),null,[0,Math.PI/2,0]]]},q={AXIS:[[new a(I,m.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]]},T={XYZE:[[new l(new y(.25,10,8),h)]],X:[[new l(new b(.5,.1,4,24),h),[0,0,0],[0,-Math.PI/2,-Math.PI/2]]],Y:[[new l(new b(.5,.1,4,24),h),[0,0,0],[Math.PI/2,0,0]]],Z:[[new l(new b(.5,.1,4,24),h),[0,0,0],[0,0,-Math.PI/2]]],E:[[new l(new b(.75,.1,2,24),h)]]},j={X:[[new l(E,w),[.5,0,0],[0,0,-Math.PI/2]],[new l(X,w),[0,0,0],[0,0,-Math.PI/2]],[new l(E,w),[-.5,0,0],[0,0,Math.PI/2]]],Y:[[new l(E,u),[0,.5,0]],[new l(X,u)],[new l(E,u),[0,-.5,0],[0,0,Math.PI]]],Z:[[new l(E,v),[0,0,.5],[Math.PI/2,0,0]],[new l(X,v),[0,0,0],[Math.PI/2,0,0]],[new l(E,v),[0,0,-.5],[-Math.PI/2,0,0]]],XY:[[new l(new t(.15,.15,.01),g),[.15,.15,0]]],YZ:[[new l(new t(.15,.15,.01),M),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new l(new t(.15,.15,.01),P),[.15,0,.15],[-Math.PI/2,0,0]]],XYZ:[[new l(new t(.1,.1,.1),S.clone())]]},k={X:[[new l(new i(.2,0,.6,4),h),[.3,0,0],[0,0,-Math.PI/2]],[new l(new i(.2,0,.6,4),h),[-.3,0,0],[0,0,Math.PI/2]]],Y:[[new l(new i(.2,0,.6,4),h),[0,.3,0]],[new l(new i(.2,0,.6,4),h),[0,-.3,0],[0,0,Math.PI]]],Z:[[new l(new i(.2,0,.6,4),h),[0,0,.3],[Math.PI/2,0,0]],[new l(new i(.2,0,.6,4),h),[0,0,-.3],[-Math.PI/2,0,0]]],XY:[[new l(new t(.2,.2,.01),h),[.15,.15,0]]],YZ:[[new l(new t(.2,.2,.01),h),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new l(new t(.2,.2,.01),h),[.15,0,.15],[-Math.PI/2,0,0]]],XYZ:[[new l(new t(.2,.2,.2),h),[0,0,0]]]},W={X:[[new a(I,m.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]],Y:[[new a(I,m.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],"helper"]],Z:[[new a(I,m.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],"helper"]]};function C(t){const e=new p;for(const i in t)for(let n=t[i].length;n--;){const o=t[i][n][0].clone(),s=t[i][n][1],a=t[i][n][2],r=t[i][n][3],h=t[i][n][4];o.name=i,o.tag=h,s&&o.position.set(s[0],s[1],s[2]),a&&o.rotation.set(a[0],a[1],a[2]),r&&o.scale.set(r[0],r[1],r[2]),o.updateMatrix();const l=o.geometry.clone();l.applyMatrix4(o.matrix),o.geometry=l,o.renderOrder=1/0,o.position.set(0,0,0),o.rotation.set(0,0,0),o.scale.set(1,1,1),e.add(o)}return e}this.gizmo={},this.picker={},this.helper={},this.add(this.gizmo.translate=C(Y)),this.add(this.gizmo.rotate=C(z)),this.add(this.gizmo.scale=C(j)),this.add(this.picker.translate=C(Z)),this.add(this.picker.rotate=C(T)),this.add(this.picker.scale=C(k)),this.add(this.helper.translate=C(A)),this.add(this.helper.rotate=C(q)),this.add(this.helper.scale=C(W)),this.picker.translate.visible=!1,this.picker.rotate.visible=!1,this.picker.scale.visible=!1}updateMatrixWorld(t){const e="local"===("scale"===this.mode?"local":this.space)?this.worldQuaternion:C;this.gizmo.translate.visible="translate"===this.mode,this.gizmo.rotate.visible="rotate"===this.mode,this.gizmo.scale.visible="scale"===this.mode,this.helper.translate.visible="translate"===this.mode,this.helper.rotate.visible="rotate"===this.mode,this.helper.scale.visible="scale"===this.mode;let i=[];i=i.concat(this.picker[this.mode].children),i=i.concat(this.gizmo[this.mode].children),i=i.concat(this.helper[this.mode].children);for(let t=0;t<i.length;t++){const n=i[t];let o;if(n.visible=!0,n.rotation.set(0,0,0),n.position.copy(this.worldPosition),o=this.camera.isOrthographicCamera?(this.camera.top-this.camera.bottom)/this.camera.zoom:this.worldPosition.distanceTo(this.cameraPosition)*Math.min(1.9*Math.tan(Math.PI*this.camera.fov/360)/this.camera.zoom,7),n.scale.set(1,1,1).multiplyScalar(o*this.size/4),"helper"!==n.tag){if(n.quaternion.copy(e),"translate"===this.mode||"scale"===this.mode){const t=.99,i=.2;"X"===n.name&&Math.abs(T.copy(L).applyQuaternion(e).dot(this.eye))>t&&(n.scale.set(1e-10,1e-10,1e-10),n.visible=!1),"Y"===n.name&&Math.abs(T.copy(D).applyQuaternion(e).dot(this.eye))>t&&(n.scale.set(1e-10,1e-10,1e-10),n.visible=!1),"Z"===n.name&&Math.abs(T.copy(O).applyQuaternion(e).dot(this.eye))>t&&(n.scale.set(1e-10,1e-10,1e-10),n.visible=!1),"XY"===n.name&&Math.abs(T.copy(O).applyQuaternion(e).dot(this.eye))<i&&(n.scale.set(1e-10,1e-10,1e-10),n.visible=!1),"YZ"===n.name&&Math.abs(T.copy(L).applyQuaternion(e).dot(this.eye))<i&&(n.scale.set(1e-10,1e-10,1e-10),n.visible=!1),"XZ"===n.name&&Math.abs(T.copy(D).applyQuaternion(e).dot(this.eye))<i&&(n.scale.set(1e-10,1e-10,1e-10),n.visible=!1)}else"rotate"===this.mode&&(W.copy(e),T.copy(this.eye).applyQuaternion(S.copy(e).invert()),-1!==n.name.search("E")&&n.quaternion.setFromRotationMatrix(k.lookAt(this.eye,j,D)),"X"===n.name&&(S.setFromAxisAngle(L,Math.atan2(-T.y,T.z)),S.multiplyQuaternions(W,S),n.quaternion.copy(S)),"Y"===n.name&&(S.setFromAxisAngle(D,Math.atan2(T.x,T.z)),S.multiplyQuaternions(W,S),n.quaternion.copy(S)),"Z"===n.name&&(S.setFromAxisAngle(O,Math.atan2(T.y,T.x)),S.multiplyQuaternions(W,S),n.quaternion.copy(S)));n.visible=n.visible&&(-1===n.name.indexOf("X")||this.showX),n.visible=n.visible&&(-1===n.name.indexOf("Y")||this.showY),n.visible=n.visible&&(-1===n.name.indexOf("Z")||this.showZ),n.visible=n.visible&&(-1===n.name.indexOf("E")||this.showX&&this.showY&&this.showZ),n.material._color=n.material._color||n.material.color.clone(),n.material._opacity=n.material._opacity||n.material.opacity,n.material.color.copy(n.material._color),n.material.opacity=n.material._opacity,this.enabled&&this.axis&&(n.name===this.axis||this.axis.split("").some((function(t){return n.name===t})))&&(n.material.color.setHex(16776960),n.material.opacity=1)}else n.visible=!1,"AXIS"===n.name?(n.position.copy(this.worldPositionStart),n.visible=!!this.axis,"X"===this.axis&&(S.setFromEuler(q.set(0,0,0)),n.quaternion.copy(e).multiply(S),Math.abs(T.copy(L).applyQuaternion(e).dot(this.eye))>.9&&(n.visible=!1)),"Y"===this.axis&&(S.setFromEuler(q.set(0,0,Math.PI/2)),n.quaternion.copy(e).multiply(S),Math.abs(T.copy(D).applyQuaternion(e).dot(this.eye))>.9&&(n.visible=!1)),"Z"===this.axis&&(S.setFromEuler(q.set(0,Math.PI/2,0)),n.quaternion.copy(e).multiply(S),Math.abs(T.copy(O).applyQuaternion(e).dot(this.eye))>.9&&(n.visible=!1)),"XYZE"===this.axis&&(S.setFromEuler(q.set(0,Math.PI/2,0)),T.copy(this.rotationAxis),n.quaternion.setFromRotationMatrix(k.lookAt(j,T,D)),n.quaternion.multiply(S),n.visible=this.dragging),"E"===this.axis&&(n.visible=!1)):"START"===n.name?(n.position.copy(this.worldPositionStart),n.visible=this.dragging):"END"===n.name?(n.position.copy(this.worldPosition),n.visible=this.dragging):"DELTA"===n.name?(n.position.copy(this.worldPositionStart),n.quaternion.copy(this.worldQuaternionStart),P.set(1e-10,1e-10,1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1),P.applyQuaternion(this.worldQuaternionStart.clone().invert()),n.scale.copy(P),n.visible=this.dragging):(n.quaternion.copy(e),this.dragging?n.position.copy(this.worldPositionStart):n.position.copy(this.worldPosition),this.axis&&(n.visible=-1!==this.axis.search(n.name)))}super.updateMatrixWorld(t)}}G.prototype.isTransformControlsGizmo=!0;class B extends l{constructor(){super(new m(1e5,1e5,2,2),new c({visible:!1,wireframe:!0,side:n,transparent:!0,opacity:.1,toneMapped:!1})),this.type="TransformControlsPlane"}updateMatrixWorld(t){let e=this.space;switch(this.position.copy(this.worldPosition),"scale"===this.mode&&(e="local"),R.copy(L).applyQuaternion("local"===e?this.worldQuaternion:C),N.copy(D).applyQuaternion("local"===e?this.worldQuaternion:C),U.copy(O).applyQuaternion("local"===e?this.worldQuaternion:C),T.copy(N),this.mode){case"translate":case"scale":switch(this.axis){case"X":T.copy(this.eye).cross(R),F.copy(R).cross(T);break;case"Y":T.copy(this.eye).cross(N),F.copy(N).cross(T);break;case"Z":T.copy(this.eye).cross(U),F.copy(U).cross(T);break;case"XY":F.copy(U);break;case"YZ":F.copy(R);break;case"XZ":T.copy(U),F.copy(N);break;case"XYZ":case"E":F.set(0,0,0)}break;default:F.set(0,0,0)}0===F.length()?this.quaternion.copy(this.cameraQuaternion):(H.lookAt(P.set(0,0,0),F,T),this.quaternion.setFromRotationMatrix(H)),super.updateMatrixWorld(t)}}B.prototype.isTransformControlsPlane=!0;export{G as TransformControlsGizmo,B as TransformControlsPlane};
|
2
|
-
/*
|
1
|
+
import{BoxGeometry as t,BufferGeometry as e,CylinderGeometry as i,DoubleSide as n,Euler as o,Float32BufferAttribute as s,Line as a,LineBasicMaterial as r,Matrix4 as h,Mesh as l,MeshBasicMaterial as c,Object3D as p,OctahedronGeometry as d,PlaneGeometry as m,Quaternion as w,Raycaster as u,SphereGeometry as y,TorusGeometry as b,Vector3 as v}from"three";const M=new u,P=new v,g=new v,S=new w,x={X:new v(1,0,0),Y:new v(0,1,0),Z:new v(0,0,1)},_={type:"change"},f={type:"mouseDown"},E={type:"mouseUp",mode:null},I={type:"objectChange"};export class TransformControls extends p{constructor(t,e){super(),this.raycaster=M,void 0===e&&(console.warn('THREE.TransformControls: The second parameter "domElement" is now mandatory.'),e=document),this.visible=!1,this.domElement=e,this.domElement.style.touchAction="none";const i=new G;this._gizmo=i,this.gizmo=i,this.add(i);const n=new B;this._plane=n,this.add(n);const o=this;function s(t,e){let s=e;Object.defineProperty(o,t,{get:function(){return void 0!==s?s:e},set:function(e){s!==e&&(s=e,n[t]=e,i[t]=e,o.dispatchEvent({type:t+"-changed",value:e}),o.dispatchEvent(_))}}),o[t]=e,n[t]=e,i[t]=e}s("camera",t),s("object",void 0),s("enabled",!0),s("axis",null),s("mode","translate"),s("translationSnap",null),s("rotationSnap",null),s("scaleSnap",null),s("space","world"),s("size",1),s("dragging",!1),s("showX",!0),s("showY",!0),s("showZ",!0);const a=new v,r=new v,h=new w,l=new w,c=new v,p=new w,d=new v,m=new v,u=new v,y=new v;s("worldPosition",a),s("worldPositionStart",r),s("worldQuaternion",h),s("worldQuaternionStart",l),s("cameraPosition",c),s("cameraQuaternion",p),s("pointStart",d),s("pointEnd",m),s("rotationAxis",u),s("rotationAngle",0),s("eye",y),this._offset=new v,this._startNorm=new v,this._endNorm=new v,this._cameraScale=new v,this._parentPosition=new v,this._parentQuaternion=new w,this._parentQuaternionInv=new w,this._parentScale=new v,this._worldScaleStart=new v,this._worldQuaternionInv=new w,this._worldScale=new v,this._positionStart=new v,this._quaternionStart=new w,this._scaleStart=new v,this._getPointer=X.bind(this),this._onPointerDown=Y.bind(this),this._onPointerHover=Q.bind(this),this._onPointerMove=Z.bind(this),this._onPointerUp=A.bind(this),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointermove",this._onPointerHover),this.domElement.addEventListener("pointerup",this._onPointerUp)}updateMatrixWorld(){void 0!==this.object&&(this.object.updateMatrixWorld(),null===this.object.parent?console.error("TransformControls: The attached 3D object must be a part of the scene graph."):this.object.parent.matrixWorld.decompose(this._parentPosition,this._parentQuaternion,this._parentScale),this.object.matrixWorld.decompose(this.worldPosition,this.worldQuaternion,this._worldScale),this._parentQuaternionInv.copy(this._parentQuaternion).invert(),this._worldQuaternionInv.copy(this.worldQuaternion).invert()),this.camera.updateMatrixWorld(),this.camera.matrixWorld.decompose(this.cameraPosition,this.cameraQuaternion,this._cameraScale),this.eye.copy(this.cameraPosition).sub(this.worldPosition).normalize(),super.updateMatrixWorld(this)}pointerHover(t){if(void 0===this.object||!0===this.dragging)return;M.setFromCamera(t,this.camera);const e=z(this._gizmo.picker[this.mode],M);this.axis=e?e.object.name:null}pointerDown(t){if(void 0!==this.object&&!0!==this.dragging&&0===t.button&&null!==this.axis){M.setFromCamera(t,this.camera);const e=z(this._plane,M,!0);e&&(this.object.updateMatrixWorld(),this.object.parent.updateMatrixWorld(),this._positionStart.copy(this.object.position),this._quaternionStart.copy(this.object.quaternion),this._scaleStart.copy(this.object.scale),this.object.matrixWorld.decompose(this.worldPositionStart,this.worldQuaternionStart,this._worldScaleStart),this.pointStart.copy(e.point).sub(this.worldPositionStart)),this.dragging=!0,f.mode=this.mode,this.dispatchEvent(f)}}pointerMove(t){const e=this.axis,i=this.mode,n=this.object;let o=this.space;if("scale"===i?o="local":"E"!==e&&"XYZE"!==e&&"XYZ"!==e||(o="world"),void 0===n||null===e||!1===this.dragging||-1!==t.button)return;M.setFromCamera(t,this.camera);const s=z(this._plane,M,!0);if(s){if(this.pointEnd.copy(s.point).sub(this.worldPositionStart),"translate"===i)this._offset.copy(this.pointEnd).sub(this.pointStart),"local"===o&&"XYZ"!==e&&this._offset.applyQuaternion(this._worldQuaternionInv),-1===e.indexOf("X")&&(this._offset.x=0),-1===e.indexOf("Y")&&(this._offset.y=0),-1===e.indexOf("Z")&&(this._offset.z=0),"local"===o&&"XYZ"!==e?this._offset.applyQuaternion(this._quaternionStart).divide(this._parentScale):this._offset.applyQuaternion(this._parentQuaternionInv).divide(this._parentScale),n.position.copy(this._offset).add(this._positionStart),this.translationSnap&&("local"===o&&(n.position.applyQuaternion(S.copy(this._quaternionStart).invert()),-1!==e.search("X")&&(n.position.x=Math.round(n.position.x/this.translationSnap)*this.translationSnap),-1!==e.search("Y")&&(n.position.y=Math.round(n.position.y/this.translationSnap)*this.translationSnap),-1!==e.search("Z")&&(n.position.z=Math.round(n.position.z/this.translationSnap)*this.translationSnap),n.position.applyQuaternion(this._quaternionStart)),"world"===o&&(n.parent&&n.position.add(P.setFromMatrixPosition(n.parent.matrixWorld)),-1!==e.search("X")&&(n.position.x=Math.round(n.position.x/this.translationSnap)*this.translationSnap),-1!==e.search("Y")&&(n.position.y=Math.round(n.position.y/this.translationSnap)*this.translationSnap),-1!==e.search("Z")&&(n.position.z=Math.round(n.position.z/this.translationSnap)*this.translationSnap),n.parent&&n.position.sub(P.setFromMatrixPosition(n.parent.matrixWorld))));else if("scale"===i){if(-1!==e.search("XYZ")){let t=this.pointEnd.length()/this.pointStart.length();this.pointEnd.dot(this.pointStart)<0&&(t*=-1),g.set(t,t,t)}else P.copy(this.pointStart),g.copy(this.pointEnd),P.applyQuaternion(this._worldQuaternionInv),g.applyQuaternion(this._worldQuaternionInv),g.divide(P),-1===e.search("X")&&(g.x=1),-1===e.search("Y")&&(g.y=1),-1===e.search("Z")&&(g.z=1);n.scale.copy(this._scaleStart).multiply(g),this.scaleSnap&&(-1!==e.search("X")&&(n.scale.x=Math.round(n.scale.x/this.scaleSnap)*this.scaleSnap||this.scaleSnap),-1!==e.search("Y")&&(n.scale.y=Math.round(n.scale.y/this.scaleSnap)*this.scaleSnap||this.scaleSnap),-1!==e.search("Z")&&(n.scale.z=Math.round(n.scale.z/this.scaleSnap)*this.scaleSnap||this.scaleSnap))}else if("rotate"===i){this._offset.copy(this.pointEnd).sub(this.pointStart);const t=20/this.worldPosition.distanceTo(P.setFromMatrixPosition(this.camera.matrixWorld));"E"===e?(this.rotationAxis.copy(this.eye),this.rotationAngle=this.pointEnd.angleTo(this.pointStart),this._startNorm.copy(this.pointStart).normalize(),this._endNorm.copy(this.pointEnd).normalize(),this.rotationAngle*=this._endNorm.cross(this._startNorm).dot(this.eye)<0?1:-1):"XYZE"===e?(this.rotationAxis.copy(this._offset).cross(this.eye).normalize(),this.rotationAngle=this._offset.dot(P.copy(this.rotationAxis).cross(this.eye))*t):"X"!==e&&"Y"!==e&&"Z"!==e||(this.rotationAxis.copy(x[e]),P.copy(x[e]),"local"===o&&P.applyQuaternion(this.worldQuaternion),this.rotationAngle=this._offset.dot(P.cross(this.eye).normalize())*t),this.rotationSnap&&(this.rotationAngle=Math.round(this.rotationAngle/this.rotationSnap)*this.rotationSnap),"local"===o&&"E"!==e&&"XYZE"!==e?(n.quaternion.copy(this._quaternionStart),n.quaternion.multiply(S.setFromAxisAngle(this.rotationAxis,this.rotationAngle)).normalize()):(this.rotationAxis.applyQuaternion(this._parentQuaternionInv),n.quaternion.copy(S.setFromAxisAngle(this.rotationAxis,this.rotationAngle)),n.quaternion.multiply(this._quaternionStart).normalize())}this.dispatchEvent(_),this.dispatchEvent(I)}}pointerUp(t){0===t.button&&(this.dragging&&null!==this.axis&&(E.mode=this.mode,this.dispatchEvent(E)),this.dragging=!1,this.axis=null)}dispose(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointermove",this._onPointerHover),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.traverse((function(t){t.geometry&&t.geometry.dispose(),t.material&&t.material.dispose()}))}attach(t){return this.object=t,this.visible=!0,this}detach(){return this.object=void 0,this.visible=!1,this.axis=null,this}reset(){this.enabled&&this.dragging&&(this.object.position.copy(this._positionStart),this.object.quaternion.copy(this._quaternionStart),this.object.scale.copy(this._scaleStart),this.dispatchEvent(_),this.dispatchEvent(I),this.pointStart.copy(this.pointEnd))}getRaycaster(){return M}getMode(){return this.mode}setMode(t){this.mode=t}setTranslationSnap(t){this.translationSnap=t}setRotationSnap(t){this.rotationSnap=t}setScaleSnap(t){this.scaleSnap=t}setSize(t){this.size=t}setSpace(t){this.space=t}update(){console.warn("THREE.TransformControls: update function has no more functionality and therefore has been deprecated.")}}function X(t){if(this.domElement.ownerDocument.pointerLockElement)return{x:0,y:0,button:t.button};{const e=this.domElement.getBoundingClientRect();return{x:(t.clientX-e.left)/e.width*2-1,y:-(t.clientY-e.top)/e.height*2+1,button:t.button}}}function Q(t){if(this.enabled)switch(t.pointerType){case"mouse":case"pen":this.pointerHover(this._getPointer(t))}}function Y(t){this.enabled&&(document.pointerLockElement||this.domElement.setPointerCapture(t.pointerId),this.domElement.addEventListener("pointermove",this._onPointerMove),this.pointerHover(this._getPointer(t)),this.pointerDown(this._getPointer(t)))}function Z(t){this.enabled&&this.pointerMove(this._getPointer(t))}function A(t){this.enabled&&(this.domElement.releasePointerCapture(t.pointerId),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.pointerUp(this._getPointer(t)))}function z(t,e,i){const n=e.intersectObject(t,!0);for(let t=0;t<n.length;t++)if(n[t].object.visible||i)return n[t];return!1}TransformControls.prototype.isTransformControls=!0;const q=new o,T=new v(0,1,0),j=new v(0,0,0),k=new h,W=new w,C=new w,F=new v,H=new h,L=new v(1,0,0),D=new v(0,1,0),O=new v(0,0,1),R=new v,N=new v,U=new v;class G extends p{constructor(){super(),this.type="TransformControlsGizmo";const n=new c({depthTest:!1,depthWrite:!1,fog:!1,toneMapped:!1,transparent:!0}),o=new r({depthTest:!1,depthWrite:!1,fog:!1,toneMapped:!1,transparent:!0}),h=n.clone();h.opacity=.15;const m=o.clone();m.opacity=.5;const w=n.clone();w.color.setHex(16711680);const u=n.clone();u.color.setHex(65280);const v=n.clone();v.color.setHex(255);const M=n.clone();M.color.setHex(16711680),M.opacity=.5;const P=n.clone();P.color.setHex(65280),P.opacity=.5;const g=n.clone();g.color.setHex(255),g.opacity=.5;const S=n.clone();S.opacity=.25;const x=n.clone();x.color.setHex(16776960),x.opacity=.25;n.clone().color.setHex(16776960);const _=n.clone();_.color.setHex(7895160);const f=new i(0,.04,.1,12);f.translate(0,.05,0);const E=new t(.08,.08,.08);E.translate(0,.04,0);const I=new e;I.setAttribute("position",new s([0,0,0,1,0,0],3));const X=new i(.0075,.0075,.5,3);function Q(t,e){const i=new b(t,.0075,3,64,e*Math.PI*2);return i.rotateY(Math.PI/2),i.rotateX(Math.PI/2),i}X.translate(0,.25,0);const Y={X:[[new l(f,w),[.5,0,0],[0,0,-Math.PI/2]],[new l(f,w),[-.5,0,0],[0,0,Math.PI/2]],[new l(X,w),[0,0,0],[0,0,-Math.PI/2]]],Y:[[new l(f,u),[0,.5,0]],[new l(f,u),[0,-.5,0],[Math.PI,0,0]],[new l(X,u)]],Z:[[new l(f,v),[0,0,.5],[Math.PI/2,0,0]],[new l(f,v),[0,0,-.5],[-Math.PI/2,0,0]],[new l(X,v),null,[Math.PI/2,0,0]]],XYZ:[[new l(new d(.1,0),S.clone()),[0,0,0]]],XY:[[new l(new t(.15,.15,.01),g.clone()),[.15,.15,0]]],YZ:[[new l(new t(.15,.15,.01),M.clone()),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new l(new t(.15,.15,.01),P.clone()),[.15,0,.15],[-Math.PI/2,0,0]]]},Z={X:[[new l(new i(.2,0,.6,4),h),[.3,0,0],[0,0,-Math.PI/2]],[new l(new i(.2,0,.6,4),h),[-.3,0,0],[0,0,Math.PI/2]]],Y:[[new l(new i(.2,0,.6,4),h),[0,.3,0]],[new l(new i(.2,0,.6,4),h),[0,-.3,0],[0,0,Math.PI]]],Z:[[new l(new i(.2,0,.6,4),h),[0,0,.3],[Math.PI/2,0,0]],[new l(new i(.2,0,.6,4),h),[0,0,-.3],[-Math.PI/2,0,0]]],XYZ:[[new l(new d(.2,0),h)]],XY:[[new l(new t(.2,.2,.01),h),[.15,.15,0]]],YZ:[[new l(new t(.2,.2,.01),h),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new l(new t(.2,.2,.01),h),[.15,0,.15],[-Math.PI/2,0,0]]]},A={START:[[new l(new d(.01,2),m),null,null,null,"helper"]],END:[[new l(new d(.01,2),m),null,null,null,"helper"]],DELTA:[[new a(function(){const t=new e;return t.setAttribute("position",new s([0,0,0,1,1,1],3)),t}(),m),null,null,null,"helper"]],X:[[new a(I,m.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]],Y:[[new a(I,m.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],"helper"]],Z:[[new a(I,m.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],"helper"]]},z={XYZE:[[new l(Q(.5,1),_),null,[0,Math.PI/2,0]]],X:[[new l(Q(.5,.5),w)]],Y:[[new l(Q(.5,.5),u),null,[0,0,-Math.PI/2]]],Z:[[new l(Q(.5,.5),v),null,[0,Math.PI/2,0]]],E:[[new l(Q(.75,1),x),null,[0,Math.PI/2,0]]]},q={AXIS:[[new a(I,m.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]]},T={XYZE:[[new l(new y(.25,10,8),h)]],X:[[new l(new b(.5,.1,4,24),h),[0,0,0],[0,-Math.PI/2,-Math.PI/2]]],Y:[[new l(new b(.5,.1,4,24),h),[0,0,0],[Math.PI/2,0,0]]],Z:[[new l(new b(.5,.1,4,24),h),[0,0,0],[0,0,-Math.PI/2]]],E:[[new l(new b(.75,.1,2,24),h)]]},j={X:[[new l(E,w),[.5,0,0],[0,0,-Math.PI/2]],[new l(X,w),[0,0,0],[0,0,-Math.PI/2]],[new l(E,w),[-.5,0,0],[0,0,Math.PI/2]]],Y:[[new l(E,u),[0,.5,0]],[new l(X,u)],[new l(E,u),[0,-.5,0],[0,0,Math.PI]]],Z:[[new l(E,v),[0,0,.5],[Math.PI/2,0,0]],[new l(X,v),[0,0,0],[Math.PI/2,0,0]],[new l(E,v),[0,0,-.5],[-Math.PI/2,0,0]]],XY:[[new l(new t(.15,.15,.01),g),[.15,.15,0]]],YZ:[[new l(new t(.15,.15,.01),M),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new l(new t(.15,.15,.01),P),[.15,0,.15],[-Math.PI/2,0,0]]],XYZ:[[new l(new t(.1,.1,.1),S.clone())]]},k={X:[[new l(new i(.2,0,.6,4),h),[.3,0,0],[0,0,-Math.PI/2]],[new l(new i(.2,0,.6,4),h),[-.3,0,0],[0,0,Math.PI/2]]],Y:[[new l(new i(.2,0,.6,4),h),[0,.3,0]],[new l(new i(.2,0,.6,4),h),[0,-.3,0],[0,0,Math.PI]]],Z:[[new l(new i(.2,0,.6,4),h),[0,0,.3],[Math.PI/2,0,0]],[new l(new i(.2,0,.6,4),h),[0,0,-.3],[-Math.PI/2,0,0]]],XY:[[new l(new t(.2,.2,.01),h),[.15,.15,0]]],YZ:[[new l(new t(.2,.2,.01),h),[0,.15,.15],[0,Math.PI/2,0]]],XZ:[[new l(new t(.2,.2,.01),h),[.15,0,.15],[-Math.PI/2,0,0]]],XYZ:[[new l(new t(.2,.2,.2),h),[0,0,0]]]},W={X:[[new a(I,m.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]],Y:[[new a(I,m.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],"helper"]],Z:[[new a(I,m.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],"helper"]]};function C(t){const e=new p;for(const i in t)for(let n=t[i].length;n--;){const o=t[i][n][0].clone(),s=t[i][n][1],a=t[i][n][2],r=t[i][n][3],h=t[i][n][4];o.name=i,o.tag=h,s&&o.position.set(s[0],s[1],s[2]),a&&o.rotation.set(a[0],a[1],a[2]),r&&o.scale.set(r[0],r[1],r[2]),o.updateMatrix();const l=o.geometry.clone();l.applyMatrix4(o.matrix),o.geometry=l,o.renderOrder=1/0,o.position.set(0,0,0),o.rotation.set(0,0,0),o.scale.set(1,1,1),e.add(o)}return e}this.gizmo={},this.picker={},this.helper={},this.add(this.gizmo.translate=C(Y)),this.add(this.gizmo.rotate=C(z)),this.add(this.gizmo.scale=C(j)),this.add(this.picker.translate=C(Z)),this.add(this.picker.rotate=C(T)),this.add(this.picker.scale=C(k)),this.add(this.helper.translate=C(A)),this.add(this.helper.rotate=C(q)),this.add(this.helper.scale=C(W)),this.picker.translate.visible=!1,this.picker.rotate.visible=!1,this.picker.scale.visible=!1}updateMatrixWorld(t){const e="local"===("scale"===this.mode?"local":this.space)?this.worldQuaternion:C;this.gizmo.translate.visible="translate"===this.mode,this.gizmo.rotate.visible="rotate"===this.mode,this.gizmo.scale.visible="scale"===this.mode,this.helper.translate.visible="translate"===this.mode,this.helper.rotate.visible="rotate"===this.mode,this.helper.scale.visible="scale"===this.mode;let i=[];i=i.concat(this.picker[this.mode].children),i=i.concat(this.gizmo[this.mode].children),i=i.concat(this.helper[this.mode].children);for(let t=0;t<i.length;t++){const n=i[t];let o;if(n.visible=!0,n.rotation.set(0,0,0),n.position.copy(this.worldPosition),o=this.camera.isOrthographicCamera?(this.camera.top-this.camera.bottom)/this.camera.zoom:this.worldPosition.distanceTo(this.cameraPosition)*Math.min(1.9*Math.tan(Math.PI*this.camera.fov/360)/this.camera.zoom,7),n.scale.set(1,1,1).multiplyScalar(o*this.size/4),"helper"!==n.tag){if(n.quaternion.copy(e),"translate"===this.mode||"scale"===this.mode){const t=.99,i=.2;"X"===n.name&&Math.abs(T.copy(L).applyQuaternion(e).dot(this.eye))>t&&(n.scale.set(1e-10,1e-10,1e-10),n.visible=!1),"Y"===n.name&&Math.abs(T.copy(D).applyQuaternion(e).dot(this.eye))>t&&(n.scale.set(1e-10,1e-10,1e-10),n.visible=!1),"Z"===n.name&&Math.abs(T.copy(O).applyQuaternion(e).dot(this.eye))>t&&(n.scale.set(1e-10,1e-10,1e-10),n.visible=!1),"XY"===n.name&&Math.abs(T.copy(O).applyQuaternion(e).dot(this.eye))<i&&(n.scale.set(1e-10,1e-10,1e-10),n.visible=!1),"YZ"===n.name&&Math.abs(T.copy(L).applyQuaternion(e).dot(this.eye))<i&&(n.scale.set(1e-10,1e-10,1e-10),n.visible=!1),"XZ"===n.name&&Math.abs(T.copy(D).applyQuaternion(e).dot(this.eye))<i&&(n.scale.set(1e-10,1e-10,1e-10),n.visible=!1)}else"rotate"===this.mode&&(W.copy(e),T.copy(this.eye).applyQuaternion(S.copy(e).invert()),-1!==n.name.search("E")&&n.quaternion.setFromRotationMatrix(k.lookAt(this.eye,j,D)),"X"===n.name&&(S.setFromAxisAngle(L,Math.atan2(-T.y,T.z)),S.multiplyQuaternions(W,S),n.quaternion.copy(S)),"Y"===n.name&&(S.setFromAxisAngle(D,Math.atan2(T.x,T.z)),S.multiplyQuaternions(W,S),n.quaternion.copy(S)),"Z"===n.name&&(S.setFromAxisAngle(O,Math.atan2(T.y,T.x)),S.multiplyQuaternions(W,S),n.quaternion.copy(S)));n.visible=n.visible&&(-1===n.name.indexOf("X")||this.showX),n.visible=n.visible&&(-1===n.name.indexOf("Y")||this.showY),n.visible=n.visible&&(-1===n.name.indexOf("Z")||this.showZ),n.visible=n.visible&&(-1===n.name.indexOf("E")||this.showX&&this.showY&&this.showZ),n.material._color=n.material._color||n.material.color.clone(),n.material._opacity=n.material._opacity||n.material.opacity,n.material.color.copy(n.material._color),n.material.opacity=n.material._opacity,this.enabled&&this.axis&&(n.name===this.axis||this.axis.split("").some((function(t){return n.name===t})))&&(n.material.color.setHex(16776960),n.material.opacity=1)}else n.visible=!1,"AXIS"===n.name?(n.position.copy(this.worldPositionStart),n.visible=!!this.axis,"X"===this.axis&&(S.setFromEuler(q.set(0,0,0)),n.quaternion.copy(e).multiply(S),Math.abs(T.copy(L).applyQuaternion(e).dot(this.eye))>.9&&(n.visible=!1)),"Y"===this.axis&&(S.setFromEuler(q.set(0,0,Math.PI/2)),n.quaternion.copy(e).multiply(S),Math.abs(T.copy(D).applyQuaternion(e).dot(this.eye))>.9&&(n.visible=!1)),"Z"===this.axis&&(S.setFromEuler(q.set(0,Math.PI/2,0)),n.quaternion.copy(e).multiply(S),Math.abs(T.copy(O).applyQuaternion(e).dot(this.eye))>.9&&(n.visible=!1)),"XYZE"===this.axis&&(S.setFromEuler(q.set(0,Math.PI/2,0)),T.copy(this.rotationAxis),n.quaternion.setFromRotationMatrix(k.lookAt(j,T,D)),n.quaternion.multiply(S),n.visible=this.dragging),"E"===this.axis&&(n.visible=!1)):"START"===n.name?(n.position.copy(this.worldPositionStart),n.visible=this.dragging):"END"===n.name?(n.position.copy(this.worldPosition),n.visible=this.dragging):"DELTA"===n.name?(n.position.copy(this.worldPositionStart),n.quaternion.copy(this.worldQuaternionStart),P.set(1e-10,1e-10,1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1),P.applyQuaternion(this.worldQuaternionStart.clone().invert()),n.scale.copy(P),n.visible=this.dragging):(n.quaternion.copy(e),this.dragging?n.position.copy(this.worldPositionStart):n.position.copy(this.worldPosition),this.axis&&(n.visible=-1!==this.axis.search(n.name)))}super.updateMatrixWorld(t)}}G.prototype.isTransformControlsGizmo=!0;class B extends l{constructor(){super(new m(1e5,1e5,2,2),new c({visible:!1,wireframe:!0,side:n,transparent:!0,opacity:.1,toneMapped:!1})),this.type="TransformControlsPlane"}updateMatrixWorld(t){let e=this.space;switch(this.position.copy(this.worldPosition),"scale"===this.mode&&(e="local"),R.copy(L).applyQuaternion("local"===e?this.worldQuaternion:C),N.copy(D).applyQuaternion("local"===e?this.worldQuaternion:C),U.copy(O).applyQuaternion("local"===e?this.worldQuaternion:C),T.copy(N),this.mode){case"translate":case"scale":switch(this.axis){case"X":T.copy(this.eye).cross(R),F.copy(R).cross(T);break;case"Y":T.copy(this.eye).cross(N),F.copy(N).cross(T);break;case"Z":T.copy(this.eye).cross(U),F.copy(U).cross(T);break;case"XY":F.copy(U);break;case"YZ":F.copy(R);break;case"XZ":T.copy(U),F.copy(N);break;case"XYZ":case"E":F.set(0,0,0)}break;default:F.set(0,0,0)}0===F.length()?this.quaternion.copy(this.cameraQuaternion):(H.lookAt(P.set(0,0,0),F,T),this.quaternion.setFromRotationMatrix(H)),super.updateMatrixWorld(t)}}B.prototype.isTransformControlsPlane=!0;export{G as TransformControlsGizmo,B as TransformControlsPlane};/*
|
3
2
|
* Copyright (©) 2023. All rights reserved.
|
4
3
|
* See the LICENSE.md file for details.
|
5
4
|
*/
|
@@ -12,3 +12,4 @@ export declare function filterChildrenShallow<C extends {
|
|
12
12
|
}, T extends C = C>(scene: T, predicate: ObjectPredicate<C>, traversePredicate?: ObjectPredicate<C>): C[];
|
13
13
|
export declare function calculateEffectiveScale(obj: Object3D): Vector3;
|
14
14
|
export {};
|
15
|
+
//# sourceMappingURL=traverse.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../../src/utils/three/traverse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAS,OAAO,EAAE,MAAM,OAAO,CAAC;AAGjD,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAA;AAE7C,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,gDAShF;AAGD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAatG;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,QAAQ,EAAE,CAEnJ;AAGD,wBAAgB,qBAAqB,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAA;CAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAczK;AAID,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,QAAQ,WAMpD"}
|
@@ -1,5 +1,4 @@
|
|
1
|
-
import{Scene as e,Vector3 as n}from"three";export function filterScene(e,n){const t=[];return e.traverse((e=>{n(e)&&t.push(e)})),t}export function findFirstVisibleObject(e,n){const t=[e];for(;t.length>0;){const e=t.pop();if(n(e))return e;e.visible&&null!=e.children&&t.push(...e.children)}return null}export function filterSceneShallow(e,n,t){return filterChildrenShallow(e,n,t)}export function filterChildrenShallow(n,t,r){const l=[],o=[n];for(;o.length>0;){const n=o.pop();t(n)?l.push(n):(null==r||r(n)||n instanceof e)&&null!=n.children&&o.push(...n.children)}return l}const t=new n;export function calculateEffectiveScale(e){return t.copy(e.scale),e.traverseAncestors((e=>{t.multiply(e.scale)})),t}
|
2
|
-
/*
|
1
|
+
import{Scene as e,Vector3 as n}from"three";export function filterScene(e,n){const t=[];return e.traverse((e=>{n(e)&&t.push(e)})),t}export function findFirstVisibleObject(e,n){const t=[e];for(;t.length>0;){const e=t.pop();if(n(e))return e;e.visible&&null!=e.children&&t.push(...e.children)}return null}export function filterSceneShallow(e,n,t){return filterChildrenShallow(e,n,t)}export function filterChildrenShallow(n,t,r){const l=[],o=[n];for(;o.length>0;){const n=o.pop();t(n)?l.push(n):(null==r||r(n)||n instanceof e)&&null!=n.children&&o.push(...n.children)}return l}const t=new n;export function calculateEffectiveScale(e){return t.copy(e.scale),e.traverseAncestors((e=>{t.multiply(e.scale)})),t}/*
|
3
2
|
* Copyright (©) 2023. All rights reserved.
|
4
3
|
* See the LICENSE.md file for details.
|
5
4
|
*/
|
package/dist/utils/type.d.ts
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/utils/type.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,IAAI,CAAC,CAAC,CAAE,SAAQ,QAAQ;IACvC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;CACzB;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAEjE,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAItF"}
|
package/dist/utils/type.js
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
export function assertType(e,n){if(!(e instanceof n))throw new Error(`Invalid type: expected instance of ${n.name}`)}
|
2
|
-
/*
|
1
|
+
export function assertType(e,n){if(!(e instanceof n))throw new Error(`Invalid type: expected instance of ${n.name}`)}/*
|
3
2
|
* Copyright (©) 2023. All rights reserved.
|
4
3
|
* See the LICENSE.md file for details.
|
5
4
|
*/
|
package/dist/utils/uuid.d.ts
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../src/utils/uuid.ts"],"names":[],"mappings":"AA8DA,wBAAgB,UAAU,WAYvB"}
|
package/dist/utils/uuid.js
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
const t=[];for(let e=0;e<256;++e)t.push((e+256).toString(16).substr(1));const n=new Uint8Array(256);let o=n.length;export function randomUUID(){const e=(o>n.length-10&&(crypto.getRandomValues(n),o=0),n.slice(o,o+=10)),r=function(){const t=100*(Date.now()+performance.now());return Math.round(t)}().toString(16);return e[0]=15&e[0]|64,e[2]=63&e[2]|128,function(n,o){return(n.slice(0,8)+"-"+n.slice(8,12)+"-"+t[o[0]]+t[o[1]]+"-"+t[o[2]]+t[o[3]]+"-"+t[o[4]]+t[o[5]]+t[o[6]]+t[o[7]]+t[o[8]]+t[o[9]]).toLowerCase()}(r,e)}
|
2
|
-
/*
|
1
|
+
const t=[];for(let e=0;e<256;++e)t.push((e+256).toString(16).substr(1));const n=new Uint8Array(256);let o=n.length;export function randomUUID(){const e=(o>n.length-10&&(crypto.getRandomValues(n),o=0),n.slice(o,o+=10)),r=function(){const t=100*(Date.now()+performance.now());return Math.round(t)}().toString(16);return e[0]=15&e[0]|64,e[2]=63&e[2]|128,function(n,o){return(n.slice(0,8)+"-"+n.slice(8,12)+"-"+t[o[0]]+t[o[1]]+"-"+t[o[2]]+t[o[3]]+"-"+t[o[4]]+t[o[5]]+t[o[6]]+t[o[7]]+t[o[8]]+t[o[9]]).toLowerCase()}(r,e)}/*
|
3
2
|
* Copyright (©) 2023. All rights reserved.
|
4
3
|
* See the LICENSE.md file for details.
|
5
4
|
*/
|
@@ -0,0 +1,14 @@
|
|
1
|
+
/**
|
2
|
+
* A data structure for quick boolean lookups in 3D.
|
3
|
+
*/
|
4
|
+
export declare class VoxelBitset {
|
5
|
+
private data;
|
6
|
+
private width;
|
7
|
+
private height;
|
8
|
+
private depth;
|
9
|
+
constructor(width: number, height: number, depth: number);
|
10
|
+
private getIndex;
|
11
|
+
set(x: number, y: number, z: number, value: boolean): void;
|
12
|
+
get(x: number, y: number, z: number): boolean;
|
13
|
+
}
|
14
|
+
//# sourceMappingURL=voxel-bitset.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"voxel-bitset.d.ts","sourceRoot":"","sources":["../../src/utils/voxel-bitset.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;gBAEV,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IASxD,OAAO,CAAC,QAAQ;IAOhB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IASnD,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;CAI9C"}
|
@@ -0,0 +1,4 @@
|
|
1
|
+
export class VoxelBitset{constructor(t,h,s){this.width=t,this.height=h,this.depth=s;const i=t*h*s,e=Math.ceil(i/32);this.data=new Uint32Array(e)}getIndex(t,h,s){const i=t+h*this.width+s*this.width*this.height;return[Math.floor(i/32),i%32]}set(t,h,s,i){const[e,a]=this.getIndex(t,h,s);i?this.data[e]|=1<<a:this.data[e]&=~(1<<a)}get(t,h,s){const[i,e]=this.getIndex(t,h,s);return!!(this.data[i]&1<<e)}}/*
|
2
|
+
* Copyright (©) 2023. All rights reserved.
|
3
|
+
* See the LICENSE.md file for details.
|
4
|
+
*/
|
package/dist/worker/index.d.ts
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,MAAM,QAEnD;AAGD,wBAAgB,gBAAgB,YAE/B;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,UAAU,SAGzB"}
|
package/dist/worker/index.js
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
import{setupNavMeshWorker as r}from"../gameplay/ai/dynamic-tiled-navmesh.worker";let e;export function registerWorker(r){e=r}export function hasWorkerBuilder(){return null!=e}export function createWorker(){return e()}export function initWorker(){r()}
|
2
|
-
/*
|
1
|
+
import{setupNavMeshWorker as r}from"../gameplay/ai/dynamic-tiled-navmesh.worker";let e;export function registerWorker(r){e=r}export function hasWorkerBuilder(){return null!=e}export function createWorker(){return e()}export function initWorker(){r()}/*
|
3
2
|
* Copyright (©) 2023. All rights reserved.
|
4
3
|
* See the LICENSE.md file for details.
|
5
4
|
*/
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@hology/core",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.93",
|
4
4
|
"description": "",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"type": "module",
|
@@ -10,7 +10,7 @@
|
|
10
10
|
"build": "tsc",
|
11
11
|
"test": "vitest --environment jsdom",
|
12
12
|
"bump": "node scripts/bump.js",
|
13
|
-
"terse": "
|
13
|
+
"terse": "node scripts/terse.js copy"
|
14
14
|
},
|
15
15
|
"exports": {
|
16
16
|
".": "./dist/index.js",
|
@@ -21,14 +21,33 @@
|
|
21
21
|
"./utils/async": "./dist/utils/async.js",
|
22
22
|
"./utils/collections": "./dist/utils/collections.js",
|
23
23
|
"./utils/mesh": "./dist/utils/mesh.js",
|
24
|
+
"./utils/curve": "./dist/utils/curve.js",
|
25
|
+
"./utils/uuid": "./dist/utils/uuid.js",
|
26
|
+
"./utils/three/traverse": "./dist/utils/three/traverse.js",
|
24
27
|
"./scene/materializer": "./dist/scene/materializer.js",
|
28
|
+
"./scene/model": "./dist/scene/model.js",
|
29
|
+
"./scene/sky": "./dist/scene/sky.js",
|
30
|
+
"./scene/storage/storage": "./dist/scene/storage/storage.js",
|
31
|
+
"./scene/asset-resource-loader": "./dist/scene/asset-resource-loader.js",
|
32
|
+
"./scene/assets-provider": "./dist/scene/assets-provider.js",
|
33
|
+
"./scene/materials/utils/material-painting": "./dist/scene/materials/utils/material-painting.js",
|
34
|
+
"./scene/landscape/utils": "./dist/scene/landscape/utils.js",
|
35
|
+
"./scene/landscape/landscape": "./dist/scene/landscape/landscape.js",
|
36
|
+
"./scene/objects/shapes": "./dist/scene/objects/shapes.js",
|
37
|
+
"./scene/scene-data-service": "./dist/scene/scene-data-service.js",
|
25
38
|
"./csm": "./dist/csm.js",
|
26
39
|
"./shader/shader": "./dist/shader/shader.js",
|
27
40
|
"./shader/parameter": "./dist/shader/parameter.js",
|
28
41
|
"./shader-nodes": "./dist/shader-nodes/index.js",
|
29
42
|
"./gameplay": "./dist/gameplay/index.js",
|
30
43
|
"./gameplay/actors": "./dist/gameplay/actors/index.js",
|
44
|
+
"./gameplay/actors/actor": "./dist/gameplay/actors/actor.js",
|
31
45
|
"./gameplay/input": "./dist/gameplay/input/index.js",
|
46
|
+
"./gameplay/services/physics/physics-system": "./dist/gameplay/services/physics/physics-system.js",
|
47
|
+
"./effects/vfx/vfx-actor": "./dist/effects/vfx/vfx-actor.js",
|
48
|
+
"./effects/vfx/vfx-asset": "./dist/effects/vfx/vfx-asset.js",
|
49
|
+
"./effects/vfx/vfx-defs": "./dist/effects/vfx/vfx-defs.js",
|
50
|
+
"./config/project-config": "./dist/config/project-config.js",
|
32
51
|
"./worker": "./dist/worker/index.js"
|
33
52
|
},
|
34
53
|
"types": "./dist/index.d.ts",
|
@@ -55,9 +74,48 @@
|
|
55
74
|
"utils/mesh": [
|
56
75
|
"./dist/utils/mesh.d.ts"
|
57
76
|
],
|
77
|
+
"utils/curve": [
|
78
|
+
"./dist/utils/curve.d.ts"
|
79
|
+
],
|
80
|
+
"utils/uuid": [
|
81
|
+
"./dist/utils/uuid.d.ts"
|
82
|
+
],
|
83
|
+
"utils/three/traverse": [
|
84
|
+
"./dist/utils/three/traverse.d.ts"
|
85
|
+
],
|
58
86
|
"scene/materializer": [
|
59
87
|
"./dist/scene/materializer.d.ts"
|
60
88
|
],
|
89
|
+
"scene/model": [
|
90
|
+
"./dist/scene/model.d.ts"
|
91
|
+
],
|
92
|
+
"scene/sky": [
|
93
|
+
"./dist/scene/sky.d.ts"
|
94
|
+
],
|
95
|
+
"scene/storage/storage": [
|
96
|
+
"./dist/scene/storage/storage.d.ts"
|
97
|
+
],
|
98
|
+
"scene/asset-resource-loader": [
|
99
|
+
"./dist/scene/asset-resource-loader.d.ts"
|
100
|
+
],
|
101
|
+
"scene/assets-provider": [
|
102
|
+
"./dist/scene/assets-provider.d.ts"
|
103
|
+
],
|
104
|
+
"scene/materials/utils/material-painting": [
|
105
|
+
"./dist/scene/materials/utils/material-painting.d.ts"
|
106
|
+
],
|
107
|
+
"scene/landscape/utils": [
|
108
|
+
"./dist/scene/landscape/utils.d.ts"
|
109
|
+
],
|
110
|
+
"scene/landscape/landscape": [
|
111
|
+
"./dist/scene/landscape/landscape.d.ts"
|
112
|
+
],
|
113
|
+
"scene/objects/shapes": [
|
114
|
+
"./dist/scene/objects/shapes.d.ts"
|
115
|
+
],
|
116
|
+
"scene/scene-data-service": [
|
117
|
+
"./dist/scene/scene-data-service.d.ts"
|
118
|
+
],
|
61
119
|
"csm": [
|
62
120
|
"./dist/csm.d.ts"
|
63
121
|
],
|
@@ -76,9 +134,27 @@
|
|
76
134
|
"gameplay/actors": [
|
77
135
|
"./dist/gameplay/actors/index.d.ts"
|
78
136
|
],
|
137
|
+
"gameplay/actors/actor": [
|
138
|
+
"./dist/gameplay/actors/actor.d.ts"
|
139
|
+
],
|
79
140
|
"gameplay/input": [
|
80
141
|
"./dist/gameplay/input/index.d.ts"
|
81
142
|
],
|
143
|
+
"gameplay/services/physics/physics-system": [
|
144
|
+
"./dist/gameplay/services/physics/physics-system.d.ts"
|
145
|
+
],
|
146
|
+
"effects/vfx/vfx-actor": [
|
147
|
+
"./dist/effects/vfx/vfx-actor.d.ts"
|
148
|
+
],
|
149
|
+
"effects/vfx/vfx-asset": [
|
150
|
+
"./dist/effects/vfx/vfx-asset.d.ts"
|
151
|
+
],
|
152
|
+
"effects/vfx/vfx-defs": [
|
153
|
+
"./dist/effects/vfx/vfx-defs.d.ts"
|
154
|
+
],
|
155
|
+
"config/project-config": [
|
156
|
+
"./dist/config/project-config.d.ts"
|
157
|
+
],
|
82
158
|
"worker": [
|
83
159
|
"./dist/worker/index.d.ts"
|
84
160
|
]
|
@@ -87,19 +163,18 @@
|
|
87
163
|
"author": "",
|
88
164
|
"license": "SEE LICENSE IN LICENSE.md",
|
89
165
|
"peerDependencies": {
|
90
|
-
"three": "
|
166
|
+
"three": "0.169.0"
|
91
167
|
},
|
92
168
|
"dependencies": {
|
93
169
|
"@babel/runtime": "^7.24.8",
|
94
170
|
"@dimforge/rapier3d-compat": "^0.14.0",
|
171
|
+
"@hology/nebula": "^0.0.92",
|
95
172
|
"@plumier/reflect": "^1.1.0",
|
96
173
|
"@recast-navigation/three": "^0.35.2",
|
97
|
-
"@types/three-nebula": "^10.0.3",
|
98
174
|
"recast-navigation": "^0.35.2",
|
99
175
|
"rxjs": "7.8.1",
|
100
176
|
"three-csm": "^4.2.1",
|
101
177
|
"three-mesh-bvh": "^0.7.5",
|
102
|
-
"three-nebula": "^10.0.3",
|
103
178
|
"three-shader-graph": "0.2.12",
|
104
179
|
"three-stdlib": "2.34.0",
|
105
180
|
"ts-key-enum": "^2.0.12",
|
@@ -107,16 +182,17 @@
|
|
107
182
|
},
|
108
183
|
"devDependencies": {
|
109
184
|
"@types/chokidar": "^2.1.3",
|
110
|
-
"@types/node": "^20.
|
111
|
-
"@types/offscreencanvas": "^2019.7.
|
185
|
+
"@types/node": "^20.4.1",
|
186
|
+
"@types/offscreencanvas": "^2019.7.3",
|
112
187
|
"@types/three": "0.169.0",
|
113
188
|
"foreach-cli": "^1.8.1",
|
189
|
+
"globby": "^14.1.0",
|
114
190
|
"jsdom": "^22.1.0",
|
115
191
|
"mkdirp": "^3.0.1",
|
116
192
|
"reflect-metadata": "^0.1.13",
|
117
193
|
"rimraf": "^4.1.1",
|
118
194
|
"terser": "^5.25.0",
|
119
|
-
"typescript": "~5.
|
195
|
+
"typescript": "~5.8.2",
|
120
196
|
"vitest": "^1.0.0"
|
121
197
|
}
|
122
198
|
}
|