@relu-interactives/spatial-ecs 0.5.3 → 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
@@ -0,0 +1,227 @@
1
+ # AI Agent
2
+
3
+ The AI Agent is an intelligent assistant integrated into the editor that helps you build scenes, write scripts, troubleshoot issues, and automate workflows through natural language conversation.
4
+
5
+ ![AI Agent Panel](/images/getting-started/editor/ai-agent.png)
6
+
7
+ ## Opening the AI Agent
8
+
9
+ The agent shows right below the inspector on the right side panel.
10
+
11
+ ## What the AI Agent can do
12
+
13
+ ### Scene Creation and Modification
14
+
15
+ Ask the agent to create, modify, or organize scene content:
16
+
17
+ - **"Add a directional light pointing down at 45 degrees"**
18
+ - **"Create a row of 5 cubes spaced 2 meters apart"**
19
+ - **"Move the camera to look at the player spawn point"**
20
+ - **"Add physics to all meshes in the 'obstacles' folder"**
21
+
22
+ The agent understands spatial relationships, entity hierarchies, and component configurations, executing changes directly in your scene.
23
+
24
+ <video controls autoplay muted loop playsinline width="100%">
25
+ <source src="/images/getting-started/editor/agentic-ai.mp4" type="video/mp4">
26
+ </source>
27
+ </video>
28
+
29
+ ### Script Generation and Editing
30
+
31
+ Generate or modify `Behaviour` scripts:
32
+
33
+ - **"Write a script that makes this cube rotate continuously"**
34
+ - **"Add an onGrab handler that changes the material color"**
35
+ - **"Fix the syntax error in PlayerController.ts"**
36
+ - **"Convert this loop to use entity queries instead"**
37
+
38
+ Scripts are created in your `assets/` folder and can be attached immediately or edited further.
39
+
40
+ ### Component Configuration
41
+
42
+ Get help configuring components on selected entities:
43
+
44
+ - **"Set up this model with a dynamic rigidbody"**
45
+ - **"Configure this light as a warm spotlight with shadows"**
46
+ - **"Make this object grabbable in VR with two-hand support"**
47
+
48
+ The agent reads the current selection and applies settings contextually.
49
+
50
+ ### Workflow Automation
51
+
52
+ Automate repetitive tasks:
53
+
54
+ - **"Batch rename all entities starting with 'Prop_' to remove the prefix"**
55
+ - **"Export all animation clips as separate files"**
56
+ - **"Find all entities with missing material assignments"**
57
+ - **"Create a prefab from each top-level entity in the hierarchy"**
58
+
59
+ ### Learning and Documentation
60
+
61
+ Ask questions about the editor, components, or scripting APIs:
62
+
63
+ - **"How do I make an object teleportable in VR?"**
64
+ - **"What's the difference between physical and distance grab?"**
65
+ - **"Show me examples of hand pose detection"**
66
+ - **"Explain the XR Rig tracking origin options"**
67
+
68
+ The agent references the official documentation and provides examples.
69
+
70
+ ## Using the AI Agent
71
+
72
+ ### Chat Interface
73
+
74
+ The agent uses a conversation-based interface:
75
+
76
+ 1. **Type your request** in the input box at the bottom
77
+ 2. **Press Enter or click Send** to submit
78
+ 3. **Review the agent's response** - it may show code, apply changes, or ask clarifying questions
79
+ 4. **Confirm or refine** - approve proposed changes or provide additional context
80
+
81
+ ### Contextual Awareness
82
+
83
+ The agent is aware of:
84
+
85
+ - **Current selection** in the hierarchy or viewport
86
+ - **Project type** (3D, VR, Image Tracking, etc.)
87
+ - **Open files** and active scripts
88
+ - **Recent actions** and undo history
89
+ - **Available assets** in your project folder
90
+
91
+ Refer to entities by name or say "this entity" / "the selected object" when you have something selected.
92
+
93
+ ### Approval and Safety
94
+
95
+ For actions that modify your scene or scripts, the agent:
96
+
97
+ - **Shows a preview** of what will change
98
+ - **Asks for confirmation** before applying destructive operations
99
+ - **Works with undo/redo** - you can revert agent actions
100
+ - **Validates** generated code before creating files
101
+
102
+ Turn on **Auto-approve safe actions** in settings to skip confirmations for simple tasks like renaming or adding entities.
103
+
104
+ ## Example Workflows
105
+
106
+ ### Building a VR Interaction
107
+
108
+ ```
109
+ You: "Make this object grabbable with both hands"
110
+ Agent: Adds XR Interactable component, sets hands to "two",
111
+ and configures attach points. "Done! Users can now grab
112
+ with both hands. Want me to add throw physics?"
113
+
114
+ You: "Yes, and make it teleportable"
115
+ Agent: Adds Physics component with dynamic rigidbody,
116
+ and VR Teleport Area to the floor. "Ready to test!"
117
+ ```
118
+
119
+ ### Batch Asset Processing
120
+
121
+ ```
122
+ You: "Import all FBX files from my Desktop and place them in a grid"
123
+ Agent: Copies files to assets/, spawns model entities, arranges in
124
+ 5×5 grid with 3m spacing. "Imported 12 models."
125
+ ```
126
+
127
+ ### Script Debugging
128
+
129
+ ```
130
+ You: "Why isn't my onGrab handler firing?"
131
+ Agent: Checks script, finds missing XR Interactable component.
132
+ "The entity needs an XR Interactable component with
133
+ grabbable: true. Want me to add it?"
134
+
135
+ You: "Yes"
136
+ Agent: Adds component and validates the fix.
137
+ ```
138
+
139
+ ### Learning Workflow
140
+
141
+ ```
142
+ You: "How do I set up teleport locomotion?"
143
+ Agent: Explains XR Rig locomotion modes, shows code example for
144
+ custom teleport areas, and offers to configure the current scene.
145
+ ```
146
+
147
+ ## Tips
148
+
149
+ ### Be Specific with Spatial References
150
+
151
+ - **Good:** "Move the camera 5 meters behind the player entity"
152
+ - **Unclear:** "Put the camera somewhere behind"
153
+
154
+ The agent understands coordinates, directions (up/down/left/right/forward/back), and entity names.
155
+
156
+ ### Use Selection for Context
157
+
158
+ Select the target entity before asking for modifications:
159
+ - Select a mesh → "Add a point light above this"
160
+ - Select multiple entities → "Parent these under a new empty"
161
+
162
+ ### Iterate Incrementally
163
+
164
+ For complex tasks, work step-by-step:
165
+ 1. **"Create a basic VR scene"** → agent sets up rig, lighting, and floor
166
+ 2. **"Add a grabbable cube"** → agent spawns and configures it
167
+ 3. **"Make it glow when grabbed"** → agent writes the script
168
+
169
+ ### Ask for Explanations
170
+
171
+ Prefix with "explain" or "why" to learn instead of execute:
172
+ - **"Explain how animation state machines work"**
173
+ - **"Why is my physics object falling through the floor?"**
174
+
175
+ ### Provide Examples
176
+
177
+ Show code or describe behavior:
178
+ - **"Write a script like PlayerController but for VR"**
179
+ - **"Create an animation that's similar to the idle clip but faster"**
180
+
181
+ ## Settings and Preferences
182
+
183
+ Configure the AI Agent behavior in **Editor → Preferences → AI Agent**:
184
+
185
+ - **Model selection** - choose which AI model powers the assistant
186
+ - **Auto-approve safe actions** - skip confirmations for non-destructive changes
187
+ - **Context depth** - how much project history the agent considers
188
+ - **Code style** - preferred formatting and conventions for generated scripts
189
+ - **Verbosity** - concise responses vs. detailed explanations
190
+
191
+ ## Privacy and Data
192
+
193
+ The AI Agent:
194
+
195
+ - **Does not send scene content** to external servers unless explicitly sharing for collaboration
196
+ - **Keeps conversation history locally** in your project folder
197
+ - **Can be disabled** entirely if you prefer manual workflows
198
+ - **Respects .gitignore** - won't reference or modify ignored files
199
+
200
+ Check **Help → Privacy Policy** for full details on data handling.
201
+
202
+ ## Limitations
203
+
204
+ The AI Agent is a powerful assistant but has boundaries:
205
+
206
+ - **Cannot undo destructive file operations** - deleting assets is permanent
207
+ - **May hallucinate APIs** - always verify generated code against the [Component Catalog](../../component-catalog)
208
+ - **Context window limits** - very large scenes may require breaking requests into smaller tasks
209
+ - **No runtime execution** - the agent modifies the editor, not the running preview
210
+
211
+ When in doubt, review proposed changes before confirming.
212
+
213
+ ## Keyboard Shortcuts
214
+
215
+ | Action | Shortcut |
216
+ |--------|----------|
217
+ | Open/Close AI Agent | Configurable (default: depends on OS) |
218
+ | Send message | `Enter` |
219
+ | New line in message | `Shift + Enter` |
220
+ <!-- | Clear conversation | `Cmd/Ctrl + K` |
221
+ | Regenerate last response | `Cmd/Ctrl + R` | -->
222
+
223
+ ## Related
224
+
225
+ - [Custom Behaviours](../../authoring-a-behaviour) - scripting with the agent's help
226
+ - [Component Catalog](../../component-catalog) - reference for agent-generated configurations
227
+ - [Toolbar](./toolbar) - where the AI Agent toggle lives
@@ -20,7 +20,7 @@ Each row represents one entity:
20
20
 
