@relu-interactives/spatial-ecs 0.3.5 → 0.3.7

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.
Files changed (44) hide show
  1. package/dist/{System-vrU46Vuw.d.cts → System-TmC2EijF.d.cts} +2 -2
  2. package/dist/{System-vrU46Vuw.d.ts → System-TmC2EijF.d.ts} +2 -2
  3. package/dist/{XRRig-2686IqLQ.d.cts → XRInteractor-CCUzSqg9.d.ts} +96 -2
  4. package/dist/{XRRig-D2QURXl1.d.ts → XRInteractor-I2q6TKtF.d.cts} +96 -2
  5. package/dist/{chunk-4BZYK3JP.js → chunk-FQTOC7HK.js} +135 -88
  6. package/dist/chunk-FQTOC7HK.js.map +1 -0
  7. package/dist/{chunk-2LVFGVWI.js → chunk-JRJ3CL5H.js} +3 -3
  8. package/dist/{chunk-2LVFGVWI.js.map → chunk-JRJ3CL5H.js.map} +1 -1
  9. package/dist/{chunk-6QC2PJLD.js → chunk-N4GKZ7IV.js} +29 -3
  10. package/dist/chunk-N4GKZ7IV.js.map +1 -0
  11. package/dist/{chunk-G53MZVKQ.js → chunk-O6FJA4XW.js} +367 -53
  12. package/dist/chunk-O6FJA4XW.js.map +1 -0
  13. package/dist/components/index.cjs +26 -0
  14. package/dist/components/index.cjs.map +1 -1
  15. package/dist/components/index.d.cts +3 -3
  16. package/dist/components/index.d.ts +3 -3
  17. package/dist/components/index.js +1 -1
  18. package/dist/factories/index.cjs +185 -112
  19. package/dist/factories/index.cjs.map +1 -1
  20. package/dist/factories/index.d.cts +7 -3
  21. package/dist/factories/index.d.ts +7 -3
  22. package/dist/factories/index.js +3 -3
  23. package/dist/{index-BvCmmuJ0.d.cts → index-B9nwRDf9.d.cts} +65 -14
  24. package/dist/{index-BtKOaHfY.d.ts → index-BltjPEhg.d.cts} +10 -3
  25. package/dist/{index-Xu238jLn.d.cts → index-W8pUajCW.d.ts} +10 -3
  26. package/dist/{index-B-CViRMx.d.ts → index-_q9TVDI5.d.ts} +65 -14
  27. package/dist/index.cjs +684 -293
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.d.cts +35 -9
  30. package/dist/index.d.ts +35 -9
  31. package/dist/index.js +8 -8
  32. package/dist/systems/index.cjs +386 -48
  33. package/dist/systems/index.cjs.map +1 -1
  34. package/dist/systems/index.d.cts +2 -2
  35. package/dist/systems/index.d.ts +2 -2
  36. package/dist/systems/index.js +3 -3
  37. package/dist/types.d.cts +1 -1
  38. package/dist/types.d.ts +1 -1
  39. package/dist/worldSnapshotUtils.d.cts +1 -1
  40. package/dist/worldSnapshotUtils.d.ts +1 -1
  41. package/package.json +1 -1
  42. package/dist/chunk-4BZYK3JP.js.map +0 -1
  43. package/dist/chunk-6QC2PJLD.js.map +0 -1
  44. package/dist/chunk-G53MZVKQ.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { A as AnimationComponent, b as AudioComponent, c as CameraComponentOptions, C as CameraComponent, S as RigidbodyState, g as ColliderState, P as PhysicsComponent, n as EntityType, I as ImageComponent, p as ImageTargetAnchor, o as ImageTarget, L as LightComponent, M as MaterialComponent, z as MeshComponent, B as MeshGeometryComponent, H as ModelComponent, N as Name, O as Object3DRef, V as ScriptEntry, U as ScriptComponent, X as ScriptObjectComponentInput, W as ScriptObjectComponent, Z as Selectable, _ as SelectionTransformState, $ as SpriteComponent, v as InstancedMeshKind, F as MeshGeometryParameters, u as InstancedMeshComponent, s as InstanceSlotComponent, a5 as VideoComponent, a9 as XRRigComponent, a3 as VRTeleportAreaComponent, a7 as XRInteractableComponent } from '../XRRig-2686IqLQ.cjs';
2
- import { l as World, g as EnvironmentState, E as Environment, P as ParentId, i as PostprocessingState, h as Postprocessing, T as TransformComponent, O as ObjectManagementSystem } from '../System-vrU46Vuw.cjs';
1
+ import { A as AnimationComponent, b as AudioComponent, c as CameraComponentOptions, C as CameraComponent, S as RigidbodyState, g as ColliderState, P as PhysicsComponent, n as EntityType, I as ImageComponent, p as ImageTargetAnchor, o as ImageTarget, L as LightComponent, M as MaterialComponent, z as MeshComponent, B as MeshGeometryComponent, H as ModelComponent, N as Name, O as Object3DRef, V as ScriptEntry, U as ScriptComponent, X as ScriptObjectComponentInput, W as ScriptObjectComponent, Z as Selectable, _ as SelectionTransformState, $ as SpriteComponent, v as InstancedMeshKind, F as MeshGeometryParameters, u as InstancedMeshComponent, s as InstanceSlotComponent, a5 as VideoComponent, ac as XRRigComponent, a3 as VRTeleportAreaComponent, a7 as XRInteractableComponent, a9 as XRInteractorComponent, ab as XRInteractorSideComponent } from '../XRInteractor-I2q6TKtF.cjs';
2
+ import { l as World, g as EnvironmentState, E as Environment, P as ParentId, i as PostprocessingState, h as Postprocessing, T as TransformComponent, O as ObjectManagementSystem } from '../System-TmC2EijF.cjs';
3
3
  import * as THREE from 'three';
4
4
  import '@dimforge/rapier3d-compat';
5
5
 
@@ -80,8 +80,12 @@ declare function createVRTeleportAreaComponent(world: World, entityId: number, .
80
80
 
81
81
  declare function createXRInteractableComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof XRInteractableComponent>): XRInteractableComponent;
82
82
 
83
+ declare function createXRInteractorComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof XRInteractorComponent>): XRInteractorComponent;
84
+
85
+ declare function createXRInteractorSideComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof XRInteractorSideComponent>): XRInteractorSideComponent;
86
+
83
87
  declare function registerDefaultComponentFactories(objectManagementSystem: ObjectManagementSystem): void;
84
88
 
85
89
  declare function registerDefaultFactories(objectManagementSystem: ObjectManagementSystem): void;
86
90
 
