@relu-interactives/spatial-ecs 0.5.3 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{System-V_mv07le.d.cts → System-8D-XBDKZ.d.cts} +734 -8
- package/dist/{System-V_mv07le.d.ts → System-DPMAW30g.d.ts} +734 -8
- package/dist/{XRHandPose-CU3vNFuS.d.ts → XRHandPose-CWSrsnYN.d.ts} +236 -3
- package/dist/{XRHandPose-CQTLGxFC.d.cts → XRHandPose-Dn2yiALk.d.cts} +236 -3
- package/dist/animation/index.cjs +252 -0
- package/dist/animation/index.cjs.map +1 -0
- package/dist/animation/index.d.cts +100 -0
- package/dist/animation/index.d.ts +100 -0
- package/dist/animation/index.js +4 -0
- package/dist/animation/index.js.map +1 -0
- package/dist/chunk-CKTHDXPS.js +11 -0
- package/dist/chunk-CKTHDXPS.js.map +1 -0
- package/dist/chunk-GSWC6LLD.js +241 -0
- package/dist/chunk-GSWC6LLD.js.map +1 -0
- package/dist/chunk-JEPUCLZX.js +1237 -0
- package/dist/chunk-JEPUCLZX.js.map +1 -0
- package/dist/{chunk-BUEKOSR5.js → chunk-JNYPJB55.js} +435 -14
- package/dist/chunk-JNYPJB55.js.map +1 -0
- package/dist/{chunk-RXBLOO5B.js → chunk-NXASMBDS.js} +105 -715
- package/dist/chunk-NXASMBDS.js.map +1 -0
- package/dist/chunk-OHCNPPMX.js +334 -0
- package/dist/chunk-OHCNPPMX.js.map +1 -0
- package/dist/{chunk-DF5SSRN6.js → chunk-VYIWOXAY.js} +2574 -3381
- package/dist/chunk-VYIWOXAY.js.map +1 -0
- package/dist/chunk-WWP46AEF.js +2878 -0
- package/dist/chunk-WWP46AEF.js.map +1 -0
- package/dist/{chunk-OY7ZODZP.js → chunk-XE4OXN2W.js} +3 -9
- package/dist/chunk-XE4OXN2W.js.map +1 -0
- package/dist/{chunk-OWQSESTO.js → chunk-XU2DVWCP.js} +4 -3
- package/dist/chunk-XU2DVWCP.js.map +1 -0
- package/dist/components/index.cjs +334 -10
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.d.cts +5 -3
- package/dist/components/index.d.ts +5 -3
- package/dist/components/index.js +3 -2
- package/dist/docs/api/Behaviour/classes/Behaviour.md +366 -79
- package/dist/docs/api/Behaviour/index.md +7 -3
- package/dist/docs/api/Behaviour/type-aliases/UiInteractionEvent.md +35 -0
- package/dist/docs/api/Component/classes/Component.md +14 -1
- package/dist/docs/api/components/classes/AnimationComponent.md +26 -26
- package/dist/docs/api/components/classes/AudioComponent.md +19 -19
- package/dist/docs/api/components/classes/CameraComponent.md +14 -14
- package/dist/docs/api/components/classes/EntityType.md +4 -4
- package/dist/docs/api/components/classes/Environment.md +5 -4
- package/dist/docs/api/components/classes/ImageComponent.md +7 -7
- package/dist/docs/api/components/classes/ImageTarget.md +8 -8
- package/dist/docs/api/components/classes/ImageTargetAnchor.md +4 -4
- package/dist/docs/api/components/classes/InstanceSlotComponent.md +4 -4
- package/dist/docs/api/components/classes/InstancedMeshComponent.md +10 -10
- package/dist/docs/api/components/classes/LightComponent.md +6 -6
- package/dist/docs/api/components/classes/MaterialComponent.md +16 -16
- package/dist/docs/api/components/classes/MeshComponent.md +3 -3
- package/dist/docs/api/components/classes/MeshGeometryComponent.md +9 -9
- package/dist/docs/api/components/classes/ModelComponent.md +8 -5
- package/dist/docs/api/components/classes/Name.md +3 -3
- package/dist/docs/api/components/classes/Object3DRef.md +4 -4
- package/dist/docs/api/components/classes/ParentId.md +3 -3
- package/dist/docs/api/components/classes/PhysicsComponent.md +7 -6
- package/dist/docs/api/components/classes/Postprocessing.md +3 -3
- package/dist/docs/api/components/classes/PrefabInstance.md +5 -5
- package/dist/docs/api/components/classes/PrefabNode.md +3 -3
- package/dist/docs/api/components/classes/ScriptComponent.md +5 -5
- package/dist/docs/api/components/classes/ScriptObjectComponent.md +9 -9
- package/dist/docs/api/components/classes/Selectable.md +3 -3
- package/dist/docs/api/components/classes/SelectionTransformState.md +5 -5
- package/dist/docs/api/components/classes/SpriteComponent.md +7 -7
- package/dist/docs/api/components/classes/TransformComponent.md +12 -12
- package/dist/docs/api/components/classes/UIButtonComponent.md +63 -0
- package/dist/docs/api/components/classes/UIPanelComponent.md +62 -0
- package/dist/docs/api/components/classes/UISliderComponent.md +59 -0
- package/dist/docs/api/components/classes/UITextComponent.md +59 -0
- package/dist/docs/api/components/classes/UIToggleComponent.md +56 -0
- package/dist/docs/api/components/classes/VRTeleportAreaComponent.md +53 -0
- package/dist/docs/api/components/classes/VideoComponent.md +28 -28
- package/dist/docs/api/components/classes/XRAnchorComponent.md +64 -0
- package/dist/docs/api/components/classes/XREnvironmentComponent.md +64 -0
- package/dist/docs/api/components/classes/XRHandPoseComponent.md +50 -0
- package/dist/docs/api/components/classes/XRInteractableComponent.md +74 -0
- package/dist/docs/api/components/classes/XRInteractorComponent.md +57 -0
- package/dist/docs/api/components/classes/XRInteractorSideComponent.md +50 -0
- package/dist/docs/api/components/classes/XRRigComponent.md +68 -0
- package/dist/docs/api/components/functions/createAttachPoint.md +25 -0
- package/dist/docs/api/components/functions/createHandPoseEntry.md +25 -0
- package/dist/docs/api/components/functions/defaultMaterialValue.md +1 -1
- package/dist/docs/api/components/functions/handPoseDefinitionFor.md +33 -0
- package/dist/docs/api/components/functions/normalizeEnvironmentLighting.md +30 -0
- package/dist/docs/api/components/functions/normalizePhysicsState.md +1 -1
- package/dist/docs/api/components/functions/setModelLoadState.md +33 -0
- package/dist/docs/api/components/functions/setPhysicsLiveRef.md +3 -9
- package/dist/docs/api/components/index.md +61 -4
- package/dist/docs/api/components/type-aliases/AnimationComponentOptions.md +9 -9
- package/dist/docs/api/components/type-aliases/CameraComponentOptions.md +13 -13
- package/dist/docs/api/components/type-aliases/CameraProjection.md +1 -1
- package/dist/docs/api/components/type-aliases/CameraRuntimeType.md +5 -3
- package/dist/docs/api/components/type-aliases/ColliderShape.md +1 -1
- package/dist/docs/api/components/type-aliases/ColliderState.md +20 -20
- package/dist/docs/api/components/type-aliases/CubeMeshParameters.md +4 -4
- package/dist/docs/api/components/type-aliases/EditableMeshObjectKind.md +1 -1
- package/dist/docs/api/components/type-aliases/EnvironmentFogState.md +8 -8
- package/dist/docs/api/components/type-aliases/EnvironmentFogType.md +1 -1
- package/dist/docs/api/components/type-aliases/EnvironmentGradientEffect.md +1 -1
- package/dist/docs/api/components/type-aliases/EnvironmentLightingState.md +40 -0
- package/dist/docs/api/components/type-aliases/EnvironmentSkyboxImageProjection.md +22 -0
- package/dist/docs/api/components/type-aliases/EnvironmentSkyboxState.md +9 -7
- package/dist/docs/api/components/type-aliases/EnvironmentSkyboxType.md +1 -1
- package/dist/docs/api/components/type-aliases/EnvironmentState.md +7 -5
- package/dist/docs/api/components/type-aliases/EnvironmentToneMapping.md +16 -0
- package/dist/docs/api/components/type-aliases/ImageTargetAnchorOptions.md +3 -3
- package/dist/docs/api/components/type-aliases/ImageTargetReference.md +7 -7
- package/dist/docs/api/components/type-aliases/InstanceTransform.md +13 -13
- package/dist/docs/api/components/type-aliases/InstancedMeshKind.md +1 -1
- package/dist/docs/api/components/type-aliases/LightShadowState.md +37 -0
- package/dist/docs/api/components/type-aliases/LightValueState.md +13 -11
- package/dist/docs/api/components/type-aliases/MaterialTypeValue.md +1 -1
- package/dist/docs/api/components/type-aliases/MaterialValueState.md +28 -28
- package/dist/docs/api/components/type-aliases/MeshGeometryParameters.md +1 -1
- package/dist/docs/api/components/type-aliases/MeshGeometryParametersByKind.md +7 -7
- package/dist/docs/api/components/type-aliases/ModelLoadState.md +15 -0
- package/dist/docs/api/components/type-aliases/PhysicsState.md +3 -3
- package/dist/docs/api/components/type-aliases/PlaneMeshParameters.md +3 -3
- package/dist/docs/api/components/type-aliases/PostprocessingState.md +62 -62
- package/dist/docs/api/components/type-aliases/RadiusHeightMeshParameters.md +3 -3
- package/dist/docs/api/components/type-aliases/RadiusMeshParameters.md +2 -2
- package/dist/docs/api/components/type-aliases/RigidbodyState.md +17 -17
- package/dist/docs/api/components/type-aliases/RigidbodyType.md +1 -1
- package/dist/docs/api/components/type-aliases/ScriptEntry.md +8 -8
- package/dist/docs/api/components/type-aliases/ScriptObjectComponentInput.md +1 -1
- package/dist/docs/api/components/type-aliases/ScriptObjectRuntimeState.md +1 -1
- package/dist/docs/api/components/type-aliases/TextureFilteringValue.md +1 -1
- package/dist/docs/api/components/type-aliases/TransformData.md +4 -4
- package/dist/docs/api/components/type-aliases/TransformModeValue.md +1 -1
- package/dist/docs/api/components/type-aliases/TransformSpaceValue.md +1 -1
- package/dist/docs/api/components/type-aliases/UIButtonOptions.md +45 -0
- package/dist/docs/api/components/type-aliases/UIPanelOptions.md +39 -0
- package/dist/docs/api/components/type-aliases/UISliderOptions.md +39 -0
- package/dist/docs/api/components/type-aliases/UITextOptions.md +41 -0
- package/dist/docs/api/components/type-aliases/UIToggleOptions.md +35 -0
- package/dist/docs/api/components/type-aliases/UiFollowMode.md +15 -0
- package/dist/docs/api/components/type-aliases/UiTextAlign.md +13 -0
- package/dist/docs/api/components/type-aliases/UiTextVAlign.md +13 -0
- package/dist/docs/api/components/type-aliases/VRTeleportAreaOptions.md +29 -0
- package/dist/docs/api/components/type-aliases/Vec3.md +4 -4
- package/dist/docs/api/components/type-aliases/VrTeleportShape.md +15 -0
- package/dist/docs/api/components/type-aliases/XRAnchorOptions.md +23 -0
- package/dist/docs/api/components/type-aliases/XRHandPoseOptions.md +23 -0
- package/dist/docs/api/components/type-aliases/XRInteractableOptions.md +75 -0
- package/dist/docs/api/components/type-aliases/XRInteractorOptions.md +37 -0
- package/dist/docs/api/components/type-aliases/XRRigOptions.md +51 -0
- package/dist/docs/api/components/type-aliases/XrAttachPoint.md +53 -0
- package/dist/docs/api/components/type-aliases/XrDistanceGrabBehavior.md +19 -0
- package/dist/docs/api/components/type-aliases/XrEnvironmentKind.md +15 -0
- package/dist/docs/api/components/type-aliases/XrEnvironmentOrientation.md +15 -0
- package/dist/docs/api/components/type-aliases/XrEnvironmentPhysics.md +25 -0
- package/dist/docs/api/components/type-aliases/XrGrabGesture.md +19 -0
- package/dist/docs/api/components/type-aliases/XrGrabHands.md +20 -0
- package/dist/docs/api/components/type-aliases/XrGrabReach.md +20 -0
- package/dist/docs/api/components/type-aliases/XrHandPoseEntry.md +49 -0
- package/dist/docs/api/components/type-aliases/XrHandPreset.md +19 -0
- package/dist/docs/api/components/type-aliases/XrInteractorSide.md +15 -0
- package/dist/docs/api/components/type-aliases/XrInteractorType.md +13 -0
- package/dist/docs/api/components/type-aliases/XrLocomotionMode.md +15 -0
- package/dist/docs/api/components/type-aliases/XrTrackingOrigin.md +24 -0
- package/dist/docs/api/components/type-aliases/XrTwoHandRotation.md +15 -0
- package/dist/docs/api/components/variables/DEFAULT_COLLIDER_STATE.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_ENVIRONMENT_LIGHTING.md +15 -0
- package/dist/docs/api/components/variables/DEFAULT_ENVIRONMENT_STATE.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_INSTANCED_MESH_PARAMETERS.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_INSTANCE_TRANSFORM.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_MESH_GEOMETRY_PARAMETERS.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_PHYSICS_STATE.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_POSE_CURLS.md +13 -0
- package/dist/docs/api/components/variables/DEFAULT_POSE_DIRECTIONS.md +13 -0
- package/dist/docs/api/components/variables/DEFAULT_POSTPROCESSING_STATE.md +1 -1
- package/dist/docs/api/components/variables/DEFAULT_RIGIDBODY_STATE.md +1 -1
- package/dist/docs/api/components/variables/MODEL_NO_PATH_MESSAGE.md +15 -0
- package/dist/docs/api/index/classes/AnimationStateMachine.md +16 -16
- package/dist/docs/api/index/classes/AnimationStateManager.md +13 -13
- package/dist/docs/api/index/classes/AnimationSystem.md +3 -3
- package/dist/docs/api/index/classes/AudioSystem.md +4 -4
- package/dist/docs/api/index/classes/CameraSyncSystem.md +2 -2
- package/dist/docs/api/index/classes/EnvironmentSyncSystem.md +19 -4
- package/dist/docs/api/index/classes/HandPoseTracker.md +114 -0
- package/dist/docs/api/index/classes/InputSystem.md +33 -33
- package/dist/docs/api/index/classes/InstancedMeshSystem.md +2 -2
- package/dist/docs/api/index/classes/LightSyncSystem.md +2 -2
- package/dist/docs/api/index/classes/MaterialSyncSystem.md +3 -3
- package/dist/docs/api/index/classes/MeshGeometrySystem.md +2 -2
- package/dist/docs/api/index/classes/ObjectManagementSystem.md +14 -14
- package/dist/docs/api/index/classes/ObjectVisibilitySystem.md +2 -2
- package/dist/docs/api/index/classes/PhysicsSyncSystem.md +4 -4
- package/dist/docs/api/index/classes/PostprocessingSyncSystem.md +34 -10
- package/dist/docs/api/index/classes/RenderSystem.md +13 -4
- package/dist/docs/api/index/classes/ScriptBehaviourSystem.md +9 -5
- package/dist/docs/api/index/classes/ScriptObject.md +10 -10
- package/dist/docs/api/index/classes/ScriptObjectSystem.md +6 -6
- package/dist/docs/api/index/classes/TeleportAimGate.md +114 -0
- package/dist/docs/api/index/classes/ThrowVelocityTracker.md +89 -0
- package/dist/docs/api/index/classes/TransformSyncSystem.md +2 -2
- package/dist/docs/api/index/classes/UIInteractionSystem.md +60 -0
- package/dist/docs/api/index/classes/UIPanelSystem.md +79 -0
- package/dist/docs/api/index/classes/VRTeleportAreaSystem.md +49 -0
- package/dist/docs/api/index/classes/VideoSystem.md +8 -6
- package/dist/docs/api/index/classes/World.md +282 -100
- package/dist/docs/api/index/classes/XRAnchorSystem.md +90 -0
- package/dist/docs/api/index/classes/XRControllerVisualSystem.md +77 -0
- package/dist/docs/api/index/classes/XREnvironmentSystem.md +137 -0
- package/dist/docs/api/index/classes/XRHandPoseSystem.md +107 -0
- package/dist/docs/api/index/classes/XRHitTestSystem.md +93 -0
- package/dist/docs/api/index/classes/XRHoverVisualSystem.md +76 -0
- package/dist/docs/api/index/classes/XRInputSystem.md +189 -0
- package/dist/docs/api/index/classes/XRInteractionSystem.md +323 -0
- package/dist/docs/api/index/classes/XRLocomotionSystem.md +128 -0
- package/dist/docs/api/index/classes/XRSessionSystem.md +116 -0
- package/dist/docs/api/index/classes/XRTeleportVisualSystem.md +75 -0
- package/dist/docs/api/index/functions/angularVelocityFrom.md +33 -0
- package/dist/docs/api/index/functions/applyHandMaterial.md +26 -0
- package/dist/docs/api/index/functions/applyPrefabToSnapshotInstances.md +1 -1
- package/dist/docs/api/index/functions/arcGroundCrossing.md +30 -0
- package/dist/docs/api/index/functions/buildComponentValueMaps.md +1 -1
- package/dist/docs/api/index/functions/buildNodeKeyMapsFromSnapshot.md +1 -1
- package/dist/docs/api/index/functions/buildNodeMapsFromSnapshot.md +1 -1
- package/dist/docs/api/index/functions/canonicalizeComponentValue.md +1 -1
- package/dist/docs/api/index/functions/clearModelCache.md +1 -1
- package/dist/docs/api/index/functions/clearPrefabCache.md +1 -1
- package/dist/docs/api/index/functions/cloneHandPose.md +23 -0
- package/dist/docs/api/index/functions/collectDiffPaths.md +1 -1
- package/dist/docs/api/index/functions/collectDirectPrefabDependencies.md +1 -1
- package/dist/docs/api/index/functions/collectEntitySubtree.md +1 -1
- package/dist/docs/api/index/functions/collectSnapshotSubtreeIds.md +1 -1
- package/dist/docs/api/index/functions/computeFingerCurl.md +29 -0
- package/dist/docs/api/index/functions/computeHandShape.md +29 -0
- package/dist/docs/api/index/functions/computeInstanceOverrides.md +1 -1
- package/dist/docs/api/index/functions/computePalmPose.md +30 -0
- package/dist/docs/api/index/functions/computePalmWidth.md +25 -0
- package/dist/docs/api/index/functions/computePinch.md +29 -0
- package/dist/docs/api/index/functions/computeSpread.md +33 -0
- package/dist/docs/api/index/functions/createAnimationComponent.md +1 -1
- package/dist/docs/api/index/functions/createAudioComponent.md +1 -1
- package/dist/docs/api/index/functions/createCameraComponent.md +1 -1
- package/dist/docs/api/index/functions/createEntityTypeComponent.md +2 -2
- package/dist/docs/api/index/functions/createEnvironmentComponent.md +1 -1
- package/dist/docs/api/index/functions/createHandMaterial.md +30 -0
- package/dist/docs/api/index/functions/createImageComponent.md +1 -1
- package/dist/docs/api/index/functions/createImageTargetAnchorComponent.md +1 -1
- package/dist/docs/api/index/functions/createImageTargetComponent.md +2 -2
- package/dist/docs/api/index/functions/createInstanceSlotComponent.md +1 -1
- package/dist/docs/api/index/functions/createInstancedMeshComponent.md +1 -1
- package/dist/docs/api/index/functions/createLightComponent.md +2 -2
- package/dist/docs/api/index/functions/createMaterialComponent.md +2 -2
- package/dist/docs/api/index/functions/createMeshComponent.md +1 -1
- package/dist/docs/api/index/functions/createMeshGeometryComponent.md +1 -1
- package/dist/docs/api/index/functions/createModelComponent.md +1 -1
- package/dist/docs/api/index/functions/createNameComponent.md +1 -1
- package/dist/docs/api/index/functions/createObject3DRefComponent.md +1 -1
- package/dist/docs/api/index/functions/createParentIdComponent.md +1 -1
- package/dist/docs/api/index/functions/createPhysicsComponent.md +1 -1
- package/dist/docs/api/index/functions/createPostprocessingComponent.md +1 -1
- package/dist/docs/api/index/functions/createScriptComponent.md +1 -1
- package/dist/docs/api/index/functions/createScriptObjectComponent.md +1 -1
- package/dist/docs/api/index/functions/createSelectableComponent.md +1 -1
- package/dist/docs/api/index/functions/createSelectionTransformStateComponent.md +1 -1
- package/dist/docs/api/index/functions/createSpriteComponent.md +1 -1
- package/dist/docs/api/index/functions/createTransformComponent.md +1 -1
- package/dist/docs/api/index/functions/createUIButtonComponent.md +28 -0
- package/dist/docs/api/index/functions/createUIPanelComponent.md +28 -0
- package/dist/docs/api/index/functions/createUISliderComponent.md +28 -0
- package/dist/docs/api/index/functions/createUITextComponent.md +28 -0
- package/dist/docs/api/index/functions/createUIToggleComponent.md +28 -0
- package/dist/docs/api/index/functions/createVRTeleportAreaComponent.md +28 -0
- package/dist/docs/api/index/functions/createVideoComponent.md +1 -1
- package/dist/docs/api/index/functions/createXRAnchorComponent.md +28 -0
- package/dist/docs/api/index/functions/createXRHandPoseComponent.md +28 -0
- package/dist/docs/api/index/functions/createXRInteractableComponent.md +28 -0
- package/dist/docs/api/index/functions/createXRInteractorComponent.md +28 -0
- package/dist/docs/api/index/functions/createXRInteractorSideComponent.md +28 -0
- package/dist/docs/api/index/functions/createXRRigComponent.md +28 -0
- package/dist/docs/api/index/functions/decanonicalizeComponentValue.md +1 -1
- package/dist/docs/api/index/functions/despawnPrefab.md +1 -1
- package/dist/docs/api/index/functions/encodeOverride.md +1 -1
- package/dist/docs/api/index/functions/estimateHandScale.md +28 -0
- package/dist/docs/api/index/functions/findSnapshotRootEntityIds.md +1 -1
- package/dist/docs/api/index/functions/findTopLevelNestedRegions.md +1 -1
- package/dist/docs/api/index/functions/getHandPosePreset.md +31 -0
- package/dist/docs/api/index/functions/groupOverridePaths.md +1 -1
- package/dist/docs/api/index/functions/handPoseFromCurls.md +42 -0
- package/dist/docs/api/index/functions/hydrateWorldFromSnapshot.md +1 -1
- package/dist/docs/api/index/functions/hydrateWorldFromSnapshotDetailed.md +1 -1
- package/dist/docs/api/index/functions/indexSnapshotByEntity.md +1 -1
- package/dist/docs/api/index/functions/instantiateSubtree.md +1 -1
- package/dist/docs/api/index/functions/loadPrefab.md +1 -1
- package/dist/docs/api/index/functions/loadSharedGltf.md +1 -1
- package/dist/docs/api/index/functions/matchHandPose.md +34 -0
- package/dist/docs/api/index/functions/mergeComponentValue.md +1 -1
- package/dist/docs/api/index/functions/parseOverride.md +1 -1
- package/dist/docs/api/index/functions/parsePrefabAsset.md +1 -1
- package/dist/docs/api/index/functions/prefabFileVersionFor.md +1 -1
- package/dist/docs/api/index/functions/readXrCapabilities.md +30 -0
- package/dist/docs/api/index/functions/registerDefaultComponentFactories.md +1 -1
- package/dist/docs/api/index/functions/registerDefaultFactories.md +1 -1
- package/dist/docs/api/index/functions/remapSnapshotEntityIds.md +3 -3
- package/dist/docs/api/index/functions/resolveDracoDecoderPath.md +1 -1
- package/dist/docs/api/index/functions/restoreComponentState.md +1 -1
- package/dist/docs/api/index/functions/restorePostCreateComponents.md +1 -1
- package/dist/docs/api/index/functions/sampleTeleportArc.md +40 -0
- package/dist/docs/api/index/functions/serializeEntitySubtree.md +1 -1
- package/dist/docs/api/index/functions/setDracoDecoderPath.md +1 -1
- package/dist/docs/api/index/functions/setPrefabAssetUrlResolver.md +1 -1
- package/dist/docs/api/index/functions/spawnPrefab.md +1 -1
- package/dist/docs/api/index/index.md +116 -4
- package/dist/docs/api/index/interfaces/ChromaKeyOptions.md +20 -0
- package/dist/docs/api/index/interfaces/EcsSystem.md +3 -3
- package/dist/docs/api/index/interfaces/PostprocessingBuildContext.md +21 -0
- package/dist/docs/api/index/interfaces/PostprocessingPipeline.md +84 -0
- package/dist/docs/api/index/interfaces/RenderBackend.md +168 -0
- package/dist/docs/api/index/interfaces/StateMachine.md +13 -13
- package/dist/docs/api/index/type-aliases/AnimationStateCallbacks.md +4 -4
- package/dist/docs/api/index/type-aliases/ApplyPrefabToSnapshotResult.md +3 -3
- package/dist/docs/api/index/type-aliases/ComponentFactory.md +1 -1
- package/dist/docs/api/index/type-aliases/ComponentValueMaps.md +50 -26
- package/dist/docs/api/index/type-aliases/EcsComponentFactoryKind.md +14 -2
- package/dist/docs/api/index/type-aliases/EcsRenderer.md +17 -0
- package/dist/docs/api/index/type-aliases/EcsWorldComponentSnapshot.md +3 -3
- package/dist/docs/api/index/type-aliases/EcsWorldStateSnapshotLike.md +4 -4
- package/dist/docs/api/index/type-aliases/ExternalRefWarning.md +5 -5
- package/dist/docs/api/index/type-aliases/HandMaterialOptions.md +32 -0
- package/dist/docs/api/index/type-aliases/HandPoseTrackerOptions.md +27 -0
- package/dist/docs/api/index/type-aliases/HydrateOptions.md +3 -3
- package/dist/docs/api/index/type-aliases/HydrateWorldFromSnapshotResult.md +4 -4
- package/dist/docs/api/index/type-aliases/InstantiateSubtreeResult.md +3 -3
- package/dist/docs/api/index/type-aliases/KeyboardKey.md +1 -1
- package/dist/docs/api/index/type-aliases/ModuleLoader.md +1 -1
- package/dist/docs/api/index/type-aliases/MouseButton.md +1 -1
- package/dist/docs/api/index/type-aliases/NestedRegion.md +5 -5
- package/dist/docs/api/index/type-aliases/NodeKeyMaps.md +5 -5
- package/dist/docs/api/index/type-aliases/NodeMaps.md +4 -4
- package/dist/docs/api/index/type-aliases/PrefabAsset.md +5 -5
- package/dist/docs/api/index/type-aliases/RemapSnapshotOptions.md +2 -2
- package/dist/docs/api/index/type-aliases/RendererKind.md +15 -0
- package/dist/docs/api/index/type-aliases/ScriptBehaviourSystemOptions.md +23 -0
- package/dist/docs/api/index/type-aliases/ScriptErrorEvent.md +39 -0
- package/dist/docs/api/index/type-aliases/ScriptErrorListener.md +25 -0
- package/dist/docs/api/index/type-aliases/ScriptErrorPhase.md +28 -0
- package/dist/docs/api/index/type-aliases/ScriptErrorReport.md +31 -0
- package/dist/docs/api/index/type-aliases/ScriptErrorSource.md +15 -0
- package/dist/docs/api/index/type-aliases/SelectionContext.md +4 -4
- package/dist/docs/api/index/type-aliases/SerializeEntitySubtreeResult.md +4 -4
- package/dist/docs/api/index/type-aliases/SpawnPrefabOptions.md +5 -5
- package/dist/docs/api/index/type-aliases/SpawnPrefabSource.md +1 -1
- package/dist/docs/api/index/type-aliases/SubtreeSnapshot.md +3 -3
- package/dist/docs/api/index/type-aliases/UiCanvasLike.md +46 -0
- package/dist/docs/api/index/type-aliases/VelocitySample.md +23 -0
- package/dist/docs/api/index/type-aliases/XrCapabilities.md +41 -0
- package/dist/docs/api/index/type-aliases/XrFinger.md +13 -0
- package/dist/docs/api/index/type-aliases/XrFingerCurl.md +27 -0
- package/dist/docs/api/index/type-aliases/XrFingerTarget.md +31 -0
- package/dist/docs/api/index/type-aliases/XrHandJointName.md +40 -0
- package/dist/docs/api/index/type-aliases/XrHandJoints.md +18 -0
- package/dist/docs/api/index/type-aliases/XrHandPoseAxis.md +15 -0
- package/dist/docs/api/index/type-aliases/XrHandPoseContext.md +23 -0
- package/dist/docs/api/index/type-aliases/XrHandPoseDefinition.md +47 -0
- package/dist/docs/api/index/type-aliases/XrHandPoseDirection.md +21 -0
- package/dist/docs/api/index/type-aliases/XrHandPoseEvent.md +13 -0
- package/dist/docs/api/index/type-aliases/XrHandPoseEventDetail.md +27 -0
- package/dist/docs/api/index/type-aliases/XrHandPoseMatch.md +25 -0
- package/dist/docs/api/index/type-aliases/XrHandPoseOrientation.md +25 -0
- package/dist/docs/api/index/type-aliases/XrHandShape.md +46 -0
- package/dist/docs/api/index/type-aliases/XrHandedness.md +15 -0
- package/dist/docs/api/index/type-aliases/XrHitResult.md +25 -0
- package/dist/docs/api/index/type-aliases/XrInputKind.md +19 -0
- package/dist/docs/api/index/type-aliases/XrInputState.md +60 -0
- package/dist/docs/api/index/type-aliases/XrPalmPose.md +31 -0
- package/dist/docs/api/index/variables/ADDED_NODE_MARKER_COMPONENT.md +2 -2
- package/dist/docs/api/index/variables/ARC_GRAVITY.md +15 -0
- package/dist/docs/api/index/variables/ARC_MAX_TIME.md +15 -0
- package/dist/docs/api/index/variables/ARC_SPEED.md +15 -0
- package/dist/docs/api/index/variables/ARC_STEPS.md +15 -0
- package/dist/docs/api/index/variables/CURLED_COS.md +13 -0
- package/dist/docs/api/index/variables/DEFAULT_DIRECTION_TOLERANCE.md +15 -0
- package/dist/docs/api/index/variables/DEFAULT_ENTER_CONFIDENCE.md +13 -0
- package/dist/docs/api/index/variables/DEFAULT_EXIT_CONFIDENCE.md +13 -0
- package/dist/docs/api/index/variables/DEFAULT_LOST_GRACE_SECONDS.md +13 -0
- package/dist/docs/api/index/variables/DEFAULT_MIN_HOLD_SECONDS.md +13 -0
- package/dist/docs/api/index/variables/DEFAULT_SCRIPT_ERROR_RETRY_DELAY.md +17 -0
- package/dist/docs/api/index/variables/FALLBACK_HAND_SCALE.md +15 -0
- package/dist/docs/api/index/variables/HAND_POSE_PRESETS.md +19 -0
- package/dist/docs/api/index/variables/HAND_POSE_PRESET_IDS.md +15 -0
- package/dist/docs/api/index/variables/HYDRATABLE_ENTITY_KINDS.md +1 -1
- package/dist/docs/api/index/variables/KeyboardKeys.md +89 -89
- package/dist/docs/api/index/variables/MATCH_FALLOFF.md +15 -0
- package/dist/docs/api/index/variables/MAX_PLAUSIBLE_SPEED.md +25 -0
- package/dist/docs/api/index/variables/MAX_SAMPLE_AGE_SECONDS.md +18 -0
- package/dist/docs/api/index/variables/NODE_KEY_SEPARATOR.md +1 -1
- package/dist/docs/api/index/variables/NO_XR_CAPABILITIES.md +15 -0
- package/dist/docs/api/index/variables/OVERRIDE_DIFF_EXCLUDED_COMPONENTS.md +1 -1
- package/dist/docs/api/index/variables/OVERRIDE_ROOT_EXCLUDED_COMPONENTS.md +1 -1
- package/dist/docs/api/index/variables/PINCH_FINGERS.md +15 -0
- package/dist/docs/api/index/variables/PREFAB_FILE_VERSION.md +1 -1
- package/dist/docs/api/index/variables/PREFAB_FILE_VERSION_NESTED.md +1 -1
- package/dist/docs/api/index/variables/SCRIPT_OBJECT_ROOT_FLAG.md +1 -1
- package/dist/docs/api/index/variables/SHARED_MODEL_RESOURCE_FLAG.md +1 -1
- package/dist/docs/api/index/variables/STRAIGHT_COS.md +19 -0
- package/dist/docs/api/index/variables/VELOCITY_SAMPLES.md +15 -0
- package/dist/docs/api/index/variables/XR_FINGERS.md +13 -0
- package/dist/docs/api/index/variables/XR_HOVER_SHELL_FLAG.md +15 -0
- package/dist/docs/api/index/variables/webglBackend.md +16 -0
- package/dist/docs/api/typedoc-sidebar.json +1 -1
- package/dist/docs/api/types/type-aliases/AssetInput.md +3 -3
- package/dist/docs/api/types/type-aliases/CheckboxInput.md +3 -3
- package/dist/docs/api/types/type-aliases/ColorInput.md +1 -1
- package/dist/docs/api/types/type-aliases/ComponentInput.md +4 -4
- package/dist/docs/api/types/type-aliases/ComponentKind.md +1 -1
- package/dist/docs/api/types/type-aliases/DropdownInput.md +3 -3
- package/dist/docs/api/types/type-aliases/DropdownOption.md +3 -3
- package/dist/docs/api/types/type-aliases/EcsEntityEditorKind.md +1 -1
- package/dist/docs/api/types/type-aliases/EcsEntityKind.md +10 -2
- package/dist/docs/api/types/type-aliases/EntityId.md +1 -1
- package/dist/docs/api/types/type-aliases/EntityInput.md +3 -3
- package/dist/docs/api/types/type-aliases/FloatInput.md +1 -1
- package/dist/docs/api/types/type-aliases/IntersectionResult.md +3 -3
- package/dist/docs/api/types/type-aliases/ParentLookup.md +3 -3
- package/dist/docs/api/types/type-aliases/SelectionListener.md +1 -1
- package/dist/docs/api/types/type-aliases/SliderInput.md +5 -5
- package/dist/docs/api/types/type-aliases/TextInput.md +1 -1
- package/dist/docs/api/types/type-aliases/ToggleInput.md +1 -1
- package/dist/docs/api/types/type-aliases/Vec3.md +1 -1
- package/dist/docs/api/types/type-aliases/Vector2Input.md +3 -3
- package/dist/docs/api/types/type-aliases/Vector3Input.md +4 -4
- package/dist/docs/api/types/type-aliases/WorldEntityView.md +1 -1
- package/dist/docs/guide/audio-mixing-and-sound-banks.md +71 -0
- package/dist/docs/guide/authoring-a-behaviour.md +3 -3
- package/dist/docs/guide/authoring-a-script-object.md +12 -9
- package/dist/docs/guide/behaviour-data-binding/index.md +11 -11
- package/dist/docs/guide/behaviour-lifecycle.md +9 -0
- package/dist/docs/guide/bone-attachments-and-ik.md +128 -0
- package/dist/docs/guide/component-catalog.md +10 -2
- package/dist/docs/guide/components/light.md +42 -0
- package/dist/docs/guide/components/model.md +32 -3
- package/dist/docs/guide/concepts.md +2 -2
- package/dist/docs/guide/getting-started/creating-objects.md +2 -2
- package/dist/docs/guide/getting-started/editing-objects.md +2 -2
- package/dist/docs/guide/getting-started/editor/ai-agent.md +227 -0
- package/dist/docs/guide/getting-started/editor/hierarchy.md +2 -2
- package/dist/docs/guide/getting-started/editor/index.md +3 -2
- package/dist/docs/guide/getting-started/editor/inspector.md +2 -2
- package/dist/docs/guide/getting-started/editor/scene-inspector.md +3 -3
- package/dist/docs/guide/getting-started/editor/toolbar.md +11 -11
- package/dist/docs/guide/getting-started/editor/viewport.md +17 -9
- package/dist/docs/guide/getting-started/index.md +1 -1
- package/dist/docs/guide/getting-started/installation.md +1 -1
- package/dist/docs/guide/getting-started/preview-and-test.md +7 -7
- package/dist/docs/guide/getting-started/project-types/image-tracking.md +23 -11
- package/dist/docs/guide/getting-started/project-types/index.md +4 -4
- package/dist/docs/guide/getting-started/project-types/vr.md +270 -2
- package/dist/docs/guide/getting-started/projects.md +4 -5
- package/dist/docs/guide/getting-started/shortcuts.md +5 -4
- package/dist/docs/guide/multiplayer.md +92 -0
- package/dist/docs/guide/scene/environment.md +101 -4
- package/dist/docs/guide/scene/index.md +4 -4
- package/dist/docs/guide/scene/postprocessing.md +67 -5
- package/dist/docs/guide/spatial-ui.md +83 -7
- package/dist/docs/guide/spawning/area-light.md +2 -0
- package/dist/docs/guide/systems/environment-sync-system.md +11 -6
- package/dist/docs/guide/systems/light-sync-system.md +5 -3
- package/dist/docs/guide/systems/postprocessing-sync-system.md +16 -6
- package/dist/docs/guide/systems/render-system.md +7 -6
- package/dist/docs/guide/systems/script-behaviour-system.md +7 -5
- package/dist/docs/guide/systems/script-object-system.md +3 -1
- package/dist/docs/guide/systems/video-system.md +1 -1
- package/dist/docs/guide/webgpu-and-tsl.md +415 -0
- package/dist/docs/guide/world-api.md +52 -2
- package/dist/factories/index.cjs +921 -283
- package/dist/factories/index.cjs.map +1 -1
- package/dist/factories/index.d.cts +14 -3
- package/dist/factories/index.d.ts +14 -3
- package/dist/factories/index.js +7 -4
- package/dist/{index-C3ik3sA1.d.ts → index-CAZHrh0q.d.cts} +28 -3
- package/dist/{index-Dlr-7-4m.d.cts → index-CLtSMf2M.d.ts} +28 -3
- package/dist/{index-D2Jt_JzH.d.ts → index-D5MmJNyj.d.ts} +161 -43
- package/dist/{index-DaG03vyN.d.cts → index-DiIjV2lm.d.cts} +161 -43
- package/dist/index.cjs +4959 -1414
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +113 -11
- package/dist/index.d.ts +113 -11
- package/dist/index.js +187 -12
- package/dist/index.js.map +1 -1
- package/dist/network/index.cjs +5069 -0
- package/dist/network/index.cjs.map +1 -0
- package/dist/network/index.d.cts +98 -0
- package/dist/network/index.d.ts +98 -0
- package/dist/network/index.js +493 -0
- package/dist/network/index.js.map +1 -0
- package/dist/systems/index.cjs +5319 -1957
- package/dist/systems/index.cjs.map +1 -1
- package/dist/systems/index.d.cts +4 -2
- package/dist/systems/index.d.ts +4 -2
- package/dist/systems/index.js +8 -4
- package/dist/types.d.cts +3 -1
- package/dist/types.d.ts +3 -1
- package/dist/webgpu/index.d.ts +113 -0
- package/dist/webgpu/index.js +302 -0
- package/dist/webgpu/index.js.map +1 -0
- package/dist/worldSnapshotUtils.d.cts +3 -1
- package/dist/worldSnapshotUtils.d.ts +3 -1
- package/dist/worldSnapshotUtils.js +3 -2
- package/package.json +19 -3
- package/dist/chunk-BUEKOSR5.js.map +0 -1
- package/dist/chunk-DF5SSRN6.js.map +0 -1
- package/dist/chunk-OWQSESTO.js.map +0 -1
- package/dist/chunk-OY7ZODZP.js.map +0 -1
- package/dist/chunk-RXBLOO5B.js.map +0 -1
- package/dist/chunk-WJD2VKEH.js +0 -315
- package/dist/chunk-WJD2VKEH.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { K as EcsSystem, W as World, E as EcsRenderer, R as RenderBackend, ai as InputSystem, M as EntityId } from './System-DPMAW30g.js';
|
|
2
2
|
import * as THREE from 'three';
|
|
3
3
|
import { m as XrHandJoints, r as XrHandShape } from './handPose-DlcTtqgx.js';
|
|
4
4
|
|
|
@@ -22,33 +22,135 @@ declare class ObjectVisibilitySystem implements EcsSystem {
|
|
|
22
22
|
update(world: World): void;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
+
/**
|
|
26
|
+
* Applies the scene's {@link Environment} component to the three.js scene:
|
|
27
|
+
* skybox, fog, and (when `values.lighting` is present) image-based lighting,
|
|
28
|
+
* tone mapping and exposure.
|
|
29
|
+
*
|
|
30
|
+
* Each part is dirty-checked on its own, so animating `lighting.envIntensity`
|
|
31
|
+
* every frame does not rebuild the skybox texture.
|
|
32
|
+
*
|
|
33
|
+
* Runs in the editor and at runtime. While an XR session composites over the
|
|
34
|
+
* real world (`World.isXrPassthrough()`) the background is withheld; lighting
|
|
35
|
+
* and fog still apply.
|
|
36
|
+
*
|
|
37
|
+
* On WebGL the environment map is PMREM-prefiltered here. On WebGPU
|
|
38
|
+
* (`World.getRendererKind() === "webgpu"`) the equirect texture is assigned
|
|
39
|
+
* to `scene.environment` as is and the renderer prefilters it.
|
|
40
|
+
*
|
|
41
|
+
* @category Systems
|
|
42
|
+
*/
|
|
25
43
|
declare class EnvironmentSyncSystem implements EcsSystem {
|
|
26
44
|
private readonly scene;
|
|
27
45
|
private readonly textureLoader;
|
|
28
|
-
|
|
46
|
+
/** `true` once an Environment entity has been seen (drives the reset path). */
|
|
47
|
+
private hasEnvironment;
|
|
48
|
+
private skyboxSignature;
|
|
49
|
+
private fogSignature;
|
|
50
|
+
private lightingSignature;
|
|
29
51
|
private activeTexture;
|
|
52
|
+
/** Load key (`url`, or `equirect|url`) of the current/pending image skybox. */
|
|
30
53
|
private pendingImageUrl;
|
|
54
|
+
/** What the skybox wants as the background, before passthrough/env overrides. */
|
|
55
|
+
private skyboxBackground;
|
|
31
56
|
/** Whether the skybox is currently withheld because passthrough is on. */
|
|
32
57
|
private passthroughSuppressed;
|
|
58
|
+
private renderer;
|
|
59
|
+
private lighting;
|
|
60
|
+
/** URL of the environment map currently loaded or loading. */
|
|
61
|
+
private envUrl;
|
|
62
|
+
/** Incremented per env-map load; a load whose token is stale is discarded. */
|
|
63
|
+
private envLoadToken;
|
|
64
|
+
/** Equirect source texture of the current environment map. */
|
|
65
|
+
private envSource;
|
|
66
|
+
/**
|
|
67
|
+
* PMREM render target built from {@link envSource} (WebGL only; on WebGPU
|
|
68
|
+
* the renderer prefilters `scene.environment` itself and this stays null).
|
|
69
|
+
*/
|
|
70
|
+
private envTarget;
|
|
71
|
+
private sceneLightingBaseline;
|
|
72
|
+
private sceneBackgroundBaseline;
|
|
73
|
+
private disposed;
|
|
33
74
|
constructor(scene: THREE.Scene);
|
|
34
75
|
private disposeActiveTexture;
|
|
76
|
+
/** Write the background the current state calls for. */
|
|
77
|
+
private commitBackground;
|
|
78
|
+
private restoreBackgroundBaseline;
|
|
79
|
+
private setSkyboxBackground;
|
|
35
80
|
private applySkybox;
|
|
36
81
|
private applyFog;
|
|
82
|
+
private disposeEnvResources;
|
|
83
|
+
/** Drop the environment map (any in-flight load is abandoned). */
|
|
84
|
+
private clearEnvMap;
|
|
85
|
+
/**
|
|
86
|
+
* Undo everything the lighting block wrote to the scene and renderer.
|
|
87
|
+
* `commit` re-applies the background afterwards (off during teardown, which
|
|
88
|
+
* must not touch the background).
|
|
89
|
+
*/
|
|
90
|
+
private clearLighting;
|
|
91
|
+
/**
|
|
92
|
+
* PMREM-filter an equirect texture. `null` when no usable renderer exists,
|
|
93
|
+
* or on WebGPU: there the WebGL `PMREMGenerator` would silently produce a
|
|
94
|
+
* black map, while `WebGPURenderer` prefilters an equirect
|
|
95
|
+
* `scene.environment` (and a blurred background) by itself.
|
|
96
|
+
*/
|
|
97
|
+
private buildPmrem;
|
|
98
|
+
private loadEnvMap;
|
|
99
|
+
private applyEnvironmentParams;
|
|
100
|
+
private applyLighting;
|
|
101
|
+
private resetAll;
|
|
37
102
|
update(world: World): void;
|
|
38
103
|
dispose(): void;
|
|
39
104
|
}
|
|
40
105
|
|
|
106
|
+
/**
|
|
107
|
+
* Builds the post-processing chain from the scene's {@link Postprocessing}
|
|
108
|
+
* component and hands it to `RenderSystem` through `scene.userData`:
|
|
109
|
+
*
|
|
110
|
+
* - `ecsPostprocessingComposer` — the built chain (`render()`, `dispose()`,
|
|
111
|
+
* optional `setSize()` / `setPixelRatio()`). On WebGL it is the
|
|
112
|
+
* `EffectComposer` itself.
|
|
113
|
+
* - `ecsPostprocessingComposerActive` — `true` while `RenderSystem` should
|
|
114
|
+
* render through it.
|
|
115
|
+
* - `ecsPostprocessing` — the values the chain was built from.
|
|
116
|
+
*
|
|
117
|
+
* The chain itself comes from the world's render backend: an
|
|
118
|
+
* `EffectComposer` on WebGL (pass order: scene render → depth of field →
|
|
119
|
+
* bloom → vignette → hue/saturation → sepia → film noise → dot screen →
|
|
120
|
+
* SSAO → glitch → chromatic aberration → pixelation → SMAA → output), a
|
|
121
|
+
* `RenderPipeline` of TSL nodes with `webgpuBackend`. A backend that can
|
|
122
|
+
* update a chain in place (the WebGPU one) skips the rebuild when only
|
|
123
|
+
* parameters changed.
|
|
124
|
+
*
|
|
125
|
+
* The `toneMapping` effect has no pass of its own: when active it asks the
|
|
126
|
+
* renderer for tone mapping, which the chain's output step then applies. See
|
|
127
|
+
* `Environment.values.lighting.toneMapping` for how the two combine.
|
|
128
|
+
*
|
|
129
|
+
* @category Systems
|
|
130
|
+
*/
|
|
41
131
|
declare class PostprocessingSyncSystem implements EcsSystem {
|
|
42
132
|
private readonly renderer;
|
|
43
133
|
private readonly scene;
|
|
44
134
|
private readonly camera;
|
|
135
|
+
private readonly backend;
|
|
45
136
|
private signature;
|
|
137
|
+
/** Deep copy of the values the current chain reflects. */
|
|
138
|
+
private appliedValues;
|
|
46
139
|
private composer;
|
|
47
140
|
private composerEnabled;
|
|
48
|
-
|
|
141
|
+
/**
|
|
142
|
+
* @param backend - Builds the chain. When omitted, the world's backend
|
|
143
|
+
* (`world.getRenderBackend()`) is used.
|
|
144
|
+
*/
|
|
145
|
+
constructor(renderer: EcsRenderer, scene: THREE.Scene, camera: THREE.PerspectiveCamera, backend?: RenderBackend);
|
|
49
146
|
private setComposerEnabled;
|
|
50
147
|
private disposeComposer;
|
|
148
|
+
/** Ask the renderer for tone mapping while the effect is active. */
|
|
149
|
+
private applyToneMapping;
|
|
150
|
+
private resolveBackend;
|
|
51
151
|
private buildComposer;
|
|
152
|
+
/** Update the existing chain in place; `false` when it must be rebuilt. */
|
|
153
|
+
private tryUpdateInPlace;
|
|
52
154
|
update(world: World): void;
|
|
53
155
|
dispose(): void;
|
|
54
156
|
}
|
|
@@ -132,6 +234,20 @@ declare class InstancedMeshSystem implements EcsSystem {
|
|
|
132
234
|
/** Resolves a script URL to its ES module namespace. */
|
|
133
235
|
type ModuleLoader = (scriptUrl: string) => Promise<Record<string, unknown>>;
|
|
134
236
|
|
|
237
|
+
/**
|
|
238
|
+
* Seconds a Behaviour waits after an error (load, `init()` or `update()`)
|
|
239
|
+
* before it is re-initialised. Without the wait a script that throws every
|
|
240
|
+
* frame was torn down and rebuilt every frame.
|
|
241
|
+
*/
|
|
242
|
+
declare const DEFAULT_SCRIPT_ERROR_RETRY_DELAY = 1;
|
|
243
|
+
/** Options for {@link ScriptBehaviourSystem}. */
|
|
244
|
+
type ScriptBehaviourSystemOptions = {
|
|
245
|
+
/**
|
|
246
|
+
* Seconds to wait after a script error before re-initialising the script.
|
|
247
|
+
* Default {@link DEFAULT_SCRIPT_ERROR_RETRY_DELAY}.
|
|
248
|
+
*/
|
|
249
|
+
errorRetryDelay?: number;
|
|
250
|
+
};
|
|
135
251
|
/**
|
|
136
252
|
* Optional context that enables raycast-based onSelect / onDeselect dispatch.
|
|
137
253
|
* When provided, pointer/touch taps on the canvas fire a raycast against the
|
|
@@ -148,6 +264,11 @@ declare class ScriptBehaviourSystem implements EcsSystem {
|
|
|
148
264
|
private instances;
|
|
149
265
|
private loading;
|
|
150
266
|
private readonly moduleLoader;
|
|
267
|
+
private readonly errorRetryDelay;
|
|
268
|
+
/** Seconds of world time this system has seen (sum of `deltaTime`). */
|
|
269
|
+
private clock;
|
|
270
|
+
/** Instance key → clock time before which a failed script is not retried. */
|
|
271
|
+
private retryAt;
|
|
151
272
|
private readonly selectionCtx;
|
|
152
273
|
private readonly raycaster;
|
|
153
274
|
private readonly ndcPointer;
|
|
@@ -155,7 +276,7 @@ declare class ScriptBehaviourSystem implements EcsSystem {
|
|
|
155
276
|
private pendingEntityId;
|
|
156
277
|
private pointerDownPos;
|
|
157
278
|
private static readonly CLICK_THRESHOLD;
|
|
158
|
-
constructor(moduleLoader?: ModuleLoader, selectionContext?: SelectionContext);
|
|
279
|
+
constructor(moduleLoader?: ModuleLoader, selectionContext?: SelectionContext, options?: ScriptBehaviourSystemOptions);
|
|
159
280
|
/** Walk up the object hierarchy to find the nearest userData.entityId. */
|
|
160
281
|
private resolveEntityId;
|
|
161
282
|
/** Convert client (screen) coordinates to normalised device coordinates. */
|
|
@@ -170,6 +291,9 @@ declare class ScriptBehaviourSystem implements EcsSystem {
|
|
|
170
291
|
* onSelect() on all behaviours of the newly selected entity.
|
|
171
292
|
*/
|
|
172
293
|
private applySelection;
|
|
294
|
+
private reportRecordError;
|
|
295
|
+
/** Hold a failed script back for {@link errorRetryDelay} seconds. */
|
|
296
|
+
private scheduleRetry;
|
|
173
297
|
update(world: World, deltaTime: number): void;
|
|
174
298
|
dispose(world: World): void;
|
|
175
299
|
private loadBehaviour;
|
|
@@ -195,6 +319,8 @@ declare class ScriptObjectSystem implements EcsSystem {
|
|
|
195
319
|
private loading;
|
|
196
320
|
/** Bumped by invalidate*() so in-flight loads that predate it are discarded. */
|
|
197
321
|
private epoch;
|
|
322
|
+
/** World seen by the last update(), so invalidate*() can reset error dedupe. */
|
|
323
|
+
private lastWorld;
|
|
198
324
|
constructor(moduleLoader?: ModuleLoader);
|
|
199
325
|
update(world: World, deltaTime: number): void;
|
|
200
326
|
private loadScriptObject;
|
|
@@ -208,41 +334,6 @@ declare class ScriptObjectSystem implements EcsSystem {
|
|
|
208
334
|
dispose(world: World): void;
|
|
209
335
|
}
|
|
210
336
|
|
|
211
|
-
/**
|
|
212
|
-
* Reconciles `AudioComponent` state with the underlying THREE.js audio objects
|
|
213
|
-
* each frame.
|
|
214
|
-
*
|
|
215
|
-
* **Playback** — drives `play()`, `pause()`, and `stop()` on the THREE.js
|
|
216
|
-
* audio node based on the `isPlaying` / `isPaused` flags set by
|
|
217
|
-
* `AudioComponent.play()`, `.pause()`, and `.stop()`.
|
|
218
|
-
*
|
|
219
|
-
* **Option sync** — detects changes to `loop`, `pitch`, `volume`,
|
|
220
|
-
* `refDistance`, `distanceModel`, and `rolloffFactor` and applies them live.
|
|
221
|
-
* Changes take effect on the next frame, so scripts and inspector edits during
|
|
222
|
-
* runtime are reflected without reloading the scene.
|
|
223
|
-
*
|
|
224
|
-
* Only active in **preview** mode (`isEditor: true` makes every update a
|
|
225
|
-
* no-op so the editor is unaffected).
|
|
226
|
-
*
|
|
227
|
-
* @category Systems
|
|
228
|
-
*/
|
|
229
|
-
declare class AudioSystem implements EcsSystem {
|
|
230
|
-
private readonly isEditor;
|
|
231
|
-
/** THREE.js `isPlaying` state captured at the end of the previous frame. */
|
|
232
|
-
private readonly prevPlayingState;
|
|
233
|
-
/** Snapshot of options applied in the previous frame, for change detection. */
|
|
234
|
-
private readonly prevOptions;
|
|
235
|
-
/** Tracks entities that were stopped due to invisibility. */
|
|
236
|
-
private readonly stoppedDueToInvisibility;
|
|
237
|
-
constructor({ isEditor }?: {
|
|
238
|
-
isEditor?: boolean;
|
|
239
|
-
});
|
|
240
|
-
update(world: World, _deltaTime: number): void;
|
|
241
|
-
/** Apply any changed options from the component to the THREE.js audio node. */
|
|
242
|
-
private _syncOptions;
|
|
243
|
-
dispose(_world: World): void;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
337
|
/**
|
|
247
338
|
* Reconciles `VideoComponent` state with the underlying HTML video element
|
|
248
339
|
* and THREE.js mesh/material each frame.
|
|
@@ -252,8 +343,10 @@ declare class AudioSystem implements EcsSystem {
|
|
|
252
343
|
* by `VideoComponent.play()`, `.pause()`, and `.stop()`.
|
|
253
344
|
*
|
|
254
345
|
* **Option sync** — detects changes to `loop`, `volume`, `width`, `height`,
|
|
255
|
-
* and green-screen
|
|
256
|
-
* `
|
|
346
|
+
* and green-screen keying (`backgroundColor`, `similarity`, `smoothness`,
|
|
347
|
+
* `spill`) and applies them live without a scene reload. The keying material
|
|
348
|
+
* belongs to the world's render backend (GLSL on WebGL, TSL with
|
|
349
|
+
* `webgpuBackend`), which updates it.
|
|
257
350
|
*
|
|
258
351
|
* Only active in **preview** mode (`isEditor: true` makes every update a
|
|
259
352
|
* no-op so the editor is unaffected).
|
|
@@ -830,7 +923,8 @@ declare class UIInteractionSystem implements EcsSystem {
|
|
|
830
923
|
private readonly inputSystem;
|
|
831
924
|
private readonly xrPresses;
|
|
832
925
|
private mousePress;
|
|
833
|
-
|
|
926
|
+
/** What each pointer is on. Two hands can rest on one widget. */
|
|
927
|
+
private readonly hovers;
|
|
834
928
|
/** entityId → seconds of pressed-tint left to display. */
|
|
835
929
|
private readonly tintFloors;
|
|
836
930
|
private readonly tinted;
|
|
@@ -845,6 +939,8 @@ declare class UIInteractionSystem implements EcsSystem {
|
|
|
845
939
|
});
|
|
846
940
|
update(world: World, deltaTime?: number): void;
|
|
847
941
|
private updateXr;
|
|
942
|
+
/** A transient source leaves with no select edge to clear its hover. */
|
|
943
|
+
private dropGoneXrHovers;
|
|
848
944
|
private updateMouse;
|
|
849
945
|
private raycastMouse;
|
|
850
946
|
private widgetKind;
|
|
@@ -862,6 +958,9 @@ declare class UIInteractionSystem implements EcsSystem {
|
|
|
862
958
|
*/
|
|
863
959
|
private dispatchBubbling;
|
|
864
960
|
private actionIdOf;
|
|
961
|
+
private setHover;
|
|
962
|
+
private hoverCount;
|
|
963
|
+
private isHovered;
|
|
865
964
|
private beginPressTint;
|
|
866
965
|
private endPressTint;
|
|
867
966
|
private updateTints;
|
|
@@ -895,6 +994,10 @@ type UiCanvasLike = {
|
|
|
895
994
|
declare class UIPanelSystem implements EcsSystem {
|
|
896
995
|
private readonly entries;
|
|
897
996
|
private readonly createCanvas;
|
|
997
|
+
private framesUntilDescendantWalk;
|
|
998
|
+
/** Whether any panel defines tokens, so plain scenes skip the parent walk. */
|
|
999
|
+
private anyTokens;
|
|
1000
|
+
private readonly drawAssets;
|
|
898
1001
|
constructor(options?: {
|
|
899
1002
|
createCanvas?: () => UiCanvasLike;
|
|
900
1003
|
});
|
|
@@ -905,7 +1008,16 @@ declare class UIPanelSystem implements EcsSystem {
|
|
|
905
1008
|
private syncText;
|
|
906
1009
|
private syncButton;
|
|
907
1010
|
private syncToggle;
|
|
1011
|
+
/** Checkbox and radio: a box or ring at the left of the widget's area. */
|
|
1012
|
+
private syncMarkToggle;
|
|
908
1013
|
private syncSlider;
|
|
1014
|
+
/**
|
|
1015
|
+
* Progress bars and rings. Unlike a slider these change rarely and have no
|
|
1016
|
+
* drag to keep smooth, so the value is drawn, in steps of half a percent.
|
|
1017
|
+
*/
|
|
1018
|
+
private syncMeter;
|
|
1019
|
+
/** The tokens in scope for a widget, nearest panel first. */
|
|
1020
|
+
private tokensFor;
|
|
909
1021
|
private rebuildIfChanged;
|
|
910
1022
|
private configureTexture;
|
|
911
1023
|
private makeQuad;
|
|
@@ -922,6 +1034,12 @@ declare class UIPanelSystem implements EcsSystem {
|
|
|
922
1034
|
* authored rotation stay in charge while authoring.
|
|
923
1035
|
*/
|
|
924
1036
|
private applyFollow;
|
|
1037
|
+
/**
|
|
1038
|
+
* Stamp every widget's meshes with this frame's paint order. Written each
|
|
1039
|
+
* frame because the eye moves: the order between trees can change at any
|
|
1040
|
+
* time, and a plain property write costs less than checking it.
|
|
1041
|
+
*/
|
|
1042
|
+
private applyPaintOrder;
|
|
925
1043
|
private destroyEntry;
|
|
926
1044
|
}
|
|
927
1045
|
|
|
@@ -1174,4 +1292,4 @@ declare class XRHoverVisualSystem implements EcsSystem {
|
|
|
1174
1292
|
dispose(): void;
|
|
1175
1293
|
}
|
|
1176
1294
|
|
|
1177
|
-
export { AnimationSystem as A, type XrInputKind as B, CameraSyncSystem as C,
|
|
1295
|
+
export { AnimationSystem as A, type XrInputKind as B, CameraSyncSystem as C, DEFAULT_SCRIPT_ERROR_RETRY_DELAY as D, EnvironmentSyncSystem as E, readXrCapabilities as F, InstancedMeshSystem as I, LightSyncSystem as L, MaterialSyncSystem as M, NO_XR_CAPABILITIES as N, ObjectVisibilitySystem as O, PhysicsSyncSystem as P, SCRIPT_OBJECT_ROOT_FLAG as S, UIInteractionSystem as U, VRTeleportAreaSystem as V, type XrCapabilities as X, type XrInputState as a, type XrHandPoseEventDetail as b, MeshGeometrySystem as c, type ModuleLoader as d, PostprocessingSyncSystem as e, ScriptBehaviourSystem as f, type ScriptBehaviourSystemOptions as g, ScriptObjectSystem as h, type SelectionContext as i, UIPanelSystem as j, type UiCanvasLike as k, VideoSystem as l, XRAnchorSystem as m, XRControllerVisualSystem as n, XREnvironmentSystem as o, XRHandPoseSystem as p, XRHitTestSystem as q, XRHoverVisualSystem as r, XRInputSystem as s, XRInteractionSystem as t, XRLocomotionSystem as u, XRSessionSystem as v, XRTeleportVisualSystem as w, XR_HOVER_SHELL_FLAG as x, type XrHandedness as y, type XrHitResult as z };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { B as EcsSystem, W as World, ab as EcsRenderer, R as RenderBackend, af as InputSystem, G as EntityId } from './System-8D-XBDKZ.cjs';
|
|
2
2
|
import * as THREE from 'three';
|
|
3
3
|
import { m as XrHandJoints, r as XrHandShape } from './handPose-DlcTtqgx.cjs';
|
|
4
4
|
|
|
@@ -22,33 +22,135 @@ declare class ObjectVisibilitySystem implements EcsSystem {
|
|
|
22
22
|
update(world: World): void;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
+
/**
|
|
26
|
+
* Applies the scene's {@link Environment} component to the three.js scene:
|
|
27
|
+
* skybox, fog, and (when `values.lighting` is present) image-based lighting,
|
|
28
|
+
* tone mapping and exposure.
|
|
29
|
+
*
|
|
30
|
+
* Each part is dirty-checked on its own, so animating `lighting.envIntensity`
|
|
31
|
+
* every frame does not rebuild the skybox texture.
|
|
32
|
+
*
|
|
33
|
+
* Runs in the editor and at runtime. While an XR session composites over the
|
|
34
|
+
* real world (`World.isXrPassthrough()`) the background is withheld; lighting
|
|
35
|
+
* and fog still apply.
|
|
36
|
+
*
|
|
37
|
+
* On WebGL the environment map is PMREM-prefiltered here. On WebGPU
|
|
38
|
+
* (`World.getRendererKind() === "webgpu"`) the equirect texture is assigned
|
|
39
|
+
* to `scene.environment` as is and the renderer prefilters it.
|
|
40
|
+
*
|
|
41
|
+
* @category Systems
|
|
42
|
+
*/
|
|
25
43
|
declare class EnvironmentSyncSystem implements EcsSystem {
|
|
26
44
|
private readonly scene;
|
|
27
45
|
private readonly textureLoader;
|
|
28
|
-
|
|
46
|
+
/** `true` once an Environment entity has been seen (drives the reset path). */
|
|
47
|
+
private hasEnvironment;
|
|
48
|
+
private skyboxSignature;
|
|
49
|
+
private fogSignature;
|
|
50
|
+
private lightingSignature;
|
|
29
51
|
private activeTexture;
|
|
52
|
+
/** Load key (`url`, or `equirect|url`) of the current/pending image skybox. */
|
|
30
53
|
private pendingImageUrl;
|
|
54
|
+
/** What the skybox wants as the background, before passthrough/env overrides. */
|
|
55
|
+
private skyboxBackground;
|
|
31
56
|
/** Whether the skybox is currently withheld because passthrough is on. */
|
|
32
57
|
private passthroughSuppressed;
|
|
58
|
+
private renderer;
|
|
59
|
+
private lighting;
|
|
60
|
+
/** URL of the environment map currently loaded or loading. */
|
|
61
|
+
private envUrl;
|
|
62
|
+
/** Incremented per env-map load; a load whose token is stale is discarded. */
|
|
63
|
+
private envLoadToken;
|
|
64
|
+
/** Equirect source texture of the current environment map. */
|
|
65
|
+
private envSource;
|
|
66
|
+
/**
|
|
67
|
+
* PMREM render target built from {@link envSource} (WebGL only; on WebGPU
|
|
68
|
+
* the renderer prefilters `scene.environment` itself and this stays null).
|
|
69
|
+
*/
|
|
70
|
+
private envTarget;
|
|
71
|
+
private sceneLightingBaseline;
|
|
72
|
+
private sceneBackgroundBaseline;
|
|
73
|
+
private disposed;
|
|
33
74
|
constructor(scene: THREE.Scene);
|
|
34
75
|
private disposeActiveTexture;
|
|
76
|
+
/** Write the background the current state calls for. */
|
|
77
|
+
private commitBackground;
|
|
78
|
+
private restoreBackgroundBaseline;
|
|
79
|
+
private setSkyboxBackground;
|
|
35
80
|
private applySkybox;
|
|
36
81
|
private applyFog;
|
|
82
|
+
private disposeEnvResources;
|
|
83
|
+
/** Drop the environment map (any in-flight load is abandoned). */
|
|
84
|
+
private clearEnvMap;
|
|
85
|
+
/**
|
|
86
|
+
* Undo everything the lighting block wrote to the scene and renderer.
|
|
87
|
+
* `commit` re-applies the background afterwards (off during teardown, which
|
|
88
|
+
* must not touch the background).
|
|
89
|
+
*/
|
|
90
|
+
private clearLighting;
|
|
91
|
+
/**
|
|
92
|
+
* PMREM-filter an equirect texture. `null` when no usable renderer exists,
|
|
93
|
+
* or on WebGPU: there the WebGL `PMREMGenerator` would silently produce a
|
|
94
|
+
* black map, while `WebGPURenderer` prefilters an equirect
|
|
95
|
+
* `scene.environment` (and a blurred background) by itself.
|
|
96
|
+
*/
|
|
97
|
+
private buildPmrem;
|
|
98
|
+
private loadEnvMap;
|
|
99
|
+
private applyEnvironmentParams;
|
|
100
|
+
private applyLighting;
|
|
101
|
+
private resetAll;
|
|
37
102
|
update(world: World): void;
|
|
38
103
|
dispose(): void;
|
|
39
104
|
}
|
|
40
105
|
|
|
106
|
+
/**
|
|
107
|
+
* Builds the post-processing chain from the scene's {@link Postprocessing}
|
|
108
|
+
* component and hands it to `RenderSystem` through `scene.userData`:
|
|
109
|
+
*
|
|
110
|
+
* - `ecsPostprocessingComposer` — the built chain (`render()`, `dispose()`,
|
|
111
|
+
* optional `setSize()` / `setPixelRatio()`). On WebGL it is the
|
|
112
|
+
* `EffectComposer` itself.
|
|
113
|
+
* - `ecsPostprocessingComposerActive` — `true` while `RenderSystem` should
|
|
114
|
+
* render through it.
|
|
115
|
+
* - `ecsPostprocessing` — the values the chain was built from.
|
|
116
|
+
*
|
|
117
|
+
* The chain itself comes from the world's render backend: an
|
|
118
|
+
* `EffectComposer` on WebGL (pass order: scene render → depth of field →
|
|
119
|
+
* bloom → vignette → hue/saturation → sepia → film noise → dot screen →
|
|
120
|
+
* SSAO → glitch → chromatic aberration → pixelation → SMAA → output), a
|
|
121
|
+
* `RenderPipeline` of TSL nodes with `webgpuBackend`. A backend that can
|
|
122
|
+
* update a chain in place (the WebGPU one) skips the rebuild when only
|
|
123
|
+
* parameters changed.
|
|
124
|
+
*
|
|
125
|
+
* The `toneMapping` effect has no pass of its own: when active it asks the
|
|
126
|
+
* renderer for tone mapping, which the chain's output step then applies. See
|
|
127
|
+
* `Environment.values.lighting.toneMapping` for how the two combine.
|
|
128
|
+
*
|
|
129
|
+
* @category Systems
|
|
130
|
+
*/
|
|
41
131
|
declare class PostprocessingSyncSystem implements EcsSystem {
|
|
42
132
|
private readonly renderer;
|
|
43
133
|
private readonly scene;
|
|
44
134
|
private readonly camera;
|
|
135
|
+
private readonly backend;
|
|
45
136
|
private signature;
|
|
137
|
+
/** Deep copy of the values the current chain reflects. */
|
|
138
|
+
private appliedValues;
|
|
46
139
|
private composer;
|
|
47
140
|
private composerEnabled;
|
|
48
|
-
|
|
141
|
+
/**
|
|
142
|
+
* @param backend - Builds the chain. When omitted, the world's backend
|
|
143
|
+
* (`world.getRenderBackend()`) is used.
|
|
144
|
+
*/
|
|
145
|
+
constructor(renderer: EcsRenderer, scene: THREE.Scene, camera: THREE.PerspectiveCamera, backend?: RenderBackend);
|
|
49
146
|
private setComposerEnabled;
|
|
50
147
|
private disposeComposer;
|
|
148
|
+
/** Ask the renderer for tone mapping while the effect is active. */
|
|
149
|
+
private applyToneMapping;
|
|
150
|
+
private resolveBackend;
|
|
51
151
|
private buildComposer;
|
|
152
|
+
/** Update the existing chain in place; `false` when it must be rebuilt. */
|
|
153
|
+
private tryUpdateInPlace;
|
|
52
154
|
update(world: World): void;
|
|
53
155
|
dispose(): void;
|
|
54
156
|
}
|
|
@@ -132,6 +234,20 @@ declare class InstancedMeshSystem implements EcsSystem {
|
|
|
132
234
|
/** Resolves a script URL to its ES module namespace. */
|
|
133
235
|
type ModuleLoader = (scriptUrl: string) => Promise<Record<string, unknown>>;
|
|
134
236
|
|
|
237
|
+
/**
|
|
238
|
+
* Seconds a Behaviour waits after an error (load, `init()` or `update()`)
|
|
239
|
+
* before it is re-initialised. Without the wait a script that throws every
|
|
240
|
+
* frame was torn down and rebuilt every frame.
|
|
241
|
+
*/
|
|
242
|
+
declare const DEFAULT_SCRIPT_ERROR_RETRY_DELAY = 1;
|
|
243
|
+
/** Options for {@link ScriptBehaviourSystem}. */
|
|
244
|
+
type ScriptBehaviourSystemOptions = {
|
|
245
|
+
/**
|
|
246
|
+
* Seconds to wait after a script error before re-initialising the script.
|
|
247
|
+
* Default {@link DEFAULT_SCRIPT_ERROR_RETRY_DELAY}.
|
|
248
|
+
*/
|
|
249
|
+
errorRetryDelay?: number;
|
|
250
|
+
};
|
|
135
251
|
/**
|
|
136
252
|
* Optional context that enables raycast-based onSelect / onDeselect dispatch.
|
|
137
253
|
* When provided, pointer/touch taps on the canvas fire a raycast against the
|
|
@@ -148,6 +264,11 @@ declare class ScriptBehaviourSystem implements EcsSystem {
|
|
|
148
264
|
private instances;
|
|
149
265
|
private loading;
|
|
150
266
|
private readonly moduleLoader;
|
|
267
|
+
private readonly errorRetryDelay;
|
|
268
|
+
/** Seconds of world time this system has seen (sum of `deltaTime`). */
|
|
269
|
+
private clock;
|
|
270
|
+
/** Instance key → clock time before which a failed script is not retried. */
|
|
271
|
+
private retryAt;
|
|
151
272
|
private readonly selectionCtx;
|
|
152
273
|
private readonly raycaster;
|
|
153
274
|
private readonly ndcPointer;
|
|
@@ -155,7 +276,7 @@ declare class ScriptBehaviourSystem implements EcsSystem {
|
|
|
155
276
|
private pendingEntityId;
|
|
156
277
|
private pointerDownPos;
|
|
157
278
|
private static readonly CLICK_THRESHOLD;
|
|
158
|
-
constructor(moduleLoader?: ModuleLoader, selectionContext?: SelectionContext);
|
|
279
|
+
constructor(moduleLoader?: ModuleLoader, selectionContext?: SelectionContext, options?: ScriptBehaviourSystemOptions);
|
|
159
280
|
/** Walk up the object hierarchy to find the nearest userData.entityId. */
|
|
160
281
|
private resolveEntityId;
|
|
161
282
|
/** Convert client (screen) coordinates to normalised device coordinates. */
|
|
@@ -170,6 +291,9 @@ declare class ScriptBehaviourSystem implements EcsSystem {
|
|
|
170
291
|
* onSelect() on all behaviours of the newly selected entity.
|
|
171
292
|
*/
|
|
172
293
|
private applySelection;
|
|
294
|
+
private reportRecordError;
|
|
295
|
+
/** Hold a failed script back for {@link errorRetryDelay} seconds. */
|
|
296
|
+
private scheduleRetry;
|
|
173
297
|
update(world: World, deltaTime: number): void;
|
|
174
298
|
dispose(world: World): void;
|
|
175
299
|
private loadBehaviour;
|
|
@@ -195,6 +319,8 @@ declare class ScriptObjectSystem implements EcsSystem {
|
|
|
195
319
|
private loading;
|
|
196
320
|
/** Bumped by invalidate*() so in-flight loads that predate it are discarded. */
|
|
197
321
|
private epoch;
|
|
322
|
+
/** World seen by the last update(), so invalidate*() can reset error dedupe. */
|
|
323
|
+
private lastWorld;
|
|
198
324
|
constructor(moduleLoader?: ModuleLoader);
|
|
199
325
|
update(world: World, deltaTime: number): void;
|
|
200
326
|
private loadScriptObject;
|
|
@@ -208,41 +334,6 @@ declare class ScriptObjectSystem implements EcsSystem {
|
|
|
208
334
|
dispose(world: World): void;
|
|
209
335
|
}
|
|
210
336
|
|
|
211
|
-
/**
|
|
212
|
-
* Reconciles `AudioComponent` state with the underlying THREE.js audio objects
|
|
213
|
-
* each frame.
|
|
214
|
-
*
|
|
215
|
-
* **Playback** — drives `play()`, `pause()`, and `stop()` on the THREE.js
|
|
216
|
-
* audio node based on the `isPlaying` / `isPaused` flags set by
|
|
217
|
-
* `AudioComponent.play()`, `.pause()`, and `.stop()`.
|
|
218
|
-
*
|
|
219
|
-
* **Option sync** — detects changes to `loop`, `pitch`, `volume`,
|
|
220
|
-
* `refDistance`, `distanceModel`, and `rolloffFactor` and applies them live.
|
|
221
|
-
* Changes take effect on the next frame, so scripts and inspector edits during
|
|
222
|
-
* runtime are reflected without reloading the scene.
|
|
223
|
-
*
|
|
224
|
-
* Only active in **preview** mode (`isEditor: true` makes every update a
|
|
225
|
-
* no-op so the editor is unaffected).
|
|
226
|
-
*
|
|
227
|
-
* @category Systems
|
|
228
|
-
*/
|
|
229
|
-
declare class AudioSystem implements EcsSystem {
|
|
230
|
-
private readonly isEditor;
|
|
231
|
-
/** THREE.js `isPlaying` state captured at the end of the previous frame. */
|
|
232
|
-
private readonly prevPlayingState;
|
|
233
|
-
/** Snapshot of options applied in the previous frame, for change detection. */
|
|
234
|
-
private readonly prevOptions;
|
|
235
|
-
/** Tracks entities that were stopped due to invisibility. */
|
|
236
|
-
private readonly stoppedDueToInvisibility;
|
|
237
|
-
constructor({ isEditor }?: {
|
|
238
|
-
isEditor?: boolean;
|
|
239
|
-
});
|
|
240
|
-
update(world: World, _deltaTime: number): void;
|
|
241
|
-
/** Apply any changed options from the component to the THREE.js audio node. */
|
|
242
|
-
private _syncOptions;
|
|
243
|
-
dispose(_world: World): void;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
337
|
/**
|
|
247
338
|
* Reconciles `VideoComponent` state with the underlying HTML video element
|
|
248
339
|
* and THREE.js mesh/material each frame.
|
|
@@ -252,8 +343,10 @@ declare class AudioSystem implements EcsSystem {
|
|
|
252
343
|
* by `VideoComponent.play()`, `.pause()`, and `.stop()`.
|
|
253
344
|
*
|
|
254
345
|
* **Option sync** — detects changes to `loop`, `volume`, `width`, `height`,
|
|
255
|
-
* and green-screen
|
|
256
|
-
* `
|
|
346
|
+
* and green-screen keying (`backgroundColor`, `similarity`, `smoothness`,
|
|
347
|
+
* `spill`) and applies them live without a scene reload. The keying material
|
|
348
|
+
* belongs to the world's render backend (GLSL on WebGL, TSL with
|
|
349
|
+
* `webgpuBackend`), which updates it.
|
|
257
350
|
*
|
|
258
351
|
* Only active in **preview** mode (`isEditor: true` makes every update a
|
|
259
352
|
* no-op so the editor is unaffected).
|
|
@@ -830,7 +923,8 @@ declare class UIInteractionSystem implements EcsSystem {
|
|
|
830
923
|
private readonly inputSystem;
|
|
831
924
|
private readonly xrPresses;
|
|
832
925
|
private mousePress;
|
|
833
|
-
|
|
926
|
+
/** What each pointer is on. Two hands can rest on one widget. */
|
|
927
|
+
private readonly hovers;
|
|
834
928
|
/** entityId → seconds of pressed-tint left to display. */
|
|
835
929
|
private readonly tintFloors;
|
|
836
930
|
private readonly tinted;
|
|
@@ -845,6 +939,8 @@ declare class UIInteractionSystem implements EcsSystem {
|
|
|
845
939
|
});
|
|
846
940
|
update(world: World, deltaTime?: number): void;
|
|
847
941
|
private updateXr;
|
|
942
|
+
/** A transient source leaves with no select edge to clear its hover. */
|
|
943
|
+
private dropGoneXrHovers;
|
|
848
944
|
private updateMouse;
|
|
849
945
|
private raycastMouse;
|
|
850
946
|
private widgetKind;
|
|
@@ -862,6 +958,9 @@ declare class UIInteractionSystem implements EcsSystem {
|
|
|
862
958
|
*/
|
|
863
959
|
private dispatchBubbling;
|
|
864
960
|
private actionIdOf;
|
|
961
|
+
private setHover;
|
|
962
|
+
private hoverCount;
|
|
963
|
+
private isHovered;
|
|
865
964
|
private beginPressTint;
|
|
866
965
|
private endPressTint;
|
|
867
966
|
private updateTints;
|
|
@@ -895,6 +994,10 @@ type UiCanvasLike = {
|
|
|
895
994
|
declare class UIPanelSystem implements EcsSystem {
|
|
896
995
|
private readonly entries;
|
|
897
996
|
private readonly createCanvas;
|
|
997
|
+
private framesUntilDescendantWalk;
|
|
998
|
+
/** Whether any panel defines tokens, so plain scenes skip the parent walk. */
|
|
999
|
+
private anyTokens;
|
|
1000
|
+
private readonly drawAssets;
|
|
898
1001
|
constructor(options?: {
|
|
899
1002
|
createCanvas?: () => UiCanvasLike;
|
|
900
1003
|
});
|
|
@@ -905,7 +1008,16 @@ declare class UIPanelSystem implements EcsSystem {
|
|
|
905
1008
|
private syncText;
|
|
906
1009
|
private syncButton;
|
|
907
1010
|
private syncToggle;
|
|
1011
|
+
/** Checkbox and radio: a box or ring at the left of the widget's area. */
|
|
1012
|
+
private syncMarkToggle;
|
|
908
1013
|
private syncSlider;
|
|
1014
|
+
/**
|
|
1015
|
+
* Progress bars and rings. Unlike a slider these change rarely and have no
|
|
1016
|
+
* drag to keep smooth, so the value is drawn, in steps of half a percent.
|
|
1017
|
+
*/
|
|
1018
|
+
private syncMeter;
|
|
1019
|
+
/** The tokens in scope for a widget, nearest panel first. */
|
|
1020
|
+
private tokensFor;
|
|
909
1021
|
private rebuildIfChanged;
|
|
910
1022
|
private configureTexture;
|
|
911
1023
|
private makeQuad;
|
|
@@ -922,6 +1034,12 @@ declare class UIPanelSystem implements EcsSystem {
|
|
|
922
1034
|
* authored rotation stay in charge while authoring.
|
|
923
1035
|
*/
|
|
924
1036
|
private applyFollow;
|
|
1037
|
+
/**
|
|
1038
|
+
* Stamp every widget's meshes with this frame's paint order. Written each
|
|
1039
|
+
* frame because the eye moves: the order between trees can change at any
|
|
1040
|
+
* time, and a plain property write costs less than checking it.
|
|
1041
|
+
*/
|
|
1042
|
+
private applyPaintOrder;
|
|
925
1043
|
private destroyEntry;
|
|
926
1044
|
}
|
|
927
1045
|
|
|
@@ -1174,4 +1292,4 @@ declare class XRHoverVisualSystem implements EcsSystem {
|
|
|
1174
1292
|
dispose(): void;
|
|
1175
1293
|
}
|
|
1176
1294
|
|
|
1177
|
-
export { AnimationSystem as A, type XrInputKind as B, CameraSyncSystem as C,
|
|
1295
|
+
export { AnimationSystem as A, type XrInputKind as B, CameraSyncSystem as C, DEFAULT_SCRIPT_ERROR_RETRY_DELAY as D, EnvironmentSyncSystem as E, readXrCapabilities as F, InstancedMeshSystem as I, LightSyncSystem as L, MaterialSyncSystem as M, NO_XR_CAPABILITIES as N, ObjectVisibilitySystem as O, PhysicsSyncSystem as P, SCRIPT_OBJECT_ROOT_FLAG as S, UIInteractionSystem as U, VRTeleportAreaSystem as V, type XrCapabilities as X, type XrInputState as a, type XrHandPoseEventDetail as b, MeshGeometrySystem as c, type ModuleLoader as d, PostprocessingSyncSystem as e, ScriptBehaviourSystem as f, type ScriptBehaviourSystemOptions as g, ScriptObjectSystem as h, type SelectionContext as i, UIPanelSystem as j, type UiCanvasLike as k, VideoSystem as l, XRAnchorSystem as m, XRControllerVisualSystem as n, XREnvironmentSystem as o, XRHandPoseSystem as p, XRHitTestSystem as q, XRHoverVisualSystem as r, XRInputSystem as s, XRInteractionSystem as t, XRLocomotionSystem as u, XRSessionSystem as v, XRTeleportVisualSystem as w, XR_HOVER_SHELL_FLAG as x, type XrHandedness as y, type XrHitResult as z };
|