@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,8 +1,10 @@
1
- import { A as AnimationComponent, b as AudioComponent, c as CameraComponentOptions, C as CameraComponent, U as RigidbodyState, g as ColliderState, P as PhysicsComponent, p as EntityType, I as ImageComponent, r as ImageTargetAnchor, q as ImageTarget, L as LightComponent, M as MaterialComponent, F as MeshComponent, G as MeshGeometryComponent, K as ModelComponent, N as Name, O as Object3DRef, X as ScriptEntry, W as ScriptComponent, Z as ScriptObjectComponentInput, Y as ScriptObjectComponent, $ as Selectable, a0 as SelectionTransformState, a1 as SpriteComponent, x as InstancedMeshKind, H as MeshGeometryParameters, w as InstancedMeshComponent, u as InstanceSlotComponent, ak as VideoComponent, av as XRRigComponent, ai as VRTeleportAreaComponent, ao as XRHandPoseComponent, am as XRAnchorComponent, aq as XRInteractableComponent, as as XRInteractorComponent, au as XRInteractorSideComponent, a5 as UIButtonComponent, a7 as UIPanelComponent, a9 as UISliderComponent, ab as UITextComponent, ad as UIToggleComponent } from '../XRHandPose-CQTLGxFC.cjs';
2
- import { l as World, g as EnvironmentState, E as Environment, P as ParentId, i as PostprocessingState, h as Postprocessing, T as TransformComponent, O as ObjectManagementSystem } from '../System-V_mv07le.cjs';
1
+ import { A as AnimationComponent, b as AudioComponent, d as CameraComponentOptions, C as CameraComponent, Z as RigidbodyState, h as ColliderState, U as PhysicsComponent, q as EntityType, I as ImageComponent, s as ImageTargetAnchor, r as ImageTarget, L as LightComponent, G as MaterialComponent, K as MeshComponent, N as MeshGeometryComponent, Q as ModelComponent, S as Name, T as Object3DRef, a0 as ScriptEntry, $ as ScriptComponent, a2 as ScriptObjectComponentInput, a1 as ScriptObjectComponent, a4 as Selectable, a5 as SelectionTransformState, a6 as SpriteComponent, y as InstancedMeshKind, O as MeshGeometryParameters, x as InstancedMeshComponent, v as InstanceSlotComponent, ap as VideoComponent, aA as XRRigComponent, an as VRTeleportAreaComponent, at as XRHandPoseComponent, ar as XRAnchorComponent, B as BoneAttachmentComponent, av as XRInteractableComponent, ax as XRInteractorComponent, az as XRInteractorSideComponent, aa as UIButtonComponent, ac as UIPanelComponent, ae as UISliderComponent, ag as UITextComponent, ai as UIToggleComponent } from '../XRHandPose-VQMT1WXj.cjs';
2
+ import { W as World, j as EnvironmentState, E as Environment, P as ParentId, u as PostprocessingState, t as Postprocessing, T as TransformComponent, l as IKComponent, o as NetworkIdentityComponent, p as NetworkSpawnerComponent, q as NetworkTransformComponent, s as NetworkedPropsComponent, X as ObjectManagementSystem } from '../System-8D-XBDKZ.cjs';
3
3
  import * as THREE from 'three';
4
4
  import '@dimforge/rapier3d-compat';
5
5
  import '../handPose-DlcTtqgx.cjs';
6
+ import '../animation/index.cjs';
7
+ import 'three/webgpu';
6
8
 
7
9
  declare function createAnimationComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof AnimationComponent>): AnimationComponent;
8
10
 
@@ -83,6 +85,15 @@ declare function createXRHandPoseComponent(world: World, entityId: number, ...ar
83
85
 
84
86
  declare function createXRAnchorComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof XRAnchorComponent>): XRAnchorComponent;
85
87
 
88
+ declare function createBoneAttachmentComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof BoneAttachmentComponent>): BoneAttachmentComponent;
89
+
90
+ declare function createIKComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof IKComponent>): IKComponent;
91
+
92
+ declare function createNetworkIdentityComponent(world: World, entityId: number): NetworkIdentityComponent;
93
+ declare function createNetworkTransformComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof NetworkTransformComponent>): NetworkTransformComponent;
94
+ declare function createNetworkedPropsComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof NetworkedPropsComponent>): NetworkedPropsComponent;
95
+ declare function createNetworkSpawnerComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof NetworkSpawnerComponent>): NetworkSpawnerComponent;
96
+
86
97
  declare function createXRInteractableComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof XRInteractableComponent>): XRInteractableComponent;
87
98
 
88
99
  declare function createXRInteractorComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof XRInteractorComponent>): XRInteractorComponent;