87
- export { createAnimationComponent, createAudioComponent, createCameraComponent, createEntityTypeComponent, createEnvironmentComponent, createImageComponent, createImageTargetAnchorComponent, createImageTargetComponent, createInstanceSlotComponent, createInstancedMeshComponent, createLightComponent, createMaterialComponent, createMeshComponent, createMeshGeometryComponent, createModelComponent, createNameComponent, createObject3DRefComponent, createParentIdComponent, createPhysicsComponent, createPostprocessingComponent, createScriptComponent, createScriptObjectComponent, createSelectableComponent, createSelectionTransformStateComponent, createSpriteComponent, createTransformComponent, createVRTeleportAreaComponent, createVideoComponent, createXRInteractableComponent, createXRRigComponent, registerDefaultComponentFactories, registerDefaultFactories };
91
+ export { createAnimationComponent, createAudioComponent, createCameraComponent, createEntityTypeComponent, createEnvironmentComponent, createImageComponent, createImageTargetAnchorComponent, createImageTargetComponent, createInstanceSlotComponent, createInstancedMeshComponent, createLightComponent, createMaterialComponent, createMeshComponent, createMeshGeometryComponent, createModelComponent, createNameComponent, createObject3DRefComponent, createParentIdComponent, createPhysicsComponent, createPostprocessingComponent, createScriptComponent, createScriptObjectComponent, createSelectableComponent, createSelectionTransformStateComponent, createSpriteComponent, createTransformComponent, createVRTeleportAreaComponent, createVideoComponent, createXRInteractableComponent, createXRInteractorComponent, createXRInteractorSideComponent, createXRRigComponent, registerDefaultComponentFactories, registerDefaultFactories };
@@ -1,5 +1,5 @@
1
- import { A as AnimationComponent, b as AudioComponent, c as CameraComponentOptions, C as CameraComponent, S as RigidbodyState, g as ColliderState, P as PhysicsComponent, n as EntityType, I as ImageComponent, p as ImageTargetAnchor, o as ImageTarget, L as LightComponent, M as MaterialComponent, z as MeshComponent, B as MeshGeometryComponent, H as ModelComponent, N as Name, O as Object3DRef, V as ScriptEntry, U as ScriptComponent, X as ScriptObjectComponentInput, W as ScriptObjectComponent, Z as Selectable, _ as SelectionTransformState, $ as SpriteComponent, v as InstancedMeshKind, F as MeshGeometryParameters, u as InstancedMeshComponent, s as InstanceSlotComponent, a5 as VideoComponent, a9 as XRRigComponent, a3 as VRTeleportAreaComponent, a7 as XRInteractableComponent } from '../XRRig-D2QURXl1.js';
2
- import { l as World, g as EnvironmentState, E as Environment, P as ParentId, i as PostprocessingState, h as Postprocessing, T as TransformComponent, O as ObjectManagementSystem } from '../System-vrU46Vuw.js';
1
+ import { A as AnimationComponent, b as AudioComponent, c as CameraComponentOptions, C as CameraComponent, S as RigidbodyState, g as ColliderState, P as PhysicsComponent, n as EntityType, I as ImageComponent, p as ImageTargetAnchor, o as ImageTarget, L as LightComponent, M as MaterialComponent, z as MeshComponent, B as MeshGeometryComponent, H as ModelComponent, N as Name, O as Object3DRef, V as ScriptEntry, U as ScriptComponent, X as ScriptObjectComponentInput, W as ScriptObjectComponent, Z as Selectable, _ as SelectionTransformState, $ as SpriteComponent, v as InstancedMeshKind, F as MeshGeometryParameters, u as InstancedMeshComponent, s as InstanceSlotComponent, a5 as VideoComponent, ac as XRRigComponent, a3 as VRTeleportAreaComponent, a7 as XRInteractableComponent, a9 as XRInteractorComponent, ab as XRInteractorSideComponent } from '../XRInteractor-CCUzSqg9.js';
2
+ import { l as World, g as EnvironmentState, E as Environment, P as ParentId, i as PostprocessingState, h as Postprocessing, T as TransformComponent, O as ObjectManagementSystem } from '../System-TmC2EijF.js';
3
3
  import * as THREE from 'three';
4
4
  import '@dimforge/rapier3d-compat';
5
5
 
@@ -80,8 +80,12 @@ declare function createVRTeleportAreaComponent(world: World, entityId: number, .
80
80
 
81
81
  declare function createXRInteractableComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof XRInteractableComponent>): XRInteractableComponent;
82
82
 
83
+ declare function createXRInteractorComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof XRInteractorComponent>): XRInteractorComponent;
84
+
85
+ declare function createXRInteractorSideComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof XRInteractorSideComponent>): XRInteractorSideComponent;
86
+
83
87
  declare function registerDefaultComponentFactories(objectManagementSystem: ObjectManagementSystem): void;
84
88
 
85
89
  declare function registerDefaultFactories(objectManagementSystem: ObjectManagementSystem): void;
86
90
 
87
- export { createAnimationComponent, createAudioComponent, createCameraComponent, createEntityTypeComponent, createEnvironmentComponent, createImageComponent, createImageTargetAnchorComponent, createImageTargetComponent, createInstanceSlotComponent, createInstancedMeshComponent, createLightComponent, createMaterialComponent, createMeshComponent, createMeshGeometryComponent, createModelComponent, createNameComponent, createObject3DRefComponent, createParentIdComponent, createPhysicsComponent, createPostprocessingComponent, createScriptComponent, createScriptObjectComponent, createSelectableComponent, createSelectionTransformStateComponent, createSpriteComponent, createTransformComponent, createVRTeleportAreaComponent, createVideoComponent, createXRInteractableComponent, createXRRigComponent, registerDefaultComponentFactories, registerDefaultFactories };
91
+ export { createAnimationComponent, createAudioComponent, createCameraComponent, createEntityTypeComponent, createEnvironmentComponent, createImageComponent, createImageTargetAnchorComponent, createImageTargetComponent, createInstanceSlotComponent, createInstancedMeshComponent, createLightComponent, createMaterialComponent, createMeshComponent, createMeshGeometryComponent, createModelComponent, createNameComponent, createObject3DRefComponent, createParentIdComponent, createPhysicsComponent, createPostprocessingComponent, createScriptComponent, createScriptObjectComponent, createSelectableComponent, createSelectionTransformStateComponent, createSpriteComponent, createTransformComponent, createVRTeleportAreaComponent, createVideoComponent, createXRInteractableComponent, createXRInteractorComponent, createXRInteractorSideComponent, createXRRigComponent, registerDefaultComponentFactories, registerDefaultFactories };
@@ -1,6 +1,6 @@
1
- export { createAnimationComponent, createAudioComponent, createCameraComponent, createEntityTypeComponent, createEnvironmentComponent, createImageComponent, createImageTargetAnchorComponent, createImageTargetComponent, createInstanceSlotComponent, createInstancedMeshComponent, createLightComponent, createMaterialComponent, createMeshComponent, createMeshGeometryComponent, createModelComponent, createNameComponent, createObject3DRefComponent, createParentIdComponent, createPhysicsComponent, createPostprocessingComponent, createScriptComponent, createScriptObjectComponent, createSelectableComponent, createSelectionTransformStateComponent, createSpriteComponent, createTransformComponent, createVRTeleportAreaComponent, createVideoComponent, createXRInteractableComponent, createXRRigComponent, registerDefaultComponentFactories, registerDefaultFactories } from '../chunk-4BZYK3JP.js';
2
- import '../chunk-2LVFGVWI.js';
3
- import '../chunk-6QC2PJLD.js';
1
+ export { createAnimationComponent, createAudioComponent, createCameraComponent, createEntityTypeComponent, createEnvironmentComponent, createImageComponent, createImageTargetAnchorComponent, createImageTargetComponent, createInstanceSlotComponent, createInstancedMeshComponent, createLightComponent, createMaterialComponent, createMeshComponent, createMeshGeometryComponent, createModelComponent, createNameComponent, createObject3DRefComponent, createParentIdComponent, createPhysicsComponent, createPostprocessingComponent, createScriptComponent, createScriptObjectComponent, createSelectableComponent, createSelectionTransformStateComponent, createSpriteComponent, createTransformComponent, createVRTeleportAreaComponent, createVideoComponent, createXRInteractableComponent, createXRInteractorComponent, createXRInteractorSideComponent, createXRRigComponent, registerDefaultComponentFactories, registerDefaultFactories } from '../chunk-FQTOC7HK.js';
2
+ import '../chunk-JRJ3CL5H.js';
3
+ import '../chunk-N4GKZ7IV.js';
4
4
  import '../chunk-OY7ZODZP.js';
5
5
  //# sourceMappingURL=index.js.map
6
6
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { k as EcsSystem, l as World } from './System-vrU46Vuw.cjs';
1
+ import { k as EcsSystem, l as World } from './System-TmC2EijF.cjs';
2
2
  import * as THREE from 'three';
3
3
 
