@relu-interactives/spatial-ecs 0.5.2 → 0.8.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-G0Dl-F0w.d.ts} +93 -3
- package/dist/{XRHandPose-CQTLGxFC.d.cts → XRHandPose-VQMT1WXj.d.cts} +93 -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-G4XJ53LS.js +1237 -0
- package/dist/chunk-G4XJ53LS.js.map +1 -0
- package/dist/chunk-GSWC6LLD.js +241 -0
- package/dist/chunk-GSWC6LLD.js.map +1 -0
- package/dist/{chunk-DF5SSRN6.js → chunk-JIJQFW6P.js} +1216 -2920
- package/dist/chunk-JIJQFW6P.js.map +1 -0
- package/dist/{chunk-BUEKOSR5.js → chunk-NNDUOQ7O.js} +188 -14
- package/dist/chunk-NNDUOQ7O.js.map +1 -0
- package/dist/chunk-OHCNPPMX.js +334 -0
- package/dist/chunk-OHCNPPMX.js.map +1 -0
- package/dist/{chunk-RXBLOO5B.js → chunk-SGF73YTF.js} +105 -715
- package/dist/chunk-SGF73YTF.js.map +1 -0
- package/dist/chunk-U727NTWQ.js +2856 -0
- package/dist/chunk-U727NTWQ.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 +183 -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/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 +770 -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-D2Jt_JzH.d.ts → index-C61n65PE.d.ts} +135 -42
- package/dist/{index-DaG03vyN.d.cts → index-C70N4BYG.d.cts} +135 -42
- package/dist/{index-C3ik3sA1.d.ts → index-D9DjrUn3.d.cts} +25 -3
- package/dist/{index-Dlr-7-4m.d.cts → index-DppafVu4.d.ts} +25 -3
- package/dist/index.cjs +3642 -1263
- 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 +4896 -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 +3958 -1762
- 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
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: VideoComponent
|
|
8
8
|
|
|
9
|
-
Defined in: [components/Video.ts:37](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
9
|
+
Defined in: [components/Video.ts:37](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L37)
|
|
10
10
|
|
|
11
11
|
Plays a video file as a texture on a quad. Supports green-screen keying
|
|
12
12
|
(`isGreenScreen`, `backgroundColor`, `similarity`, `smoothness`, `spill`).
|
|
@@ -25,7 +25,7 @@ when the project loads.
|
|
|
25
25
|
new VideoComponent(path, options?): VideoComponent;
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
Defined in: [components/Video.ts:90](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
28
|
+
Defined in: [components/Video.ts:90](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L90)
|
|
29
29
|
|
|
30
30
|
#### Parameters
|
|
31
31
|
|
|
@@ -46,29 +46,29 @@ Defined in: [components/Video.ts:90](https://github.com/Relu-Interactives/relu-s
|
|
|
46
46
|
|
|
47
47
|
| Property | Type | Description | Defined in |
|
|
48
48
|
| ------ | ------ | ------ | ------ |
|
|
49
|
-
| <a id="path"></a> `path` | `string` | Source URL or `localasset://` path of the video file. | [components/Video.ts:39](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
50
|
-
| <a id="options"></a> `options` | \{ `autoplay`: `boolean`; `loop`: `boolean`; `volume`: `number`; `width`: `number`; `height`: `number`; `isGreenScreen`: `boolean`; `backgroundColor`: `string`; `similarity`: `number`; `smoothness`: `number`; `spill`: `number`; `positional`: `boolean`; `refDistance`: `number`; `distanceModel`: `string`; `rolloffFactor`: `number`; \} | Playback + green-screen options. | Field | Default | Description | |---|---|---| | `autoplay` | `false` | Start playback as soon as the video is ready. | | `loop` | `true` | Loop playback indefinitely. | | `volume` | `1` | Linear gain in `[0, 1]`. | | `width` | `1` | Quad width in world units. | | `height` | `1` | Quad height in world units. | | `isGreenScreen` | `false` | Enable chroma keying using the fields below. | | `backgroundColor` | `"#00ff00"` | Color to key out (CSS color string). | | `similarity` | `0.4` | How close a pixel must be to the key to be removed (`0`–`1`). | | `smoothness` | `0.08` | Soft-edge thickness around the key threshold. | | `spill` | `0.12` | Amount of color spill suppression near edges. | | `positional` | `false` | When `true`, the video's audio stream is spatialized using the entity's 3D position. | | `refDistance` | `1` | Distance at which volume is unattenuated (positional only). | | `distanceModel` | `"inverse"` | WebAudio distance model (`linear`, `inverse`, `exponential`). Positional only. | | `rolloffFactor` | `1` | How quickly volume falls off past `refDistance`. Positional only. | | [components/Video.ts:60](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
51
|
-
| `options.autoplay` | `boolean` | - | [components/Video.ts:9](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
52
|
-
| `options.loop` | `boolean` | - | [components/Video.ts:10](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
53
|
-
| `options.volume` | `number` | - | [components/Video.ts:11](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
54
|
-
| `options.width` | `number` | - | [components/Video.ts:12](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
55
|
-
| `options.height` | `number` | - | [components/Video.ts:13](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
56
|
-
| `options.isGreenScreen` | `boolean` | - | [components/Video.ts:14](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
57
|
-
| `options.backgroundColor` | `string` | - | [components/Video.ts:15](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
58
|
-
| `options.similarity` | `number` | - | [components/Video.ts:16](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
59
|
-
| `options.smoothness` | `number` | - | [components/Video.ts:17](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
60
|
-
| `options.spill` | `number` | - | [components/Video.ts:18](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
61
|
-
| `options.positional` | `boolean` | When `true`, the video's audio stream is spatialized using the entity's transform. | [components/Video.ts:20](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
62
|
-
| `options.refDistance` | `number` | Distance at which volume is unattenuated (positional only). | [components/Video.ts:22](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
63
|
-
| `options.distanceModel` | `string` | WebAudio distance model (`linear`, `inverse`, `exponential`). Positional only. | [components/Video.ts:24](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
64
|
-
| `options.rolloffFactor` | `number` | How quickly volume falls off past `refDistance`. Positional only. | [components/Video.ts:26](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
65
|
-
| <a id="object"></a> `object` | `Object3D`\<`Object3DEventMap`\> \| `null` | Live three.js object hosting the video quad. `null` until built. | [components/Video.ts:62](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
66
|
-
| <a id="videoelement"></a> `videoElement` | `HTMLVideoElement` \| `null` | Underlying HTML video element. `null` until built. | [components/Video.ts:64](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
67
|
-
| <a id="texture"></a> `texture` | `VideoTexture
|
|
68
|
-
| <a id="material"></a> `material` | `Material
|
|
69
|
-
| <a id="audionode"></a> `audioNode` | `Audio`\<`GainNode`\> \| `PositionalAudio` \| `null` | THREE.js audio node connected to this video's audio stream via `setMediaElementSource`. Present only in preview when the camera listener is available. `null` in editor mode. | [components/Video.ts:74](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
70
|
-
| <a id="isplaying"></a> `isPlaying` | `boolean` | Whether the video should be playing. Managed by `VideoSystem` in preview. Non-enumerable — not persisted to snapshots or save data. Set via [play](#play) / [stop](#stop). | [components/Video.ts:81](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
71
|
-
| <a id="ispaused"></a> `isPaused` | `boolean` | Whether the video is paused mid-playback (position is preserved). Non-enumerable — not persisted to snapshots or save data. Set via [pause](#pause) / [play](#play) / [stop](#stop). | [components/Video.ts:88](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
49
|
+
| <a id="path"></a> `path` | `string` | Source URL or `localasset://` path of the video file. | [components/Video.ts:39](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L39) |
|
|
50
|
+
| <a id="options"></a> `options` | \{ `autoplay`: `boolean`; `loop`: `boolean`; `volume`: `number`; `width`: `number`; `height`: `number`; `isGreenScreen`: `boolean`; `backgroundColor`: `string`; `similarity`: `number`; `smoothness`: `number`; `spill`: `number`; `positional`: `boolean`; `refDistance`: `number`; `distanceModel`: `string`; `rolloffFactor`: `number`; \} | Playback + green-screen options. | Field | Default | Description | |---|---|---| | `autoplay` | `false` | Start playback as soon as the video is ready. | | `loop` | `true` | Loop playback indefinitely. | | `volume` | `1` | Linear gain in `[0, 1]`. | | `width` | `1` | Quad width in world units. | | `height` | `1` | Quad height in world units. | | `isGreenScreen` | `false` | Enable chroma keying using the fields below. | | `backgroundColor` | `"#00ff00"` | Color to key out (CSS color string). | | `similarity` | `0.4` | How close a pixel must be to the key to be removed (`0`–`1`). | | `smoothness` | `0.08` | Soft-edge thickness around the key threshold. | | `spill` | `0.12` | Amount of color spill suppression near edges. | | `positional` | `false` | When `true`, the video's audio stream is spatialized using the entity's 3D position. | | `refDistance` | `1` | Distance at which volume is unattenuated (positional only). | | `distanceModel` | `"inverse"` | WebAudio distance model (`linear`, `inverse`, `exponential`). Positional only. | | `rolloffFactor` | `1` | How quickly volume falls off past `refDistance`. Positional only. | | [components/Video.ts:60](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L60) |
|
|
51
|
+
| `options.autoplay` | `boolean` | - | [components/Video.ts:9](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L9) |
|
|
52
|
+
| `options.loop` | `boolean` | - | [components/Video.ts:10](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L10) |
|
|
53
|
+
| `options.volume` | `number` | - | [components/Video.ts:11](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L11) |
|
|
54
|
+
| `options.width` | `number` | - | [components/Video.ts:12](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L12) |
|
|
55
|
+
| `options.height` | `number` | - | [components/Video.ts:13](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L13) |
|
|
56
|
+
| `options.isGreenScreen` | `boolean` | - | [components/Video.ts:14](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L14) |
|
|
57
|
+
| `options.backgroundColor` | `string` | - | [components/Video.ts:15](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L15) |
|
|
58
|
+
| `options.similarity` | `number` | - | [components/Video.ts:16](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L16) |
|
|
59
|
+
| `options.smoothness` | `number` | - | [components/Video.ts:17](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L17) |
|
|
60
|
+
| `options.spill` | `number` | - | [components/Video.ts:18](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L18) |
|
|
61
|
+
| `options.positional` | `boolean` | When `true`, the video's audio stream is spatialized using the entity's transform. | [components/Video.ts:20](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L20) |
|
|
62
|
+
| `options.refDistance` | `number` | Distance at which volume is unattenuated (positional only). | [components/Video.ts:22](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L22) |
|
|
63
|
+
| `options.distanceModel` | `string` | WebAudio distance model (`linear`, `inverse`, `exponential`). Positional only. | [components/Video.ts:24](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L24) |
|
|
64
|
+
| `options.rolloffFactor` | `number` | How quickly volume falls off past `refDistance`. Positional only. | [components/Video.ts:26](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L26) |
|
|
65
|
+
| <a id="object"></a> `object` | `Object3D`\<`Object3DEventMap`\> \| `null` | Live three.js object hosting the video quad. `null` until built. | [components/Video.ts:62](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L62) |
|
|
66
|
+
| <a id="videoelement"></a> `videoElement` | `HTMLVideoElement` \| `null` | Underlying HTML video element. `null` until built. | [components/Video.ts:64](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L64) |
|
|
67
|
+
| <a id="texture"></a> `texture` | `VideoTexture`\<`HTMLVideoElement`\> \| `null` | Three.js texture sampling the video element. `null` until built. | [components/Video.ts:66](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L66) |
|
|
68
|
+
| <a id="material"></a> `material` | `Material`\<`MaterialEventMap`\> \| `null` | Material rendering the video texture (with green-screen shader when enabled). `null` until built. | [components/Video.ts:68](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L68) |
|
|
69
|
+
| <a id="audionode"></a> `audioNode` | `Audio`\<`GainNode`\> \| `PositionalAudio` \| `null` | THREE.js audio node connected to this video's audio stream via `setMediaElementSource`. Present only in preview when the camera listener is available. `null` in editor mode. | [components/Video.ts:74](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L74) |
|
|
70
|
+
| <a id="isplaying"></a> `isPlaying` | `boolean` | Whether the video should be playing. Managed by `VideoSystem` in preview. Non-enumerable — not persisted to snapshots or save data. Set via [play](#play) / [stop](#stop). | [components/Video.ts:81](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L81) |
|
|
71
|
+
| <a id="ispaused"></a> `isPaused` | `boolean` | Whether the video is paused mid-playback (position is preserved). Non-enumerable — not persisted to snapshots or save data. Set via [pause](#pause) / [play](#play) / [stop](#stop). | [components/Video.ts:88](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L88) |
|
|
72
72
|
|
|
73
73
|
## Methods
|
|
74
74
|
|
|
@@ -78,7 +78,7 @@ Defined in: [components/Video.ts:90](https://github.com/Relu-Interactives/relu-s
|
|
|
78
78
|
play(): void;
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
-
Defined in: [components/Video.ts:127](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
81
|
+
Defined in: [components/Video.ts:127](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L127)
|
|
82
82
|
|
|
83
83
|
Signals `VideoSystem` to start (or resume) playback.
|
|
84
84
|
Has no direct effect in the editor — `VideoSystem` drives the actual
|
|
@@ -96,7 +96,7 @@ HTML video element call in preview.
|
|
|
96
96
|
pause(): void;
|
|
97
97
|
```
|
|
98
98
|
|
|
99
|
-
Defined in: [components/Video.ts:137](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
99
|
+
Defined in: [components/Video.ts:137](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L137)
|
|
100
100
|
|
|
101
101
|
Signals `VideoSystem` to pause playback, preserving the current position.
|
|
102
102
|
Calling [play](#play) afterwards resumes from where it paused.
|
|
@@ -114,7 +114,7 @@ No-op if not currently playing.
|
|
|
114
114
|
stop(): void;
|
|
115
115
|
```
|
|
116
116
|
|
|
117
|
-
Defined in: [components/Video.ts:146](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/
|
|
117
|
+
Defined in: [components/Video.ts:146](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/Video.ts#L146)
|
|
118
118
|
|
|
119
119
|
Signals `VideoSystem` to stop playback and reset the playback position.
|
|
120
120
|
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
[**@relu-interactives/spatial-ecs**](../../index.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XRAnchorComponent
|
|
6
|
+
|
|
7
|
+
# Class: XRAnchorComponent
|
|
8
|
+
|
|
9
|
+
Defined in: [components/XRAnchor.ts:33](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRAnchor.ts#L33)
|
|
10
|
+
|
|
11
|
+
Pins an entity to a real-world position.
|
|
12
|
+
|
|
13
|
+
A headset's idea of where the room is keeps being refined while a session
|
|
14
|
+
runs — it re-recognises the space, corrects drift, and quietly shifts its
|
|
15
|
+
coordinate system by a few centimetres. Content placed at fixed scene
|
|
16
|
+
coordinates does not move with those corrections, so a vase carefully set on a
|
|
17
|
+
real table gradually slides off it.
|
|
18
|
+
|
|
19
|
+
An anchor is the runtime's own handle on a point in the room. Attaching this
|
|
20
|
+
component hands the entity's pose over to that handle, so the entity moves
|
|
21
|
+
exactly as the runtime's understanding of the room moves and stays put
|
|
22
|
+
relative to the real world.
|
|
23
|
+
|
|
24
|
+
Because the anchor OWNS the transform once created, moving the entity by
|
|
25
|
+
script or by physics has no lasting effect — release it first if you want to
|
|
26
|
+
move it, then re-anchor.
|
|
27
|
+
|
|
28
|
+
Anchors last only as long as the session. Persisting one across launches
|
|
29
|
+
needs `requestPersistentHandle`, which is still a draft extension and not
|
|
30
|
+
supported here.
|
|
31
|
+
|
|
32
|
+
## Extends
|
|
33
|
+
|
|
34
|
+
- [`Component`](../../Component/classes/Component.md)
|
|
35
|
+
|
|
36
|
+
## Constructors
|
|
37
|
+
|
|
38
|
+
### Constructor
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
new XRAnchorComponent(options?): XRAnchorComponent;
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Defined in: [components/XRAnchor.ts:37](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRAnchor.ts#L37)
|
|
45
|
+
|
|
46
|
+
#### Parameters
|
|
47
|
+
|
|
48
|
+
| Parameter | Type |
|
|
49
|
+
| ------ | ------ |
|
|
50
|
+
| `options?` | [`XRAnchorOptions`](../type-aliases/XRAnchorOptions.md) |
|
|
51
|
+
|
|
52
|
+
#### Returns
|
|
53
|
+
|
|
54
|
+
`XRAnchorComponent`
|
|
55
|
+
|
|
56
|
+
#### Overrides
|
|
57
|
+
|
|
58
|
+
[`Component`](../../Component/classes/Component.md).[`constructor`](../../Component/classes/Component.md#constructor)
|
|
59
|
+
|
|
60
|
+
## Properties
|
|
61
|
+
|
|
62
|
+
| Property | Type | Description | Defined in |
|
|
63
|
+
| ------ | ------ | ------ | ------ |
|
|
64
|
+
| <a id="enabled"></a> `enabled` | `boolean` | Whether the entity should anchor. Turning this off releases the anchor. | [components/XRAnchor.ts:35](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRAnchor.ts#L35) |
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
[**@relu-interactives/spatial-ecs**](../../index.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XREnvironmentComponent
|
|
6
|
+
|
|
7
|
+
# Class: XREnvironmentComponent
|
|
8
|
+
|
|
9
|
+
Defined in: [components/XREnvironment.ts:26](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XREnvironment.ts#L26)
|
|
10
|
+
|
|
11
|
+
Marks an entity as a piece of the user's REAL room, detected at runtime.
|
|
12
|
+
|
|
13
|
+
These entities are spawned by `XREnvironmentSystem` from WebXR plane and mesh
|
|
14
|
+
detection — they are never authored, never saved, and vanish with the session.
|
|
15
|
+
They exist as ordinary entities (rather than colliders hidden inside a system)
|
|
16
|
+
so the normal physics pipeline builds their colliders, and so scripts can find
|
|
17
|
+
them with a plain `world.query(XREnvironmentComponent)`.
|
|
18
|
+
|
|
19
|
+
`semanticLabel` is what makes them useful to a game rather than just solid:
|
|
20
|
+
it is how a script says "spawn the target on a WALL" or "only drop coins on the
|
|
21
|
+
FLOOR". It is whatever the runtime reported — commonly `floor`, `wall`,
|
|
22
|
+
`ceiling`, `table`, `desk`, `couch`, `door`, `window` — and is `null` on
|
|
23
|
+
runtimes that classify nothing, so always handle the null case.
|
|
24
|
+
|
|
25
|
+
## Extends
|
|
26
|
+
|
|
27
|
+
- [`Component`](../../Component/classes/Component.md)
|
|
28
|
+
|
|
29
|
+
## Constructors
|
|
30
|
+
|
|
31
|
+
### Constructor
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
new XREnvironmentComponent(
|
|
35
|
+
kind,
|
|
36
|
+
semanticLabel?,
|
|
37
|
+
orientation?): XREnvironmentComponent;
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Defined in: [components/XREnvironment.ts:34](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XREnvironment.ts#L34)
|
|
41
|
+
|
|
42
|
+
#### Parameters
|
|
43
|
+
|
|
44
|
+
| Parameter | Type | Default value |
|
|
45
|
+
| ------ | ------ | ------ |
|
|
46
|
+
| `kind` | [`XrEnvironmentKind`](../type-aliases/XrEnvironmentKind.md) | `undefined` |
|
|
47
|
+
| `semanticLabel` | `string` \| `null` | `null` |
|
|
48
|
+
| `orientation` | \| [`XrEnvironmentOrientation`](../type-aliases/XrEnvironmentOrientation.md) \| `null` | `null` |
|
|
49
|
+
|
|
50
|
+
#### Returns
|
|
51
|
+
|
|
52
|
+
`XREnvironmentComponent`
|
|
53
|
+
|
|
54
|
+
#### Overrides
|
|
55
|
+
|
|
56
|
+
[`Component`](../../Component/classes/Component.md).[`constructor`](../../Component/classes/Component.md#constructor)
|
|
57
|
+
|
|
58
|
+
## Properties
|
|
59
|
+
|
|
60
|
+
| Property | Type | Description | Defined in |
|
|
61
|
+
| ------ | ------ | ------ | ------ |
|
|
62
|
+
| <a id="kind"></a> `kind` | [`XrEnvironmentKind`](../type-aliases/XrEnvironmentKind.md) | Whether this came from plane detection or the room mesh. | [components/XREnvironment.ts:28](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XREnvironment.ts#L28) |
|
|
63
|
+
| <a id="semanticlabel"></a> `semanticLabel` | `string` \| `null` | The runtime's classification, or `null` when it did not provide one. | [components/XREnvironment.ts:30](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XREnvironment.ts#L30) |
|
|
64
|
+
| <a id="orientation"></a> `orientation` | \| [`XrEnvironmentOrientation`](../type-aliases/XrEnvironmentOrientation.md) \| `null` | Plane orientation, or `null` for mesh geometry and unclassified planes. | [components/XREnvironment.ts:32](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XREnvironment.ts#L32) |
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
[**@relu-interactives/spatial-ecs**](../../index.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XRHandPoseComponent
|
|
6
|
+
|
|
7
|
+
# Class: XRHandPoseComponent
|
|
8
|
+
|
|
9
|
+
Defined in: [components/XRHandPose.ts:135](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRHandPose.ts#L135)
|
|
10
|
+
|
|
11
|
+
Listens for hand poses and reports them to the entity's Behaviours.
|
|
12
|
+
|
|
13
|
+
Attached to any entity that wants to react to a gesture — the poses are
|
|
14
|
+
detected on the user's hands, not on the entity, so this is a subscription
|
|
15
|
+
rather than a property of the object itself.
|
|
16
|
+
|
|
17
|
+
## Extends
|
|
18
|
+
|
|
19
|
+
- [`Component`](../../Component/classes/Component.md)
|
|
20
|
+
|
|
21
|
+
## Constructors
|
|
22
|
+
|
|
23
|
+
### Constructor
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
new XRHandPoseComponent(options?): XRHandPoseComponent;
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Defined in: [components/XRHandPose.ts:139](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRHandPose.ts#L139)
|
|
30
|
+
|
|
31
|
+
#### Parameters
|
|
32
|
+
|
|
33
|
+
| Parameter | Type |
|
|
34
|
+
| ------ | ------ |
|
|
35
|
+
| `options?` | [`XRHandPoseOptions`](../type-aliases/XRHandPoseOptions.md) |
|
|
36
|
+
|
|
37
|
+
#### Returns
|
|
38
|
+
|
|
39
|
+
`XRHandPoseComponent`
|
|
40
|
+
|
|
41
|
+
#### Overrides
|
|
42
|
+
|
|
43
|
+
[`Component`](../../Component/classes/Component.md).[`constructor`](../../Component/classes/Component.md#constructor)
|
|
44
|
+
|
|
45
|
+
## Properties
|
|
46
|
+
|
|
47
|
+
| Property | Type | Defined in |
|
|
48
|
+
| ------ | ------ | ------ |
|
|
49
|
+
| <a id="enabled"></a> `enabled` | `boolean` | [components/XRHandPose.ts:136](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRHandPose.ts#L136) |
|
|
50
|
+
| <a id="poses"></a> `poses` | [`XrHandPoseEntry`](../type-aliases/XrHandPoseEntry.md)[] | [components/XRHandPose.ts:137](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRHandPose.ts#L137) |
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
[**@relu-interactives/spatial-ecs**](../../index.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XRInteractableComponent
|
|
6
|
+
|
|
7
|
+
# Class: XRInteractableComponent
|
|
8
|
+
|
|
9
|
+
Defined in: [components/XRInteractable.ts:123](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L123)
|
|
10
|
+
|
|
11
|
+
Makes an entity respond to XR pointers and hands.
|
|
12
|
+
|
|
13
|
+
Split into `pointable` and `grabbable` because they are different
|
|
14
|
+
affordances: a wall panel should receive select events without being
|
|
15
|
+
liftable, while a physics prop should be both.
|
|
16
|
+
|
|
17
|
+
## Extends
|
|
18
|
+
|
|
19
|
+
- [`Component`](../../Component/classes/Component.md)
|
|
20
|
+
|
|
21
|
+
## Constructors
|
|
22
|
+
|
|
23
|
+
### Constructor
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
new XRInteractableComponent(options?): XRInteractableComponent;
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Defined in: [components/XRInteractable.ts:168](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L168)
|
|
30
|
+
|
|
31
|
+
#### Parameters
|
|
32
|
+
|
|
33
|
+
| Parameter | Type |
|
|
34
|
+
| ------ | ------ |
|
|
35
|
+
| `options?` | [`XRInteractableOptions`](../type-aliases/XRInteractableOptions.md) |
|
|
36
|
+
|
|
37
|
+
#### Returns
|
|
38
|
+
|
|
39
|
+
`XRInteractableComponent`
|
|
40
|
+
|
|
41
|
+
#### Overrides
|
|
42
|
+
|
|
43
|
+
[`Component`](../../Component/classes/Component.md).[`constructor`](../../Component/classes/Component.md#constructor)
|
|
44
|
+
|
|
45
|
+
## Properties
|
|
46
|
+
|
|
47
|
+
| Property | Type | Description | Defined in |
|
|
48
|
+
| ------ | ------ | ------ | ------ |
|
|
49
|
+
| <a id="enabled"></a> `enabled` | `boolean` | - | [components/XRInteractable.ts:124](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L124) |
|
|
50
|
+
| <a id="grabbable"></a> `grabbable` | `boolean` | - | [components/XRInteractable.ts:125](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L125) |
|
|
51
|
+
| <a id="pointable"></a> `pointable` | `boolean` | - | [components/XRInteractable.ts:126](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L126) |
|
|
52
|
+
| <a id="grabreach"></a> `grabReach` | [`XrGrabReach`](../type-aliases/XrGrabReach.md) | Whether the object can be grabbed up close, at range, or either. | [components/XRInteractable.ts:128](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L128) |
|
|
53
|
+
| <a id="distancebehavior"></a> `distanceBehavior` | [`XrDistanceGrabBehavior`](../type-aliases/XrDistanceGrabBehavior.md) | What a distance grab does — bring it here, or manipulate it in place. | [components/XRInteractable.ts:130](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L130) |
|
|
54
|
+
| <a id="grabgesture"></a> `grabGesture` | [`XrGrabGesture`](../type-aliases/XrGrabGesture.md) | Which gesture grabs it. | [components/XRInteractable.ts:132](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L132) |
|
|
55
|
+
| <a id="grabradius"></a> `grabRadius` | `number` | Metres within which a physical grab registers. | [components/XRInteractable.ts:134](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L134) |
|
|
56
|
+
| <a id="graboffsetposition"></a> `grabOffsetPosition` | \{ `x`: `number`; `y`: `number`; `z`: `number`; \} | Position offset from the hand while held. | [components/XRInteractable.ts:136](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L136) |
|
|
57
|
+
| `grabOffsetPosition.x` | `number` | - | [components/XRInteractable.ts:136](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L136) |
|
|
58
|
+
| `grabOffsetPosition.y` | `number` | - | [components/XRInteractable.ts:136](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L136) |
|
|
59
|
+
| `grabOffsetPosition.z` | `number` | - | [components/XRInteractable.ts:136](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L136) |
|
|
60
|
+
| <a id="graboffsetrotation"></a> `grabOffsetRotation` | \{ `x`: `number`; `y`: `number`; `z`: `number`; \} | Rotation offset (radians) while held. | [components/XRInteractable.ts:138](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L138) |
|
|
61
|
+
| `grabOffsetRotation.x` | `number` | - | [components/XRInteractable.ts:138](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L138) |
|
|
62
|
+
| `grabOffsetRotation.y` | `number` | - | [components/XRInteractable.ts:138](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L138) |
|
|
63
|
+
| `grabOffsetRotation.z` | `number` | - | [components/XRInteractable.ts:138](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L138) |
|
|
64
|
+
| <a id="grabhands"></a> `grabHands` | [`XrGrabHands`](../type-aliases/XrGrabHands.md) | How many hands may hold it, and whether a second grab transfers it. | [components/XRInteractable.ts:140](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L140) |
|
|
65
|
+
| <a id="twohandrotation"></a> `twoHandRotation` | [`XrTwoHandRotation`](../type-aliases/XrTwoHandRotation.md) | Whether the second hand aims the object or only scales it. | [components/XRInteractable.ts:142](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L142) |
|
|
66
|
+
| <a id="allowtwohandscale"></a> `allowTwoHandScale` | `boolean` | Whether a two-hand grab may resize the object. | [components/XRInteractable.ts:144](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L144) |
|
|
67
|
+
| <a id="minscale"></a> `minScale` | `number` | Scale floor for one gesture, as a fraction of the size at grab time. | [components/XRInteractable.ts:146](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L146) |
|
|
68
|
+
| <a id="maxscale"></a> `maxScale` | `number` | Scale ceiling for one gesture, as a multiple of the size at grab time. | [components/XRInteractable.ts:148](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L148) |
|
|
69
|
+
| <a id="attachpoints"></a> `attachPoints` | [`XrAttachPoint`](../type-aliases/XrAttachPoint.md)[] | Authored hand-holds; empty means grab anywhere. | [components/XRInteractable.ts:150](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L150) |
|
|
70
|
+
| <a id="applyvelocityonrelease"></a> `applyVelocityOnRelease` | `boolean` | Hand the object the velocity it was moving with when released. Applies to every release, not just a deliberate throw — letting go while your hand drifts should nudge the object, which is why this is not called "throw". | [components/XRInteractable.ts:158](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L158) |
|
|
71
|
+
| <a id="velocityscale"></a> `velocityScale` | `number` | Multiplier on released velocity. | [components/XRInteractable.ts:160](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L160) |
|
|
72
|
+
| <a id="hoverbehavior"></a> `hoverBehavior` | `XrHoverBehavior` | Feedback shown while a pointer is on the object. | [components/XRInteractable.ts:162](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L162) |
|
|
73
|
+
| <a id="hovercolor"></a> `hoverColor` | `string` | Outline colour for the `color` and `both` behaviours. | [components/XRInteractable.ts:164](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L164) |
|
|
74
|
+
| <a id="hoverscale"></a> `hoverScale` | `number` | Size multiplier for the `scale` and `both` behaviours. | [components/XRInteractable.ts:166](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L166) |
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
[**@relu-interactives/spatial-ecs**](../../index.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XRInteractorComponent
|
|
6
|
+
|
|
7
|
+
# Class: XRInteractorComponent
|
|
8
|
+
|
|
9
|
+
Defined in: [components/XRInteractor.ts:71](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L71)
|
|
10
|
+
|
|
11
|
+
Configures what the user sees as their hands, and hosts custom hand content.
|
|
12
|
+
|
|
13
|
+
An interactor entity owns two children — a left and a right interactor —
|
|
14
|
+
whose transforms are driven by the corresponding tracked hand. Anything an
|
|
15
|
+
author parents under those children renders at that hand, which is how custom
|
|
16
|
+
tools, gloves, or held props are built without any scripting.
|
|
17
|
+
|
|
18
|
+
## Extends
|
|
19
|
+
|
|
20
|
+
- [`Component`](../../Component/classes/Component.md)
|
|
21
|
+
|
|
22
|
+
## Constructors
|
|
23
|
+
|
|
24
|
+
### Constructor
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
new XRInteractorComponent(options?): XRInteractorComponent;
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Defined in: [components/XRInteractor.ts:90](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L90)
|
|
31
|
+
|
|
32
|
+
#### Parameters
|
|
33
|
+
|
|
34
|
+
| Parameter | Type |
|
|
35
|
+
| ------ | ------ |
|
|
36
|
+
| `options?` | [`XRInteractorOptions`](../type-aliases/XRInteractorOptions.md) |
|
|
37
|
+
|
|
38
|
+
#### Returns
|
|
39
|
+
|
|
40
|
+
`XRInteractorComponent`
|
|
41
|
+
|
|
42
|
+
#### Overrides
|
|
43
|
+
|
|
44
|
+
[`Component`](../../Component/classes/Component.md).[`constructor`](../../Component/classes/Component.md#constructor)
|
|
45
|
+
|
|
46
|
+
## Properties
|
|
47
|
+
|
|
48
|
+
| Property | Type | Description | Defined in |
|
|
49
|
+
| ------ | ------ | ------ | ------ |
|
|
50
|
+
| <a id="interactortype"></a> `interactorType` | [`XrInteractorType`](../type-aliases/XrInteractorType.md) | What to render at the hands. | [components/XRInteractor.ts:73](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L73) |
|
|
51
|
+
| <a id="handpreset"></a> `handPreset` | [`XrHandPreset`](../type-aliases/XrHandPreset.md) | Look for tracked-hand meshes. | [components/XRInteractor.ts:75](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L75) |
|
|
52
|
+
| <a id="handcolor"></a> `handColor` | `string` | Tint applied by the preset. | [components/XRInteractor.ts:77](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L77) |
|
|
53
|
+
| <a id="handopacity"></a> `handOpacity` | `number` | 0-1 opacity for translucent presets. | [components/XRInteractor.ts:79](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L79) |
|
|
54
|
+
| <a id="handemissiveintensity"></a> `handEmissiveIntensity` | `number` | Emissive strength for glowing presets. | [components/XRInteractor.ts:81](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L81) |
|
|
55
|
+
| <a id="rayvisibility"></a> `rayVisibility` | `XrRayVisibility` | When the pointer ray is drawn. | [components/XRInteractor.ts:84](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L84) |
|
|
56
|
+
| <a id="raycolor"></a> `rayColor` | `string` | Pointer ray colour. | [components/XRInteractor.ts:86](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L86) |
|
|
57
|
+
| <a id="raythickness"></a> `rayThickness` | `number` | Pointer ray thickness (diameter), metres. | [components/XRInteractor.ts:88](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L88) |
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
[**@relu-interactives/spatial-ecs**](../../index.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XRInteractorSideComponent
|
|
6
|
+
|
|
7
|
+
# Class: XRInteractorSideComponent
|
|
8
|
+
|
|
9
|
+
Defined in: [components/XRInteractor.ts:114](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L114)
|
|
10
|
+
|
|
11
|
+
Marks an entity as the left or right hand slot of an [XRInteractorComponent](XRInteractorComponent.md).
|
|
12
|
+
|
|
13
|
+
Its transform is driven every frame from the tracked hand, so authored
|
|
14
|
+
children ride along. Authors never set this by hand — the interactor factory
|
|
15
|
+
creates both slots.
|
|
16
|
+
|
|
17
|
+
## Extends
|
|
18
|
+
|
|
19
|
+
- [`Component`](../../Component/classes/Component.md)
|
|
20
|
+
|
|
21
|
+
## Constructors
|
|
22
|
+
|
|
23
|
+
### Constructor
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
new XRInteractorSideComponent(options?): XRInteractorSideComponent;
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Defined in: [components/XRInteractor.ts:118](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L118)
|
|
30
|
+
|
|
31
|
+
#### Parameters
|
|
32
|
+
|
|
33
|
+
| Parameter | Type |
|
|
34
|
+
| ------ | ------ |
|
|
35
|
+
| `options?` | \{ `side?`: [`XrInteractorSide`](../type-aliases/XrInteractorSide.md); \} |
|
|
36
|
+
| `options.side?` | [`XrInteractorSide`](../type-aliases/XrInteractorSide.md) |
|
|
37
|
+
|
|
38
|
+
#### Returns
|
|
39
|
+
|
|
40
|
+
`XRInteractorSideComponent`
|
|
41
|
+
|
|
42
|
+
#### Overrides
|
|
43
|
+
|
|
44
|
+
[`Component`](../../Component/classes/Component.md).[`constructor`](../../Component/classes/Component.md#constructor)
|
|
45
|
+
|
|
46
|
+
## Properties
|
|
47
|
+
|
|
48
|
+
| Property | Type | Description | Defined in |
|
|
49
|
+
| ------ | ------ | ------ | ------ |
|
|
50
|
+
| <a id="side"></a> `side` | [`XrInteractorSide`](../type-aliases/XrInteractorSide.md) | Which hand this slot follows. | [components/XRInteractor.ts:116](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractor.ts#L116) |
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
[**@relu-interactives/spatial-ecs**](../../index.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / XRRigComponent
|
|
6
|
+
|
|
7
|
+
# Class: XRRigComponent
|
|
8
|
+
|
|
9
|
+
Defined in: [components/XRRig.ts:85](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L85)
|
|
10
|
+
|
|
11
|
+
Marks an entity as the XR rig — the player's movable origin.
|
|
12
|
+
|
|
13
|
+
The rig exists because a WebXR headset owns the camera pose absolutely: three
|
|
14
|
+
composes the render camera as `rig.matrixWorld × headPose`, so the ONLY way
|
|
15
|
+
to move the player is to move the camera's parent. The camera entity must be
|
|
16
|
+
a child of this entity.
|
|
17
|
+
|
|
18
|
+
Defaults are deliberately comfort-first — teleport locomotion with snap
|
|
19
|
+
turning is the combination least likely to cause motion sickness, and is what
|
|
20
|
+
every platform's design guidance recommends as the baseline.
|
|
21
|
+
|
|
22
|
+
## Extends
|
|
23
|
+
|
|
24
|
+
- [`Component`](../../Component/classes/Component.md)
|
|
25
|
+
|
|
26
|
+
## Constructors
|
|
27
|
+
|
|
28
|
+
### Constructor
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
new XRRigComponent(options?): XRRigComponent;
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Defined in: [components/XRRig.ts:125](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L125)
|
|
35
|
+
|
|
36
|
+
#### Parameters
|
|
37
|
+
|
|
38
|
+
| Parameter | Type |
|
|
39
|
+
| ------ | ------ |
|
|
40
|
+
| `options?` | [`XRRigOptions`](../type-aliases/XRRigOptions.md) |
|
|
41
|
+
|
|
42
|
+
#### Returns
|
|
43
|
+
|
|
44
|
+
`XRRigComponent`
|
|
45
|
+
|
|
46
|
+
#### Overrides
|
|
47
|
+
|
|
48
|
+
[`Component`](../../Component/classes/Component.md).[`constructor`](../../Component/classes/Component.md#constructor)
|
|
49
|
+
|
|
50
|
+
## Properties
|
|
51
|
+
|
|
52
|
+
| Property | Type | Description | Defined in |
|
|
53
|
+
| ------ | ------ | ------ | ------ |
|
|
54
|
+
| <a id="trackingorigin"></a> `trackingOrigin` | [`XrTrackingOrigin`](../type-aliases/XrTrackingOrigin.md) | Where the headset origin sits (floor-relative vs eye-relative). | [components/XRRig.ts:87](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L87) |
|
|
55
|
+
| <a id="locomotion"></a> `locomotion` | [`XrLocomotionMode`](../type-aliases/XrLocomotionMode.md) | Movement style. | [components/XRRig.ts:89](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L89) |
|
|
56
|
+
| <a id="movespeed"></a> `moveSpeed` | `number` | Metres/second for `smooth` locomotion. | [components/XRRig.ts:91](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L91) |
|
|
57
|
+
| <a id="snapturn"></a> `snapTurn` | `boolean` | Rotate in fixed steps rather than continuously. | [components/XRRig.ts:93](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L93) |
|
|
58
|
+
| <a id="snapturndegrees"></a> `snapTurnDegrees` | `number` | Degrees per snap-turn step. | [components/XRRig.ts:95](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L95) |
|
|
59
|
+
| <a id="fallbackeyeheight"></a> `fallbackEyeHeight` | `number` | Eye height fallback for devices without a floor-relative reference space. | [components/XRRig.ts:97](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L97) |
|
|
60
|
+
| <a id="teleportarccolor"></a> `teleportArcColor` | `string` | Teleport arc colour when it lands somewhere valid. | [components/XRRig.ts:99](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L99) |
|
|
61
|
+
| <a id="teleportarcinvalidcolor"></a> `teleportArcInvalidColor` | `string` | Teleport arc colour when it lands nowhere teleportable. | [components/XRRig.ts:101](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L101) |
|
|
62
|
+
| <a id="teleportarcthickness"></a> `teleportArcThickness` | `number` | Teleport arc thickness (diameter), metres. | [components/XRRig.ts:103](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L103) |
|
|
63
|
+
| <a id="passthrough"></a> `passthrough` | `boolean` | Run the session in passthrough — the real room shows through. This is the VR/MR switch for the whole project: the entry button requests `immersive-ar` instead of `immersive-vr`. Blend mode is fixed for the life of a session, so this cannot be flipped mid-session — ending and re-entering is the only way to change it. | [components/XRRig.ts:113](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L113) |
|
|
64
|
+
| <a id="depthocclusion"></a> `depthOcclusion` | `boolean` | Let real objects occlude virtual ones, via WebXR depth sensing. | [components/XRRig.ts:115](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L115) |
|
|
65
|
+
| <a id="environmentphysics"></a> `environmentPhysics` | [`XrEnvironmentPhysics`](../type-aliases/XrEnvironmentPhysics.md) | Which detected real-world geometry becomes physics colliders. | [components/XRRig.ts:117](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L117) |
|
|
66
|
+
| <a id="environmentdebug"></a> `environmentDebug` | `boolean` | Draw the detected room geometry on-device, for checking a scan. | [components/XRRig.ts:119](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L119) |
|
|
67
|
+
| <a id="hittest"></a> `hitTest` | `boolean` | Allow scripts to raycast against the real room (`hit-test`). | [components/XRRig.ts:121](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L121) |
|
|
68
|
+
| <a id="anchors"></a> `anchors` | `boolean` | Allow content to be pinned to real-world features (`anchors`). | [components/XRRig.ts:123](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRRig.ts#L123) |
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
[**@relu-interactives/spatial-ecs**](../../index.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / createAttachPoint
|
|
6
|
+
|
|
7
|
+
# Function: createAttachPoint()
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
function createAttachPoint(partial): XrAttachPoint;
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Defined in: [components/XRInteractable.ts:206](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRInteractable.ts#L206)
|
|
14
|
+
|
|
15
|
+
An attach point with every field populated, for the editor and AI tools.
|
|
16
|
+
|
|
17
|
+
## Parameters
|
|
18
|
+
|
|
19
|
+
| Parameter | Type |
|
|
20
|
+
| ------ | ------ |
|
|
21
|
+
| `partial` | `Partial`\<[`XrAttachPoint`](../type-aliases/XrAttachPoint.md)\> & \{ `id`: `string`; \} |
|
|
22
|
+
|
|
23
|
+
## Returns
|
|
24
|
+
|
|
25
|
+
[`XrAttachPoint`](../type-aliases/XrAttachPoint.md)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
[**@relu-interactives/spatial-ecs**](../../index.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@relu-interactives/spatial-ecs](../../index.md) / [components](../index.md) / createHandPoseEntry
|
|
6
|
+
|
|
7
|
+
# Function: createHandPoseEntry()
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
function createHandPoseEntry(partial): XrHandPoseEntry;
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Defined in: [components/XRHandPose.ts:70](https://github.com/Relu-Interactives/relu-spatial-ecs-engine/blob/72f129a02ec4b2f93ff337d16361a731efd8cc5d/core/components/XRHandPose.ts#L70)
|
|
14
|
+
|
|
15
|
+
A pose entry with every field populated, for the editor and AI tools.
|
|
16
|
+
|
|
17
|
+
## Parameters
|
|
18
|
+
|
|
19
|
+
| Parameter | Type |
|
|
20
|
+
| ------ | ------ |
|
|
21
|
+
| `partial` | `Partial`\<[`XrHandPoseEntry`](../type-aliases/XrHandPoseEntry.md)\> & \{ `id`: `string`; \} |
|
|
22
|
+
|
|
23
|
+
## Returns
|
|
24
|
+
|
|
25
|
+
[`XrHandPoseEntry`](../type-aliases/XrHandPoseEntry.md)
|