@relu-interactives/spatial-ecs 0.2.25 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/dist/{System-CYWZ_Zx5.d.cts → System-vrU46Vuw.d.cts} +16 -2
  2. package/dist/{System-CYWZ_Zx5.d.ts → System-vrU46Vuw.d.ts} +16 -2
  3. package/dist/{Video-AIQYTAAr.d.cts → XRRig-CAmf04NX.d.ts} +131 -4
  4. package/dist/{Video-DlZ4G9ig.d.ts → XRRig-Cu-EyliG.d.cts} +131 -4
  5. package/dist/{chunk-XFD74BQL.js → chunk-67WGASUJ.js} +3 -3
  6. package/dist/{chunk-XFD74BQL.js.map → chunk-67WGASUJ.js.map} +1 -1
  7. package/dist/{chunk-RJ4J5UEX.js → chunk-PCOZLCXS.js} +160 -83
  8. package/dist/chunk-PCOZLCXS.js.map +1 -0
  9. package/dist/{chunk-J6736FFO.js → chunk-U3MDYKPV.js} +90 -14
  10. package/dist/chunk-U3MDYKPV.js.map +1 -0
  11. package/dist/{chunk-3P3ZBP7K.js → chunk-VXUVNC7S.js} +634 -6
  12. package/dist/chunk-VXUVNC7S.js.map +1 -0
  13. package/dist/components/index.cjs +87 -11
  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/docs/api/Behaviour/classes/Behaviour.md +98 -51
  19. package/dist/docs/api/Component/classes/Component.md +4 -1
  20. package/dist/docs/api/components/classes/AnimationComponent.md +26 -26
  21. package/dist/docs/api/components/classes/AudioComponent.md +19 -19
  22. package/dist/docs/api/components/classes/CameraComponent.md +14 -14
  23. package/dist/docs/api/components/classes/EntityType.md +4 -4
  24. package/dist/docs/api/components/classes/Environment.md +3 -3
  25. package/dist/docs/api/components/classes/ImageComponent.md +7 -7
  26. package/dist/docs/api/components/classes/ImageTarget.md +7 -7
  27. package/dist/docs/api/components/classes/ImageTargetAnchor.md +4 -4
  28. package/dist/docs/api/components/classes/InstanceSlotComponent.md +4 -4
  29. package/dist/docs/api/components/classes/InstancedMeshComponent.md +10 -10
  30. package/dist/docs/api/components/classes/LightComponent.md +6 -6
  31. package/dist/docs/api/components/classes/MaterialComponent.md +57 -11
  32. package/dist/docs/api/components/classes/MeshComponent.md +3 -3
  33. package/dist/docs/api/components/classes/MeshGeometryComponent.md +9 -9
  34. package/dist/docs/api/components/classes/ModelComponent.md +4 -4
  35. package/dist/docs/api/components/classes/Name.md +3 -3
  36. package/dist/docs/api/components/classes/Object3DRef.md +4 -4
  37. package/dist/docs/api/components/classes/ParentId.md +3 -3
  38. package/dist/docs/api/components/classes/PhysicsComponent.md +12 -13
  39. package/dist/docs/api/components/classes/Postprocessing.md +3 -3
  40. package/dist/docs/api/components/classes/PrefabInstance.md +80 -0
  41. package/dist/docs/api/components/classes/PrefabNode.md +54 -0
  42. package/dist/docs/api/components/classes/ScriptComponent.md +5 -5
  43. package/dist/docs/api/components/classes/ScriptObjectComponent.md +55 -0
  44. package/dist/docs/api/components/classes/Selectable.md +3 -3
  45. package/dist/docs/api/components/classes/SelectionTransformState.md +5 -5
  46. package/dist/docs/api/components/classes/SpriteComponent.md +7 -7
  47. package/dist/docs/api/components/classes/TransformComponent.md +12 -12
  48. package/dist/docs/api/components/classes/VideoComponent.md +28 -28
  49. package/dist/docs/api/components/functions/defaultMaterialValue.md +17 -0
  50. package/dist/docs/api/components/functions/normalizePhysicsState.md +1 -1
  51. package/dist/docs/api/components/functions/setPhysicsLiveRef.md +34 -0
  52. package/dist/docs/api/components/index.md +8 -1
  53. package/dist/docs/api/components/type-aliases/AnimationComponentOptions.md +9 -9
  54. package/dist/docs/api/components/type-aliases/CameraComponentOptions.md +13 -13
  55. package/dist/docs/api/components/type-aliases/CameraProjection.md +1 -1
  56. package/dist/docs/api/components/type-aliases/CameraRuntimeType.md +1 -1
  57. package/dist/docs/api/components/type-aliases/ColliderShape.md +1 -1
  58. package/dist/docs/api/components/type-aliases/ColliderState.md +20 -20
  59. package/dist/docs/api/components/type-aliases/CubeMeshParameters.md +4 -4
  60. package/dist/docs/api/components/type-aliases/EditableMeshObjectKind.md +1 -1
  61. package/dist/docs/api/components/type-aliases/EnvironmentFogState.md +8 -8
  62. package/dist/docs/api/components/type-aliases/EnvironmentFogType.md +1 -1
  63. package/dist/docs/api/components/type-aliases/EnvironmentGradientEffect.md +1 -1
  64. package/dist/docs/api/components/type-aliases/EnvironmentSkyboxState.md +7 -7
  65. package/dist/docs/api/components/type-aliases/EnvironmentSkyboxType.md +1 -1
  66. package/dist/docs/api/components/type-aliases/EnvironmentState.md +5 -5
  67. package/dist/docs/api/components/type-aliases/ImageTargetAnchorOptions.md +3 -3
  68. package/dist/docs/api/components/type-aliases/ImageTargetReference.md +7 -7
  69. package/dist/docs/api/components/type-aliases/InstanceTransform.md +13 -13
  70. package/dist/docs/api/components/type-aliases/InstancedMeshKind.md +1 -1
  71. package/dist/docs/api/components/type-aliases/LightValueState.md +11 -11
  72. package/dist/docs/api/components/type-aliases/MaterialTypeValue.md +1 -1
  73. package/dist/docs/api/components/type-aliases/MaterialValueState.md +28 -28
  74. package/dist/docs/api/components/type-aliases/MeshGeometryParameters.md +1 -1
  75. package/dist/docs/api/components/type-aliases/MeshGeometryParametersByKind.md +7 -7
  76. package/dist/docs/api/components/type-aliases/PhysicsState.md +3 -3
  77. package/dist/docs/api/components/type-aliases/PlaneMeshParameters.md +3 -3
  78. package/dist/docs/api/components/type-aliases/PostprocessingState.md +62 -62
  79. package/dist/docs/api/components/type-aliases/RadiusHeightMeshParameters.md +3 -3
  80. package/dist/docs/api/components/type-aliases/RadiusMeshParameters.md +2 -2
  81. package/dist/docs/api/components/type-aliases/RigidbodyState.md +17 -17
  82. package/dist/docs/api/components/type-aliases/RigidbodyType.md +1 -1
  83. package/dist/docs/api/components/type-aliases/ScriptEntry.md +8 -10
  84. package/dist/docs/api/components/type-aliases/ScriptObjectComponentInput.md +20 -0
  85. package/dist/docs/api/components/type-aliases/ScriptObjectRuntimeState.md +13 -0
  86. package/dist/docs/api/components/type-aliases/TextureFilteringValue.md +1 -1
  87. package/dist/docs/api/components/type-aliases/TransformData.md +4 -4
  88. package/dist/docs/api/components/type-aliases/TransformModeValue.md +1 -1
  89. package/dist/docs/api/components/type-aliases/TransformSpaceValue.md +1 -1
  90. package/dist/docs/api/components/type-aliases/Vec3.md +4 -4
  91. package/dist/docs/api/components/variables/DEFAULT_COLLIDER_STATE.md +1 -1
  92. package/dist/docs/api/components/variables/DEFAULT_ENVIRONMENT_STATE.md +1 -1
  93. package/dist/docs/api/components/variables/DEFAULT_INSTANCED_MESH_PARAMETERS.md +1 -1
  94. package/dist/docs/api/components/variables/DEFAULT_INSTANCE_TRANSFORM.md +1 -1
  95. package/dist/docs/api/components/variables/DEFAULT_MESH_GEOMETRY_PARAMETERS.md +1 -1
  96. package/dist/docs/api/components/variables/DEFAULT_PHYSICS_STATE.md +1 -1
  97. package/dist/docs/api/components/variables/DEFAULT_POSTPROCESSING_STATE.md +1 -1
  98. package/dist/docs/api/components/variables/DEFAULT_RIGIDBODY_STATE.md +1 -1
  99. package/dist/docs/api/index/classes/AnimationStateMachine.md +16 -16
  100. package/dist/docs/api/index/classes/AnimationStateManager.md +13 -13
  101. package/dist/docs/api/index/classes/AnimationSystem.md +3 -3
  102. package/dist/docs/api/index/classes/AudioSystem.md +4 -4
  103. package/dist/docs/api/index/classes/CameraSyncSystem.md +2 -2
  104. package/dist/docs/api/index/classes/EnvironmentSyncSystem.md +4 -4
  105. package/dist/docs/api/index/classes/InputSystem.md +33 -33
  106. package/dist/docs/api/index/classes/InstancedMeshSystem.md +2 -2
  107. package/dist/docs/api/index/classes/LightSyncSystem.md +2 -2
  108. package/dist/docs/api/index/classes/MaterialSyncSystem.md +3 -3
  109. package/dist/docs/api/index/classes/MeshGeometrySystem.md +2 -2
  110. package/dist/docs/api/index/classes/ObjectManagementSystem.md +14 -14
  111. package/dist/docs/api/index/classes/ObjectVisibilitySystem.md +2 -2
  112. package/dist/docs/api/index/classes/PhysicsSyncSystem.md +4 -4
  113. package/dist/docs/api/index/classes/PostprocessingSyncSystem.md +4 -4
  114. package/dist/docs/api/index/classes/RenderSystem.md +3 -3
  115. package/dist/docs/api/index/classes/ScriptBehaviourSystem.md +5 -5
  116. package/dist/docs/api/index/classes/ScriptObject.md +156 -0
  117. package/dist/docs/api/index/classes/ScriptObjectSystem.md +129 -0
  118. package/dist/docs/api/index/classes/TransformSyncSystem.md +2 -2
  119. package/dist/docs/api/index/classes/VideoSystem.md +4 -4
  120. package/dist/docs/api/index/classes/World.md +183 -86
  121. package/dist/docs/api/index/functions/applyPrefabToSnapshotInstances.md +32 -0
  122. package/dist/docs/api/index/functions/buildComponentValueMaps.md +23 -0
  123. package/dist/docs/api/index/functions/buildNodeKeyMapsFromSnapshot.md +25 -0
  124. package/dist/docs/api/index/functions/buildNodeMapsFromSnapshot.md +23 -0
  125. package/dist/docs/api/index/functions/canonicalizeComponentValue.md +38 -0
  126. package/dist/docs/api/index/functions/clearModelCache.md +26 -0
  127. package/dist/docs/api/index/functions/clearPrefabCache.md +25 -0
  128. package/dist/docs/api/index/functions/collectDiffPaths.md +38 -0
  129. package/dist/docs/api/index/functions/collectDirectPrefabDependencies.md +27 -0
  130. package/dist/docs/api/index/functions/collectEntitySubtree.md +29 -0
  131. package/dist/docs/api/index/functions/collectSnapshotSubtreeIds.md +26 -0
  132. package/dist/docs/api/index/functions/computeInstanceOverrides.md +44 -0
  133. package/dist/docs/api/index/functions/createAnimationComponent.md +1 -1
  134. package/dist/docs/api/index/functions/createAudioComponent.md +1 -1
  135. package/dist/docs/api/index/functions/createCameraComponent.md +1 -1
  136. package/dist/docs/api/index/functions/createEntityTypeComponent.md +2 -2
  137. package/dist/docs/api/index/functions/createEnvironmentComponent.md +1 -1
  138. package/dist/docs/api/index/functions/createImageComponent.md +1 -1
  139. package/dist/docs/api/index/functions/createImageTargetAnchorComponent.md +1 -1
  140. package/dist/docs/api/index/functions/createImageTargetComponent.md +1 -1
  141. package/dist/docs/api/index/functions/createInstanceSlotComponent.md +1 -1
  142. package/dist/docs/api/index/functions/createInstancedMeshComponent.md +1 -1
  143. package/dist/docs/api/index/functions/createLightComponent.md +1 -1
  144. package/dist/docs/api/index/functions/createMaterialComponent.md +1 -1
  145. package/dist/docs/api/index/functions/createMeshComponent.md +1 -1
  146. package/dist/docs/api/index/functions/createMeshGeometryComponent.md +1 -1
  147. package/dist/docs/api/index/functions/createModelComponent.md +1 -1
  148. package/dist/docs/api/index/functions/createNameComponent.md +1 -1
  149. package/dist/docs/api/index/functions/createObject3DRefComponent.md +1 -1
  150. package/dist/docs/api/index/functions/createParentIdComponent.md +1 -1
  151. package/dist/docs/api/index/functions/createPhysicsComponent.md +2 -4
  152. package/dist/docs/api/index/functions/createPostprocessingComponent.md +1 -1
  153. package/dist/docs/api/index/functions/createScriptComponent.md +1 -1
  154. package/dist/docs/api/index/functions/createScriptObjectComponent.md +28 -0
  155. package/dist/docs/api/index/functions/createSelectableComponent.md +1 -1
  156. package/dist/docs/api/index/functions/createSelectionTransformStateComponent.md +1 -1
  157. package/dist/docs/api/index/functions/createSpriteComponent.md +1 -1
  158. package/dist/docs/api/index/functions/createTransformComponent.md +1 -1
  159. package/dist/docs/api/index/functions/createVideoComponent.md +1 -1
  160. package/dist/docs/api/index/functions/decanonicalizeComponentValue.md +28 -0
  161. package/dist/docs/api/index/functions/despawnPrefab.md +32 -0
  162. package/dist/docs/api/index/functions/encodeOverride.md +28 -0
  163. package/dist/docs/api/index/functions/findSnapshotRootEntityIds.md +25 -0
  164. package/dist/docs/api/index/functions/findTopLevelNestedRegions.md +28 -0
  165. package/dist/docs/api/index/functions/groupOverridePaths.md +25 -0
  166. package/dist/docs/api/index/functions/hydrateWorldFromSnapshot.md +1 -1
  167. package/dist/docs/api/index/functions/hydrateWorldFromSnapshotDetailed.md +4 -2
  168. package/dist/docs/api/index/functions/indexSnapshotByEntity.md +25 -0
  169. package/dist/docs/api/index/functions/instantiateSubtree.md +32 -0
  170. package/dist/docs/api/index/functions/loadPrefab.md +28 -0
  171. package/dist/docs/api/index/functions/loadSharedGltf.md +29 -0
  172. package/dist/docs/api/index/functions/mergeComponentValue.md +32 -0
  173. package/dist/docs/api/index/functions/parseOverride.md +34 -0
  174. package/dist/docs/api/index/functions/parsePrefabAsset.md +25 -0
  175. package/dist/docs/api/index/functions/prefabFileVersionFor.md +25 -0
  176. package/dist/docs/api/index/functions/registerDefaultComponentFactories.md +1 -1
  177. package/dist/docs/api/index/functions/registerDefaultFactories.md +1 -1
  178. package/dist/docs/api/index/functions/remapSnapshotEntityIds.md +46 -0
  179. package/dist/docs/api/index/functions/resolveDracoDecoderPath.md +17 -0
  180. package/dist/docs/api/index/functions/restoreComponentState.md +34 -0
  181. package/dist/docs/api/index/functions/restorePostCreateComponents.md +36 -0
  182. package/dist/docs/api/index/functions/serializeEntitySubtree.md +35 -0
  183. package/dist/docs/api/index/functions/setDracoDecoderPath.md +30 -0
  184. package/dist/docs/api/index/functions/setPrefabAssetUrlResolver.md +30 -0
  185. package/dist/docs/api/index/functions/spawnPrefab.md +36 -0
  186. package/dist/docs/api/index/index.md +65 -0
  187. package/dist/docs/api/index/interfaces/EcsSystem.md +3 -3
  188. package/dist/docs/api/index/interfaces/StateMachine.md +13 -13
  189. package/dist/docs/api/index/type-aliases/AnimationStateCallbacks.md +4 -4
  190. package/dist/docs/api/index/type-aliases/ApplyPrefabToSnapshotResult.md +23 -0
  191. package/dist/docs/api/index/type-aliases/ComponentFactory.md +1 -1
  192. package/dist/docs/api/index/type-aliases/ComponentValueMaps.md +69 -0
  193. package/dist/docs/api/index/type-aliases/EcsComponentFactoryKind.md +2 -1
  194. package/dist/docs/api/index/type-aliases/EcsWorldComponentSnapshot.md +3 -3
  195. package/dist/docs/api/index/type-aliases/EcsWorldStateSnapshotLike.md +4 -4
  196. package/dist/docs/api/index/type-aliases/ExternalRefWarning.md +27 -0
  197. package/dist/docs/api/index/type-aliases/HydrateOptions.md +27 -0
  198. package/dist/docs/api/index/type-aliases/HydrateWorldFromSnapshotResult.md +7 -5
  199. package/dist/docs/api/index/type-aliases/InstantiateSubtreeResult.md +23 -0
  200. package/dist/docs/api/index/type-aliases/KeyboardKey.md +1 -1
  201. package/dist/docs/api/index/type-aliases/ModuleLoader.md +25 -0
  202. package/dist/docs/api/index/type-aliases/MouseButton.md +1 -1
  203. package/dist/docs/api/index/type-aliases/NestedRegion.md +27 -0
  204. package/dist/docs/api/index/type-aliases/NodeKeyMaps.md +30 -0
  205. package/dist/docs/api/index/type-aliases/NodeMaps.md +25 -0
  206. package/dist/docs/api/index/type-aliases/PrefabAsset.md +32 -0
  207. package/dist/docs/api/index/type-aliases/RemapSnapshotOptions.md +21 -0
  208. package/dist/docs/api/index/type-aliases/SelectionContext.md +4 -4
  209. package/dist/docs/api/index/type-aliases/SerializeEntitySubtreeResult.md +25 -0
  210. package/dist/docs/api/index/type-aliases/SpawnPrefabOptions.md +27 -0
  211. package/dist/docs/api/index/type-aliases/SpawnPrefabSource.md +19 -0
  212. package/dist/docs/api/index/type-aliases/SubtreeSnapshot.md +43 -0
  213. package/dist/docs/api/index/variables/ADDED_NODE_MARKER_COMPONENT.md +19 -0
  214. package/dist/docs/api/index/variables/HYDRATABLE_ENTITY_KINDS.md +1 -1
  215. package/dist/docs/api/index/variables/KeyboardKeys.md +89 -89
  216. package/dist/docs/api/index/variables/NODE_KEY_SEPARATOR.md +13 -0
  217. package/dist/docs/api/index/variables/OVERRIDE_DIFF_EXCLUDED_COMPONENTS.md +15 -0
  218. package/dist/docs/api/index/variables/OVERRIDE_ROOT_EXCLUDED_COMPONENTS.md +16 -0
  219. package/dist/docs/api/index/variables/PREFAB_FILE_VERSION.md +13 -0
  220. package/dist/docs/api/index/variables/PREFAB_FILE_VERSION_NESTED.md +15 -0
  221. package/dist/docs/api/index/variables/SCRIPT_OBJECT_ROOT_FLAG.md +15 -0
  222. package/dist/docs/api/index/variables/SHARED_MODEL_RESOURCE_FLAG.md +17 -0
  223. package/dist/docs/api/typedoc-sidebar.json +1 -1
  224. package/dist/docs/api/types/type-aliases/AssetInput.md +3 -3
  225. package/dist/docs/api/types/type-aliases/CheckboxInput.md +3 -3
  226. package/dist/docs/api/types/type-aliases/ColorInput.md +1 -1
  227. package/dist/docs/api/types/type-aliases/ComponentInput.md +4 -4
  228. package/dist/docs/api/types/type-aliases/ComponentKind.md +2 -1
  229. package/dist/docs/api/types/type-aliases/DropdownInput.md +3 -3
  230. package/dist/docs/api/types/type-aliases/DropdownOption.md +3 -3
  231. package/dist/docs/api/types/type-aliases/EcsEntityEditorKind.md +1 -1
  232. package/dist/docs/api/types/type-aliases/EcsEntityKind.md +3 -2
  233. package/dist/docs/api/types/type-aliases/EntityId.md +1 -1
  234. package/dist/docs/api/types/type-aliases/EntityInput.md +3 -3
  235. package/dist/docs/api/types/type-aliases/FloatInput.md +1 -1
  236. package/dist/docs/api/types/type-aliases/IntersectionResult.md +3 -3
  237. package/dist/docs/api/types/type-aliases/ParentLookup.md +3 -3
  238. package/dist/docs/api/types/type-aliases/SelectionListener.md +1 -1
  239. package/dist/docs/api/types/type-aliases/SliderInput.md +5 -5
  240. package/dist/docs/api/types/type-aliases/TextInput.md +1 -1
  241. package/dist/docs/api/types/type-aliases/ToggleInput.md +1 -1
  242. package/dist/docs/api/types/type-aliases/Vec3.md +1 -1
  243. package/dist/docs/api/types/type-aliases/Vector2Input.md +3 -3
  244. package/dist/docs/api/types/type-aliases/Vector3Input.md +4 -4
  245. package/dist/docs/api/types/type-aliases/WorldEntityView.md +1 -1
  246. package/dist/docs/guide/components/_sidebar.json +4 -0
  247. package/dist/docs/guide/components/material.md +1 -0
  248. package/dist/docs/guide/components/script-object.md +32 -0
  249. package/dist/factories/index.cjs +271 -118
  250. package/dist/factories/index.cjs.map +1 -1
  251. package/dist/factories/index.d.cts +9 -3
  252. package/dist/factories/index.d.ts +9 -3
  253. package/dist/factories/index.js +3 -3
  254. package/dist/{index-Gr8aCPRM.d.cts → index-CUFd71ri.d.cts} +12 -3
  255. package/dist/index-D84o_UA6.d.ts +488 -0
  256. package/dist/index-YYypJaVw.d.cts +488 -0
  257. package/dist/{index-BwiRJNIT.d.ts → index-w1oqWl_M.d.ts} +12 -3
  258. package/dist/index.cjs +1014 -208
  259. package/dist/index.cjs.map +1 -1
  260. package/dist/index.d.cts +42 -8
  261. package/dist/index.d.ts +42 -8
  262. package/dist/index.js +24 -8
  263. package/dist/index.js.map +1 -1
  264. package/dist/systems/index.cjs +717 -12
  265. package/dist/systems/index.cjs.map +1 -1
  266. package/dist/systems/index.d.cts +3 -278
  267. package/dist/systems/index.d.ts +3 -278
  268. package/dist/systems/index.js +3 -3
  269. package/dist/types.d.cts +1 -1
  270. package/dist/types.d.ts +1 -1
  271. package/dist/worldSnapshotUtils.d.cts +1 -1
  272. package/dist/worldSnapshotUtils.d.ts +1 -1
  273. package/package.json +4 -4
  274. package/dist/chunk-3P3ZBP7K.js.map +0 -1
  275. package/dist/chunk-J6736FFO.js.map +0 -1
  276. package/dist/chunk-RJ4J5UEX.js.map +0 -1