@@ -103,4 +114,4 @@ declare function registerDefaultComponentFactories(objectManagementSystem: Objec
103
114
 
104
115
  declare function registerDefaultFactories(objectManagementSystem: ObjectManagementSystem): void;
105
116
 
106
- 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 };
117
+ export { createAnimationComponent, createAudioComponent, createBoneAttachmentComponent, createCameraComponent, createEntityTypeComponent, createEnvironmentComponent, createIKComponent, createImageComponent, createImageTargetAnchorComponent, createImageTargetComponent, createInstanceSlotComponent, createInstancedMeshComponent, createLightComponent, createMaterialComponent, createMeshComponent, createMeshGeometryComponent, createModelComponent, createNameComponent, createNetworkIdentityComponent, createNetworkSpawnerComponent, createNetworkTransformComponent, createNetworkedPropsComponent, 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 };
@@ -1,8 +1,10 @@
1
- import { A as AnimationComponent, b as AudioComponent, c as CameraComponentOptions, C as CameraComponent, U as RigidbodyState, g as ColliderState, P as PhysicsComponent, p as EntityType, I as ImageComponent, r as ImageTargetAnchor, q as ImageTarget, L as LightComponent, M as MaterialComponent, F as MeshComponent, G as MeshGeometryComponent, K as ModelComponent, N as Name, O as Object3DRef, X as ScriptEntry, W as ScriptComponent, Z as ScriptObjectComponentInput, Y as ScriptObjectComponent, $ as Selectable, a0 as SelectionTransformState, a1 as SpriteComponent, x as InstancedMeshKind, H as MeshGeometryParameters, w as InstancedMeshComponent, u as InstanceSlotComponent, ak as VideoComponent, av as XRRigComponent, ai as VRTeleportAreaComponent, ao as XRHandPoseComponent, am as XRAnchorComponent, aq as XRInteractableComponent, as as XRInteractorComponent, au as XRInteractorSideComponent, a5 as UIButtonComponent, a7 as UIPanelComponent, a9 as UISliderComponent, ab as UITextComponent, ad as UIToggleComponent } from '../XRHandPose-CU3vNFuS.js';
2
- import { l as World, g as EnvironmentState, E as Environment, P as ParentId, i as PostprocessingState, h as Postprocessing, T as TransformComponent, O as ObjectManagementSystem } from '../System-V_mv07le.js';
1
+ import { A as AnimationComponent, b as AudioComponent, d as CameraComponentOptions, C as CameraComponent, Z as RigidbodyState, h as ColliderState, U as PhysicsComponent, q as EntityType, I as ImageComponent, s as ImageTargetAnchor, r as ImageTarget, L as LightComponent, G as MaterialComponent, K as MeshComponent, N as MeshGeometryComponent, Q as ModelComponent, S as Name, T as Object3DRef, a0 as ScriptEntry, $ as ScriptComponent, a2 as ScriptObjectComponentInput, a1 as ScriptObjectComponent, a4 as Selectable, a5 as SelectionTransformState, a6 as SpriteComponent, y as InstancedMeshKind, O as MeshGeometryParameters, x as InstancedMeshComponent, v as InstanceSlotComponent, ap as VideoComponent, aA as XRRigComponent, an as VRTeleportAreaComponent, at as XRHandPoseComponent, ar as XRAnchorComponent, B as BoneAttachmentComponent, av as XRInteractableComponent, ax as XRInteractorComponent, az as XRInteractorSideComponent, aa as UIButtonComponent, ac as UIPanelComponent, ae as UISliderComponent, ag as UITextComponent, ai as UIToggleComponent } from '../XRHandPose-G0Dl-F0w.js';
2
+ import { W as World, o as EnvironmentState, g as Environment, y as ParentId, b as PostprocessingState, z as Postprocessing, T as TransformComponent, q as IKComponent, t as NetworkIdentityComponent, u as NetworkSpawnerComponent, v as NetworkTransformComponent, x as NetworkedPropsComponent, a0 as ObjectManagementSystem } from '../System-DPMAW30g.js';
3
3
  import * as THREE from 'three';
4
4
  import '@dimforge/rapier3d-compat';
5
5
  import '../handPose-DlcTtqgx.js';
6
+ import '../animation/index.js';
7
+ import 'three/webgpu';
6
8
 
7
9
  declare function createAnimationComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof AnimationComponent>): AnimationComponent;
8
10
 
@@ -83,6 +85,15 @@ declare function createXRHandPoseComponent(world: World, entityId: number, ...ar
83
85
 
84
86
  declare function createXRAnchorComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof XRAnchorComponent>): XRAnchorComponent;
85
87
 
88
+ declare function createBoneAttachmentComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof BoneAttachmentComponent>): BoneAttachmentComponent;
89
+
90
+ declare function createIKComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof IKComponent>): IKComponent;
91
+
92
+ declare function createNetworkIdentityComponent(world: World, entityId: number): NetworkIdentityComponent;
93
+ declare function createNetworkTransformComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof NetworkTransformComponent>): NetworkTransformComponent;
94
+ declare function createNetworkedPropsComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof NetworkedPropsComponent>): NetworkedPropsComponent;
95
+ declare function createNetworkSpawnerComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof NetworkSpawnerComponent>): NetworkSpawnerComponent;
96
+
86
97
  declare function createXRInteractableComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof XRInteractableComponent>): XRInteractableComponent;
87
98
 
88
99
  declare function createXRInteractorComponent(world: World, entityId: number, ...args: ConstructorParameters<typeof XRInteractorComponent>): XRInteractorComponent;