21
21
  ## Searching
22
22
 
23
- The search box above the tree filters rows by name. It searches the displayed name only — not component values.
23
+ The search box above the tree filters rows by name. It searches the displayed name only not component values.
24
24
 
25
25
  ## Adding entities
26
26
 
@@ -35,7 +35,7 @@ Drag a row onto another row to **re-parent** it. The dragged entity becomes a ch
35
35
  - Drop on **empty space** → re-parent to the scene root.
36
36
 
37
37
  > [!IMPORTANT]
38
- > Some entities — for example image-target anchors — control their own children. Re-parenting them across different anchor groups can change runtime behavior. See the [Component Catalog](../../component-catalog) for component-specific notes.
38
+ > Some entities, for example image-target anchors control their own children. Re-parenting them across different anchor groups can change runtime behavior. See the [Component Catalog](../../component-catalog) for component-specific notes.
39
39
 
40
40
  ## Renaming
41
41
 
@@ -7,10 +7,11 @@ The editor window is divided into a handful of regions. Each one has a dedicated
7
7
  | Region | Purpose |
8
8
  | --- | --- |
9
9
  | [Hierarchy](./hierarchy) | The scene tree. Add, select, parent, and reorder entities. |
10
- | [Toolbar](./toolbar) | Global actions — settings, transform tools, save, preview, publish. |
10
+ | [Toolbar](./toolbar) | Global actions settings, save, preview, publish. |
11
11
  | [Viewport](./viewport) | The 3D scene view. Click to select, drag gizmos to transform. |