@@ -1,7 +1,7 @@
1
- import { createTransform, applyTransform, resolveDracoDecoderPath, loadSharedGltf, cloneModelScene } from './chunk-XFD74BQL.js';
2
- import { AnimationComponent, AudioComponent, Object3DRef, CameraComponent, MeshGeometryComponent, PhysicsComponent, Environment, EntityType, ImageComponent, ImageTargetAnchor, ImageTarget, LightComponent, MaterialComponent, MeshComponent, ModelComponent, Name, ParentId, Postprocessing, ScriptComponent, ScriptObjectComponent, Selectable, SelectionTransformState, SpriteComponent, TransformComponent, InstancedMeshComponent, InstanceSlotComponent, VideoComponent, DEFAULT_INSTANCE_TRANSFORM } from './chunk-J6736FFO.js';
1
+ import { createTransform, applyTransform, resolveDracoDecoderPath, loadSharedGltf, cloneModelScene } from './chunk-67WGASUJ.js';
2
+ import { AnimationComponent, AudioComponent, Object3DRef, CameraComponent, MeshGeometryComponent, PhysicsComponent, Environment, EntityType, ImageComponent, ImageTargetAnchor, ImageTarget, LightComponent, MaterialComponent, MeshComponent, ModelComponent, Name, ParentId, Postprocessing, ScriptComponent, ScriptObjectComponent, Selectable, SelectionTransformState, SpriteComponent, TransformComponent, InstancedMeshComponent, InstanceSlotComponent, VideoComponent, XRRigComponent, VRTeleportAreaComponent, XRInteractableComponent, DEFAULT_INSTANCE_TRANSFORM } from './chunk-U3MDYKPV.js';
3
3
  import { __name } from './chunk-OY7ZODZP.js';
