@relu-interactives/spatial-ecs 0.5.2 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) hide show
  1. package/dist/{System-V_mv07le.d.cts → System-8D-XBDKZ.d.cts} +734 -8
  2. package/dist/{System-V_mv07le.d.ts → System-DPMAW30g.d.ts} +734 -8
  3. package/dist/{XRHandPose-CU3vNFuS.d.ts → XRHandPose-G0Dl-F0w.d.ts} +93 -3
  4. package/dist/{XRHandPose-CQTLGxFC.d.cts → XRHandPose-VQMT1WXj.d.cts} +93 -3
  5. package/dist/animation/index.cjs +252 -0
  6. package/dist/animation/index.cjs.map +1 -0
  7. package/dist/animation/index.d.cts +100 -0
  8. package/dist/animation/index.d.ts +100 -0
  9. package/dist/animation/index.js +4 -0
  10. package/dist/animation/index.js.map +1 -0
  11. package/dist/chunk-CKTHDXPS.js +11 -0
  12. package/dist/chunk-CKTHDXPS.js.map +1 -0
  13. package/dist/chunk-G4XJ53LS.js +1237 -0
  14. package/dist/chunk-G4XJ53LS.js.map +1 -0
  15. package/dist/chunk-GSWC6LLD.js +241 -0
  16. package/dist/chunk-GSWC6LLD.js.map +1 -0
  17. package/dist/{chunk-DF5SSRN6.js → chunk-JIJQFW6P.js} +1216 -2920
  18. package/dist/chunk-JIJQFW6P.js.map +1 -0
  19. package/dist/{chunk-BUEKOSR5.js → chunk-NNDUOQ7O.js} +188 -14
  20. package/dist/chunk-NNDUOQ7O.js.map +1 -0
  21. package/dist/chunk-OHCNPPMX.js +334 -0
  22. package/dist/chunk-OHCNPPMX.js.map +1 -0
  23. package/dist/{chunk-RXBLOO5B.js → chunk-SGF73YTF.js} +105 -715
  24. package/dist/chunk-SGF73YTF.js.map +1 -0
  25. package/dist/chunk-U727NTWQ.js +2856 -0
  26. package/dist/chunk-U727NTWQ.js.map +1 -0
  27. package/dist/{chunk-OY7ZODZP.js → chunk-XE4OXN2W.js} +3 -9
  28. package/dist/chunk-XE4OXN2W.js.map +1 -0
  29. package/dist/{chunk-OWQSESTO.js → chunk-XU2DVWCP.js} +4 -3
  30. package/dist/chunk-XU2DVWCP.js.map +1 -0
  31. package/dist/components/index.cjs +183 -10
  32. package/dist/components/index.cjs.map +1 -1
  33. package/dist/components/index.d.cts +5 -3
  34. package/dist/components/index.d.ts +5 -3
  35. package/dist/components/index.js +3 -2
  36. package/dist/docs/api/Behaviour/classes/Behaviour.md +366 -79
  37. package/dist/docs/api/Behaviour/index.md +7 -3
  38. package/dist/docs/api/Behaviour/type-aliases/UiInteractionEvent.md +35 -0
  39. package/dist/docs/api/Component/classes/Component.md +14 -1
  40. package/dist/docs/api/components/classes/AnimationComponent.md +26 -26
  41. package/dist/docs/api/components/classes/AudioComponent.md +19 -19
  42. package/dist/docs/api/components/classes/CameraComponent.md +14 -14
  43. package/dist/docs/api/components/classes/EntityType.md +4 -4
  44. package/dist/docs/api/components/classes/Environment.md +5 -4
  45. package/dist/docs/api/components/classes/ImageComponent.md +7 -7
  46. package/dist/docs/api/components/classes/ImageTarget.md +8 -8
  47. package/dist/docs/api/components/classes/ImageTargetAnchor.md +4 -4
  48. package/dist/docs/api/components/classes/InstanceSlotComponent.md +4 -4
  49. package/dist/docs/api/components/classes/InstancedMeshComponent.md +10 -10
  50. package/dist/docs/api/components/classes/LightComponent.md +6 -6
  51. package/dist/docs/api/components/classes/MaterialComponent.md +16 -16
  52. package/dist/docs/api/components/classes/MeshComponent.md +3 -3
  53. package/dist/docs/api/components/classes/MeshGeometryComponent.md +9 -9
  54. package/dist/docs/api/components/classes/ModelComponent.md +8 -5
  55. package/dist/docs/api/components/classes/Name.md +3 -3
  56. package/dist/docs/api/components/classes/Object3DRef.md +4 -4
  57. package/dist/docs/api/components/classes/ParentId.md +3 -3
  58. package/dist/docs/api/components/classes/PhysicsComponent.md +7 -6
  59. package/dist/docs/api/components/classes/Postprocessing.md +3 -3
  60. package/dist/docs/api/components/classes/PrefabInstance.md +5 -5
  61. package/dist/docs/api/components/classes/PrefabNode.md +3 -3
  62. package/dist/docs/api/components/classes/ScriptComponent.md +5 -5
  63. package/dist/docs/api/components/classes/ScriptObjectComponent.md +9 -9
  64. package/dist/docs/api/components/classes/Selectable.md +3 -3
  65. package/dist/docs/api/components/classes/SelectionTransformState.md +5 -5
  66. package/dist/docs/api/components/classes/SpriteComponent.md +7 -7
  67. package/dist/docs/api/components/classes/TransformComponent.md +12 -12
  68. package/dist/docs/api/components/classes/UIButtonComponent.md +63 -0
  69. package/dist/docs/api/components/classes/UIPanelComponent.md +62 -0
  70. package/dist/docs/api/components/classes/UISliderComponent.md +59 -0
  71. package/dist/docs/api/components/classes/UITextComponent.md +59 -0
  72. package/dist/docs/api/components/classes/UIToggleComponent.md +56 -0
  73. package/dist/docs/api/components/classes/VRTeleportAreaComponent.md +53 -0
  74. package/dist/docs/api/components/classes/VideoComponent.md +28 -28
  75. package/dist/docs/api/components/classes/XRAnchorComponent.md +64 -0
  76. package/dist/docs/api/components/classes/XREnvironmentComponent.md +64 -0
  77. package/dist/docs/api/components/classes/XRHandPoseComponent.md +50 -0
  78. package/dist/docs/api/components/classes/XRInteractableComponent.md +74 -0
  79. package/dist/docs/api/components/classes/XRInteractorComponent.md +57 -0
  80. package/dist/docs/api/components/classes/XRInteractorSideComponent.md +50 -0
  81. package/dist/docs/api/components/classes/XRRigComponent.md +68 -0
  82. package/dist/docs/api/components/functions/createAttachPoint.md +25 -0
  83. package/dist/docs/api/components/functions/createHandPoseEntry.md +25 -0
  84. package/dist/docs/api/components/functions/defaultMaterialValue.md +1 -1
  85. package/dist/docs/api/components/functions/handPoseDefinitionFor.md +33 -0
  86. package/dist/docs/api/components/functions/normalizeEnvironmentLighting.md +30 -0
  87. package/dist/docs/api/components/functions/normalizePhysicsState.md +1 -1
  88. package/dist/docs/api/components/functions/setModelLoadState.md +33 -0
  89. package/dist/docs/api/components/functions/setPhysicsLiveRef.md +3 -9
  90. package/dist/docs/api/components/index.md +61 -4
  91. package/dist/docs/api/components/type-aliases/AnimationComponentOptions.md +9 -9
  92. package/dist/docs/api/components/type-aliases/CameraComponentOptions.md +13 -13
  93. package/dist/docs/api/components/type-aliases/CameraProjection.md +1 -1
  94. package/dist/docs/api/components/type-aliases/CameraRuntimeType.md +5 -3
  95. package/dist/docs/api/components/type-aliases/ColliderShape.md +1 -1
  96. package/dist/docs/api/components/type-aliases/ColliderState.md +20 -20
  97. package/dist/docs/api/components/type-aliases/CubeMeshParameters.md +4 -4
  98. package/dist/docs/api/components/type-aliases/EditableMeshObjectKind.md +1 -1
  99. package/dist/docs/api/components/type-aliases/EnvironmentFogState.md +8 -8
  100. package/dist/docs/api/components/type-aliases/EnvironmentFogType.md +1 -1
  101. package/dist/docs/api/components/type-aliases/EnvironmentGradientEffect.md +1 -1
  102. package/dist/docs/api/components/type-aliases/EnvironmentLightingState.md +40 -0
  103. package/dist/docs/api/components/type-aliases/EnvironmentSkyboxImageProjection.md +22 -0
  104. package/dist/docs/api/components/type-aliases/EnvironmentSkyboxState.md +9 -7
  105. package/dist/docs/api/components/type-aliases/EnvironmentSkyboxType.md +1 -1
  106. package/dist/docs/api/components/type-aliases/EnvironmentState.md +7 -5
  107. package/dist/docs/api/components/type-aliases/EnvironmentToneMapping.md +16 -0
  108. package/dist/docs/api/components/type-aliases/ImageTargetAnchorOptions.md +3 -3
  109. package/dist/docs/api/components/type-aliases/ImageTargetReference.md +7 -7
  110. package/dist/docs/api/components/type-aliases/InstanceTransform.md +13 -13
  111. package/dist/docs/api/components/type-aliases/InstancedMeshKind.md +1 -1
  112. package/dist/docs/api/components/type-aliases/LightShadowState.md +37 -0
  113. package/dist/docs/api/components/type-aliases/LightValueState.md +13 -11
  114. package/dist/docs/api/components/type-aliases/MaterialTypeValue.md +1 -1
  115. package/dist/docs/api/components/type-aliases/MaterialValueState.md +28 -28
  116. package/dist/docs/api/components/type-aliases/MeshGeometryParameters.md +1 -1
  117. package/dist/docs/api/components/type-aliases/MeshGeometryParametersByKind.md +7 -7
  118. package/dist/docs/api/components/type-aliases/ModelLoadState.md +15 -0
  119. package/dist/docs/api/components/type-aliases/PhysicsState.md +3 -3
  120. package/dist/docs/api/components/type-aliases/PlaneMeshParameters.md +3 -3
  121. package/dist/docs/api/components/type-aliases/PostprocessingState.md +62 -62
  122. package/dist/docs/api/components/type-aliases/RadiusHeightMeshParameters.md +3 -3
  123. package/dist/docs/api/components/type-aliases/RadiusMeshParameters.md +2 -2
  124. package/dist/docs/api/components/type-aliases/RigidbodyState.md +17 -17
  125. package/dist/docs/api/components/type-aliases/RigidbodyType.md +1 -1
  126. package/dist/docs/api/components/type-aliases/ScriptEntry.md +8 -8
  127. package/dist/docs/api/components/type-aliases/ScriptObjectComponentInput.md +1 -1
  128. package/dist/docs/api/components/type-aliases/ScriptObjectRuntimeState.md +1 -1
  129. package/dist/docs/api/components/type-aliases/TextureFilteringValue.md +1 -1
  130. package/dist/docs/api/components/type-aliases/TransformData.md +4 -4
  131. package/dist/docs/api/components/type-aliases/TransformModeValue.md +1 -1
  132. package/dist/docs/api/components/type-aliases/TransformSpaceValue.md +1 -1
  133. package/dist/docs/api/components/type-aliases/UIButtonOptions.md +45 -0
  134. package/dist/docs/api/components/type-aliases/UIPanelOptions.md +39 -0
  135. package/dist/docs/api/components/type-aliases/UISliderOptions.md +39 -0
  136. package/dist/docs/api/components/type-aliases/UITextOptions.md +41 -0
  137. package/dist/docs/api/components/type-aliases/UIToggleOptions.md +35 -0
  138. package/dist/docs/api/components/type-aliases/UiFollowMode.md +15 -0
  139. package/dist/docs/api/components/type-aliases/UiTextAlign.md +13 -0
  140. package/dist/docs/api/components/type-aliases/UiTextVAlign.md +13 -0
  141. package/dist/docs/api/components/type-aliases/VRTeleportAreaOptions.md +29 -0
  142. package/dist/docs/api/components/type-aliases/Vec3.md +4 -4
  143. package/dist/docs/api/components/type-aliases/VrTeleportShape.md +15 -0
  144. package/dist/docs/api/components/type-aliases/XRAnchorOptions.md +23 -0
  145. package/dist/docs/api/components/type-aliases/XRHandPoseOptions.md +23 -0
  146. package/dist/docs/api/components/type-aliases/XRInteractableOptions.md +75 -0
  147. package/dist/docs/api/components/type-aliases/XRInteractorOptions.md +37 -0
  148. package/dist/docs/api/components/type-aliases/XRRigOptions.md +51 -0
  149. package/dist/docs/api/components/type-aliases/XrAttachPoint.md +53 -0
  150. package/dist/docs/api/components/type-aliases/XrDistanceGrabBehavior.md +19 -0
  151. package/dist/docs/api/components/type-aliases/XrEnvironmentKind.md +15 -0
  152. package/dist/docs/api/components/type-aliases/XrEnvironmentOrientation.md +15 -0
  153. package/dist/docs/api/components/type-aliases/XrEnvironmentPhysics.md +25 -0
  154. package/dist/docs/api/components/type-aliases/XrGrabGesture.md +19 -0
  155. package/dist/docs/api/components/type-aliases/XrGrabHands.md +20 -0
  156. package/dist/docs/api/components/type-aliases/XrGrabReach.md +20 -0
  157. package/dist/docs/api/components/type-aliases/XrHandPoseEntry.md +49 -0
  158. package/dist/docs/api/components/type-aliases/XrHandPreset.md +19 -0
  159. package/dist/docs/api/components/type-aliases/XrInteractorSide.md +15 -0
  160. package/dist/docs/api/components/type-aliases/XrInteractorType.md +13 -0
  161. package/dist/docs/api/components/type-aliases/XrLocomotionMode.md +15 -0
  162. package/dist/docs/api/components/type-aliases/XrTrackingOrigin.md +24 -0
  163. package/dist/docs/api/components/type-aliases/XrTwoHandRotation.md +15 -0
  164. package/dist/docs/api/components/variables/DEFAULT_COLLIDER_STATE.md +1 -1
  165. package/dist/docs/api/components/variables/DEFAULT_ENVIRONMENT_LIGHTING.md +15 -0
  166. package/dist/docs/api/components/variables/DEFAULT_ENVIRONMENT_STATE.md +1 -1
  167. package/dist/docs/api/components/variables/DEFAULT_INSTANCED_MESH_PARAMETERS.md +1 -1
  168. package/dist/docs/api/components/variables/DEFAULT_INSTANCE_TRANSFORM.md +1 -1
  169. package/dist/docs/api/components/variables/DEFAULT_MESH_GEOMETRY_PARAMETERS.md +1 -1
  170. package/dist/docs/api/components/variables/DEFAULT_PHYSICS_STATE.md +1 -1
  171. package/dist/docs/api/components/variables/DEFAULT_POSE_CURLS.md +13 -0
  172. package/dist/docs/api/components/variables/DEFAULT_POSE_DIRECTIONS.md +13 -0
  173. package/dist/docs/api/components/variables/DEFAULT_POSTPROCESSING_STATE.md +1 -1
  174. package/dist/docs/api/components/variables/DEFAULT_RIGIDBODY_STATE.md +1 -1
  175. package/dist/docs/api/components/variables/MODEL_NO_PATH_MESSAGE.md +15 -0
  176. package/dist/docs/api/index/classes/AnimationStateMachine.md +16 -16
  177. package/dist/docs/api/index/classes/AnimationStateManager.md +13 -13
  178. package/dist/docs/api/index/classes/AnimationSystem.md +3 -3
  179. package/dist/docs/api/index/classes/AudioSystem.md +4 -4
  180. package/dist/docs/api/index/classes/CameraSyncSystem.md +2 -2
  181. package/dist/docs/api/index/classes/EnvironmentSyncSystem.md +19 -4
  182. package/dist/docs/api/index/classes/HandPoseTracker.md +114 -0
  183. package/dist/docs/api/index/classes/InputSystem.md +33 -33
  184. package/dist/docs/api/index/classes/InstancedMeshSystem.md +2 -2
  185. package/dist/docs/api/index/classes/LightSyncSystem.md +2 -2
  186. package/dist/docs/api/index/classes/MaterialSyncSystem.md +3 -3
  187. package/dist/docs/api/index/classes/MeshGeometrySystem.md +2 -2
  188. package/dist/docs/api/index/classes/ObjectManagementSystem.md +14 -14
  189. package/dist/docs/api/index/classes/ObjectVisibilitySystem.md +2 -2
  190. package/dist/docs/api/index/classes/PhysicsSyncSystem.md +4 -4
  191. package/dist/docs/api/index/classes/PostprocessingSyncSystem.md +34 -10
  192. package/dist/docs/api/index/classes/RenderSystem.md +13 -4
  193. package/dist/docs/api/index/classes/ScriptBehaviourSystem.md +9 -5
  194. package/dist/docs/api/index/classes/ScriptObject.md +10 -10
  195. package/dist/docs/api/index/classes/ScriptObjectSystem.md +6 -6
  196. package/dist/docs/api/index/classes/TeleportAimGate.md +114 -0
  197. package/dist/docs/api/index/classes/ThrowVelocityTracker.md +89 -0
  198. package/dist/docs/api/index/classes/TransformSyncSystem.md +2 -2
  199. package/dist/docs/api/index/classes/UIInteractionSystem.md +60 -0
  200. package/dist/docs/api/index/classes/UIPanelSystem.md +79 -0
  201. package/dist/docs/api/index/classes/VRTeleportAreaSystem.md +49 -0
  202. package/dist/docs/api/index/classes/VideoSystem.md +8 -6
  203. package/dist/docs/api/index/classes/World.md +282 -100
  204. package/dist/docs/api/index/classes/XRAnchorSystem.md +90 -0
  205. package/dist/docs/api/index/classes/XRControllerVisualSystem.md +77 -0
  206. package/dist/docs/api/index/classes/XREnvironmentSystem.md +137 -0
  207. package/dist/docs/api/index/classes/XRHandPoseSystem.md +107 -0
  208. package/dist/docs/api/index/classes/XRHitTestSystem.md +93 -0
  209. package/dist/docs/api/index/classes/XRHoverVisualSystem.md +76 -0
  210. package/dist/docs/api/index/classes/XRInputSystem.md +189 -0
  211. package/dist/docs/api/index/classes/XRInteractionSystem.md +323 -0
  212. package/dist/docs/api/index/classes/XRLocomotionSystem.md +128 -0
  213. package/dist/docs/api/index/classes/XRSessionSystem.md +116 -0
  214. package/dist/docs/api/index/classes/XRTeleportVisualSystem.md +75 -0
  215. package/dist/docs/api/index/functions/angularVelocityFrom.md +33 -0
  216. package/dist/docs/api/index/functions/applyHandMaterial.md +26 -0
  217. package/dist/docs/api/index/functions/applyPrefabToSnapshotInstances.md +1 -1
  218. package/dist/docs/api/index/functions/arcGroundCrossing.md +30 -0
  219. package/dist/docs/api/index/functions/buildComponentValueMaps.md +1 -1
  220. package/dist/docs/api/index/functions/buildNodeKeyMapsFromSnapshot.md +1 -1
  221. package/dist/docs/api/index/functions/buildNodeMapsFromSnapshot.md +1 -1
  222. package/dist/docs/api/index/functions/canonicalizeComponentValue.md +1 -1
  223. package/dist/docs/api/index/functions/clearModelCache.md +1 -1
  224. package/dist/docs/api/index/functions/clearPrefabCache.md +1 -1
  225. package/dist/docs/api/index/functions/cloneHandPose.md +23 -0
  226. package/dist/docs/api/index/functions/collectDiffPaths.md +1 -1
  227. package/dist/docs/api/index/functions/collectDirectPrefabDependencies.md +1 -1
  228. package/dist/docs/api/index/functions/collectEntitySubtree.md +1 -1
  229. package/dist/docs/api/index/functions/collectSnapshotSubtreeIds.md +1 -1
  230. package/dist/docs/api/index/functions/computeFingerCurl.md +29 -0
  231. package/dist/docs/api/index/functions/computeHandShape.md +29 -0
  232. package/dist/docs/api/index/functions/computeInstanceOverrides.md +1 -1
  233. package/dist/docs/api/index/functions/computePalmPose.md +30 -0
  234. package/dist/docs/api/index/functions/computePalmWidth.md +25 -0
  235. package/dist/docs/api/index/functions/computePinch.md +29 -0
  236. package/dist/docs/api/index/functions/computeSpread.md +33 -0
  237. package/dist/docs/api/index/functions/createAnimationComponent.md +1 -1
  238. package/dist/docs/api/index/functions/createAudioComponent.md +1 -1
  239. package/dist/docs/api/index/functions/createCameraComponent.md +1 -1
  240. package/dist/docs/api/index/functions/createEntityTypeComponent.md +2 -2
  241. package/dist/docs/api/index/functions/createEnvironmentComponent.md +1 -1
  242. package/dist/docs/api/index/functions/createHandMaterial.md +30 -0
  243. package/dist/docs/api/index/functions/createImageComponent.md +1 -1
  244. package/dist/docs/api/index/functions/createImageTargetAnchorComponent.md +1 -1
  245. package/dist/docs/api/index/functions/createImageTargetComponent.md +2 -2
  246. package/dist/docs/api/index/functions/createInstanceSlotComponent.md +1 -1
  247. package/dist/docs/api/index/functions/createInstancedMeshComponent.md +1 -1
  248. package/dist/docs/api/index/functions/createLightComponent.md +2 -2
  249. package/dist/docs/api/index/functions/createMaterialComponent.md +2 -2
  250. package/dist/docs/api/index/functions/createMeshComponent.md +1 -1
  251. package/dist/docs/api/index/functions/createMeshGeometryComponent.md +1 -1
  252. package/dist/docs/api/index/functions/createModelComponent.md +1 -1
  253. package/dist/docs/api/index/functions/createNameComponent.md +1 -1
  254. package/dist/docs/api/index/functions/createObject3DRefComponent.md +1 -1
  255. package/dist/docs/api/index/functions/createParentIdComponent.md +1 -1
  256. package/dist/docs/api/index/functions/createPhysicsComponent.md +1 -1
  257. package/dist/docs/api/index/functions/createPostprocessingComponent.md +1 -1
  258. package/dist/docs/api/index/functions/createScriptComponent.md +1 -1
  259. package/dist/docs/api/index/functions/createScriptObjectComponent.md +1 -1
  260. package/dist/docs/api/index/functions/createSelectableComponent.md +1 -1
  261. package/dist/docs/api/index/functions/createSelectionTransformStateComponent.md +1 -1
  262. package/dist/docs/api/index/functions/createSpriteComponent.md +1 -1
  263. package/dist/docs/api/index/functions/createTransformComponent.md +1 -1
  264. package/dist/docs/api/index/functions/createUIButtonComponent.md +28 -0
  265. package/dist/docs/api/index/functions/createUIPanelComponent.md +28 -0
  266. package/dist/docs/api/index/functions/createUISliderComponent.md +28 -0
  267. package/dist/docs/api/index/functions/createUITextComponent.md +28 -0
  268. package/dist/docs/api/index/functions/createUIToggleComponent.md +28 -0
  269. package/dist/docs/api/index/functions/createVRTeleportAreaComponent.md +28 -0
  270. package/dist/docs/api/index/functions/createVideoComponent.md +1 -1
  271. package/dist/docs/api/index/functions/createXRAnchorComponent.md +28 -0
  272. package/dist/docs/api/index/functions/createXRHandPoseComponent.md +28 -0
  273. package/dist/docs/api/index/functions/createXRInteractableComponent.md +28 -0
  274. package/dist/docs/api/index/functions/createXRInteractorComponent.md +28 -0
  275. package/dist/docs/api/index/functions/createXRInteractorSideComponent.md +28 -0
  276. package/dist/docs/api/index/functions/createXRRigComponent.md +28 -0
  277. package/dist/docs/api/index/functions/decanonicalizeComponentValue.md +1 -1
  278. package/dist/docs/api/index/functions/despawnPrefab.md +1 -1
  279. package/dist/docs/api/index/functions/encodeOverride.md +1 -1
  280. package/dist/docs/api/index/functions/estimateHandScale.md +28 -0
  281. package/dist/docs/api/index/functions/findSnapshotRootEntityIds.md +1 -1
  282. package/dist/docs/api/index/functions/findTopLevelNestedRegions.md +1 -1
  283. package/dist/docs/api/index/functions/getHandPosePreset.md +31 -0
  284. package/dist/docs/api/index/functions/groupOverridePaths.md +1 -1
  285. package/dist/docs/api/index/functions/handPoseFromCurls.md +42 -0
  286. package/dist/docs/api/index/functions/hydrateWorldFromSnapshot.md +1 -1
  287. package/dist/docs/api/index/functions/hydrateWorldFromSnapshotDetailed.md +1 -1
  288. package/dist/docs/api/index/functions/indexSnapshotByEntity.md +1 -1
  289. package/dist/docs/api/index/functions/instantiateSubtree.md +1 -1
  290. package/dist/docs/api/index/functions/loadPrefab.md +1 -1
  291. package/dist/docs/api/index/functions/loadSharedGltf.md +1 -1
  292. package/dist/docs/api/index/functions/matchHandPose.md +34 -0
  293. package/dist/docs/api/index/functions/mergeComponentValue.md +1 -1
  294. package/dist/docs/api/index/functions/parseOverride.md +1 -1
  295. package/dist/docs/api/index/functions/parsePrefabAsset.md +1 -1
  296. package/dist/docs/api/index/functions/prefabFileVersionFor.md +1 -1
  297. package/dist/docs/api/index/functions/readXrCapabilities.md +30 -0
  298. package/dist/docs/api/index/functions/registerDefaultComponentFactories.md +1 -1
  299. package/dist/docs/api/index/functions/registerDefaultFactories.md +1 -1
  300. package/dist/docs/api/index/functions/remapSnapshotEntityIds.md +3 -3
  301. package/dist/docs/api/index/functions/resolveDracoDecoderPath.md +1 -1
  302. package/dist/docs/api/index/functions/restoreComponentState.md +1 -1
  303. package/dist/docs/api/index/functions/restorePostCreateComponents.md +1 -1
  304. package/dist/docs/api/index/functions/sampleTeleportArc.md +40 -0
  305. package/dist/docs/api/index/functions/serializeEntitySubtree.md +1 -1
  306. package/dist/docs/api/index/functions/setDracoDecoderPath.md +1 -1
  307. package/dist/docs/api/index/functions/setPrefabAssetUrlResolver.md +1 -1
  308. package/dist/docs/api/index/functions/spawnPrefab.md +1 -1
  309. package/dist/docs/api/index/index.md +116 -4
  310. package/dist/docs/api/index/interfaces/ChromaKeyOptions.md +20 -0
  311. package/dist/docs/api/index/interfaces/EcsSystem.md +3 -3
  312. package/dist/docs/api/index/interfaces/PostprocessingBuildContext.md +21 -0
  313. package/dist/docs/api/index/interfaces/PostprocessingPipeline.md +84 -0
  314. package/dist/docs/api/index/interfaces/RenderBackend.md +168 -0
  315. package/dist/docs/api/index/interfaces/StateMachine.md +13 -13
  316. package/dist/docs/api/index/type-aliases/AnimationStateCallbacks.md +4 -4
  317. package/dist/docs/api/index/type-aliases/ApplyPrefabToSnapshotResult.md +3 -3
  318. package/dist/docs/api/index/type-aliases/ComponentFactory.md +1 -1
  319. package/dist/docs/api/index/type-aliases/ComponentValueMaps.md +50 -26
  320. package/dist/docs/api/index/type-aliases/EcsComponentFactoryKind.md +14 -2
  321. package/dist/docs/api/index/type-aliases/EcsRenderer.md +17 -0
  322. package/dist/docs/api/index/type-aliases/EcsWorldComponentSnapshot.md +3 -3
  323. package/dist/docs/api/index/type-aliases/EcsWorldStateSnapshotLike.md +4 -4
  324. package/dist/docs/api/index/type-aliases/ExternalRefWarning.md +5 -5
  325. package/dist/docs/api/index/type-aliases/HandMaterialOptions.md +32 -0
  326. package/dist/docs/api/index/type-aliases/HandPoseTrackerOptions.md +27 -0
  327. package/dist/docs/api/index/type-aliases/HydrateOptions.md +3 -3
  328. package/dist/docs/api/index/type-aliases/HydrateWorldFromSnapshotResult.md +4 -4
  329. package/dist/docs/api/index/type-aliases/InstantiateSubtreeResult.md +3 -3
  330. package/dist/docs/api/index/type-aliases/KeyboardKey.md +1 -1
  331. package/dist/docs/api/index/type-aliases/ModuleLoader.md +1 -1
  332. package/dist/docs/api/index/type-aliases/MouseButton.md +1 -1
  333. package/dist/docs/api/index/type-aliases/NestedRegion.md +5 -5
  334. package/dist/docs/api/index/type-aliases/NodeKeyMaps.md +5 -5
  335. package/dist/docs/api/index/type-aliases/NodeMaps.md +4 -4
  336. package/dist/docs/api/index/type-aliases/PrefabAsset.md +5 -5
  337. package/dist/docs/api/index/type-aliases/RemapSnapshotOptions.md +2 -2
  338. package/dist/docs/api/index/type-aliases/RendererKind.md +15 -0
  339. package/dist/docs/api/index/type-aliases/ScriptBehaviourSystemOptions.md +23 -0
  340. package/dist/docs/api/index/type-aliases/ScriptErrorEvent.md +39 -0
  341. package/dist/docs/api/index/type-aliases/ScriptErrorListener.md +25 -0
  342. package/dist/docs/api/index/type-aliases/ScriptErrorPhase.md +28 -0
  343. package/dist/docs/api/index/type-aliases/ScriptErrorReport.md +31 -0
  344. package/dist/docs/api/index/type-aliases/ScriptErrorSource.md +15 -0
  345. package/dist/docs/api/index/type-aliases/SelectionContext.md +4 -4
  346. package/dist/docs/api/index/type-aliases/SerializeEntitySubtreeResult.md +4 -4
  347. package/dist/docs/api/index/type-aliases/SpawnPrefabOptions.md +5 -5
  348. package/dist/docs/api/index/type-aliases/SpawnPrefabSource.md +1 -1
  349. package/dist/docs/api/index/type-aliases/SubtreeSnapshot.md +3 -3
  350. package/dist/docs/api/index/type-aliases/UiCanvasLike.md +46 -0
  351. package/dist/docs/api/index/type-aliases/VelocitySample.md +23 -0
  352. package/dist/docs/api/index/type-aliases/XrCapabilities.md +41 -0
  353. package/dist/docs/api/index/type-aliases/XrFinger.md +13 -0
  354. package/dist/docs/api/index/type-aliases/XrFingerCurl.md +27 -0
  355. package/dist/docs/api/index/type-aliases/XrFingerTarget.md +31 -0
  356. package/dist/docs/api/index/type-aliases/XrHandJointName.md +40 -0
  357. package/dist/docs/api/index/type-aliases/XrHandJoints.md +18 -0
  358. package/dist/docs/api/index/type-aliases/XrHandPoseAxis.md +15 -0
  359. package/dist/docs/api/index/type-aliases/XrHandPoseContext.md +23 -0
  360. package/dist/docs/api/index/type-aliases/XrHandPoseDefinition.md +47 -0
  361. package/dist/docs/api/index/type-aliases/XrHandPoseDirection.md +21 -0
  362. package/dist/docs/api/index/type-aliases/XrHandPoseEvent.md +13 -0
  363. package/dist/docs/api/index/type-aliases/XrHandPoseEventDetail.md +27 -0
  364. package/dist/docs/api/index/type-aliases/XrHandPoseMatch.md +25 -0
  365. package/dist/docs/api/index/type-aliases/XrHandPoseOrientation.md +25 -0
  366. package/dist/docs/api/index/type-aliases/XrHandShape.md +46 -0
  367. package/dist/docs/api/index/type-aliases/XrHandedness.md +15 -0
  368. package/dist/docs/api/index/type-aliases/XrHitResult.md +25 -0
  369. package/dist/docs/api/index/type-aliases/XrInputKind.md +19 -0
  370. package/dist/docs/api/index/type-aliases/XrInputState.md +60 -0
  371. package/dist/docs/api/index/type-aliases/XrPalmPose.md +31 -0
  372. package/dist/docs/api/index/variables/ADDED_NODE_MARKER_COMPONENT.md +2 -2
  373. package/dist/docs/api/index/variables/ARC_GRAVITY.md +15 -0
  374. package/dist/docs/api/index/variables/ARC_MAX_TIME.md +15 -0
  375. package/dist/docs/api/index/variables/ARC_SPEED.md +15 -0
  376. package/dist/docs/api/index/variables/ARC_STEPS.md +15 -0
  377. package/dist/docs/api/index/variables/CURLED_COS.md +13 -0
  378. package/dist/docs/api/index/variables/DEFAULT_DIRECTION_TOLERANCE.md +15 -0
  379. package/dist/docs/api/index/variables/DEFAULT_ENTER_CONFIDENCE.md +13 -0
  380. package/dist/docs/api/index/variables/DEFAULT_EXIT_CONFIDENCE.md +13 -0
  381. package/dist/docs/api/index/variables/DEFAULT_LOST_GRACE_SECONDS.md +13 -0
  382. package/dist/docs/api/index/variables/DEFAULT_MIN_HOLD_SECONDS.md +13 -0
  383. package/dist/docs/api/index/variables/DEFAULT_SCRIPT_ERROR_RETRY_DELAY.md +17 -0
  384. package/dist/docs/api/index/variables/FALLBACK_HAND_SCALE.md +15 -0
  385. package/dist/docs/api/index/variables/HAND_POSE_PRESETS.md +19 -0
  386. package/dist/docs/api/index/variables/HAND_POSE_PRESET_IDS.md +15 -0
  387. package/dist/docs/api/index/variables/HYDRATABLE_ENTITY_KINDS.md +1 -1
  388. package/dist/docs/api/index/variables/KeyboardKeys.md +89 -89
  389. package/dist/docs/api/index/variables/MATCH_FALLOFF.md +15 -0
  390. package/dist/docs/api/index/variables/MAX_PLAUSIBLE_SPEED.md +25 -0
  391. package/dist/docs/api/index/variables/MAX_SAMPLE_AGE_SECONDS.md +18 -0
  392. package/dist/docs/api/index/variables/NODE_KEY_SEPARATOR.md +1 -1
  393. package/dist/docs/api/index/variables/NO_XR_CAPABILITIES.md +15 -0
  394. package/dist/docs/api/index/variables/OVERRIDE_DIFF_EXCLUDED_COMPONENTS.md +1 -1
  395. package/dist/docs/api/index/variables/OVERRIDE_ROOT_EXCLUDED_COMPONENTS.md +1 -1
  396. package/dist/docs/api/index/variables/PINCH_FINGERS.md +15 -0
  397. package/dist/docs/api/index/variables/PREFAB_FILE_VERSION.md +1 -1
  398. package/dist/docs/api/index/variables/PREFAB_FILE_VERSION_NESTED.md +1 -1
  399. package/dist/docs/api/index/variables/SCRIPT_OBJECT_ROOT_FLAG.md +1 -1
  400. package/dist/docs/api/index/variables/SHARED_MODEL_RESOURCE_FLAG.md +1 -1
  401. package/dist/docs/api/index/variables/STRAIGHT_COS.md +19 -0
  402. package/dist/docs/api/index/variables/VELOCITY_SAMPLES.md +15 -0
  403. package/dist/docs/api/index/variables/XR_FINGERS.md +13 -0
  404. package/dist/docs/api/index/variables/XR_HOVER_SHELL_FLAG.md +15 -0
  405. package/dist/docs/api/index/variables/webglBackend.md +16 -0
  406. package/dist/docs/api/typedoc-sidebar.json +1 -1
  407. package/dist/docs/api/types/type-aliases/AssetInput.md +3 -3
  408. package/dist/docs/api/types/type-aliases/CheckboxInput.md +3 -3
  409. package/dist/docs/api/types/type-aliases/ColorInput.md +1 -1
  410. package/dist/docs/api/types/type-aliases/ComponentInput.md +4 -4
  411. package/dist/docs/api/types/type-aliases/ComponentKind.md +1 -1
  412. package/dist/docs/api/types/type-aliases/DropdownInput.md +3 -3
  413. package/dist/docs/api/types/type-aliases/DropdownOption.md +3 -3
  414. package/dist/docs/api/types/type-aliases/EcsEntityEditorKind.md +1 -1
  415. package/dist/docs/api/types/type-aliases/EcsEntityKind.md +10 -2
  416. package/dist/docs/api/types/type-aliases/EntityId.md +1 -1
  417. package/dist/docs/api/types/type-aliases/EntityInput.md +3 -3
  418. package/dist/docs/api/types/type-aliases/FloatInput.md +1 -1
  419. package/dist/docs/api/types/type-aliases/IntersectionResult.md +3 -3
  420. package/dist/docs/api/types/type-aliases/ParentLookup.md +3 -3
  421. package/dist/docs/api/types/type-aliases/SelectionListener.md +1 -1
  422. package/dist/docs/api/types/type-aliases/SliderInput.md +5 -5
  423. package/dist/docs/api/types/type-aliases/TextInput.md +1 -1
  424. package/dist/docs/api/types/type-aliases/ToggleInput.md +1 -1
  425. package/dist/docs/api/types/type-aliases/Vec3.md +1 -1
  426. package/dist/docs/api/types/type-aliases/Vector2Input.md +3 -3
  427. package/dist/docs/api/types/type-aliases/Vector3Input.md +4 -4
  428. package/dist/docs/api/types/type-aliases/WorldEntityView.md +1 -1
  429. package/dist/docs/guide/audio-mixing-and-sound-banks.md +71 -0
  430. package/dist/docs/guide/authoring-a-behaviour.md +3 -3
  431. package/dist/docs/guide/authoring-a-script-object.md +12 -9
  432. package/dist/docs/guide/behaviour-data-binding/index.md +11 -11
  433. package/dist/docs/guide/behaviour-lifecycle.md +9 -0
  434. package/dist/docs/guide/bone-attachments-and-ik.md +128 -0
  435. package/dist/docs/guide/component-catalog.md +10 -2
  436. package/dist/docs/guide/components/light.md +42 -0
  437. package/dist/docs/guide/components/model.md +32 -3
  438. package/dist/docs/guide/concepts.md +2 -2
  439. package/dist/docs/guide/getting-started/creating-objects.md +2 -2
  440. package/dist/docs/guide/getting-started/editing-objects.md +2 -2
  441. package/dist/docs/guide/getting-started/editor/ai-agent.md +227 -0
  442. package/dist/docs/guide/getting-started/editor/hierarchy.md +2 -2
  443. package/dist/docs/guide/getting-started/editor/index.md +3 -2
  444. package/dist/docs/guide/getting-started/editor/inspector.md +2 -2
  445. package/dist/docs/guide/getting-started/editor/scene-inspector.md +3 -3
  446. package/dist/docs/guide/getting-started/editor/toolbar.md +11 -11
  447. package/dist/docs/guide/getting-started/editor/viewport.md +17 -9
  448. package/dist/docs/guide/getting-started/index.md +1 -1
  449. package/dist/docs/guide/getting-started/installation.md +1 -1
  450. package/dist/docs/guide/getting-started/preview-and-test.md +7 -7
  451. package/dist/docs/guide/getting-started/project-types/image-tracking.md +23 -11
  452. package/dist/docs/guide/getting-started/project-types/index.md +4 -4
  453. package/dist/docs/guide/getting-started/project-types/vr.md +270 -2
  454. package/dist/docs/guide/getting-started/projects.md +4 -5
  455. package/dist/docs/guide/getting-started/shortcuts.md +5 -4
  456. package/dist/docs/guide/multiplayer.md +92 -0
  457. package/dist/docs/guide/scene/environment.md +101 -4
  458. package/dist/docs/guide/scene/index.md +4 -4
  459. package/dist/docs/guide/scene/postprocessing.md +67 -5
  460. package/dist/docs/guide/spawning/area-light.md +2 -0
  461. package/dist/docs/guide/systems/environment-sync-system.md +11 -6
  462. package/dist/docs/guide/systems/light-sync-system.md +5 -3
  463. package/dist/docs/guide/systems/postprocessing-sync-system.md +16 -6
  464. package/dist/docs/guide/systems/render-system.md +7 -6
  465. package/dist/docs/guide/systems/script-behaviour-system.md +7 -5
  466. package/dist/docs/guide/systems/script-object-system.md +3 -1
  467. package/dist/docs/guide/systems/video-system.md +1 -1
  468. package/dist/docs/guide/webgpu-and-tsl.md +415 -0
  469. package/dist/docs/guide/world-api.md +52 -2
  470. package/dist/factories/index.cjs +770 -283
  471. package/dist/factories/index.cjs.map +1 -1
  472. package/dist/factories/index.d.cts +14 -3
  473. package/dist/factories/index.d.ts +14 -3
  474. package/dist/factories/index.js +7 -4
  475. package/dist/{index-D2Jt_JzH.d.ts → index-C61n65PE.d.ts} +135 -42
  476. package/dist/{index-DaG03vyN.d.cts → index-C70N4BYG.d.cts} +135 -42
  477. package/dist/{index-C3ik3sA1.d.ts → index-D9DjrUn3.d.cts} +25 -3
  478. package/dist/{index-Dlr-7-4m.d.cts → index-DppafVu4.d.ts} +25 -3
  479. package/dist/index.cjs +3642 -1263
  480. package/dist/index.cjs.map +1 -1
  481. package/dist/index.d.cts +113 -11
  482. package/dist/index.d.ts +113 -11
  483. package/dist/index.js +187 -12
  484. package/dist/index.js.map +1 -1
  485. package/dist/network/index.cjs +4896 -0
  486. package/dist/network/index.cjs.map +1 -0
  487. package/dist/network/index.d.cts +98 -0
  488. package/dist/network/index.d.ts +98 -0
  489. package/dist/network/index.js +493 -0
  490. package/dist/network/index.js.map +1 -0
  491. package/dist/systems/index.cjs +3958 -1762
  492. package/dist/systems/index.cjs.map +1 -1
  493. package/dist/systems/index.d.cts +4 -2
  494. package/dist/systems/index.d.ts +4 -2
  495. package/dist/systems/index.js +8 -4
  496. package/dist/types.d.cts +3 -1
  497. package/dist/types.d.ts +3 -1
  498. package/dist/webgpu/index.d.ts +113 -0
  499. package/dist/webgpu/index.js +302 -0
  500. package/dist/webgpu/index.js.map +1 -0
  501. package/dist/worldSnapshotUtils.d.cts +3 -1
  502. package/dist/worldSnapshotUtils.d.ts +3 -1
  503. package/dist/worldSnapshotUtils.js +3 -2
  504. package/package.json +19 -3
  505. package/dist/chunk-BUEKOSR5.js.map +0 -1
  506. package/dist/chunk-DF5SSRN6.js.map +0 -1
  507. package/dist/chunk-OWQSESTO.js.map +0 -1
  508. package/dist/chunk-OY7ZODZP.js.map +0 -1
  509. package/dist/chunk-RXBLOO5B.js.map +0 -1
  510. package/dist/chunk-WJD2VKEH.js +0 -315
  511. package/dist/chunk-WJD2VKEH.js.map +0 -1
