@needle-tools/engine 4.13.0 → 4.13.1-beta

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 (410) hide show
  1. package/CHANGELOG.md +2 -1
  2. package/README.md +37 -0
  3. package/components.needle.json +1 -1
  4. package/custom-elements.json +138 -4
  5. package/dist/{needle-engine.bundle-CxaKFQVS.min.js → needle-engine.bundle-6774fXoY.min.js} +107 -107
  6. package/dist/{needle-engine.bundle-Dl3TFYyv.js → needle-engine.bundle-CGtsEhyJ.js} +2346 -1844
  7. package/dist/{needle-engine.bundle-J4k4znv8.umd.cjs → needle-engine.bundle-fbFZTOKP.umd.cjs} +108 -108
  8. package/dist/needle-engine.d.ts +3769 -397
  9. package/dist/needle-engine.js +2 -2
  10. package/dist/needle-engine.min.js +1 -1
  11. package/dist/needle-engine.umd.cjs +1 -1
  12. package/lib/engine/engine_context.d.ts +16 -0
  13. package/lib/engine/engine_context.js +16 -0
  14. package/lib/engine/engine_context.js.map +1 -1
  15. package/lib/engine/engine_gameobject.d.ts +72 -0
  16. package/lib/engine/engine_gameobject.js +38 -0
  17. package/lib/engine/engine_gameobject.js.map +1 -1
  18. package/lib/engine/engine_input.d.ts +80 -4
  19. package/lib/engine/engine_input.js +78 -2
  20. package/lib/engine/engine_input.js.map +1 -1
  21. package/lib/engine/engine_math.d.ts +81 -2
  22. package/lib/engine/engine_math.js +68 -2
  23. package/lib/engine/engine_math.js.map +1 -1
  24. package/lib/engine/engine_networking.d.ts +181 -14
  25. package/lib/engine/engine_networking.js +181 -14
  26. package/lib/engine/engine_networking.js.map +1 -1
  27. package/lib/engine/engine_networking_auto.d.ts +35 -8
  28. package/lib/engine/engine_networking_auto.js +35 -8
  29. package/lib/engine/engine_networking_auto.js.map +1 -1
  30. package/lib/engine/engine_physics.d.ts +35 -1
  31. package/lib/engine/engine_physics.js +35 -1
  32. package/lib/engine/engine_physics.js.map +1 -1
  33. package/lib/engine/engine_physics_rapier.d.ts +76 -0
  34. package/lib/engine/engine_physics_rapier.js +76 -0
  35. package/lib/engine/engine_physics_rapier.js.map +1 -1
  36. package/lib/engine/engine_serialization_decorator.d.ts +28 -2
  37. package/lib/engine/engine_serialization_decorator.js +28 -2
  38. package/lib/engine/engine_serialization_decorator.js.map +1 -1
  39. package/lib/engine/engine_time.d.ts +23 -3
  40. package/lib/engine/engine_time.js +23 -3
  41. package/lib/engine/engine_time.js.map +1 -1
  42. package/lib/engine/engine_util_decorator.d.ts +31 -1
  43. package/lib/engine/engine_util_decorator.js +31 -1
  44. package/lib/engine/engine_util_decorator.js.map +1 -1
  45. package/lib/engine/engine_utils.d.ts +21 -5
  46. package/lib/engine/engine_utils.js +21 -5
  47. package/lib/engine/engine_utils.js.map +1 -1
  48. package/lib/engine/extensions/NEEDLE_materialx.d.ts +2 -2
  49. package/lib/engine/extensions/NEEDLE_materialx.js +2 -2
  50. package/lib/engine/extensions/NEEDLE_materialx.js.map +1 -1
  51. package/lib/engine/extensions/index.d.ts +1 -1
  52. package/lib/engine/extensions/index.js +1 -1
  53. package/lib/engine/extensions/index.js.map +1 -1
  54. package/lib/engine-components/AlignmentConstraint.d.ts +23 -3
  55. package/lib/engine-components/AlignmentConstraint.js +23 -3
  56. package/lib/engine-components/AlignmentConstraint.js.map +1 -1
  57. package/lib/engine-components/Animation.d.ts +42 -0
  58. package/lib/engine-components/Animation.js +36 -0
  59. package/lib/engine-components/Animation.js.map +1 -1
  60. package/lib/engine-components/Animator.d.ts +37 -4
  61. package/lib/engine-components/Animator.js +37 -4
  62. package/lib/engine-components/Animator.js.map +1 -1
  63. package/lib/engine-components/AudioListener.d.ts +1 -1
  64. package/lib/engine-components/AudioListener.js +1 -1
  65. package/lib/engine-components/AudioSource.d.ts +32 -10
  66. package/lib/engine-components/AudioSource.js +32 -10
  67. package/lib/engine-components/AudioSource.js.map +1 -1
  68. package/lib/engine-components/AxesHelper.d.ts +22 -3
  69. package/lib/engine-components/AxesHelper.js +22 -3
  70. package/lib/engine-components/AxesHelper.js.map +1 -1
  71. package/lib/engine-components/BasicIKConstraint.d.ts +27 -4
  72. package/lib/engine-components/BasicIKConstraint.js +27 -4
  73. package/lib/engine-components/BasicIKConstraint.js.map +1 -1
  74. package/lib/engine-components/Camera.d.ts +32 -2
  75. package/lib/engine-components/Camera.js +32 -2
  76. package/lib/engine-components/Camera.js.map +1 -1
  77. package/lib/engine-components/CharacterController.d.ts +68 -4
  78. package/lib/engine-components/CharacterController.js +68 -4
  79. package/lib/engine-components/CharacterController.js.map +1 -1
  80. package/lib/engine-components/Collider.d.ts +69 -12
  81. package/lib/engine-components/Collider.js +69 -12
  82. package/lib/engine-components/Collider.js.map +1 -1
  83. package/lib/engine-components/ContactShadows.d.ts +26 -6
  84. package/lib/engine-components/ContactShadows.js +31 -8
  85. package/lib/engine-components/ContactShadows.js.map +1 -1
  86. package/lib/engine-components/DeleteBox.d.ts +43 -2
  87. package/lib/engine-components/DeleteBox.js +43 -2
  88. package/lib/engine-components/DeleteBox.js.map +1 -1
  89. package/lib/engine-components/DeviceFlag.d.ts +21 -2
  90. package/lib/engine-components/DeviceFlag.js +21 -2
  91. package/lib/engine-components/DeviceFlag.js.map +1 -1
  92. package/lib/engine-components/DragControls.d.ts +32 -2
  93. package/lib/engine-components/DragControls.js +32 -2
  94. package/lib/engine-components/DragControls.js.map +1 -1
  95. package/lib/engine-components/DropListener.d.ts +33 -21
  96. package/lib/engine-components/DropListener.js +33 -21
  97. package/lib/engine-components/DropListener.js.map +1 -1
  98. package/lib/engine-components/Duplicatable.d.ts +36 -5
  99. package/lib/engine-components/Duplicatable.js +36 -5
  100. package/lib/engine-components/Duplicatable.js.map +1 -1
  101. package/lib/engine-components/EventList.d.ts +38 -10
  102. package/lib/engine-components/EventList.js +38 -10
  103. package/lib/engine-components/EventList.js.map +1 -1
  104. package/lib/engine-components/EventTrigger.d.ts +1 -1
  105. package/lib/engine-components/EventTrigger.js +1 -1
  106. package/lib/engine-components/Fog.d.ts +23 -1
  107. package/lib/engine-components/Fog.js +23 -1
  108. package/lib/engine-components/Fog.js.map +1 -1
  109. package/lib/engine-components/GridHelper.d.ts +18 -2
  110. package/lib/engine-components/GridHelper.js +18 -2
  111. package/lib/engine-components/GridHelper.js.map +1 -1
  112. package/lib/engine-components/GroundProjection.d.ts +24 -2
  113. package/lib/engine-components/GroundProjection.js +24 -2
  114. package/lib/engine-components/GroundProjection.js.map +1 -1
  115. package/lib/engine-components/Interactable.d.ts +17 -2
  116. package/lib/engine-components/Interactable.js +17 -2
  117. package/lib/engine-components/Interactable.js.map +1 -1
  118. package/lib/engine-components/Joints.d.ts +50 -7
  119. package/lib/engine-components/Joints.js +50 -7
  120. package/lib/engine-components/Joints.js.map +1 -1
  121. package/lib/engine-components/LODGroup.d.ts +36 -14
  122. package/lib/engine-components/LODGroup.js +43 -11
  123. package/lib/engine-components/LODGroup.js.map +1 -1
  124. package/lib/engine-components/Light.d.ts +30 -5
  125. package/lib/engine-components/Light.js +30 -5
  126. package/lib/engine-components/Light.js.map +1 -1
  127. package/lib/engine-components/LookAtConstraint.d.ts +22 -7
  128. package/lib/engine-components/LookAtConstraint.js +22 -7
  129. package/lib/engine-components/LookAtConstraint.js.map +1 -1
  130. package/lib/engine-components/NeedleMenu.d.ts +27 -5
  131. package/lib/engine-components/NeedleMenu.js +27 -5
  132. package/lib/engine-components/NeedleMenu.js.map +1 -1
  133. package/lib/engine-components/NestedGltf.d.ts +39 -4
  134. package/lib/engine-components/NestedGltf.js +42 -4
  135. package/lib/engine-components/NestedGltf.js.map +1 -1
  136. package/lib/engine-components/OffsetConstraint.d.ts +27 -3
  137. package/lib/engine-components/OffsetConstraint.js +27 -3
  138. package/lib/engine-components/OffsetConstraint.js.map +1 -1
  139. package/lib/engine-components/OrbitControls.d.ts +41 -3
  140. package/lib/engine-components/OrbitControls.js +41 -3
  141. package/lib/engine-components/OrbitControls.js.map +1 -1
  142. package/lib/engine-components/PlayerColor.d.ts +1 -1
  143. package/lib/engine-components/PlayerColor.js +1 -1
  144. package/lib/engine-components/ReflectionProbe.d.ts +17 -2
  145. package/lib/engine-components/ReflectionProbe.js +17 -3
  146. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  147. package/lib/engine-components/Renderer.d.ts +34 -0
  148. package/lib/engine-components/Renderer.js +35 -2
  149. package/lib/engine-components/Renderer.js.map +1 -1
  150. package/lib/engine-components/SceneSwitcher.d.ts +11 -0
  151. package/lib/engine-components/SceneSwitcher.js +11 -0
  152. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  153. package/lib/engine-components/ScreenCapture.d.ts +38 -6
  154. package/lib/engine-components/ScreenCapture.js +38 -6
  155. package/lib/engine-components/ScreenCapture.js.map +1 -1
  156. package/lib/engine-components/Skybox.d.ts +1 -1
  157. package/lib/engine-components/Skybox.js +1 -1
  158. package/lib/engine-components/SmoothFollow.d.ts +66 -7
  159. package/lib/engine-components/SmoothFollow.js +66 -7
  160. package/lib/engine-components/SmoothFollow.js.map +1 -1
  161. package/lib/engine-components/SpatialTrigger.d.ts +48 -1
  162. package/lib/engine-components/SpatialTrigger.js +48 -1
  163. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  164. package/lib/engine-components/SpectatorCamera.d.ts +21 -3
  165. package/lib/engine-components/SpectatorCamera.js +21 -3
  166. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  167. package/lib/engine-components/SyncedRoom.d.ts +7 -1
  168. package/lib/engine-components/SyncedRoom.js +7 -1
  169. package/lib/engine-components/SyncedRoom.js.map +1 -1
  170. package/lib/engine-components/SyncedTransform.d.ts +55 -6
  171. package/lib/engine-components/SyncedTransform.js +55 -6
  172. package/lib/engine-components/SyncedTransform.js.map +1 -1
  173. package/lib/engine-components/TransformGizmo.d.ts +30 -3
  174. package/lib/engine-components/TransformGizmo.js +30 -3
  175. package/lib/engine-components/TransformGizmo.js.map +1 -1
  176. package/lib/engine-components/VideoPlayer.d.ts +33 -6
  177. package/lib/engine-components/VideoPlayer.js +45 -6
  178. package/lib/engine-components/VideoPlayer.js.map +1 -1
  179. package/lib/engine-components/Voip.d.ts +33 -2
  180. package/lib/engine-components/Voip.js +33 -2
  181. package/lib/engine-components/Voip.js.map +1 -1
  182. package/lib/engine-components/export/usdz/USDZExporter.d.ts +47 -13
  183. package/lib/engine-components/export/usdz/USDZExporter.js +47 -13
  184. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  185. package/lib/engine-components/particlesystem/ParticleSystem.d.ts +82 -3
  186. package/lib/engine-components/particlesystem/ParticleSystem.js +82 -3
  187. package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
  188. package/lib/engine-components/postprocessing/Effects/Antialiasing.d.ts +1 -0
  189. package/lib/engine-components/postprocessing/Effects/Antialiasing.js +1 -0
  190. package/lib/engine-components/postprocessing/Effects/Antialiasing.js.map +1 -1
  191. package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +1 -1
  192. package/lib/engine-components/postprocessing/Effects/BloomEffect.js +1 -1
  193. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +1 -1
  194. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +1 -1
  195. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +1 -1
  196. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +1 -1
  197. package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +1 -1
  198. package/lib/engine-components/postprocessing/Effects/DepthOfField.js +1 -1
  199. package/lib/engine-components/postprocessing/Effects/EffectWrapper.d.ts +1 -0
  200. package/lib/engine-components/postprocessing/Effects/EffectWrapper.js +1 -0
  201. package/lib/engine-components/postprocessing/Effects/EffectWrapper.js.map +1 -1
  202. package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +1 -1
  203. package/lib/engine-components/postprocessing/Effects/Pixelation.js +1 -1
  204. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.d.ts +1 -1
  205. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js +1 -1
  206. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +1 -1
  207. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +1 -1
  208. package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +1 -1
  209. package/lib/engine-components/postprocessing/Effects/Sharpening.js +1 -1
  210. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +1 -1
  211. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +1 -1
  212. package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +1 -1
  213. package/lib/engine-components/postprocessing/Effects/Tonemapping.js +1 -1
  214. package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +1 -1
  215. package/lib/engine-components/postprocessing/Effects/Vignette.js +1 -1
  216. package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +1 -1
  217. package/lib/engine-components/postprocessing/PostProcessingHandler.js +1 -1
  218. package/lib/engine-components/postprocessing/Volume.d.ts +1 -1
  219. package/lib/engine-components/postprocessing/Volume.js +1 -1
  220. package/lib/engine-components/splines/Spline.d.ts +409 -12
  221. package/lib/engine-components/splines/Spline.js +409 -12
  222. package/lib/engine-components/splines/Spline.js.map +1 -1
  223. package/lib/engine-components/splines/SplineUtils.d.ts +1 -0
  224. package/lib/engine-components/splines/SplineUtils.js +1 -0
  225. package/lib/engine-components/splines/SplineUtils.js.map +1 -1
  226. package/lib/engine-components/splines/SplineWalker.d.ts +3 -1
  227. package/lib/engine-components/splines/SplineWalker.js +3 -1
  228. package/lib/engine-components/splines/SplineWalker.js.map +1 -1
  229. package/lib/engine-components/timeline/PlayableDirector.d.ts +99 -14
  230. package/lib/engine-components/timeline/PlayableDirector.js +91 -25
  231. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  232. package/lib/engine-components/ui/Button.d.ts +29 -3
  233. package/lib/engine-components/ui/Button.js +29 -3
  234. package/lib/engine-components/ui/Button.js.map +1 -1
  235. package/lib/engine-components/ui/Canvas.d.ts +29 -4
  236. package/lib/engine-components/ui/Canvas.js +29 -4
  237. package/lib/engine-components/ui/Canvas.js.map +1 -1
  238. package/lib/engine-components/ui/CanvasGroup.d.ts +1 -1
  239. package/lib/engine-components/ui/CanvasGroup.js +1 -1
  240. package/lib/engine-components/ui/EventSystem.d.ts +1 -1
  241. package/lib/engine-components/ui/EventSystem.js +1 -1
  242. package/lib/engine-components/ui/Graphic.d.ts +1 -0
  243. package/lib/engine-components/ui/Graphic.js +1 -0
  244. package/lib/engine-components/ui/Graphic.js.map +1 -1
  245. package/lib/engine-components/ui/Image.d.ts +22 -3
  246. package/lib/engine-components/ui/Image.js +22 -3
  247. package/lib/engine-components/ui/Image.js.map +1 -1
  248. package/lib/engine-components/ui/InputField.d.ts +1 -1
  249. package/lib/engine-components/ui/InputField.js +1 -1
  250. package/lib/engine-components/ui/Layout.d.ts +3 -0
  251. package/lib/engine-components/ui/Layout.js +3 -0
  252. package/lib/engine-components/ui/Layout.js.map +1 -1
  253. package/lib/engine-components/ui/Outline.d.ts +1 -1
  254. package/lib/engine-components/ui/Outline.js +1 -1
  255. package/lib/engine-components/ui/PointerEvents.d.ts +1 -1
  256. package/lib/engine-components/ui/PointerEvents.js +1 -1
  257. package/lib/engine-components/ui/Raycaster.d.ts +55 -6
  258. package/lib/engine-components/ui/Raycaster.js +55 -6
  259. package/lib/engine-components/ui/Raycaster.js.map +1 -1
  260. package/lib/engine-components/ui/RectTransform.d.ts +1 -1
  261. package/lib/engine-components/ui/RectTransform.js +1 -1
  262. package/lib/engine-components/ui/SpatialHtml.d.ts +1 -1
  263. package/lib/engine-components/ui/SpatialHtml.js +1 -1
  264. package/lib/engine-components/ui/Text.d.ts +23 -1
  265. package/lib/engine-components/ui/Text.js +23 -1
  266. package/lib/engine-components/ui/Text.js.map +1 -1
  267. package/lib/engine-components/utils/LookAt.d.ts +1 -1
  268. package/lib/engine-components/utils/LookAt.js +1 -1
  269. package/lib/engine-components/utils/OpenURL.d.ts +1 -1
  270. package/lib/engine-components/utils/OpenURL.js +1 -1
  271. package/lib/engine-components/web/Clickthrough.d.ts +116 -7
  272. package/lib/engine-components/web/Clickthrough.js +116 -7
  273. package/lib/engine-components/web/Clickthrough.js.map +1 -1
  274. package/lib/engine-components/web/CursorFollow.d.ts +171 -7
  275. package/lib/engine-components/web/CursorFollow.js +171 -7
  276. package/lib/engine-components/web/CursorFollow.js.map +1 -1
  277. package/lib/engine-components/web/HoverAnimation.d.ts +140 -11
  278. package/lib/engine-components/web/HoverAnimation.js +140 -11
  279. package/lib/engine-components/web/HoverAnimation.js.map +1 -1
  280. package/lib/engine-components/web/ScrollFollow.d.ts +4 -1
  281. package/lib/engine-components/web/ScrollFollow.js +4 -1
  282. package/lib/engine-components/web/ScrollFollow.js.map +1 -1
  283. package/lib/engine-components/web/ViewBox.d.ts +116 -16
  284. package/lib/engine-components/web/ViewBox.js +110 -16
  285. package/lib/engine-components/web/ViewBox.js.map +1 -1
  286. package/lib/engine-components/webxr/TeleportTarget.d.ts +21 -2
  287. package/lib/engine-components/webxr/TeleportTarget.js +21 -2
  288. package/lib/engine-components/webxr/TeleportTarget.js.map +1 -1
  289. package/lib/engine-components/webxr/WebXR.d.ts +10 -2
  290. package/lib/engine-components/webxr/WebXR.js +10 -2
  291. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  292. package/lib/engine-components/webxr/WebXRAvatar.d.ts +39 -2
  293. package/lib/engine-components/webxr/WebXRAvatar.js +35 -3
  294. package/lib/engine-components/webxr/WebXRAvatar.js.map +1 -1
  295. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +266 -30
  296. package/lib/engine-components/webxr/WebXRImageTracking.js +266 -30
  297. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  298. package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +1 -1
  299. package/lib/engine-components/webxr/WebXRPlaneTracking.js +1 -1
  300. package/lib/engine-components/webxr/XRFlag.d.ts +29 -2
  301. package/lib/engine-components/webxr/XRFlag.js +29 -2
  302. package/lib/engine-components/webxr/XRFlag.js.map +1 -1
  303. package/package.json +1 -1
  304. package/plugins/vite/custom-element-data.js +128 -19
  305. package/src/engine/engine_context.ts +16 -0
  306. package/src/engine/engine_gameobject.ts +73 -0
  307. package/src/engine/engine_input.ts +83 -7
  308. package/src/engine/engine_math.ts +81 -2
  309. package/src/engine/engine_networking.ts +186 -17
  310. package/src/engine/engine_networking_auto.ts +36 -9
  311. package/src/engine/engine_physics.ts +37 -1
  312. package/src/engine/engine_physics_rapier.ts +77 -0
  313. package/src/engine/engine_serialization_decorator.ts +28 -2
  314. package/src/engine/engine_time.ts +23 -3
  315. package/src/engine/engine_util_decorator.ts +31 -1
  316. package/src/engine/engine_utils.ts +21 -5
  317. package/src/engine/extensions/NEEDLE_materialx.ts +5 -4
  318. package/src/engine/extensions/index.ts +2 -2
  319. package/src/engine-components/AlignmentConstraint.ts +24 -4
  320. package/src/engine-components/Animation.ts +44 -2
  321. package/src/engine-components/Animator.ts +40 -7
  322. package/src/engine-components/AudioListener.ts +1 -1
  323. package/src/engine-components/AudioSource.ts +37 -15
  324. package/src/engine-components/AxesHelper.ts +23 -4
  325. package/src/engine-components/BasicIKConstraint.ts +28 -5
  326. package/src/engine-components/Camera.ts +33 -3
  327. package/src/engine-components/CharacterController.ts +74 -7
  328. package/src/engine-components/Collider.ts +78 -21
  329. package/src/engine-components/ContactShadows.ts +36 -11
  330. package/src/engine-components/DeleteBox.ts +43 -2
  331. package/src/engine-components/DeviceFlag.ts +22 -3
  332. package/src/engine-components/DragControls.ts +32 -2
  333. package/src/engine-components/DropListener.ts +41 -29
  334. package/src/engine-components/Duplicatable.ts +37 -6
  335. package/src/engine-components/EventList.ts +41 -13
  336. package/src/engine-components/EventTrigger.ts +1 -1
  337. package/src/engine-components/Fog.ts +23 -1
  338. package/src/engine-components/GridHelper.ts +18 -2
  339. package/src/engine-components/GroundProjection.ts +25 -3
  340. package/src/engine-components/Interactable.ts +17 -2
  341. package/src/engine-components/Joints.ts +51 -8
  342. package/src/engine-components/LODGroup.ts +45 -11
  343. package/src/engine-components/Light.ts +35 -13
  344. package/src/engine-components/LookAtConstraint.ts +26 -8
  345. package/src/engine-components/NeedleMenu.ts +29 -7
  346. package/src/engine-components/NestedGltf.ts +40 -4
  347. package/src/engine-components/OffsetConstraint.ts +27 -3
  348. package/src/engine-components/OrbitControls.ts +41 -3
  349. package/src/engine-components/PlayerColor.ts +1 -1
  350. package/src/engine-components/ReflectionProbe.ts +19 -5
  351. package/src/engine-components/Renderer.ts +34 -1
  352. package/src/engine-components/SceneSwitcher.ts +11 -0
  353. package/src/engine-components/ScreenCapture.ts +41 -9
  354. package/src/engine-components/Skybox.ts +1 -1
  355. package/src/engine-components/SmoothFollow.ts +68 -7
  356. package/src/engine-components/SpatialTrigger.ts +51 -4
  357. package/src/engine-components/SpectatorCamera.ts +23 -5
  358. package/src/engine-components/SyncedRoom.ts +8 -2
  359. package/src/engine-components/SyncedTransform.ts +59 -10
  360. package/src/engine-components/TransformGizmo.ts +31 -4
  361. package/src/engine-components/VideoPlayer.ts +48 -6
  362. package/src/engine-components/Voip.ts +33 -2
  363. package/src/engine-components/export/usdz/USDZExporter.ts +47 -13
  364. package/src/engine-components/particlesystem/ParticleSystem.ts +84 -5
  365. package/src/engine-components/postprocessing/Effects/Antialiasing.ts +1 -0
  366. package/src/engine-components/postprocessing/Effects/BloomEffect.ts +1 -1
  367. package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +1 -1
  368. package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +1 -1
  369. package/src/engine-components/postprocessing/Effects/DepthOfField.ts +1 -1
  370. package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +1 -0
  371. package/src/engine-components/postprocessing/Effects/Pixelation.ts +1 -1
  372. package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.ts +1 -1
  373. package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +1 -1
  374. package/src/engine-components/postprocessing/Effects/Sharpening.ts +1 -1
  375. package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +1 -1
  376. package/src/engine-components/postprocessing/Effects/Tonemapping.ts +1 -1
  377. package/src/engine-components/postprocessing/Effects/Vignette.ts +1 -1
  378. package/src/engine-components/postprocessing/PostProcessingHandler.ts +1 -1
  379. package/src/engine-components/postprocessing/Volume.ts +1 -1
  380. package/src/engine-components/splines/Spline.ts +412 -14
  381. package/src/engine-components/splines/SplineUtils.ts +1 -0
  382. package/src/engine-components/splines/SplineWalker.ts +4 -2
  383. package/src/engine-components/timeline/PlayableDirector.ts +104 -27
  384. package/src/engine-components/ui/Button.ts +29 -3
  385. package/src/engine-components/ui/Canvas.ts +29 -4
  386. package/src/engine-components/ui/CanvasGroup.ts +2 -2
  387. package/src/engine-components/ui/EventSystem.ts +1 -1
  388. package/src/engine-components/ui/Graphic.ts +1 -0
  389. package/src/engine-components/ui/Image.ts +22 -3
  390. package/src/engine-components/ui/InputField.ts +2 -2
  391. package/src/engine-components/ui/Layout.ts +3 -0
  392. package/src/engine-components/ui/Outline.ts +1 -1
  393. package/src/engine-components/ui/PointerEvents.ts +1 -1
  394. package/src/engine-components/ui/Raycaster.ts +57 -8
  395. package/src/engine-components/ui/RectTransform.ts +2 -2
  396. package/src/engine-components/ui/SpatialHtml.ts +1 -1
  397. package/src/engine-components/ui/Text.ts +24 -2
  398. package/src/engine-components/utils/LookAt.ts +1 -1
  399. package/src/engine-components/utils/OpenURL.ts +1 -1
  400. package/src/engine-components/web/Clickthrough.ts +119 -10
  401. package/src/engine-components/web/CursorFollow.ts +174 -9
  402. package/src/engine-components/web/HoverAnimation.ts +142 -13
  403. package/src/engine-components/web/ScrollFollow.ts +4 -1
  404. package/src/engine-components/web/ViewBox.ts +118 -18
  405. package/src/engine-components/webxr/TeleportTarget.ts +23 -4
  406. package/src/engine-components/webxr/WebXR.ts +11 -3
  407. package/src/engine-components/webxr/WebXRAvatar.ts +41 -4
  408. package/src/engine-components/webxr/WebXRImageTracking.ts +282 -38
  409. package/src/engine-components/webxr/WebXRPlaneTracking.ts +1 -1
  410. package/src/engine-components/webxr/XRFlag.ts +30 -3
