@needle-tools/engine 4.11.5 → 4.12.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/components.needle.json +1 -1
- package/custom-elements.json +420 -0
- package/dist/generateMeshBVH.worker-mO20N_b8.js +21 -0
- package/dist/{gltf-progressive-GwdQV1Qx.umd.cjs → gltf-progressive-DWcmTMCh.umd.cjs} +1 -1
- package/dist/{gltf-progressive-CftVUJy3.min.js → gltf-progressive-DZrY8VT6.min.js} +2 -2
- package/dist/{gltf-progressive-BvlZQAkt.js → gltf-progressive-DgYz5BYa.js} +19 -19
- package/dist/loader.worker-Dip-PthR.js +23 -0
- package/dist/{needle-engine.bundle-DYdft7n9.min.js → needle-engine.bundle-BeTUOBiO.min.js} +130 -135
- package/dist/{needle-engine.bundle-DSm5itjo.js → needle-engine.bundle-BxG30KEV.js} +4368 -4241
- package/dist/{needle-engine.bundle-DMqWdPzL.umd.cjs → needle-engine.bundle-C08Ag6_H.umd.cjs} +138 -143
- package/dist/needle-engine.d.ts +18198 -1
- package/dist/needle-engine.js +336 -335
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-CJC0Npcd.js → postprocessing-BTW9pD_s.js} +1822 -1723
- package/dist/{postprocessing-DrM4PWU3.umd.cjs → postprocessing-CMgoN5t5.umd.cjs} +229 -158
- package/dist/{postprocessing-l7zsdO_Q.min.js → postprocessing-DYDtB188.min.js} +227 -156
- package/dist/rapier-B3oL1ap-.js +5217 -0
- package/dist/rapier-DJ-luMxr.min.js +1 -0
- package/dist/rapier-DQltNJbN.umd.cjs +1 -0
- package/dist/{three-BDW9I486.min.js → three-B7CT31Bt.min.js} +1 -5
- package/dist/{three-MHVqtJYj.js → three-DfMvBzXi.js} +0 -5
- package/dist/{three-examples-CgwGHSgz.umd.cjs → three-examples-CsW4_6LI.umd.cjs} +2 -7
- package/dist/{three-examples-fvEPSC8L.min.js → three-examples-D1P7eEhn.min.js} +2 -7
- package/dist/{three-examples-C5Ht-QFN.js → three-examples-D1SK93ek.js} +1 -7
- package/dist/{three-mesh-ui-BjWTTk1R.js → three-mesh-ui-C_uSB5dD.js} +1 -1
- package/dist/{three-mesh-ui-Bm32sS2a.umd.cjs → three-mesh-ui-DpATDXwU.umd.cjs} +1 -1
- package/dist/{three-mesh-ui-CLdkp21K.min.js → three-mesh-ui-LQ44s0AL.min.js} +1 -1
- package/dist/{three-iFaDq9U3.umd.cjs → three-qj71I7J3.umd.cjs} +2 -6
- package/dist/{vendor-CsyK1CFs.min.js → vendor-BKGa4GE0.min.js} +34 -39
- package/dist/{vendor-petGQl0N.js → vendor-D0zoswDa.js} +1626 -1605
- package/dist/{vendor-6kAXU6fm.umd.cjs → vendor-UCpFAwt1.umd.cjs} +30 -35
- package/lib/engine/api.d.ts +0 -1
- package/lib/engine/api.js +0 -1
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/debug/debug_spector.d.ts +16 -0
- package/lib/engine/debug/debug_spector.js +28 -0
- package/lib/engine/debug/debug_spector.js.map +1 -0
- package/lib/engine/engine_application.d.ts +7 -0
- package/lib/engine/engine_application.js +8 -1
- package/lib/engine/engine_application.js.map +1 -1
- package/lib/engine/engine_context.js +4 -1
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_license.js +1 -1
- package/lib/engine/engine_license.js.map +1 -1
- package/lib/engine/engine_physics.js +6 -2
- package/lib/engine/engine_physics.js.map +1 -1
- package/lib/engine/engine_physics_rapier.d.ts +11 -2
- package/lib/engine/engine_physics_rapier.js +9 -0
- package/lib/engine/engine_physics_rapier.js.map +1 -1
- package/lib/engine/engine_texture.d.ts +1 -1
- package/lib/engine/engine_tonemapping.d.ts +1 -1
- package/lib/engine/engine_types.d.ts +16 -0
- package/lib/engine/engine_typestore.d.ts +1 -0
- package/lib/engine/engine_typestore.js +5 -6
- package/lib/engine/engine_typestore.js.map +1 -1
- package/lib/engine/webcomponents/logo-element.d.ts +11 -0
- package/lib/engine/webcomponents/logo-element.js +6 -0
- package/lib/engine/webcomponents/logo-element.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +24 -3
- package/lib/engine/webcomponents/needle menu/needle-menu.js +18 -3
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine/webcomponents/needle-button.d.ts +5 -0
- package/lib/engine/webcomponents/needle-button.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.d.ts +220 -8
- package/lib/engine/webcomponents/needle-engine.js +94 -13
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine/xr/NeedleXRSession.js +2 -1
- package/lib/engine/xr/NeedleXRSession.js.map +1 -1
- package/lib/engine-components/AlignmentConstraint.d.ts +8 -0
- package/lib/engine-components/AlignmentConstraint.js +8 -0
- package/lib/engine-components/AlignmentConstraint.js.map +1 -1
- package/lib/engine-components/Animation.d.ts +2 -0
- package/lib/engine-components/Animation.js +2 -0
- package/lib/engine-components/Animation.js.map +1 -1
- package/lib/engine-components/Animator.d.ts +2 -0
- package/lib/engine-components/Animator.js +1 -0
- package/lib/engine-components/Animator.js.map +1 -1
- package/lib/engine-components/AudioListener.d.ts +2 -0
- package/lib/engine-components/AudioListener.js +2 -0
- package/lib/engine-components/AudioListener.js.map +1 -1
- package/lib/engine-components/AudioSource.d.ts +1 -0
- package/lib/engine-components/AudioSource.js +1 -0
- package/lib/engine-components/AudioSource.js.map +1 -1
- package/lib/engine-components/AxesHelper.d.ts +2 -0
- package/lib/engine-components/AxesHelper.js +2 -0
- package/lib/engine-components/AxesHelper.js.map +1 -1
- package/lib/engine-components/BasicIKConstraint.d.ts +8 -0
- package/lib/engine-components/BasicIKConstraint.js +8 -0
- package/lib/engine-components/BasicIKConstraint.js.map +1 -1
- package/lib/engine-components/BoxHelperComponent.d.ts +1 -0
- package/lib/engine-components/BoxHelperComponent.js +1 -0
- package/lib/engine-components/BoxHelperComponent.js.map +1 -1
- package/lib/engine-components/Camera.d.ts +1 -0
- package/lib/engine-components/Camera.js +1 -0
- package/lib/engine-components/Camera.js.map +1 -1
- package/lib/engine-components/CharacterController.d.ts +4 -1
- package/lib/engine-components/CharacterController.js +4 -1
- package/lib/engine-components/CharacterController.js.map +1 -1
- package/lib/engine-components/Collider.d.ts +1 -1
- package/lib/engine-components/Collider.js +1 -1
- package/lib/engine-components/Component.d.ts +5 -0
- package/lib/engine-components/Component.js +7 -0
- package/lib/engine-components/Component.js.map +1 -1
- package/lib/engine-components/ContactShadows.d.ts +1 -1
- package/lib/engine-components/ContactShadows.js +1 -1
- package/lib/engine-components/DeleteBox.d.ts +2 -0
- package/lib/engine-components/DeleteBox.js +2 -0
- package/lib/engine-components/DeleteBox.js.map +1 -1
- package/lib/engine-components/DeviceFlag.d.ts +4 -0
- package/lib/engine-components/DeviceFlag.js +4 -0
- package/lib/engine-components/DeviceFlag.js.map +1 -1
- package/lib/engine-components/DragControls.d.ts +1 -0
- package/lib/engine-components/DragControls.js +4 -0
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/DropListener.d.ts +1 -0
- package/lib/engine-components/DropListener.js +1 -0
- package/lib/engine-components/DropListener.js.map +1 -1
- package/lib/engine-components/Duplicatable.d.ts +1 -0
- package/lib/engine-components/Duplicatable.js +1 -0
- package/lib/engine-components/Duplicatable.js.map +1 -1
- package/lib/engine-components/EventTrigger.d.ts +2 -0
- package/lib/engine-components/EventTrigger.js +2 -0
- package/lib/engine-components/EventTrigger.js.map +1 -1
- package/lib/engine-components/Gizmos.d.ts +2 -0
- package/lib/engine-components/Gizmos.js +2 -0
- package/lib/engine-components/Gizmos.js.map +1 -1
- package/lib/engine-components/GridHelper.d.ts +2 -0
- package/lib/engine-components/GridHelper.js +2 -0
- package/lib/engine-components/GridHelper.js.map +1 -1
- package/lib/engine-components/GroundProjection.d.ts +1 -0
- package/lib/engine-components/GroundProjection.js +1 -0
- package/lib/engine-components/GroundProjection.js.map +1 -1
- package/lib/engine-components/Joints.d.ts +6 -0
- package/lib/engine-components/Joints.js +6 -0
- package/lib/engine-components/Joints.js.map +1 -1
- package/lib/engine-components/LODGroup.d.ts +2 -0
- package/lib/engine-components/LODGroup.js +2 -0
- package/lib/engine-components/LODGroup.js.map +1 -1
- package/lib/engine-components/Light.d.ts +1 -0
- package/lib/engine-components/Light.js +1 -0
- package/lib/engine-components/Light.js.map +1 -1
- package/lib/engine-components/LookAtConstraint.d.ts +1 -0
- package/lib/engine-components/LookAtConstraint.js +1 -0
- package/lib/engine-components/LookAtConstraint.js.map +1 -1
- package/lib/engine-components/NeedleMenu.d.ts +1 -0
- package/lib/engine-components/NeedleMenu.js +1 -0
- package/lib/engine-components/NeedleMenu.js.map +1 -1
- package/lib/engine-components/NestedGltf.d.ts +1 -0
- package/lib/engine-components/NestedGltf.js +1 -0
- package/lib/engine-components/NestedGltf.js.map +1 -1
- package/lib/engine-components/Networking.d.ts +1 -0
- package/lib/engine-components/Networking.js +1 -0
- package/lib/engine-components/Networking.js.map +1 -1
- package/lib/engine-components/OffsetConstraint.d.ts +7 -0
- package/lib/engine-components/OffsetConstraint.js +7 -0
- package/lib/engine-components/OffsetConstraint.js.map +1 -1
- package/lib/engine-components/OrbitControls.d.ts +1 -0
- package/lib/engine-components/OrbitControls.js +1 -0
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/PlayerColor.d.ts +2 -0
- package/lib/engine-components/PlayerColor.js +2 -0
- package/lib/engine-components/PlayerColor.js.map +1 -1
- package/lib/engine-components/ReflectionProbe.d.ts +1 -0
- package/lib/engine-components/ReflectionProbe.js +1 -0
- package/lib/engine-components/ReflectionProbe.js.map +1 -1
- package/lib/engine-components/RendererInstancing.d.ts +5 -3
- package/lib/engine-components/RendererInstancing.js +64 -31
- package/lib/engine-components/RendererInstancing.js.map +1 -1
- package/lib/engine-components/RigidBody.d.ts +1 -0
- package/lib/engine-components/RigidBody.js +1 -0
- package/lib/engine-components/RigidBody.js.map +1 -1
- package/lib/engine-components/SceneSwitcher.d.ts +1 -0
- package/lib/engine-components/SceneSwitcher.js +1 -0
- package/lib/engine-components/SceneSwitcher.js.map +1 -1
- package/lib/engine-components/ScreenCapture.d.ts +1 -0
- package/lib/engine-components/ScreenCapture.js +1 -0
- package/lib/engine-components/ScreenCapture.js.map +1 -1
- package/lib/engine-components/SeeThrough.d.ts +1 -0
- package/lib/engine-components/SeeThrough.js +1 -0
- package/lib/engine-components/SeeThrough.js.map +1 -1
- package/lib/engine-components/ShadowCatcher.d.ts +2 -0
- package/lib/engine-components/ShadowCatcher.js +2 -0
- package/lib/engine-components/ShadowCatcher.js.map +1 -1
- package/lib/engine-components/Skybox.d.ts +16 -5
- package/lib/engine-components/Skybox.js +38 -25
- package/lib/engine-components/Skybox.js.map +1 -1
- package/lib/engine-components/SmoothFollow.d.ts +1 -0
- package/lib/engine-components/SmoothFollow.js +1 -0
- package/lib/engine-components/SmoothFollow.js.map +1 -1
- package/lib/engine-components/SpatialTrigger.d.ts +1 -0
- package/lib/engine-components/SpatialTrigger.js +1 -0
- package/lib/engine-components/SpatialTrigger.js.map +1 -1
- package/lib/engine-components/SpectatorCamera.d.ts +1 -0
- package/lib/engine-components/SpectatorCamera.js +1 -0
- package/lib/engine-components/SpectatorCamera.js.map +1 -1
- package/lib/engine-components/SpriteRenderer.d.ts +1 -0
- package/lib/engine-components/SpriteRenderer.js +1 -0
- package/lib/engine-components/SpriteRenderer.js.map +1 -1
- package/lib/engine-components/SyncedCamera.d.ts +2 -0
- package/lib/engine-components/SyncedCamera.js +2 -0
- package/lib/engine-components/SyncedCamera.js.map +1 -1
- package/lib/engine-components/SyncedRoom.d.ts +1 -0
- package/lib/engine-components/SyncedRoom.js +1 -0
- package/lib/engine-components/SyncedRoom.js.map +1 -1
- package/lib/engine-components/SyncedTransform.d.ts +2 -0
- package/lib/engine-components/SyncedTransform.js +2 -0
- package/lib/engine-components/SyncedTransform.js.map +1 -1
- package/lib/engine-components/TransformGizmo.d.ts +2 -0
- package/lib/engine-components/TransformGizmo.js +2 -0
- package/lib/engine-components/TransformGizmo.js.map +1 -1
- package/lib/engine-components/VideoPlayer.d.ts +1 -0
- package/lib/engine-components/VideoPlayer.js +1 -0
- package/lib/engine-components/VideoPlayer.js.map +1 -1
- package/lib/engine-components/Voip.d.ts +1 -0
- package/lib/engine-components/Voip.js +1 -0
- package/lib/engine-components/Voip.js.map +1 -1
- package/lib/engine-components/export/gltf/GltfExport.d.ts +5 -0
- package/lib/engine-components/export/gltf/GltfExport.js +5 -0
- package/lib/engine-components/export/gltf/GltfExport.js.map +1 -1
- package/lib/engine-components/export/usdz/USDZExporter.d.ts +25 -3
- package/lib/engine-components/export/usdz/USDZExporter.js +37 -2
- package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +18 -0
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +18 -0
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -1
- package/lib/engine-components/particlesystem/ParticleSystem.d.ts +1 -0
- package/lib/engine-components/particlesystem/ParticleSystem.js +1 -0
- package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
- package/lib/engine-components/physics/Attractor.d.ts +3 -0
- package/lib/engine-components/physics/Attractor.js +3 -0
- package/lib/engine-components/physics/Attractor.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +1 -0
- package/lib/engine-components/postprocessing/Effects/BloomEffect.js +1 -0
- package/lib/engine-components/postprocessing/Effects/BloomEffect.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +4 -0
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +4 -0
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +3 -0
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +3 -0
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +4 -0
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js +4 -0
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js.map +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 +3 -0
- package/lib/engine-components/postprocessing/Effects/Pixelation.js +3 -0
- package/lib/engine-components/postprocessing/Effects/Pixelation.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +4 -0
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +4 -0
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +4 -0
- package/lib/engine-components/postprocessing/Effects/Sharpening.js +4 -0
- package/lib/engine-components/postprocessing/Effects/Sharpening.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +4 -0
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +4 -0
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +4 -0
- package/lib/engine-components/postprocessing/Effects/Tonemapping.js +4 -0
- package/lib/engine-components/postprocessing/Effects/Tonemapping.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +4 -0
- package/lib/engine-components/postprocessing/Effects/Vignette.js +4 -0
- package/lib/engine-components/postprocessing/Effects/Vignette.js.map +1 -1
- package/lib/engine-components/postprocessing/Volume.d.ts +1 -0
- package/lib/engine-components/postprocessing/Volume.js +1 -0
- package/lib/engine-components/postprocessing/Volume.js.map +1 -1
- package/lib/engine-components/splines/Spline.d.ts +1 -0
- package/lib/engine-components/splines/Spline.js +1 -0
- package/lib/engine-components/splines/Spline.js.map +1 -1
- package/lib/engine-components/splines/SplineWalker.d.ts +1 -0
- package/lib/engine-components/splines/SplineWalker.js +1 -0
- package/lib/engine-components/splines/SplineWalker.js.map +1 -1
- package/lib/engine-components/timeline/PlayableDirector.d.ts +1 -0
- package/lib/engine-components/timeline/PlayableDirector.js +1 -0
- package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
- package/lib/engine-components/timeline/SignalAsset.d.ts +1 -0
- package/lib/engine-components/timeline/SignalAsset.js +1 -0
- package/lib/engine-components/timeline/SignalAsset.js.map +1 -1
- package/lib/engine-components/ui/Button.d.ts +4 -0
- package/lib/engine-components/ui/Button.js +4 -0
- package/lib/engine-components/ui/Button.js.map +1 -1
- package/lib/engine-components/ui/Canvas.d.ts +5 -0
- package/lib/engine-components/ui/Canvas.js +5 -0
- package/lib/engine-components/ui/Canvas.js.map +1 -1
- package/lib/engine-components/ui/CanvasGroup.d.ts +4 -0
- package/lib/engine-components/ui/CanvasGroup.js +4 -0
- package/lib/engine-components/ui/CanvasGroup.js.map +1 -1
- package/lib/engine-components/ui/EventSystem.d.ts +2 -0
- package/lib/engine-components/ui/EventSystem.js +2 -0
- package/lib/engine-components/ui/EventSystem.js.map +1 -1
- package/lib/engine-components/ui/Image.d.ts +4 -0
- package/lib/engine-components/ui/Image.js +4 -0
- package/lib/engine-components/ui/Image.js.map +1 -1
- package/lib/engine-components/ui/InputField.d.ts +4 -0
- package/lib/engine-components/ui/InputField.js +4 -0
- package/lib/engine-components/ui/InputField.js.map +1 -1
- package/lib/engine-components/ui/Outline.d.ts +7 -0
- package/lib/engine-components/ui/Outline.js +7 -0
- package/lib/engine-components/ui/Outline.js.map +1 -1
- package/lib/engine-components/ui/SpatialHtml.d.ts +7 -0
- package/lib/engine-components/ui/SpatialHtml.js +7 -0
- package/lib/engine-components/ui/SpatialHtml.js.map +1 -1
- package/lib/engine-components/ui/Text.d.ts +3 -0
- package/lib/engine-components/ui/Text.js +3 -0
- package/lib/engine-components/ui/Text.js.map +1 -1
- package/lib/engine-components/utils/LookAt.d.ts +1 -0
- package/lib/engine-components/utils/LookAt.js +1 -0
- package/lib/engine-components/utils/LookAt.js.map +1 -1
- package/lib/engine-components/web/Clickthrough.d.ts +1 -1
- package/lib/engine-components/web/Clickthrough.js +1 -1
- package/lib/engine-components/web/CursorFollow.d.ts +2 -0
- package/lib/engine-components/web/CursorFollow.js +3 -0
- package/lib/engine-components/web/CursorFollow.js.map +1 -1
- package/lib/engine-components/web/HoverAnimation.d.ts +1 -0
- package/lib/engine-components/web/HoverAnimation.js +1 -0
- package/lib/engine-components/web/HoverAnimation.js.map +1 -1
- package/lib/engine-components/web/ScrollFollow.d.ts +2 -0
- package/lib/engine-components/web/ScrollFollow.js +2 -0
- package/lib/engine-components/web/ScrollFollow.js.map +1 -1
- package/lib/engine-components/web/ViewBox.d.ts +1 -0
- package/lib/engine-components/web/ViewBox.js +1 -0
- package/lib/engine-components/web/ViewBox.js.map +1 -1
- package/lib/engine-components/webxr/Avatar.d.ts +5 -0
- package/lib/engine-components/webxr/Avatar.js +5 -0
- package/lib/engine-components/webxr/Avatar.js.map +1 -1
- package/lib/engine-components/webxr/WebARCameraBackground.d.ts +1 -0
- package/lib/engine-components/webxr/WebARCameraBackground.js +1 -0
- package/lib/engine-components/webxr/WebARCameraBackground.js.map +1 -1
- package/lib/engine-components/webxr/WebARSessionRoot.d.ts +1 -0
- package/lib/engine-components/webxr/WebARSessionRoot.js +1 -0
- package/lib/engine-components/webxr/WebARSessionRoot.js.map +1 -1
- package/lib/engine-components/webxr/WebXR.d.ts +1 -1
- package/lib/engine-components/webxr/WebXR.js +5 -1
- package/lib/engine-components/webxr/WebXR.js.map +1 -1
- package/lib/engine-components/webxr/controllers/XRControllerFollow.d.ts +1 -0
- package/lib/engine-components/webxr/controllers/XRControllerFollow.js +1 -0
- package/lib/engine-components/webxr/controllers/XRControllerFollow.js.map +1 -1
- package/lib/engine-components/webxr/controllers/XRControllerModel.d.ts +4 -0
- package/lib/engine-components/webxr/controllers/XRControllerModel.js +4 -0
- package/lib/engine-components/webxr/controllers/XRControllerModel.js.map +1 -1
- package/lib/engine-components/webxr/controllers/XRControllerMovement.d.ts +1 -0
- package/lib/engine-components/webxr/controllers/XRControllerMovement.js +1 -0
- package/lib/engine-components/webxr/controllers/XRControllerMovement.js.map +1 -1
- package/lib/engine-components-experimental/networking/PlayerSync.d.ts +2 -0
- package/lib/engine-components-experimental/networking/PlayerSync.js +2 -0
- package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
- package/lib/needle-engine.js +2 -1
- package/lib/needle-engine.js.map +1 -1
- package/package.json +20 -13
- package/plugins/types/needleConfig.d.ts +1 -1
- package/plugins/types/next.d.ts +1 -1
- package/plugins/types/userconfig.d.ts +4 -1
- package/plugins/vite/custom-element-data.js +80 -0
- package/plugins/vite/index.js +4 -0
- package/src/engine/api.ts +0 -1
- package/src/engine/debug/debug_spector.ts +43 -0
- package/src/engine/engine_application.ts +16 -1
- package/src/engine/engine_context.ts +5 -1
- package/src/engine/engine_license.ts +1 -1
- package/src/engine/engine_physics.ts +6 -2
- package/src/engine/engine_physics_rapier.ts +11 -2
- package/src/engine/engine_texture.ts +1 -1
- package/src/engine/engine_tonemapping.ts +1 -1
- package/src/engine/engine_types.ts +17 -0
- package/src/engine/engine_typestore.ts +5 -6
- package/src/engine/webcomponents/logo-element.ts +12 -0
- package/src/engine/webcomponents/needle menu/needle-menu.ts +24 -3
- package/src/engine/webcomponents/needle-button.ts +6 -0
- package/src/engine/webcomponents/needle-engine.ts +331 -22
- package/src/engine/xr/NeedleXRSession.ts +3 -1
- package/src/engine-components/AlignmentConstraint.ts +8 -0
- package/src/engine-components/Animation.ts +2 -0
- package/src/engine-components/Animator.ts +2 -0
- package/src/engine-components/AudioListener.ts +2 -0
- package/src/engine-components/AudioSource.ts +1 -0
- package/src/engine-components/AxesHelper.ts +2 -0
- package/src/engine-components/BasicIKConstraint.ts +8 -0
- package/src/engine-components/BoxHelperComponent.ts +1 -0
- package/src/engine-components/Camera.ts +1 -0
- package/src/engine-components/CharacterController.ts +4 -1
- package/src/engine-components/Collider.ts +1 -1
- package/src/engine-components/Component.ts +9 -1
- package/src/engine-components/ContactShadows.ts +1 -1
- package/src/engine-components/DeleteBox.ts +2 -0
- package/src/engine-components/DeviceFlag.ts +4 -0
- package/src/engine-components/DragControls.ts +5 -0
- package/src/engine-components/DropListener.ts +1 -0
- package/src/engine-components/Duplicatable.ts +1 -0
- package/src/engine-components/EventTrigger.ts +2 -0
- package/src/engine-components/Gizmos.ts +2 -0
- package/src/engine-components/GridHelper.ts +2 -0
- package/src/engine-components/GroundProjection.ts +1 -0
- package/src/engine-components/Joints.ts +6 -0
- package/src/engine-components/LODGroup.ts +2 -0
- package/src/engine-components/Light.ts +1 -0
- package/src/engine-components/LookAtConstraint.ts +1 -0
- package/src/engine-components/NeedleMenu.ts +1 -0
- package/src/engine-components/NestedGltf.ts +1 -0
- package/src/engine-components/Networking.ts +1 -0
- package/src/engine-components/OffsetConstraint.ts +7 -0
- package/src/engine-components/OrbitControls.ts +1 -0
- package/src/engine-components/PlayerColor.ts +2 -0
- package/src/engine-components/ReflectionProbe.ts +1 -0
- package/src/engine-components/RendererInstancing.ts +69 -33
- package/src/engine-components/RigidBody.ts +1 -0
- package/src/engine-components/SceneSwitcher.ts +1 -0
- package/src/engine-components/ScreenCapture.ts +1 -0
- package/src/engine-components/SeeThrough.ts +1 -0
- package/src/engine-components/ShadowCatcher.ts +2 -0
- package/src/engine-components/Skybox.ts +48 -36
- package/src/engine-components/SmoothFollow.ts +1 -0
- package/src/engine-components/SpatialTrigger.ts +1 -0
- package/src/engine-components/SpectatorCamera.ts +1 -0
- package/src/engine-components/SpriteRenderer.ts +1 -0
- package/src/engine-components/SyncedCamera.ts +2 -0
- package/src/engine-components/SyncedRoom.ts +1 -0
- package/src/engine-components/SyncedTransform.ts +2 -0
- package/src/engine-components/TransformGizmo.ts +2 -0
- package/src/engine-components/VideoPlayer.ts +1 -0
- package/src/engine-components/Voip.ts +1 -0
- package/src/engine-components/export/gltf/GltfExport.ts +5 -0
- package/src/engine-components/export/usdz/USDZExporter.ts +53 -5
- package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +18 -0
- package/src/engine-components/particlesystem/ParticleSystem.ts +1 -0
- package/src/engine-components/physics/Attractor.ts +3 -0
- package/src/engine-components/postprocessing/Effects/BloomEffect.ts +1 -0
- package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +4 -0
- package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +3 -0
- package/src/engine-components/postprocessing/Effects/DepthOfField.ts +4 -0
- package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +1 -0
- package/src/engine-components/postprocessing/Effects/Pixelation.ts +3 -0
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +4 -0
- package/src/engine-components/postprocessing/Effects/Sharpening.ts +4 -0
- package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +4 -0
- package/src/engine-components/postprocessing/Effects/Tonemapping.ts +4 -0
- package/src/engine-components/postprocessing/Effects/Vignette.ts +4 -0
- package/src/engine-components/postprocessing/Volume.ts +1 -0
- package/src/engine-components/splines/Spline.ts +1 -0
- package/src/engine-components/splines/SplineWalker.ts +1 -0
- package/src/engine-components/timeline/PlayableDirector.ts +1 -0
- package/src/engine-components/timeline/SignalAsset.ts +1 -0
- package/src/engine-components/ui/Button.ts +4 -0
- package/src/engine-components/ui/Canvas.ts +5 -0
- package/src/engine-components/ui/CanvasGroup.ts +4 -0
- package/src/engine-components/ui/EventSystem.ts +2 -0
- package/src/engine-components/ui/Image.ts +4 -0
- package/src/engine-components/ui/InputField.ts +4 -0
- package/src/engine-components/ui/Outline.ts +7 -0
- package/src/engine-components/ui/SpatialHtml.ts +7 -0
- package/src/engine-components/ui/Text.ts +3 -0
- package/src/engine-components/utils/LookAt.ts +1 -0
- package/src/engine-components/web/Clickthrough.ts +1 -1
- package/src/engine-components/web/CursorFollow.ts +4 -0
- package/src/engine-components/web/HoverAnimation.ts +1 -0
- package/src/engine-components/web/ScrollFollow.ts +2 -0
- package/src/engine-components/web/ViewBox.ts +1 -0
- package/src/engine-components/webxr/Avatar.ts +5 -0
- package/src/engine-components/webxr/WebARCameraBackground.ts +1 -0
- package/src/engine-components/webxr/WebARSessionRoot.ts +1 -0
- package/src/engine-components/webxr/WebXR.ts +5 -1
- package/src/engine-components/webxr/controllers/XRControllerFollow.ts +1 -0
- package/src/engine-components/webxr/controllers/XRControllerModel.ts +4 -0
- package/src/engine-components/webxr/controllers/XRControllerMovement.ts +1 -0
- package/src/engine-components-experimental/networking/PlayerSync.ts +2 -0
- package/src/needle-engine.ts +4 -2
- package/dist/generateMeshBVH.worker-B9bjdr6J.js +0 -25
- package/dist/loader.worker-CiTwpNPW.js +0 -27
- package/dist/rapier-BqdcSmKY.umd.cjs +0 -1
- package/dist/rapier-Cg3w3nFI.min.js +0 -1
- package/dist/rapier-sU12SWAs.js +0 -5217
- package/lib/engine/webcomponents/needle-engine.attributes.d.ts +0 -70
- package/lib/engine/webcomponents/needle-engine.attributes.js +0 -2
- package/lib/engine/webcomponents/needle-engine.attributes.js.map +0 -1
- package/src/engine/webcomponents/needle-engine.attributes.ts +0 -85
|
@@ -31,6 +31,8 @@ function ensureRaycaster(obj: GameObject) {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
|
+
* Make the object move to the target object's transform when clicked.
|
|
35
|
+
* @summary Moves an object to a target transform upon click
|
|
34
36
|
* @category Everywhere Actions
|
|
35
37
|
* @group Components
|
|
36
38
|
*/
|
|
@@ -176,6 +178,8 @@ export class ChangeTransformOnClick extends Behaviour implements IPointerClickHa
|
|
|
176
178
|
}
|
|
177
179
|
|
|
178
180
|
/**
|
|
181
|
+
* Change the material of objects when clicked.
|
|
182
|
+
* @summary Changes the material of objects when clicked
|
|
179
183
|
* @category Everywhere Actions
|
|
180
184
|
* @group Components
|
|
181
185
|
*/
|
|
@@ -366,6 +370,8 @@ export class ChangeMaterialOnClick extends Behaviour implements IPointerClickHan
|
|
|
366
370
|
}
|
|
367
371
|
|
|
368
372
|
/**
|
|
373
|
+
* Set the active state of an object when clicked.
|
|
374
|
+
* @summary Sets the active state of an object when clicked
|
|
369
375
|
* @category Everywhere Actions
|
|
370
376
|
* @group Components
|
|
371
377
|
*/
|
|
@@ -604,6 +610,8 @@ export class SetActiveOnClick extends Behaviour implements IPointerClickHandler,
|
|
|
604
610
|
}
|
|
605
611
|
|
|
606
612
|
/**
|
|
613
|
+
* Hides the object on scene start.
|
|
614
|
+
* @summary Hides the object on scene start
|
|
607
615
|
* @category Everywhere Actions
|
|
608
616
|
* @group Components
|
|
609
617
|
*/
|
|
@@ -651,6 +659,8 @@ export class HideOnStart extends Behaviour implements UsdzBehaviour {
|
|
|
651
659
|
}
|
|
652
660
|
|
|
653
661
|
/**
|
|
662
|
+
* Emphasize the target object when clicked.
|
|
663
|
+
* @summary Emphasizes the target object when clicked
|
|
654
664
|
* @category Everywhere Actions
|
|
655
665
|
* @group Components
|
|
656
666
|
*/
|
|
@@ -683,6 +693,8 @@ export class EmphasizeOnClick extends Behaviour implements UsdzBehaviour {
|
|
|
683
693
|
}
|
|
684
694
|
|
|
685
695
|
/**
|
|
696
|
+
* Plays an audio clip when clicked.
|
|
697
|
+
* @summary Plays an audio clip when clicked
|
|
686
698
|
* @category Everywhere Actions
|
|
687
699
|
* @group Components
|
|
688
700
|
*/
|
|
@@ -808,6 +820,8 @@ export class PlayAudioOnClick extends Behaviour implements IPointerClickHandler,
|
|
|
808
820
|
}
|
|
809
821
|
|
|
810
822
|
/**
|
|
823
|
+
* Plays an animation when clicked.
|
|
824
|
+
* @summary Plays an animation when clicked
|
|
811
825
|
* @category Everywhere Actions
|
|
812
826
|
* @group Components
|
|
813
827
|
*/
|
|
@@ -1216,6 +1230,8 @@ export class PreliminaryTrigger extends Behaviour {
|
|
|
1216
1230
|
}
|
|
1217
1231
|
|
|
1218
1232
|
/**
|
|
1233
|
+
* Hides or shows the object when clicked.
|
|
1234
|
+
* @summary Hides or shows the object when clicked
|
|
1219
1235
|
* @category Everywhere Actions
|
|
1220
1236
|
* @group Components
|
|
1221
1237
|
*/
|
|
@@ -1241,6 +1257,8 @@ export class VisibilityAction extends PreliminaryAction {
|
|
|
1241
1257
|
}
|
|
1242
1258
|
|
|
1243
1259
|
/**
|
|
1260
|
+
* Triggers an action when the object is tapped/clicked.
|
|
1261
|
+
* @summary Triggers an action when the object is tapped/clicked
|
|
1244
1262
|
* @category Everywhere Actions
|
|
1245
1263
|
* @group Components
|
|
1246
1264
|
*/
|
|
@@ -692,6 +692,7 @@ class ParticlesEmissionState implements EmissionState {
|
|
|
692
692
|
*
|
|
693
693
|
* Needle Engine uses [three.quarks](https://github.com/Alchemist0823/three.quarks) under the hood to handle particles.
|
|
694
694
|
*
|
|
695
|
+
* @summary Handles the motion and rendering of many individual particles
|
|
695
696
|
* @category Rendering
|
|
696
697
|
* @group Components
|
|
697
698
|
*/
|
|
@@ -14,6 +14,9 @@ import { Rigidbody } from "../RigidBody.js";
|
|
|
14
14
|
* attractor.strength = 5; // positive value to attract
|
|
15
15
|
* attractor.radius = 10; // only attract within 10 units
|
|
16
16
|
* attractor.targets.push(rigidbody); // add the Rigidbody to be attracted
|
|
17
|
+
* @summary Attract Rigidbodies towards the position of this component
|
|
18
|
+
* @category Physics
|
|
19
|
+
* @group Components
|
|
17
20
|
*/
|
|
18
21
|
export class Attractor extends Behaviour {
|
|
19
22
|
|
|
@@ -7,6 +7,10 @@ import { VolumeParameter } from "../VolumeParameter.js";
|
|
|
7
7
|
import { registerCustomEffectType, VolumeProfile } from "../VolumeProfile.js";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
+
* Chromatic Aberration effect simulates the color fringing effect seen in real-world cameras.
|
|
11
|
+
* It offsets the red, green, and blue color channels to create a distorted, colorful edge around objects.
|
|
12
|
+
* This effect can enhance the visual appeal of scenes by adding a subtle or pronounced chromatic distortion.
|
|
13
|
+
* @summary Chromatic Aberration Post-Processing Effect
|
|
10
14
|
* @category Effects
|
|
11
15
|
* @group Components
|
|
12
16
|
*/
|
|
@@ -8,6 +8,9 @@ import { registerCustomEffectType } from "../VolumeProfile.js";
|
|
|
8
8
|
import { ToneMappingEffect } from "./Tonemapping.js";
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
+
* Color Adjustments effect allows you to modify the overall color properties of the rendered scene, including post-exposure, contrast, hue shift, and saturation.
|
|
12
|
+
* These adjustments can be used to enhance the visual aesthetics of the scene or to achieve specific artistic effects.
|
|
13
|
+
* @summary Color Adjustments Post-Processing Effect
|
|
11
14
|
* @category Effects
|
|
12
15
|
* @group Components
|
|
13
16
|
*/
|
|
@@ -17,6 +17,10 @@ export enum DepthOfFieldMode {
|
|
|
17
17
|
const debug = getParam("debugpost");
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
+
* Depth of Field effect simulates the focusing behavior of real-world cameras by blurring objects that are outside the focal plane.
|
|
21
|
+
* This effect enhances the sense of depth in a scene by mimicking how cameras focus on subjects at varying distances, creating a more immersive visual experience.
|
|
22
|
+
* It can be adjusted to achieve different artistic effects, from subtle background blurring to pronounced bokeh effects.
|
|
23
|
+
* @summary Depth of Field Post-Processing Effect
|
|
20
24
|
* @category Effects
|
|
21
25
|
* @group Components
|
|
22
26
|
*/
|
|
@@ -7,6 +7,9 @@ import { VolumeParameter } from "../VolumeParameter.js";
|
|
|
7
7
|
import { registerCustomEffectType } from "../VolumeProfile.js";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
+
* Pixelation effect simulates a pixelated look by enlarging pixels in the rendered scene.
|
|
11
|
+
* This effect can be used to achieve a retro or stylized visual aesthetic, reminiscent of early video games or low-resolution graphics.
|
|
12
|
+
* @summary Pixelation Post-Processing Effect
|
|
10
13
|
* @category Effects
|
|
11
14
|
* @group Components
|
|
12
15
|
*/
|
|
@@ -23,6 +23,10 @@ export enum ScreenSpaceAmbientOcclusionN8QualityMode {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
/** Screen Space Ambient Occlusion (SSAO) effect.
|
|
26
|
+
* Ambient Occlusion is a shading method used to calculate how exposed each point in a scene is to ambient lighting.
|
|
27
|
+
* The effect enhances the depth and realism of 3D scenes by simulating the soft shadows that occur in crevices, corners, and areas where objects are close to each other.
|
|
28
|
+
* This implementation uses the N8AO library to provide high-quality SSAO with various quality settings.
|
|
29
|
+
* @summary Screen Space Ambient Occlusion (SSAO) Post-Processing Effect
|
|
26
30
|
* @category Effects
|
|
27
31
|
* @group Components
|
|
28
32
|
* @link [N8AO documentation](https://github.com/N8python/n8ao)
|
|
@@ -14,6 +14,10 @@ import { PostProcessingEffectOrder } from "../utils.js";
|
|
|
14
14
|
// }
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
+
* Sharpening effect enhances the details and edges in the rendered scene by increasing the contrast between adjacent pixels.
|
|
18
|
+
* This effect can make textures and fine details appear clearer and more defined, improving the overall visual quality of the scene.
|
|
19
|
+
* It is particularly useful in scenes where details may be lost due to blurriness or low resolution.
|
|
20
|
+
* @summary Sharpening Post-Processing Effect
|
|
17
21
|
* @category Effects
|
|
18
22
|
* @group Components
|
|
19
23
|
*/
|
|
@@ -5,6 +5,10 @@ import { VolumeParameter } from "../VolumeParameter.js";
|
|
|
5
5
|
import { registerCustomEffectType } from "../VolumeProfile.js";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
+
* Tilt Shift effect simulates a miniature scene by applying a selective focus blur to the rendered image.
|
|
9
|
+
* This effect creates a shallow depth of field, making real-world scenes appear as if they are small-scale models.
|
|
10
|
+
* It is often used in photography and cinematography to draw attention to specific areas of the scene while blurring out the rest.
|
|
11
|
+
* @summary Tilt Shift Post-Processing Effect
|
|
8
12
|
* @category Effects
|
|
9
13
|
* @group Components
|
|
10
14
|
*/
|
|
@@ -14,6 +14,10 @@ const debug = getParam("debugpost");
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
+
* Tonemapping effect adjusts the brightness and contrast of the rendered scene to map high dynamic range (HDR) colors to a displayable range.
|
|
18
|
+
* This effect is essential for achieving realistic lighting and color representation in 3D scenes, as it helps to preserve details in both bright and dark areas.
|
|
19
|
+
* Various tonemapping algorithms can be applied to achieve different visual styles and effects.
|
|
20
|
+
* @summary Tonemapping Post-Processing Effect
|
|
17
21
|
* @category Effects
|
|
18
22
|
* @group Components
|
|
19
23
|
*/
|
|
@@ -7,6 +7,10 @@ import { VolumeParameter } from "../VolumeParameter.js";
|
|
|
7
7
|
import { registerCustomEffectType } from "../VolumeProfile.js";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
+
* Vignette effect darkens the edges of the rendered scene to draw attention to the center.
|
|
11
|
+
* This effect simulates the natural vignetting that occurs in photography and cinematography, where the corners of an image are darker than the center.
|
|
12
|
+
* It can be used to enhance the visual focus on the main subject of the scene and create a more immersive viewing experience.
|
|
13
|
+
* @summary Vignette Post-Processing Effect
|
|
10
14
|
* @category Effects
|
|
11
15
|
* @group Components
|
|
12
16
|
*/
|
|
@@ -56,6 +56,7 @@ export type CreateTrackFunction = (director: PlayableDirector, track: Models.Tra
|
|
|
56
56
|
* The PlayableDirector component is the main component to control timelines in needle engine.
|
|
57
57
|
* It is used to play, pause, stop and evaluate timelines.
|
|
58
58
|
* Assign a TimelineAsset to the `playableAsset` property to start playing a timeline.
|
|
59
|
+
* @summary Controls and plays TimelineAssets
|
|
59
60
|
* @category Animation and Sequencing
|
|
60
61
|
* @group Components
|
|
61
62
|
*/
|
|
@@ -29,6 +29,7 @@ export class SignalReceiverEvent {
|
|
|
29
29
|
/** SignalReceiver is a component that listens for signals and invokes a reaction when a signal is received.
|
|
30
30
|
* Signals can be added to a signal track on a {@link PlayableDirector}
|
|
31
31
|
*
|
|
32
|
+
* @summary Receives signals and invokes reactions
|
|
32
33
|
* @category Sequencing and Timelines
|
|
33
34
|
* @group Components
|
|
34
35
|
*/
|
|
@@ -61,6 +61,10 @@ class AnimationTriggers {
|
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
/**
|
|
64
|
+
* Button is a UI component that can be clicked by the user to perform an action.
|
|
65
|
+
* It supports different visual states such as normal, highlighted, pressed, and disabled.
|
|
66
|
+
* You can customize the button's appearance using colors or animations for each state.
|
|
67
|
+
* @summary UI Button that can be clicked to perform actions
|
|
64
68
|
* @category User Interface
|
|
65
69
|
* @group Components
|
|
66
70
|
*/
|
|
@@ -25,6 +25,11 @@ export enum RenderMode {
|
|
|
25
25
|
const debugLayout = getParam("debuguilayout");
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
|
+
* Canvas is the root component for all UI elements in a scene.
|
|
29
|
+
* It defines the area where UI elements are rendered and manages their layout and rendering settings.
|
|
30
|
+
* Canvases can be set to render in world space or screen space (overlay or camera).
|
|
31
|
+
* Multiple canvases can exist in a scene, each with its own settings and hierarchy of UI elements.
|
|
32
|
+
* @summary Root component for UI elements, managing layout and rendering settings
|
|
28
33
|
* @category User Interface
|
|
29
34
|
* @group Components
|
|
30
35
|
*/
|
|
@@ -7,6 +7,10 @@ import { type ICanvasGroup, type IHasAlphaFactor } from "./Interfaces.js";
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
+
* CanvasGroup is a UI component that allows you to control the transparency and interactivity of a group of UI elements.
|
|
11
|
+
* By adjusting the alpha property, you can fade in or out all child UI elements simultaneously.
|
|
12
|
+
* The interactable and blocksRaycasts properties let you enable or disable user interaction for the entire group.
|
|
13
|
+
* @summary Group UI elements to control transparency and interactivity
|
|
10
14
|
* @category User Interface
|
|
11
15
|
* @group Components
|
|
12
16
|
*/
|
|
@@ -36,6 +36,8 @@ onInitialized((ctx) => {
|
|
|
36
36
|
})
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
|
+
* The EventSystem is responsible for managing and dispatching input events to UI components within the scene.
|
|
40
|
+
* @summary Manages and dispatches input events to UI components
|
|
39
41
|
* @category User Interface
|
|
40
42
|
* @group Components
|
|
41
43
|
*/
|
|
@@ -12,6 +12,10 @@ class Sprite {
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
+
* Image is a UI component that displays a sprite (2D image) in the user interface.
|
|
16
|
+
* You can set the image property to assign a texture to be displayed.
|
|
17
|
+
* The sprite can be customized with various properties such as color tinting and pixel density.
|
|
18
|
+
* @summary Display a 2D image in the UI
|
|
15
19
|
* @category User Interface
|
|
16
20
|
* @group Components
|
|
17
21
|
*/
|
|
@@ -10,6 +10,10 @@ import { tryGetUIComponent } from "./Utils.js";
|
|
|
10
10
|
const debug = getParam("debuginputfield");
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
+
* InputField is a UI component that allows users to enter and edit text.
|
|
14
|
+
* It provides a text input area where users can type, delete, and modify text.
|
|
15
|
+
* The InputField supports placeholder text, events for value changes, and end edit actions.
|
|
16
|
+
* @summary Text field for user input
|
|
13
17
|
* @category User Interface
|
|
14
18
|
* @group Components
|
|
15
19
|
*/
|
|
@@ -4,6 +4,13 @@ import { serializable } from "../../engine/engine_serialization.js";
|
|
|
4
4
|
import { RGBAColor } from "../../engine/js-extensions/index.js";
|
|
5
5
|
import { Behaviour } from "../Component.js";
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Outline is a UI component that adds an outline effect to UI elements.
|
|
9
|
+
* You can customize the outline color and distance to create a visual border around the UI element.
|
|
10
|
+
* @summary Add an outline effect to UI elements
|
|
11
|
+
* @category User Interface
|
|
12
|
+
* @group Components
|
|
13
|
+
*/
|
|
7
14
|
export class Outline extends Behaviour {
|
|
8
15
|
|
|
9
16
|
@serializable(RGBAColor)
|
|
@@ -6,6 +6,13 @@ import { serializable } from '../../engine/engine_serialization.js';
|
|
|
6
6
|
import { getWorldRotation, setWorldRotationXYZ } from '../../engine/engine_three_utils.js';
|
|
7
7
|
import { Behaviour } from '../Component.js';
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* SpatialHtml is a component that allows you to integrate HTML elements into a 3D scene.
|
|
11
|
+
* By specifying the ID of an existing HTML element, you can render it as a 3D object within the scene.
|
|
12
|
+
* @summary Render HTML elements as 3D objects in the scene
|
|
13
|
+
* @category User Interface
|
|
14
|
+
* @group Components
|
|
15
|
+
*/
|
|
9
16
|
export class SpatialHtml extends Behaviour {
|
|
10
17
|
|
|
11
18
|
@serializable()
|
|
@@ -12,6 +12,7 @@ import { Behaviour } from "../Component.js";
|
|
|
12
12
|
* LookAt behaviour makes the object look at a target object or the camera.
|
|
13
13
|
* It can also invert the forward direction and keep the up direction.
|
|
14
14
|
*
|
|
15
|
+
* @summary Makes the object look at a target object or the camera
|
|
15
16
|
* @category Interactivity, Everywhere Actions
|
|
16
17
|
* @group Components
|
|
17
18
|
*/
|
|
@@ -32,7 +32,7 @@ onStart(ctx => {
|
|
|
32
32
|
* - Alternatively, add the `clickthrough` attribute to the `<needle-engine>` HTML element (e.g. `<needle-engine clickthrough></needle-engine>`).
|
|
33
33
|
*
|
|
34
34
|
* - Example https://stackblitz.com/~/github.com/needle-engine/sample-3d-over-html
|
|
35
|
-
*
|
|
35
|
+
* @summary Allows pointer events to "click through" the 3D canvas to HTML elements behind it.
|
|
36
36
|
* @category Web
|
|
37
37
|
* @group Components
|
|
38
38
|
* @component
|
|
@@ -14,12 +14,16 @@ const debug = getParam("debugcursor");
|
|
|
14
14
|
*
|
|
15
15
|
* - Example: [Look At Cursor sample](https://engine.needle.tools/samples/look-at-cursor-interactive-3d-header/). This sample combines the CursorFollow component with a LookAt component to create an interactive 3D header that looks at the cursor.
|
|
16
16
|
*
|
|
17
|
+
* @summary Makes the object follow the cursor position on screen
|
|
17
18
|
* @category Web
|
|
18
19
|
* @group Components
|
|
19
20
|
* @component
|
|
20
21
|
*/
|
|
21
22
|
export class CursorFollow extends Behaviour {
|
|
22
23
|
|
|
24
|
+
// testing this for compilation
|
|
25
|
+
static readonly NAME = "CursorFollow";
|
|
26
|
+
|
|
23
27
|
/**
|
|
24
28
|
* Damping for the movement, set to 0 for instant movement
|
|
25
29
|
* @default 0
|
|
@@ -13,6 +13,7 @@ import { Behaviour } from "../Component.js";
|
|
|
13
13
|
*
|
|
14
14
|
* By default, a simple scale-up animation is used. You can customize the hover and idle animations by providing your own animation clips.
|
|
15
15
|
*
|
|
16
|
+
* @summary Hover Animation on Pointer Enter/Exit
|
|
16
17
|
* @category Web
|
|
17
18
|
* @group Components
|
|
18
19
|
*/
|
|
@@ -34,6 +34,7 @@ type ScrollFollowEvent = {
|
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
36
|
* The ScrollFollow component allows you to link the scroll position of the page (or a specific element) to one or more target objects.
|
|
37
|
+
|
|
37
38
|
* This can be used to create scroll-based animations, audio playback, or other effects. For example you can link the scroll position to a timeline (PlayableDirector) to create scroll-based storytelling effects or to an Animator component to change the animation state based on scroll.
|
|
38
39
|
*
|
|
39
40
|
* Assign {@link target} objects to the component to have them updated based on the current scroll position (check the 'target' property for supported types).
|
|
@@ -60,6 +61,7 @@ type ScrollFollowEvent = {
|
|
|
60
61
|
* <div data-timeline-marker="1.0">End of Timeline</div>
|
|
61
62
|
* ```
|
|
62
63
|
*
|
|
64
|
+
* @summary Links scroll position to target objects
|
|
63
65
|
* @category Web
|
|
64
66
|
* @group Components
|
|
65
67
|
* @component
|
|
@@ -18,6 +18,11 @@ const debug = getParam("debugwebxr");
|
|
|
18
18
|
const flipForwardQuaternion = new Quaternion().setFromAxisAngle(new Vector3(0, 1, 0), Math.PI);
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
+
* Avatar component to setup a WebXR avatar with head and hand objects.
|
|
22
|
+
*
|
|
23
|
+
* The avatar will automatically synchronize the head and hand objects with the XR rig when entering an XR session.
|
|
24
|
+
*
|
|
25
|
+
* @summary WebXR Avatar component for head and hands synchronization
|
|
21
26
|
* @category XR
|
|
22
27
|
* @category Networking
|
|
23
28
|
* @group Components
|
|
@@ -51,7 +51,7 @@ const debugQuicklook = getParam("debugusdz");
|
|
|
51
51
|
* });
|
|
52
52
|
* ```
|
|
53
53
|
*
|
|
54
|
-
*
|
|
54
|
+
* @summary WebXR Component for VR and AR support
|
|
55
55
|
* @category XR
|
|
56
56
|
* @group Components
|
|
57
57
|
*/
|
|
@@ -331,6 +331,10 @@ export class WebXR extends Behaviour {
|
|
|
331
331
|
console.warn(`WebXR: another WebXR component is already active (${WebXR.activeWebXRComponent?.name}). This is ignored: ${this.name}`);
|
|
332
332
|
return;
|
|
333
333
|
}
|
|
334
|
+
if (this.activeAndEnabled === false || this.destroyed) {
|
|
335
|
+
console.debug("[WebXR] onBeforeXR called on disabled or destroyed component");
|
|
336
|
+
return;
|
|
337
|
+
}
|
|
334
338
|
WebXR.activeWebXRComponent = this;
|
|
335
339
|
|
|
336
340
|
if (_mode == "immersive-ar" && this.useDepthSensing) {
|
|
@@ -27,6 +27,10 @@ const renderingUpdateTimings = new Array<number>();
|
|
|
27
27
|
* It automatically loads the appropriate model for the connected controller or hand.
|
|
28
28
|
*
|
|
29
29
|
* You can configure if controller models or hand models should be created.
|
|
30
|
+
*
|
|
31
|
+
* @summary Displays controller or hand models in XR
|
|
32
|
+
* @category XR
|
|
33
|
+
* @group Components
|
|
30
34
|
*/
|
|
31
35
|
export class XRControllerModel extends Behaviour {
|
|
32
36
|
|
|
@@ -18,7 +18,9 @@ declare type PlayerSyncWithAsset = PlayerSync & Required<Pick<PlayerSync, "asset
|
|
|
18
18
|
/**
|
|
19
19
|
* This component instantiates an asset for each player that joins a networked room. The asset will be destroyed when the player leaves the room.
|
|
20
20
|
* The asset should have a PlayerState component, and can have other components like SyncedTransform, custom components, etc.
|
|
21
|
+
* @summary Instantiates and manages player assets in a networked room
|
|
21
22
|
* @category Networking
|
|
23
|
+
* @group Components
|
|
22
24
|
*/
|
|
23
25
|
export class PlayerSync extends Behaviour {
|
|
24
26
|
|
package/src/needle-engine.ts
CHANGED
|
@@ -7,7 +7,7 @@ export * from "./engine-components-experimental/api.js";
|
|
|
7
7
|
export * from "./engine-schemes/api.js";
|
|
8
8
|
|
|
9
9
|
// make accessible for external javascript
|
|
10
|
-
import { Context, loadAsset, NeedleXRSession, onAfterRender, onBeforeRender, onClear, onDestroy, onInitialized, onStart, onUpdate, VERSION } from "./engine/api.js";
|
|
10
|
+
import { Context, loadAsset, NeedleXRSession, onAfterRender, onBeforeRender, onClear, onDestroy, onInitialized, onStart, onUpdate, TypeStore, VERSION } from "./engine/api.js";
|
|
11
11
|
const Needle = {
|
|
12
12
|
VERSION: VERSION,
|
|
13
13
|
Context: Context,
|
|
@@ -15,6 +15,7 @@ const Needle = {
|
|
|
15
15
|
assets: {
|
|
16
16
|
loadFromURL: loadAsset,
|
|
17
17
|
},
|
|
18
|
+
types: TypeStore,
|
|
18
19
|
onStart: onStart,
|
|
19
20
|
onUpdate: onUpdate,
|
|
20
21
|
onBeforeRender: onBeforeRender,
|
|
@@ -22,7 +23,8 @@ const Needle = {
|
|
|
22
23
|
onInitializedContext: onInitialized,
|
|
23
24
|
onDestroyContext: onDestroy,
|
|
24
25
|
onClearContext: onClear,
|
|
25
|
-
};
|
|
26
|
+
} as const;
|
|
27
|
+
|
|
26
28
|
if (globalThis["Needle"]?.VERSION !== undefined) {
|
|
27
29
|
console.warn(`Needle Engine is already imported: ${globalThis["Needle"].VERSION}`);
|
|
28
30
|
}
|