@@ -1,490 +1,9 @@
1
- import { createTransform, applyTransform, resolveDracoDecoderPath, loadSharedGltf, cloneModelScene } from './chunk-WJD2VKEH.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, XRHandPoseComponent, XRAnchorComponent, XRInteractableComponent, XRInteractorComponent, XRInteractorSideComponent, UIButtonComponent, UIPanelComponent, UISliderComponent, UITextComponent, UIToggleComponent, DEFAULT_INSTANCE_TRANSFORM } from './chunk-BUEKOSR5.js';
3
- import { __name } from './chunk-OY7ZODZP.js';
4
- import * as THREE30 from 'three';
1
+ import { readWorldRenderBackend } from './chunk-OHCNPPMX.js';
2
+ import { createAnimationComponent, createAudioComponent, createCameraComponent, createPhysicsComponent, createEnvironmentComponent, createEntityTypeComponent, createImageComponent, createXRRigComponent, createVRTeleportAreaComponent, createXRHandPoseComponent, createXRAnchorComponent, createBoneAttachmentComponent, createIKComponent, createNetworkIdentityComponent, createNetworkTransformComponent, createNetworkedPropsComponent, createNetworkSpawnerComponent, createUIPanelComponent, createUITextComponent, createUIButtonComponent, createUIToggleComponent, createUISliderComponent, createXRInteractableComponent, createXRInteractorComponent, createXRInteractorSideComponent, createImageTargetAnchorComponent, createImageTargetComponent, createLightComponent, createMaterialComponent, createMeshComponent, createMeshGeometryComponent, createModelComponent, createNameComponent, createObject3DRefComponent, createParentIdComponent, createPostprocessingComponent, createScriptComponent, createScriptObjectComponent, createSelectableComponent, createSelectionTransformStateComponent, createSpriteComponent, createTransformComponent, createVideoComponent, createInstancedMeshComponent, createBaseEntity, createTransform, createModel } from './chunk-G4XJ53LS.js';
3
+ import { Object3DRef, Name, InstanceSlotComponent, EntityType, Selectable, ParentId, DEFAULT_INSTANCE_TRANSFORM, VRTeleportAreaComponent, XRInteractorComponent, XRInteractorSideComponent, UIButtonComponent, XRInteractableComponent, UIPanelComponent, UISliderComponent, UITextComponent, UIToggleComponent, XRRigComponent } from './chunk-NNDUOQ7O.js';
4
+ import { __name } from './chunk-XE4OXN2W.js';
5
+ import * as THREE27 from 'three';
5
6
  import { RectAreaLightHelper } from 'three/examples/jsm/helpers/RectAreaLightHelper.js';
