@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
|
@@ -5,12 +5,6 @@ var __export = (target, all) => {
|
|
|
5
5
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
6
6
|
};
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
__name(_Component, "Component");
|
|
12
|
-
var Component = _Component;
|
|
13
|
-
|
|
14
|
-
export { Component, __export, __name };
|
|
15
|
-
//# sourceMappingURL=chunk-OY7ZODZP.js.map
|
|
16
|
-
//# sourceMappingURL=chunk-OY7ZODZP.js.map
|
|
8
|
+
export { __export, __name };
|
|
9
|
+
//# sourceMappingURL=chunk-XE4OXN2W.js.map
|
|
10
|
+
//# sourceMappingURL=chunk-XE4OXN2W.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-XE4OXN2W.js"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Component } from './chunk-CKTHDXPS.js';
|
|
2
|
+
import { __name } from './chunk-XE4OXN2W.js';
|
|
2
3
|
|
|
3
4
|
// core/worldSnapshotUtils.ts
|
|
4
5
|
var DEBUG_CHANGE_IGNORED_SYSTEMS = /* @__PURE__ */ new Set([
|
|
@@ -288,5 +289,5 @@ function cloneHistoryValue(value, seen = /* @__PURE__ */ new WeakMap()) {
|
|
|
288
289
|
__name(cloneHistoryValue, "cloneHistoryValue");
|
|
289
290
|
|
|
290
291
|
export { DEBUG_CHANGE_IGNORED_SYSTEMS, cloneHistoryValue, normalizeDebugValue };
|
|
291
|
-
//# sourceMappingURL=chunk-
|
|
292
|
-
//# sourceMappingURL=chunk-
|
|
292
|
+
//# sourceMappingURL=chunk-XU2DVWCP.js.map
|
|
293
|
+
//# sourceMappingURL=chunk-XU2DVWCP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../core/worldSnapshotUtils.ts"],"names":["cloneObject"],"mappings":";;;;AAmBO,IAAM,4BAAA,uBAAmC,GAAA,CAAY;AAAA,EAC1D,mBAAA;AAAA,EACA;AACF,CAAC;AAQM,SAAS,mBAAA,CACd,OACA,GAAA,EACS;AACT,EAAA,IAAI,KAAA,KAAU,IAAA,IAAQ,KAAA,KAAU,MAAA,EAAW;AACzC,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,MAAM,YAAY,OAAO,KAAA;AACzB,EAAA,IACE,SAAA,KAAc,QAAA,IACd,SAAA,KAAc,QAAA,IACd,cAAc,SAAA,EACd;AACA,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,IAAI,cAAc,UAAA,EAAY;AAC5B,IAAA,MAAM,EAAA,GAAK,KAAA;AACX,IAAA,OAAO,CAAA,UAAA,EAAa,EAAA,CAAG,IAAA,IAAQ,WAAW,CAAA,CAAA,CAAA;AAAA,EAC5C;AAEA,EAAA,IAAI,iBAAiB,IAAA,EAAM;AACzB,IAAA,OAAO,MAAM,WAAA,EAAY;AAAA,EAC3B;AAEA,EAAA,IAAI,cAAc,QAAA,EAAU;AAC1B,IAAA,OAAO,OAAO,KAAK,CAAA;AAAA,EACrB;AAEA,EAAA,MAAM,WAAA,GAAc,KAAA;AAKpB,EAAA,IAAI,WAAA,CAAY,MAAA,CAAO,KAAK,CAAA,EAAG;AAC7B,IAAA,MAAM,IAAA,GAAO,KAAA;AACb,IAAA,OAAO;AAAA,MACL,MAAA,EAAQ,IAAA,CAAK,WAAA,EAAa,IAAA,IAAQ,YAAA;AAAA,MAClC,QAAQ,OAAO,IAAA,CAAK,WAAW,QAAA,GAAW,IAAA,CAAK,SAAS,IAAA,CAAK;AAAA,KAC/D;AAAA,EACF;AACA,EAAA,IAAI,iBAAiB,WAAA,EAAa;AAChC,IAAA,OAAO,EAAE,MAAA,EAAQ,aAAA,EAAe,UAAA,EAAY,MAAM,UAAA,EAAW;AAAA,EAC/D;AAEA,EAAA,MAAM,eAAA,GACJ,WAAA,CAAY,WAAA,EAAa,IAAA,IAAQ,WAAA,CAAY,YAAY,IAAA,KAAS,QAAA,GAC9D,WAAA,CAAY,WAAA,CAAY,IAAA,GACxB,IAAA;AAEN,EAAA,IAAI,oBAAoB,eAAA,EAAiB;AACvC,IAAA,OAAO;AAAA,MACL,MAAA,EAAQ,eAAA;AAAA,MACR,MAAM,OAAO,WAAA,CAAY,IAAA,KAAS,QAAA,GAAW,YAAY,IAAA,GAAO;AAAA,KAClE;AAAA,EACF;AAEA,EAAA,IAAI,oBAAoB,uBAAA,EAAyB;AAC/C,IAAA,MAAM,SAAA,GACJ,YAAY,IAAA,IAAQ,OAAO,YAAY,IAAA,KAAS,QAAA,GAC3C,YAAY,IAAA,GACb,IAAA;AAEN,IAAA,OAAO;AAAA,MACL,MAAA,EAAQ,uBAAA;AAAA,MACR,MAAM,OAAO,WAAA,CAAY,IAAA,KAAS,QAAA,GAAW,YAAY,IAAA,GAAO,EAAA;AAAA,MAChE,IAAA,EAAM,OAAA,CAAQ,WAAA,CAAY,IAAI,CAAA;AAAA,MAC9B,SAAA,EAAW,OAAA,CAAQ,WAAA,CAAY,SAAS,CAAA;AAAA,MACxC,QAAA,EAAU,OAAA,CAAQ,WAAA,CAAY,QAAQ,CAAA;AAAA,MACtC,IAAA,EAAM;AAAA,QACJ,MAAA,EAAQ,eAAA;AAAA,QACR,MAAM,OAAO,SAAA,EAAW,IAAA,KAAS,QAAA,GAAW,UAAU,IAAA,GAAO;AAAA;AAC/D,KACF;AAAA,EACF;AAEA,EAAA,IAAI,oBAAoB,oBAAA,EAAsB;AAC5C,IAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,OAAA,CAAQ,WAAA,CAAY,KAAK,IACzC,WAAA,CAAY,KAAA,CACT,GAAA,CAAI,CAAC,IAAA,KAAS;AACb,MAAA,IAAI,CAAC,IAAA,IAAQ,OAAO,IAAA,KAAS,QAAA,EAAU;AACrC,QAAA,OAAO,IAAA;AAAA,MACT;AAEA,MAAA,MAAM,SAAA,GAAY,IAAA;AAClB,MAAA,OAAO;AAAA,QACL,MAAA,EAAQ,eAAA;AAAA,QACR,MAAM,OAAO,SAAA,CAAU,IAAA,KAAS,QAAA,GAAW,UAAU,IAAA,GAAO;AAAA,OAC9D;AAAA,IACF,CAAC,EACA,MAAA,CAAO,CAAC,SAA4D,IAAA,KAAS,IAAI,IACpF,EAAC;AAEL,IAAA,MAAM,iBAAiB,KAAA,CAAM,OAAA,CAAQ,YAAY,cAAc,CAAA,GAC3D,YAAY,cAAA,CAAe,MAAA;AAAA,MACzB,CAAC,KAAA,KAA2B,OAAO,KAAA,KAAU,QAAA,IAAY,MAAM,MAAA,GAAS;AAAA,KAC1E,GACA,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,KAAS,IAAA,CAAK,IAAI,CAAA,CAAE,MAAA,CAAO,CAAC,IAAA,KAAS,IAAA,CAAK,SAAS,CAAC,CAAA;AAEnE,IAAA,MAAM,sBAAsB,KAAA,CAAM,OAAA,CAAQ,YAAY,mBAAmB,CAAA,GACrE,YAAY,mBAAA,CAAoB,MAAA;AAAA,MAC9B,CAAC,KAAA,KAA2B,OAAO,KAAA,KAAU,QAAA,IAAY,MAAM,MAAA,GAAS;AAAA,QAE1E,EAAC;AAEL,IAAA,MAAM,MAAA,GAAS,KAAA,CAAM,OAAA,CAAQ,WAAA,CAAY,MAAM,IAC3C,WAAA,CAAY,MAAA,CACT,GAAA,CAAI,CAAC,KAAA,KAAU;AACd,MAAA,IAAI,CAAC,KAAA,IAAS,OAAO,KAAA,KAAU,QAAA,EAAU;AACvC,QAAA,OAAO,IAAA;AAAA,MACT;AAEA,MAAA,MAAM,UAAA,GAAa,KAAA;AACnB,MAAA,MAAM,SAAA,GACJ,WAAW,IAAA,IAAQ,OAAO,WAAW,IAAA,KAAS,QAAA,GACzC,WAAW,IAAA,GACZ,IAAA;AAEN,MAAA,MAAM,OAAO,OAAO,UAAA,CAAW,IAAA,KAAS,QAAA,GAAW,WAAW,IAAA,GAAO,EAAA;AACrE,MAAA,MAAM,OAAO,OAAO,SAAA,EAAW,IAAA,KAAS,QAAA,GAAW,UAAU,IAAA,GAAO,EAAA;AACpE,MAAA,IAAI,CAAC,IAAA,IAAQ,CAAC,IAAA,EAAM;AAClB,QAAA,OAAO,IAAA;AAAA,MACT;AAEA,MAAA,OAAO;AAAA,QACL,IAAA;AAAA,QACA,IAAA;AAAA,QACA,MAAA,EACE,OAAO,UAAA,CAAW,MAAA,KAAW,QAAA,IAAY,WAAW,MAAA,CAAO,MAAA,GAAS,CAAA,GAChE,UAAA,CAAW,MAAA,GACX,IAAA;AAAA,QACN,IAAA,EAAM,OAAA,CAAQ,UAAA,CAAW,IAAI;AAAA,OAC/B;AAAA,IACF,CAAC,CAAA,CACA,MAAA;AAAA,MACC,CACE,UAMG,KAAA,KAAU;AAAA,QAEnB,EAAC;AAEL,IAAA,MAAM,WAAA,GACJ,YAAY,MAAA,IAAU,OAAO,YAAY,MAAA,KAAW,QAAA,GAC/C,YAAY,MAAA,GACb,IAAA;AAEN,IAAA,MAAM,eAAA,GACJ,OAAO,WAAA,CAAY,eAAA,KAAoB,QAAA,GACnC,WAAA,CAAY,eAAA,GACZ,OAAO,WAAA,EAAa,IAAA,KAAS,QAAA,GAC3B,WAAA,CAAY,IAAA,GACZ,IAAA;AAER,IAAA,OAAO;AAAA,MACL,MAAA,EAAQ,oBAAA;AAAA,MACR,KAAA;AAAA,MACA,cAAA;AAAA,MACA,mBAAA;AAAA,MACA,MAAA;AAAA,MACA,eAAA;AAAA,MACA,MAAA,EAAQ,OAAA,CAAQ,WAAA,CAAY,MAAM,CAAA;AAAA,MAClC,OAAA,EAAS,OAAA,CAAQ,WAAA,CAAY,OAAO,CAAA;AAAA,MACpC,SAAA,EACE,OAAO,WAAA,CAAY,SAAA,KAAc,QAAA,IAAY,MAAA,CAAO,QAAA,CAAS,WAAA,CAAY,SAAS,CAAA,GAC9E,WAAA,CAAY,SAAA,GACZ,CAAA;AAAA,MACN,iBAAA,EACE,OAAO,WAAA,CAAY,iBAAA,KAAsB,YACzC,MAAA,CAAO,QAAA,CAAS,WAAA,CAAY,iBAAiB,IACzC,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,WAAA,CAAY,iBAAiB,CAAA,GACzC;AAAA,KACR;AAAA,EACF;AACE,EAAA,IAAI,oBAAoB,uBAAA,EAAyB;AAC/C,IAAA,OAAO;AAAA,MACL,MAAA,EAAQ,uBAAA;AAAA,MACR,eACE,OAAO,WAAA,CAAY,aAAA,KAAkB,QAAA,GACjC,YAAY,aAAA,GACZ,EAAA;AAAA,MACN,WACE,OAAO,WAAA,CAAY,SAAA,KAAc,QAAA,GAC7B,YAAY,SAAA,GACZ;AAAA,KACR;AAAA,EACF;AACF,EAAA,IAAI,oBAAoB,wBAAA,EAA0B;AAKhD,IAAA,MAAM,KAAA,GAA0B;AAAA,MAC9B,MAAM,GAAA,CAAI,IAAA;AAAA,MACV,KAAA,EAAO,IAAI,KAAA,GAAQ,CAAA;AAAA,MACnB,UAAU,GAAA,CAAI;AAAA,KAChB;AACA,IAAA,OAAO;AAAA,MACL,MAAA,EAAQ,wBAAA;AAAA,MACR,UAAU,OAAO,WAAA,CAAY,QAAA,KAAa,QAAA,GAAW,YAAY,QAAA,GAAW,MAAA;AAAA,MAC5E,WAAW,OAAO,WAAA,CAAY,SAAA,KAAc,QAAA,GAAW,YAAY,SAAA,GAAY,EAAA;AAAA,MAC/E,cAAA,EAAgB,mBAAA,CAAoB,WAAA,CAAY,cAAA,EAAgB,KAAK,CAAA;AAAA,MACrE,UAAA,EAAY,OAAA,CAAQ,WAAA,CAAY,UAAU,CAAA;AAAA,MAC1C,aAAA,EAAe,OAAA,CAAQ,WAAA,CAAY,aAAa,CAAA;AAAA,MAC9C,iBAAA,EAAmB,KAAA,CAAM,OAAA,CAAQ,WAAA,CAAY,iBAAiB,CAAA,GAC1D,CAAC,GAAI,WAAA,CAAY,iBAA8B,CAAA,GAC/C;AAAC,KACT;AAAA,EACF;AAEA,EAAA,IAAI,oBAAoB,kBAAA,EAAoB;AAI1C,IAAA,OAAO;AAAA,MACL,MAAA,EAAQ,kBAAA;AAAA,MACR,MAAA,EAAQ,mBAAA,CAAoB,WAAA,CAAY,MAAA,EAAQ;AAAA,QAC9C,MAAM,GAAA,CAAI,IAAA;AAAA,QACV,KAAA,EAAO,IAAI,KAAA,GAAQ,CAAA;AAAA,QACnB,UAAU,GAAA,CAAI;AAAA,OACf;AAAA,KACH;AAAA,EACF;AAEA,EAAA,IAAI,oBAAoB,mBAAA,EAAqB;AAM3C,IAAA,OAAO;AAAA,MACL,MAAA,EAAQ,mBAAA;AAAA,MACR,MAAA,EAAQ,mBAAA,CAAoB,WAAA,CAAY,MAAA,EAAQ;AAAA,QAC9C,MAAM,GAAA,CAAI,IAAA;AAAA,QACV,KAAA,EAAO,IAAI,KAAA,GAAQ,CAAA;AAAA,QACnB,UAAU,GAAA,CAAI;AAAA,OACf,CAAA;AAAA;AAAA,MAED,SAAA,EAAW,KAAA,CAAM,OAAA,CAAQ,WAAA,CAAY,SAAS,CAAA,GAC1C,CAAC,GAAI,WAAA,CAAY,SAA+B,CAAA,GAChD;AAAC,KACP;AAAA,EACF;AAEA,EAAA,IAAI,oBAAoB,gBAAA,EAAkB;AAMxC,IAAA,OAAO;AAAA,MACL,MAAA,EAAQ,gBAAA;AAAA,MACR,MAAM,OAAO,WAAA,CAAY,IAAA,KAAS,QAAA,GAAW,YAAY,IAAA,GAAO,EAAA;AAAA,MAChE,OAAA,EAAS,mBAAA,CAAoB,WAAA,CAAY,OAAA,EAAS;AAAA,QAChD,MAAM,GAAA,CAAI,IAAA;AAAA,QACV,KAAA,EAAO,IAAI,KAAA,GAAQ,CAAA;AAAA,QACnB,UAAU,GAAA,CAAI;AAAA,OACf;AAAA,KACH;AAAA,EACF;AAEA,EAAA,IAAI,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,WAAW,CAAA,EAAG;AAC7B,IAAA,OAAO,YAAA;AAAA,EACT;AAEA,EAAA,IAAI,GAAA,CAAI,KAAA,IAAS,GAAA,CAAI,QAAA,EAAU;AAC7B,IAAA,OAAO,eAAA,GACH,CAAA,UAAA,EAAa,eAAe,CAAA,CAAA,CAAA,GAC5B,mBAAA;AAAA,EACN;AAEA,EAAA,IAAI,YAAY,QAAA,KAAa,CAAA,IAAK,OAAO,WAAA,CAAY,YAAY,QAAA,EAAU;AACzE,IAAA,OAAO,CAAA,aAAA,EAAgB,MAAA,CAAO,WAAA,CAAY,OAAO,CAAC,CAAA,CAAA,CAAA;AAAA,EACpD;AAEA,EAAA,IAAI,WAAA,CAAY,eAAe,IAAA,EAAM;AACnC,IAAA,MAAM,WAAW,WAAA,CAAY,QAAA;AAI7B,IAAA,OAAO;AAAA,MACL,MAAA,EAAQ,UAAA;AAAA,MACR,YAAY,WAAA,CAAY,IAAA;AAAA,MACxB,MAAM,WAAA,CAAY,IAAA;AAAA,MAClB,MAAM,WAAA,CAAY,IAAA;AAAA,MAClB,QAAA,EACE,QAAA,IACA,OAAO,QAAA,CAAS,CAAA,KAAM,QAAA,IACtB,OAAO,QAAA,CAAS,CAAA,KAAM,QAAA,IACtB,OAAO,QAAA,CAAS,MAAM,QAAA,GAClB;AAAA,QACE,GAAG,QAAA,CAAS,CAAA;AAAA,QACZ,GAAG,QAAA,CAAS,CAAA;AAAA,QACZ,GAAG,QAAA,CAAS;AAAA,OACd,GACA;AAAA,KACR;AAAA,EACF;AAEA,EAAA,GAAA,CAAI,IAAA,CAAK,IAAI,WAAW,CAAA;AACxB,EAAA,MAAM,WAAA,GAAgC;AAAA,IACpC,MAAM,GAAA,CAAI,IAAA;AAAA,IACV,KAAA,EAAO,IAAI,KAAA,GAAQ,CAAA;AAAA,IACnB,UAAU,GAAA,CAAI;AAAA,GAChB;AAEA,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,WAAW,CAAA,EAAG;AAC9B,IAAA,OAAO,YAAY,GAAA,CAAI,CAAC,SAAS,mBAAA,CAAoB,IAAA,EAAM,WAAW,CAAC,CAAA;AAAA,EACzE;AAEA,EAAA,IAAI,uBAAuB,GAAA,EAAK;AAC9B,IAAA,OAAO;AAAA,MACL,MAAA,EAAQ,KAAA;AAAA,MACR,OAAA,EAAS,CAAC,GAAG,WAAA,CAAY,OAAA,EAAS,CAAA,CAAE,GAAA,CAAI,CAAC,CAAC,GAAA,EAAK,QAAQ,CAAA,KAAM;AAAA,QAC3D,mBAAA,CAAoB,KAAK,WAAW,CAAA;AAAA,QACpC,mBAAA,CAAoB,UAAU,WAAW;AAAA,OAC1C;AAAA,KACH;AAAA,EACF;AAEA,EAAA,IAAI,uBAAuB,GAAA,EAAK;AAC9B,IAAA,OAAO;AAAA,MACL,MAAA,EAAQ,KAAA;AAAA,MACR,QAAQ,CAAC,GAAG,WAAA,CAAY,MAAA,EAAQ,CAAA,CAAE,GAAA;AAAA,QAAI,CAAC,QAAA,KACrC,mBAAA,CAAoB,QAAA,EAAU,WAAW;AAAA;AAC3C,KACF;AAAA,EACF;AAEA,EAAA,MAAM,aAAsC,EAAC;AAC7C,EAAA,MAAM,IAAA,GAAO,MAAA,CAAO,IAAA,CAAK,WAAW,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA,KAAM,CAAA,CAAE,aAAA,CAAc,CAAC,CAAC,CAAA;AACvE,EAAA,KAAA,MAAW,OAAO,IAAA,EAAM;AACtB,IAAA,UAAA,CAAW,GAAG,CAAA,GAAI,mBAAA,CAAoB,WAAA,CAAY,GAAG,GAAG,WAAW,CAAA;AAAA,EACrE;AAEA,EAAA,OAAO,eAAA,GACH;AAAA,IACE,MAAA,EAAQ,eAAA;AAAA,IACR,GAAG;AAAA,GACL,GACA,UAAA;AACN;AA1VgB,MAAA,CAAA,mBAAA,EAAA,qBAAA,CAAA;AA4VhB,SAAS,wBAAwB,KAAA,EAAwB;AACvD,EAAA,MAAM,WAAA,GAAc,KAAA;AAEpB,EAAA,IAAI,WAAA,CAAY,eAAe,IAAA,EAAM;AACnC,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,IAAI,YAAY,QAAA,KAAa,CAAA,IAAK,OAAO,WAAA,CAAY,YAAY,QAAA,EAAU;AACzE,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,OAAO,KAAA;AACT;AAZS,MAAA,CAAA,uBAAA,EAAA,yBAAA,CAAA;AAcF,SAAS,iBAAA,CACd,KAAA,EACA,IAAA,mBAAiC,IAAI,SAAyB,EAC3D;AACH,EAAA,IAAI,KAAA,KAAU,IAAA,IAAQ,KAAA,KAAU,MAAA,EAAW;AACzC,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,MAAM,YAAY,OAAO,KAAA;AACzB,EAAA,IACE,SAAA,KAAc,QAAA,IACd,SAAA,KAAc,QAAA,IACd,SAAA,KAAc,SAAA,IACd,SAAA,KAAc,QAAA,IACd,SAAA,KAAc,QAAA,IACd,SAAA,KAAc,UAAA,EACd;AACA,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,IAAI,iBAAiB,IAAA,EAAM;AACzB,IAAA,OAAO,IAAI,IAAA,CAAK,KAAA,CAAM,OAAA,EAAS,CAAA;AAAA,EACjC;AAEA,EAAA,IAAI,cAAc,QAAA,EAAU;AAC1B,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,MAAM,WAAA,GAAc,KAAA;AAEpB,EAAA,IAAI,uBAAA,CAAwB,WAAW,CAAA,EAAG;AACxC,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,MAAM,SAAA,GAAY,IAAA,CAAK,GAAA,CAAI,WAAW,CAAA;AACtC,EAAA,IAAI,cAAc,MAAA,EAAW;AAC3B,IAAA,OAAO,SAAA;AAAA,EACT;AAEA,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,WAAW,CAAA,EAAG;AAC9B,IAAA,MAAM,aAAwB,EAAC;AAC/B,IAAA,IAAA,CAAK,GAAA,CAAI,aAAa,UAAU,CAAA;AAEhC,IAAA,KAAA,MAAW,QAAQ,WAAA,EAAa;AAC9B,MAAA,UAAA,CAAW,IAAA,CAAK,iBAAA,CAAkB,IAAA,EAAM,IAAI,CAAC,CAAA;AAAA,IAC/C;AAEA,IAAA,OAAO,UAAA;AAAA,EACT;AAEA,EAAA,MAAM,SAAA,GAAY,MAAA,CAAO,cAAA,CAAe,WAAW,CAAA;AACnD,EAAA,MAAM,eAAA,GAAkB,YAAY,WAAA,EAAa,IAAA;AACjD,EAAA,MAAM,2BACJ,WAAA,YAAuB,SAAA,IACvB,SAAA,KAAc,MAAA,CAAO,aACrB,SAAA,KAAc,IAAA;AAEhB,EAAA,IAAI,CAAC,wBAAA,EAA0B;AAC7B,IAAA,OAAO,KAAA;AAAA,EACT;AAKA,EAAA,IAAI,oBAAoB,wBAAA,EAA0B;AAChD,IAAA,MAAMA,YAAAA,GAAc,MAAA,CAAO,MAAA,CAAO,SAAS,CAAA;AAC3C,IAAA,IAAA,CAAK,GAAA,CAAI,aAAaA,YAAW,CAAA;AACjC,IAAA,KAAA,MAAW,GAAA,IAAO,MAAA,CAAO,IAAA,CAAK,WAAW,CAAA,EAAG;AAC1C,MAAAA,YAAAA,CAAY,GAAG,CAAA,GACb,GAAA,KAAQ,eAAA,GAAkB,OAAO,iBAAA,CAAkB,WAAA,CAAY,GAAG,CAAA,EAAG,IAAI,CAAA;AAAA,IAC7E;AACA,IAAA,OAAOA,YAAAA;AAAA,EACT;AAEA,EAAA,MAAM,WAAA,GAAc,MAAA,CAAO,MAAA,CAAO,SAAS,CAAA;AAC3C,EAAA,IAAA,CAAK,GAAA,CAAI,aAAa,WAAW,CAAA;AAEjC,EAAA,KAAA,MAAW,GAAA,IAAO,MAAA,CAAO,IAAA,CAAK,WAAW,CAAA,EAAG;AAC1C,IAAA,WAAA,CAAY,GAAG,CAAA,GAAI,iBAAA,CAAkB,WAAA,CAAY,GAAG,GAAG,IAAI,CAAA;AAAA,EAC7D;AAEA,EAAA,OAAO,WAAA;AACT;AAlFgB,MAAA,CAAA,iBAAA,EAAA,mBAAA,CAAA","file":"chunk-XU2DVWCP.js","sourcesContent":["import { Component } from \"./Component\";\nimport type { EntityId } from \"./types\";\n\nexport type ComponentClass<T extends Component> = new (...args: never[]) => T;\nexport type AnyComponent = Component;\n\nexport type WorldHistorySnapshot = {\n selectedEntityId: EntityId | null;\n entities: EntityId[];\n nextEntityId: number;\n components: Array<{\n componentType: ComponentClass<AnyComponent>;\n entries: Array<{\n entityId: EntityId;\n component: AnyComponent;\n }>;\n }>;\n};\n\nexport const DEBUG_CHANGE_IGNORED_SYSTEMS = new Set<string>([\n \"OrbitCameraSystem\",\n \"PhysicsSyncSystem\",\n]);\n\ntype NormalizeContext = {\n seen: WeakSet<object>;\n depth: number;\n maxDepth: number;\n};\n\nexport function normalizeDebugValue(\n value: unknown,\n ctx: NormalizeContext,\n): unknown {\n if (value === null || value === undefined) {\n return value;\n }\n\n const valueType = typeof value;\n if (\n valueType === \"string\" ||\n valueType === \"number\" ||\n valueType === \"boolean\"\n ) {\n return value;\n }\n\n if (valueType === \"function\") {\n const fn = value as (...args: unknown[]) => unknown;\n return `[Function:${fn.name || \"anonymous\"}]`;\n }\n\n if (value instanceof Date) {\n return value.toISOString();\n }\n\n if (valueType !== \"object\") {\n return String(value);\n }\n\n const objectValue = value as Record<string, unknown>;\n\n // Typed arrays (e.g. a trimesh collider's vertex buffer) can hold millions of\n // indexed elements — enumerating them key-by-key throws V8's \"Too many\n // properties to enumerate\". Summarize them as leaves instead.\n if (ArrayBuffer.isView(value)) {\n const view = value as ArrayBufferView & { length?: number };\n return {\n __type: view.constructor?.name ?? \"TypedArray\",\n length: typeof view.length === \"number\" ? view.length : view.byteLength,\n };\n }\n if (value instanceof ArrayBuffer) {\n return { __type: \"ArrayBuffer\", byteLength: value.byteLength };\n }\n\n const constructorName =\n objectValue.constructor?.name && objectValue.constructor.name !== \"Object\"\n ? objectValue.constructor.name\n : null;\n\n if (constructorName === \"AnimationClip\") {\n return {\n __type: \"AnimationClip\",\n name: typeof objectValue.name === \"string\" ? objectValue.name : \"\",\n };\n }\n\n if (constructorName === \"AnimationStateMachine\") {\n const clipValue =\n objectValue.clip && typeof objectValue.clip === \"object\"\n ? (objectValue.clip as Record<string, unknown>)\n : null;\n\n return {\n __type: \"AnimationStateMachine\",\n name: typeof objectValue.name === \"string\" ? objectValue.name : \"\",\n loop: Boolean(objectValue.loop),\n isPlaying: Boolean(objectValue.isPlaying),\n isPaused: Boolean(objectValue.isPaused),\n clip: {\n __type: \"AnimationClip\",\n name: typeof clipValue?.name === \"string\" ? clipValue.name : \"\",\n },\n };\n }\n\n if (constructorName === \"AnimationComponent\") {\n const clips = Array.isArray(objectValue.clips)\n ? objectValue.clips\n .map((clip) => {\n if (!clip || typeof clip !== \"object\") {\n return null;\n }\n\n const clipValue = clip as Record<string, unknown>;\n return {\n __type: \"AnimationClip\",\n name: typeof clipValue.name === \"string\" ? clipValue.name : \"\",\n };\n })\n .filter((clip): clip is { __type: \"AnimationClip\"; name: string } => clip !== null)\n : [];\n\n const availableClips = Array.isArray(objectValue.availableClips)\n ? objectValue.availableClips.filter(\n (entry): entry is string => typeof entry === \"string\" && entry.length > 0,\n )\n : clips.map((clip) => clip.name).filter((name) => name.length > 0);\n\n const externalClipSources = Array.isArray(objectValue.externalClipSources)\n ? objectValue.externalClipSources.filter(\n (entry): entry is string => typeof entry === \"string\" && entry.length > 0,\n )\n : [];\n\n const states = Array.isArray(objectValue.states)\n ? objectValue.states\n .map((state) => {\n if (!state || typeof state !== \"object\") {\n return null;\n }\n\n const stateValue = state as Record<string, unknown>;\n const clipValue =\n stateValue.clip && typeof stateValue.clip === \"object\"\n ? (stateValue.clip as Record<string, unknown>)\n : null;\n\n const name = typeof stateValue.name === \"string\" ? stateValue.name : \"\";\n const clip = typeof clipValue?.name === \"string\" ? clipValue.name : \"\";\n if (!name || !clip) {\n return null;\n }\n\n return {\n name,\n clip,\n clipId:\n typeof stateValue.clipId === \"string\" && stateValue.clipId.length > 0\n ? stateValue.clipId\n : null,\n loop: Boolean(stateValue.loop),\n };\n })\n .filter(\n (\n state,\n ): state is {\n name: string;\n clip: string;\n clipId: string | null;\n loop: boolean;\n } => state !== null,\n )\n : [];\n\n const activeValue =\n objectValue.active && typeof objectValue.active === \"object\"\n ? (objectValue.active as Record<string, unknown>)\n : null;\n\n const activeStateName =\n typeof objectValue.activeStateName === \"string\"\n ? objectValue.activeStateName\n : typeof activeValue?.name === \"string\"\n ? activeValue.name\n : null;\n\n return {\n __type: \"AnimationComponent\",\n clips,\n availableClips,\n externalClipSources,\n states,\n activeStateName,\n paused: Boolean(objectValue.paused),\n reverse: Boolean(objectValue.reverse),\n timeScale:\n typeof objectValue.timeScale === \"number\" && Number.isFinite(objectValue.timeScale)\n ? objectValue.timeScale\n : 1,\n crossFadeDuration:\n typeof objectValue.crossFadeDuration === \"number\" &&\n Number.isFinite(objectValue.crossFadeDuration)\n ? Math.max(0, objectValue.crossFadeDuration)\n : 0,\n };\n }\n if (constructorName === \"InstanceSlotComponent\") {\n return {\n __type: \"InstanceSlotComponent\",\n groupEntityId:\n typeof objectValue.groupEntityId === \"number\"\n ? objectValue.groupEntityId\n : -1,\n slotIndex:\n typeof objectValue.slotIndex === \"number\"\n ? objectValue.slotIndex\n : 0,\n };\n }\n if (constructorName === \"InstancedMeshComponent\") {\n // Only serialize the authoring fields. The live `instancedMesh` Three.js\n // ref changes on every geometry rebuild and must not enter the debug\n // snapshot — doing so would cause WorldChangeDetectionSystem to flood\n // the undo history with spurious entries.\n const imCtx: NormalizeContext = {\n seen: ctx.seen,\n depth: ctx.depth + 1,\n maxDepth: ctx.maxDepth,\n };\n return {\n __type: \"InstancedMeshComponent\",\n meshKind: typeof objectValue.meshKind === \"string\" ? objectValue.meshKind : \"cube\",\n modelPath: typeof objectValue.modelPath === \"string\" ? objectValue.modelPath : \"\",\n meshParameters: normalizeDebugValue(objectValue.meshParameters, imCtx),\n castShadow: Boolean(objectValue.castShadow),\n receiveShadow: Boolean(objectValue.receiveShadow),\n instanceEntityIds: Array.isArray(objectValue.instanceEntityIds)\n ? [...(objectValue.instanceEntityIds as number[])]\n : [],\n };\n }\n\n if (constructorName === \"PhysicsComponent\") {\n // `collider` Rapier references change every physics frame and must not\n // be included in the debug snapshot, otherwise the WorldChangeDetection-\n // System would detect a change every frame and flood the undo history.\n return {\n __type: \"PhysicsComponent\",\n values: normalizeDebugValue(objectValue.values, {\n seen: ctx.seen,\n depth: ctx.depth + 1,\n maxDepth: ctx.maxDepth,\n }),\n };\n }\n\n if (constructorName === \"MaterialComponent\") {\n // Only serialize the authoring `values` state. The live Three.js\n // `material` / `materials` objects mutate after transparency is toggled\n // (shader recompilation flags, `needsUpdate`, etc.) and must not be\n // included in the debug snapshot — doing so causes the\n // WorldChangeDetectionSystem to detect a spurious change every frame.\n return {\n __type: \"MaterialComponent\",\n values: normalizeDebugValue(objectValue.values, {\n seen: ctx.seen,\n depth: ctx.depth + 1,\n maxDepth: ctx.maxDepth,\n }),\n // Editor-managed material-asset linkage (plain strings/nulls).\n assetRefs: Array.isArray(objectValue.assetRefs)\n ? [...(objectValue.assetRefs as (string | null)[])]\n : [],\n };\n }\n\n if (constructorName === \"VideoComponent\") {\n // Only serialize `path` and `options`. The live runtime fields\n // (`object`, `videoElement`, `texture`, `material`, `audioNode`) change\n // during video load/playback and must not be included in the debug\n // snapshot — doing so causes WorldChangeDetectionSystem to detect a\n // spurious change on every frame while a video is loading or playing.\n return {\n __type: \"VideoComponent\",\n path: typeof objectValue.path === \"string\" ? objectValue.path : \"\",\n options: normalizeDebugValue(objectValue.options, {\n seen: ctx.seen,\n depth: ctx.depth + 1,\n maxDepth: ctx.maxDepth,\n }),\n };\n }\n\n if (ctx.seen.has(objectValue)) {\n return \"[Circular]\";\n }\n\n if (ctx.depth >= ctx.maxDepth) {\n return constructorName\n ? `[MaxDepth:${constructorName}]`\n : \"[MaxDepth:Object]\";\n }\n\n if (objectValue.nodeType === 1 && typeof objectValue.tagName === \"string\") {\n return `[HTMLElement:${String(objectValue.tagName)}]`;\n }\n\n if (objectValue.isObject3D === true) {\n const position = objectValue.position as\n | { x?: number; y?: number; z?: number }\n | undefined;\n\n return {\n __type: \"Object3D\",\n objectType: objectValue.type,\n name: objectValue.name,\n uuid: objectValue.uuid,\n position:\n position &&\n typeof position.x === \"number\" &&\n typeof position.y === \"number\" &&\n typeof position.z === \"number\"\n ? {\n x: position.x,\n y: position.y,\n z: position.z,\n }\n : undefined,\n };\n }\n\n ctx.seen.add(objectValue);\n const nextContext: NormalizeContext = {\n seen: ctx.seen,\n depth: ctx.depth + 1,\n maxDepth: ctx.maxDepth,\n };\n\n if (Array.isArray(objectValue)) {\n return objectValue.map((item) => normalizeDebugValue(item, nextContext));\n }\n\n if (objectValue instanceof Map) {\n return {\n __type: \"Map\",\n entries: [...objectValue.entries()].map(([key, mapValue]) => [\n normalizeDebugValue(key, nextContext),\n normalizeDebugValue(mapValue, nextContext),\n ]),\n };\n }\n\n if (objectValue instanceof Set) {\n return {\n __type: \"Set\",\n values: [...objectValue.values()].map((setValue) =>\n normalizeDebugValue(setValue, nextContext),\n ),\n };\n }\n\n const normalized: Record<string, unknown> = {};\n const keys = Object.keys(objectValue).sort((a, b) => a.localeCompare(b));\n for (const key of keys) {\n normalized[key] = normalizeDebugValue(objectValue[key], nextContext);\n }\n\n return constructorName\n ? {\n __type: constructorName,\n ...normalized,\n }\n : normalized;\n}\n\nfunction shouldPreserveReference(value: object): boolean {\n const objectValue = value as Record<string, unknown>;\n\n if (objectValue.isObject3D === true) {\n return true;\n }\n\n if (objectValue.nodeType === 1 && typeof objectValue.tagName === \"string\") {\n return true;\n }\n\n return false;\n}\n\nexport function cloneHistoryValue<T>(\n value: T,\n seen: WeakMap<object, unknown> = new WeakMap<object, unknown>(),\n): T {\n if (value === null || value === undefined) {\n return value;\n }\n\n const valueType = typeof value;\n if (\n valueType === \"string\" ||\n valueType === \"number\" ||\n valueType === \"boolean\" ||\n valueType === \"bigint\" ||\n valueType === \"symbol\" ||\n valueType === \"function\"\n ) {\n return value;\n }\n\n if (value instanceof Date) {\n return new Date(value.getTime()) as T;\n }\n\n if (valueType !== \"object\") {\n return value;\n }\n\n const objectValue = value as Record<string, unknown>;\n\n if (shouldPreserveReference(objectValue)) {\n return value;\n }\n\n const seenValue = seen.get(objectValue);\n if (seenValue !== undefined) {\n return seenValue as T;\n }\n\n if (Array.isArray(objectValue)) {\n const cloneArray: unknown[] = [];\n seen.set(objectValue, cloneArray);\n\n for (const item of objectValue) {\n cloneArray.push(cloneHistoryValue(item, seen));\n }\n\n return cloneArray as T;\n }\n\n const prototype = Object.getPrototypeOf(objectValue);\n const constructorName = objectValue.constructor?.name;\n const shouldCloneWithPrototype =\n objectValue instanceof Component ||\n prototype === Object.prototype ||\n prototype === null;\n\n if (!shouldCloneWithPrototype) {\n return value;\n }\n\n // Null out live Three.js refs on known components so history snapshots never\n // carry a stale/disposed reference that would cause ghost meshes on undo/redo.\n // InstancedMeshSystem tracks its own mesh ref internally for cleanup.\n if (constructorName === \"InstancedMeshComponent\") {\n const cloneObject = Object.create(prototype) as Record<string, unknown>;\n seen.set(objectValue, cloneObject);\n for (const key of Object.keys(objectValue)) {\n cloneObject[key] =\n key === \"instancedMesh\" ? null : cloneHistoryValue(objectValue[key], seen);\n }\n return cloneObject as T;\n }\n\n const cloneObject = Object.create(prototype) as Record<string, unknown>;\n seen.set(objectValue, cloneObject);\n\n for (const key of Object.keys(objectValue)) {\n cloneObject[key] = cloneHistoryValue(objectValue[key], seen);\n }\n\n return cloneObject as T;\n}\n"]}
|
|
@@ -541,7 +541,8 @@ var DEFAULT_AUDIO_OPTIONS = {
|
|
|
541
541
|
positional: false,
|
|
542
542
|
refDistance: 1,
|
|
543
543
|
distanceModel: "inverse",
|
|
544
|
-
rolloffFactor: 1
|
|
544
|
+
rolloffFactor: 1,
|
|
545
|
+
bus: "sfx"
|
|
545
546
|
};
|
|
546
547
|
var _AudioComponent = class _AudioComponent extends Component {
|
|
547
548
|
constructor(path, options = {}) {
|
|
@@ -597,6 +598,16 @@ __name(_AudioComponent, "AudioComponent");
|
|
|
597
598
|
var AudioComponent = _AudioComponent;
|
|
598
599
|
|
|
599
600
|
// core/components/Environment.ts
|
|
601
|
+
var DEFAULT_ENVIRONMENT_LIGHTING = {
|
|
602
|
+
envMapUrl: "",
|
|
603
|
+
envIntensity: 1,
|
|
604
|
+
envRotationY: 0,
|
|
605
|
+
useAsBackground: false,
|
|
606
|
+
backgroundBlurriness: 0,
|
|
607
|
+
backgroundIntensity: 1,
|
|
608
|
+
toneMapping: "none",
|
|
609
|
+
exposure: 1
|
|
610
|
+
};
|
|
600
611
|
var DEFAULT_ENVIRONMENT_STATE = {
|
|
601
612
|
skybox: {
|
|
602
613
|
type: "none",
|
|
@@ -669,22 +680,62 @@ function toFiniteNumber(value, fallback) {
|
|
|
669
680
|
return value;
|
|
670
681
|
}
|
|
671
682
|
__name(toFiniteNumber, "toFiniteNumber");
|
|
683
|
+
function normalizeImageProjection(value) {
|
|
684
|
+
return value === "screen" || value === "equirect" ? value : void 0;
|
|
685
|
+
}
|
|
686
|
+
__name(normalizeImageProjection, "normalizeImageProjection");
|
|
687
|
+
function normalizeToneMapping(value) {
|
|
688
|
+
if (value === "none" || value === "aces" || value === "agx" || value === "neutral") {
|
|
689
|
+
return value;
|
|
690
|
+
}
|
|
691
|
+
return DEFAULT_ENVIRONMENT_LIGHTING.toneMapping;
|
|
692
|
+
}
|
|
693
|
+
__name(normalizeToneMapping, "normalizeToneMapping");
|
|
694
|
+
function normalizeEnvironmentLighting(value) {
|
|
695
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
696
|
+
return void 0;
|
|
697
|
+
}
|
|
698
|
+
const lighting = value;
|
|
699
|
+
const defaults = DEFAULT_ENVIRONMENT_LIGHTING;
|
|
700
|
+
return {
|
|
701
|
+
envMapUrl: typeof lighting.envMapUrl === "string" ? lighting.envMapUrl : defaults.envMapUrl,
|
|
702
|
+
envIntensity: Math.max(0, toFiniteNumber(lighting.envIntensity, defaults.envIntensity)),
|
|
703
|
+
envRotationY: toFiniteNumber(lighting.envRotationY, defaults.envRotationY),
|
|
704
|
+
useAsBackground: typeof lighting.useAsBackground === "boolean" ? lighting.useAsBackground : defaults.useAsBackground,
|
|
705
|
+
backgroundBlurriness: Math.min(
|
|
706
|
+
1,
|
|
707
|
+
Math.max(0, toFiniteNumber(lighting.backgroundBlurriness, defaults.backgroundBlurriness))
|
|
708
|
+
),
|
|
709
|
+
backgroundIntensity: Math.max(
|
|
710
|
+
0,
|
|
711
|
+
toFiniteNumber(lighting.backgroundIntensity, defaults.backgroundIntensity)
|
|
712
|
+
),
|
|
713
|
+
toneMapping: normalizeToneMapping(lighting.toneMapping),
|
|
714
|
+
exposure: Math.max(0, toFiniteNumber(lighting.exposure, defaults.exposure))
|
|
715
|
+
};
|
|
716
|
+
}
|
|
717
|
+
__name(normalizeEnvironmentLighting, "normalizeEnvironmentLighting");
|
|
672
718
|
var _Environment = class _Environment extends Component {
|
|
673
719
|
constructor(values) {
|
|
674
720
|
super();
|
|
675
721
|
const skybox = values?.skybox;
|
|
676
722
|
const fog = values?.fog;
|
|
677
723
|
const gravity = values?.gravity;
|
|
724
|
+
const skyboxState = {
|
|
725
|
+
type: normalizeSkyboxType(skybox?.type),
|
|
726
|
+
color: typeof skybox?.color === "string" ? skybox.color : DEFAULT_ENVIRONMENT_STATE.skybox.color,
|
|
727
|
+
imageUrl: typeof skybox?.imageUrl === "string" ? skybox.imageUrl : DEFAULT_ENVIRONMENT_STATE.skybox.imageUrl,
|
|
728
|
+
gradient: {
|
|
729
|
+
colors: normalizeColors(skybox?.gradient?.colors),
|
|
730
|
+
effect: normalizeGradientEffect(skybox?.gradient?.effect)
|
|
731
|
+
}
|
|
732
|
+
};
|
|
733
|
+
const imageProjection = normalizeImageProjection(skybox?.imageProjection);
|
|
734
|
+
if (imageProjection) {
|
|
735
|
+
skyboxState.imageProjection = imageProjection;
|
|
736
|
+
}
|
|
678
737
|
this.values = {
|
|
679
|
-
skybox:
|
|
680
|
-
type: normalizeSkyboxType(skybox?.type),
|
|
681
|
-
color: typeof skybox?.color === "string" ? skybox.color : DEFAULT_ENVIRONMENT_STATE.skybox.color,
|
|
682
|
-
imageUrl: typeof skybox?.imageUrl === "string" ? skybox.imageUrl : DEFAULT_ENVIRONMENT_STATE.skybox.imageUrl,
|
|
683
|
-
gradient: {
|
|
684
|
-
colors: normalizeColors(skybox?.gradient?.colors),
|
|
685
|
-
effect: normalizeGradientEffect(skybox?.gradient?.effect)
|
|
686
|
-
}
|
|
687
|
-
},
|
|
738
|
+
skybox: skyboxState,
|
|
688
739
|
fog: {
|
|
689
740
|
type: normalizeFogType(fog?.type),
|
|
690
741
|
color: typeof fog?.color === "string" ? fog.color : DEFAULT_ENVIRONMENT_STATE.fog.color,
|
|
@@ -715,6 +766,10 @@ var _Environment = class _Environment extends Component {
|
|
|
715
766
|
DEFAULT_ENVIRONMENT_STATE.fixedTimeStep
|
|
716
767
|
)
|
|
717
768
|
};
|
|
769
|
+
const lighting = normalizeEnvironmentLighting(values?.lighting);
|
|
770
|
+
if (lighting) {
|
|
771
|
+
this.values.lighting = lighting;
|
|
772
|
+
}
|
|
718
773
|
}
|
|
719
774
|
};
|
|
720
775
|
__name(_Environment, "Environment");
|
|
@@ -1582,11 +1637,32 @@ __name(_MeshComponent, "MeshComponent");
|
|
|
1582
1637
|
var MeshComponent = _MeshComponent;
|
|
1583
1638
|
|
|
1584
1639
|
// core/components/Model.ts
|
|
1640
|
+
var MODEL_NO_PATH_MESSAGE = "No model path set.";
|
|
1641
|
+
function setModelLoadState(component, state, error) {
|
|
1642
|
+
Object.defineProperty(component, "loadState", {
|
|
1643
|
+
value: state,
|
|
1644
|
+
writable: true,
|
|
1645
|
+
configurable: true,
|
|
1646
|
+
enumerable: false
|
|
1647
|
+
});
|
|
1648
|
+
Object.defineProperty(component, "loadError", {
|
|
1649
|
+
value: state === "error" ? error ?? "Failed to load model." : void 0,
|
|
1650
|
+
writable: true,
|
|
1651
|
+
configurable: true,
|
|
1652
|
+
enumerable: false
|
|
1653
|
+
});
|
|
1654
|
+
}
|
|
1655
|
+
__name(setModelLoadState, "setModelLoadState");
|
|
1585
1656
|
var _ModelComponent = class _ModelComponent extends Component {
|
|
1586
1657
|
constructor(path) {
|
|
1587
1658
|
super();
|
|
1588
1659
|
this.path = path;
|
|
1589
1660
|
this.object = null;
|
|
1661
|
+
if (path) {
|
|
1662
|
+
setModelLoadState(this, "loading");
|
|
1663
|
+
} else {
|
|
1664
|
+
setModelLoadState(this, "error", MODEL_NO_PATH_MESSAGE);
|
|
1665
|
+
}
|
|
1590
1666
|
}
|
|
1591
1667
|
};
|
|
1592
1668
|
__name(_ModelComponent, "ModelComponent");
|
|
@@ -2005,6 +2081,213 @@ var _XRAnchorComponent = class _XRAnchorComponent extends Component {
|
|
|
2005
2081
|
__name(_XRAnchorComponent, "XRAnchorComponent");
|
|
2006
2082
|
var XRAnchorComponent = _XRAnchorComponent;
|
|
2007
2083
|
|
|
2084
|
+
// core/components/BoneAttachment.ts
|
|
2085
|
+
var _BoneAttachmentComponent = class _BoneAttachmentComponent extends Component {
|
|
2086
|
+
constructor(options) {
|
|
2087
|
+
super();
|
|
2088
|
+
this.bone = options?.bone ?? "";
|
|
2089
|
+
this.humanoid = options?.humanoid ?? null;
|
|
2090
|
+
this.compensateScale = options?.compensateScale ?? true;
|
|
2091
|
+
this.enabled = options?.enabled ?? true;
|
|
2092
|
+
}
|
|
2093
|
+
};
|
|
2094
|
+
__name(_BoneAttachmentComponent, "BoneAttachmentComponent");
|
|
2095
|
+
var BoneAttachmentComponent = _BoneAttachmentComponent;
|
|
2096
|
+
|
|
2097
|
+
// core/components/Network.ts
|
|
2098
|
+
var _NetworkIdentityComponent = class _NetworkIdentityComponent extends Component {
|
|
2099
|
+
constructor() {
|
|
2100
|
+
super();
|
|
2101
|
+
for (const key of ["networkId", "owner"]) {
|
|
2102
|
+
Object.defineProperty(this, key, {
|
|
2103
|
+
value: "",
|
|
2104
|
+
writable: true,
|
|
2105
|
+
configurable: true,
|
|
2106
|
+
enumerable: false
|
|
2107
|
+
});
|
|
2108
|
+
}
|
|
2109
|
+
}
|
|
2110
|
+
};
|
|
2111
|
+
__name(_NetworkIdentityComponent, "NetworkIdentityComponent");
|
|
2112
|
+
var NetworkIdentityComponent = _NetworkIdentityComponent;
|
|
2113
|
+
var _NetworkTransformComponent = class _NetworkTransformComponent extends Component {
|
|
2114
|
+
constructor(options = {}) {
|
|
2115
|
+
super();
|
|
2116
|
+
this.enabled = true;
|
|
2117
|
+
/** Updates per second the owner sends. */
|
|
2118
|
+
this.sendRate = 20;
|
|
2119
|
+
/** How far in the past others see it, in ms. More is smoother; less is more current. */
|
|
2120
|
+
this.interpolationMs = 100;
|
|
2121
|
+
this.syncRotation = true;
|
|
2122
|
+
/** A jump longer than this (m) snaps instead of sliding, for respawns and teleports. */
|
|
2123
|
+
this.teleportDistance = 5;
|
|
2124
|
+
Object.assign(this, options);
|
|
2125
|
+
}
|
|
2126
|
+
};
|
|
2127
|
+
__name(_NetworkTransformComponent, "NetworkTransformComponent");
|
|
2128
|
+
var NetworkTransformComponent = _NetworkTransformComponent;
|
|
2129
|
+
var _NetworkedPropsComponent = class _NetworkedPropsComponent extends Component {
|
|
2130
|
+
constructor(values = {}) {
|
|
2131
|
+
super();
|
|
2132
|
+
this.values = values;
|
|
2133
|
+
}
|
|
2134
|
+
};
|
|
2135
|
+
__name(_NetworkedPropsComponent, "NetworkedPropsComponent");
|
|
2136
|
+
var NetworkedPropsComponent = _NetworkedPropsComponent;
|
|
2137
|
+
var _NetworkSpawnerComponent = class _NetworkSpawnerComponent extends Component {
|
|
2138
|
+
constructor(playerPrefab = "", spawnRadius = 2) {
|
|
2139
|
+
super();
|
|
2140
|
+
this.playerPrefab = playerPrefab;
|
|
2141
|
+
this.spawnRadius = spawnRadius;
|
|
2142
|
+
}
|
|
2143
|
+
};
|
|
2144
|
+
__name(_NetworkSpawnerComponent, "NetworkSpawnerComponent");
|
|
2145
|
+
var NetworkSpawnerComponent = _NetworkSpawnerComponent;
|
|
2146
|
+
|
|
2147
|
+
// core/components/IK.ts
|
|
2148
|
+
function normalizeIKChain(chain) {
|
|
2149
|
+
const weight = typeof chain.weight === "number" && Number.isFinite(chain.weight) ? chain.weight : 1;
|
|
2150
|
+
return {
|
|
2151
|
+
limb: chain.limb,
|
|
2152
|
+
target: typeof chain.target === "number" ? chain.target : null,
|
|
2153
|
+
pole: typeof chain.pole === "number" ? chain.pole : null,
|
|
2154
|
+
weight: Math.min(1, Math.max(0, weight)),
|
|
2155
|
+
matchRotation: chain.matchRotation ?? false,
|
|
2156
|
+
enabled: chain.enabled ?? true
|
|
2157
|
+
};
|
|
2158
|
+
}
|
|
2159
|
+
__name(normalizeIKChain, "normalizeIKChain");
|
|
2160
|
+
var _IKComponent = class _IKComponent extends Component {
|
|
2161
|
+
constructor(options) {
|
|
2162
|
+
super();
|
|
2163
|
+
this.chains = (options?.chains ?? []).map(normalizeIKChain);
|
|
2164
|
+
this.enabled = options?.enabled ?? true;
|
|
2165
|
+
}
|
|
2166
|
+
};
|
|
2167
|
+
__name(_IKComponent, "IKComponent");
|
|
2168
|
+
var IKComponent = _IKComponent;
|
|
2169
|
+
|
|
2170
|
+
// core/ui/uiStyle.ts
|
|
2171
|
+
var isRecord = /* @__PURE__ */ __name((value) => typeof value === "object" && value !== null && !Array.isArray(value), "isRecord");
|
|
2172
|
+
var finite = /* @__PURE__ */ __name((value) => typeof value === "number" && Number.isFinite(value), "finite");
|
|
2173
|
+
var nonEmpty = /* @__PURE__ */ __name((value) => typeof value === "string" && value.length > 0, "nonEmpty");
|
|
2174
|
+
function normalizeStops(value) {
|
|
2175
|
+
if (!Array.isArray(value)) return null;
|
|
2176
|
+
const stops = [];
|
|
2177
|
+
for (const stop of value) {
|
|
2178
|
+
if (isRecord(stop) && finite(stop.at) && nonEmpty(stop.color)) {
|
|
2179
|
+
stops.push({ at: Math.min(1, Math.max(0, stop.at)), color: stop.color });
|
|
2180
|
+
}
|
|
2181
|
+
}
|
|
2182
|
+
return stops.length >= 2 ? stops : null;
|
|
2183
|
+
}
|
|
2184
|
+
__name(normalizeStops, "normalizeStops");
|
|
2185
|
+
function normalizePaint(value) {
|
|
2186
|
+
if (!isRecord(value)) return void 0;
|
|
2187
|
+
if (value.kind === "solid" && nonEmpty(value.color)) {
|
|
2188
|
+
return { kind: "solid", color: value.color };
|
|
2189
|
+
}
|
|
2190
|
+
if (value.kind === "linear") {
|
|
2191
|
+
const stops = normalizeStops(value.stops);
|
|
2192
|
+
if (stops) {
|
|
2193
|
+
return {
|
|
2194
|
+
kind: "linear",
|
|
2195
|
+
angle: finite(value.angle) ? value.angle : 180,
|
|
2196
|
+
stops
|
|
2197
|
+
};
|
|
2198
|
+
}
|
|
2199
|
+
}
|
|
2200
|
+
if (value.kind === "radial") {
|
|
2201
|
+
const stops = normalizeStops(value.stops);
|
|
2202
|
+
if (stops) return { kind: "radial", stops };
|
|
2203
|
+
}
|
|
2204
|
+
if (value.kind === "image" && nonEmpty(value.src)) {
|
|
2205
|
+
const fit = value.fit === "contain" || value.fit === "fill" ? value.fit : "cover";
|
|
2206
|
+
return {
|
|
2207
|
+
kind: "image",
|
|
2208
|
+
src: value.src,
|
|
2209
|
+
fit,
|
|
2210
|
+
...nonEmpty(value.tint) ? { tint: value.tint } : {}
|
|
2211
|
+
};
|
|
2212
|
+
}
|
|
2213
|
+
return void 0;
|
|
2214
|
+
}
|
|
2215
|
+
__name(normalizePaint, "normalizePaint");
|
|
2216
|
+
function normalizeShadow(value) {
|
|
2217
|
+
if (!isRecord(value) || !nonEmpty(value.color)) return void 0;
|
|
2218
|
+
return {
|
|
2219
|
+
x: finite(value.x) ? value.x : 0,
|
|
2220
|
+
y: finite(value.y) ? value.y : 0,
|
|
2221
|
+
blur: finite(value.blur) ? Math.max(0, value.blur) : 0,
|
|
2222
|
+
color: value.color
|
|
2223
|
+
};
|
|
2224
|
+
}
|
|
2225
|
+
__name(normalizeShadow, "normalizeShadow");
|
|
2226
|
+
function normalizeText(value) {
|
|
2227
|
+
if (!isRecord(value)) return void 0;
|
|
2228
|
+
const text = {};
|
|
2229
|
+
if (nonEmpty(value.font)) text.font = value.font;
|
|
2230
|
+
if (finite(value.weight)) text.weight = value.weight;
|
|
2231
|
+
if (finite(value.tracking)) text.tracking = value.tracking;
|
|
2232
|
+
if (value.transform === "upper" || value.transform === "lower") {
|
|
2233
|
+
text.transform = value.transform;
|
|
2234
|
+
}
|
|
2235
|
+
const paint = normalizePaint(value.paint);
|
|
2236
|
+
if (paint) text.paint = paint;
|
|
2237
|
+
if (finite(value.maxLines) && value.maxLines >= 1) {
|
|
2238
|
+
text.maxLines = Math.floor(value.maxLines);
|
|
2239
|
+
}
|
|
2240
|
+
const shadow = normalizeShadow(value.shadow);
|
|
2241
|
+
if (shadow) text.shadow = shadow;
|
|
2242
|
+
return Object.keys(text).length > 0 ? text : void 0;
|
|
2243
|
+
}
|
|
2244
|
+
__name(normalizeText, "normalizeText");
|
|
2245
|
+
function normalizeUiStyle(value) {
|
|
2246
|
+
if (!isRecord(value)) return void 0;
|
|
2247
|
+
const style = {};
|
|
2248
|
+
const fill = normalizePaint(value.fill);
|
|
2249
|
+
if (fill) style.fill = fill;
|
|
2250
|
+
if (isRecord(value.border) && finite(value.border.width)) {
|
|
2251
|
+
const paint = normalizePaint(value.border.paint);
|
|
2252
|
+
if (paint) {
|
|
2253
|
+
style.border = { width: Math.max(0, value.border.width), paint };
|
|
2254
|
+
}
|
|
2255
|
+
}
|
|
2256
|
+
if (finite(value.radius)) {
|
|
2257
|
+
style.radius = Math.max(0, value.radius);
|
|
2258
|
+
} else if (Array.isArray(value.radius) && value.radius.length === 4 && value.radius.every(finite)) {
|
|
2259
|
+
style.radius = value.radius.map((r) => Math.max(0, r));
|
|
2260
|
+
}
|
|
2261
|
+
if (Array.isArray(value.shadows)) {
|
|
2262
|
+
const shadows = value.shadows.map(normalizeShadow).filter((s) => !!s);
|
|
2263
|
+
if (shadows.length > 0) style.shadows = shadows;
|
|
2264
|
+
}
|
|
2265
|
+
if (isRecord(value.edge) && finite(value.edge.width) && nonEmpty(value.edge.color)) {
|
|
2266
|
+
style.edge = {
|
|
2267
|
+
width: Math.max(0, value.edge.width),
|
|
2268
|
+
color: value.edge.color
|
|
2269
|
+
};
|
|
2270
|
+
}
|
|
2271
|
+
if (finite(value.opacity)) {
|
|
2272
|
+
style.opacity = Math.min(1, Math.max(0, value.opacity));
|
|
2273
|
+
}
|
|
2274
|
+
const text = normalizeText(value.text);
|
|
2275
|
+
if (text) style.text = text;
|
|
2276
|
+
return Object.keys(style).length > 0 ? style : void 0;
|
|
2277
|
+
}
|
|
2278
|
+
__name(normalizeUiStyle, "normalizeUiStyle");
|
|
2279
|
+
function normalizeUiTokens(value) {
|
|
2280
|
+
if (!isRecord(value)) return void 0;
|
|
2281
|
+
const tokens = {};
|
|
2282
|
+
for (const [key, token] of Object.entries(value)) {
|
|
2283
|
+
if (nonEmpty(token) && key.length > 0 && !key.includes("/")) {
|
|
2284
|
+
tokens[key] = token;
|
|
2285
|
+
}
|
|
2286
|
+
}
|
|
2287
|
+
return Object.keys(tokens).length > 0 ? tokens : void 0;
|
|
2288
|
+
}
|
|
2289
|
+
__name(normalizeUiTokens, "normalizeUiTokens");
|
|
2290
|
+
|
|
2008
2291
|
// core/components/UIPanel.ts
|
|
2009
2292
|
var _UIPanelComponent = class _UIPanelComponent extends Component {
|
|
2010
2293
|
constructor(options) {
|
|
@@ -2018,6 +2301,10 @@ var _UIPanelComponent = class _UIPanelComponent extends Component {
|
|
|
2018
2301
|
this.borderColor = options?.borderColor ?? "#333333";
|
|
2019
2302
|
this.pixelDensity = options?.pixelDensity ?? 1024;
|
|
2020
2303
|
this.follow = options?.follow ?? "world";
|
|
2304
|
+
const style = normalizeUiStyle(options?.style);
|
|
2305
|
+
if (style) this.style = style;
|
|
2306
|
+
const tokens = normalizeUiTokens(options?.tokens);
|
|
2307
|
+
if (tokens) this.tokens = tokens;
|
|
2021
2308
|
}
|
|
2022
2309
|
};
|
|
2023
2310
|
__name(_UIPanelComponent, "UIPanelComponent");
|
|
@@ -2037,6 +2324,11 @@ var _UITextComponent = class _UITextComponent extends Component {
|
|
|
2037
2324
|
this.valign = options?.valign ?? "middle";
|
|
2038
2325
|
this.lineHeight = options?.lineHeight ?? 1.25;
|
|
2039
2326
|
this.padding = options?.padding ?? 0.01;
|
|
2327
|
+
if (options?.pixelDensity !== void 0) {
|
|
2328
|
+
this.pixelDensity = options.pixelDensity;
|
|
2329
|
+
}
|
|
2330
|
+
const style = normalizeUiStyle(options?.style);
|
|
2331
|
+
if (style) this.style = style;
|
|
2040
2332
|
}
|
|
2041
2333
|
};
|
|
2042
2334
|
__name(_UITextComponent, "UITextComponent");
|
|
@@ -2058,6 +2350,13 @@ var _UIButtonComponent = class _UIButtonComponent extends Component {
|
|
|
2058
2350
|
this.cornerRadius = options?.cornerRadius ?? 0.02;
|
|
2059
2351
|
this.borderWidth = options?.borderWidth ?? 2e-3;
|
|
2060
2352
|
this.borderColor = options?.borderColor ?? "#3a3a3a";
|
|
2353
|
+
if (options?.pixelDensity !== void 0) {
|
|
2354
|
+
this.pixelDensity = options.pixelDensity;
|
|
2355
|
+
}
|
|
2356
|
+
const style = normalizeUiStyle(options?.style);
|
|
2357
|
+
if (style) this.style = style;
|
|
2358
|
+
if (options?.icon) this.icon = options.icon;
|
|
2359
|
+
if (options?.iconPosition) this.iconPosition = options.iconPosition;
|
|
2061
2360
|
}
|
|
2062
2361
|
};
|
|
2063
2362
|
__name(_UIButtonComponent, "UIButtonComponent");
|
|
@@ -2074,6 +2373,12 @@ var _UIToggleComponent = class _UIToggleComponent extends Component {
|
|
|
2074
2373
|
this.trackColor = options?.trackColor ?? "#2a2a2a";
|
|
2075
2374
|
this.accentColor = options?.accentColor ?? "#ff6b35";
|
|
2076
2375
|
this.knobColor = options?.knobColor ?? "#ffffff";
|
|
2376
|
+
if (options?.pixelDensity !== void 0) {
|
|
2377
|
+
this.pixelDensity = options.pixelDensity;
|
|
2378
|
+
}
|
|
2379
|
+
const style = normalizeUiStyle(options?.style);
|
|
2380
|
+
if (style) this.style = style;
|
|
2381
|
+
if (options?.variant) this.variant = options.variant;
|
|
2077
2382
|
}
|
|
2078
2383
|
};
|
|
2079
2384
|
__name(_UIToggleComponent, "UIToggleComponent");
|
|
@@ -2094,6 +2399,14 @@ var _UISliderComponent = class _UISliderComponent extends Component {
|
|
|
2094
2399
|
this.trackColor = options?.trackColor ?? "#2a2a2a";
|
|
2095
2400
|
this.accentColor = options?.accentColor ?? "#ff6b35";
|
|
2096
2401
|
this.knobColor = options?.knobColor ?? "#ffffff";
|
|
2402
|
+
if (options?.pixelDensity !== void 0) {
|
|
2403
|
+
this.pixelDensity = options.pixelDensity;
|
|
2404
|
+
}
|
|
2405
|
+
const style = normalizeUiStyle(options?.style);
|
|
2406
|
+
if (style) this.style = style;
|
|
2407
|
+
if (options?.variant) this.variant = options.variant;
|
|
2408
|
+
if (options?.step !== void 0) this.step = options.step;
|
|
2409
|
+
if (options?.readOnly !== void 0) this.readOnly = options.readOnly;
|
|
2097
2410
|
}
|
|
2098
2411
|
};
|
|
2099
2412
|
__name(_UISliderComponent, "UISliderComponent");
|
|
@@ -2226,8 +2539,10 @@ var XRHandPoseComponent = _XRHandPoseComponent;
|
|
|
2226
2539
|
|
|
2227
2540
|
exports.AnimationComponent = AnimationComponent;
|
|
2228
2541
|
exports.AudioComponent = AudioComponent;
|
|
2542
|
+
exports.BoneAttachmentComponent = BoneAttachmentComponent;
|
|
2229
2543
|
exports.CameraComponent = CameraComponent;
|
|
2230
2544
|
exports.DEFAULT_COLLIDER_STATE = DEFAULT_COLLIDER_STATE;
|
|
2545
|
+
exports.DEFAULT_ENVIRONMENT_LIGHTING = DEFAULT_ENVIRONMENT_LIGHTING;
|
|
2231
2546
|
exports.DEFAULT_ENVIRONMENT_STATE = DEFAULT_ENVIRONMENT_STATE;
|
|
2232
2547
|
exports.DEFAULT_INSTANCED_MESH_PARAMETERS = DEFAULT_INSTANCED_MESH_PARAMETERS;
|
|
2233
2548
|
exports.DEFAULT_INSTANCE_TRANSFORM = DEFAULT_INSTANCE_TRANSFORM;
|
|
@@ -2239,17 +2554,23 @@ exports.DEFAULT_POSTPROCESSING_STATE = DEFAULT_POSTPROCESSING_STATE;
|
|
|
2239
2554
|
exports.DEFAULT_RIGIDBODY_STATE = DEFAULT_RIGIDBODY_STATE;
|
|
2240
2555
|
exports.EntityType = EntityType;
|
|
2241
2556
|
exports.Environment = Environment;
|
|
2557
|
+
exports.IKComponent = IKComponent;
|
|
2242
2558
|
exports.ImageComponent = ImageComponent;
|
|
2243
2559
|
exports.ImageTarget = ImageTarget;
|
|
2244
2560
|
exports.ImageTargetAnchor = ImageTargetAnchor;
|
|
2245
2561
|
exports.InstanceSlotComponent = InstanceSlotComponent;
|
|
2246
2562
|
exports.InstancedMeshComponent = InstancedMeshComponent;
|
|
2247
2563
|
exports.LightComponent = LightComponent;
|
|
2564
|
+
exports.MODEL_NO_PATH_MESSAGE = MODEL_NO_PATH_MESSAGE;
|
|
2248
2565
|
exports.MaterialComponent = MaterialComponent;
|
|
2249
2566
|
exports.MeshComponent = MeshComponent;
|
|
2250
2567
|
exports.MeshGeometryComponent = MeshGeometryComponent;
|
|
2251
2568
|
exports.ModelComponent = ModelComponent;
|
|
2252
2569
|
exports.Name = Name;
|
|
2570
|
+
exports.NetworkIdentityComponent = NetworkIdentityComponent;
|
|
2571
|
+
exports.NetworkSpawnerComponent = NetworkSpawnerComponent;
|
|
2572
|
+
exports.NetworkTransformComponent = NetworkTransformComponent;
|
|
2573
|
+
exports.NetworkedPropsComponent = NetworkedPropsComponent;
|
|
2253
2574
|
exports.Object3DRef = Object3DRef;
|
|
2254
2575
|
exports.ParentId = ParentId;
|
|
2255
2576
|
exports.PhysicsComponent = PhysicsComponent;
|
|
@@ -2280,7 +2601,10 @@ exports.createAttachPoint = createAttachPoint;
|
|
|
2280
2601
|
exports.createHandPoseEntry = createHandPoseEntry;
|
|
2281
2602
|
exports.defaultMaterialValue = defaultMaterialValue;
|
|
2282
2603
|
exports.handPoseDefinitionFor = handPoseDefinitionFor;
|
|
2604
|
+
exports.normalizeEnvironmentLighting = normalizeEnvironmentLighting;
|
|
2605
|
+
exports.normalizeIKChain = normalizeIKChain;
|
|
2283
2606
|
exports.normalizePhysicsState = normalizePhysicsState;
|
|
2607
|
+
exports.setModelLoadState = setModelLoadState;
|
|
2284
2608
|
exports.setPhysicsLiveRef = setPhysicsLiveRef;
|
|
2285
2609
|
//# sourceMappingURL=index.cjs.map
|
|
2286
2610
|
//# sourceMappingURL=index.cjs.map
|