@@ -103,4 +114,4 @@ declare function registerDefaultComponentFactories(objectManagementSystem: Objec
103
114
 
104
115
  declare function registerDefaultFactories(objectManagementSystem: ObjectManagementSystem): void;
105
116
 
106
- 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 };
117
+ export { createAnimationComponent, createAudioComponent, createBoneAttachmentComponent, createCameraComponent, createEntityTypeComponent, createEnvironmentComponent, createIKComponent, createImageComponent, createImageTargetAnchorComponent, createImageTargetComponent, createInstanceSlotComponent, createInstancedMeshComponent, createLightComponent, createMaterialComponent, createMeshComponent, createMeshGeometryComponent, createModelComponent, createNameComponent, createNetworkIdentityComponent, createNetworkSpawnerComponent, createNetworkTransformComponent, createNetworkedPropsComponent, 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 };
@@ -1,6 +1,9 @@
1
- export { createAnimationComponent, createAudioComponent, createCameraComponent, createEntityTypeComponent, createEnvironmentComponent, createImageComponent, createImageTargetAnchorComponent, createImageTargetComponent, createInstanceSlotComponent, createInstancedMeshComponent, createLightComponent, createMaterialComponent, createMeshComponent, createMeshGeometryComponent, createModelComponent, createNameComponent, createObject3DRefComponent, createParentIdComponent, createPhysicsComponent, createPostprocessingComponent, createScriptComponent, createScriptObjectComponent, createSelectableComponent, createSelectionTransformStateComponent, createSpriteComponent, createTransformComponent, createUIButtonComponent, createUIPanelComponent, createUISliderComponent, createUITextComponent, createUIToggleComponent, createVRTeleportAreaComponent, createVideoComponent, createXRAnchorComponent, createXRHandPoseComponent, createXRInteractableComponent, createXRInteractorComponent, createXRInteractorSideComponent, createXRRigComponent, registerDefaultComponentFactories, registerDefaultFactories } from '../chunk-RXBLOO5B.js';
2
- import '../chunk-WJD2VKEH.js';
3
- import '../chunk-BUEKOSR5.js';
4
- import '../chunk-OY7ZODZP.js';
1
+ export { registerDefaultComponentFactories, registerDefaultFactories } from '../chunk-SGF73YTF.js';
2
+ import '../chunk-OHCNPPMX.js';
3
+ export { createAnimationComponent, createAudioComponent, createBoneAttachmentComponent, createCameraComponent, createEntityTypeComponent, createEnvironmentComponent, createIKComponent, createImageComponent, createImageTargetAnchorComponent, createImageTargetComponent, createInstanceSlotComponent, createInstancedMeshComponent, createLightComponent, createMaterialComponent, createMeshComponent, createMeshGeometryComponent, createModelComponent, createNameComponent, createNetworkIdentityComponent, createNetworkSpawnerComponent, createNetworkTransformComponent, createNetworkedPropsComponent, createObject3DRefComponent, createParentIdComponent, createPhysicsComponent, createPostprocessingComponent, createScriptComponent, createScriptObjectComponent, createSelectableComponent, createSelectionTransformStateComponent, createSpriteComponent, createTransformComponent, createUIButtonComponent, createUIPanelComponent, createUISliderComponent, createUITextComponent, createUIToggleComponent, createVRTeleportAreaComponent, createVideoComponent, createXRAnchorComponent, createXRHandPoseComponent, createXRInteractableComponent, createXRInteractorComponent, createXRInteractorSideComponent, createXRRigComponent } from '../chunk-G4XJ53LS.js';
4
+ import '../chunk-NNDUOQ7O.js';
5
+ import '../chunk-CKTHDXPS.js';
6
+ import '../chunk-GSWC6LLD.js';
7
+ import '../chunk-XE4OXN2W.js';
5
8
  //# sourceMappingURL=index.js.map
6
9
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { k as EcsSystem, l as World, I as InputSystem, r as EntityId } from './System-V_mv07le.js';
1
+ import { K as EcsSystem, W as World, E as EcsRenderer, R as RenderBackend, ai as InputSystem, M as EntityId } from './System-DPMAW30g.js';
2
2
  import * as THREE from 'three';
3
3
  import { m as XrHandJoints, r as XrHandShape } from './handPose-DlcTtqgx.js';
4
4
 
@@ -22,33 +22,135 @@ declare class ObjectVisibilitySystem implements EcsSystem {
22
22
  update(world: World): void;
23
23
  }
24
24
 
25
+ /**
26
+ * Applies the scene's {@link Environment} component to the three.js scene:
27
+ * skybox, fog, and (when `values.lighting` is present) image-based lighting,
28
+ * tone mapping and exposure.
29
+ *
30
+ * Each part is dirty-checked on its own, so animating `lighting.envIntensity`
31
+ * every frame does not rebuild the skybox texture.
32
+ *
33
+ * Runs in the editor and at runtime. While an XR session composites over the
34
+ * real world (`World.isXrPassthrough()`) the background is withheld; lighting
35
+ * and fog still apply.
36
+ *
37
+ * On WebGL the environment map is PMREM-prefiltered here. On WebGPU
38
+ * (`World.getRendererKind() === "webgpu"`) the equirect texture is assigned
39
+ * to `scene.environment` as is and the renderer prefilters it.
40
+ *
41
+ * @category Systems
42
+ */
25
43
  declare class EnvironmentSyncSystem implements EcsSystem {
26
44
  private readonly scene;
27
45
  private readonly textureLoader;
28
- private signature;
46
+ /** `true` once an Environment entity has been seen (drives the reset path). */
47
+ private hasEnvironment;
48
+ private skyboxSignature;
49
+ private fogSignature;
50
+ private lightingSignature;
29
51
  private activeTexture;
52
+ /** Load key (`url`, or `equirect|url`) of the current/pending image skybox. */
30
53
  private pendingImageUrl;
54
+ /** What the skybox wants as the background, before passthrough/env overrides. */
55
+ private skyboxBackground;
31
56
  /** Whether the skybox is currently withheld because passthrough is on. */
32
57
  private passthroughSuppressed;
58
+ private renderer;
59
+ private lighting;
60
+ /** URL of the environment map currently loaded or loading. */
61
+ private envUrl;
62
+ /** Incremented per env-map load; a load whose token is stale is discarded. */
63
+ private envLoadToken;
64
+ /** Equirect source texture of the current environment map. */
65
+ private envSource;
66
+ /**
67
+ * PMREM render target built from {@link envSource} (WebGL only; on WebGPU
68
+ * the renderer prefilters `scene.environment` itself and this stays null).
69
+ */
70
+ private envTarget;
71
+ private sceneLightingBaseline;
72
+ private sceneBackgroundBaseline;
73
+ private disposed;
33
74
  constructor(scene: THREE.Scene);
34
75
  private disposeActiveTexture;
76
+ /** Write the background the current state calls for. */
77
+ private commitBackground;
78
+ private restoreBackgroundBaseline;
79
+ private setSkyboxBackground;
35
80
  private applySkybox;
36
81
  private applyFog;
82
+ private disposeEnvResources;
83
+ /** Drop the environment map (any in-flight load is abandoned). */
84
+ private clearEnvMap;
85
+ /**
86
+ * Undo everything the lighting block wrote to the scene and renderer.
87
+ * `commit` re-applies the background afterwards (off during teardown, which
88
+ * must not touch the background).
89
+ */
90
+ private clearLighting;
91
+ /**
92
+ * PMREM-filter an equirect texture. `null` when no usable renderer exists,
93
+ * or on WebGPU: there the WebGL `PMREMGenerator` would silently produce a
94
+ * black map, while `WebGPURenderer` prefilters an equirect
95
+ * `scene.environment` (and a blurred background) by itself.
96
+ */
97
+ private buildPmrem;
98
+ private loadEnvMap;
99
+ private applyEnvironmentParams;
100
+ private applyLighting;
101
+ private resetAll;
37
102
  update(world: World): void;
38
103
  dispose(): void;
39
104
  }