6
- import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader.js';
7
- import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
8
-
9
- // core/factories/components/AnimationFactory.ts
10
- function createAnimationComponent(world, entityId, ...args) {
11
- const component = new AnimationComponent(...args);
12
- world.addComponent(entityId, component);
13
- return component;
14
- }
15
- __name(createAnimationComponent, "createAnimationComponent");
16
- function normalizeDistanceModel(distanceModel) {
17
- const normalized = distanceModel.trim().toLowerCase();
18
- if (normalized === "linear" || normalized === "exponential") {
19
- return normalized;
20
- }
21
- return "inverse";
22
- }
23
- __name(normalizeDistanceModel, "normalizeDistanceModel");
24
- function createConfiguredAudio(listener, options) {
25
- const sound = options.positional ? new THREE30.PositionalAudio(listener) : new THREE30.Audio(listener);
26
- sound.setLoop(options.loop);
27
- sound.setVolume(options.volume);
28
- sound.setPlaybackRate(options.pitch);
29
- if (sound instanceof THREE30.PositionalAudio) {
30
- sound.setRefDistance(options.refDistance);
31
- sound.setDistanceModel(normalizeDistanceModel(options.distanceModel));
32
- sound.setRolloffFactor(options.rolloffFactor);
33
- }
34
- return sound;
35
- }
36
- __name(createConfiguredAudio, "createConfiguredAudio");
37
- function createAudioEditorHelper() {
38
- if (typeof document === "undefined") {
39
- const geometry = new THREE30.EdgesGeometry(
40
- new THREE30.OctahedronGeometry(0.22, 0)
41
- );
42
- const material2 = new THREE30.LineBasicMaterial({
43
- color: "#8bc8ff",
44
- transparent: true,
45
- opacity: 0.95,
46
- depthTest: false
47
- });
48
- const fallback = new THREE30.LineSegments(geometry, material2);
49
- fallback.renderOrder = 10;
50
- fallback.userData.ecsHelper = true;
51
- fallback.visible = false;
52
- return fallback;
53
- }
54
- const size = 96;
55
- const canvas = document.createElement("canvas");
56
- canvas.width = size;
57
- canvas.height = size;
58
- const ctx = canvas.getContext("2d");
59
- if (!ctx) {
60
- return new THREE30.Object3D();
61
- }
62
- ctx.clearRect(0, 0, size, size);
63
- ctx.fillStyle = "rgba(27, 35, 52, 0.9)";
64
- ctx.beginPath();
65
- ctx.arc(size / 2, size / 2, 36, 0, Math.PI * 2);
66
- ctx.fill();
67
- ctx.strokeStyle = "rgba(137, 202, 255, 0.9)";
68
- ctx.lineWidth = 4;
69
- ctx.beginPath();
70
- ctx.arc(size / 2, size / 2, 36, 0, Math.PI * 2);
71
- ctx.stroke();
72
- ctx.fillStyle = "#d9ecff";
73
- ctx.beginPath();
74
- ctx.moveTo(33, 56);
75
- ctx.lineTo(43, 56);
76
- ctx.lineTo(54, 66);
77
- ctx.lineTo(54, 30);
78
- ctx.lineTo(43, 40);
79
- ctx.lineTo(33, 40);
80
- ctx.closePath();
81
- ctx.fill();
82
- ctx.strokeStyle = "#7fd2ff";
83
- ctx.lineWidth = 4;
84
- ctx.lineCap = "round";
85
- ctx.beginPath();
86
- ctx.arc(56, 48, 10, -0.8, 0.8);
87
- ctx.stroke();
88
- ctx.beginPath();
89
- ctx.arc(56, 48, 16, -0.8, 0.8);
90
- ctx.stroke();
91
- const texture = new THREE30.CanvasTexture(canvas);
92
- texture.needsUpdate = true;
93
- const material = new THREE30.SpriteMaterial({
94
- map: texture,
95
- transparent: true,
96
- depthTest: false
97
- });
98
- const helper = new THREE30.Sprite(material);
99
- helper.scale.set(0.68, 0.68, 0.68);
100
- helper.renderOrder = 10;
101
- helper.userData.ecsHelper = true;
102
- helper.visible = false;
103
- return helper;
104
- }
105
- __name(createAudioEditorHelper, "createAudioEditorHelper");
106
- function createAudioComponent(world, entityId, path = "", options = {}, context) {
107
- const component = new AudioComponent(path, options);
108
- const anchor = context?.object ?? null;
109
- const listener = context?.listener ?? null;
110
- if (anchor && listener) {
111
- component.object = anchor;
112
- const sound = createConfiguredAudio(listener, component.options);
113
- if (context?.isEditor) {
114
- anchor.add(createAudioEditorHelper());
115
- }
116
- anchor.add(sound);
117
- component.audio = sound;
118
- }
119
- world.addComponent(entityId, component);
120
- return component;
121
- }
122
- __name(createAudioComponent, "createAudioComponent");
123
- function createCameraComponent(world, entityId, payload = {}) {
124
- const object = world.getComponent(entityId, Object3DRef)?.object;
125
- const objectCamera = object instanceof THREE30.Camera ? object : void 0;
126
- const component = new CameraComponent({
127
- ...payload,
128
- camera: payload.camera ?? objectCamera
129
- });
130
- world.addComponent(entityId, component);
131
- return component;
132
- }
133
- __name(createCameraComponent, "createCameraComponent");
134
-
135
- // core/factories/components/PhysicsFactory.ts
136
- function deriveColliderFromGeometry(world, entityId) {
137
- const meshGeometry = world.getComponent(entityId, MeshGeometryComponent);
138
- if (!meshGeometry) {
139
- return null;
140
- }
141
- switch (meshGeometry.kind) {
142
- case "plane": {
143
- const params = meshGeometry.parameters;
144
- return {
145
- collider: {
146
- shape: "cuboid",
147
- size: { x: params.width, y: params.height, z: 0.05 }
148
- },
149
- // An (effectively) zero-thickness sheet is only physically meaningful
150
- // as static geometry — planes are floors/walls, not dynamic bodies.
151
- rigidbody: { type: "fixed" }
152
- };
153
- }
154
- case "cube": {
155
- const params = meshGeometry.parameters;
156
- return {
157
- collider: {
158
- shape: "cuboid",
159
- size: { x: params.width, y: params.height, z: params.depth }
160
- }
161
- };
162
- }
163
- case "sphere": {
164
- const params = meshGeometry.parameters;
165
- return { collider: { shape: "ball", radius: params.radius } };
166
- }
167
- case "capsule": {
168
- const params = meshGeometry.parameters;
169
- return {
170
- collider: {
171
- shape: "capsule",
172
- radius: params.radius,
173
- height: params.height
174
- }
175
- };
176
- }
177
- case "cylinder": {
178
- const params = meshGeometry.parameters;
179
- return {
180
- collider: {
181
- shape: "cylinder",
182
- radius: params.radius,
183
- height: params.height
184
- }
185
- };
186
- }
187
- default:
188
- return null;
189
- }
190
- }
191
- __name(deriveColliderFromGeometry, "deriveColliderFromGeometry");
192
- function createPhysicsComponent(world, entityId, values) {
193
- const initial = values ?? deriveColliderFromGeometry(world, entityId) ?? void 0;
194
- const component = new PhysicsComponent(initial);
195
- world.addComponent(entityId, component);
196
- return component;
197
- }
198
- __name(createPhysicsComponent, "createPhysicsComponent");
199
-
200
- // core/factories/components/EnvironmentFactory.ts
201
- function createEnvironmentComponent(world, entityId, values) {
202
- const component = new Environment(values);
203
- world.addComponent(entityId, component);
204
- return component;
205
- }
206
- __name(createEnvironmentComponent, "createEnvironmentComponent");
207
-
208
- // core/factories/components/EntityTypeFactory.ts
209
- function createEntityTypeComponent(world, entityId, ...args) {
210
- const component = new EntityType(...args);
211
- world.addComponent(entityId, component);
212
- return component;
213
- }
214
- __name(createEntityTypeComponent, "createEntityTypeComponent");
215
-
216
- // core/factories/components/ImageComponentFactory.ts
217
- function createImageComponent(world, entityId, ...args) {
218
- const component = new ImageComponent(...args);
219
- world.addComponent(entityId, component);
220
- return component;
221
- }
222
- __name(createImageComponent, "createImageComponent");
223
-
224
- // core/factories/components/ImageTargetAnchorFactory.ts
225
- function createImageTargetAnchorComponent(world, entityId, ...args) {
226
- const component = new ImageTargetAnchor(...args);
227
- world.addComponent(entityId, component);
228
- return component;
229
- }
230
- __name(createImageTargetAnchorComponent, "createImageTargetAnchorComponent");
231
-
232
- // core/factories/components/ImageTargetFactory.ts
233
- function createImageTargetComponent(world, entityId, ...args) {
234
- const component = new ImageTarget(...args);
235
- world.addComponent(entityId, component);
236
- return component;
237
- }
238
- __name(createImageTargetComponent, "createImageTargetComponent");
239
-
240
- // core/factories/components/LightFactory.ts
241
- function createLightComponent(world, entityId, ...args) {
242
- const component = new LightComponent(...args);
243
- world.addComponent(entityId, component);
244
- return component;
245
- }
246
- __name(createLightComponent, "createLightComponent");
247
-
248
- // core/factories/components/MaterialFactory.ts
249
- function createMaterialComponent(world, entityId, ...args) {
250
- const component = new MaterialComponent(...args);
251
- world.addComponent(entityId, component);
252
- return component;
253
- }
254
- __name(createMaterialComponent, "createMaterialComponent");
255
-
256
- // core/factories/components/MeshFactory.ts
257
- function createMeshComponent(world, entityId, ...args) {
258
- const component = new MeshComponent(...args);
259
- world.addComponent(entityId, component);
260
- return component;
261
- }
262
- __name(createMeshComponent, "createMeshComponent");
263
-
264
- // core/factories/components/MeshGeometryFactory.ts
265
- function createMeshGeometryComponent(world, entityId, ...args) {
266
- const component = new MeshGeometryComponent(...args);
267
- world.addComponent(entityId, component);
268
- return component;
269
- }
270
- __name(createMeshGeometryComponent, "createMeshGeometryComponent");
271
-
272
- // core/factories/components/ModelFactory.ts
273
- function createModelComponent(world, entityId, ...args) {
274
- const component = new ModelComponent(...args);
275
- world.addComponent(entityId, component);
276
- return component;
277
- }
278
- __name(createModelComponent, "createModelComponent");
279
-
280
- // core/factories/components/NameFactory.ts
281
- function createNameComponent(world, entityId, ...args) {
282
- const component = new Name(...args);
283
- world.addComponent(entityId, component);
284
- return component;
285
- }
286
- __name(createNameComponent, "createNameComponent");
287
-
288
- // core/factories/components/Object3DRefFactory.ts
289
- function createObject3DRefComponent(world, entityId, ...args) {
290
- const component = new Object3DRef(...args);
291
- world.addComponent(entityId, component);
292
- return component;
293
- }
294
- __name(createObject3DRefComponent, "createObject3DRefComponent");
295
-
296
- // core/factories/components/ParentIdFactory.ts
297
- function createParentIdComponent(world, entityId, ...args) {
298
- const component = new ParentId(...args);
299
- world.addComponent(entityId, component);
300
- return component;
301
- }
302
- __name(createParentIdComponent, "createParentIdComponent");
303
-
304
- // core/factories/components/PostprocessingFactory.ts
305
- function createPostprocessingComponent(world, entityId, values) {
306
- const component = new Postprocessing(values);
307
- world.addComponent(entityId, component);
308
- return component;
309
- }
310
- __name(createPostprocessingComponent, "createPostprocessingComponent");
311
-
312
- // core/factories/components/ScriptComponentFactory.ts
313
- function createScriptComponent(world, entityId, payload = {}) {
314
- const entries = Array.isArray(payload.entries) ? payload.entries.map((entry) => ({
315
- entityId,
316
- className: typeof entry.className === "string" ? entry.className : "",
317
- scriptUrl: typeof entry.scriptUrl === "string" ? entry.scriptUrl : "",
318
- enabled: typeof entry.enabled === "boolean" ? entry.enabled : true,
319
- data: entry.data && typeof entry.data === "object" && !Array.isArray(entry.data) ? entry.data : {},
320
- runtimeState: entry.runtimeState,
321
- runtimeMessage: typeof entry.runtimeMessage === "string" ? entry.runtimeMessage : void 0
322
- })) : [];
323
- const component = new ScriptComponent(entries);
324
- world.addComponent(entityId, component);
325
- return component;
326
- }
327
- __name(createScriptComponent, "createScriptComponent");
328
-
329
- // core/factories/components/ScriptObjectComponentFactory.ts
330
- function createScriptObjectComponent(world, entityId, payload = {}) {
331
- const component = new ScriptObjectComponent(payload);
332
- world.addComponent(entityId, component);
333
- return component;
334
- }
335
- __name(createScriptObjectComponent, "createScriptObjectComponent");
336
-
337
- // core/factories/components/SelectableFactory.ts
338
- function createSelectableComponent(world, entityId, ...args) {
339
- const component = new Selectable(...args);
340
- world.addComponent(entityId, component);
341
- return component;
342
- }
343
- __name(createSelectableComponent, "createSelectableComponent");
344
-
345
- // core/factories/components/SelectionTransformStateFactory.ts
346
- function createSelectionTransformStateComponent(world, entityId, ...args) {
347
- const component = new SelectionTransformState(...args);
348
- world.addComponent(entityId, component);
349
- return component;
350
- }
351
- __name(createSelectionTransformStateComponent, "createSelectionTransformStateComponent");
352
-
353
- // core/factories/components/SpriteFactory.ts
354
- function createSpriteComponent(world, entityId, ...args) {
355
- const component = new SpriteComponent(...args);
356
- world.addComponent(entityId, component);
357
- return component;
358
- }
359
- __name(createSpriteComponent, "createSpriteComponent");
360
-
361
- // core/factories/components/TransformFactory.ts
362
- function createTransformComponent(world, entityId, ...args) {
363
- const component = new TransformComponent(...args);
364
- world.addComponent(entityId, component);
365
- return component;
366
- }
367
- __name(createTransformComponent, "createTransformComponent");
368
-
369
- // core/factories/components/InstancedMeshComponentFactory.ts
370
- function createInstancedMeshComponent(world, entityId, meshKind, meshParameters, options) {
371
- const component = new InstancedMeshComponent(meshKind, meshParameters, options);
372
- world.addComponent(entityId, component);
373
- return component;
374
- }
375
- __name(createInstancedMeshComponent, "createInstancedMeshComponent");
376
-
377
- // core/factories/components/InstanceSlotComponentFactory.ts
378
- function createInstanceSlotComponent(world, entityId, groupEntityId, slotIndex) {
379
- const component = new InstanceSlotComponent(groupEntityId, slotIndex);
380
- world.addComponent(entityId, component);
381
- return component;
382
- }
383
- __name(createInstanceSlotComponent, "createInstanceSlotComponent");
384
-
385
- // core/factories/components/VideoFactory.ts
386
- function createVideoComponent(world, entityId, ...args) {
387
- const component = new VideoComponent(...args);
388
- world.addComponent(entityId, component);
389
- return component;
390
- }
391
- __name(createVideoComponent, "createVideoComponent");
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/XRHandPoseFactory.ts
410
- function createXRHandPoseComponent(world, entityId, ...args) {
411
- const component = new XRHandPoseComponent(...args);
412
- world.addComponent(entityId, component);
413
- return component;
414
- }
415
- __name(createXRHandPoseComponent, "createXRHandPoseComponent");
416
-
417
- // core/factories/components/XRAnchorFactory.ts
418
- function createXRAnchorComponent(world, entityId, ...args) {
419
- const component = new XRAnchorComponent(...args);
420
- world.addComponent(entityId, component);
421
- return component;
422
- }
423
- __name(createXRAnchorComponent, "createXRAnchorComponent");
424
-
425
- // core/factories/components/XRInteractableFactory.ts
426
- function createXRInteractableComponent(world, entityId, ...args) {
427
- const component = new XRInteractableComponent(...args);
428
- world.addComponent(entityId, component);
429
- return component;
430
- }
431
- __name(createXRInteractableComponent, "createXRInteractableComponent");
432
-
433
- // core/factories/components/XRInteractorFactory.ts
434
- function createXRInteractorComponent(world, entityId, ...args) {
435
- const component = new XRInteractorComponent(...args);
436
- world.addComponent(entityId, component);
437
- return component;
438
- }
439
- __name(createXRInteractorComponent, "createXRInteractorComponent");
440
-
441
- // core/factories/components/XRInteractorSideFactory.ts
442
- function createXRInteractorSideComponent(world, entityId, ...args) {
443
- const component = new XRInteractorSideComponent(...args);
444
- world.addComponent(entityId, component);
445
- return component;
446
- }
447
- __name(createXRInteractorSideComponent, "createXRInteractorSideComponent");
448
-
449
- // core/factories/components/UIButtonComponentFactory.ts
450
- function createUIButtonComponent(world, entityId, ...args) {
451
- const component = new UIButtonComponent(...args);
452
- world.addComponent(entityId, component);
453
- return component;
454
- }
455
- __name(createUIButtonComponent, "createUIButtonComponent");
456
-
457
- // core/factories/components/UIPanelComponentFactory.ts
458
- function createUIPanelComponent(world, entityId, ...args) {
459
- const component = new UIPanelComponent(...args);
460
- world.addComponent(entityId, component);
461
- return component;
462
- }
463
- __name(createUIPanelComponent, "createUIPanelComponent");
464
-
465
- // core/factories/components/UISliderComponentFactory.ts
466
- function createUISliderComponent(world, entityId, ...args) {
467
- const component = new UISliderComponent(...args);
468
- world.addComponent(entityId, component);
469
- return component;
470
- }
471
- __name(createUISliderComponent, "createUISliderComponent");
472
-
473
- // core/factories/components/UITextComponentFactory.ts
474
- function createUITextComponent(world, entityId, ...args) {
475
- const component = new UITextComponent(...args);
476
- world.addComponent(entityId, component);
477
- return component;
478
- }
479
- __name(createUITextComponent, "createUITextComponent");
480
-
481
- // core/factories/components/UIToggleComponentFactory.ts
482
- function createUIToggleComponent(world, entityId, ...args) {
483
- const component = new UIToggleComponent(...args);
484
- world.addComponent(entityId, component);
485
- return component;
486
- }
487
- __name(createUIToggleComponent, "createUIToggleComponent");
488
7
 