@@ -1 +1 @@
1
- {"version":3,"file":"ScreenCapture.js","sourceRoot":"","sources":["../../src/engine-components/ScreenCapture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScreenCapture.js","sourceRoot":"","sources":["../../src/engine-components/ScreenCapture.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ type AnyString = string & {
4
4
  _brand?: never;
5
5
  };
6
6
  /**
7
- * RemoteSkybox is a component that allows you to set the skybox or environment texture of a scene from a URL, a local file or a static skybox name.
7
+ * [RemoteSkybox](https://engine.needle.tools/docs/api/RemoteSkybox) Is a component that allows you to set the skybox or environment texture of a scene from a URL, a local file or a static skybox name.
8
8
  * It supports .hdr, .exr, .jpg, .png files.
9
9
  *
10
10
  * ### Events
@@ -109,7 +109,7 @@ ContextRegistry.registerCallback(ContextEvent.ContextCreationStart, () => {
109
109
  });
110
110
  });
111
111
  /**
112
- * RemoteSkybox is a component that allows you to set the skybox or environment texture of a scene from a URL, a local file or a static skybox name.
112
+ * [RemoteSkybox](https://engine.needle.tools/docs/api/RemoteSkybox) Is a component that allows you to set the skybox or environment texture of a scene from a URL, a local file or a static skybox name.
113
113
  * It supports .hdr, .exr, .jpg, .png files.
114
114
  *
115
115
  * ### Events
@@ -2,11 +2,54 @@ import { Object3D } from "three";
2
2
  import { Axes } from "../engine/engine_physics.types.js";
3
3
  import { Behaviour } from "./Component.js";
4
4
  /**
5
- * SmoothFollow makes the {@link Object3D} (`GameObject`) smoothly follow another target {@link Object3D}.
6
- * It can follow the target's position, rotation, or both.
7
- * @summary Smoothly follows a target object
5
+ * [SmoothFollow](https://engine.needle.tools/docs/api/SmoothFollow) makes this GameObject smoothly follow another target object's position and/or rotation.
6
+ *
7
+ * **Position Following:**
8
+ * When enabled (`followFactor > 0`), this object will move towards the target's world position.
9
+ * The object interpolates from its current position to the target's position each frame.
10
+ * Use `positionAxes` to restrict following to specific axes (e.g., only horizontal movement).
11
+ *
12
+ * **Rotation Following:**
13
+ * When enabled (`rotateFactor > 0`), this object will rotate to match the target's world rotation.
14
+ * The object smoothly interpolates from its current rotation to the target's rotation each frame.
15
+ * This makes the object face the same direction as the target, not look at it (use {@link LookAt} for that).
16
+ *
17
+ * **Smoothing:**
18
+ * Both position and rotation use time-based interpolation (lerp/slerp).
19
+ * Higher factor values = faster following (less lag), lower values = slower following (more lag).
20
+ * Set a factor to 0 to disable that type of following entirely.
21
+ *
22
+ * **Common Use Cases:**
23
+ * - Camera following a player character
24
+ * - UI elements tracking world objects
25
+ * - Delayed motion effects (ghost trails, spring arms)
26
+ * - Smoothed object attachment
27
+ *
28
+ * @example Follow a target with smooth position
29
+ * ```ts
30
+ * const follower = myObject.addComponent(SmoothFollow);
31
+ * follower.target = playerObject;
32
+ * follower.followFactor = 5; // Higher = faster following
33
+ * follower.rotateFactor = 0; // Don't follow rotation
34
+ * ```
35
+ *
36
+ * @example Follow only on horizontal plane
37
+ * ```ts
38
+ * follower.positionAxes = Axes.X | Axes.Z; // Follow X and Z only (no vertical)
39
+ * ```
40
+ *
41
+ * @example Follow both position and rotation
42
+ * ```ts
43
+ * follower.target = targetObject;
44
+ * follower.followFactor = 3; // Smooth position following
45
+ * follower.rotateFactor = 2; // Smooth rotation following
46
+ * ```
47
+ *
48
+ * @summary Smoothly follows a target object's position and/or rotation
8
49
  * @category Interactivity
9
50
  * @group Components
51
+ * @see {@link LookAtConstraint} for making an object look at a target (different from rotation following)
52
+ * @see {@link Mathf} for the interpolation used
10
53
  */
11
54
  export declare class SmoothFollow extends Behaviour {
12
55
  /**
@@ -14,16 +57,28 @@ export declare class SmoothFollow extends Behaviour {
14
57
  */
15
58
  target: Object3D | null;
16
59
  /**
17
- * The factor to smoothly follow the target's position.
18
- * The value is clamped between 0 and 1. If 0, the GameObject will not follow the target's position.
60
+ * Speed factor for position following.
61
+ * Controls how quickly this object moves to match the target's position.
62
+ * Higher values = faster/tighter following (less lag), lower = slower/looser (more lag).
63
+ * Set to 0 to disable position following entirely.
64
+ * @default 0.1
19
65
  */
20
66
  followFactor: number;
21
67
  /**
22
- * The factor to smoothly follow the target's rotation.
23
- * The value is clamped between 0 and 1. If 0, the GameObject will not follow the target's rotation.
68
+ * Speed factor for rotation following.
69
+ * Controls how quickly this object rotates to match the target's rotation.
70
+ * Higher values = faster/tighter following (less lag), lower = slower/looser (more lag).
71
+ * Set to 0 to disable rotation following entirely.
72
+ * @default 0.1
24
73
  */
25
74
  rotateFactor: number;
75
+ /**
76
+ * Which position axes to follow. Use bitwise OR to combine:
77
+ * `Axes.X | Axes.Y` follows only X and Y axes.
78
+ * @default Axes.All
79
+ */
26
80
  positionAxes: Axes;
81
+ /** When true, rotates 180° around Y axis (useful for mirrored setups) */
27
82
  flipForward: boolean;
28
83
  private static _invertForward;
29
84
  private _firstUpdate;
@@ -31,5 +86,9 @@ export declare class SmoothFollow extends Behaviour {
31
86
  * Update the position and rotation of the GameObject to follow the target.
32
87
  */
33
88
  onBeforeRender(): void;
89
+ /**
90
+ * Manually update the position/rotation to follow the target.
91
+ * @param hard If true, snaps instantly to target without smoothing
92
+ */
34
93
  updateNow(hard: boolean): void;
35
94
  }
@@ -11,11 +11,54 @@ import { serializable } from "../engine/engine_serialization_decorator.js";
11
11
  import { getWorldPosition, getWorldQuaternion } from "../engine/engine_three_utils.js";
12
12
  import { Behaviour } from "./Component.js";
13
13
  /**
14
- * SmoothFollow makes the {@link Object3D} (`GameObject`) smoothly follow another target {@link Object3D}.
15
- * It can follow the target's position, rotation, or both.
16
- * @summary Smoothly follows a target object
14
+ * [SmoothFollow](https://engine.needle.tools/docs/api/SmoothFollow) makes this GameObject smoothly follow another target object's position and/or rotation.
15
+ *
16
+ * **Position Following:**
17
+ * When enabled (`followFactor > 0`), this object will move towards the target's world position.
18
+ * The object interpolates from its current position to the target's position each frame.
19
+ * Use `positionAxes` to restrict following to specific axes (e.g., only horizontal movement).
20
+ *
21
+ * **Rotation Following:**
22
+ * When enabled (`rotateFactor > 0`), this object will rotate to match the target's world rotation.
23
+ * The object smoothly interpolates from its current rotation to the target's rotation each frame.
24
+ * This makes the object face the same direction as the target, not look at it (use {@link LookAt} for that).
25
+ *
26
+ * **Smoothing:**
27
+ * Both position and rotation use time-based interpolation (lerp/slerp).
28
+ * Higher factor values = faster following (less lag), lower values = slower following (more lag).
29
+ * Set a factor to 0 to disable that type of following entirely.
30
+ *
31
+ * **Common Use Cases:**
32
+ * - Camera following a player character
33
+ * - UI elements tracking world objects
34
+ * - Delayed motion effects (ghost trails, spring arms)
35
+ * - Smoothed object attachment
36
+ *
37
+ * @example Follow a target with smooth position
38
+ * ```ts
39
+ * const follower = myObject.addComponent(SmoothFollow);
40
+ * follower.target = playerObject;
41
+ * follower.followFactor = 5; // Higher = faster following
42
+ * follower.rotateFactor = 0; // Don't follow rotation
43
+ * ```
44
+ *
45
+ * @example Follow only on horizontal plane
46
+ * ```ts
47
+ * follower.positionAxes = Axes.X | Axes.Z; // Follow X and Z only (no vertical)
48
+ * ```
49
+ *
50
+ * @example Follow both position and rotation
51
+ * ```ts
52
+ * follower.target = targetObject;
53
+ * follower.followFactor = 3; // Smooth position following
54
+ * follower.rotateFactor = 2; // Smooth rotation following
55
+ * ```
56
+ *
57
+ * @summary Smoothly follows a target object's position and/or rotation
17
58
  * @category Interactivity
18
59
  * @group Components
60
+ * @see {@link LookAtConstraint} for making an object look at a target (different from rotation following)
61
+ * @see {@link Mathf} for the interpolation used
19
62
  */
20
63
  export class SmoothFollow extends Behaviour {
21
64
  /**
@@ -23,16 +66,28 @@ export class SmoothFollow extends Behaviour {
23
66
  */
24
67
  target = null;
25
68
  /**
26
- * The factor to smoothly follow the target's position.
27
- * The value is clamped between 0 and 1. If 0, the GameObject will not follow the target's position.
69
+ * Speed factor for position following.
70
+ * Controls how quickly this object moves to match the target's position.
71
+ * Higher values = faster/tighter following (less lag), lower = slower/looser (more lag).
72
+ * Set to 0 to disable position following entirely.
73
+ * @default 0.1
28
74
  */
29
75
  followFactor = .1;
30
76
  /**
31
- * The factor to smoothly follow the target's rotation.
32
- * The value is clamped between 0 and 1. If 0, the GameObject will not follow the target's rotation.
77
+ * Speed factor for rotation following.
78
+ * Controls how quickly this object rotates to match the target's rotation.
79
+ * Higher values = faster/tighter following (less lag), lower = slower/looser (more lag).
80
+ * Set to 0 to disable rotation following entirely.
81
+ * @default 0.1
33
82
  */
34
83
  rotateFactor = .1;
84
+ /**
85
+ * Which position axes to follow. Use bitwise OR to combine:
86
+ * `Axes.X | Axes.Y` follows only X and Y axes.
87
+ * @default Axes.All
88
+ */
35
89
  positionAxes = Axes.All;
90
+ /** When true, rotates 180° around Y axis (useful for mirrored setups) */
36
91
  flipForward = false;
37
92
  static _invertForward = new Quaternion().setFromAxisAngle(new Vector3(0, 1, 0), Math.PI);
38
93
  _firstUpdate = true;
@@ -42,6 +97,10 @@ export class SmoothFollow extends Behaviour {
42
97
  onBeforeRender() {
43
98
  this.updateNow(false);
44
99
  }
100
+ /**
101
+ * Manually update the position/rotation to follow the target.
102
+ * @param hard If true, snaps instantly to target without smoothing
103
+ */
45
104
  updateNow(hard) {
46
105
  if (!this.target || this.target === this.gameObject)
47
106
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"SmoothFollow.js","sourceRoot":"","sources":["../../src/engine-components/SmoothFollow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SmoothFollow.js","sourceRoot":"","sources":["../../src/engine-components/SmoothFollow.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,32 @@ import { EventList } from "./EventList.js";
4
4
  /**
5
5
  * Component that receives and responds to spatial events, like entering or exiting a trigger zone.
6
6
  * Used in conjunction with {@link SpatialTrigger} to create interactive spatial events.
7
+ *
8
+ * Place this on objects that should react when entering trigger zones. The receiver checks
9
+ * against all active SpatialTriggers each frame and fires events when intersections change.
10
+ *
11
+ * Events can be connected via {@link EventList} in the editor or listened to in code.
12
+ *
13
+ * @example Listen to trigger events
14
+ * ```ts
15
+ * export class DoorTrigger extends Behaviour {
16
+ * @serializable(SpatialTriggerReceiver)
17
+ * receiver?: SpatialTriggerReceiver;
18
+ *
19
+ * start() {
20
+ * this.receiver?.onEnter?.addEventListener(() => {
21
+ * console.log("Player entered door zone");
22
+ * });
23
+ * }
24
+ * }
25
+ * ```
26
+ *
7
27
  * @summary Receives spatial trigger events
8
28
  * @category Interactivity
9
29
  * @group Components
30
+ * @see {@link SpatialTrigger} for defining trigger zones
31
+ * @see {@link EventList} for event handling
32
+ * @link https://engine.needle.tools/samples/spatial-triggers/
10
33
  */
11
34
  export declare class SpatialTriggerReceiver extends Behaviour {
12
35
  /**
@@ -53,9 +76,33 @@ export declare class SpatialTriggerReceiver extends Behaviour {
53
76
  }
54
77
  /**
55
78
  * A spatial trigger component that detects objects within a box-shaped area.
56
- * Used to trigger events when objects enter, stay in, or exit the defined area
79
+ * Used to trigger events when objects enter, stay in, or exit the defined area.
80
+ *
81
+ * The trigger area is defined by the GameObject's bounding box (uses {@link BoxHelperComponent}).
82
+ * Objects with {@link SpatialTriggerReceiver} components are tested against this area.
83
+ *
84
+ * **Mask system:** Both trigger and receiver have a `triggerMask` - they only interact
85
+ * when their masks have overlapping bits set. This allows selective triggering.
86
+ *
87
+ * **Debug:** Use `?debugspatialtrigger` URL parameter to visualize trigger zones.
88
+ *
89
+ * @example Create a pickup zone
90
+ * ```ts
91
+ * // On the pickup zone object
92
+ * const trigger = pickupZone.addComponent(SpatialTrigger);
93
+ * trigger.triggerMask = 1; // Layer 1 for pickups
94
+ *
95
+ * // On the player
96
+ * const receiver = player.addComponent(SpatialTriggerReceiver);
97
+ * receiver.triggerMask = 1; // Match the pickup layer
98
+ * ```
99
+ *
100
+ * @summary Define a trigger zone that detects entering objects
57
101
  * @category Interactivity
58
102
  * @group Components
103
+ * @see {@link SpatialTriggerReceiver} for objects that respond to triggers
104
+ * @see {@link BoxHelperComponent} for the underlying box used to define the trigger area
105
+ * @link https://engine.needle.tools/samples/spatial-triggers/
59
106
  */
60
107
  export declare class SpatialTrigger extends Behaviour {
61
108
  /** Global registry of all active spatial triggers in the scene */
@@ -28,9 +28,32 @@ function testMask(mask1, mask2) {
28
28
  /**
29
29
  * Component that receives and responds to spatial events, like entering or exiting a trigger zone.
30
30
  * Used in conjunction with {@link SpatialTrigger} to create interactive spatial events.
31
+ *
32
+ * Place this on objects that should react when entering trigger zones. The receiver checks
33
+ * against all active SpatialTriggers each frame and fires events when intersections change.
34
+ *
35
+ * Events can be connected via {@link EventList} in the editor or listened to in code.
36
+ *
37
+ * @example Listen to trigger events
38
+ * ```ts
39
+ * export class DoorTrigger extends Behaviour {
40
+ * @serializable(SpatialTriggerReceiver)
41
+ * receiver?: SpatialTriggerReceiver;
42
+ *
43
+ * start() {
44
+ * this.receiver?.onEnter?.addEventListener(() => {
45
+ * console.log("Player entered door zone");
46
+ * });
47
+ * }
48
+ * }
49
+ * ```
50
+ *
31
51
  * @summary Receives spatial trigger events
32
52
  * @category Interactivity
33
53
  * @group Components
54
+ * @see {@link SpatialTrigger} for defining trigger zones
55
+ * @see {@link EventList} for event handling
56
+ * @link https://engine.needle.tools/samples/spatial-triggers/
34
57
  */
35
58
  export class SpatialTriggerReceiver extends Behaviour {
36
59
  /**
@@ -128,9 +151,33 @@ __decorate([
128
151
  ], SpatialTriggerReceiver.prototype, "onExit", void 0);
129
152
  /**
130
153
  * A spatial trigger component that detects objects within a box-shaped area.
131
- * Used to trigger events when objects enter, stay in, or exit the defined area
154
+ * Used to trigger events when objects enter, stay in, or exit the defined area.
155
+ *
156
+ * The trigger area is defined by the GameObject's bounding box (uses {@link BoxHelperComponent}).
157
+ * Objects with {@link SpatialTriggerReceiver} components are tested against this area.
158
+ *
159
+ * **Mask system:** Both trigger and receiver have a `triggerMask` - they only interact
160
+ * when their masks have overlapping bits set. This allows selective triggering.
161
+ *
162
+ * **Debug:** Use `?debugspatialtrigger` URL parameter to visualize trigger zones.
163
+ *
164
+ * @example Create a pickup zone
165
+ * ```ts
166
+ * // On the pickup zone object
167
+ * const trigger = pickupZone.addComponent(SpatialTrigger);
168
+ * trigger.triggerMask = 1; // Layer 1 for pickups
169
+ *
170
+ * // On the player
171
+ * const receiver = player.addComponent(SpatialTriggerReceiver);
172
+ * receiver.triggerMask = 1; // Match the pickup layer
173
+ * ```
174
+ *
175
+ * @summary Define a trigger zone that detects entering objects
132
176
  * @category Interactivity
133
177
  * @group Components
178
+ * @see {@link SpatialTriggerReceiver} for objects that respond to triggers
179
+ * @see {@link BoxHelperComponent} for the underlying box used to define the trigger area
180
+ * @link https://engine.needle.tools/samples/spatial-triggers/
134
181
  */
135
182
  export class SpatialTrigger extends Behaviour {
136
183
  /** Global registry of all active spatial triggers in the scene */
@@ -1 +1 @@
1
- {"version":3,"file":"SpatialTrigger.js","sourceRoot":"","sources":["../../src/engine-components/SpatialTrigger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpatialTrigger.js","sourceRoot":"","sources":["../../src/engine-components/SpatialTrigger.ts"],"names":[],"mappings":"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"}
@@ -11,14 +11,32 @@ export declare enum SpectatorMode {
11
11
  ThirdPerson = 1
12
12
  }
13
13
  /**
14
- * Provides functionality to follow and spectate other users in a networked environment.
15
- * Handles camera switching, following behavior, and network synchronization for spectator mode.
14
+ * SpectatorCamera enables following and spectating other users in networked sessions.
15
+ * Switch between first-person (see what they see) and third-person (orbit around them) views.
16
16
  *
17
- * Debug mode can be enabled with the URL parameter `?debugspectator`, which provides additional console output.
17
+ * **Keyboard controls** (when `useKeys = true`):
18
+ * - `F` - Request all users to follow the local player
19
+ * - `ESC` - Stop spectating
20
+ *
21
+ * **Spectator modes:**
22
+ * - `FirstPerson` - View from the followed player's perspective
23
+ * - `ThirdPerson` - Freely orbit around the followed player
24
+ *
25
+ * **Debug:** Use `?debugspectator` URL parameter for logging.
26
+ *
27
+ * @example Start spectating a user
28
+ * ```ts
29
+ * const spectator = camera.getComponent(SpectatorCamera);
30
+ * spectator.follow(targetUserId);
31
+ * spectator.mode = SpectatorMode.ThirdPerson;
32
+ * ```
18
33
  *
19
34
  * @summary Spectator camera for following other users
20
35
  * @category Networking
21
36
  * @group Components
37
+ * @see {@link SpectatorMode} for view options
38
+ * @see {@link SyncedRoom} for networked sessions
39
+ * @see {@link OrbitControls} for third-person orbit
22
40
  */
23
41
  export declare class SpectatorCamera extends Behaviour {
24
42
  /** Reference to the Camera component on this GameObject */
@@ -30,14 +30,32 @@ export var SpectatorMode;
30
30
  })(SpectatorMode || (SpectatorMode = {}));
31
31
  const debug = getParam("debugspectator");
32
32
  /**
33
- * Provides functionality to follow and spectate other users in a networked environment.
34
- * Handles camera switching, following behavior, and network synchronization for spectator mode.
33
+ * SpectatorCamera enables following and spectating other users in networked sessions.
34
+ * Switch between first-person (see what they see) and third-person (orbit around them) views.
35
35
  *
36
- * Debug mode can be enabled with the URL parameter `?debugspectator`, which provides additional console output.
36
+ * **Keyboard controls** (when `useKeys = true`):
37
+ * - `F` - Request all users to follow the local player
38
+ * - `ESC` - Stop spectating
39
+ *
40
+ * **Spectator modes:**
41
+ * - `FirstPerson` - View from the followed player's perspective
42
+ * - `ThirdPerson` - Freely orbit around the followed player
43
+ *
44
+ * **Debug:** Use `?debugspectator` URL parameter for logging.
45
+ *
46
+ * @example Start spectating a user
47
+ * ```ts
48
+ * const spectator = camera.getComponent(SpectatorCamera);
49
+ * spectator.follow(targetUserId);
50
+ * spectator.mode = SpectatorMode.ThirdPerson;
51
+ * ```
37
52
  *
38
53
  * @summary Spectator camera for following other users
39
54
  * @category Networking
40
55
  * @group Components
56
+ * @see {@link SpectatorMode} for view options
57
+ * @see {@link SyncedRoom} for networked sessions
58
+ * @see {@link OrbitControls} for third-person orbit
41
59
  */
42
60
  export class SpectatorCamera extends Behaviour {
43
61
  /** Reference to the Camera component on this GameObject */