@needle-tools/engine 4.12.5 → 4.13.0-next.1eca7a7

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 (322) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +38 -1
  3. package/components.needle.json +1 -1
  4. package/custom-elements.json +156 -5
  5. package/dist/{gltf-progressive-BqUnxvCx.umd.cjs → gltf-progressive-BURrJW0U.umd.cjs} +1 -1
  6. package/dist/{gltf-progressive-CSaX5HQb.min.js → gltf-progressive-DHLDFNvQ.min.js} +1 -1
  7. package/dist/{gltf-progressive-ChnIhDXx.js → gltf-progressive-eiJCrjLb.js} +3 -3
  8. package/dist/materialx-B9ddsHcF.min.js +90 -0
  9. package/dist/materialx-BF23AVE8.umd.cjs +90 -0
  10. package/dist/materialx-fkoFuRh3.js +4636 -0
  11. package/dist/{needle-engine.bundle-Cnemui9H.umd.cjs → needle-engine.bundle-BfrDWglE.umd.cjs} +124 -124
  12. package/dist/{needle-engine.bundle-B_IGIr6Z.min.js → needle-engine.bundle-Bx_Lq_3v.min.js} +131 -131
  13. package/dist/{needle-engine.bundle-Cj66livk.js → needle-engine.bundle-MQyZGnMF.js} +3754 -3374
  14. package/dist/needle-engine.d.ts +2791 -309
  15. package/dist/needle-engine.js +415 -414
  16. package/dist/needle-engine.min.js +1 -1
  17. package/dist/needle-engine.umd.cjs +1 -1
  18. package/dist/{postprocessing-12-UW7je.min.js → postprocessing-BVNrgYZK.min.js} +1 -1
  19. package/dist/{postprocessing-B3Hu0Ryi.umd.cjs → postprocessing-CI2TjWpu.umd.cjs} +1 -1
  20. package/dist/{postprocessing-R535krvT.js → postprocessing-DdM-tz1j.js} +2 -2
  21. package/dist/{three-BzxwLtUE.umd.cjs → three-BW2s1Yl-.umd.cjs} +25 -25
  22. package/dist/{three-DMvLgxja.min.js → three-I__hSXzr.min.js} +26 -26
  23. package/dist/{three-D9pcFbxc.js → three-VvRoMeIN.js} +22 -0
  24. package/dist/{three-examples-F0MJj0vr.js → three-examples-BhfOE7NG.js} +1 -1
  25. package/dist/{three-examples-CjSwCv_b.umd.cjs → three-examples-Bpfu6ke_.umd.cjs} +1 -1
  26. package/dist/{three-examples-CIv2roOA.min.js → three-examples-D8zAE_7t.min.js} +1 -1
  27. package/dist/{three-mesh-ui-BLnJQzMl.umd.cjs → three-mesh-ui-BU55xDxJ.umd.cjs} +1 -1
  28. package/dist/{three-mesh-ui-BllgajJz.min.js → three-mesh-ui-C3QbemOV.min.js} +1 -1
  29. package/dist/{three-mesh-ui-DYyiRn5Y.js → three-mesh-ui-CcMp-FQm.js} +1 -1
  30. package/dist/{vendor-BIFy-gRe.js → vendor-BiyIZ61v.js} +1 -1
  31. package/dist/{vendor-BFgQSG2m.umd.cjs → vendor-COVQl0b8.umd.cjs} +1 -1
  32. package/dist/{vendor-ChgmXMYr.min.js → vendor-DW7zqjuT.min.js} +1 -1
  33. package/lib/engine/engine_context.d.ts +16 -0
  34. package/lib/engine/engine_context.js +16 -0
  35. package/lib/engine/engine_context.js.map +1 -1
  36. package/lib/engine/engine_gameobject.d.ts +72 -0
  37. package/lib/engine/engine_gameobject.js +38 -0
  38. package/lib/engine/engine_gameobject.js.map +1 -1
  39. package/lib/engine/engine_input.d.ts +80 -4
  40. package/lib/engine/engine_input.js +78 -2
  41. package/lib/engine/engine_input.js.map +1 -1
  42. package/lib/engine/engine_loaders.js +7 -1
  43. package/lib/engine/engine_loaders.js.map +1 -1
  44. package/lib/engine/engine_math.d.ts +81 -2
  45. package/lib/engine/engine_math.js +68 -2
  46. package/lib/engine/engine_math.js.map +1 -1
  47. package/lib/engine/engine_modules.d.ts +9 -0
  48. package/lib/engine/engine_modules.js +25 -0
  49. package/lib/engine/engine_modules.js.map +1 -1
  50. package/lib/engine/engine_networking.d.ts +181 -14
  51. package/lib/engine/engine_networking.js +181 -14
  52. package/lib/engine/engine_networking.js.map +1 -1
  53. package/lib/engine/engine_networking_auto.d.ts +35 -8
  54. package/lib/engine/engine_networking_auto.js +35 -8
  55. package/lib/engine/engine_networking_auto.js.map +1 -1
  56. package/lib/engine/engine_physics.d.ts +35 -1
  57. package/lib/engine/engine_physics.js +35 -1
  58. package/lib/engine/engine_physics.js.map +1 -1
  59. package/lib/engine/engine_physics_rapier.d.ts +76 -0
  60. package/lib/engine/engine_physics_rapier.js +76 -0
  61. package/lib/engine/engine_physics_rapier.js.map +1 -1
  62. package/lib/engine/engine_serialization_decorator.d.ts +28 -2
  63. package/lib/engine/engine_serialization_decorator.js +28 -2
  64. package/lib/engine/engine_serialization_decorator.js.map +1 -1
  65. package/lib/engine/engine_time.d.ts +23 -3
  66. package/lib/engine/engine_time.js +23 -3
  67. package/lib/engine/engine_time.js.map +1 -1
  68. package/lib/engine/engine_util_decorator.d.ts +31 -1
  69. package/lib/engine/engine_util_decorator.js +31 -1
  70. package/lib/engine/engine_util_decorator.js.map +1 -1
  71. package/lib/engine/engine_utils.d.ts +21 -5
  72. package/lib/engine/engine_utils.js +21 -5
  73. package/lib/engine/engine_utils.js.map +1 -1
  74. package/lib/engine/engine_utils_format.d.ts +1 -1
  75. package/lib/engine/engine_utils_format.js +4 -1
  76. package/lib/engine/engine_utils_format.js.map +1 -1
  77. package/lib/engine/extensions/NEEDLE_materialx.d.ts +29 -0
  78. package/lib/engine/extensions/NEEDLE_materialx.js +115 -0
  79. package/lib/engine/extensions/NEEDLE_materialx.js.map +1 -0
  80. package/lib/engine/extensions/extensions.js +2 -0
  81. package/lib/engine/extensions/extensions.js.map +1 -1
  82. package/lib/engine/extensions/index.d.ts +1 -0
  83. package/lib/engine/extensions/index.js +1 -0
  84. package/lib/engine/extensions/index.js.map +1 -1
  85. package/lib/engine-components/AlignmentConstraint.d.ts +23 -3
  86. package/lib/engine-components/AlignmentConstraint.js +23 -3
  87. package/lib/engine-components/AlignmentConstraint.js.map +1 -1
  88. package/lib/engine-components/Animation.d.ts +42 -0
  89. package/lib/engine-components/Animation.js +36 -0
  90. package/lib/engine-components/Animation.js.map +1 -1
  91. package/lib/engine-components/Animator.d.ts +37 -4
  92. package/lib/engine-components/Animator.js +37 -4
  93. package/lib/engine-components/Animator.js.map +1 -1
  94. package/lib/engine-components/AudioSource.d.ts +32 -10
  95. package/lib/engine-components/AudioSource.js +32 -10
  96. package/lib/engine-components/AudioSource.js.map +1 -1
  97. package/lib/engine-components/AxesHelper.d.ts +22 -3
  98. package/lib/engine-components/AxesHelper.js +22 -3
  99. package/lib/engine-components/AxesHelper.js.map +1 -1
  100. package/lib/engine-components/BasicIKConstraint.d.ts +27 -4
  101. package/lib/engine-components/BasicIKConstraint.js +27 -4
  102. package/lib/engine-components/BasicIKConstraint.js.map +1 -1
  103. package/lib/engine-components/Camera.d.ts +31 -1
  104. package/lib/engine-components/Camera.js +31 -1
  105. package/lib/engine-components/Camera.js.map +1 -1
  106. package/lib/engine-components/CharacterController.d.ts +67 -3
  107. package/lib/engine-components/CharacterController.js +67 -3
  108. package/lib/engine-components/CharacterController.js.map +1 -1
  109. package/lib/engine-components/Collider.d.ts +69 -12
  110. package/lib/engine-components/Collider.js +69 -12
  111. package/lib/engine-components/Collider.js.map +1 -1
  112. package/lib/engine-components/ContactShadows.d.ts +26 -6
  113. package/lib/engine-components/ContactShadows.js +46 -8
  114. package/lib/engine-components/ContactShadows.js.map +1 -1
  115. package/lib/engine-components/DeleteBox.d.ts +43 -2
  116. package/lib/engine-components/DeleteBox.js +43 -2
  117. package/lib/engine-components/DeleteBox.js.map +1 -1
  118. package/lib/engine-components/DeviceFlag.d.ts +21 -2
  119. package/lib/engine-components/DeviceFlag.js +21 -2
  120. package/lib/engine-components/DeviceFlag.js.map +1 -1
  121. package/lib/engine-components/DragControls.d.ts +32 -2
  122. package/lib/engine-components/DragControls.js +32 -2
  123. package/lib/engine-components/DragControls.js.map +1 -1
  124. package/lib/engine-components/DropListener.d.ts +33 -21
  125. package/lib/engine-components/DropListener.js +33 -21
  126. package/lib/engine-components/DropListener.js.map +1 -1
  127. package/lib/engine-components/Duplicatable.d.ts +36 -5
  128. package/lib/engine-components/Duplicatable.js +36 -5
  129. package/lib/engine-components/Duplicatable.js.map +1 -1
  130. package/lib/engine-components/EventList.d.ts +38 -10
  131. package/lib/engine-components/EventList.js +38 -10
  132. package/lib/engine-components/EventList.js.map +1 -1
  133. package/lib/engine-components/Fog.d.ts +23 -1
  134. package/lib/engine-components/Fog.js +23 -1
  135. package/lib/engine-components/Fog.js.map +1 -1
  136. package/lib/engine-components/GridHelper.d.ts +18 -2
  137. package/lib/engine-components/GridHelper.js +18 -2
  138. package/lib/engine-components/GridHelper.js.map +1 -1
  139. package/lib/engine-components/GroundProjection.d.ts +24 -2
  140. package/lib/engine-components/GroundProjection.js +24 -2
  141. package/lib/engine-components/GroundProjection.js.map +1 -1
  142. package/lib/engine-components/Interactable.d.ts +17 -2
  143. package/lib/engine-components/Interactable.js +17 -2
  144. package/lib/engine-components/Interactable.js.map +1 -1
  145. package/lib/engine-components/Joints.d.ts +50 -7
  146. package/lib/engine-components/Joints.js +50 -7
  147. package/lib/engine-components/Joints.js.map +1 -1
  148. package/lib/engine-components/LODGroup.d.ts +36 -14
  149. package/lib/engine-components/LODGroup.js +43 -11
  150. package/lib/engine-components/LODGroup.js.map +1 -1
  151. package/lib/engine-components/Light.d.ts +27 -5
  152. package/lib/engine-components/Light.js +27 -5
  153. package/lib/engine-components/Light.js.map +1 -1
  154. package/lib/engine-components/LookAtConstraint.d.ts +22 -7
  155. package/lib/engine-components/LookAtConstraint.js +22 -7
  156. package/lib/engine-components/LookAtConstraint.js.map +1 -1
  157. package/lib/engine-components/NeedleMenu.d.ts +27 -5
  158. package/lib/engine-components/NeedleMenu.js +27 -5
  159. package/lib/engine-components/NeedleMenu.js.map +1 -1
  160. package/lib/engine-components/NestedGltf.d.ts +39 -4
  161. package/lib/engine-components/NestedGltf.js +42 -4
  162. package/lib/engine-components/NestedGltf.js.map +1 -1
  163. package/lib/engine-components/OffsetConstraint.d.ts +27 -3
  164. package/lib/engine-components/OffsetConstraint.js +27 -3
  165. package/lib/engine-components/OffsetConstraint.js.map +1 -1
  166. package/lib/engine-components/OrbitControls.d.ts +41 -3
  167. package/lib/engine-components/OrbitControls.js +41 -3
  168. package/lib/engine-components/OrbitControls.js.map +1 -1
  169. package/lib/engine-components/ReflectionProbe.d.ts +17 -2
  170. package/lib/engine-components/ReflectionProbe.js +28 -10
  171. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  172. package/lib/engine-components/Renderer.d.ts +34 -0
  173. package/lib/engine-components/Renderer.js +35 -2
  174. package/lib/engine-components/Renderer.js.map +1 -1
  175. package/lib/engine-components/SceneSwitcher.d.ts +11 -0
  176. package/lib/engine-components/SceneSwitcher.js +11 -0
  177. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  178. package/lib/engine-components/ScreenCapture.d.ts +38 -6
  179. package/lib/engine-components/ScreenCapture.js +38 -6
  180. package/lib/engine-components/ScreenCapture.js.map +1 -1
  181. package/lib/engine-components/Skybox.js +1 -1
  182. package/lib/engine-components/Skybox.js.map +1 -1
  183. package/lib/engine-components/SmoothFollow.d.ts +66 -7
  184. package/lib/engine-components/SmoothFollow.js +66 -7
  185. package/lib/engine-components/SmoothFollow.js.map +1 -1
  186. package/lib/engine-components/SpatialTrigger.d.ts +48 -1
  187. package/lib/engine-components/SpatialTrigger.js +48 -1
  188. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  189. package/lib/engine-components/SpectatorCamera.d.ts +21 -3
  190. package/lib/engine-components/SpectatorCamera.js +21 -3
  191. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  192. package/lib/engine-components/SyncedRoom.d.ts +6 -0
  193. package/lib/engine-components/SyncedRoom.js +6 -0
  194. package/lib/engine-components/SyncedRoom.js.map +1 -1
  195. package/lib/engine-components/SyncedTransform.d.ts +55 -6
  196. package/lib/engine-components/SyncedTransform.js +55 -6
  197. package/lib/engine-components/SyncedTransform.js.map +1 -1
  198. package/lib/engine-components/TransformGizmo.d.ts +30 -3
  199. package/lib/engine-components/TransformGizmo.js +30 -3
  200. package/lib/engine-components/TransformGizmo.js.map +1 -1
  201. package/lib/engine-components/VideoPlayer.d.ts +33 -6
  202. package/lib/engine-components/VideoPlayer.js +45 -6
  203. package/lib/engine-components/VideoPlayer.js.map +1 -1
  204. package/lib/engine-components/Voip.d.ts +33 -2
  205. package/lib/engine-components/Voip.js +33 -2
  206. package/lib/engine-components/Voip.js.map +1 -1
  207. package/lib/engine-components/export/usdz/USDZExporter.d.ts +47 -13
  208. package/lib/engine-components/export/usdz/USDZExporter.js +47 -13
  209. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  210. package/lib/engine-components/particlesystem/ParticleSystem.d.ts +82 -3
  211. package/lib/engine-components/particlesystem/ParticleSystem.js +82 -3
  212. package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
  213. package/lib/engine-components/timeline/PlayableDirector.d.ts +99 -14
  214. package/lib/engine-components/timeline/PlayableDirector.js +91 -25
  215. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  216. package/lib/engine-components/ui/Button.d.ts +29 -3
  217. package/lib/engine-components/ui/Button.js +29 -3
  218. package/lib/engine-components/ui/Button.js.map +1 -1
  219. package/lib/engine-components/ui/Canvas.d.ts +28 -3
  220. package/lib/engine-components/ui/Canvas.js +28 -3
  221. package/lib/engine-components/ui/Canvas.js.map +1 -1
  222. package/lib/engine-components/ui/Image.d.ts +22 -3
  223. package/lib/engine-components/ui/Image.js +22 -3
  224. package/lib/engine-components/ui/Image.js.map +1 -1
  225. package/lib/engine-components/ui/Raycaster.d.ts +55 -6
  226. package/lib/engine-components/ui/Raycaster.js +55 -6
  227. package/lib/engine-components/ui/Raycaster.js.map +1 -1
  228. package/lib/engine-components/ui/Text.d.ts +23 -1
  229. package/lib/engine-components/ui/Text.js +23 -1
  230. package/lib/engine-components/ui/Text.js.map +1 -1
  231. package/lib/engine-components/webxr/TeleportTarget.d.ts +21 -2
  232. package/lib/engine-components/webxr/TeleportTarget.js +21 -2
  233. package/lib/engine-components/webxr/TeleportTarget.js.map +1 -1
  234. package/lib/engine-components/webxr/WebXR.d.ts +10 -2
  235. package/lib/engine-components/webxr/WebXR.js +10 -2
  236. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  237. package/lib/engine-components/webxr/WebXRAvatar.d.ts +39 -2
  238. package/lib/engine-components/webxr/WebXRAvatar.js +35 -3
  239. package/lib/engine-components/webxr/WebXRAvatar.js.map +1 -1
  240. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +266 -30
  241. package/lib/engine-components/webxr/WebXRImageTracking.js +266 -30
  242. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  243. package/lib/engine-components/webxr/XRFlag.d.ts +29 -2
  244. package/lib/engine-components/webxr/XRFlag.js +29 -2
  245. package/lib/engine-components/webxr/XRFlag.js.map +1 -1
  246. package/package.json +3 -2
  247. package/plugins/vite/custom-element-data.js +128 -19
  248. package/plugins/vite/dependencies.js +9 -4
  249. package/plugins/vite/index.js +0 -2
  250. package/src/engine/engine_context.ts +16 -0
  251. package/src/engine/engine_gameobject.ts +73 -0
  252. package/src/engine/engine_input.ts +83 -7
  253. package/src/engine/engine_loaders.ts +9 -2
  254. package/src/engine/engine_math.ts +81 -2
  255. package/src/engine/engine_modules.ts +24 -0
  256. package/src/engine/engine_networking.ts +187 -17
  257. package/src/engine/engine_networking_auto.ts +36 -9
  258. package/src/engine/engine_physics.ts +37 -1
  259. package/src/engine/engine_physics_rapier.ts +77 -0
  260. package/src/engine/engine_serialization_decorator.ts +28 -2
  261. package/src/engine/engine_time.ts +23 -3
  262. package/src/engine/engine_util_decorator.ts +31 -1
  263. package/src/engine/engine_utils.ts +21 -5
  264. package/src/engine/engine_utils_format.ts +6 -2
  265. package/src/engine/extensions/NEEDLE_materialx.ts +143 -0
  266. package/src/engine/extensions/extensions.ts +2 -0
  267. package/src/engine/extensions/index.ts +1 -0
  268. package/src/engine-components/AlignmentConstraint.ts +24 -4
  269. package/src/engine-components/Animation.ts +44 -2
  270. package/src/engine-components/Animator.ts +40 -7
  271. package/src/engine-components/AudioSource.ts +37 -15
  272. package/src/engine-components/AxesHelper.ts +23 -4
  273. package/src/engine-components/BasicIKConstraint.ts +28 -5
  274. package/src/engine-components/Camera.ts +33 -3
  275. package/src/engine-components/CharacterController.ts +73 -6
  276. package/src/engine-components/Collider.ts +78 -21
  277. package/src/engine-components/ContactShadows.ts +51 -11
  278. package/src/engine-components/DeleteBox.ts +43 -2
  279. package/src/engine-components/DeviceFlag.ts +22 -3
  280. package/src/engine-components/DragControls.ts +32 -2
  281. package/src/engine-components/DropListener.ts +42 -29
  282. package/src/engine-components/Duplicatable.ts +37 -6
  283. package/src/engine-components/EventList.ts +41 -13
  284. package/src/engine-components/Fog.ts +23 -1
  285. package/src/engine-components/GridHelper.ts +18 -2
  286. package/src/engine-components/GroundProjection.ts +25 -3
  287. package/src/engine-components/Interactable.ts +17 -2
  288. package/src/engine-components/Joints.ts +51 -8
  289. package/src/engine-components/LODGroup.ts +45 -11
  290. package/src/engine-components/Light.ts +30 -8
  291. package/src/engine-components/LookAtConstraint.ts +26 -8
  292. package/src/engine-components/NeedleMenu.ts +29 -7
  293. package/src/engine-components/NestedGltf.ts +40 -4
  294. package/src/engine-components/OffsetConstraint.ts +27 -3
  295. package/src/engine-components/OrbitControls.ts +41 -3
  296. package/src/engine-components/ReflectionProbe.ts +31 -13
  297. package/src/engine-components/Renderer.ts +34 -1
  298. package/src/engine-components/SceneSwitcher.ts +11 -0
  299. package/src/engine-components/ScreenCapture.ts +41 -9
  300. package/src/engine-components/Skybox.ts +1 -1
  301. package/src/engine-components/SmoothFollow.ts +69 -7
  302. package/src/engine-components/SpatialTrigger.ts +51 -4
  303. package/src/engine-components/SpectatorCamera.ts +23 -5
  304. package/src/engine-components/SyncedRoom.ts +6 -0
  305. package/src/engine-components/SyncedTransform.ts +59 -10
  306. package/src/engine-components/TransformGizmo.ts +31 -4
  307. package/src/engine-components/VideoPlayer.ts +48 -6
  308. package/src/engine-components/Voip.ts +33 -2
  309. package/src/engine-components/export/usdz/USDZExporter.ts +47 -13
  310. package/src/engine-components/particlesystem/ParticleSystem.ts +84 -5
  311. package/src/engine-components/timeline/PlayableDirector.ts +104 -27
  312. package/src/engine-components/ui/Button.ts +29 -3
  313. package/src/engine-components/ui/Canvas.ts +28 -3
  314. package/src/engine-components/ui/Image.ts +22 -3
  315. package/src/engine-components/ui/Raycaster.ts +57 -8
  316. package/src/engine-components/ui/Text.ts +24 -2
  317. package/src/engine-components/webxr/TeleportTarget.ts +23 -4
  318. package/src/engine-components/webxr/WebXR.ts +11 -3
  319. package/src/engine-components/webxr/WebXRAvatar.ts +41 -4
  320. package/src/engine-components/webxr/WebXRImageTracking.ts +282 -38
  321. package/src/engine-components/webxr/XRFlag.ts +30 -3
  322. package/plugins/vite/materialx.js +0 -32