12
12
  | [Inspector](./inspector) | Edit components on the selected entity. |
13
13
  | [Assets Browser](./assets-browser) | Files in your project's `assets/` folder. Drag into the scene to add. |
14
+ | [AI Agent](./ai-agent) | AI-powered assistant for scene creation, scripting, and workflow automation. |
14
15
  <!-- | [Modules](./modules) | Optional per-project-type module panels. | -->
15
16
 
16
- Read these in any order — most pages are short and focused on one region.
17
+ Read these in any order, most pages are short and focused on one region.
@@ -4,14 +4,14 @@ The inspector (right panel) is where you edit the **components** of whatever is
4
4
 
5
5
  ![Inspector](/images/getting-started/editor/inspector.png)
6
6
 
7
- ## Two top-level tabs
7
+ <!-- ## Two top-level tabs
8
8
 
9
9
  At the top of the inspector are two tabs:
10
10
 
11
11
  | Tab | Shows |
12
12
  | --- | --- |
13
13
  | **Object** | Components of the entity currently selected in the [hierarchy](./hierarchy). When nothing is selected, the tab is empty. |
14
- | **Scene** | Scene wide singletons like skybox, fog, gravity, postprocessing. See [Scene → Environment](../../scene/environment) and [Scene → Postprocessing](../../scene/postprocessing). |
14
+ | **Scene** | Scene wide singletons like skybox, fog, gravity, postprocessing. See [Scene → Environment](../../scene/environment) and [Scene → Postprocessing](../../scene/postprocessing). | -->
15
15
 
16
16
  ## Component panels
17
17
 
@@ -1,12 +1,12 @@
1
1
  # Scene Inspector
2
2
 
3
- The **Scene** tab in the inspector panel exposes scene wide singleton components settings that apply globally to the entire project rather than to a specific entity.
3
+ The **Scene** configs in the inspector panel exposes scene wide singleton components settings that apply globally to the entire project rather than to a specific entity.
4
4
 
