@needle-tools/engine 4.13.0 → 4.13.1-next.6cb1b73
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/CHANGELOG.md +8 -1
- package/README.md +37 -0
- package/components.needle.json +1 -1
- package/custom-elements.json +138 -4
- package/dist/gltf-progressive-BTd714P0.min.js +9 -0
- package/dist/gltf-progressive-CrHduHPm.umd.cjs +9 -0
- package/dist/{gltf-progressive-eiJCrjLb.js → gltf-progressive-CsyU_5lc.js} +364 -287
- package/dist/{needle-engine.bundle-CxaKFQVS.min.js → needle-engine.bundle-DRSn34Va.min.js} +109 -109
- package/dist/{needle-engine.bundle-J4k4znv8.umd.cjs → needle-engine.bundle-qTjHpin6.umd.cjs} +110 -110
- package/dist/{needle-engine.bundle-Dl3TFYyv.js → needle-engine.bundle-wB3o8RB6.js} +2655 -2130
- package/dist/needle-engine.d.ts +4202 -423
- package/dist/needle-engine.js +3 -3
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/lib/engine/engine_context.d.ts +16 -0
- package/lib/engine/engine_context.js +28 -2
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_gameobject.d.ts +72 -0
- package/lib/engine/engine_gameobject.js +38 -0
- package/lib/engine/engine_gameobject.js.map +1 -1
- package/lib/engine/engine_input.d.ts +80 -4
- package/lib/engine/engine_input.js +78 -2
- package/lib/engine/engine_input.js.map +1 -1
- package/lib/engine/engine_math.d.ts +81 -2
- package/lib/engine/engine_math.js +68 -2
- package/lib/engine/engine_math.js.map +1 -1
- package/lib/engine/engine_networking.d.ts +181 -14
- package/lib/engine/engine_networking.js +181 -14
- package/lib/engine/engine_networking.js.map +1 -1
- package/lib/engine/engine_networking_auto.d.ts +35 -8
- package/lib/engine/engine_networking_auto.js +35 -8
- package/lib/engine/engine_networking_auto.js.map +1 -1
- package/lib/engine/engine_physics.d.ts +37 -1
- package/lib/engine/engine_physics.js +37 -1
- package/lib/engine/engine_physics.js.map +1 -1
- package/lib/engine/engine_physics_rapier.d.ts +78 -0
- package/lib/engine/engine_physics_rapier.js +78 -0
- package/lib/engine/engine_physics_rapier.js.map +1 -1
- package/lib/engine/engine_serialization_decorator.d.ts +28 -2
- package/lib/engine/engine_serialization_decorator.js +28 -2
- package/lib/engine/engine_serialization_decorator.js.map +1 -1
- package/lib/engine/engine_time.d.ts +23 -3
- package/lib/engine/engine_time.js +23 -3
- package/lib/engine/engine_time.js.map +1 -1
- package/lib/engine/engine_util_decorator.d.ts +31 -1
- package/lib/engine/engine_util_decorator.js +31 -1
- package/lib/engine/engine_util_decorator.js.map +1 -1
- package/lib/engine/engine_utils.d.ts +22 -5
- package/lib/engine/engine_utils.js +22 -5
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine/engine_utils_screenshot.d.ts +171 -14
- package/lib/engine/engine_utils_screenshot.js +65 -0
- package/lib/engine/engine_utils_screenshot.js.map +1 -1
- package/lib/engine/engine_utils_screenshot.xr.d.ts +1 -1
- package/lib/engine/engine_utils_screenshot.xr.js +1 -1
- package/lib/engine/extensions/NEEDLE_materialx.d.ts +2 -2
- package/lib/engine/extensions/NEEDLE_materialx.js +2 -2
- package/lib/engine/extensions/NEEDLE_materialx.js.map +1 -1
- package/lib/engine/extensions/NEEDLE_techniques_webgl.js +3 -0
- package/lib/engine/extensions/NEEDLE_techniques_webgl.js.map +1 -1
- package/lib/engine/extensions/index.d.ts +1 -1
- package/lib/engine/extensions/index.js +1 -1
- package/lib/engine/extensions/index.js.map +1 -1
- package/lib/engine/xr/NeedleXRSession.d.ts +5 -0
- package/lib/engine/xr/NeedleXRSession.js +5 -0
- package/lib/engine/xr/NeedleXRSession.js.map +1 -1
- package/lib/engine-components/AlignmentConstraint.d.ts +23 -3
- package/lib/engine-components/AlignmentConstraint.js +23 -3
- package/lib/engine-components/AlignmentConstraint.js.map +1 -1
- package/lib/engine-components/Animation.d.ts +42 -0
- package/lib/engine-components/Animation.js +36 -0
- package/lib/engine-components/Animation.js.map +1 -1
- package/lib/engine-components/Animator.d.ts +37 -4
- package/lib/engine-components/Animator.js +37 -4
- package/lib/engine-components/Animator.js.map +1 -1
- package/lib/engine-components/AudioListener.d.ts +1 -1
- package/lib/engine-components/AudioListener.js +1 -1
- package/lib/engine-components/AudioSource.d.ts +32 -10
- package/lib/engine-components/AudioSource.js +32 -10
- package/lib/engine-components/AudioSource.js.map +1 -1
- package/lib/engine-components/AxesHelper.d.ts +22 -3
- package/lib/engine-components/AxesHelper.js +22 -3
- package/lib/engine-components/AxesHelper.js.map +1 -1
- package/lib/engine-components/BasicIKConstraint.d.ts +27 -4
- package/lib/engine-components/BasicIKConstraint.js +27 -4
- package/lib/engine-components/BasicIKConstraint.js.map +1 -1
- package/lib/engine-components/Camera.d.ts +32 -2
- package/lib/engine-components/Camera.js +32 -2
- package/lib/engine-components/Camera.js.map +1 -1
- package/lib/engine-components/CharacterController.d.ts +68 -4
- package/lib/engine-components/CharacterController.js +68 -4
- package/lib/engine-components/CharacterController.js.map +1 -1
- package/lib/engine-components/Collider.d.ts +69 -12
- package/lib/engine-components/Collider.js +69 -12
- package/lib/engine-components/Collider.js.map +1 -1
- package/lib/engine-components/ContactShadows.d.ts +28 -6
- package/lib/engine-components/ContactShadows.js +33 -8
- package/lib/engine-components/ContactShadows.js.map +1 -1
- package/lib/engine-components/DeleteBox.d.ts +43 -2
- package/lib/engine-components/DeleteBox.js +43 -2
- package/lib/engine-components/DeleteBox.js.map +1 -1
- package/lib/engine-components/DeviceFlag.d.ts +21 -2
- package/lib/engine-components/DeviceFlag.js +21 -2
- package/lib/engine-components/DeviceFlag.js.map +1 -1
- package/lib/engine-components/DragControls.d.ts +32 -2
- package/lib/engine-components/DragControls.js +32 -2
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/DropListener.d.ts +33 -21
- package/lib/engine-components/DropListener.js +33 -21
- package/lib/engine-components/DropListener.js.map +1 -1
- package/lib/engine-components/Duplicatable.d.ts +36 -5
- package/lib/engine-components/Duplicatable.js +36 -5
- package/lib/engine-components/Duplicatable.js.map +1 -1
- package/lib/engine-components/EventList.d.ts +38 -10
- package/lib/engine-components/EventList.js +40 -12
- package/lib/engine-components/EventList.js.map +1 -1
- package/lib/engine-components/EventTrigger.d.ts +1 -1
- package/lib/engine-components/EventTrigger.js +1 -1
- package/lib/engine-components/Fog.d.ts +23 -1
- package/lib/engine-components/Fog.js +23 -1
- package/lib/engine-components/Fog.js.map +1 -1
- package/lib/engine-components/GridHelper.d.ts +18 -2
- package/lib/engine-components/GridHelper.js +18 -2
- package/lib/engine-components/GridHelper.js.map +1 -1
- package/lib/engine-components/GroundProjection.d.ts +24 -2
- package/lib/engine-components/GroundProjection.js +24 -2
- package/lib/engine-components/GroundProjection.js.map +1 -1
- package/lib/engine-components/Interactable.d.ts +17 -2
- package/lib/engine-components/Interactable.js +17 -2
- package/lib/engine-components/Interactable.js.map +1 -1
- package/lib/engine-components/Joints.d.ts +50 -7
- package/lib/engine-components/Joints.js +50 -7
- package/lib/engine-components/Joints.js.map +1 -1
- package/lib/engine-components/LODGroup.d.ts +36 -14
- package/lib/engine-components/LODGroup.js +43 -11
- package/lib/engine-components/LODGroup.js.map +1 -1
- package/lib/engine-components/Light.d.ts +30 -5
- package/lib/engine-components/Light.js +30 -5
- package/lib/engine-components/Light.js.map +1 -1
- package/lib/engine-components/LookAtConstraint.d.ts +22 -7
- package/lib/engine-components/LookAtConstraint.js +22 -7
- package/lib/engine-components/LookAtConstraint.js.map +1 -1
- package/lib/engine-components/NeedleMenu.d.ts +27 -5
- package/lib/engine-components/NeedleMenu.js +27 -5
- package/lib/engine-components/NeedleMenu.js.map +1 -1
- package/lib/engine-components/NestedGltf.d.ts +39 -4
- package/lib/engine-components/NestedGltf.js +42 -4
- package/lib/engine-components/NestedGltf.js.map +1 -1
- package/lib/engine-components/OffsetConstraint.d.ts +27 -3
- package/lib/engine-components/OffsetConstraint.js +27 -3
- package/lib/engine-components/OffsetConstraint.js.map +1 -1
- package/lib/engine-components/OrbitControls.d.ts +41 -3
- package/lib/engine-components/OrbitControls.js +41 -3
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/PlayerColor.d.ts +1 -1
- package/lib/engine-components/PlayerColor.js +1 -1
- package/lib/engine-components/ReflectionProbe.d.ts +17 -2
- package/lib/engine-components/ReflectionProbe.js +17 -3
- package/lib/engine-components/ReflectionProbe.js.map +1 -1
- package/lib/engine-components/Renderer.d.ts +35 -0
- package/lib/engine-components/Renderer.js +36 -2
- package/lib/engine-components/Renderer.js.map +1 -1
- package/lib/engine-components/RigidBody.d.ts +57 -5
- package/lib/engine-components/RigidBody.js +57 -5
- package/lib/engine-components/RigidBody.js.map +1 -1
- package/lib/engine-components/SceneSwitcher.d.ts +11 -0
- package/lib/engine-components/SceneSwitcher.js +11 -0
- package/lib/engine-components/SceneSwitcher.js.map +1 -1
- package/lib/engine-components/ScreenCapture.d.ts +39 -6
- package/lib/engine-components/ScreenCapture.js +39 -6
- package/lib/engine-components/ScreenCapture.js.map +1 -1
- package/lib/engine-components/SeeThrough.d.ts +70 -5
- package/lib/engine-components/SeeThrough.js +70 -5
- package/lib/engine-components/SeeThrough.js.map +1 -1
- package/lib/engine-components/ShadowCatcher.d.ts +56 -4
- package/lib/engine-components/ShadowCatcher.js +56 -4
- package/lib/engine-components/ShadowCatcher.js.map +1 -1
- package/lib/engine-components/Skybox.d.ts +43 -7
- package/lib/engine-components/Skybox.js +43 -7
- package/lib/engine-components/Skybox.js.map +1 -1
- package/lib/engine-components/SmoothFollow.d.ts +66 -7
- package/lib/engine-components/SmoothFollow.js +66 -7
- package/lib/engine-components/SmoothFollow.js.map +1 -1
- package/lib/engine-components/SpatialTrigger.d.ts +48 -1
- package/lib/engine-components/SpatialTrigger.js +48 -1
- package/lib/engine-components/SpatialTrigger.js.map +1 -1
- package/lib/engine-components/SpectatorCamera.d.ts +21 -3
- package/lib/engine-components/SpectatorCamera.js +21 -3
- package/lib/engine-components/SpectatorCamera.js.map +1 -1
- package/lib/engine-components/SyncedRoom.d.ts +7 -1
- package/lib/engine-components/SyncedRoom.js +7 -1
- package/lib/engine-components/SyncedRoom.js.map +1 -1
- package/lib/engine-components/SyncedTransform.d.ts +55 -6
- package/lib/engine-components/SyncedTransform.js +55 -6
- package/lib/engine-components/SyncedTransform.js.map +1 -1
- package/lib/engine-components/TransformGizmo.d.ts +30 -3
- package/lib/engine-components/TransformGizmo.js +30 -3
- package/lib/engine-components/TransformGizmo.js.map +1 -1
- package/lib/engine-components/VideoPlayer.d.ts +33 -6
- package/lib/engine-components/VideoPlayer.js +51 -6
- package/lib/engine-components/VideoPlayer.js.map +1 -1
- package/lib/engine-components/Voip.d.ts +33 -2
- package/lib/engine-components/Voip.js +33 -2
- package/lib/engine-components/Voip.js.map +1 -1
- package/lib/engine-components/export/usdz/USDZExporter.d.ts +47 -13
- package/lib/engine-components/export/usdz/USDZExporter.js +47 -13
- package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
- package/lib/engine-components/particlesystem/ParticleSystem.d.ts +82 -3
- package/lib/engine-components/particlesystem/ParticleSystem.js +82 -3
- package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Antialiasing.d.ts +1 -0
- package/lib/engine-components/postprocessing/Effects/Antialiasing.js +1 -0
- package/lib/engine-components/postprocessing/Effects/Antialiasing.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/BloomEffect.js +1 -1
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +1 -1
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +1 -1
- package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js +1 -1
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.d.ts +1 -0
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.js +1 -0
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/Pixelation.js +1 -1
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js +1 -1
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +1 -1
- package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/Sharpening.js +1 -1
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +1 -1
- package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/Tonemapping.js +1 -1
- package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +1 -1
- package/lib/engine-components/postprocessing/Effects/Vignette.js +1 -1
- package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +1 -1
- package/lib/engine-components/postprocessing/PostProcessingHandler.js +1 -1
- package/lib/engine-components/postprocessing/Volume.d.ts +1 -1
- package/lib/engine-components/postprocessing/Volume.js +1 -1
- package/lib/engine-components/splines/Spline.d.ts +409 -12
- package/lib/engine-components/splines/Spline.js +409 -12
- package/lib/engine-components/splines/Spline.js.map +1 -1
- package/lib/engine-components/splines/SplineUtils.d.ts +1 -0
- package/lib/engine-components/splines/SplineUtils.js +1 -0
- package/lib/engine-components/splines/SplineUtils.js.map +1 -1
- package/lib/engine-components/splines/SplineWalker.d.ts +3 -1
- package/lib/engine-components/splines/SplineWalker.js +3 -1
- package/lib/engine-components/splines/SplineWalker.js.map +1 -1
- package/lib/engine-components/timeline/PlayableDirector.d.ts +103 -14
- package/lib/engine-components/timeline/PlayableDirector.js +95 -25
- package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
- package/lib/engine-components/timeline/TimelineModels.d.ts +14 -0
- package/lib/engine-components/timeline/TimelineModels.js +4 -0
- package/lib/engine-components/timeline/TimelineModels.js.map +1 -1
- package/lib/engine-components/ui/Button.d.ts +29 -3
- package/lib/engine-components/ui/Button.js +29 -3
- package/lib/engine-components/ui/Button.js.map +1 -1
- package/lib/engine-components/ui/Canvas.d.ts +29 -4
- package/lib/engine-components/ui/Canvas.js +29 -4
- package/lib/engine-components/ui/Canvas.js.map +1 -1
- package/lib/engine-components/ui/CanvasGroup.d.ts +1 -1
- package/lib/engine-components/ui/CanvasGroup.js +1 -1
- package/lib/engine-components/ui/EventSystem.d.ts +1 -1
- package/lib/engine-components/ui/EventSystem.js +1 -1
- package/lib/engine-components/ui/Graphic.d.ts +1 -0
- package/lib/engine-components/ui/Graphic.js +1 -0
- package/lib/engine-components/ui/Graphic.js.map +1 -1
- package/lib/engine-components/ui/Image.d.ts +22 -3
- package/lib/engine-components/ui/Image.js +22 -3
- package/lib/engine-components/ui/Image.js.map +1 -1
- package/lib/engine-components/ui/InputField.d.ts +1 -1
- package/lib/engine-components/ui/InputField.js +1 -1
- package/lib/engine-components/ui/Layout.d.ts +3 -0
- package/lib/engine-components/ui/Layout.js +3 -0
- package/lib/engine-components/ui/Layout.js.map +1 -1
- package/lib/engine-components/ui/Outline.d.ts +1 -1
- package/lib/engine-components/ui/Outline.js +1 -1
- package/lib/engine-components/ui/PointerEvents.d.ts +1 -1
- package/lib/engine-components/ui/PointerEvents.js +1 -1
- package/lib/engine-components/ui/Raycaster.d.ts +55 -6
- package/lib/engine-components/ui/Raycaster.js +55 -6
- package/lib/engine-components/ui/Raycaster.js.map +1 -1
- package/lib/engine-components/ui/RectTransform.d.ts +1 -1
- package/lib/engine-components/ui/RectTransform.js +1 -1
- package/lib/engine-components/ui/SpatialHtml.d.ts +1 -1
- package/lib/engine-components/ui/SpatialHtml.js +1 -1
- package/lib/engine-components/ui/Text.d.ts +23 -1
- package/lib/engine-components/ui/Text.js +23 -1
- package/lib/engine-components/ui/Text.js.map +1 -1
- package/lib/engine-components/utils/LookAt.d.ts +1 -1
- package/lib/engine-components/utils/LookAt.js +1 -1
- package/lib/engine-components/utils/OpenURL.d.ts +2 -1
- package/lib/engine-components/utils/OpenURL.js +2 -1
- package/lib/engine-components/utils/OpenURL.js.map +1 -1
- package/lib/engine-components/web/Clickthrough.d.ts +116 -7
- package/lib/engine-components/web/Clickthrough.js +116 -7
- package/lib/engine-components/web/Clickthrough.js.map +1 -1
- package/lib/engine-components/web/CursorFollow.d.ts +172 -7
- package/lib/engine-components/web/CursorFollow.js +172 -7
- package/lib/engine-components/web/CursorFollow.js.map +1 -1
- package/lib/engine-components/web/HoverAnimation.d.ts +140 -11
- package/lib/engine-components/web/HoverAnimation.js +140 -11
- package/lib/engine-components/web/HoverAnimation.js.map +1 -1
- package/lib/engine-components/web/ScrollFollow.d.ts +5 -1
- package/lib/engine-components/web/ScrollFollow.js +5 -1
- package/lib/engine-components/web/ScrollFollow.js.map +1 -1
- package/lib/engine-components/web/ViewBox.d.ts +116 -16
- package/lib/engine-components/web/ViewBox.js +110 -16
- package/lib/engine-components/web/ViewBox.js.map +1 -1
- package/lib/engine-components/webxr/TeleportTarget.d.ts +21 -2
- package/lib/engine-components/webxr/TeleportTarget.js +21 -2
- package/lib/engine-components/webxr/TeleportTarget.js.map +1 -1
- package/lib/engine-components/webxr/WebARCameraBackground.d.ts +9 -0
- package/lib/engine-components/webxr/WebARCameraBackground.js +9 -0
- package/lib/engine-components/webxr/WebARCameraBackground.js.map +1 -1
- package/lib/engine-components/webxr/WebXR.d.ts +11 -2
- package/lib/engine-components/webxr/WebXR.js +11 -2
- package/lib/engine-components/webxr/WebXR.js.map +1 -1
- package/lib/engine-components/webxr/WebXRAvatar.d.ts +39 -2
- package/lib/engine-components/webxr/WebXRAvatar.js +35 -3
- package/lib/engine-components/webxr/WebXRAvatar.js.map +1 -1
- package/lib/engine-components/webxr/WebXRImageTracking.d.ts +266 -30
- package/lib/engine-components/webxr/WebXRImageTracking.js +266 -30
- package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
- package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +1 -1
- package/lib/engine-components/webxr/WebXRPlaneTracking.js +1 -1
- package/lib/engine-components/webxr/XRFlag.d.ts +29 -2
- package/lib/engine-components/webxr/XRFlag.js +29 -2
- package/lib/engine-components/webxr/XRFlag.js.map +1 -1
- package/package.json +3 -3
- package/plugins/vite/custom-element-data.js +128 -19
- package/src/engine/engine_context.ts +33 -3
- package/src/engine/engine_gameobject.ts +73 -0
- package/src/engine/engine_input.ts +83 -7
- package/src/engine/engine_math.ts +81 -2
- package/src/engine/engine_networking.ts +186 -17
- package/src/engine/engine_networking_auto.ts +36 -9
- package/src/engine/engine_physics.ts +41 -1
- package/src/engine/engine_physics_rapier.ts +81 -0
- package/src/engine/engine_serialization_decorator.ts +28 -2
- package/src/engine/engine_time.ts +23 -3
- package/src/engine/engine_util_decorator.ts +31 -1
- package/src/engine/engine_utils.ts +22 -5
- package/src/engine/engine_utils_screenshot.ts +241 -17
- package/src/engine/engine_utils_screenshot.xr.ts +1 -1
- package/src/engine/extensions/NEEDLE_materialx.ts +5 -4
- package/src/engine/extensions/NEEDLE_techniques_webgl.ts +3 -0
- package/src/engine/extensions/index.ts +2 -2
- package/src/engine/xr/NeedleXRSession.ts +5 -0
- package/src/engine-components/AlignmentConstraint.ts +24 -4
- package/src/engine-components/Animation.ts +44 -2
- package/src/engine-components/Animator.ts +40 -7
- package/src/engine-components/AudioListener.ts +1 -1
- package/src/engine-components/AudioSource.ts +37 -15
- package/src/engine-components/AxesHelper.ts +23 -4
- package/src/engine-components/BasicIKConstraint.ts +28 -5
- package/src/engine-components/Camera.ts +33 -3
- package/src/engine-components/CharacterController.ts +74 -7
- package/src/engine-components/Collider.ts +78 -21
- package/src/engine-components/ContactShadows.ts +41 -11
- package/src/engine-components/DeleteBox.ts +43 -2
- package/src/engine-components/DeviceFlag.ts +22 -3
- package/src/engine-components/DragControls.ts +32 -2
- package/src/engine-components/DropListener.ts +41 -29
- package/src/engine-components/Duplicatable.ts +37 -6
- package/src/engine-components/EventList.ts +43 -15
- package/src/engine-components/EventTrigger.ts +1 -1
- package/src/engine-components/Fog.ts +23 -1
- package/src/engine-components/GridHelper.ts +18 -2
- package/src/engine-components/GroundProjection.ts +25 -3
- package/src/engine-components/Interactable.ts +17 -2
- package/src/engine-components/Joints.ts +51 -8
- package/src/engine-components/LODGroup.ts +45 -11
- package/src/engine-components/Light.ts +35 -13
- package/src/engine-components/LookAtConstraint.ts +26 -8
- package/src/engine-components/NeedleMenu.ts +29 -7
- package/src/engine-components/NestedGltf.ts +40 -4
- package/src/engine-components/OffsetConstraint.ts +27 -3
- package/src/engine-components/OrbitControls.ts +41 -3
- package/src/engine-components/PlayerColor.ts +1 -1
- package/src/engine-components/ReflectionProbe.ts +19 -5
- package/src/engine-components/Renderer.ts +35 -1
- package/src/engine-components/RigidBody.ts +64 -8
- package/src/engine-components/SceneSwitcher.ts +11 -0
- package/src/engine-components/ScreenCapture.ts +42 -9
- package/src/engine-components/SeeThrough.ts +76 -9
- package/src/engine-components/ShadowCatcher.ts +61 -6
- package/src/engine-components/Skybox.ts +48 -12
- package/src/engine-components/SmoothFollow.ts +68 -7
- package/src/engine-components/SpatialTrigger.ts +51 -4
- package/src/engine-components/SpectatorCamera.ts +23 -5
- package/src/engine-components/SyncedRoom.ts +8 -2
- package/src/engine-components/SyncedTransform.ts +59 -10
- package/src/engine-components/TransformGizmo.ts +31 -4
- package/src/engine-components/VideoPlayer.ts +54 -6
- package/src/engine-components/Voip.ts +33 -2
- package/src/engine-components/export/usdz/USDZExporter.ts +47 -13
- package/src/engine-components/particlesystem/ParticleSystem.ts +84 -5
- package/src/engine-components/postprocessing/Effects/Antialiasing.ts +1 -0
- package/src/engine-components/postprocessing/Effects/BloomEffect.ts +1 -1
- package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +1 -1
- package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +1 -1
- package/src/engine-components/postprocessing/Effects/DepthOfField.ts +1 -1
- package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +1 -0
- package/src/engine-components/postprocessing/Effects/Pixelation.ts +1 -1
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.ts +1 -1
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +1 -1
- package/src/engine-components/postprocessing/Effects/Sharpening.ts +1 -1
- package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +1 -1
- package/src/engine-components/postprocessing/Effects/Tonemapping.ts +1 -1
- package/src/engine-components/postprocessing/Effects/Vignette.ts +1 -1
- package/src/engine-components/postprocessing/PostProcessingHandler.ts +1 -1
- package/src/engine-components/postprocessing/Volume.ts +1 -1
- package/src/engine-components/splines/Spline.ts +412 -14
- package/src/engine-components/splines/SplineUtils.ts +1 -0
- package/src/engine-components/splines/SplineWalker.ts +4 -2
- package/src/engine-components/timeline/PlayableDirector.ts +108 -27
- package/src/engine-components/timeline/SignalAsset.ts +1 -1
- package/src/engine-components/timeline/TimelineModels.ts +18 -2
- package/src/engine-components/ui/Button.ts +29 -3
- package/src/engine-components/ui/Canvas.ts +29 -4
- package/src/engine-components/ui/CanvasGroup.ts +2 -2
- package/src/engine-components/ui/EventSystem.ts +1 -1
- package/src/engine-components/ui/Graphic.ts +1 -0
- package/src/engine-components/ui/Image.ts +22 -3
- package/src/engine-components/ui/InputField.ts +2 -2
- package/src/engine-components/ui/Layout.ts +3 -0
- package/src/engine-components/ui/Outline.ts +1 -1
- package/src/engine-components/ui/PointerEvents.ts +1 -1
- package/src/engine-components/ui/Raycaster.ts +57 -8
- package/src/engine-components/ui/RectTransform.ts +2 -2
- package/src/engine-components/ui/SpatialHtml.ts +1 -1
- package/src/engine-components/ui/Text.ts +24 -2
- package/src/engine-components/utils/LookAt.ts +1 -1
- package/src/engine-components/utils/OpenURL.ts +2 -1
- package/src/engine-components/web/Clickthrough.ts +119 -10
- package/src/engine-components/web/CursorFollow.ts +175 -9
- package/src/engine-components/web/HoverAnimation.ts +142 -13
- package/src/engine-components/web/ScrollFollow.ts +5 -1
- package/src/engine-components/web/ViewBox.ts +118 -18
- package/src/engine-components/webxr/TeleportTarget.ts +23 -4
- package/src/engine-components/webxr/WebARCameraBackground.ts +12 -3
- package/src/engine-components/webxr/WebXR.ts +12 -3
- package/src/engine-components/webxr/WebXRAvatar.ts +41 -4
- package/src/engine-components/webxr/WebXRImageTracking.ts +282 -38
- package/src/engine-components/webxr/WebXRPlaneTracking.ts +1 -1
- package/src/engine-components/webxr/XRFlag.ts +30 -3
- package/dist/gltf-progressive-BURrJW0U.umd.cjs +0 -8
- package/dist/gltf-progressive-DHLDFNvQ.min.js +0 -8
|
@@ -32,22 +32,56 @@ type BeforeLODExportArguments = {
|
|
|
32
32
|
overrideLevel?: number;
|
|
33
33
|
};
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
35
|
+
* USDZExporter creates USDZ files and opens them in Apple QuickLook on iOS/iPadOS/visionOS.
|
|
36
|
+
* Enables "View in AR" functionality for Apple devices directly from web experiences.
|
|
37
|
+
*
|
|
38
|
+
* **Key features:**
|
|
39
|
+
* - Auto-exports animations and audio sources
|
|
40
|
+
* - Interactive behaviors via Needle's "Everywhere Actions" system
|
|
41
|
+
* - RealityKit physics support (iOS 18+, visionOS 1+)
|
|
42
|
+
* - Custom QuickLook overlay with call-to-action buttons
|
|
43
|
+
* - Progressive texture/mesh LOD handling
|
|
44
|
+
*
|
|
45
|
+
* [](https://engine.needle.tools/samples/?overlay=samples&tag=usdz)
|
|
46
|
+
*
|
|
47
|
+
* **Automatic setup:**
|
|
48
|
+
* - Creates QuickLook button on compatible devices
|
|
49
|
+
* - Respects {@link XRFlag} for AR-specific visibility
|
|
50
|
+
* - Handles {@link WebARSessionRoot} scale
|
|
51
|
+
*
|
|
52
|
+
* **Custom extensions:**
|
|
53
|
+
* Add custom behaviors by implementing {@link IUSDExporterExtension} and adding to {@link extensions} array.
|
|
54
|
+
*
|
|
55
|
+
* **Debug:** Use `?debugusdz` URL parameter. Press 'T' to trigger export.
|
|
56
|
+
*
|
|
57
|
+
* @example Basic USDZ export
|
|
58
|
+
* ```ts
|
|
59
|
+
* const exporter = myObject.addComponent(USDZExporter);
|
|
60
|
+
* exporter.objectToExport = productModel;
|
|
61
|
+
* exporter.autoExportAnimations = true;
|
|
62
|
+
* exporter.interactive = true; // Enable QuickLook behaviors
|
|
63
|
+
*
|
|
64
|
+
* // Trigger export
|
|
65
|
+
* await exporter.exportAndOpen();
|
|
47
66
|
* ```
|
|
48
|
-
*
|
|
67
|
+
*
|
|
68
|
+
* @example Custom branding
|
|
69
|
+
* ```ts
|
|
70
|
+
* exporter.customBranding = {
|
|
71
|
+
* callToAction: "Buy Now",
|
|
72
|
+
* checkoutTitle: "Product Name",
|
|
73
|
+
* callToActionURL: "https://shop.example.com"
|
|
74
|
+
* };
|
|
75
|
+
* ```
|
|
76
|
+
*
|
|
77
|
+
* @summary Export 3D objects as USDZ files for Apple QuickLook AR
|
|
49
78
|
* @category XR
|
|
50
79
|
* @group Components
|
|
80
|
+
* @see {@link WebXR} for WebXR-based AR/VR
|
|
81
|
+
* @see {@link WebARSessionRoot} for AR placement and scaling
|
|
82
|
+
* @see {@link XRFlag} for AR-specific object visibility
|
|
83
|
+
* @see {@link CustomBranding} for QuickLook overlay customization
|
|
84
|
+
* @link https://engine.needle.tools/samples/?overlay=samples&tag=usdz
|
|
51
85
|
*/
|
|
52
86
|
export declare class USDZExporter extends Behaviour {
|
|
53
87
|
/** Called before the USDZ file is exported */
|
|
@@ -62,22 +62,56 @@ __decorate([
|
|
|
62
62
|
serializable()
|
|
63
63
|
], CustomBranding.prototype, "callToActionURL", void 0);
|
|
64
64
|
/**
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
65
|
+
* USDZExporter creates USDZ files and opens them in Apple QuickLook on iOS/iPadOS/visionOS.
|
|
66
|
+
* Enables "View in AR" functionality for Apple devices directly from web experiences.
|
|
67
|
+
*
|
|
68
|
+
* **Key features:**
|
|
69
|
+
* - Auto-exports animations and audio sources
|
|
70
|
+
* - Interactive behaviors via Needle's "Everywhere Actions" system
|
|
71
|
+
* - RealityKit physics support (iOS 18+, visionOS 1+)
|
|
72
|
+
* - Custom QuickLook overlay with call-to-action buttons
|
|
73
|
+
* - Progressive texture/mesh LOD handling
|
|
74
|
+
*
|
|
75
|
+
* [](https://engine.needle.tools/samples/?overlay=samples&tag=usdz)
|
|
76
|
+
*
|
|
77
|
+
* **Automatic setup:**
|
|
78
|
+
* - Creates QuickLook button on compatible devices
|
|
79
|
+
* - Respects {@link XRFlag} for AR-specific visibility
|
|
80
|
+
* - Handles {@link WebARSessionRoot} scale
|
|
81
|
+
*
|
|
82
|
+
* **Custom extensions:**
|
|
83
|
+
* Add custom behaviors by implementing {@link IUSDExporterExtension} and adding to {@link extensions} array.
|
|
84
|
+
*
|
|
85
|
+
* **Debug:** Use `?debugusdz` URL parameter. Press 'T' to trigger export.
|
|
86
|
+
*
|
|
87
|
+
* @example Basic USDZ export
|
|
88
|
+
* ```ts
|
|
89
|
+
* const exporter = myObject.addComponent(USDZExporter);
|
|
90
|
+
* exporter.objectToExport = productModel;
|
|
91
|
+
* exporter.autoExportAnimations = true;
|
|
92
|
+
* exporter.interactive = true; // Enable QuickLook behaviors
|
|
93
|
+
*
|
|
94
|
+
* // Trigger export
|
|
95
|
+
* await exporter.exportAndOpen();
|
|
77
96
|
* ```
|
|
78
|
-
*
|
|
97
|
+
*
|
|
98
|
+
* @example Custom branding
|
|
99
|
+
* ```ts
|
|
100
|
+
* exporter.customBranding = {
|
|
101
|
+
* callToAction: "Buy Now",
|
|
102
|
+
* checkoutTitle: "Product Name",
|
|
103
|
+
* callToActionURL: "https://shop.example.com"
|
|
104
|
+
* };
|
|
105
|
+
* ```
|
|
106
|
+
*
|
|
107
|
+
* @summary Export 3D objects as USDZ files for Apple QuickLook AR
|
|
79
108
|
* @category XR
|
|
80
109
|
* @group Components
|
|
110
|
+
* @see {@link WebXR} for WebXR-based AR/VR
|
|
111
|
+
* @see {@link WebARSessionRoot} for AR placement and scaling
|
|
112
|
+
* @see {@link XRFlag} for AR-specific object visibility
|
|
113
|
+
* @see {@link CustomBranding} for QuickLook overlay customization
|
|
114
|
+
* @link https://engine.needle.tools/samples/?overlay=samples&tag=usdz
|
|
81
115
|
*/
|
|
82
116
|
export class USDZExporter extends Behaviour {
|
|
83
117
|
/** Called before the USDZ file is exported */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"USDZExporter.js","sourceRoot":"","sources":["../../../../src/engine-components/export/usdz/USDZExporter.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,KAAK,EAAY,OAAO,EAAQ,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEtF,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC1G,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC7H,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAEpE,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;AACpC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,OAAO,cAAc;IACvB,+FAA+F;IAE/F,YAAY,CAAU;IACtB,gCAAgC;IAEhC,aAAa,CAAU;IACvB,mCAAmC;IAEnC,gBAAgB,CAAU;IAE1B,oHAAoH;IAEpH,eAAe,CAAU;CAC5B;AAXG;IADC,YAAY,EAAE;oDACO;AAGtB;IADC,YAAY,EAAE;qDACQ;AAGvB;IADC,YAAY,EAAE;wDACW;AAI1B;IADC,YAAY,EAAE;uDACU;AAoB7B;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,YAAa,SAAQ,SAAS;IAEvC,8CAA8C;IAC9C,MAAM,CAAU,YAAY,GAAG,IAAI,SAAS,EAAuC,CAAC;IACpF,mDAAmD;IACnD,MAAM,CAAU,WAAW,GAAG,IAAI,SAAS,EAAuC,CAAC;IACnF,4FAA4F;IAC5F,MAAM,CAAU,eAAe,GAAG,IAAI,SAAS,EAA4B,CAAC;IAE5E;;OAEG;IAEH,cAAc,GAAgC,SAAS,CAAC;IAExD;;;MAGE;IAEF,oBAAoB,GAAY,IAAI,CAAC;IAErC;;;MAGE;IAEF,sBAAsB,GAAY,IAAI,CAAC;IAGvC,cAAc,GAA8B,SAAS,CAAC;IAGtD,cAAc,GAA8B,SAAS,CAAC;IAGtD,cAAc,CAAkB;IAEhC,gGAAgG;IAEhG,aAAa,GAAwC,OAAO,CAAC;IAG7D,cAAc,GAA0C,IAAI,CAAC;IAE7D,gGAAgG;IAEhG,uBAAuB,GAAsC,YAAY,CAAC;IAE1E;;;OAGG;IAEH,WAAW,GAAY,IAAI,CAAC;IAE5B;;;;OAIG;IAEH,OAAO,GAAY,IAAI,CAAC;IAGxB,0BAA0B,GAAY,IAAI,CAAC;IAG3C,mBAAmB,GAAY,IAAI,CAAC;IAEpC;;;OAGG;IACH,UAAU,GAA4B,EAAE,CAAC;IAEjC,IAAI,CAAqB;IACzB,MAAM,CAAqB;IAEnC,gBAAgB;IAChB,KAAK;QACD,IAAI,KAAK,EAAE;YACP,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;YACnD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;gBACvC,QAAQ,GAAG,CAAC,GAAG,EAAE;oBACb,KAAK,GAAG;wBACJ,IAAI,CAAC,aAAa,EAAE,CAAC;wBACrB,MAAM;iBACb;YACL,CAAC,CAAC,CAAC;SACN;QAED,iFAAiF;QACjF,IAAI,CAAC,IAAI,CAAC,cAAc;YACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAE,IAAI,CAAC,cAAuB,EAAE,MAAM;YAChF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IACjD,CAAC;IAED,gBAAgB;IAChB,QAAQ;QACJ,MAAM,iBAAiB,GAAG,eAAe,CAAC,mBAAmB,EAAE,CAAC;QAChE,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,iBAAiB,IAAI,GAAG,CAAC,EAAE;YACrD,IAAI,IAAI,CAAC,0BAA0B;gBAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAE/C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;YAC1E,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC5D;QACD,IAAI,KAAK;YACL,kBAAkB,CAAC,yBAAyB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9D,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAChG,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB;IAChB,SAAS;QACL,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,KAAK;YACL,kBAAkB,CAAC,0BAA0B,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/D,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACnG,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAEO,wBAAwB,GAAG,CAAC,GAAG,EAAE,EAAE;QACvC,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC,CAAA;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW;QACb,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa;QAEf,IAAI,IAAI,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QACzE,IAAI,IAAI,GAAG,GAAG,gBAAgB,EAAE,CAAC,CAAC,oFAAoF;QAEtH,IAAI,CAAC,aAAa,EAAE,EAAE;YAClB,IAAI,IAAI,KAAK,EAAE;gBAAE,IAAI,IAAI,GAAG,CAAC;YAC7B,IAAI,IAAI,gBAAgB,CAAC;SAC5B;QAED,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAE9G,4EAA4E;QAC5E,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;YACpE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;SACf;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;SACf;QAED,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;aAC9C,OAAO,CAAC,GAAG,EAAE;YACV,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEP,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,IAAI,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC;SACf;QAED,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,uCAAuC,GAAG,IAAI,CAAC,CAAC;QAEvE,kEAAkE;QAClE,+GAA+G;QAC/G,8JAA8J;QAC9J;;;;UAIE;QACF,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,cAAoC;QAC7C,wCAAwC;QACxC,IAAI,CAAC,cAAc,EAAE;YACjB,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;SACf;QAED,qEAAqE;QACrE,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACvE,IAAI,iBAAiB,EAAE;YACnB,OAAO,iBAAiB,CAAC;SAC5B;QAED,mBAAmB;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACjD,iBAAiB;QACjB,IAAI,IAAI,YAAY,OAAO,EAAE;YACzB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACtB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAChD,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACX,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAChD,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,CAAC,CAAC,CAAC;gBACpE,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC;SACN;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEgB,mBAAmB,GAAG,IAAI,GAAG,EAAkC,CAAC;IACzE,kBAAkB,GAAW,CAAC,CAAC;IAE/B,KAAK,CAAC,cAAc,CAAC,cAAwB;QAEjD,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE;YAC1B,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACrB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YACrF,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/F,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QACtF,QAAQ,CAAC,KAAK,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC;QAEtD,8BAA8B;QAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,uBAAuB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QACnF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC1B,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;gBAC1B,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe;aAC7C;SACJ;QAED,6CAA6C;QAC7C,MAAM,SAAS,GAAG,UAAU,CAAC,uBAAuB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAC/E,MAAM,kBAAkB,GAAG,IAAI,KAAK,EAAgB,CAAC;QACrD,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,qLAAqL;QACrL,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;YAC1B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;gBAClC,IAAI,IAAI,EAAE;oBACN,IAAI,QAAQ,GAAG,CAAC,CAAC;oBACjB,MAAM,IAAI,GAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAe,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;oBACvH,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC1C,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE;wBAClC,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,EAAE;4BAC3B,IAAI,KAAK;gCAAE,OAAO,CAAC,IAAI,CAAC,sDAAsD,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;4BACvG,SAAS,CAAC,sBAAsB;yBACnC;6BACI,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE;4BAC9B,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;4BAC9B,IAAI,KAAK;gCAAE,OAAO,CAAC,GAAG,CAAC,gDAAgD,GAAG,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;yBACzG;qBACJ;oBACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC9D,IAAI,IAAI,YAAY,OAAO;wBACvB,kBAAkB,CAAC,IAAI,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;4BAC1D,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gCACX,gBAAgB,EAAE,CAAC;gCACnB,QAAQ,CAAC,MAAM,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC;gCACtJ,OAAO,EAAE,CAAC;4BACd,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;wBACnC,CAAC,CAAC,CAAC,CAAC;iBACX;aACJ;YACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE;gBACpC,IAAI,GAAG,EAAE;oBACL,IAAI,QAAQ,GAAG,CAAC,CAAC;oBACjB,MAAM,IAAI,GAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAkB,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;oBAC5H,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC1C,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE;wBAClC,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,EAAE;4BAC3B,IAAI,KAAK;gCAAE,OAAO,CAAC,IAAI,CAAC,iDAAiD,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;4BACjG,SAAS,CAAC,sBAAsB;yBACnC;6BACI,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE;4BAC9B,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;4BAC9B,IAAI,KAAK;gCAAE,OAAO,CAAC,GAAG,CAAC,mDAAmD,GAAG,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;yBAC3G;qBACJ;oBACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBAChE,IAAI,IAAI,YAAY,OAAO;wBACvB,kBAAkB,CAAC,IAAI,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;4BAC1D,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gCACX,gBAAgB,EAAE,CAAC;gCACnB,QAAQ,CAAC,MAAM,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC;gCACzJ,OAAO,EAAE,CAAC;4BACd,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;wBACnC,CAAC,CAAC,CAAC,CAAC;iBACX;aACJ;SACJ;QACD,IAAI,KAAK;YAAE,kBAAkB,CAAC,uBAAuB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACnF,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACtC,IAAI,KAAK;YAAE,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;QAC3D,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAErC,gBAAgB;QAChB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACzC,iGAAiG;QACjG,8DAA8D;QAC9D,sCAAsC;QACtC,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjE,IAAI,UAAU,GAAiC,SAAS,CAAC;QACzD,MAAM,iBAAiB,GAA4B,EAAE,CAAC;QACtD,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,iBAAiB,CAAC,IAAI,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;YAChD,iBAAiB,CAAC,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;YAE7C,+EAA+E;YAC/E,sDAAsD;YACtD,IAAI,UAAU,CAAC,mBAAmB,CAAC,EAAE;gBACjC,MAAM,WAAW,GAAG,UAAU,CAAC,uBAAuB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;gBAClF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,IAAI,IAAI,CAAC,OAAO,EAAE;wBACd,UAAU,GAAG,IAAI,gBAAgB,EAAE,CAAC;wBACpC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;qBACtC;yBACI,IAAI,gBAAgB,EAAE,EAAE;wBACzB,OAAO,CAAC,IAAI,CAAC,8HAA8H,CAAC,CAAC;qBAChJ;iBACJ;aACJ;YACD,iBAAiB,CAAC,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;YAC5C,iBAAiB,CAAC,IAAI,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;SACjD;QACD,MAAM,UAAU,GAAQ,CAAC,OAAO,EAAE,GAAG,iBAAiB,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAE5E,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QACrG,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAE5E,kCAAkC;QAClC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,cAAc;QACd,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAEhC,2EAA2E;QAC3E,6FAA6F;QAE7F,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,0CAA0C,CAAC,CAAC;QAC3E,MAAM,iBAAiB,GAAG,IAAI,KAAK,EAAY,CAAC;QAChD,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC3B,iBAAiB,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;SAClF;QACD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,KAAK,OAAO,CAAC,CAAC;QACvE,IAAI,QAAQ,IAAI,IAAI,CAAC,sBAAsB;YACvC,iBAAiB,CAAC,IAAI,CAAC,GAAG,6BAA6B,CAAC,cAAc,EAAE,QAA0B,CAAC,CAAC,CAAC;QAEzG,YAAY;QACZ,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,QAAQ,CAAC,gBAAgB,GAAG,CAAC,gBAAgB,CAAC;QAC9C,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACnF,QAAQ,CAAC,UAAU,GAAG,CAAC,MAAM,EAAE,EAAE;YAC7B,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,8EAA8E;YAC9E,kEAAkE;YAClE,2DAA2D;YAC3D,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC3D,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE,IAAI,GAAG,KAAK,CAAC;YAChD,4CAA4C;YAC5C,gDAAgD;YAChD,IAAI,IAAI,IAAI,kBAAkB,CAAC,QAAQ,CAAC,MAAa,CAAC;gBAAE,IAAI,GAAG,KAAK,CAAC;YACrE,IAAI,IAAI,IAAI,UAAU,CAAC,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC;gBAAE,IAAI,GAAG,KAAK,CAAC;YAClF,IAAI,IAAI,IAAI,UAAU,CAAC,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,CAAC;gBAAE,IAAI,GAAG,KAAK,CAAC;YACtF,IAAI,KAAK,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC;YAC3E,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAED,QAAQ,CAAC,qBAAqB,GAAG,GAAG,EAAE;YAClC,iFAAiF;YACjF,IAAI,gBAAgB,EAAE,IAAI,OAAO,IAAI,UAAU,EAAE;gBAC7C,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC;gBAC9C,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE;oBAClC,MAAM,gBAAgB,GAAG,UAAU,CAAC,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBACtG,MAAM,eAAe,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAC1G,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC3D,OAAO,CAAC,KAAK,CAAC,sPAAsP,EAAE,MAAM,CAAC,CAAC;qBACjR;iBACJ;aACJ;QACL,CAAC,CAAC;QAEF,4DAA4D;QAC5D,kCAAkC;QAClC,4CAA4C;QAC5C,uFAAuF;QACvF,MAAM,4BAA4B,GAAG,IAAI,KAAK,EAAY,CAAC;QAC3D,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,WAAW,EAAE;YACrE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;oBACd,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC1C;YACL,CAAC,CAAC,CAAC;SACN;QAED,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,KAAK,WAAW,CAAkC,CAAC;QAC/G,IAAI,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,4BAA4B,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5E,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAAC,4BAA4B,CAAC,CAAC,CAAC;SAChF;QAED,IAAI,eAAe,GAAG,IAAI,CAAC;QAC3B,iEAAiE;QACjE,iFAAiF;QACjF,+DAA+D;QAC/D,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,WAAW;YAC7C,eAAe,GAAG,KAAK,CAAC;QAE5B,2BAA2B;QAC3B,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM;YAClI,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QACjC,IAAI,IAAI,CAAC,uBAAuB,KAAK,YAAY,IAAI,IAAI,CAAC,uBAAuB,KAAK,UAAU,IAAI,IAAI,CAAC,uBAAuB,KAAK,KAAK;YACtI,IAAI,CAAC,uBAAuB,GAAG,YAAY,CAAC;QAEhD,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,yBAAyB,CAAC,CAAC;QAE1D,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE;YAC1D,EAAE,EAAE;gBACA,SAAS,EAAE;oBACP,IAAI,EAAE,IAAI,CAAC,aAAa;iBAC3B;gBACD,cAAc,EAAE;oBACZ,SAAS,EAAE,IAAI,CAAC,uBAAuB;iBAC1C;aACJ;YACD,UAAU,EAAE,UAAU;YACtB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,eAAe,EAAE,eAAe;SACnC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAErE,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,gBAAgB;QAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAEtD,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;QAExD,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;QAE1E,kEAAkE;QAClE,KAAK,MAAM,EAAE,IAAI,iBAAiB,EAAE;YAChC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAC1B;QAED,mBAAmB;QACnB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAEnC,qCAAqC;QACrC,YAAY;QACZ,kCAAkC;QAClC,0DAA0D;QAC1D,uCAAuC;QACvC,+CAA+C;QAC/C,qBAAqB;QAErB,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,OAAsB,EAAE,IAAY;QAEhD,MAAM,GAAG,GAAG,OAAO,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAE7E,qHAAqH;QACrH,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7C,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,iBAAiB,YAAY,kBAAkB,aAAa,qBAAqB,gBAAgB,oBAAoB,OAAO,CAAC,eAAe,EAAE,CAAC;QAEtK,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC5D;QAED,iBAAiB;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAElB,WAAW;QACX,kFAAkF;QAClF,yDAAyD;IAC7D,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAU,EAAE,IAAY;QAC7B,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,0CAA0C;IAClC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ;QAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC;QACjE,IAAI,OAAO,IAAI,KAAK,QAAQ;YACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;;YAEjB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,0BAA0B;QAC1B,gDAAgD;IACpD,CAAC;IAGO,YAAY,CAAO;IAEnB,iBAAiB,CAAC,KAAY;QAClC,IAAK,KAAa,EAAE,IAAI,IAAI,mCAAmC,EAAE;YAC7D,IAAI,KAAK;gBAAE,kBAAkB,CAAC,4CAA4C,CAAC,CAAC;YAC5E,IAAI,GAAG,GAAG,IAAI,WAAW,CAAC,yBAAyB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE;gBACvB,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChD,IAAI,GAAG,EAAE;oBACL,MAAM,eAAe,GAAG,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;oBACnD,IAAI,KAAK;wBACL,kBAAkB,CAAC,iBAAiB,GAAG,eAAe,CAAC,CAAC;oBAC5D,IAAI,eAAe,EAAE;wBACjB,IAAI,CAAC,aAAa,EAAE,EAAE;4BAClB,OAAO,CAAC,IAAI,CAAC,sGAAsG,EAAE,eAAe,CAAC,CAAA;yBACxI;6BACI;4BACD,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;yBAC9C;qBACJ;iBACJ;aACJ;SACJ;IACL,CAAC;IAEO,qBAAqB;QACzB,MAAM,GAAG,GAAmB,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,cAAc;YAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,EAAE,EAAE;YAClB,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;YAC/F,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC;YAC3B,GAAG,CAAC,aAAa,GAAG,qBAAqB,CAAC;YAC1C,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC;SAC9B;QACD,MAAM,kBAAkB,GAAG,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,IAAI,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC;QACjH,IAAI,kBAAkB,EAAE;YACpB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM;gBACzB,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM;gBAC1B,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM;gBAC7B,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;SACnC;QACD,2DAA2D;QAC3D,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC1E,OAAO,GAAG,CAAC;IACf,CAAC;IAEO,MAAM,CAAC,mBAAmB,GAAG,IAAI,OAAO,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,CAAC,uBAAuB,GAAG,IAAI,UAAU,EAAE,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzF,4BAA4B,GAAoB,IAAI,CAAC;IACrD,yBAAyB,GAAY,IAAI,OAAO,EAAE,CAAC;IACnD,yBAAyB,GAAe,IAAI,UAAU,EAAE,CAAC;IACzD,sBAAsB,GAAY,IAAI,OAAO,EAAE,CAAC;IAExD,mBAAmB;QACf,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAEjH,MAAM,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,WAAW,GAAG,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QACzF,IAAI,CAAC,WAAW;YAAE,WAAW,GAAG,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAEzG,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;QAEnC,iIAAiI;QACjI,IAAI,EAAE,EAAE;YACJ,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;SACxB;aACI,IAAI,WAAW,EAAE;YAClB,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;YAC9B,mDAAmD;YACnD,cAAc,GAAG,WAAW,CAAC,aAAa,CAAC;SAC9C;QAED,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC;QAC1B,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,IAAI,IAAI,EAAE,CAAC;QAC/F,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,qBAAqB;QACzB,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO;QAEjC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAClF,MAAM,sBAAsB,GAAG,WAAW,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC;QAEzE,IAAI,CAAC,4BAA4B,GAAG,MAAM,CAAC;QAC3C,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE/C,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,cAAc;YACd,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;QAErE,uBAAuB;QACvB,MAAM,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,WAAW,IAAI,sBAAsB;YACrC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAC1D,CAAC;IAEO,sBAAsB;QAC1B,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO;QACjC,IAAI,CAAC,IAAI,CAAC,4BAA4B;YAAE,OAAO;QAE/C,MAAM,MAAM,GAAG,IAAI,CAAC,4BAA4B,CAAC;QACjD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACrD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAE/C,uBAAuB;QACvB,MAAM,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;IAC7C,CAAC;IAEO,qBAAqB;QACzB,MAAM,eAAe,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,eAAe,CAAC,qBAAqB,EAAE,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,MAAM,CAAC;IAClB,CAAC;;AAhpBD;IADC,YAAY,CAAC,QAAQ,CAAC;oDACiC;AAOxD;IADC,YAAY,EAAE;0DACsB;AAOrC;IADC,YAAY,EAAE;4DACwB;AAGvC;IADC,YAAY,EAAE;oDACuC;AAGtD;IADC,YAAY,CAAC,GAAG,CAAC;oDACoC;AAGtD;IADC,YAAY,CAAC,cAAc,CAAC;oDACG;AAIhC;IADC,YAAY,EAAE;mDAC8C;AAG7D;IADC,YAAY,EAAE;oDAC8C;AAI7D;IADC,YAAY,EAAE;6DAC2D;AAO1E;IADC,YAAY,EAAE;iDACa;AAQ5B;IADC,YAAY,EAAE;6CACS;AAGxB;IADC,YAAY,EAAE;gEAC4B;AAG3C;IADC,YAAY,EAAE;yDACqB"}
|
|
1
|
+
{"version":3,"file":"USDZExporter.js","sourceRoot":"","sources":["../../../../src/engine-components/export/usdz/USDZExporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,20 @@ import { Context } from "../../engine/engine_setup.js";
|
|
|
5
5
|
import { Behaviour, GameObject } from "../Component.js";
|
|
6
6
|
import { ColorBySpeedModule, ColorOverLifetimeModule, EmissionModule, InheritVelocityModule, type IParticleSystem, LimitVelocityOverLifetimeModule, MainModule, NoiseModule, ParticleSystemRenderMode, RotationBySpeedModule, RotationOverLifetimeModule, ShapeModule, SizeBySpeedModule, SizeOverLifetimeModule, TextureSheetAnimationModule, TrailModule, VelocityOverLifetimeModule } from "./ParticleSystemModules.js";
|
|
7
7
|
export type { Particle as QParticle, Behavior as QParticleBehaviour, TrailParticle as QTrailParticle } from "three.quarks";
|
|
8
|
+
/**
|
|
9
|
+
* Defines when a sub-emitter spawns particles relative to the parent particle's lifecycle.
|
|
10
|
+
* Used to create complex effects like explosions on impact or trails following particles.
|
|
11
|
+
*/
|
|
8
12
|
export declare enum SubEmitterType {
|
|
13
|
+
/** Sub-emitter triggers when the parent particle is born */
|
|
9
14
|
Birth = 0,
|
|
15
|
+
/** Sub-emitter triggers when the parent particle collides */
|
|
10
16
|
Collision = 1,
|
|
17
|
+
/** Sub-emitter triggers when the parent particle dies */
|
|
11
18
|
Death = 2,
|
|
19
|
+
/** Sub-emitter triggers when the parent particle enters a trigger zone */
|
|
12
20
|
Trigger = 3,
|
|
21
|
+
/** Sub-emitter is triggered manually via code */
|
|
13
22
|
Manual = 4
|
|
14
23
|
}
|
|
15
24
|
/** @internal */
|
|
@@ -28,29 +37,99 @@ export declare class ParticleSystemRenderer extends Behaviour {
|
|
|
28
37
|
getMaterial(trailEnabled?: boolean): MeshBasicMaterial | SpriteMaterial | undefined;
|
|
29
38
|
getMesh(_renderMode?: ParticleSystemRenderMode): Mesh<BufferGeometry<import("three").NormalBufferAttributes>, MeshBasicMaterial | SpriteMaterial, import("three").Object3DEventMap>;
|
|
30
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Base class for custom particle behaviors. Extend this to create custom particle logic.
|
|
42
|
+
*
|
|
43
|
+
* Override `initialize()` to set up per-particle state when particles spawn.
|
|
44
|
+
* Override `update()` to modify particles each frame (position, velocity, color, size, etc.).
|
|
45
|
+
* Override `frameUpdate()` for logic that runs once per frame (not per particle).
|
|
46
|
+
*
|
|
47
|
+
* @example Custom wind effect
|
|
48
|
+
* ```ts
|
|
49
|
+
* class WindBehaviour extends ParticleSystemBaseBehaviour {
|
|
50
|
+
* windStrength = 2;
|
|
51
|
+
* windDirection = new Vector3(1, 0, 0);
|
|
52
|
+
*
|
|
53
|
+
* update(particle: Particle, delta: number) {
|
|
54
|
+
* particle.velocity.addScaledVector(this.windDirection, this.windStrength * delta);
|
|
55
|
+
* }
|
|
56
|
+
* }
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* @see {@link ParticleSystem.addBehaviour} to register your custom behavior
|
|
60
|
+
* @link https://github.com/Alchemist0823/three.quarks
|
|
61
|
+
*/
|
|
31
62
|
export declare abstract class ParticleSystemBaseBehaviour implements Behavior {
|
|
63
|
+
/** Reference to the particle system this behavior belongs to */
|
|
32
64
|
system: ParticleSystem;
|
|
65
|
+
/** Access to the engine context for timing, input, etc. */
|
|
33
66
|
get context(): Context;
|
|
34
67
|
constructor(ps?: ParticleSystem);
|
|
68
|
+
/** Behavior type identifier used by three.quarks */
|
|
35
69
|
type: string;
|
|
70
|
+
/** Called once when a particle is spawned. Use to initialize per-particle state. */
|
|
36
71
|
initialize(_particle: Particle): void;
|
|
72
|
+
/** Called every frame for each active particle. Use to update particle properties. */
|
|
37
73
|
update(_particle: Particle, _delta: number): void;
|
|
74
|
+
/** Called once per frame before particle updates. Use for shared calculations. */
|
|
38
75
|
frameUpdate(_delta: number): void;
|
|
39
76
|
toJSON(): void;
|
|
40
77
|
clone(): Behavior;
|
|
78
|
+
/** Called when the particle system is reset. */
|
|
41
79
|
reset(): void;
|
|
42
80
|
}
|
|
43
81
|
export declare const $particleLife: unique symbol;
|
|
44
82
|
/**
|
|
45
|
-
*
|
|
83
|
+
* ParticleSystem efficiently handles the motion and rendering of many individual particles.
|
|
84
|
+
* Use it for visual effects like fire, smoke, sparks, rain, magic spells, and more.
|
|
85
|
+
*
|
|
86
|
+
* 
|
|
87
|
+
* 
|
|
88
|
+
*
|
|
89
|
+
* **Modules:**
|
|
90
|
+
* Configure particle behavior through modules like {@link EmissionModule}, {@link ShapeModule},
|
|
91
|
+
* {@link ColorOverLifetimeModule}, {@link SizeOverLifetimeModule}, {@link VelocityOverLifetimeModule},
|
|
92
|
+
* {@link NoiseModule}, and {@link TrailModule}.
|
|
93
|
+
*
|
|
94
|
+
* **Custom behaviors:**
|
|
95
|
+
* Add custom particle behaviors by extending {@link ParticleSystemBaseBehaviour} and
|
|
96
|
+
* calling `addBehaviour()`. This gives you full control over particle initialization and updates.
|
|
97
|
+
*
|
|
98
|
+
* **Performance:**
|
|
99
|
+
* Particles are batched together for fast, performant rendering even on low-end devices.
|
|
100
|
+
* Needle Engine uses [three.quarks](https://github.com/Alchemist0823/three.quarks) internally.
|
|
101
|
+
*
|
|
102
|
+
* @example Basic playback control
|
|
103
|
+
* ```ts
|
|
104
|
+
* const ps = myObject.getComponent(ParticleSystem);
|
|
105
|
+
* ps.play();
|
|
106
|
+
* ps.emit(10); // Emit 10 particles immediately
|
|
107
|
+
* ps.pause();
|
|
108
|
+
* ps.stop(true, true); // Stop and clear all particles
|
|
109
|
+
* ```
|
|
46
110
|
*
|
|
47
|
-
*
|
|
111
|
+
* @example Custom particle behavior
|
|
112
|
+
* ```ts
|
|
113
|
+
* class GravityBehaviour extends ParticleSystemBaseBehaviour {
|
|
114
|
+
* update(particle: Particle, delta: number) {
|
|
115
|
+
* particle.velocity.y -= 9.8 * delta;
|
|
116
|
+
* }
|
|
117
|
+
* }
|
|
118
|
+
* particleSystem.addBehaviour(new GravityBehaviour());
|
|
119
|
+
* ```
|
|
48
120
|
*
|
|
49
|
-
*
|
|
121
|
+
* - Example: https://engine.needle.tools/samples/particles
|
|
122
|
+
* - Example: https://engine.needle.tools/samples/particle-bursts
|
|
123
|
+
* - Example: https://engine.needle.tools/samples/particles-on-collision
|
|
50
124
|
*
|
|
51
125
|
* @summary Handles the motion and rendering of many individual particles
|
|
52
126
|
* @category Rendering
|
|
53
127
|
* @group Components
|
|
128
|
+
* @see {@link ParticleSystemBaseBehaviour} for custom particle behaviors
|
|
129
|
+
* @see {@link EmissionModule} for emission configuration
|
|
130
|
+
* @see {@link ShapeModule} for emission shape control
|
|
131
|
+
* @see {@link TrailModule} for particle trails
|
|
132
|
+
* @link https://engine.needle.tools/docs/features/particles.html
|
|
54
133
|
*/
|
|
55
134
|
export declare class ParticleSystem extends Behaviour implements IParticleSystem {
|
|
56
135
|
play(includeChildren?: boolean): void;
|
|
@@ -23,12 +23,21 @@ import { ParticleSubEmitter } from "./ParticleSystemSubEmitter.js";
|
|
|
23
23
|
const debug = getParam("debugparticles");
|
|
24
24
|
const suppressProgressiveLoading = getParam("noprogressive");
|
|
25
25
|
const debugProgressiveLoading = getParam("debugprogressive");
|
|
26
|
+
/**
|
|
27
|
+
* Defines when a sub-emitter spawns particles relative to the parent particle's lifecycle.
|
|
28
|
+
* Used to create complex effects like explosions on impact or trails following particles.
|
|
29
|
+
*/
|
|
26
30
|
export var SubEmitterType;
|
|
27
31
|
(function (SubEmitterType) {
|
|
32
|
+
/** Sub-emitter triggers when the parent particle is born */
|
|
28
33
|
SubEmitterType[SubEmitterType["Birth"] = 0] = "Birth";
|
|
34
|
+
/** Sub-emitter triggers when the parent particle collides */
|
|
29
35
|
SubEmitterType[SubEmitterType["Collision"] = 1] = "Collision";
|
|
36
|
+
/** Sub-emitter triggers when the parent particle dies */
|
|
30
37
|
SubEmitterType[SubEmitterType["Death"] = 2] = "Death";
|
|
38
|
+
/** Sub-emitter triggers when the parent particle enters a trigger zone */
|
|
31
39
|
SubEmitterType[SubEmitterType["Trigger"] = 3] = "Trigger";
|
|
40
|
+
/** Sub-emitter is triggered manually via code */
|
|
32
41
|
SubEmitterType[SubEmitterType["Manual"] = 4] = "Manual";
|
|
33
42
|
})(SubEmitterType || (SubEmitterType = {}));
|
|
34
43
|
/** @internal */
|
|
@@ -251,20 +260,49 @@ class ParticleSystemEmissionOverDistance extends BaseValueGenerator {
|
|
|
251
260
|
// return emission;
|
|
252
261
|
}
|
|
253
262
|
}
|
|
263
|
+
/**
|
|
264
|
+
* Base class for custom particle behaviors. Extend this to create custom particle logic.
|
|
265
|
+
*
|
|
266
|
+
* Override `initialize()` to set up per-particle state when particles spawn.
|
|
267
|
+
* Override `update()` to modify particles each frame (position, velocity, color, size, etc.).
|
|
268
|
+
* Override `frameUpdate()` for logic that runs once per frame (not per particle).
|
|
269
|
+
*
|
|
270
|
+
* @example Custom wind effect
|
|
271
|
+
* ```ts
|
|
272
|
+
* class WindBehaviour extends ParticleSystemBaseBehaviour {
|
|
273
|
+
* windStrength = 2;
|
|
274
|
+
* windDirection = new Vector3(1, 0, 0);
|
|
275
|
+
*
|
|
276
|
+
* update(particle: Particle, delta: number) {
|
|
277
|
+
* particle.velocity.addScaledVector(this.windDirection, this.windStrength * delta);
|
|
278
|
+
* }
|
|
279
|
+
* }
|
|
280
|
+
* ```
|
|
281
|
+
*
|
|
282
|
+
* @see {@link ParticleSystem.addBehaviour} to register your custom behavior
|
|
283
|
+
* @link https://github.com/Alchemist0823/three.quarks
|
|
284
|
+
*/
|
|
254
285
|
export class ParticleSystemBaseBehaviour {
|
|
286
|
+
/** Reference to the particle system this behavior belongs to */
|
|
255
287
|
system;
|
|
288
|
+
/** Access to the engine context for timing, input, etc. */
|
|
256
289
|
get context() { return this.system.context; }
|
|
257
290
|
constructor(ps) {
|
|
258
291
|
this.type = Object.getPrototypeOf(this).constructor.name || "ParticleSystemBaseBehaviour";
|
|
259
292
|
if (ps)
|
|
260
293
|
this.system = ps;
|
|
261
294
|
}
|
|
295
|
+
/** Behavior type identifier used by three.quarks */
|
|
262
296
|
type;
|
|
297
|
+
/** Called once when a particle is spawned. Use to initialize per-particle state. */
|
|
263
298
|
initialize(_particle) { }
|
|
299
|
+
/** Called every frame for each active particle. Use to update particle properties. */
|
|
264
300
|
update(_particle, _delta) { }
|
|
301
|
+
/** Called once per frame before particle updates. Use for shared calculations. */
|
|
265
302
|
frameUpdate(_delta) { }
|
|
266
303
|
toJSON() { throw new Error("Method not implemented."); }
|
|
267
304
|
clone() { throw new Error("Method not implemented."); }
|
|
305
|
+
/** Called when the particle system is reset. */
|
|
268
306
|
reset() { }
|
|
269
307
|
}
|
|
270
308
|
const $startFrame = Symbol("startFrame");
|
|
@@ -606,15 +644,56 @@ class ParticlesEmissionState {
|
|
|
606
644
|
waitEmiting = 0;
|
|
607
645
|
}
|
|
608
646
|
/**
|
|
609
|
-
*
|
|
647
|
+
* ParticleSystem efficiently handles the motion and rendering of many individual particles.
|
|
648
|
+
* Use it for visual effects like fire, smoke, sparks, rain, magic spells, and more.
|
|
649
|
+
*
|
|
650
|
+
* 
|
|
651
|
+
* 
|
|
652
|
+
*
|
|
653
|
+
* **Modules:**
|
|
654
|
+
* Configure particle behavior through modules like {@link EmissionModule}, {@link ShapeModule},
|
|
655
|
+
* {@link ColorOverLifetimeModule}, {@link SizeOverLifetimeModule}, {@link VelocityOverLifetimeModule},
|
|
656
|
+
* {@link NoiseModule}, and {@link TrailModule}.
|
|
657
|
+
*
|
|
658
|
+
* **Custom behaviors:**
|
|
659
|
+
* Add custom particle behaviors by extending {@link ParticleSystemBaseBehaviour} and
|
|
660
|
+
* calling `addBehaviour()`. This gives you full control over particle initialization and updates.
|
|
661
|
+
*
|
|
662
|
+
* **Performance:**
|
|
663
|
+
* Particles are batched together for fast, performant rendering even on low-end devices.
|
|
664
|
+
* Needle Engine uses [three.quarks](https://github.com/Alchemist0823/three.quarks) internally.
|
|
665
|
+
*
|
|
666
|
+
* @example Basic playback control
|
|
667
|
+
* ```ts
|
|
668
|
+
* const ps = myObject.getComponent(ParticleSystem);
|
|
669
|
+
* ps.play();
|
|
670
|
+
* ps.emit(10); // Emit 10 particles immediately
|
|
671
|
+
* ps.pause();
|
|
672
|
+
* ps.stop(true, true); // Stop and clear all particles
|
|
673
|
+
* ```
|
|
610
674
|
*
|
|
611
|
-
*
|
|
675
|
+
* @example Custom particle behavior
|
|
676
|
+
* ```ts
|
|
677
|
+
* class GravityBehaviour extends ParticleSystemBaseBehaviour {
|
|
678
|
+
* update(particle: Particle, delta: number) {
|
|
679
|
+
* particle.velocity.y -= 9.8 * delta;
|
|
680
|
+
* }
|
|
681
|
+
* }
|
|
682
|
+
* particleSystem.addBehaviour(new GravityBehaviour());
|
|
683
|
+
* ```
|
|
612
684
|
*
|
|
613
|
-
*
|
|
685
|
+
* - Example: https://engine.needle.tools/samples/particles
|
|
686
|
+
* - Example: https://engine.needle.tools/samples/particle-bursts
|
|
687
|
+
* - Example: https://engine.needle.tools/samples/particles-on-collision
|
|
614
688
|
*
|
|
615
689
|
* @summary Handles the motion and rendering of many individual particles
|
|
616
690
|
* @category Rendering
|
|
617
691
|
* @group Components
|
|
692
|
+
* @see {@link ParticleSystemBaseBehaviour} for custom particle behaviors
|
|
693
|
+
* @see {@link EmissionModule} for emission configuration
|
|
694
|
+
* @see {@link ShapeModule} for emission shape control
|
|
695
|
+
* @see {@link TrailModule} for particle trails
|
|
696
|
+
* @link https://engine.needle.tools/docs/features/particles.html
|
|
618
697
|
*/
|
|
619
698
|
export class ParticleSystem extends Behaviour {
|
|
620
699
|
play(includeChildren = false) {
|