40
105
 
106
+ /**
107
+ * Builds the post-processing chain from the scene's {@link Postprocessing}
108
+ * component and hands it to `RenderSystem` through `scene.userData`:
109
+ *
110
+ * - `ecsPostprocessingComposer` — the built chain (`render()`, `dispose()`,
111
+ * optional `setSize()` / `setPixelRatio()`). On WebGL it is the
112
+ * `EffectComposer` itself.
113
+ * - `ecsPostprocessingComposerActive` — `true` while `RenderSystem` should
114
+ * render through it.
115
+ * - `ecsPostprocessing` — the values the chain was built from.
116
+ *
117
+ * The chain itself comes from the world's render backend: an
118
+ * `EffectComposer` on WebGL (pass order: scene render → depth of field →
119
+ * bloom → vignette → hue/saturation → sepia → film noise → dot screen →
120
+ * SSAO → glitch → chromatic aberration → pixelation → SMAA → output), a
121
+ * `RenderPipeline` of TSL nodes with `webgpuBackend`. A backend that can
122
+ * update a chain in place (the WebGPU one) skips the rebuild when only
123
+ * parameters changed.
124
+ *
125
+ * The `toneMapping` effect has no pass of its own: when active it asks the
126
+ * renderer for tone mapping, which the chain's output step then applies. See
127
+ * `Environment.values.lighting.toneMapping` for how the two combine.
128
+ *
129
+ * @category Systems
130
+ */
41
131
  declare class PostprocessingSyncSystem implements EcsSystem {
42
132
  private readonly renderer;
43
133
  private readonly scene;
44
134
  private readonly camera;
135
+ private readonly backend;
45
136
  private signature;
137
+ /** Deep copy of the values the current chain reflects. */
138
+ private appliedValues;
46
139
  private composer;
47
140
  private composerEnabled;
48
- constructor(renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.PerspectiveCamera);
141
+ /**
142
+ * @param backend - Builds the chain. When omitted, the world's backend
143
+ * (`world.getRenderBackend()`) is used.
144
+ */
145
+ constructor(renderer: EcsRenderer, scene: THREE.Scene, camera: THREE.PerspectiveCamera, backend?: RenderBackend);
49
146
  private setComposerEnabled;
50
147
  private disposeComposer;
148
+ /** Ask the renderer for tone mapping while the effect is active. */
149
+ private applyToneMapping;
150
+ private resolveBackend;
51
151
  private buildComposer;
152
+ /** Update the existing chain in place; `false` when it must be rebuilt. */
153
+ private tryUpdateInPlace;
52
154
  update(world: World): void;
53
155
  dispose(): void;
54
156
  }