@@ -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 */
@@ -1 +1 @@
1
- {"version":3,"file":"SpectatorCamera.js","sourceRoot":"","sources":["../../src/engine-components/SpectatorCamera.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpectatorCamera.js","sourceRoot":"","sources":["../../src/engine-components/SpectatorCamera.ts"],"names":[],"mappings":"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"}
@@ -22,9 +22,15 @@ import { Behaviour } from "./Component.js";
22
22
  * myObject.addComponent(SyncedRoom, { joinRandomRoom: true, roomPrefix: "myApp_" });
23
23
  * ```
24
24
  *
25
+ * **Debug:** Use `?debugsyncedroom` URL parameter for logging.
26
+ *
25
27
  * @summary Joins a networked room based on URL parameters or a random room
26
28
  * @category Networking
27
29
  * @group Components
30
+ * @see {@link SyncedTransform} for synchronizing object transforms
31
+ * @see {@link Voip} for voice communication in rooms
32
+ * @see {@link ScreenCapture} for screen/video sharing
33
+ * @link https://engine.needle.tools/docs/networking.html
28
34
  */
29
35
  export declare class SyncedRoom extends Behaviour {
30
36
  /**
@@ -36,9 +36,15 @@ const debug = utils.getParam("debugsyncedroom");
36
36
  * myObject.addComponent(SyncedRoom, { joinRandomRoom: true, roomPrefix: "myApp_" });
37
37
  * ```
38
38
  *
39
+ * **Debug:** Use `?debugsyncedroom` URL parameter for logging.
40
+ *
39
41
  * @summary Joins a networked room based on URL parameters or a random room
40
42
  * @category Networking
41
43
  * @group Components
44
+ * @see {@link SyncedTransform} for synchronizing object transforms
45
+ * @see {@link Voip} for voice communication in rooms
46
+ * @see {@link ScreenCapture} for screen/video sharing
47
+ * @link https://engine.needle.tools/docs/networking.html
42
48
  */
43
49
  export class SyncedRoom extends Behaviour {
44
50
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SyncedRoom.js","sourceRoot":"","sources":["../../src/engine-components/SyncedRoom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyncedRoom.js","sourceRoot":"","sources":["../../src/engine-components/SyncedRoom.ts"],"names":[],"mappings":"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"}
@@ -9,12 +9,48 @@ export declare const SyncedTransformIdentifier = "STRS";
9
9
  */
10
10
  export declare function createTransformModel(guid: string, b: Behaviour, fast?: boolean): Uint8Array;
11
11
  /**
12
- * SyncedTransform synchronizes the position and rotation of a game object over the network.
13
- * It handles ownership transfer, interpolation, and network state updates automatically.
12
+ * SyncedTransform synchronizes position and rotation of a GameObject across the network.
13
+ * When users interact with an object (e.g., via {@link DragControls}), they automatically
14
+ * take ownership and their changes are broadcast to other users.
15
+ *
16
+ * **Features:**
17
+ * - Automatic ownership transfer when interacting
18
+ * - Smooth interpolation of remote updates
19
+ * - Physics integration (can override kinematic state)
20
+ * - Fast mode for rapidly moving objects
21
+ *
22
+ * **Requirements:**
23
+ * - Active network connection via {@link SyncedRoom}
24
+ * - Objects must have unique GUIDs (set automatically in Unity/Blender export)
25
+ *
26
+ * **Ownership:**
27
+ * This component uses {@link OwnershipModel} internally to manage object ownership.
28
+ * Only the client that owns an object can send transform updates. Use `requestOwnership()`
29
+ * before modifying the transform, or check `hasOwnership()` to see if you can modify it.
30
+ *
31
+ * **Debug:** Use `?debugsync` URL parameter for logging.
32
+ *
33
+ * @example Basic networked object
34
+ * ```ts
35
+ * // Add to any object you want synced
36
+ * const sync = myObject.addComponent(SyncedTransform);
37
+ * sync.fastMode = true; // For fast-moving objects
38
+ *
39
+ * // Request ownership before modifying
40
+ * sync.requestOwnership();
41
+ * myObject.position.x += 1;
42
+ * ```
43
+ *
44
+ * - Example: https://engine.needle.tools/samples/collaborative-sandbox
14
45
  *
15
46
  * @summary Synchronizes object transform over the network with ownership management
16
47
  * @category Networking
17
48
  * @group Components
49
+ * @see {@link SyncedRoom} for room/session management
50
+ * @see {@link OwnershipModel} for ownership management details
51
+ * @see {@link DragControls} for interactive dragging with sync
52
+ * @see {@link Duplicatable} for networked object spawning
53
+ * @link https://engine.needle.tools/docs/networking.html
18
54
  */
19
55
  export declare class SyncedTransform extends Behaviour {
20
56
  /** When true, overrides physics behavior when this object is owned by the local user */
@@ -39,22 +75,35 @@ export declare class SyncedTransform extends Behaviour {
39
75
  /**
40
76
  * Requests ownership of this object on the network.
41
77
  * You need to be connected to a room for this to work.
78
+ * Call this before modifying the object's transform to ensure your changes are synchronized.
79
+ *
80
+ * @example
81
+ * ```ts
82
+ * // Request ownership before modifying
83
+ * syncedTransform.requestOwnership();
84
+ * this.gameObject.position.y += 1;
85
+ * ```
86
+ * @see {@link OwnershipModel.requestOwnership} for more details
42
87
  */
43
88
  requestOwnership(): void;
44
89
  /**
45
90
  * Free ownership of this object on the network.
46
91
  * You need to be connected to a room for this to work.
47
92
  * This will also be called automatically when the component is disabled.
93
+ * Call this when you're done modifying an object to allow other users to interact with it.
94
+ * @see {@link OwnershipModel.freeOwnership} for more details
48
95
  */
49
96
  freeOwnership(): void;
50
97
  /**
51
- * Checks if this client has ownership of the object
52
- * @returns true if this client has ownership, false if not, undefined if ownership state is unknown
98
+ * Checks if this client has ownership of the object.
99
+ * @returns `true` if this client has ownership, `false` if not, `undefined` if ownership state is unknown
100
+ * @see {@link OwnershipModel.hasOwnership} for more details
53
101
  */
54
102
  hasOwnership(): boolean | undefined;
55
103
  /**
56
- * Checks if the object is owned by any client
57
- * @returns true if the object is owned, false if not, undefined if ownership state is unknown
104
+ * Checks if the object is owned by any client (local or remote).
105
+ * @returns `true` if the object is owned, `false` if not, `undefined` if ownership state is unknown
106
+ * @see {@link OwnershipModel.isOwned} for more details
58
107
  */
59
108
  isOwned(): boolean | undefined;
60
109
  private joinedRoomCallback;
@@ -49,12 +49,48 @@ onUpdate((ctx) => {
49
49
  console.log("Sync Transform Fast Interval", FAST_INTERVAL);
50
50
  });
51
51
  /**
52
- * SyncedTransform synchronizes the position and rotation of a game object over the network.
53
- * It handles ownership transfer, interpolation, and network state updates automatically.
52
+ * SyncedTransform synchronizes position and rotation of a GameObject across the network.
53
+ * When users interact with an object (e.g., via {@link DragControls}), they automatically
54
+ * take ownership and their changes are broadcast to other users.
55
+ *
56
+ * **Features:**
57
+ * - Automatic ownership transfer when interacting
58
+ * - Smooth interpolation of remote updates
59
+ * - Physics integration (can override kinematic state)
60
+ * - Fast mode for rapidly moving objects
61
+ *
62
+ * **Requirements:**
63
+ * - Active network connection via {@link SyncedRoom}
64
+ * - Objects must have unique GUIDs (set automatically in Unity/Blender export)
65
+ *
66
+ * **Ownership:**
67
+ * This component uses {@link OwnershipModel} internally to manage object ownership.
68
+ * Only the client that owns an object can send transform updates. Use `requestOwnership()`
69
+ * before modifying the transform, or check `hasOwnership()` to see if you can modify it.
70
+ *
71
+ * **Debug:** Use `?debugsync` URL parameter for logging.
72
+ *
73
+ * @example Basic networked object
74
+ * ```ts
75
+ * // Add to any object you want synced
76
+ * const sync = myObject.addComponent(SyncedTransform);
77
+ * sync.fastMode = true; // For fast-moving objects
78
+ *
79
+ * // Request ownership before modifying
80
+ * sync.requestOwnership();
81
+ * myObject.position.x += 1;
82
+ * ```
83
+ *
84
+ * - Example: https://engine.needle.tools/samples/collaborative-sandbox
54
85
  *
55
86
  * @summary Synchronizes object transform over the network with ownership management
56
87
  * @category Networking
57
88
  * @group Components
89
+ * @see {@link SyncedRoom} for room/session management
90
+ * @see {@link OwnershipModel} for ownership management details
91
+ * @see {@link DragControls} for interactive dragging with sync
92
+ * @see {@link Duplicatable} for networked object spawning
93
+ * @link https://engine.needle.tools/docs/networking.html
58
94
  */
59
95
  export class SyncedTransform extends Behaviour {
60
96
  // public autoOwnership: boolean = true;
@@ -81,6 +117,15 @@ export class SyncedTransform extends Behaviour {
81
117
  /**
82
118
  * Requests ownership of this object on the network.
83
119
  * You need to be connected to a room for this to work.
120
+ * Call this before modifying the object's transform to ensure your changes are synchronized.
121
+ *
122
+ * @example
123
+ * ```ts
124
+ * // Request ownership before modifying
125
+ * syncedTransform.requestOwnership();
126
+ * this.gameObject.position.y += 1;
127
+ * ```
128
+ * @see {@link OwnershipModel.requestOwnership} for more details
84
129
  */
85
130
  requestOwnership() {
86
131
  if (debug)
@@ -96,20 +141,24 @@ export class SyncedTransform extends Behaviour {
96
141
  * Free ownership of this object on the network.
97
142
  * You need to be connected to a room for this to work.
98
143
  * This will also be called automatically when the component is disabled.
144
+ * Call this when you're done modifying an object to allow other users to interact with it.
145
+ * @see {@link OwnershipModel.freeOwnership} for more details
99
146
  */
100
147
  freeOwnership() {
101
148
  this._model?.freeOwnership();
102
149
  }
103
150
  /**
104
- * Checks if this client has ownership of the object
105
- * @returns true if this client has ownership, false if not, undefined if ownership state is unknown
151
+ * Checks if this client has ownership of the object.
152
+ * @returns `true` if this client has ownership, `false` if not, `undefined` if ownership state is unknown
153
+ * @see {@link OwnershipModel.hasOwnership} for more details
106
154
  */
107
155
  hasOwnership() {
108
156
  return this._model?.hasOwnership ?? undefined;
109
157
  }
110
158
  /**
111
- * Checks if the object is owned by any client
112
- * @returns true if the object is owned, false if not, undefined if ownership state is unknown
159
+ * Checks if the object is owned by any client (local or remote).
160
+ * @returns `true` if the object is owned, `false` if not, `undefined` if ownership state is unknown
161
+ * @see {@link OwnershipModel.isOwned} for more details
113
162
  */
114
163
  isOwned() {
115
164
  return this._model?.isOwned;