5
5
  ## Opening the Scene tab
6
6
 
7
- Click the **Scene** tab at the top of the inspector (right panel). The Object tab shows the selected entity's components; the Scene tab always shows the same global settings regardless of selection.
7
+ Deselect any selected object in the scene and the **Scene** config will show in the inspector (right panel). When an Object is selected it shows the selected entity's components; the Scene config shows the global settings when no object is selected in the scene.
8
8
 
9
- ![Scene Inspector](/images/getting-started/editor/scene-inspector.gif)
9
+ ![Scene Inspector](/images/getting-started/editor/scene-inspector.png)
10
10
 
11
11
  ## Sections
12
12
 
@@ -4,34 +4,34 @@ The toolbar is the global header at the top of the editor window. It groups proj
4
4
 
5
5
  ![Toolbar with Settings, Report, transform tools, preview, save and publish.](/images/getting-started/editor/toolbar.png)
6
6
 
7
- ## Left group — project
7
+ ## Left group
8
8
 
9
9
  | Control | Action |
10
10
  | --- | --- |
11
- | ![Logo](/images/getting-started/editor/toolbar/logo.png) | Relu Spatial logo. Clicking this returns to the project dashboard. |
12
- | ![Shortcuts](/images/getting-started/editor/toolbar/shortcuts.png) | Opens the shortcuts modal (shows various keyboard shortcuts). |
13
- | ![Report](/images/getting-started/editor/toolbar/report.png) | Opens the in-app issue reporter. |
11
+ | ![Home](/images/getting-started/editor/toolbar/home.png) | Clicking this returns to the project dashboard. |
12
+ <!-- | ![Shortcuts](/images/getting-started/editor/toolbar/shortcuts.png) | Opens the shortcuts modal (shows various keyboard shortcuts). |
13
+ | ![Report](/images/getting-started/editor/toolbar/report.png) | Opens the in-app issue reporter. | -->
14
14
 
15
- ## Center group — scene & preview
15
+ ## Center group
16
16
 
17
17
  | Control | Action |
18
18
  | --- | --- |
19
- | ![Transform tools](/images/getting-started/editor/toolbar/transform-tools.png) | Active manipulation mode (move / rotate / scale). Mirrors the gizmo shown on the selected entity. |
20
19
  | ![Add object](/images/getting-started/editor/toolbar/add-object.png) | Adds a new entity to the scene (cube, sphere, plane, light, camera, etc.). |
21
- | ![Preview](/images/getting-started/editor/toolbar/preview.png) | Launches the **preview runtime** in a separate window using the current saved snapshot. |
20
+ | ![Preview](/images/getting-started/editor/toolbar/preview.png) | Launches a **preview** of your experience in a separate browser window using the current saved snapshot. |
21
+ <!-- | ![Transform tools](/images/getting-started/editor/toolbar/transform-tools.png) | Active manipulation mode (move / rotate / scale). Mirrors the gizmo shown on the selected entity. | -->
22
22
 
23
- ## Right group — history & publishing
23
+ ## Right group
24
24
 
25
25
  | Control | Action |
26
26
  | --- | --- |
27
27
  | ![Undo](/images/getting-started/editor/toolbar/undo.png) | Reverts the last scene-affecting action. Bound to `Cmd/Ctrl + Z`. |
28
28
  | ![Redo](/images/getting-started/editor/toolbar/redo.png) | Re-applies the last undone action. Bound to `Cmd/Ctrl + Shift + Z`. |
29
29
  | ![Save](/images/getting-started/editor/toolbar/save.png) | Writes the current scene to disk. Bound to `Cmd/Ctrl + S`. |
30
- | ![Publish](/images/getting-started/editor/toolbar/publish.png) | Uploads the project to Relu and makes it shareable. |
31
- | ![Help](/images/getting-started/editor/toolbar/help.png) | Opens the in-app tour and links to this documentation. |
30
+ | ![Publish](/images/getting-started/editor/toolbar/publish.png) | Uploads the project to Relu Spatial cloud and makes it shareable. |
31
+ | ![User Avatar](/images/getting-started/editor/toolbar/avatar.png) | Opens the global project settings menu. |
32
32
 
33
33
  > [!TIP]