4
4
  declare class AnimationSystem implements EcsSystem {
@@ -434,10 +434,22 @@ declare class XRLocomotionSystem implements EcsSystem {
434
434
  /** Curve up to the landing point, for the visual system. Empty when not aiming. */
435
435
  private aimCurve;
436
436
  private landingPoint;
437
+ /** True when the current aim lands somewhere the player may actually stand. */
438
+ private aimValid;
439
+ /** Sources currently aiming via thumbstick (hysteresis, so it doesn't chatter). */
440
+ private readonly stickAiming;
437
441
  /** True once we've tried to self-heal camera parenting for this session. */
438
442
  private parentingChecked;
439
443
  constructor(inputSystem: XRInputSystem);
440
444
  update(world: World, deltaTime: number): void;
445
+ /**
446
+ * Name what is missing, once per session.
447
+ *
448
+ * Inside a headset there is no console and no inspector, so a scene that
449
+ * simply cannot move gives the author nothing to go on. These messages are
450
+ * visible over remote debugging and say exactly which entity to add.
451
+ */
452
+ private warnOnIncompleteSetup;
441
453
  /**
442
454
  * Guarantee the render camera is a CHILD of the rig.
443
455
  *
@@ -458,11 +470,21 @@ declare class XRLocomotionSystem implements EcsSystem {
458
470
  private applySnapTurn;
459
471
  private applySmoothMove;
460
472
  private applyTeleport;
473
+ /**
474
+ * Thumbstick-forward aiming with hysteresis.
475
+ *
476
+ * Engaging at 0.6 and releasing at 0.3 stops a stick resting near the
477
+ * threshold from flickering the arc on and off — and the release edge is what
478
+ * commits the teleport, so chatter there would teleport the player randomly.
479
+ */
480
+ private readStickAim;
461
481
  /** Walk the arc segment-by-segment, returning the first surface hit. */
462
482
  private raycastArc;
463
483
  private collectTeleportTargets;
464
484
  /** Arc points up to the landing spot this frame; empty when not aiming. */
465
485
  getAimCurve(): THREE.Vector3[];
486
+ /** True when the aim lands on a valid teleport area. */
487
+ isAimValid(): boolean;
466
488
  /** Where the arc currently lands, or null when not aiming at a valid area. */
467
489
  getLandingPoint(): THREE.Vector3 | null;
468
490
  }
@@ -483,9 +505,28 @@ declare class XRSessionSystem implements EcsSystem {
483
505
  private presenting;
484
506
  private capabilities;
485
507
  private readonly inputSystem;
508
+ /** Y compensation applied when a floor-relative space was requested but not granted. */
509
+ private appliedOriginOffset;
486
510
  constructor(inputSystem?: XRInputSystem);
487
511
  update(world: World): void;
488
512
  private handleSessionStart;
513
+ /**
514
+ * Apply the rig's authored tracking origin, and compensate when the device
515
+ * cannot honour it.
516
+ *
517
+ * `floor` (`local-floor`) puts Y=0 on the user's real floor, which is what a
518
+ * scene authored standing on the ground expects. `eye` (`local`) puts Y=0 at
519
+ * the headset, for seated experiences.
520
+ *
521
+ * The compensation matters: `local-floor` is only ever REQUESTED as an
522
+ * optional feature (requiring it would make `requestSession` reject outright
523
+ * on devices that lack it). When it isn't granted, the runtime silently falls
524
+ * back to `local` — the origin jumps to head height and a floor-authored
525
+ * scene swallows the user, which is exactly the "I'm standing under the
526
+ * building" symptom. Offsetting the rig down by the eye height restores the
527
+ * intended floor relationship instead of leaving it broken.
528
+ */
529
+ private applyTrackingOrigin;
489
530
  private handleSessionEnd;
490
531
  /**
491
532
  * Relay this frame's one-frame select edges. Polling the latched state (rather
@@ -512,27 +553,37 @@ declare class XRControllerVisualSystem implements EcsSystem {
512
553
  private readonly controllerModelFactory;
513
554
  private readonly handModelFactory;
514
555
  private readonly group;
515
- private built;
516
- private attachedTo;
517
- /** Index → whether we've already attached visuals for that slot. */
518
- private readonly ready;
519
- /** How many controller slots to wire. Two covers every current headset. */
520
556
  private readonly slots;
521
- /** Optional — when provided, the aim ray only shows over interactables. */
522
557
  private readonly interactionSystem;
523
- private readonly rays;
558
+ private attachedTo;
559
+ /** Last applied preset signature, so materials rebuild only on real change. */
560
+ private handStyleSignature;
561
+ private handMaterial;
524
562
  constructor(options?: {
525
- slots?: number;
526
563
  interactionSystem?: XRInteractionSystem;
527
564
  });
528
565
  update(world: World): void;
566
+ /** The scene's interactor config, if one was authored. */
567
+ private resolveInteractor;
568
+ /**
569
+ * Re-parent the author's left/right interactor content onto the tracked grip
570
+ * space so it follows the hand.
571
+ *
572
+ * `ObjectManagementSystem` reconciles ECS objects back under their ParentId
573
+ * every frame, so this re-attach has to be re-asserted — the same coexistence
574
+ * dance the AR anchor system performs.
575
+ */
576
+ private syncCustomContent;
577
+ /** Rebuild the hand material only when the authored style actually changes. */
578
+ private syncHandMaterial;
529
579
  /**
530
- * Show the aim ray only when it is meaningful: hovering something
531
- * interactive, or mid-grab. A permanently-drawn ray is visual noise, and it
532
- * implies everything is clickable when most of the scene is not. Teleport
533
- * aiming has its own arc, so the straight ray stays hidden for that.
580
+ * The ray is meaningful only when it points at something. Authors can turn it
581
+ * off entirely; otherwise it appears on hover/grab so it isn't permanent
582
+ * clutter implying the whole scene is clickable.
534
583
  */
535
- private updateRayVisibility;
584
+ private shouldShowRay;
585
+ /** Lazily build per-slot visuals; the device reports profiles late. */
586
+ private ensureSlots;
536
587
  /**
537
588
  * Parent the visuals to the XR rig when there is one, so locomotion moves the
538
589
  * hands with the player. Falls back to the scene root.
@@ -1,5 +1,5 @@
1
- import { A as AnimationComponent, a as AnimationComponentOptions, b as AudioComponent, C as CameraComponent, c as CameraComponentOptions, d as CameraProjection, e as CameraRuntimeType, f as ColliderShape, g as ColliderState, h as CubeMeshParameters, D as DEFAULT_COLLIDER_STATE, i as DEFAULT_INSTANCED_MESH_PARAMETERS, j as DEFAULT_INSTANCE_TRANSFORM, k as DEFAULT_MESH_GEOMETRY_PARAMETERS, l as DEFAULT_PHYSICS_STATE, m as DEFAULT_RIGIDBODY_STATE, E as EditableMeshObjectKind, n as EntityType, I as ImageComponent, o as ImageTarget, p as ImageTargetAnchor, q as ImageTargetAnchorOptions, r as ImageTargetReference, s as InstanceSlotComponent, t as InstanceTransform, u as InstancedMeshComponent, v as InstancedMeshKind, L as LightComponent, w as LightValueState, M as MaterialComponent, x as MaterialTypeValue, y as MaterialValueState, z as MeshComponent, B as MeshGeometryComponent, F as MeshGeometryParameters, G as MeshGeometryParametersByKind, H as ModelComponent, N as Name, O as Object3DRef, P as PhysicsComponent, J as PhysicsState, K as PlaneMeshParameters, R as RadiusHeightMeshParameters, Q as RadiusMeshParameters, S as RigidbodyState, T as RigidbodyType, U as ScriptComponent, V as ScriptEntry, W as ScriptObjectComponent, X as ScriptObjectComponentInput, Y as ScriptObjectRuntimeState, Z as Selectable, _ as SelectionTransformState, $ as SpriteComponent, a0 as TextureFilteringValue, a1 as TransformModeValue, a2 as TransformSpaceValue, a3 as VRTeleportAreaComponent, a4 as VRTeleportAreaOptions, a5 as VideoComponent, a6 as VrTeleportShape, a7 as XRInteractableComponent, a8 as XRInteractableOptions, a9 as XRRigComponent, aa as XRRigOptions, ab as XrGrabMode, ac as XrLocomotionMode, ad as defaultMaterialValue, ae as normalizePhysicsState, af as setPhysicsLiveRef } from './XRRig-D2QURXl1.js';
2
- import { C as Component, D as DEFAULT_ENVIRONMENT_STATE, a as DEFAULT_POSTPROCESSING_STATE, E as Environment, b as EnvironmentFogState, c as EnvironmentFogType, d as EnvironmentGradientEffect, e as EnvironmentSkyboxState, f as EnvironmentSkyboxType, g as EnvironmentState, P as ParentId, h as Postprocessing, i as PostprocessingState, T as TransformComponent, j as TransformData, V as Vec3 } from './System-vrU46Vuw.js';
1
+ import { A as AnimationComponent, a as AnimationComponentOptions, b as AudioComponent, C as CameraComponent, c as CameraComponentOptions, d as CameraProjection, e as CameraRuntimeType, f as ColliderShape, g as ColliderState, h as CubeMeshParameters, D as DEFAULT_COLLIDER_STATE, i as DEFAULT_INSTANCED_MESH_PARAMETERS, j as DEFAULT_INSTANCE_TRANSFORM, k as DEFAULT_MESH_GEOMETRY_PARAMETERS, l as DEFAULT_PHYSICS_STATE, m as DEFAULT_RIGIDBODY_STATE, E as EditableMeshObjectKind, n as EntityType, I as ImageComponent, o as ImageTarget, p as ImageTargetAnchor, q as ImageTargetAnchorOptions, r as ImageTargetReference, s as InstanceSlotComponent, t as InstanceTransform, u as InstancedMeshComponent, v as InstancedMeshKind, L as LightComponent, w as LightValueState, M as MaterialComponent, x as MaterialTypeValue, y as MaterialValueState, z as MeshComponent, B as MeshGeometryComponent, F as MeshGeometryParameters, G as MeshGeometryParametersByKind, H as ModelComponent, N as Name, O as Object3DRef, P as PhysicsComponent, J as PhysicsState, K as PlaneMeshParameters, R as RadiusHeightMeshParameters, Q as RadiusMeshParameters, S as RigidbodyState, T as RigidbodyType, U as ScriptComponent, V as ScriptEntry, W as ScriptObjectComponent, X as ScriptObjectComponentInput, Y as ScriptObjectRuntimeState, Z as Selectable, _ as SelectionTransformState, $ as SpriteComponent, a0 as TextureFilteringValue, a1 as TransformModeValue, a2 as TransformSpaceValue, a3 as VRTeleportAreaComponent, a4 as VRTeleportAreaOptions, a5 as VideoComponent, a6 as VrTeleportShape, a7 as XRInteractableComponent, a8 as XRInteractableOptions, a9 as XRInteractorComponent, aa as XRInteractorOptions, ab as XRInteractorSideComponent, ac as XRRigComponent, ad as XRRigOptions, ae as XrGrabMode, af as XrHandPreset, ag as XrInteractorSide, ah as XrInteractorType, ai as XrLocomotionMode, aj as XrTrackingOrigin, ak as defaultMaterialValue, al as normalizePhysicsState, am as setPhysicsLiveRef } from './XRInteractor-I2q6TKtF.cjs';
2
+ import { C as Component, D as DEFAULT_ENVIRONMENT_STATE, a as DEFAULT_POSTPROCESSING_STATE, E as Environment, b as EnvironmentFogState, c as EnvironmentFogType, d as EnvironmentGradientEffect, e as EnvironmentSkyboxState, f as EnvironmentSkyboxType, g as EnvironmentState, P as ParentId, h as Postprocessing, i as PostprocessingState, T as TransformComponent, j as TransformData, V as Vec3 } from './System-TmC2EijF.cjs';
3
3
 
4
4
  /**
5
5
  * Marks the ROOT entity of a prefab instance and records its link to the
@@ -150,15 +150,22 @@ declare const index_VideoComponent: typeof VideoComponent;
150
150
  declare const index_VrTeleportShape: typeof VrTeleportShape;
151
151
  declare const index_XRInteractableComponent: typeof XRInteractableComponent;
152
152
  declare const index_XRInteractableOptions: typeof XRInteractableOptions;
153
+ declare const index_XRInteractorComponent: typeof XRInteractorComponent;
154
+ declare const index_XRInteractorOptions: typeof XRInteractorOptions;
155
+ declare const index_XRInteractorSideComponent: typeof XRInteractorSideComponent;
153
156
  declare const index_XRRigComponent: typeof XRRigComponent;
154
157
  declare const index_XRRigOptions: typeof XRRigOptions;
155
158
  declare const index_XrGrabMode: typeof XrGrabMode;
159
+ declare const index_XrHandPreset: typeof XrHandPreset;
160
+ declare const index_XrInteractorSide: typeof XrInteractorSide;
161
+ declare const index_XrInteractorType: typeof XrInteractorType;
156
162
  declare const index_XrLocomotionMode: typeof XrLocomotionMode;
163
+ declare const index_XrTrackingOrigin: typeof XrTrackingOrigin;
157
164
  declare const index_defaultMaterialValue: typeof defaultMaterialValue;
158
165
  declare const index_normalizePhysicsState: typeof normalizePhysicsState;
159
166
  declare const index_setPhysicsLiveRef: typeof setPhysicsLiveRef;
160
167
  declare namespace index {
161
- export { index_AnimationComponent as AnimationComponent, index_AnimationComponentOptions as AnimationComponentOptions, index_AudioComponent as AudioComponent, index_CameraComponent as CameraComponent, index_CameraComponentOptions as CameraComponentOptions, index_CameraProjection as CameraProjection, index_CameraRuntimeType as CameraRuntimeType, index_ColliderShape as ColliderShape, index_ColliderState as ColliderState, index_CubeMeshParameters as CubeMeshParameters, index_DEFAULT_COLLIDER_STATE as DEFAULT_COLLIDER_STATE, index_DEFAULT_ENVIRONMENT_STATE as DEFAULT_ENVIRONMENT_STATE, index_DEFAULT_INSTANCED_MESH_PARAMETERS as DEFAULT_INSTANCED_MESH_PARAMETERS, index_DEFAULT_INSTANCE_TRANSFORM as DEFAULT_INSTANCE_TRANSFORM, index_DEFAULT_MESH_GEOMETRY_PARAMETERS as DEFAULT_MESH_GEOMETRY_PARAMETERS, index_DEFAULT_PHYSICS_STATE as DEFAULT_PHYSICS_STATE, index_DEFAULT_POSTPROCESSING_STATE as DEFAULT_POSTPROCESSING_STATE, index_DEFAULT_RIGIDBODY_STATE as DEFAULT_RIGIDBODY_STATE, index_EditableMeshObjectKind as EditableMeshObjectKind, index_EntityType as EntityType, index_Environment as Environment, index_EnvironmentFogState as EnvironmentFogState, index_EnvironmentFogType as EnvironmentFogType, index_EnvironmentGradientEffect as EnvironmentGradientEffect, index_EnvironmentSkyboxState as EnvironmentSkyboxState, index_EnvironmentSkyboxType as EnvironmentSkyboxType, index_EnvironmentState as EnvironmentState, index_ImageComponent as ImageComponent, index_ImageTarget as ImageTarget, index_ImageTargetAnchor as ImageTargetAnchor, index_ImageTargetAnchorOptions as ImageTargetAnchorOptions, index_ImageTargetReference as ImageTargetReference, index_InstanceSlotComponent as InstanceSlotComponent, index_InstanceTransform as InstanceTransform, index_InstancedMeshComponent as InstancedMeshComponent, index_InstancedMeshKind as InstancedMeshKind, index_LightComponent as LightComponent, index_LightValueState as LightValueState, index_MaterialComponent as MaterialComponent, index_MaterialTypeValue as MaterialTypeValue, index_MaterialValueState as MaterialValueState, index_MeshComponent as MeshComponent, index_MeshGeometryComponent as MeshGeometryComponent, index_MeshGeometryParameters as MeshGeometryParameters, index_MeshGeometryParametersByKind as MeshGeometryParametersByKind, index_ModelComponent as ModelComponent, index_Name as Name, index_Object3DRef as Object3DRef, index_ParentId as ParentId, index_PhysicsComponent as PhysicsComponent, index_PhysicsState as PhysicsState, index_PlaneMeshParameters as PlaneMeshParameters, index_Postprocessing as Postprocessing, index_PostprocessingState as PostprocessingState, index_PrefabInstance as PrefabInstance, index_PrefabNode as PrefabNode, index_RadiusHeightMeshParameters as RadiusHeightMeshParameters, index_RadiusMeshParameters as RadiusMeshParameters, index_RigidbodyState as RigidbodyState, index_RigidbodyType as RigidbodyType, index_ScriptComponent as ScriptComponent, index_ScriptEntry as ScriptEntry, index_ScriptObjectComponent as ScriptObjectComponent, index_ScriptObjectComponentInput as ScriptObjectComponentInput, index_ScriptObjectRuntimeState as ScriptObjectRuntimeState, index_Selectable as Selectable, index_SelectionTransformState as SelectionTransformState, index_SpriteComponent as SpriteComponent, index_TextureFilteringValue as TextureFilteringValue, index_TransformComponent as TransformComponent, index_TransformData as TransformData, index_TransformModeValue as TransformModeValue, index_TransformSpaceValue as TransformSpaceValue, index_VRTeleportAreaComponent as VRTeleportAreaComponent, index_VRTeleportAreaOptions as VRTeleportAreaOptions, index_Vec3 as Vec3, index_VideoComponent as VideoComponent, index_VrTeleportShape as VrTeleportShape, index_XRInteractableComponent as XRInteractableComponent, index_XRInteractableOptions as XRInteractableOptions, index_XRRigComponent as XRRigComponent, index_XRRigOptions as XRRigOptions, index_XrGrabMode as XrGrabMode, index_XrLocomotionMode as XrLocomotionMode, index_defaultMaterialValue as defaultMaterialValue, index_normalizePhysicsState as normalizePhysicsState, index_setPhysicsLiveRef as setPhysicsLiveRef };
168
+ export { index_AnimationComponent as AnimationComponent, index_AnimationComponentOptions as AnimationComponentOptions, index_AudioComponent as AudioComponent, index_CameraComponent as CameraComponent, index_CameraComponentOptions as CameraComponentOptions, index_CameraProjection as CameraProjection, index_CameraRuntimeType as CameraRuntimeType, index_ColliderShape as ColliderShape, index_ColliderState as ColliderState, index_CubeMeshParameters as CubeMeshParameters, index_DEFAULT_COLLIDER_STATE as DEFAULT_COLLIDER_STATE, index_DEFAULT_ENVIRONMENT_STATE as DEFAULT_ENVIRONMENT_STATE, index_DEFAULT_INSTANCED_MESH_PARAMETERS as DEFAULT_INSTANCED_MESH_PARAMETERS, index_DEFAULT_INSTANCE_TRANSFORM as DEFAULT_INSTANCE_TRANSFORM, index_DEFAULT_MESH_GEOMETRY_PARAMETERS as DEFAULT_MESH_GEOMETRY_PARAMETERS, index_DEFAULT_PHYSICS_STATE as DEFAULT_PHYSICS_STATE, index_DEFAULT_POSTPROCESSING_STATE as DEFAULT_POSTPROCESSING_STATE, index_DEFAULT_RIGIDBODY_STATE as DEFAULT_RIGIDBODY_STATE, index_EditableMeshObjectKind as EditableMeshObjectKind, index_EntityType as EntityType, index_Environment as Environment, index_EnvironmentFogState as EnvironmentFogState, index_EnvironmentFogType as EnvironmentFogType, index_EnvironmentGradientEffect as EnvironmentGradientEffect, index_EnvironmentSkyboxState as EnvironmentSkyboxState, index_EnvironmentSkyboxType as EnvironmentSkyboxType, index_EnvironmentState as EnvironmentState, index_ImageComponent as ImageComponent, index_ImageTarget as ImageTarget, index_ImageTargetAnchor as ImageTargetAnchor, index_ImageTargetAnchorOptions as ImageTargetAnchorOptions, index_ImageTargetReference as ImageTargetReference, index_InstanceSlotComponent as InstanceSlotComponent, index_InstanceTransform as InstanceTransform, index_InstancedMeshComponent as InstancedMeshComponent, index_InstancedMeshKind as InstancedMeshKind, index_LightComponent as LightComponent, index_LightValueState as LightValueState, index_MaterialComponent as MaterialComponent, index_MaterialTypeValue as MaterialTypeValue, index_MaterialValueState as MaterialValueState, index_MeshComponent as MeshComponent, index_MeshGeometryComponent as MeshGeometryComponent, index_MeshGeometryParameters as MeshGeometryParameters, index_MeshGeometryParametersByKind as MeshGeometryParametersByKind, index_ModelComponent as ModelComponent, index_Name as Name, index_Object3DRef as Object3DRef, index_ParentId as ParentId, index_PhysicsComponent as PhysicsComponent, index_PhysicsState as PhysicsState, index_PlaneMeshParameters as PlaneMeshParameters, index_Postprocessing as Postprocessing, index_PostprocessingState as PostprocessingState, index_PrefabInstance as PrefabInstance, index_PrefabNode as PrefabNode, index_RadiusHeightMeshParameters as RadiusHeightMeshParameters, index_RadiusMeshParameters as RadiusMeshParameters, index_RigidbodyState as RigidbodyState, index_RigidbodyType as RigidbodyType, index_ScriptComponent as ScriptComponent, index_ScriptEntry as ScriptEntry, index_ScriptObjectComponent as ScriptObjectComponent, index_ScriptObjectComponentInput as ScriptObjectComponentInput, index_ScriptObjectRuntimeState as ScriptObjectRuntimeState, index_Selectable as Selectable, index_SelectionTransformState as SelectionTransformState, index_SpriteComponent as SpriteComponent, index_TextureFilteringValue as TextureFilteringValue, index_TransformComponent as TransformComponent, index_TransformData as TransformData, index_TransformModeValue as TransformModeValue, index_TransformSpaceValue as TransformSpaceValue, index_VRTeleportAreaComponent as VRTeleportAreaComponent, index_VRTeleportAreaOptions as VRTeleportAreaOptions, index_Vec3 as Vec3, index_VideoComponent as VideoComponent, index_VrTeleportShape as VrTeleportShape, index_XRInteractableComponent as XRInteractableComponent, index_XRInteractableOptions as XRInteractableOptions, index_XRInteractorComponent as XRInteractorComponent, index_XRInteractorOptions as XRInteractorOptions, index_XRInteractorSideComponent as XRInteractorSideComponent, index_XRRigComponent as XRRigComponent, index_XRRigOptions as XRRigOptions, index_XrGrabMode as XrGrabMode, index_XrHandPreset as XrHandPreset, index_XrInteractorSide as XrInteractorSide, index_XrInteractorType as XrInteractorType, index_XrLocomotionMode as XrLocomotionMode, index_XrTrackingOrigin as XrTrackingOrigin, index_defaultMaterialValue as defaultMaterialValue, index_normalizePhysicsState as normalizePhysicsState, index_setPhysicsLiveRef as setPhysicsLiveRef };
162
169
  }
163
170
 
164
171
  export { PrefabInstance as P, PrefabNode as a, index as i };
@@ -1,5 +1,5 @@
1
- import { A as AnimationComponent, a as AnimationComponentOptions, b as AudioComponent, C as CameraComponent, c as CameraComponentOptions, d as CameraProjection, e as CameraRuntimeType, f as ColliderShape, g as ColliderState, h as CubeMeshParameters, D as DEFAULT_COLLIDER_STATE, i as DEFAULT_INSTANCED_MESH_PARAMETERS, j as DEFAULT_INSTANCE_TRANSFORM, k as DEFAULT_MESH_GEOMETRY_PARAMETERS, l as DEFAULT_PHYSICS_STATE, m as DEFAULT_RIGIDBODY_STATE, E as EditableMeshObjectKind, n as EntityType, I as ImageComponent, o as ImageTarget, p as ImageTargetAnchor, q as ImageTargetAnchorOptions, r as ImageTargetReference, s as InstanceSlotComponent, t as InstanceTransform, u as InstancedMeshComponent, v as InstancedMeshKind, L as LightComponent, w as LightValueState, M as MaterialComponent, x as MaterialTypeValue, y as MaterialValueState, z as MeshComponent, B as MeshGeometryComponent, F as MeshGeometryParameters, G as MeshGeometryParametersByKind, H as ModelComponent, N as Name, O as Object3DRef, P as PhysicsComponent, J as PhysicsState, K as PlaneMeshParameters, R as RadiusHeightMeshParameters, Q as RadiusMeshParameters, S as RigidbodyState, T as RigidbodyType, U as ScriptComponent, V as ScriptEntry, W as ScriptObjectComponent, X as ScriptObjectComponentInput, Y as ScriptObjectRuntimeState, Z as Selectable, _ as SelectionTransformState, $ as SpriteComponent, a0 as TextureFilteringValue, a1 as TransformModeValue, a2 as TransformSpaceValue, a3 as VRTeleportAreaComponent, a4 as VRTeleportAreaOptions, a5 as VideoComponent, a6 as VrTeleportShape, a7 as XRInteractableComponent, a8 as XRInteractableOptions, a9 as XRRigComponent, aa as XRRigOptions, ab as XrGrabMode, ac as XrLocomotionMode, ad as defaultMaterialValue, ae as normalizePhysicsState, af as setPhysicsLiveRef } from './XRRig-2686IqLQ.cjs';
2
- import { C as Component, D as DEFAULT_ENVIRONMENT_STATE, a as DEFAULT_POSTPROCESSING_STATE, E as Environment, b as EnvironmentFogState, c as EnvironmentFogType, d as EnvironmentGradientEffect, e as EnvironmentSkyboxState, f as EnvironmentSkyboxType, g as EnvironmentState, P as ParentId, h as Postprocessing, i as PostprocessingState, T as TransformComponent, j as TransformData, V as Vec3 } from './System-vrU46Vuw.cjs';
1
+ import { A as AnimationComponent, a as AnimationComponentOptions, b as AudioComponent, C as CameraComponent, c as CameraComponentOptions, d as CameraProjection, e as CameraRuntimeType, f as ColliderShape, g as ColliderState, h as CubeMeshParameters, D as DEFAULT_COLLIDER_STATE, i as DEFAULT_INSTANCED_MESH_PARAMETERS, j as DEFAULT_INSTANCE_TRANSFORM, k as DEFAULT_MESH_GEOMETRY_PARAMETERS, l as DEFAULT_PHYSICS_STATE, m as DEFAULT_RIGIDBODY_STATE, E as EditableMeshObjectKind, n as EntityType, I as ImageComponent, o as ImageTarget, p as ImageTargetAnchor, q as ImageTargetAnchorOptions, r as ImageTargetReference, s as InstanceSlotComponent, t as InstanceTransform, u as InstancedMeshComponent, v as InstancedMeshKind, L as LightComponent, w as LightValueState, M as MaterialComponent, x as MaterialTypeValue, y as MaterialValueState, z as MeshComponent, B as MeshGeometryComponent, F as MeshGeometryParameters, G as MeshGeometryParametersByKind, H as ModelComponent, N as Name, O as Object3DRef, P as PhysicsComponent, J as PhysicsState, K as PlaneMeshParameters, R as RadiusHeightMeshParameters, Q as RadiusMeshParameters, S as RigidbodyState, T as RigidbodyType, U as ScriptComponent, V as ScriptEntry, W as ScriptObjectComponent, X as ScriptObjectComponentInput, Y as ScriptObjectRuntimeState, Z as Selectable, _ as SelectionTransformState, $ as SpriteComponent, a0 as TextureFilteringValue, a1 as TransformModeValue, a2 as TransformSpaceValue, a3 as VRTeleportAreaComponent, a4 as VRTeleportAreaOptions, a5 as VideoComponent, a6 as VrTeleportShape, a7 as XRInteractableComponent, a8 as XRInteractableOptions, a9 as XRInteractorComponent, aa as XRInteractorOptions, ab as XRInteractorSideComponent, ac as XRRigComponent, ad as XRRigOptions, ae as XrGrabMode, af as XrHandPreset, ag as XrInteractorSide, ah as XrInteractorType, ai as XrLocomotionMode, aj as XrTrackingOrigin, ak as defaultMaterialValue, al as normalizePhysicsState, am as setPhysicsLiveRef } from './XRInteractor-CCUzSqg9.js';
2
+ import { C as Component, D as DEFAULT_ENVIRONMENT_STATE, a as DEFAULT_POSTPROCESSING_STATE, E as Environment, b as EnvironmentFogState, c as EnvironmentFogType, d as EnvironmentGradientEffect, e as EnvironmentSkyboxState, f as EnvironmentSkyboxType, g as EnvironmentState, P as ParentId, h as Postprocessing, i as PostprocessingState, T as TransformComponent, j as TransformData, V as Vec3 } from './System-TmC2EijF.js';
3
3
 
4
4
  /**
5
5
  * Marks the ROOT entity of a prefab instance and records its link to the
@@ -150,15 +150,22 @@ declare const index_VideoComponent: typeof VideoComponent;
150
150
  declare const index_VrTeleportShape: typeof VrTeleportShape;
151
151
  declare const index_XRInteractableComponent: typeof XRInteractableComponent;
152
152
  declare const index_XRInteractableOptions: typeof XRInteractableOptions;
153
+ declare const index_XRInteractorComponent: typeof XRInteractorComponent;
154
+ declare const index_XRInteractorOptions: typeof XRInteractorOptions;
155
+ declare const index_XRInteractorSideComponent: typeof XRInteractorSideComponent;
153
156
  declare const index_XRRigComponent: typeof XRRigComponent;
154
157
  declare const index_XRRigOptions: typeof XRRigOptions;
155
158
  declare const index_XrGrabMode: typeof XrGrabMode;
159
+ declare const index_XrHandPreset: typeof XrHandPreset;
160
+ declare const index_XrInteractorSide: typeof XrInteractorSide;
161
+ declare const index_XrInteractorType: typeof XrInteractorType;
156
162
  declare const index_XrLocomotionMode: typeof XrLocomotionMode;
163
+ declare const index_XrTrackingOrigin: typeof XrTrackingOrigin;
157
164
  declare const index_defaultMaterialValue: typeof defaultMaterialValue;
158
165
  declare const index_normalizePhysicsState: typeof normalizePhysicsState;
159
166
  declare const index_setPhysicsLiveRef: typeof setPhysicsLiveRef;
160
167
  declare namespace index {
161
- export { index_AnimationComponent as AnimationComponent, index_AnimationComponentOptions as AnimationComponentOptions, index_AudioComponent as AudioComponent, index_CameraComponent as CameraComponent, index_CameraComponentOptions as CameraComponentOptions, index_CameraProjection as CameraProjection, index_CameraRuntimeType as CameraRuntimeType, index_ColliderShape as ColliderShape, index_ColliderState as ColliderState, index_CubeMeshParameters as CubeMeshParameters, index_DEFAULT_COLLIDER_STATE as DEFAULT_COLLIDER_STATE, index_DEFAULT_ENVIRONMENT_STATE as DEFAULT_ENVIRONMENT_STATE, index_DEFAULT_INSTANCED_MESH_PARAMETERS as DEFAULT_INSTANCED_MESH_PARAMETERS, index_DEFAULT_INSTANCE_TRANSFORM as DEFAULT_INSTANCE_TRANSFORM, index_DEFAULT_MESH_GEOMETRY_PARAMETERS as DEFAULT_MESH_GEOMETRY_PARAMETERS, index_DEFAULT_PHYSICS_STATE as DEFAULT_PHYSICS_STATE, index_DEFAULT_POSTPROCESSING_STATE as DEFAULT_POSTPROCESSING_STATE, index_DEFAULT_RIGIDBODY_STATE as DEFAULT_RIGIDBODY_STATE, index_EditableMeshObjectKind as EditableMeshObjectKind, index_EntityType as EntityType, index_Environment as Environment, index_EnvironmentFogState as EnvironmentFogState, index_EnvironmentFogType as EnvironmentFogType, index_EnvironmentGradientEffect as EnvironmentGradientEffect, index_EnvironmentSkyboxState as EnvironmentSkyboxState, index_EnvironmentSkyboxType as EnvironmentSkyboxType, index_EnvironmentState as EnvironmentState, index_ImageComponent as ImageComponent, index_ImageTarget as ImageTarget, index_ImageTargetAnchor as ImageTargetAnchor, index_ImageTargetAnchorOptions as ImageTargetAnchorOptions, index_ImageTargetReference as ImageTargetReference, index_InstanceSlotComponent as InstanceSlotComponent, index_InstanceTransform as InstanceTransform, index_InstancedMeshComponent as InstancedMeshComponent, index_InstancedMeshKind as InstancedMeshKind, index_LightComponent as LightComponent, index_LightValueState as LightValueState, index_MaterialComponent as MaterialComponent, index_MaterialTypeValue as MaterialTypeValue, index_MaterialValueState as MaterialValueState, index_MeshComponent as MeshComponent, index_MeshGeometryComponent as MeshGeometryComponent, index_MeshGeometryParameters as MeshGeometryParameters, index_MeshGeometryParametersByKind as MeshGeometryParametersByKind, index_ModelComponent as ModelComponent, index_Name as Name, index_Object3DRef as Object3DRef, index_ParentId as ParentId, index_PhysicsComponent as PhysicsComponent, index_PhysicsState as PhysicsState, index_PlaneMeshParameters as PlaneMeshParameters, index_Postprocessing as Postprocessing, index_PostprocessingState as PostprocessingState, index_PrefabInstance as PrefabInstance, index_PrefabNode as PrefabNode, index_RadiusHeightMeshParameters as RadiusHeightMeshParameters, index_RadiusMeshParameters as RadiusMeshParameters, index_RigidbodyState as RigidbodyState, index_RigidbodyType as RigidbodyType, index_ScriptComponent as ScriptComponent, index_ScriptEntry as ScriptEntry, index_ScriptObjectComponent as ScriptObjectComponent, index_ScriptObjectComponentInput as ScriptObjectComponentInput, index_ScriptObjectRuntimeState as ScriptObjectRuntimeState, index_Selectable as Selectable, index_SelectionTransformState as SelectionTransformState, index_SpriteComponent as SpriteComponent, index_TextureFilteringValue as TextureFilteringValue, index_TransformComponent as TransformComponent, index_TransformData as TransformData, index_TransformModeValue as TransformModeValue, index_TransformSpaceValue as TransformSpaceValue, index_VRTeleportAreaComponent as VRTeleportAreaComponent, index_VRTeleportAreaOptions as VRTeleportAreaOptions, index_Vec3 as Vec3, index_VideoComponent as VideoComponent, index_VrTeleportShape as VrTeleportShape, index_XRInteractableComponent as XRInteractableComponent, index_XRInteractableOptions as XRInteractableOptions, index_XRRigComponent as XRRigComponent, index_XRRigOptions as XRRigOptions, index_XrGrabMode as XrGrabMode, index_XrLocomotionMode as XrLocomotionMode, index_defaultMaterialValue as defaultMaterialValue, index_normalizePhysicsState as normalizePhysicsState, index_setPhysicsLiveRef as setPhysicsLiveRef };
168
+ export { index_AnimationComponent as AnimationComponent, index_AnimationComponentOptions as AnimationComponentOptions, index_AudioComponent as AudioComponent, index_CameraComponent as CameraComponent, index_CameraComponentOptions as CameraComponentOptions, index_CameraProjection as CameraProjection, index_CameraRuntimeType as CameraRuntimeType, index_ColliderShape as ColliderShape, index_ColliderState as ColliderState, index_CubeMeshParameters as CubeMeshParameters, index_DEFAULT_COLLIDER_STATE as DEFAULT_COLLIDER_STATE, index_DEFAULT_ENVIRONMENT_STATE as DEFAULT_ENVIRONMENT_STATE, index_DEFAULT_INSTANCED_MESH_PARAMETERS as DEFAULT_INSTANCED_MESH_PARAMETERS, index_DEFAULT_INSTANCE_TRANSFORM as DEFAULT_INSTANCE_TRANSFORM, index_DEFAULT_MESH_GEOMETRY_PARAMETERS as DEFAULT_MESH_GEOMETRY_PARAMETERS, index_DEFAULT_PHYSICS_STATE as DEFAULT_PHYSICS_STATE, index_DEFAULT_POSTPROCESSING_STATE as DEFAULT_POSTPROCESSING_STATE, index_DEFAULT_RIGIDBODY_STATE as DEFAULT_RIGIDBODY_STATE, index_EditableMeshObjectKind as EditableMeshObjectKind, index_EntityType as EntityType, index_Environment as Environment, index_EnvironmentFogState as EnvironmentFogState, index_EnvironmentFogType as EnvironmentFogType, index_EnvironmentGradientEffect as EnvironmentGradientEffect, index_EnvironmentSkyboxState as EnvironmentSkyboxState, index_EnvironmentSkyboxType as EnvironmentSkyboxType, index_EnvironmentState as EnvironmentState, index_ImageComponent as ImageComponent, index_ImageTarget as ImageTarget, index_ImageTargetAnchor as ImageTargetAnchor, index_ImageTargetAnchorOptions as ImageTargetAnchorOptions, index_ImageTargetReference as ImageTargetReference, index_InstanceSlotComponent as InstanceSlotComponent, index_InstanceTransform as InstanceTransform, index_InstancedMeshComponent as InstancedMeshComponent, index_InstancedMeshKind as InstancedMeshKind, index_LightComponent as LightComponent, index_LightValueState as LightValueState, index_MaterialComponent as MaterialComponent, index_MaterialTypeValue as MaterialTypeValue, index_MaterialValueState as MaterialValueState, index_MeshComponent as MeshComponent, index_MeshGeometryComponent as MeshGeometryComponent, index_MeshGeometryParameters as MeshGeometryParameters, index_MeshGeometryParametersByKind as MeshGeometryParametersByKind, index_ModelComponent as ModelComponent, index_Name as Name, index_Object3DRef as Object3DRef, index_ParentId as ParentId, index_PhysicsComponent as PhysicsComponent, index_PhysicsState as PhysicsState, index_PlaneMeshParameters as PlaneMeshParameters, index_Postprocessing as Postprocessing, index_PostprocessingState as PostprocessingState, index_PrefabInstance as PrefabInstance, index_PrefabNode as PrefabNode, index_RadiusHeightMeshParameters as RadiusHeightMeshParameters, index_RadiusMeshParameters as RadiusMeshParameters, index_RigidbodyState as RigidbodyState, index_RigidbodyType as RigidbodyType, index_ScriptComponent as ScriptComponent, index_ScriptEntry as ScriptEntry, index_ScriptObjectComponent as ScriptObjectComponent, index_ScriptObjectComponentInput as ScriptObjectComponentInput, index_ScriptObjectRuntimeState as ScriptObjectRuntimeState, index_Selectable as Selectable, index_SelectionTransformState as SelectionTransformState, index_SpriteComponent as SpriteComponent, index_TextureFilteringValue as TextureFilteringValue, index_TransformComponent as TransformComponent, index_TransformData as TransformData, index_TransformModeValue as TransformModeValue, index_TransformSpaceValue as TransformSpaceValue, index_VRTeleportAreaComponent as VRTeleportAreaComponent, index_VRTeleportAreaOptions as VRTeleportAreaOptions, index_Vec3 as Vec3, index_VideoComponent as VideoComponent, index_VrTeleportShape as VrTeleportShape, index_XRInteractableComponent as XRInteractableComponent, index_XRInteractableOptions as XRInteractableOptions, index_XRInteractorComponent as XRInteractorComponent, index_XRInteractorOptions as XRInteractorOptions, index_XRInteractorSideComponent as XRInteractorSideComponent, index_XRRigComponent as XRRigComponent, index_XRRigOptions as XRRigOptions, index_XrGrabMode as XrGrabMode, index_XrHandPreset as XrHandPreset, index_XrInteractorSide as XrInteractorSide, index_XrInteractorType as XrInteractorType, index_XrLocomotionMode as XrLocomotionMode, index_XrTrackingOrigin as XrTrackingOrigin, index_defaultMaterialValue as defaultMaterialValue, index_normalizePhysicsState as normalizePhysicsState, index_setPhysicsLiveRef as setPhysicsLiveRef };
162
169
  }
163
170
 
164
171
  export { PrefabInstance as P, PrefabNode as a, index as i };
@@ -1,4 +1,4 @@
1
- import { k as EcsSystem, l as World } from './System-vrU46Vuw.js';
1
+ import { k as EcsSystem, l as World } from './System-TmC2EijF.js';
2
2
  import * as THREE from 'three';
3
3
 
4
4
  declare class AnimationSystem implements EcsSystem {
@@ -434,10 +434,22 @@ declare class XRLocomotionSystem implements EcsSystem {
434
434
  /** Curve up to the landing point, for the visual system. Empty when not aiming. */
435
435
  private aimCurve;
436
436
  private landingPoint;
437
+ /** True when the current aim lands somewhere the player may actually stand. */
438
+ private aimValid;
439
+ /** Sources currently aiming via thumbstick (hysteresis, so it doesn't chatter). */
440
+ private readonly stickAiming;
437
441
  /** True once we've tried to self-heal camera parenting for this session. */
438
442
  private parentingChecked;
439
443
  constructor(inputSystem: XRInputSystem);
440
444
  update(world: World, deltaTime: number): void;
445
+ /**
446
+ * Name what is missing, once per session.
447
+ *
448
+ * Inside a headset there is no console and no inspector, so a scene that
449
+ * simply cannot move gives the author nothing to go on. These messages are
450
+ * visible over remote debugging and say exactly which entity to add.
451
+ */
452
+ private warnOnIncompleteSetup;
441
453
  /**
442
454
  * Guarantee the render camera is a CHILD of the rig.
443
455
  *
@@ -458,11 +470,21 @@ declare class XRLocomotionSystem implements EcsSystem {
458
470
  private applySnapTurn;
459
471
  private applySmoothMove;
460
472
  private applyTeleport;
473
+ /**
474
+ * Thumbstick-forward aiming with hysteresis.
475
+ *
476
+ * Engaging at 0.6 and releasing at 0.3 stops a stick resting near the
477
+ * threshold from flickering the arc on and off — and the release edge is what
478
+ * commits the teleport, so chatter there would teleport the player randomly.
479
+ */
480
+ private readStickAim;
461
481
  /** Walk the arc segment-by-segment, returning the first surface hit. */
462
482
  private raycastArc;
463
483
  private collectTeleportTargets;
464
484
  /** Arc points up to the landing spot this frame; empty when not aiming. */
465
485
  getAimCurve(): THREE.Vector3[];
486
+ /** True when the aim lands on a valid teleport area. */
487
+ isAimValid(): boolean;
466
488
  /** Where the arc currently lands, or null when not aiming at a valid area. */
467
489
  getLandingPoint(): THREE.Vector3 | null;
468
490
  }
@@ -483,9 +505,28 @@ declare class XRSessionSystem implements EcsSystem {
483
505
  private presenting;
484
506
  private capabilities;
485
507
  private readonly inputSystem;
508
+ /** Y compensation applied when a floor-relative space was requested but not granted. */
509
+ private appliedOriginOffset;
486
510
  constructor(inputSystem?: XRInputSystem);
487
511
  update(world: World): void;
488
512
  private handleSessionStart;
513
+ /**
514
+ * Apply the rig's authored tracking origin, and compensate when the device
515
+ * cannot honour it.
516
+ *
517
+ * `floor` (`local-floor`) puts Y=0 on the user's real floor, which is what a
518
+ * scene authored standing on the ground expects. `eye` (`local`) puts Y=0 at
519
+ * the headset, for seated experiences.
520
+ *
521
+ * The compensation matters: `local-floor` is only ever REQUESTED as an
522
+ * optional feature (requiring it would make `requestSession` reject outright
523
+ * on devices that lack it). When it isn't granted, the runtime silently falls
524
+ * back to `local` — the origin jumps to head height and a floor-authored
525
+ * scene swallows the user, which is exactly the "I'm standing under the
526
+ * building" symptom. Offsetting the rig down by the eye height restores the
527
+ * intended floor relationship instead of leaving it broken.
528
+ */
529
+ private applyTrackingOrigin;
489
530
  private handleSessionEnd;
490
531
  /**
491
532
  * Relay this frame's one-frame select edges. Polling the latched state (rather
@@ -512,27 +553,37 @@ declare class XRControllerVisualSystem implements EcsSystem {
512
553
  private readonly controllerModelFactory;
513
554
  private readonly handModelFactory;
514
555
  private readonly group;
515
- private built;
516
- private attachedTo;
517
- /** Index → whether we've already attached visuals for that slot. */
518
- private readonly ready;
519
- /** How many controller slots to wire. Two covers every current headset. */
520
556
  private readonly slots;
521
- /** Optional — when provided, the aim ray only shows over interactables. */
522
557
  private readonly interactionSystem;
523
- private readonly rays;
558
+ private attachedTo;
559
+ /** Last applied preset signature, so materials rebuild only on real change. */
560
+ private handStyleSignature;
561
+ private handMaterial;
524
562
  constructor(options?: {
525
- slots?: number;
526
563
  interactionSystem?: XRInteractionSystem;
527
564
  });
528
565
  update(world: World): void;
566
+ /** The scene's interactor config, if one was authored. */
567
+ private resolveInteractor;
568
+ /**
569
+ * Re-parent the author's left/right interactor content onto the tracked grip
570
+ * space so it follows the hand.
571
+ *
572
+ * `ObjectManagementSystem` reconciles ECS objects back under their ParentId
573
+ * every frame, so this re-attach has to be re-asserted — the same coexistence
574
+ * dance the AR anchor system performs.
575
+ */
576
+ private syncCustomContent;
577
+ /** Rebuild the hand material only when the authored style actually changes. */
578
+ private syncHandMaterial;
529
579
  /**
530
- * Show the aim ray only when it is meaningful: hovering something
531
- * interactive, or mid-grab. A permanently-drawn ray is visual noise, and it
532
- * implies everything is clickable when most of the scene is not. Teleport
533
- * aiming has its own arc, so the straight ray stays hidden for that.
580
+ * The ray is meaningful only when it points at something. Authors can turn it
581
+ * off entirely; otherwise it appears on hover/grab so it isn't permanent
582
+ * clutter implying the whole scene is clickable.
534
583
  */
535
- private updateRayVisibility;
584
+ private shouldShowRay;
585
+ /** Lazily build per-slot visuals; the device reports profiles late. */
586
+ private ensureSlots;
536
587
  /**
537
588
  * Parent the visuals to the XR rig when there is one, so locomotion moves the
538
589
  * hands with the player. Falls back to the scene root.