4
- import * as THREE22 from 'three';
4
+ import * as THREE24 from 'three';
5
5
  import { RectAreaLightHelper } from 'three/examples/jsm/helpers/RectAreaLightHelper.js';
6
6
  import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader.js';
7
7
  import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
@@ -22,11 +22,11 @@ function normalizeDistanceModel(distanceModel) {
22
22
  }
23
23
  __name(normalizeDistanceModel, "normalizeDistanceModel");
24
24
  function createConfiguredAudio(listener, options) {
25
- const sound = options.positional ? new THREE22.PositionalAudio(listener) : new THREE22.Audio(listener);
25
+ const sound = options.positional ? new THREE24.PositionalAudio(listener) : new THREE24.Audio(listener);
26
26
  sound.setLoop(options.loop);
27
27
  sound.setVolume(options.volume);
28
28
  sound.setPlaybackRate(options.pitch);
29
- if (sound instanceof THREE22.PositionalAudio) {
29
+ if (sound instanceof THREE24.PositionalAudio) {
30
30
  sound.setRefDistance(options.refDistance);
31
31
  sound.setDistanceModel(normalizeDistanceModel(options.distanceModel));
32
32
  sound.setRolloffFactor(options.rolloffFactor);
@@ -36,16 +36,16 @@ function createConfiguredAudio(listener, options) {
36
36
  __name(createConfiguredAudio, "createConfiguredAudio");
37
37
  function createAudioEditorHelper() {
38
38
  if (typeof document === "undefined") {
39
- const geometry = new THREE22.EdgesGeometry(
40
- new THREE22.OctahedronGeometry(0.22, 0)
39
+ const geometry = new THREE24.EdgesGeometry(
40
+ new THREE24.OctahedronGeometry(0.22, 0)
41
41
  );
42
- const material2 = new THREE22.LineBasicMaterial({
42
+ const material2 = new THREE24.LineBasicMaterial({
43
43
  color: "#8bc8ff",
44
44
  transparent: true,
45
45
  opacity: 0.95,
46
46
  depthTest: false
47
47
  });
48
- const fallback = new THREE22.LineSegments(geometry, material2);
48
+ const fallback = new THREE24.LineSegments(geometry, material2);
49
49
  fallback.renderOrder = 10;
50
50
  fallback.userData.ecsHelper = true;
51
51
  fallback.visible = false;
@@ -57,7 +57,7 @@ function createAudioEditorHelper() {
57
57
  canvas.height = size;
58
58
  const ctx = canvas.getContext("2d");
59
59
  if (!ctx) {
60
- return new THREE22.Object3D();
60
+ return new THREE24.Object3D();
61
61
  }
62
62
  ctx.clearRect(0, 0, size, size);
63
63
  ctx.fillStyle = "rgba(27, 35, 52, 0.9)";
@@ -88,14 +88,14 @@ function createAudioEditorHelper() {
88
88
  ctx.beginPath();
89
89
  ctx.arc(56, 48, 16, -0.8, 0.8);
90
90
  ctx.stroke();
91
- const texture = new THREE22.CanvasTexture(canvas);
91
+ const texture = new THREE24.CanvasTexture(canvas);
92
92
  texture.needsUpdate = true;
93
- const material = new THREE22.SpriteMaterial({
93
+ const material = new THREE24.SpriteMaterial({
94
94
  map: texture,
95
95
  transparent: true,
96
96
  depthTest: false
97
97
  });
98
- const helper = new THREE22.Sprite(material);
98
+ const helper = new THREE24.Sprite(material);
99
99
  helper.scale.set(0.68, 0.68, 0.68);
100
100
  helper.renderOrder = 10;
101
101
  helper.userData.ecsHelper = true;
@@ -122,7 +122,7 @@ function createAudioComponent(world, entityId, path = "", options = {}, context)
122
122
  __name(createAudioComponent, "createAudioComponent");
123
123
  function createCameraComponent(world, entityId, payload = {}) {
124
124
  const object = world.getComponent(entityId, Object3DRef)?.object;
125
- const objectCamera = object instanceof THREE22.Camera ? object : void 0;
125
+ const objectCamera = object instanceof THREE24.Camera ? object : void 0;
126
126
  const component = new CameraComponent({
127
127
  ...payload,
128
128
  camera: payload.camera ?? objectCamera
@@ -390,6 +390,30 @@ function createVideoComponent(world, entityId, ...args) {
390
390
  }
391
391
  __name(createVideoComponent, "createVideoComponent");
392
392
 
393
+ // core/factories/components/XRRigFactory.ts
394
+ function createXRRigComponent(world, entityId, ...args) {
395
+ const component = new XRRigComponent(...args);
396
+ world.addComponent(entityId, component);
397
+ return component;
398
+ }
399
+ __name(createXRRigComponent, "createXRRigComponent");
400
+
401
+ // core/factories/components/VRTeleportAreaFactory.ts
402
+ function createVRTeleportAreaComponent(world, entityId, ...args) {
403
+ const component = new VRTeleportAreaComponent(...args);
404
+ world.addComponent(entityId, component);
405
+ return component;
406
+ }
407
+ __name(createVRTeleportAreaComponent, "createVRTeleportAreaComponent");
408
+
409
+ // core/factories/components/XRInteractableFactory.ts
410
+ function createXRInteractableComponent(world, entityId, ...args) {
411
+ const component = new XRInteractableComponent(...args);
412
+ world.addComponent(entityId, component);
413
+ return component;
414
+ }
415
+ __name(createXRInteractableComponent, "createXRInteractableComponent");
416
+
393
417
  // core/factories/registerDefaultComponentFactories.ts
394
418
  function registerDefaultComponentFactories(objectManagementSystem) {
395
419
  objectManagementSystem.registerComponentFactory("animation", createAnimationComponent);
@@ -399,6 +423,9 @@ function registerDefaultComponentFactories(objectManagementSystem) {
399
423
  objectManagementSystem.registerComponentFactory("environment", createEnvironmentComponent);
400
424
  objectManagementSystem.registerComponentFactory("entityType", createEntityTypeComponent);
401
425
  objectManagementSystem.registerComponentFactory("image", createImageComponent);
426
+ objectManagementSystem.registerComponentFactory("xrRig", createXRRigComponent);
427
+ objectManagementSystem.registerComponentFactory("vrTeleportArea", createVRTeleportAreaComponent);
428
+ objectManagementSystem.registerComponentFactory("xrInteractable", createXRInteractableComponent);
402
429
  objectManagementSystem.registerComponentFactory(
403
430
  "imageTargetAnchor",
404
431
  createImageTargetAnchorComponent
@@ -458,10 +485,10 @@ __name(createBaseEntity, "createBaseEntity");
458
485
  // core/factories/objects/AudioFactory.ts
459
486
  function getOrCreateListener(camera) {
460
487
  const existing = camera.userData.ecsAudioListener;
461
- if (existing instanceof THREE22.AudioListener) {
488
+ if (existing instanceof THREE24.AudioListener) {
462
489
  return existing;
463
490
  }
464
- const listener = new THREE22.AudioListener();
491
+ const listener = new THREE24.AudioListener();
465
492
  camera.add(listener);
466
493
  camera.userData.ecsAudioListener = listener;
467
494
  return listener;
@@ -474,7 +501,7 @@ function createAudio({
474
501
  payload,
475
502
  isEditor
476
503
  }) {
477
- const anchor = new THREE22.Object3D();
504
+ const anchor = new THREE24.Object3D();
478
505
  const entityId = createBaseEntity(world, anchor, {
479
506
  label: payload.name ?? "Audio",
480
507
  entityType: "audio",
@@ -496,7 +523,7 @@ function createAudio({
496
523
  return entityId;
497
524
  }
498
525
  if (!isEditor) {
499
- const loader = new THREE22.AudioLoader();
526
+ const loader = new THREE24.AudioLoader();
500
527
  loader.load(
501
528
  audio.path,
502
529
  (buffer) => {
@@ -571,7 +598,7 @@ function applyCameraSettings(camera, options) {
571
598
  const near = typeof options.near === "number" ? options.near : DEFAULT_NEAR;
572
599
  const far = typeof options.far === "number" ? options.far : DEFAULT_FAR;
573
600
  const projection = options.projection;
574
- if (camera instanceof THREE22.PerspectiveCamera) {
601
+ if (camera instanceof THREE24.PerspectiveCamera) {
575
602
  if (!projection || projection === "perspective") {
576
603
  camera.fov = typeof options.fov === "number" ? options.fov : DEFAULT_FOV;
577
604
  }
@@ -581,7 +608,7 @@ function applyCameraSettings(camera, options) {
581
608
  camera.updateProjectionMatrix();
582
609
  return;
583
610
  }
584
- if (camera instanceof THREE22.OrthographicCamera) {
611
+ if (camera instanceof THREE24.OrthographicCamera) {
585
612
  camera.left = typeof options.left === "number" ? options.left : -DEFAULT_ORTHOGRAPHIC_HALF_HEIGHT;
586
613
  camera.right = typeof options.right === "number" ? options.right : DEFAULT_ORTHOGRAPHIC_HALF_HEIGHT;
587
614
  camera.top = typeof options.top === "number" ? options.top : DEFAULT_ORTHOGRAPHIC_HALF_HEIGHT;
@@ -602,7 +629,7 @@ function createCameraObject(options) {
602
629
  const bottom = options.bottom ?? -DEFAULT_ORTHOGRAPHIC_HALF_HEIGHT;
603
630
  const left = options.left ?? -DEFAULT_ORTHOGRAPHIC_HALF_HEIGHT;
604
631
  const right = options.right ?? DEFAULT_ORTHOGRAPHIC_HALF_HEIGHT;
605
- const camera = new THREE22.OrthographicCamera(
632
+ const camera = new THREE24.OrthographicCamera(
606
633
  left,
607
634
  right,
608
635
  top,
@@ -614,7 +641,7 @@ function createCameraObject(options) {
614
641
  camera.updateProjectionMatrix();
615
642
  return camera;
616
643
  }
617
- return new THREE22.PerspectiveCamera(
644
+ return new THREE24.PerspectiveCamera(
618
645
  options.fov ?? DEFAULT_FOV,
619
646
  readViewportAspect(),
620
647
  near,
@@ -632,7 +659,7 @@ function createCamera({ world, scene, camera, payload, isEditor }) {
632
659
  transformInput: payload.transform
633
660
  });
634
661
  const objectRef = world.getComponent(entityId, Object3DRef);
635
- if (objectRef?.object instanceof THREE22.Camera) {
662
+ if (objectRef?.object instanceof THREE24.Camera) {
636
663
  objectRef.object.userData.entityId = entityId;
637
664
  }
638
665
  const componentOptions = {
@@ -664,9 +691,9 @@ function createCapsule({
664
691
  scene,
665
692
  payload
666
693
  }) {
667
- const geometry = new THREE22.CapsuleGeometry(0.5, 1, 4, 8);
668
- const material = new THREE22.MeshStandardMaterial({ color: "#ffffff" });
669
- const mesh = new THREE22.Mesh(geometry, material);
694
+ const geometry = new THREE24.CapsuleGeometry(0.5, 1, 4, 8);
695
+ const material = new THREE24.MeshStandardMaterial({ color: "#ffffff" });
696
+ const mesh = new THREE24.Mesh(geometry, material);
670
697
  const entityId = createBaseEntity(world, mesh, {
671
698
  label: payload.name ?? "Capsule",
672
699
  entityType: "capsule",
@@ -686,9 +713,9 @@ function createCapsule({
686
713
  }
687
714
  __name(createCapsule, "createCapsule");
688
715
  function createCube({ world, scene, payload }) {
689
- const geometry = new THREE22.BoxGeometry(1, 1, 1);
690
- const material = new THREE22.MeshStandardMaterial({ color: "#ffffff" });
691
- const mesh = new THREE22.Mesh(geometry, material);
716
+ const geometry = new THREE24.BoxGeometry(1, 1, 1);
717
+ const material = new THREE24.MeshStandardMaterial({ color: "#ffffff" });
718
+ const mesh = new THREE24.Mesh(geometry, material);
692
719
  const entityId = createBaseEntity(world, mesh, {
693
720
  label: payload.name ?? "Cube",
694
721
  entityType: "cube",
@@ -713,9 +740,9 @@ function createCylinder({
713
740
  scene,
714
741
  payload
715
742
  }) {
716
- const geometry = new THREE22.CylinderGeometry(0.5, 0.5, 1, 20);
717
- const material = new THREE22.MeshStandardMaterial({ color: "#ffffff" });
718
- const mesh = new THREE22.Mesh(geometry, material);
743
+ const geometry = new THREE24.CylinderGeometry(0.5, 0.5, 1, 20);
744
+ const material = new THREE24.MeshStandardMaterial({ color: "#ffffff" });
745
+ const mesh = new THREE24.Mesh(geometry, material);
719
746
  const entityId = createBaseEntity(world, mesh, {
720
747
  label: payload.name ?? "Cylinder",
721
748
  entityType: "cylinder",
@@ -735,7 +762,7 @@ function createCylinder({
735
762
  }
736
763
  __name(createCylinder, "createCylinder");
737
764
  function createEmpty({ world, scene, payload, isEditor }) {
738
- const object = new THREE22.Group();
765
+ const object = new THREE24.Group();
739
766
  const entityId = createBaseEntity(world, object, {
740
767
  label: payload.name ?? "Empty",
741
768
  entityType: "empty",
@@ -746,7 +773,7 @@ function createEmpty({ world, scene, payload, isEditor }) {
746
773
  }
747
774
  __name(createEmpty, "createEmpty");
748
775
  function createImage({ world, scene, payload }) {
749
- const anchor = new THREE22.Object3D();
776
+ const anchor = new THREE24.Object3D();
750
777
  const imagePath = payload.path ?? "";
751
778
  const entityId = createBaseEntity(world, anchor, {
752
779
  label: payload.name ?? "Image",
@@ -759,7 +786,7 @@ function createImage({ world, scene, payload }) {
759
786
  if (!imagePath) {
760
787
  return entityId;
761
788
  }
762
- const loader = new THREE22.TextureLoader();
789
+ const loader = new THREE24.TextureLoader();
763
790
  loader.load(
764
791
  imagePath,
765
792
  (texture) => {
@@ -767,13 +794,13 @@ function createImage({ world, scene, payload }) {
767
794
  texture.dispose();
768
795
  return;
769
796
  }
770
- const material = new THREE22.MeshBasicMaterial({
797
+ const material = new THREE24.MeshBasicMaterial({
771
798
  map: texture,
772
799
  transparent: true,
773
- side: THREE22.DoubleSide
800
+ side: THREE24.DoubleSide
774
801
  });
775
- const geometry = new THREE22.PlaneGeometry(1, 1);
776
- const plane = new THREE22.Mesh(geometry, material);
802
+ const geometry = new THREE24.PlaneGeometry(1, 1);
803
+ const plane = new THREE24.Mesh(geometry, material);
777
804
  plane.userData.entityId = entityId;
778
805
  const textureImage = texture.image;
779
806
  const width = textureImage?.width ?? 1;
@@ -819,7 +846,7 @@ function createImageTarget({
819
846
  payload,
820
847
  isEditor
821
848
  }) {
822
- const anchor = new THREE22.Object3D();
849
+ const anchor = new THREE24.Object3D();
823
850
  const imagePath = payload.path ?? "";
824
851
  const entityId = createBaseEntity(world, anchor, {
825
852
  label: payload.name ?? "Image Target",
@@ -836,7 +863,7 @@ function createImageTarget({
836
863
  if (!isEditor || !imagePath) {
837
864
  return entityId;
838
865
  }
839
- const loader = new THREE22.TextureLoader();
866
+ const loader = new THREE24.TextureLoader();
840
867
  loader.load(
841
868
  imagePath,
842
869
  (texture) => {
@@ -844,13 +871,13 @@ function createImageTarget({
844
871
  texture.dispose();
845
872
  return;
846
873
  }
847
- const material = new THREE22.MeshBasicMaterial({
874
+ const material = new THREE24.MeshBasicMaterial({
848
875
  map: texture,
849
876
  transparent: true,
850
- side: THREE22.DoubleSide
877
+ side: THREE24.DoubleSide
851
878
  });
852
- const geometry = new THREE22.PlaneGeometry(1, 1);
853
- const plane = new THREE22.Mesh(geometry, material);
879
+ const geometry = new THREE24.PlaneGeometry(1, 1);
880
+ const plane = new THREE24.Mesh(geometry, material);
854
881
  plane.userData.entityId = entityId;
855
882
  const textureImage = texture.image;
856
883
  const width = textureImage?.width ?? 1;
@@ -901,7 +928,7 @@ function createInstancedMesh({
901
928
  scene,
902
929
  payload
903
930
  }) {
904
- const anchor = new THREE22.Object3D();
931
+ const anchor = new THREE24.Object3D();
905
932
  const opts = payload.options ?? {};
906
933
  const meshKind = isInstancedMeshKind(opts.meshKind) ? opts.meshKind : "cube";
907
934
  const meshParameters = opts.meshParameters && typeof opts.meshParameters === "object" ? opts.meshParameters : void 0;
@@ -972,7 +999,7 @@ function createAmbientLight({
972
999
  scene,
973
1000
  payload
974
1001
  }) {
975
- const light = new THREE22.AmbientLight("#ffffff", 0.6);
1002
+ const light = new THREE24.AmbientLight("#ffffff", 0.6);
976
1003
  const entityId = createBaseEntity(world, light, {
977
1004
  label: payload.name ?? "Ambient Light",
978
1005
  entityType: "ambientLight",
@@ -989,7 +1016,7 @@ function createAreaLight({
989
1016
  payload,
990
1017
  isEditor
991
1018
  }) {
992
- const light = new THREE22.RectAreaLight("#ffffff", 5, 4, 4);
1019
+ const light = new THREE24.RectAreaLight("#ffffff", 5, 4, 4);
993
1020
  light.lookAt(0, 0, 0);
994
1021
  const entityId = createBaseEntity(world, light, {
995
1022
  label: payload.name ?? "Area Light",
@@ -1018,7 +1045,7 @@ function createDirectionalLight({
1018
1045
  payload,
1019
1046
  isEditor
1020
1047
  }) {
1021
- const light = new THREE22.DirectionalLight("#ffffff", 1.5);
1048
+ const light = new THREE24.DirectionalLight("#ffffff", 1.5);
1022
1049
  light.castShadow = true;
1023
1050
  const entityId = createBaseEntity(world, light, {
1024
1051
  label: payload.name ?? "Directional Light",
@@ -1029,7 +1056,7 @@ function createDirectionalLight({
1029
1056
  });
1030
1057
  createLightComponent(world, entityId, light);
1031
1058
  if (isEditor) {
1032
- const helper = new THREE22.DirectionalLightHelper(light, 1.8, "#38bdf8");
1059
+ const helper = new THREE24.DirectionalLightHelper(light, 1.8, "#38bdf8");
1033
1060
  helper.onBeforeRender = () => {
1034
1061
  helper.update();
1035
1062
  };
@@ -1047,7 +1074,7 @@ function createPointLight({
1047
1074
  payload,
1048
1075
  isEditor
1049
1076
  }) {
1050
- const light = new THREE22.PointLight("#ffffff", 1, 10);
1077
+ const light = new THREE24.PointLight("#ffffff", 1, 10);
1051
1078
  const entityId = createBaseEntity(world, light, {
1052
1079
  label: payload.name ?? "Point Light",
1053
1080
  entityType: "pointLight",
@@ -1057,7 +1084,7 @@ function createPointLight({
1057
1084
  });
1058
1085
  createLightComponent(world, entityId, light);
1059
1086
  if (isEditor) {
1060
- const helper = new THREE22.PointLightHelper(light, 0.35, "#fbbf24");
1087
+ const helper = new THREE24.PointLightHelper(light, 0.35, "#fbbf24");
1061
1088
  helper.onBeforeRender = () => {
1062
1089
  helper.update();
1063
1090
  };
@@ -1075,7 +1102,7 @@ function createSpotLight({
1075
1102
  payload,
1076
1103
  isEditor
1077
1104
  }) {
1078
- const light = new THREE22.SpotLight("#ffffff", 1, 20, Math.PI / 6, 0.1, 1);
1105
+ const light = new THREE24.SpotLight("#ffffff", 1, 20, Math.PI / 6, 0.1, 1);
1079
1106
  const entityId = createBaseEntity(world, light, {
1080
1107
  label: payload.name ?? "Spot Light",
1081
1108
  entityType: "spotLight",
@@ -1085,7 +1112,7 @@ function createSpotLight({
1085
1112
  });
1086
1113
  createLightComponent(world, entityId, light);
1087
1114
  if (isEditor) {
1088
- const helper = new THREE22.SpotLightHelper(light, "#f59e0b");
1115
+ const helper = new THREE24.SpotLightHelper(light, "#f59e0b");
1089
1116
  helper.onBeforeRender = () => {
1090
1117
  helper.update();
1091
1118
  };
@@ -1120,7 +1147,7 @@ function createModel({
1120
1147
  payload,
1121
1148
  isEditor
1122
1149
  }) {
1123
- const anchor = new THREE22.Object3D();
1150
+ const anchor = new THREE24.Object3D();
1124
1151
  const modelPath = payload.path ?? "";
1125
1152
  const entityId = createBaseEntity(world, anchor, {
1126
1153
  label: payload.name ?? "Model",
@@ -1186,12 +1213,12 @@ function createModel({
1186
1213
  }
1187
1214
  __name(createModel, "createModel");
1188
1215
  function createPlane({ world, scene, payload }) {
1189
- const geometry = new THREE22.PlaneGeometry(100, 100);
1190
- const material = new THREE22.MeshStandardMaterial({
1216
+ const geometry = new THREE24.PlaneGeometry(100, 100);
1217
+ const material = new THREE24.MeshStandardMaterial({
1191
1218
  color: "#ffffff",
1192
- side: THREE22.DoubleSide
1219
+ side: THREE24.DoubleSide
1193
1220
  });
1194
- const mesh = new THREE22.Mesh(geometry, material);
1221
+ const mesh = new THREE24.Mesh(geometry, material);
1195
1222
  const entityId = createBaseEntity(
1196
1223
  world,
1197
1224
  mesh,
@@ -1227,7 +1254,7 @@ function createScriptObject({
1227
1254
  scene,
1228
1255
  payload
1229
1256
  }) {
1230
- const object = new THREE22.Group();
1257
+ const object = new THREE24.Group();
1231
1258
  const entityId = createBaseEntity(world, object, {
1232
1259
  label: payload.name ?? "Script Object",
1233
1260
  entityType: "scriptObject",
@@ -1244,8 +1271,56 @@ function createScriptObject({
1244
1271
  return entityId;
1245
1272
  }
1246
1273
  __name(createScriptObject, "createScriptObject");
1274
+ function createTeleportArea({
1275
+ world,
1276
+ scene,
1277
+ payload
1278
+ }) {
1279
+ const options = payload.options ?? {};
1280
+ const width = typeof options.width === "number" ? options.width : 10;
1281
+ const depth = typeof options.depth === "number" ? options.depth : 10;
1282
+ const geometry = new THREE24.PlaneGeometry(width, depth);
1283
+ const material = new THREE24.MeshBasicMaterial({
1284
+ color: "#4da3ff",
1285
+ transparent: true,
1286
+ opacity: 0.18,
1287
+ side: THREE24.DoubleSide,
1288
+ depthWrite: false
1289
+ });
1290
+ const object = new THREE24.Mesh(geometry, material);
1291
+ object.rotation.x = -Math.PI / 2;
1292
+ const entityId = createBaseEntity(world, object, {
1293
+ label: payload.name ?? "Teleport Area",
1294
+ entityType: "teleportArea",
1295
+ transformInput: payload.transform
1296
+ });
1297
+ world.addComponent(
1298
+ entityId,
1299
+ new VRTeleportAreaComponent({ width, depth, ...options })
1300
+ );
1301
+ scene.add(object);
1302
+ return entityId;
1303
+ }
1304
+ __name(createTeleportArea, "createTeleportArea");
1305
+ function createXRRig({
1306
+ world,
1307
+ scene,
1308
+ payload
1309
+ }) {
1310
+ const object = new THREE24.Group();
1311
+ const entityId = createBaseEntity(world, object, {
1312
+ label: payload.name ?? "XR Rig",
1313
+ entityType: "xrRig",
1314
+ transformInput: payload.transform
1315
+ });
1316
+ const options = payload.options ?? {};
1317
+ world.addComponent(entityId, new XRRigComponent(options));
1318
+ scene.add(object);
1319
+ return entityId;
1320
+ }
1321
+ __name(createXRRig, "createXRRig");
1247
1322
  function createSprite({ world, scene, payload }) {
1248
- const anchor = new THREE22.Object3D();
1323
+ const anchor = new THREE24.Object3D();
1249
1324
  const imagePath = payload.path ?? "";
1250
1325
  const entityId = createBaseEntity(world, anchor, {
1251
1326
  label: payload.name ?? "Sprite",
@@ -1257,7 +1332,7 @@ function createSprite({ world, scene, payload }) {
1257
1332
  if (!imagePath) {
1258
1333
  return entityId;
1259
1334
  }
1260
- const loader = new THREE22.TextureLoader();
1335
+ const loader = new THREE24.TextureLoader();
1261
1336
  loader.load(
1262
1337
  imagePath,
1263
1338
  (texture) => {
@@ -1265,11 +1340,11 @@ function createSprite({ world, scene, payload }) {
1265
1340
  texture.dispose();
1266
1341
  return;
1267
1342
  }
1268
- const material = new THREE22.SpriteMaterial({
1343
+ const material = new THREE24.SpriteMaterial({
1269
1344
  map: texture,
1270
1345
  transparent: true
1271
1346
  });
1272
- const sprite = new THREE22.Sprite(material);
1347
+ const sprite = new THREE24.Sprite(material);
1273
1348
  sprite.userData.entityId = entityId;
1274
1349
  const textureImage = texture.image;
1275
1350
  spriteComponent.width = textureImage?.width ?? 1;
@@ -1287,9 +1362,9 @@ function createSprite({ world, scene, payload }) {
1287
1362
  }
1288
1363
  __name(createSprite, "createSprite");
1289
1364
  function createSphere({ world, scene, payload }) {
1290
- const geometry = new THREE22.SphereGeometry(0.5, 24, 24);
1291
- const material = new THREE22.MeshStandardMaterial({ color: "#ffffff" });
1292
- const mesh = new THREE22.Mesh(geometry, material);
1365
+ const geometry = new THREE24.SphereGeometry(0.5, 24, 24);
1366
+ const material = new THREE24.MeshStandardMaterial({ color: "#ffffff" });
1367
+ const mesh = new THREE24.Mesh(geometry, material);
1293
1368
  const entityId = createBaseEntity(world, mesh, {
1294
1369
  label: payload.name ?? "Sphere",
1295
1370
  entityType: "sphere",
@@ -1309,10 +1384,10 @@ function createSphere({ world, scene, payload }) {
1309
1384
  __name(createSphere, "createSphere");
1310
1385
  function getOrCreateListener2(camera) {
1311
1386
  const existing = camera.userData.ecsAudioListener;
1312
- if (existing instanceof THREE22.AudioListener) {
1387
+ if (existing instanceof THREE24.AudioListener) {
1313
1388
  return existing;
1314
1389
  }
1315
- const listener = new THREE22.AudioListener();
1390
+ const listener = new THREE24.AudioListener();
1316
1391
  camera.add(listener);
1317
1392
  camera.userData.ecsAudioListener = listener;
1318
1393
  return listener;
@@ -1362,10 +1437,10 @@ function normalizeOptions(input) {
1362
1437
  }
1363
1438
  __name(normalizeOptions, "normalizeOptions");
1364
1439
  function createChromaMaterial(texture, options) {
1365
- return new THREE22.ShaderMaterial({
1440
+ return new THREE24.ShaderMaterial({
1366
1441
  uniforms: {
1367
1442
  tex: { value: texture },
1368
- keyColor: { value: new THREE22.Color(options.backgroundColor) },
1443
+ keyColor: { value: new THREE24.Color(options.backgroundColor) },
1369
1444
  similarity: { value: options.similarity },
1370
1445
  smoothness: { value: options.smoothness },
1371
1446
  spill: { value: options.spill }
@@ -1397,22 +1472,22 @@ function createChromaMaterial(texture, options) {
1397
1472
  }
1398
1473
  `,
1399
1474
  transparent: true,
1400
- side: THREE22.DoubleSide
1475
+ side: THREE24.DoubleSide
1401
1476
  });
1402
1477
  }
1403
1478
  __name(createChromaMaterial, "createChromaMaterial");
1404
1479
  function createStandardMaterial(texture) {
1405
- return new THREE22.MeshBasicMaterial({
1480
+ return new THREE24.MeshBasicMaterial({
1406
1481
  map: texture,
1407
1482
  transparent: true,
1408
- side: THREE22.DoubleSide
1483
+ side: THREE24.DoubleSide
1409
1484
  });
1410
1485
  }
1411
1486
  __name(createStandardMaterial, "createStandardMaterial");
1412
1487
  function createVideoMesh(entityId, texture, options) {
1413
- const geometry = new THREE22.PlaneGeometry(1, 1);
1488
+ const geometry = new THREE24.PlaneGeometry(1, 1);
1414
1489
  const material = options.isGreenScreen ? createChromaMaterial(texture, options) : createStandardMaterial(texture);
1415
- const mesh = new THREE22.Mesh(geometry, material);
1490
+ const mesh = new THREE24.Mesh(geometry, material);
1416
1491
  mesh.userData.entityId = entityId;
1417
1492
  mesh.scale.set(options.width, options.height, 1);
1418
1493
  return { mesh, material };
@@ -1447,7 +1522,7 @@ function createVideo({
1447
1522
  payload,
1448
1523
  isEditor
1449
1524
  }) {
1450
- const anchor = new THREE22.Object3D();
1525
+ const anchor = new THREE24.Object3D();
1451
1526
  const path = payload.path ?? "";
1452
1527
  const options = normalizeOptions(payload.options);
1453
1528
  const entityId = createBaseEntity(world, anchor, {
@@ -1462,8 +1537,8 @@ function createVideo({
1462
1537
  return entityId;
1463
1538
  }
1464
1539
  const video = createVideoElement(path, options);
1465
- const texture = new THREE22.VideoTexture(video);
1466
- texture.colorSpace = THREE22.SRGBColorSpace;
1540
+ const texture = new THREE24.VideoTexture(video);
1541
+ texture.colorSpace = THREE24.SRGBColorSpace;
1467
1542
  texture.needsUpdate = true;
1468
1543
  const { mesh, material } = createVideoMesh(entityId, texture, options);
1469
1544
  anchor.add(mesh);
@@ -1479,7 +1554,7 @@ function createVideo({
1479
1554
  });
1480
1555
  if (!isEditor && options.positional) {
1481
1556
  const listener = getOrCreateListener2(camera);
1482
- const audioNode = new THREE22.PositionalAudio(listener);
1557
+ const audioNode = new THREE24.PositionalAudio(listener);
1483
1558
  audioNode.setVolume(options.volume);
1484
1559
  audioNode.setRefDistance(options.refDistance);
1485
1560
  audioNode.setDistanceModel(normalizeDistanceModel2(options.distanceModel));
@@ -1519,10 +1594,12 @@ function registerDefaultFactories(objectManagementSystem) {
1519
1594
  objectManagementSystem.register("spotLight", createSpotLight);
1520
1595
  objectManagementSystem.register("areaLight", createAreaLight);
1521
1596
  objectManagementSystem.register("scriptObject", createScriptObject);
1597
+ objectManagementSystem.register("xrRig", createXRRig);
1598
+ objectManagementSystem.register("teleportArea", createTeleportArea);
1522
1599
  registerDefaultComponentFactories(objectManagementSystem);
1523
1600
  }
1524
1601
  __name(registerDefaultFactories, "registerDefaultFactories");
1525
1602
 
1526
- 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, createVideoComponent, registerDefaultComponentFactories, registerDefaultFactories };
1527
- //# sourceMappingURL=chunk-RJ4J5UEX.js.map
1528
- //# sourceMappingURL=chunk-RJ4J5UEX.js.map
1603
+ 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 };
1604
+ //# sourceMappingURL=chunk-PCOZLCXS.js.map
1605
+ //# sourceMappingURL=chunk-PCOZLCXS.js.map