34
- > Save and Publish are independent. You always need to **save** before previewing or publishing — preview/publish read the on-disk snapshot, not the in-memory state.
34
+ > Save and Publish are independent. You always need to **save** before previewing or publishing, preview/publish read the on-disk snapshot, not the in-memory state.
35
35
 
36
36
  ## Related
37
37
 
@@ -8,10 +8,11 @@ The viewport is the central live 3D view of your scene. You navigate the editor
8
8
 
9
9
  | Input | Action |
10
10
  | --- | --- |
11
- | **Left mouse drag** | Orbit (look around). |
12
- | **Shift + Left mouse drag** | Pan. |
11
+ | **`Alt / Option + Left mouse drag`** | Orbit (look around). |
12
+ | **`Shift + Alt / Option + Left mouse drag`** | Pan. |
13
13
  | **Mouse wheel** | Zoom in / out. |
14
14
  | **`F`** | Focus on the selected entity. |
15
+ | **`Shift + F`** | Frame and focus on the selected entity. |
15
16
 
16
17
  The bottom-left **axis gizmo** shows the current orientation of the editor camera. Click an axis to snap the view to that direction.
17
18
 
@@ -23,15 +24,22 @@ The bottom-left **axis gizmo** shows the current orientation of the editor camer
23
24
 
24
25
  ## Transform gizmos
25
26
 
26
- When an entity is selected, a gizmo appears at its origin. Switch the active mode from the [top bar](./toolbar) or with the keyboard:
27
+ When an entity is selected, a gizmo appears at its origin. Switch the active mode from the transform mode controls on the top right of the viewport or with the keyboard:
28
+
29
+ ![Transform Controls](/images/getting-started/editor/tranform-controls.gif)
27
30
 
28
31
  | Key | Mode |
29
32
  | --- | --- |
30
- | **`W`** | Move (translate) — _disabled while flying with right mouse held._ |
31
- | **`E`** | Rotate. |
32
- | **`R`** | Scale. |
33
+ | **`q`** | All transform modes |
34
+ | **`w`** | Ground mode (_moves objects on the ground plane_). |
35
+ | **`e`** | Front mode (_moves objects on the front plane_). |
36
+ | **`r`** | Side mode (_moves objects on the side plane_). |
37
+
38
+
39
+
40
+ Drag a colored arrow / ring / handle to constrain the operation to that axis. Hold **`Shift`** while dragging to enable snapping or in any of the plane mode drag an object on that plane.
33
41
 
34
- Drag a colored arrow / ring / handle to constrain the operation to that axis. Hold **`Shift`** while dragging to enable snapping.
42
+ ![Transform Gizmo](/images/getting-started/editor/transform-gizmo.gif)
35
43
 
36
44
  <!-- ## Editor-only helpers
37
45
 
@@ -39,5 +47,5 @@ Some helpers are visible only while editing — wireframe colliders, light cones
39
47
 
40
48
  ## Related
41
49
 
42
- - [Top bar](./toolbar) — transform tool buttons.
43
- - [Keyboard shortcuts](../shortcuts) — the full list.
50
+ - [Toolbar](./toolbar) - transform tool buttons.
51
+ - [Keyboard shortcuts](../shortcuts) - the full list.
@@ -1,6 +1,6 @@
1
1
  # Introduction
2
2
 
3
- **Relu Spatial** is a desktop first 3D editor and runtime for building interactive AR / VR / spatial experiences. It combines a visual scene editor with a TypeScript scripting API powered by an entity component system (ECS) runtime, so you can author scenes visually and drive them with code that runs the same way in preview and in production.
3
+ **Relu Spatial** is a desktop first 3D editor and runtime for building interactive web3d and webxr spatial experiences. It combines a visual scene editor with a TypeScript scripting API powered by an entity component system (ECS) runtime, so you can author scenes visually and drive them with code that runs the same way in preview and in production.
4
4
 
5
5
  You compose scenes from entities, meshes, lights, cameras, image targets, and custom prefabs and you bring them to life with `Behaviour` scripts that read input, query the world, and mutate components every frame.
6
6
 
@@ -6,7 +6,7 @@ The Relu Spatial editor is distributed as a desktop application for macOS, Windo
6
6
 
7
7
  Get the latest installer from the official downloads page:
8
8
 