489
8
  // core/factories/registerDefaultComponentFactories.ts
490
9
  function registerDefaultComponentFactories(objectManagementSystem) {
@@ -499,6 +18,12 @@ function registerDefaultComponentFactories(objectManagementSystem) {
499
18
  objectManagementSystem.registerComponentFactory("vrTeleportArea", createVRTeleportAreaComponent);
500
19
  objectManagementSystem.registerComponentFactory("xrHandPose", createXRHandPoseComponent);
501
20
  objectManagementSystem.registerComponentFactory("xrAnchor", createXRAnchorComponent);
21
+ objectManagementSystem.registerComponentFactory("boneAttachment", createBoneAttachmentComponent);
22
+ objectManagementSystem.registerComponentFactory("ik", createIKComponent);
23
+ objectManagementSystem.registerComponentFactory("networkIdentity", createNetworkIdentityComponent);
24
+ objectManagementSystem.registerComponentFactory("networkTransform", createNetworkTransformComponent);
25
+ objectManagementSystem.registerComponentFactory("networkedProps", createNetworkedPropsComponent);
26
+ objectManagementSystem.registerComponentFactory("networkSpawner", createNetworkSpawnerComponent);
502
27
  objectManagementSystem.registerComponentFactory("uiPanel", createUIPanelComponent);
503
28
  objectManagementSystem.registerComponentFactory("uiText", createUITextComponent);
504
29
  objectManagementSystem.registerComponentFactory("uiButton", createUIButtonComponent);
@@ -546,30 +71,12 @@ function registerDefaultComponentFactories(objectManagementSystem) {
546
71
  objectManagementSystem.registerComponentFactory("instancedMesh", createInstancedMeshComponent);
547
72
  }
548
73
  __name(registerDefaultComponentFactories, "registerDefaultComponentFactories");
549
-
550
- // core/factories/objects/shared.ts
551
- function createBaseEntity(world, object, options) {
552
- const entityId = world.createEntity();
553
- object.userData.entityId = entityId;
554
- const transform = createTransform(options.transformInput);
555
- applyTransform(object, transform);
556
- world.addComponent(entityId, transform);
557
- createObject3DRefComponent(world, entityId, object);
558
- createNameComponent(world, entityId, options.label);
559
- createEntityTypeComponent(world, entityId, options.entityType);
560
- createParentIdComponent(world, entityId, options.parentId ?? null);
561
- createSelectableComponent(world, entityId, true);
562
- return entityId;
563
- }
564
- __name(createBaseEntity, "createBaseEntity");
565
-
566
- // core/factories/objects/AudioFactory.ts
567
74
  function getOrCreateListener(camera) {
568
75
  const existing = camera.userData.ecsAudioListener;
569
- if (existing instanceof THREE30.AudioListener) {
76
+ if (existing instanceof THREE27.AudioListener) {
570
77
  return existing;
571
78
  }
572
- const listener = new THREE30.AudioListener();
79
+ const listener = new THREE27.AudioListener();
573
80
  camera.add(listener);
574
81
  camera.userData.ecsAudioListener = listener;
575
82
  return listener;
@@ -582,7 +89,7 @@ function createAudio({
582
89
  payload,
583
90
  isEditor
584
91
  }) {
585
- const anchor = new THREE30.Object3D();
92
+ const anchor = new THREE27.Object3D();
586
93
  const entityId = createBaseEntity(world, anchor, {
587
94
  label: payload.name ?? "Audio",
588
95
  entityType: "audio",
@@ -604,7 +111,7 @@ function createAudio({
604
111
  return entityId;
605
112
  }
606
113
  if (!isEditor) {
607
- const loader = new THREE30.AudioLoader();
114
+ const loader = new THREE27.AudioLoader();
608
115
  loader.load(
609
116
  audio.path,
610
117
  (buffer) => {
@@ -679,7 +186,7 @@ function applyCameraSettings(camera, options) {
679
186
  const near = typeof options.near === "number" ? options.near : DEFAULT_NEAR;
680
187
  const far = typeof options.far === "number" ? options.far : DEFAULT_FAR;
681
188
  const projection = options.projection;
682
- if (camera instanceof THREE30.PerspectiveCamera) {
189
+ if (camera instanceof THREE27.PerspectiveCamera) {
683
190
  if (!projection || projection === "perspective") {
684
191
  camera.fov = typeof options.fov === "number" ? options.fov : DEFAULT_FOV;
685
192
  }
@@ -689,7 +196,7 @@ function applyCameraSettings(camera, options) {
689
196
  camera.updateProjectionMatrix();
690
197
  return;
691
198
  }
692
- if (camera instanceof THREE30.OrthographicCamera) {
199
+ if (camera instanceof THREE27.OrthographicCamera) {
693
200
  camera.left = typeof options.left === "number" ? options.left : -DEFAULT_ORTHOGRAPHIC_HALF_HEIGHT;
694
201
  camera.right = typeof options.right === "number" ? options.right : DEFAULT_ORTHOGRAPHIC_HALF_HEIGHT;
695
202
  camera.top = typeof options.top === "number" ? options.top : DEFAULT_ORTHOGRAPHIC_HALF_HEIGHT;
@@ -710,7 +217,7 @@ function createCameraObject(options) {
710
217
  const bottom = options.bottom ?? -DEFAULT_ORTHOGRAPHIC_HALF_HEIGHT;
711
218
  const left = options.left ?? -DEFAULT_ORTHOGRAPHIC_HALF_HEIGHT;
712
219
  const right = options.right ?? DEFAULT_ORTHOGRAPHIC_HALF_HEIGHT;
713
- const camera = new THREE30.OrthographicCamera(
220
+ const camera = new THREE27.OrthographicCamera(
714
221
  left,
715
222
  right,
716
223
  top,
@@ -722,7 +229,7 @@ function createCameraObject(options) {
722
229
  camera.updateProjectionMatrix();
723
230
  return camera;
724
231
  }
725
- return new THREE30.PerspectiveCamera(
232
+ return new THREE27.PerspectiveCamera(
726
233
  options.fov ?? DEFAULT_FOV,
727
234
  readViewportAspect(),
728
235
  near,
@@ -740,7 +247,7 @@ function createCamera({ world, scene, camera, payload, isEditor }) {
740
247
  transformInput: payload.transform
741
248
  });
742
249
  const objectRef = world.getComponent(entityId, Object3DRef);
743
- if (objectRef?.object instanceof THREE30.Camera) {
250
+ if (objectRef?.object instanceof THREE27.Camera) {
744
251
  objectRef.object.userData.entityId = entityId;
745
252
  }
746
253
  const componentOptions = {
@@ -772,9 +279,9 @@ function createCapsule({
772
279
  scene,
773
280
  payload
774
281
  }) {
775
- const geometry = new THREE30.CapsuleGeometry(0.5, 1, 4, 8);
776
- const material = new THREE30.MeshStandardMaterial({ color: "#ffffff" });
777
- const mesh = new THREE30.Mesh(geometry, material);
282
+ const geometry = new THREE27.CapsuleGeometry(0.5, 1, 4, 8);
283
+ const material = new THREE27.MeshStandardMaterial({ color: "#ffffff" });
284
+ const mesh = new THREE27.Mesh(geometry, material);
778
285
  const entityId = createBaseEntity(world, mesh, {
779
286
  label: payload.name ?? "Capsule",
780
287
  entityType: "capsule",
@@ -794,9 +301,9 @@ function createCapsule({
794
301
  }
795
302
  __name(createCapsule, "createCapsule");
796
303
  function createCube({ world, scene, payload }) {
797
- const geometry = new THREE30.BoxGeometry(1, 1, 1);
798
- const material = new THREE30.MeshStandardMaterial({ color: "#ffffff" });
799
- const mesh = new THREE30.Mesh(geometry, material);
304
+ const geometry = new THREE27.BoxGeometry(1, 1, 1);
305
+ const material = new THREE27.MeshStandardMaterial({ color: "#ffffff" });
306
+ const mesh = new THREE27.Mesh(geometry, material);
800
307
  const entityId = createBaseEntity(world, mesh, {
801
308
  label: payload.name ?? "Cube",
802
309
  entityType: "cube",
@@ -821,9 +328,9 @@ function createCylinder({
821
328
  scene,
822
329
  payload
823
330
  }) {
824
- const geometry = new THREE30.CylinderGeometry(0.5, 0.5, 1, 20);
825
- const material = new THREE30.MeshStandardMaterial({ color: "#ffffff" });
826
- const mesh = new THREE30.Mesh(geometry, material);
331
+ const geometry = new THREE27.CylinderGeometry(0.5, 0.5, 1, 20);
332
+ const material = new THREE27.MeshStandardMaterial({ color: "#ffffff" });
333
+ const mesh = new THREE27.Mesh(geometry, material);
827
334
  const entityId = createBaseEntity(world, mesh, {
828
335
  label: payload.name ?? "Cylinder",
829
336
  entityType: "cylinder",
@@ -843,7 +350,7 @@ function createCylinder({
843
350
  }
844
351
  __name(createCylinder, "createCylinder");
845
352
  function createEmpty({ world, scene, payload, isEditor }) {
846
- const object = new THREE30.Group();
353
+ const object = new THREE27.Group();
847
354
  const entityId = createBaseEntity(world, object, {
848
355
  label: payload.name ?? "Empty",
849
356
  entityType: "empty",
@@ -854,7 +361,7 @@ function createEmpty({ world, scene, payload, isEditor }) {
854
361
  }
855
362
  __name(createEmpty, "createEmpty");
856
363
  function createImage({ world, scene, payload }) {
857
- const anchor = new THREE30.Object3D();
364
+ const anchor = new THREE27.Object3D();
858
365
  const imagePath = payload.path ?? "";
859
366
  const entityId = createBaseEntity(world, anchor, {
860
367
  label: payload.name ?? "Image",
@@ -867,7 +374,7 @@ function createImage({ world, scene, payload }) {
867
374
  if (!imagePath) {
868
375
  return entityId;
869
376
  }
870
- const loader = new THREE30.TextureLoader();
377
+ const loader = new THREE27.TextureLoader();
871
378
  loader.load(
872
379
  imagePath,
873
380
  (texture) => {
@@ -875,13 +382,13 @@ function createImage({ world, scene, payload }) {
875
382
  texture.dispose();
876
383
  return;
877
384
  }
878
- const material = new THREE30.MeshBasicMaterial({
385
+ const material = new THREE27.MeshBasicMaterial({
879
386
  map: texture,
880
387
  transparent: true,
881
- side: THREE30.DoubleSide
388
+ side: THREE27.DoubleSide
882
389
  });
883
- const geometry = new THREE30.PlaneGeometry(1, 1);
884
- const plane = new THREE30.Mesh(geometry, material);
390
+ const geometry = new THREE27.PlaneGeometry(1, 1);
391
+ const plane = new THREE27.Mesh(geometry, material);
885
392
  plane.userData.entityId = entityId;
886
393
  const textureImage = texture.image;
887
394
  const width = textureImage?.width ?? 1;
@@ -927,7 +434,7 @@ function createImageTarget({
927
434
  payload,
928
435
  isEditor
929
436
  }) {
930
- const anchor = new THREE30.Object3D();
437
+ const anchor = new THREE27.Object3D();
931
438
  const imagePath = payload.path ?? "";
932
439
  const entityId = createBaseEntity(world, anchor, {
933
440
  label: payload.name ?? "Image Target",
@@ -944,7 +451,7 @@ function createImageTarget({
944
451
  if (!isEditor || !imagePath) {
945
452
  return entityId;
946
453
  }
947
- const loader = new THREE30.TextureLoader();
454
+ const loader = new THREE27.TextureLoader();
948
455
  loader.load(
949
456
  imagePath,
950
457
  (texture) => {
@@ -952,13 +459,13 @@ function createImageTarget({
952
459
  texture.dispose();
953
460
  return;
954
461
  }
955
- const material = new THREE30.MeshBasicMaterial({
462
+ const material = new THREE27.MeshBasicMaterial({
956
463
  map: texture,
957
464
  transparent: true,
958
- side: THREE30.DoubleSide
465
+ side: THREE27.DoubleSide
959
466
  });
960
- const geometry = new THREE30.PlaneGeometry(1, 1);
961
- const plane = new THREE30.Mesh(geometry, material);
467
+ const geometry = new THREE27.PlaneGeometry(1, 1);
468
+ const plane = new THREE27.Mesh(geometry, material);
962
469
  plane.userData.entityId = entityId;
963
470
  const textureImage = texture.image;
964
471
  const width = textureImage?.width ?? 1;
@@ -1009,7 +516,7 @@ function createInstancedMesh({
1009
516
  scene,
1010
517
  payload
1011
518
  }) {
1012
- const anchor = new THREE30.Object3D();
519
+ const anchor = new THREE27.Object3D();
1013
520
  const opts = payload.options ?? {};
1014
521
  const meshKind = isInstancedMeshKind(opts.meshKind) ? opts.meshKind : "cube";
1015
522
  const meshParameters = opts.meshParameters && typeof opts.meshParameters === "object" ? opts.meshParameters : void 0;
@@ -1080,7 +587,7 @@ function createAmbientLight({
1080
587
  scene,
1081
588
  payload
1082
589
  }) {
1083
- const light = new THREE30.AmbientLight("#ffffff", 0.6);
590
+ const light = new THREE27.AmbientLight("#ffffff", 0.6);
1084
591
  const entityId = createBaseEntity(world, light, {
1085
592
  label: payload.name ?? "Ambient Light",
1086
593
  entityType: "ambientLight",
@@ -1097,7 +604,8 @@ function createAreaLight({
1097
604
  payload,
1098
605
  isEditor
1099
606
  }) {
1100
- const light = new THREE30.RectAreaLight("#ffffff", 5, 4, 4);
607
+ readWorldRenderBackend(world).prepareAreaLights?.(world);
608
+ const light = new THREE27.RectAreaLight("#ffffff", 5, 4, 4);
1101
609
  light.lookAt(0, 0, 0);
1102
610
  const entityId = createBaseEntity(world, light, {
1103
611
  label: payload.name ?? "Area Light",
@@ -1126,7 +634,7 @@ function createDirectionalLight({
1126
634
  payload,
1127
635
  isEditor
1128
636
  }) {
1129
- const light = new THREE30.DirectionalLight("#ffffff", 1.5);
637
+ const light = new THREE27.DirectionalLight("#ffffff", 1.5);
1130
638
  light.castShadow = true;
1131
639
  const entityId = createBaseEntity(world, light, {
1132
640
  label: payload.name ?? "Directional Light",
@@ -1137,7 +645,7 @@ function createDirectionalLight({
1137
645
  });
1138
646
  createLightComponent(world, entityId, light);
1139
647
  if (isEditor) {
1140
- const helper = new THREE30.DirectionalLightHelper(light, 1.8, "#38bdf8");
648
+ const helper = new THREE27.DirectionalLightHelper(light, 1.8, "#38bdf8");
1141
649
  helper.onBeforeRender = () => {
1142
650
  helper.update();
1143
651
  };
@@ -1155,7 +663,7 @@ function createPointLight({
1155
663
  payload,
1156
664
  isEditor
1157
665
  }) {
1158
- const light = new THREE30.PointLight("#ffffff", 1, 10);
666
+ const light = new THREE27.PointLight("#ffffff", 1, 10);
1159
667
  const entityId = createBaseEntity(world, light, {
1160
668
  label: payload.name ?? "Point Light",
1161
669
  entityType: "pointLight",
@@ -1165,7 +673,7 @@ function createPointLight({
1165
673
  });
1166
674
  createLightComponent(world, entityId, light);
1167
675
  if (isEditor) {
1168
- const helper = new THREE30.PointLightHelper(light, 0.35, "#fbbf24");
676
+ const helper = new THREE27.PointLightHelper(light, 0.35, "#fbbf24");
1169
677
  helper.onBeforeRender = () => {
1170
678
  helper.update();
1171
679
  };
@@ -1183,7 +691,7 @@ function createSpotLight({
1183
691
  payload,
1184
692
  isEditor
1185
693
  }) {
1186
- const light = new THREE30.SpotLight("#ffffff", 1, 20, Math.PI / 6, 0.1, 1);
694
+ const light = new THREE27.SpotLight("#ffffff", 1, 20, Math.PI / 6, 0.1, 1);
1187
695
  const entityId = createBaseEntity(world, light, {
1188
696
  label: payload.name ?? "Spot Light",
1189
697
  entityType: "spotLight",
@@ -1193,7 +701,7 @@ function createSpotLight({
1193
701
  });
1194
702
  createLightComponent(world, entityId, light);
1195
703
  if (isEditor) {
1196
- const helper = new THREE30.SpotLightHelper(light, "#f59e0b");
704
+ const helper = new THREE27.SpotLightHelper(light, "#f59e0b");
1197
705
  helper.onBeforeRender = () => {
1198
706
  helper.update();
1199
707
  };
@@ -1205,101 +713,13 @@ function createSpotLight({
1205
713
  return entityId;
1206
714
  }
1207
715
  __name(createSpotLight, "createSpotLight");
1208
- function getModelFileName(path) {
1209
- const segments = path.split(/[\\/]/).filter(Boolean);
1210
- return segments[segments.length - 1] ?? "";
1211
- }
1212
- __name(getModelFileName, "getModelFileName");
1213
- function createModelLoader() {
1214
- const loader = new GLTFLoader();
1215
- try {
1216
- const dracoLoader = new DRACOLoader();
1217
- dracoLoader.setDecoderPath(resolveDracoDecoderPath());
1218
- loader.setDRACOLoader(dracoLoader);
1219
- } catch (error) {
1220
- console.warn("DRACOLoader could not be configured. Loading non-Draco models only.", error);
1221
- }
1222
- return loader;
1223
- }
1224
- __name(createModelLoader, "createModelLoader");
1225
- function createModel({
1226
- world,
1227
- scene,
1228
- payload,
1229
- isEditor
1230
- }) {
1231
- const anchor = new THREE30.Object3D();
1232
- const modelPath = payload.path ?? "";
1233
- const entityId = createBaseEntity(world, anchor, {
1234
- label: payload.name ?? "Model",
1235
- entityType: "model",
1236
- transformInput: payload.transform
1237
- });
1238
- const model = createModelComponent(world, entityId, modelPath);
1239
- const meshGeometry = createMeshGeometryComponent(world, entityId, "model", anchor, {}, {
1240
- modelName: getModelFileName(modelPath),
1241
- castShadow: false,
1242
- receiveShadow: false
1243
- });
1244
- model.object = anchor;
1245
- scene.add(anchor);
1246
- if (!modelPath) {
1247
- return entityId;
1248
- }
1249
- const attachLoadedModel = /* @__PURE__ */ __name((gltf, object) => {
1250
- if (!world.hasEntity(entityId)) {
1251
- return;
1252
- }
1253
- object.userData.entityId = entityId;
1254
- object.traverse((child) => {
1255
- child.userData.entityId = entityId;
1256
- });
1257
- anchor.add(object);
1258
- model.object = object;
1259
- meshGeometry.object = object;
1260
- if (gltf.animations.length > 0) {
1261
- let animation = world.getComponent(entityId, AnimationComponent);
1262
- if (!animation) {
1263
- animation = createAnimationComponent(world, entityId, {
1264
- clips: gltf.animations,
1265
- externalClipSources: [],
1266
- paused: false,
1267
- reverse: false,
1268
- timeScale: 1,
1269
- crossFadeDuration: 0
1270
- });
1271
- }
1272
- animation.setModelClips(gltf.animations);
1273
- }
1274
- }, "attachLoadedModel");
1275
- const onLoadError = /* @__PURE__ */ __name((error) => {
1276
- console.error(`Failed to load model: ${modelPath}`, error);
1277
- }, "onLoadError");
1278
- if (isEditor) {
1279
- createModelLoader().load(
1280
- modelPath,
1281
- (gltf) => attachLoadedModel(gltf, gltf.scene),
1282
- void 0,
1283
- onLoadError
1284
- );
1285
- } else {
1286
- loadSharedGltf(
1287
- modelPath,
1288
- () => new Promise((resolve, reject) => {
1289
- createModelLoader().load(modelPath, resolve, void 0, reject);
1290
- })
1291
- ).then((gltf) => attachLoadedModel(gltf, cloneModelScene(gltf.scene))).catch(onLoadError);
1292
- }
1293
- return entityId;
1294
- }
1295
- __name(createModel, "createModel");
1296
716
  function createPlane({ world, scene, payload }) {
1297
- const geometry = new THREE30.PlaneGeometry(100, 100);
1298
- const material = new THREE30.MeshStandardMaterial({
717
+ const geometry = new THREE27.PlaneGeometry(100, 100);
718
+ const material = new THREE27.MeshStandardMaterial({
1299
719
  color: "#ffffff",
1300
- side: THREE30.DoubleSide
720
+ side: THREE27.DoubleSide
1301
721
  });
1302
- const mesh = new THREE30.Mesh(geometry, material);
722
+ const mesh = new THREE27.Mesh(geometry, material);
1303
723
  const entityId = createBaseEntity(
1304
724
  world,
1305
725
  mesh,
@@ -1335,7 +755,7 @@ function createScriptObject({
1335
755
  scene,
1336
756
  payload
1337
757
  }) {
1338
- const object = new THREE30.Group();
758
+ const object = new THREE27.Group();
1339
759
  const entityId = createBaseEntity(world, object, {
1340
760
  label: payload.name ?? "Script Object",
1341
761
  entityType: "scriptObject",
@@ -1360,15 +780,15 @@ function createTeleportArea({
1360
780
  const options = payload.options ?? {};
1361
781
  const width = typeof options.width === "number" ? options.width : 10;
1362
782
  const depth = typeof options.depth === "number" ? options.depth : 10;
1363
- const geometry = new THREE30.PlaneGeometry(width, depth);
1364
- const material = new THREE30.MeshBasicMaterial({
783
+ const geometry = new THREE27.PlaneGeometry(width, depth);
784
+ const material = new THREE27.MeshBasicMaterial({
1365
785
  color: "#4da3ff",
1366
786
  transparent: true,
1367
787
  opacity: 0.18,
1368
- side: THREE30.DoubleSide,
788
+ side: THREE27.DoubleSide,
1369
789
  depthWrite: false
1370
790
  });
1371
- const object = new THREE30.Mesh(geometry, material);
791
+ const object = new THREE27.Mesh(geometry, material);
1372
792
  const entityId = createBaseEntity(world, object, {
1373
793
  label: payload.name ?? "Teleport Area",
1374
794
  entityType: "teleportArea",
@@ -1396,7 +816,7 @@ function createXRInteractor({
1396
816
  scene,
1397
817
  payload
1398
818
  }) {
1399
- const root = new THREE30.Group();
819
+ const root = new THREE27.Group();
1400
820
  const options = payload.options ?? {};
1401
821
  const entityId = createBaseEntity(world, root, {
1402
822
  label: payload.name ?? "XR Interactor",
@@ -1409,7 +829,7 @@ function createXRInteractor({
1409
829
  return entityId;
1410
830
  }
1411
831
  for (const side of ["left", "right"]) {
1412
- const slot = new THREE30.Group();
832
+ const slot = new THREE27.Group();
1413
833
  const label = side === "left" ? "Left Interactor" : "Right Interactor";
1414
834
  const slotEntityId = createBaseEntity(world, slot, {
1415
835
  label,
@@ -1427,7 +847,7 @@ function createUIButton({
1427
847
  scene,
1428
848
  payload
1429
849
  }) {
1430
- const object = new THREE30.Group();
850
+ const object = new THREE27.Group();
1431
851
  const entityId = createBaseEntity(world, object, {
1432
852
  label: payload.name ?? "UI Button",
1433
853
  entityType: "uiButton",
@@ -1452,7 +872,7 @@ function createUIPanel({
1452
872
  scene,
1453
873
  payload
1454
874
  }) {
1455
- const object = new THREE30.Group();
875
+ const object = new THREE27.Group();
1456
876
  const entityId = createBaseEntity(world, object, {
1457
877
  label: payload.name ?? "UI Panel",
1458
878
  entityType: "uiPanel",
@@ -1469,7 +889,7 @@ function createUISlider({
1469
889
  scene,
1470
890
  payload
1471
891
  }) {
1472
- const object = new THREE30.Group();
892
+ const object = new THREE27.Group();
1473
893
  const entityId = createBaseEntity(world, object, {
1474
894
  label: payload.name ?? "UI Slider",
1475
895
  entityType: "uiSlider",
@@ -1494,7 +914,7 @@ function createUIText({
1494
914
  scene,
1495
915
  payload
1496
916
  }) {
1497
- const object = new THREE30.Group();
917
+ const object = new THREE27.Group();
1498
918
  const entityId = createBaseEntity(world, object, {
1499
919
  label: payload.name ?? "UI Text",
1500
920
  entityType: "uiText",
@@ -1511,7 +931,7 @@ function createUIToggle({
1511
931
  scene,
1512
932
  payload
1513
933
  }) {
1514
- const object = new THREE30.Group();
934
+ const object = new THREE27.Group();
1515
935
  const entityId = createBaseEntity(world, object, {
1516
936
  label: payload.name ?? "UI Toggle",
1517
937
  entityType: "uiToggle",
@@ -1536,7 +956,7 @@ function createXRRig({
1536
956
  scene,
1537
957
  payload
1538
958
  }) {
1539
- const object = new THREE30.Group();
959
+ const object = new THREE27.Group();
1540
960
  const entityId = createBaseEntity(world, object, {
1541
961
  label: payload.name ?? "XR Rig",
1542
962
  entityType: "xrRig",
@@ -1549,7 +969,7 @@ function createXRRig({
1549
969
  }
1550
970
  __name(createXRRig, "createXRRig");
1551
971
  function createSprite({ world, scene, payload }) {
1552
- const anchor = new THREE30.Object3D();
972
+ const anchor = new THREE27.Object3D();
1553
973
  const imagePath = payload.path ?? "";
1554
974
  const entityId = createBaseEntity(world, anchor, {
1555
975
  label: payload.name ?? "Sprite",
@@ -1561,7 +981,7 @@ function createSprite({ world, scene, payload }) {
1561
981
  if (!imagePath) {
1562
982
  return entityId;
1563
983
  }
1564
- const loader = new THREE30.TextureLoader();
984
+ const loader = new THREE27.TextureLoader();
1565
985
  loader.load(
1566
986
  imagePath,
1567
987
  (texture) => {
@@ -1569,11 +989,11 @@ function createSprite({ world, scene, payload }) {
1569
989
  texture.dispose();
1570
990
  return;
1571
991
  }
1572
- const material = new THREE30.SpriteMaterial({
992
+ const material = new THREE27.SpriteMaterial({
1573
993
  map: texture,
1574
994
  transparent: true
1575
995
  });
1576
- const sprite = new THREE30.Sprite(material);
996
+ const sprite = new THREE27.Sprite(material);
1577
997
  sprite.userData.entityId = entityId;
1578
998
  const textureImage = texture.image;
1579
999
  spriteComponent.width = textureImage?.width ?? 1;
@@ -1591,9 +1011,9 @@ function createSprite({ world, scene, payload }) {
1591
1011
  }
1592
1012
  __name(createSprite, "createSprite");
1593
1013
  function createSphere({ world, scene, payload }) {
1594
- const geometry = new THREE30.SphereGeometry(0.5, 24, 24);
1595
- const material = new THREE30.MeshStandardMaterial({ color: "#ffffff" });
1596
- const mesh = new THREE30.Mesh(geometry, material);
1014
+ const geometry = new THREE27.SphereGeometry(0.5, 24, 24);
1015
+ const material = new THREE27.MeshStandardMaterial({ color: "#ffffff" });
1016
+ const mesh = new THREE27.Mesh(geometry, material);
1597
1017
  const entityId = createBaseEntity(world, mesh, {
1598
1018
  label: payload.name ?? "Sphere",
1599
1019
  entityType: "sphere",
@@ -1613,21 +1033,21 @@ function createSphere({ world, scene, payload }) {
1613
1033
  __name(createSphere, "createSphere");
1614
1034
  function getOrCreateListener2(camera) {
1615
1035
  const existing = camera.userData.ecsAudioListener;
1616
- if (existing instanceof THREE30.AudioListener) {
1036
+ if (existing instanceof THREE27.AudioListener) {
1617
1037
  return existing;
1618
1038
  }
1619
- const listener = new THREE30.AudioListener();
1039
+ const listener = new THREE27.AudioListener();
1620
1040
  camera.add(listener);
1621
1041
  camera.userData.ecsAudioListener = listener;
1622
1042
  return listener;
1623
1043
  }
1624
1044
  __name(getOrCreateListener2, "getOrCreateListener");
1625
- function normalizeDistanceModel2(value) {
1045
+ function normalizeDistanceModel(value) {
1626
1046
  const v = value.trim().toLowerCase();
1627
1047
  if (v === "linear" || v === "exponential") return v;
1628
1048
  return "inverse";
1629
1049
  }
1630
- __name(normalizeDistanceModel2, "normalizeDistanceModel");
1050
+ __name(normalizeDistanceModel, "normalizeDistanceModel");
1631
1051
  function toBool(value, fallback) {
1632
1052
  return typeof value === "boolean" ? value : fallback;
1633
1053
  }
@@ -1665,58 +1085,23 @@ function normalizeOptions(input) {
1665
1085
  };
1666
1086
  }
1667
1087
  __name(normalizeOptions, "normalizeOptions");
1668
- function createChromaMaterial(texture, options) {
1669
- return new THREE30.ShaderMaterial({
1670
- uniforms: {
1671
- tex: { value: texture },
1672
- keyColor: { value: new THREE30.Color(options.backgroundColor) },
1673
- similarity: { value: options.similarity },
1674
- smoothness: { value: options.smoothness },
1675
- spill: { value: options.spill }
1676
- },
1677
- vertexShader: `
1678
- varying vec2 vUv;
1679
- void main() {
1680
- vUv = uv;
1681
- gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
1682
- }
1683
- `,
1684
- fragmentShader: `
1685
- uniform sampler2D tex;
1686
- uniform vec3 keyColor;
1687
- uniform float similarity;
1688
- uniform float smoothness;
1689
- uniform float spill;
1690
- varying vec2 vUv;
1691
-
1692
- void main() {
1693
- vec4 texel = texture2D(tex, vUv);
1694
- float chromaDist = distance(texel.rgb, keyColor);
1695
- float alpha = smoothstep(similarity, similarity + smoothness, chromaDist);
1696
-
1697
- float spillFactor = smoothstep(similarity, similarity + spill + smoothness, chromaDist);
1698
- vec3 despilled = mix(vec3(dot(texel.rgb, vec3(0.299, 0.587, 0.114))), texel.rgb, spillFactor);
1699
-
1700
- gl_FragColor = vec4(despilled, texel.a * alpha);
1701
- }
1702
- `,
1703
- transparent: true,
1704
- side: THREE30.DoubleSide
1705
- });
1706
- }
1707
- __name(createChromaMaterial, "createChromaMaterial");
1708
1088
  function createStandardMaterial(texture) {
1709
- return new THREE30.MeshBasicMaterial({
1089
+ return new THREE27.MeshBasicMaterial({
1710
1090
  map: texture,
1711
1091
  transparent: true,
1712
- side: THREE30.DoubleSide
1092
+ side: THREE27.DoubleSide
1713
1093
  });
1714
1094
  }
1715
1095
  __name(createStandardMaterial, "createStandardMaterial");
1716
- function createVideoMesh(entityId, texture, options) {
1717
- const geometry = new THREE30.PlaneGeometry(1, 1);
1718
- const material = options.isGreenScreen ? createChromaMaterial(texture, options) : createStandardMaterial(texture);
1719
- const mesh = new THREE30.Mesh(geometry, material);
1096
+ function createVideoMesh(entityId, texture, options, backend) {
1097
+ const geometry = new THREE27.PlaneGeometry(1, 1);
1098
+ const material = options.isGreenScreen ? backend.createChromaKeyMaterial(texture, {
1099
+ keyColor: options.backgroundColor,
1100
+ similarity: options.similarity,
1101
+ smoothness: options.smoothness,
1102
+ spill: options.spill
1103
+ }) : createStandardMaterial(texture);
1104
+ const mesh = new THREE27.Mesh(geometry, material);
1720
1105
  mesh.userData.entityId = entityId;
1721
1106
  mesh.scale.set(options.width, options.height, 1);
1722
1107
  return { mesh, material };
@@ -1751,7 +1136,7 @@ function createVideo({
1751
1136
  payload,
1752
1137
  isEditor
1753
1138
  }) {
1754
- const anchor = new THREE30.Object3D();
1139
+ const anchor = new THREE27.Object3D();
1755
1140
  const path = payload.path ?? "";
1756
1141
  const options = normalizeOptions(payload.options);
1757
1142
  const entityId = createBaseEntity(world, anchor, {
@@ -1766,10 +1151,15 @@ function createVideo({
1766
1151
  return entityId;
1767
1152
  }
1768
1153
  const video = createVideoElement(path, options);
1769
- const texture = new THREE30.VideoTexture(video);
1770
- texture.colorSpace = THREE30.SRGBColorSpace;
1154
+ const texture = new THREE27.VideoTexture(video);
1155
+ texture.colorSpace = THREE27.SRGBColorSpace;
1771
1156
  texture.needsUpdate = true;
1772
- const { mesh, material } = createVideoMesh(entityId, texture, options);
1157
+ const { mesh, material } = createVideoMesh(
1158
+ entityId,
1159
+ texture,
1160
+ options,
1161
+ readWorldRenderBackend(world)
1162
+ );
1773
1163
  anchor.add(mesh);
1774
1164
  videoComponent.videoElement = video;
1775
1165
  videoComponent.texture = texture;
@@ -1783,10 +1173,10 @@ function createVideo({
1783
1173
  });
1784
1174
  if (!isEditor && options.positional) {
1785
1175
  const listener = getOrCreateListener2(camera);
1786
- const audioNode = new THREE30.PositionalAudio(listener);
1176
+ const audioNode = new THREE27.PositionalAudio(listener);
1787
1177
  audioNode.setVolume(options.volume);
1788
1178
  audioNode.setRefDistance(options.refDistance);
1789
- audioNode.setDistanceModel(normalizeDistanceModel2(options.distanceModel));
1179
+ audioNode.setDistanceModel(normalizeDistanceModel(options.distanceModel));
1790
1180
  audioNode.setRolloffFactor(options.rolloffFactor);
1791
1181
  audioNode.setMediaElementSource(video);
1792
1182
  video.volume = 1;
@@ -1835,6 +1225,6 @@ function registerDefaultFactories(objectManagementSystem) {
1835
1225
  }
1836
1226
  __name(registerDefaultFactories, "registerDefaultFactories");
1837
1227
 
1838
- 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, createUIButtonComponent, createUIPanelComponent, createUISliderComponent, createUITextComponent, createUIToggleComponent, createVRTeleportAreaComponent, createVideoComponent, createXRAnchorComponent, createXRHandPoseComponent, createXRInteractableComponent, createXRInteractorComponent, createXRInteractorSideComponent, createXRRigComponent, registerDefaultComponentFactories, registerDefaultFactories };
1839
- //# sourceMappingURL=chunk-RXBLOO5B.js.map
1840
- //# sourceMappingURL=chunk-RXBLOO5B.js.map
1228
+ export { registerDefaultComponentFactories, registerDefaultFactories };
1229
+ //# sourceMappingURL=chunk-SGF73YTF.js.map
1230
+ //# sourceMappingURL=chunk-SGF73YTF.js.map