@@ -132,6 +234,20 @@ declare class InstancedMeshSystem implements EcsSystem {
132
234
  /** Resolves a script URL to its ES module namespace. */
133
235
  type ModuleLoader = (scriptUrl: string) => Promise<Record<string, unknown>>;
134
236
 
237
+ /**
238
+ * Seconds a Behaviour waits after an error (load, `init()` or `update()`)
239
+ * before it is re-initialised. Without the wait a script that throws every
240
+ * frame was torn down and rebuilt every frame.
241
+ */
242
+ declare const DEFAULT_SCRIPT_ERROR_RETRY_DELAY = 1;
243
+ /** Options for {@link ScriptBehaviourSystem}. */
244
+ type ScriptBehaviourSystemOptions = {
245
+ /**
246
+ * Seconds to wait after a script error before re-initialising the script.
247
+ * Default {@link DEFAULT_SCRIPT_ERROR_RETRY_DELAY}.
248
+ */
249
+ errorRetryDelay?: number;
250
+ };
135
251
  /**
136
252
  * Optional context that enables raycast-based onSelect / onDeselect dispatch.
137
253
  * When provided, pointer/touch taps on the canvas fire a raycast against the
@@ -148,6 +264,11 @@ declare class ScriptBehaviourSystem implements EcsSystem {
148
264
  private instances;
149
265
  private loading;
150
266
  private readonly moduleLoader;
267
+ private readonly errorRetryDelay;
268
+ /** Seconds of world time this system has seen (sum of `deltaTime`). */
269
+ private clock;
270
+ /** Instance key → clock time before which a failed script is not retried. */
271
+ private retryAt;
151
272
  private readonly selectionCtx;
152
273
  private readonly raycaster;
153
274
  private readonly ndcPointer;
@@ -155,7 +276,7 @@ declare class ScriptBehaviourSystem implements EcsSystem {
155
276
  private pendingEntityId;
156
277
  private pointerDownPos;
157
278
  private static readonly CLICK_THRESHOLD;
158
- constructor(moduleLoader?: ModuleLoader, selectionContext?: SelectionContext);
279
+ constructor(moduleLoader?: ModuleLoader, selectionContext?: SelectionContext, options?: ScriptBehaviourSystemOptions);
159
280
  /** Walk up the object hierarchy to find the nearest userData.entityId. */
160
281
  private resolveEntityId;
161
282
  /** Convert client (screen) coordinates to normalised device coordinates. */
@@ -170,6 +291,9 @@ declare class ScriptBehaviourSystem implements EcsSystem {
170
291
  * onSelect() on all behaviours of the newly selected entity.
171
292
  */
172
293
  private applySelection;
294
+ private reportRecordError;
295
+ /** Hold a failed script back for {@link errorRetryDelay} seconds. */
296
+ private scheduleRetry;
173
297
  update(world: World, deltaTime: number): void;
174
298
  dispose(world: World): void;
175
299
  private loadBehaviour;
@@ -195,6 +319,8 @@ declare class ScriptObjectSystem implements EcsSystem {
195
319
  private loading;
196
320
  /** Bumped by invalidate*() so in-flight loads that predate it are discarded. */
197
321
  private epoch;
322
+ /** World seen by the last update(), so invalidate*() can reset error dedupe. */
323
+ private lastWorld;
198
324
  constructor(moduleLoader?: ModuleLoader);
199
325
  update(world: World, deltaTime: number): void;
200
326
  private loadScriptObject;
@@ -208,41 +334,6 @@ declare class ScriptObjectSystem implements EcsSystem {
208
334
  dispose(world: World): void;
209
335
  }
210
336
 
211
- /**
212
- * Reconciles `AudioComponent` state with the underlying THREE.js audio objects
213
- * each frame.
214
- *
215
- * **Playback** — drives `play()`, `pause()`, and `stop()` on the THREE.js
216
- * audio node based on the `isPlaying` / `isPaused` flags set by
217
- * `AudioComponent.play()`, `.pause()`, and `.stop()`.
218
- *
219
- * **Option sync** — detects changes to `loop`, `pitch`, `volume`,
220
- * `refDistance`, `distanceModel`, and `rolloffFactor` and applies them live.
221
- * Changes take effect on the next frame, so scripts and inspector edits during
222
- * runtime are reflected without reloading the scene.
223
- *
224
- * Only active in **preview** mode (`isEditor: true` makes every update a
225
- * no-op so the editor is unaffected).
226
- *
227
- * @category Systems
228
- */
229
- declare class AudioSystem implements EcsSystem {
230
- private readonly isEditor;
231
- /** THREE.js `isPlaying` state captured at the end of the previous frame. */
232
- private readonly prevPlayingState;
233
- /** Snapshot of options applied in the previous frame, for change detection. */
234
- private readonly prevOptions;
235
- /** Tracks entities that were stopped due to invisibility. */
236
- private readonly stoppedDueToInvisibility;
237
- constructor({ isEditor }?: {
238
- isEditor?: boolean;
239
- });
240
- update(world: World, _deltaTime: number): void;
241
- /** Apply any changed options from the component to the THREE.js audio node. */
242
- private _syncOptions;
243
- dispose(_world: World): void;
244
- }
245
-
246
337
  /**
247
338
  * Reconciles `VideoComponent` state with the underlying HTML video element
248
339
  * and THREE.js mesh/material each frame.
@@ -252,8 +343,10 @@ declare class AudioSystem implements EcsSystem {
252
343
  * by `VideoComponent.play()`, `.pause()`, and `.stop()`.
253
344
  *
254
345
  * **Option sync** — detects changes to `loop`, `volume`, `width`, `height`,
255
- * and green-screen shader uniforms (`backgroundColor`, `similarity`,
256
- * `smoothness`, `spill`) and applies them live without a scene reload.
346
+ * and green-screen keying (`backgroundColor`, `similarity`, `smoothness`,
347
+ * `spill`) and applies them live without a scene reload. The keying material
348
+ * belongs to the world's render backend (GLSL on WebGL, TSL with
349
+ * `webgpuBackend`), which updates it.
257
350
  *
258
351
  * Only active in **preview** mode (`isEditor: true` makes every update a
259
352
  * no-op so the editor is unaffected).
@@ -1174,4 +1267,4 @@ declare class XRHoverVisualSystem implements EcsSystem {
1174
1267
  dispose(): void;
1175
1268
  }
1176
1269
 
1177
- export { AnimationSystem as A, type XrInputKind as B, CameraSyncSystem as C, readXrCapabilities as D, EnvironmentSyncSystem as E, InstancedMeshSystem as I, LightSyncSystem as L, MaterialSyncSystem as M, NO_XR_CAPABILITIES as N, ObjectVisibilitySystem as O, PhysicsSyncSystem as P, SCRIPT_OBJECT_ROOT_FLAG as S, UIInteractionSystem as U, VRTeleportAreaSystem as V, type XrCapabilities as X, type XrInputState as a, type XrHandPoseEventDetail as b, AudioSystem as c, MeshGeometrySystem as d, type ModuleLoader as e, PostprocessingSyncSystem as f, ScriptBehaviourSystem as g, ScriptObjectSystem as h, type SelectionContext as i, UIPanelSystem as j, type UiCanvasLike as k, VideoSystem as l, XRAnchorSystem as m, XRControllerVisualSystem as n, XREnvironmentSystem as o, XRHandPoseSystem as p, XRHitTestSystem as q, XRHoverVisualSystem as r, XRInputSystem as s, XRInteractionSystem as t, XRLocomotionSystem as u, XRSessionSystem as v, XRTeleportVisualSystem as w, XR_HOVER_SHELL_FLAG as x, type XrHandedness as y, type XrHitResult as z };
1270
+ export { AnimationSystem as A, type XrInputKind as B, CameraSyncSystem as C, DEFAULT_SCRIPT_ERROR_RETRY_DELAY as D, EnvironmentSyncSystem as E, readXrCapabilities as F, InstancedMeshSystem as I, LightSyncSystem as L, MaterialSyncSystem as M, NO_XR_CAPABILITIES as N, ObjectVisibilitySystem as O, PhysicsSyncSystem as P, SCRIPT_OBJECT_ROOT_FLAG as S, UIInteractionSystem as U, VRTeleportAreaSystem as V, type XrCapabilities as X, type XrInputState as a, type XrHandPoseEventDetail as b, MeshGeometrySystem as c, type ModuleLoader as d, PostprocessingSyncSystem as e, ScriptBehaviourSystem as f, type ScriptBehaviourSystemOptions as g, ScriptObjectSystem as h, type SelectionContext as i, UIPanelSystem as j, type UiCanvasLike as k, VideoSystem as l, XRAnchorSystem as m, XRControllerVisualSystem as n, XREnvironmentSystem as o, XRHandPoseSystem as p, XRHitTestSystem as q, XRHoverVisualSystem as r, XRInputSystem as s, XRInteractionSystem as t, XRLocomotionSystem as u, XRSessionSystem as v, XRTeleportVisualSystem as w, XR_HOVER_SHELL_FLAG as x, type XrHandedness as y, type XrHitResult as z };
@@ -1,4 +1,4 @@
1
- import { k as EcsSystem, l as World, I as InputSystem, r as EntityId } from './System-V_mv07le.cjs';
1
+ import { B as EcsSystem, W as World, ab as EcsRenderer, R as RenderBackend, af as InputSystem, G as EntityId } from './System-8D-XBDKZ.cjs';
2
2
  import * as THREE from 'three';
3
3
  import { m as XrHandJoints, r as XrHandShape } from './handPose-DlcTtqgx.cjs';
4
4
 
@@ -22,33 +22,135 @@ declare class ObjectVisibilitySystem implements EcsSystem {
22
22
  update(world: World): void;
23
23
  }
24
24
 
25
+ /**
26
+ * Applies the scene's {@link Environment} component to the three.js scene:
27
+ * skybox, fog, and (when `values.lighting` is present) image-based lighting,
28
+ * tone mapping and exposure.
29
+ *
30
+ * Each part is dirty-checked on its own, so animating `lighting.envIntensity`
31
+ * every frame does not rebuild the skybox texture.
32
+ *
33
+ * Runs in the editor and at runtime. While an XR session composites over the
34
+ * real world (`World.isXrPassthrough()`) the background is withheld; lighting
35
+ * and fog still apply.
36
+ *
37
+ * On WebGL the environment map is PMREM-prefiltered here. On WebGPU
38
+ * (`World.getRendererKind() === "webgpu"`) the equirect texture is assigned
39
+ * to `scene.environment` as is and the renderer prefilters it.
40
+ *
41
+ * @category Systems
42
+ */
25
43
  declare class EnvironmentSyncSystem implements EcsSystem {
26
44
  private readonly scene;
27
45
  private readonly textureLoader;
28
- private signature;
46
+ /** `true` once an Environment entity has been seen (drives the reset path). */
47
+ private hasEnvironment;
48
+ private skyboxSignature;
49
+ private fogSignature;
50
+ private lightingSignature;
29
51
  private activeTexture;
52
+ /** Load key (`url`, or `equirect|url`) of the current/pending image skybox. */
30
53
  private pendingImageUrl;
54
+ /** What the skybox wants as the background, before passthrough/env overrides. */
55
+ private skyboxBackground;
31
56
  /** Whether the skybox is currently withheld because passthrough is on. */
32
57
  private passthroughSuppressed;
58
+ private renderer;
59
+ private lighting;
60
+ /** URL of the environment map currently loaded or loading. */
61
+ private envUrl;
62
+ /** Incremented per env-map load; a load whose token is stale is discarded. */
63
+ private envLoadToken;
64
+ /** Equirect source texture of the current environment map. */
65
+ private envSource;
66
+ /**
67
+ * PMREM render target built from {@link envSource} (WebGL only; on WebGPU
68
+ * the renderer prefilters `scene.environment` itself and this stays null).
69
+ */
70
+ private envTarget;
71
+ private sceneLightingBaseline;
72
+ private sceneBackgroundBaseline;
73
+ private disposed;
33
74
  constructor(scene: THREE.Scene);
34
75
  private disposeActiveTexture;
76
+ /** Write the background the current state calls for. */
77
+ private commitBackground;
78
+ private restoreBackgroundBaseline;
79
+ private setSkyboxBackground;
35
80
  private applySkybox;
36
81
  private applyFog;
82
+ private disposeEnvResources;
83
+ /** Drop the environment map (any in-flight load is abandoned). */
84
+ private clearEnvMap;
85
+ /**
86
+ * Undo everything the lighting block wrote to the scene and renderer.
87
+ * `commit` re-applies the background afterwards (off during teardown, which
88
+ * must not touch the background).
89
+ */
90
+ private clearLighting;
91
+ /**
92
+ * PMREM-filter an equirect texture. `null` when no usable renderer exists,
93
+ * or on WebGPU: there the WebGL `PMREMGenerator` would silently produce a
94
+ * black map, while `WebGPURenderer` prefilters an equirect
95
+ * `scene.environment` (and a blurred background) by itself.
96
+ */
97
+ private buildPmrem;
98
+ private loadEnvMap;
99
+ private applyEnvironmentParams;
100
+ private applyLighting;
101
+ private resetAll;
37
102
  update(world: World): void;
38
103
  dispose(): void;
39
104
  }
40
105
 
106
+ /**
107
+ * Builds the post-processing chain from the scene's {@link Postprocessing}
108
+ * component and hands it to `RenderSystem` through `scene.userData`:
109
+ *
110
+ * - `ecsPostprocessingComposer` — the built chain (`render()`, `dispose()`,
111
+ * optional `setSize()` / `setPixelRatio()`). On WebGL it is the
112
+ * `EffectComposer` itself.
113
+ * - `ecsPostprocessingComposerActive` — `true` while `RenderSystem` should
114
+ * render through it.
115
+ * - `ecsPostprocessing` — the values the chain was built from.
116
+ *
117
+ * The chain itself comes from the world's render backend: an
118
+ * `EffectComposer` on WebGL (pass order: scene render → depth of field →
119
+ * bloom → vignette → hue/saturation → sepia → film noise → dot screen →
120
+ * SSAO → glitch → chromatic aberration → pixelation → SMAA → output), a
121
+ * `RenderPipeline` of TSL nodes with `webgpuBackend`. A backend that can
122
+ * update a chain in place (the WebGPU one) skips the rebuild when only
123
+ * parameters changed.
124
+ *
125
+ * The `toneMapping` effect has no pass of its own: when active it asks the
126
+ * renderer for tone mapping, which the chain's output step then applies. See
127
+ * `Environment.values.lighting.toneMapping` for how the two combine.
128
+ *
129
+ * @category Systems
130
+ */
41
131
  declare class PostprocessingSyncSystem implements EcsSystem {
42
132
  private readonly renderer;
43
133
  private readonly scene;
44
134
  private readonly camera;
135
+ private readonly backend;
45
136
  private signature;
137
+ /** Deep copy of the values the current chain reflects. */
138
+ private appliedValues;
46
139
  private composer;
47
140
  private composerEnabled;
48
- constructor(renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.PerspectiveCamera);
141
+ /**
142
+ * @param backend - Builds the chain. When omitted, the world's backend
143
+ * (`world.getRenderBackend()`) is used.
144
+ */
145
+ constructor(renderer: EcsRenderer, scene: THREE.Scene, camera: THREE.PerspectiveCamera, backend?: RenderBackend);
49
146
  private setComposerEnabled;
50
147
  private disposeComposer;
148
+ /** Ask the renderer for tone mapping while the effect is active. */
149
+ private applyToneMapping;
150
+ private resolveBackend;
51
151
  private buildComposer;
152
+ /** Update the existing chain in place; `false` when it must be rebuilt. */
153
+ private tryUpdateInPlace;
52
154
  update(world: World): void;
53
155
  dispose(): void;
54
156
  }
@@ -132,6 +234,20 @@ declare class InstancedMeshSystem implements EcsSystem {
132
234
  /** Resolves a script URL to its ES module namespace. */
133
235
  type ModuleLoader = (scriptUrl: string) => Promise<Record<string, unknown>>;
134
236
 
237
+ /**
238
+ * Seconds a Behaviour waits after an error (load, `init()` or `update()`)
239
+ * before it is re-initialised. Without the wait a script that throws every
240
+ * frame was torn down and rebuilt every frame.
241
+ */
242
+ declare const DEFAULT_SCRIPT_ERROR_RETRY_DELAY = 1;
243
+ /** Options for {@link ScriptBehaviourSystem}. */
244
+ type ScriptBehaviourSystemOptions = {
245
+ /**
246
+ * Seconds to wait after a script error before re-initialising the script.
247
+ * Default {@link DEFAULT_SCRIPT_ERROR_RETRY_DELAY}.
248
+ */
249
+ errorRetryDelay?: number;
250
+ };
135
251
  /**
136
252
  * Optional context that enables raycast-based onSelect / onDeselect dispatch.
137
253
  * When provided, pointer/touch taps on the canvas fire a raycast against the
@@ -148,6 +264,11 @@ declare class ScriptBehaviourSystem implements EcsSystem {
148
264
  private instances;
149
265
  private loading;
150
266
  private readonly moduleLoader;
267
+ private readonly errorRetryDelay;
268
+ /** Seconds of world time this system has seen (sum of `deltaTime`). */
269
+ private clock;
270
+ /** Instance key → clock time before which a failed script is not retried. */
271
+ private retryAt;
151
272
  private readonly selectionCtx;
152
273
  private readonly raycaster;
153
274
  private readonly ndcPointer;
@@ -155,7 +276,7 @@ declare class ScriptBehaviourSystem implements EcsSystem {
155
276
  private pendingEntityId;
156
277
  private pointerDownPos;
157
278
  private static readonly CLICK_THRESHOLD;
158
- constructor(moduleLoader?: ModuleLoader, selectionContext?: SelectionContext);
279
+ constructor(moduleLoader?: ModuleLoader, selectionContext?: SelectionContext, options?: ScriptBehaviourSystemOptions);
159
280
  /** Walk up the object hierarchy to find the nearest userData.entityId. */
160
281
  private resolveEntityId;
161
282
  /** Convert client (screen) coordinates to normalised device coordinates. */
@@ -170,6 +291,9 @@ declare class ScriptBehaviourSystem implements EcsSystem {
170
291
  * onSelect() on all behaviours of the newly selected entity.
171
292
  */
172
293
  private applySelection;
294
+ private reportRecordError;
295
+ /** Hold a failed script back for {@link errorRetryDelay} seconds. */
296
+ private scheduleRetry;
173
297
  update(world: World, deltaTime: number): void;
174
298
  dispose(world: World): void;
175
299
  private loadBehaviour;
@@ -195,6 +319,8 @@ declare class ScriptObjectSystem implements EcsSystem {
195
319
  private loading;
196
320
  /** Bumped by invalidate*() so in-flight loads that predate it are discarded. */
197
321
  private epoch;
322
+ /** World seen by the last update(), so invalidate*() can reset error dedupe. */
323
+ private lastWorld;
198
324
  constructor(moduleLoader?: ModuleLoader);
199
325
  update(world: World, deltaTime: number): void;
200
326
  private loadScriptObject;
@@ -208,41 +334,6 @@ declare class ScriptObjectSystem implements EcsSystem {
208
334
  dispose(world: World): void;
209
335
  }
210
336
 
211
- /**
212
- * Reconciles `AudioComponent` state with the underlying THREE.js audio objects
213
- * each frame.
214
- *
215
- * **Playback** — drives `play()`, `pause()`, and `stop()` on the THREE.js
216
- * audio node based on the `isPlaying` / `isPaused` flags set by
217
- * `AudioComponent.play()`, `.pause()`, and `.stop()`.
218
- *
219
- * **Option sync** — detects changes to `loop`, `pitch`, `volume`,
220
- * `refDistance`, `distanceModel`, and `rolloffFactor` and applies them live.
221
- * Changes take effect on the next frame, so scripts and inspector edits during
222
- * runtime are reflected without reloading the scene.
223
- *
224
- * Only active in **preview** mode (`isEditor: true` makes every update a
225
- * no-op so the editor is unaffected).
226
- *
227
- * @category Systems
228
- */
229
- declare class AudioSystem implements EcsSystem {
230
- private readonly isEditor;
231
- /** THREE.js `isPlaying` state captured at the end of the previous frame. */
232
- private readonly prevPlayingState;
233
- /** Snapshot of options applied in the previous frame, for change detection. */
234
- private readonly prevOptions;
235
- /** Tracks entities that were stopped due to invisibility. */
236
- private readonly stoppedDueToInvisibility;
237
- constructor({ isEditor }?: {
238
- isEditor?: boolean;
239
- });
240
- update(world: World, _deltaTime: number): void;
241
- /** Apply any changed options from the component to the THREE.js audio node. */
242
- private _syncOptions;
243
- dispose(_world: World): void;
244
- }
245
-
246
337
  /**
247
338
  * Reconciles `VideoComponent` state with the underlying HTML video element
248
339
  * and THREE.js mesh/material each frame.
@@ -252,8 +343,10 @@ declare class AudioSystem implements EcsSystem {
252
343
  * by `VideoComponent.play()`, `.pause()`, and `.stop()`.
253
344
  *
254
345
  * **Option sync** — detects changes to `loop`, `volume`, `width`, `height`,
255
- * and green-screen shader uniforms (`backgroundColor`, `similarity`,
256
- * `smoothness`, `spill`) and applies them live without a scene reload.
346
+ * and green-screen keying (`backgroundColor`, `similarity`, `smoothness`,
347
+ * `spill`) and applies them live without a scene reload. The keying material
348
+ * belongs to the world's render backend (GLSL on WebGL, TSL with
349
+ * `webgpuBackend`), which updates it.
257
350
  *
258
351
  * Only active in **preview** mode (`isEditor: true` makes every update a
259
352
  * no-op so the editor is unaffected).
@@ -1174,4 +1267,4 @@ declare class XRHoverVisualSystem implements EcsSystem {
1174
1267
  dispose(): void;
1175
1268
  }
1176
1269
 
1177
- export { AnimationSystem as A, type XrInputKind as B, CameraSyncSystem as C, readXrCapabilities as D, EnvironmentSyncSystem as E, InstancedMeshSystem as I, LightSyncSystem as L, MaterialSyncSystem as M, NO_XR_CAPABILITIES as N, ObjectVisibilitySystem as O, PhysicsSyncSystem as P, SCRIPT_OBJECT_ROOT_FLAG as S, UIInteractionSystem as U, VRTeleportAreaSystem as V, type XrCapabilities as X, type XrInputState as a, type XrHandPoseEventDetail as b, AudioSystem as c, MeshGeometrySystem as d, type ModuleLoader as e, PostprocessingSyncSystem as f, ScriptBehaviourSystem as g, ScriptObjectSystem as h, type SelectionContext as i, UIPanelSystem as j, type UiCanvasLike as k, VideoSystem as l, XRAnchorSystem as m, XRControllerVisualSystem as n, XREnvironmentSystem as o, XRHandPoseSystem as p, XRHitTestSystem as q, XRHoverVisualSystem as r, XRInputSystem as s, XRInteractionSystem as t, XRLocomotionSystem as u, XRSessionSystem as v, XRTeleportVisualSystem as w, XR_HOVER_SHELL_FLAG as x, type XrHandedness as y, type XrHitResult as z };
1270
+ export { AnimationSystem as A, type XrInputKind as B, CameraSyncSystem as C, DEFAULT_SCRIPT_ERROR_RETRY_DELAY as D, EnvironmentSyncSystem as E, readXrCapabilities as F, InstancedMeshSystem as I, LightSyncSystem as L, MaterialSyncSystem as M, NO_XR_CAPABILITIES as N, ObjectVisibilitySystem as O, PhysicsSyncSystem as P, SCRIPT_OBJECT_ROOT_FLAG as S, UIInteractionSystem as U, VRTeleportAreaSystem as V, type XrCapabilities as X, type XrInputState as a, type XrHandPoseEventDetail as b, MeshGeometrySystem as c, type ModuleLoader as d, PostprocessingSyncSystem as e, ScriptBehaviourSystem as f, type ScriptBehaviourSystemOptions as g, ScriptObjectSystem as h, type SelectionContext as i, UIPanelSystem as j, type UiCanvasLike as k, VideoSystem as l, XRAnchorSystem as m, XRControllerVisualSystem as n, XREnvironmentSystem as o, XRHandPoseSystem as p, XRHitTestSystem as q, XRHoverVisualSystem as r, XRInputSystem as s, XRInteractionSystem as t, XRLocomotionSystem as u, XRSessionSystem as v, XRTeleportVisualSystem as w, XR_HOVER_SHELL_FLAG as x, type XrHandedness as y, type XrHitResult as z };