9
- [**reluspatial.com/downloads**](https://reluspatial.com/downloads)
9
+ [**reluspatial.com/editor**](https://reluspatial.com/editor)
10
10
 
11
11
  ![Download Page Image](/images/getting-started/installation/download-page.png)
12
12
 
@@ -4,7 +4,7 @@ The editor ships with a runtime preview so you can test your scene without leavi
4
4
 
5
5
  ## Starting a preview
6
6
 
7
- Click the **Preview** button in the [toolbar](./editor/toolbar). The editor saves the current scene, spins up a local runtime server, and opens a preview window.
7
+ Click the **Preview** button in the [toolbar](./editor/toolbar). The editor spins up a local runtime server, and opens a preview window.
8
8
 
9
9
  ![Previewing scene](/images/getting-started/preview-and-test/preview.gif)
10
10
 
@@ -33,8 +33,8 @@ Preview is **not** a live link to the editor. To see changes:
33
33
 
34
34
  For project types that need real device sensors (image tracking, face tracking, AR, VR) the desktop preview only goes so far. Use these strategies:
35
35
 
36
- - **Image / face tracking:** desktop preview can use your laptop camera. For phone camera quality, publish a draft build and open it on the target device.
37
- - **WebXR (AR / VR):** publish a draft and open it on a headset or AR capable phone over your local network or via a tunnel like [ngrok](https://ngrok.com).
36
+ - **Image / Face tracking:** desktop preview can use your laptop camera. For phone camera quality, connect your phone to the same wifi network as your laptop and scan the qrcode to open it on the target device.
37
+ - **WebXR (AR / VR):** preview and open it on a headset or AR capable phone over your local network just like described for __Image / Face tracking__ projects described above.
38
38
 
39
39
  ## Common preview issues
40
40
 
@@ -49,7 +49,7 @@ For project types that need real device sensors (image tracking, face tracking,
49
49
 
50
50
  You're done with **Getting Started**. Continue with:
51
51
 
52
- - [Concepts](../concepts) — how the ECS runtime is organized.
53
- - [Custom Behaviours](../authoring-a-behaviour) — write scripts.
54
- - [Component Catalog](../component-catalog) — full component reference.
55
- - [World API](../world-api) — query and mutate the runtime from scripts.
52
+ - [Concepts](../concepts) - how the ECS runtime is organized.
53
+ - [Custom Behaviours](../authoring-a-behaviour) - write scripts.
54
+ - [Component Catalog](../component-catalog) - full component reference.
55
+ - [World API](../world-api) - query and mutate the runtime from scripts.
@@ -13,30 +13,42 @@ Use this for posters, business cards, product packaging, museum exhibits, and an
13
13
  When you open an image-tracking project, the editor changes in three ways:
14
14
 
15
15
  1. **Image targets are first-class entities** in the hierarchy. Each anchor represents one image and contains the children that should appear when that image is detected.
16
- 2. **A floating Compile Targets button** appears in the viewport overlay. It opens the **image compilation modal** which packages your image targets into a binary the runtime can load.
17
- 3. **The Image Targets panel** lives in the inspector when an image-target entity is selected. From there you upload reference images, set physical sizes, and preview tracking quality.
16
+ 2. **The Image Targets panel** a panel on the right side of the hierarchy view showing each image target and a button to compile new image targets. From there you upload reference images, set physical sizes, and preview tracking quality.
18
17
 
19
18
  ![Image Target Compile Modal](/images/getting-started/project-types/image-tracking/image-tracking-compile-modal.gif)
20
19
 
21
20
  ## Workflow
22
21
 
23
- 1. **Add an Image Target entity** from the toolbar `+` menu (or hierarchy panel). The editor creates an image-target anchor at the scene root.
24
- 2. **Select the anchor** and use the **Image Targets panel** in the inspector to upload one or more reference images. For each, set its real-world physical width.
25
- 3. **Add child entities** under the anchor. Anything you parent to it becomes visible only when that image is detected.
26
- 4. **Compile targets** — click the floating **Compile Targets** button in the viewport. The compilation modal runs through tracker quality analysis and writes the compiled binary into `bin/targets/`.
27
- 5. **Preview** — press the preview button. The runtime loads the compiled targets and starts the device camera.
22
+ 1. **Add an Image Target entity** from the image targets panel click `Add Image Targets` button.
23
+ 2. **Drag or pick tracking images** and click the compile button to compile image targets.
24
+ 3. In the **Image Targets panel** select an image target to **Add child entities** under the anchor. Anything you add in the scene when that image target is selected becomes visible only when that image is detected.
25
+ 4. **Preview** - press the preview button. The runtime loads the compiled targets and starts the device camera.
28
26
 
29
27
  ![Image Target Panel](/images/getting-started/project-types/image-tracking/image-tracking-panel.gif)
30
28
 
31
29
 
32
30
  ## Tips
33
31
 
34
- - High-contrast, feature-rich images track best. Photos of faces, gradients, and large flat colors are weak targets.
35
- - Keep the **physical size** field accurate — this is what the runtime uses to scale your 3D content to the printed image.
32
+ ### Choosing Good Image Targets
33
+
34
+ AR engines rely on distinct visual features (edges and corners) to detect and track images. **High-contrast, feature-rich images track best**, while images with the following characteristics will fail or track poorly:
35
+
36
+ | Characteristic | Why It Fails | Example |
37
+ |----------------|--------------|---------|
38
+ | **Low Contrast & Gradients** | AR engines rely on sharp changes in pixels (edges and corners) to find feature points; gradual color gradients offer no distinct tracking anchors. | A soft pastel watercolor wash or a blurry photo. |
39
+ | **Repetitive Patterns & Symmetry** | Repeating elements create identical feature points that confuse the algorithm, while strict symmetry prevents the engine from determining correct orientation. | Brick walls, checkerboards, or a symmetrical tribal logo. |
40
+ | **Excessive Blank/Empty Space** | Large flat areas or empty borders contain zero feature data, forcing the tracker to rely on a restricted surface area. | A tiny corporate logo centered in the middle of a massive blank white sheet of paper. |
41
+ | **Reflective or Glossy Finishes** | Shiny surfaces bounce ambient light and create moving glares/reflections, generating dynamic visual noise that breaks tracking. | Laminated prints under direct office lights or displaying the target on a low-luminosity phone screen. |
42
+
43
+ **In summary:** avoid faces, gradients, large flat colors, repetitive patterns, excessive white space, and glossy/reflective surfaces.
44
+
45
+ ### Other Tips
46
+
47
+ - Keep the **physical size** field accurate, this is what the runtime uses to scale your 3D content to the printed image.
36
48
  - Children of an image-target anchor inherit its transform. Position objects in **local space** relative to the anchor, not world space.
37
49
  - Recompile targets whenever you add or change reference images.
38
50
 
39
51
  ## Related
40
52
 
41
- - [Component Catalog → Image Target](../../component-catalog) — runtime component reference.
42
- - [Spawning → Image Target](../../spawning/image-target) — spawning anchors from scripts.
53
+ - [Component Catalog → Image Target](../../component-catalog) - runtime component reference.
54
+ - [Spawning → Image Target](../../spawning/image-target) - spawning anchors from scripts.
@@ -1,6 +1,6 @@
1
1
  # Project Types
2
2
 
3
- When you create a new project the editor asks for a **project type**. The type determines:
3
+ When you create a new project you need to choose a **project type**. The type determines:
4
4
 
5
5
  - the **default scene** seeded into the project,
6
6
  - which **components and panels** are available in the inspector,
@@ -16,10 +16,10 @@ You can't change a project's type after creation, so pick the one that matches t
16
16
  | [Image Tracking](./image-tracking) | AR experiences anchored to printed images, posters, or product packaging. |
17
17
  | [3D](./3d) | Plain interactive 3D scenes, games, product viewers, configurators, embedded experiences. |
18
18
  | [Face Tracking](./face-tracking) | Face filters, avatars, and try-on experiences. *(Coming Soon)* |
19
- | [VR](./vr) | Fully immersive virtual reality scenes for headsets. *(Coming Soon)* |
19
+ | [VR](./vr) | Fully immersive virtual reality scenes for headsets. |
20
20
  | [AR](./ar) | World-space augmented reality without a specific anchor. *(Coming Soon)* |
21
21
 
22
- ![Project Types.](/images/getting-started/projects-new-dialog.png)
22
+ ![Project Types.](/images/getting-started/projects-list.png)
23
23
 
24
24
  > [!TIP]
25
- > If you're not sure, start with **3D** — it has the simplest scene setup with no tracking or device requirements. You can always create a second project to try a tracking-based or immersive type.
25
+ > If you're not sure, start with **3D**, it has the simplest scene setup with no tracking or device requirements. You can always create a second project to try a tracking-based or immersive type.