@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
@@ -67,16 +67,84 @@ export var OwnershipEvent;
67
67
  OwnershipEvent["GainedOwnershipBroadcast"] = "gained-ownership-broadcast";
68
68
  OwnershipEvent["LostOwnershipBroadcast"] = "lost-ownership-broadcast";
69
69
  })(OwnershipEvent || (OwnershipEvent = {}));
70
- /** Class for abstracting the concept of ownership regarding a networked object or component.
71
- * A component that is owned by another user can not be modified through networking (the server will reject changes) */
70
+ /**
71
+ * Manages ownership of networked objects or components.
72
+ *
73
+ * In multiplayer scenarios, ownership determines which client has authority to modify an object.
74
+ * The networking server rejects changes from clients that don't own an object. This prevents conflicts
75
+ * when multiple users try to manipulate the same object simultaneously.
76
+ *
77
+ * **Ownership states:**
78
+ * - `hasOwnership`: This client owns the object and can modify it
79
+ * - `isOwned`: Some client (could be local or remote) owns the object
80
+ * - `undefined`: Ownership state is unknown (not yet queried)
81
+ *
82
+ * **Typical workflow:**
83
+ * 1. Request ownership before modifying an object
84
+ * 2. Make your changes while you have ownership
85
+ * 3. Free ownership when done (or keep it if still interacting)
86
+ *
87
+ * @example Basic usage
88
+ * ```ts
89
+ * export class MyComponent extends Behaviour {
90
+ * private ownership?: OwnershipModel;
91
+ *
92
+ * awake() {
93
+ * this.ownership = new OwnershipModel(this.context.connection, this.guid);
94
+ * }
95
+ *
96
+ * onClick() {
97
+ * // Request ownership before modifying the object
98
+ * this.ownership.requestOwnership();
99
+ * }
100
+ *
101
+ * update() {
102
+ * if (this.ownership.hasOwnership) {
103
+ * // Safe to modify and sync the object
104
+ * this.gameObject.position.y += 0.01;
105
+ * }
106
+ * }
107
+ *
108
+ * onDisable() {
109
+ * // Release ownership when done
110
+ * this.ownership.freeOwnership();
111
+ * this.ownership.destroy();
112
+ * }
113
+ * }
114
+ * ```
115
+ *
116
+ * @example Async ownership
117
+ * ```ts
118
+ * async modifyObject() {
119
+ * try {
120
+ * await this.ownership.requestOwnershipAsync();
121
+ * // Now guaranteed to have ownership
122
+ * this.transform.position.x = 5;
123
+ * } catch(e) {
124
+ * console.log("Failed to gain ownership");
125
+ * }
126
+ * }
127
+ * ```
128
+ *
129
+ * @see {@link SyncedTransform} for a complete example of ownership in action
130
+ * @link https://engine.needle.tools/docs/networking.html
131
+ */
72
132
  export class OwnershipModel {
133
+ /** The unique identifier (GUID) of the object this ownership model manages */
73
134
  guid;
74
135
  connection;
136
+ /**
137
+ * Checks if the local client has ownership of this object.
138
+ * @returns `true` if this client owns the object and can modify it, `false` otherwise
139
+ */
75
140
  get hasOwnership() {
76
141
  return this._hasOwnership;
77
142
  }
78
143
  // TODO: server should just send id to everyone
79
- /** @returns true of anyone has ownership */
144
+ /**
145
+ * Checks if anyone (local or remote client) has ownership of this object.
146
+ * @returns `true` if someone owns the object, `false` if no one owns it, `undefined` if unknown
147
+ */
80
148
  get isOwned() {
81
149
  return this._isOwned;
82
150
  }
@@ -103,6 +171,10 @@ export class OwnershipModel {
103
171
  connection.beginListen(OwnershipEvent.ResponseHasOwner, this._hasOwnerResponse);
104
172
  }
105
173
  _isWaitingForOwnershipResponseCallback = null;
174
+ /**
175
+ * Queries the server to update the `isOwned` state.
176
+ * Call this to check if anyone currently has ownership.
177
+ */
106
178
  updateIsOwned() {
107
179
  this.connection.send(OwnershipEvent.RequestHasOwner, { guid: this.guid });
108
180
  }
@@ -111,6 +183,11 @@ export class OwnershipModel {
111
183
  this._isOwned = res.value;
112
184
  }
113
185
  }
186
+ /**
187
+ * Requests ownership only if the object is not currently owned by anyone.
188
+ * Internally checks ownership state first, then requests ownership if free.
189
+ * @returns this OwnershipModel instance for method chaining
190
+ */
114
191
  requestOwnershipIfNotOwned() {
115
192
  if (this._isWaitingForOwnershipResponseCallback !== null)
116
193
  return this;
@@ -134,6 +211,20 @@ export class OwnershipModel {
134
211
  }
135
212
  }
136
213
  }
214
+ /**
215
+ * Requests ownership and waits asynchronously until ownership is granted or timeout occurs.
216
+ * @returns Promise that resolves with this OwnershipModel when ownership is gained
217
+ * @throws Rejects with "Timeout" if ownership is not gained within ~1 second
218
+ * @example
219
+ * ```ts
220
+ * try {
221
+ * await ownership.requestOwnershipAsync();
222
+ * // Ownership granted, safe to modify object
223
+ * } catch(e) {
224
+ * console.warn("Could not gain ownership:", e);
225
+ * }
226
+ * ```
227
+ */
137
228
  requestOwnershipAsync() {
138
229
  return new Promise((resolve, reject) => {
139
230
  this.requestOwnership();
@@ -151,12 +242,22 @@ export class OwnershipModel {
151
242
  waitForOwnership();
152
243
  });
153
244
  }
245
+ /**
246
+ * Requests ownership of this object from the networking server.
247
+ * Ownership may not be granted immediately - check `hasOwnership` property or use `requestOwnershipAsync()`.
248
+ * @returns this OwnershipModel instance for method chaining
249
+ */
154
250
  requestOwnership() {
155
251
  if (debugOwner)
156
252
  console.log("Request ownership", this.guid);
157
253
  this.connection.send(OwnershipEvent.RequestOwnership, { guid: this.guid });
158
254
  return this;
159
255
  }
256
+ /**
257
+ * Releases ownership of this object, allowing others to take control.
258
+ * Call this when you're done modifying an object to allow other users to interact with it.
259
+ * @returns this OwnershipModel instance for method chaining
260
+ */
160
261
  freeOwnership() {
161
262
  // TODO: abort "requestOwnershipIfNotOwned"
162
263
  this.connection.send(OwnershipEvent.RemoveOwnership, { guid: this.guid });
@@ -166,6 +267,10 @@ export class OwnershipModel {
166
267
  }
167
268
  return this;
168
269
  }
270
+ /**
271
+ * Cleans up event listeners and resources.
272
+ * Call this when the OwnershipModel is no longer needed (e.g., in `onDestroy()`).
273
+ */
169
274
  destroy() {
170
275
  this.connection.stopListen(OwnershipEvent.GainedOwnership, this._gainSubscription);
171
276
  this.connection.stopListen(OwnershipEvent.LostOwnership, this._lostSubscription);
@@ -197,10 +302,46 @@ export class OwnershipModel {
197
302
  }
198
303
  }
199
304
  }
200
- /** Main class to communicate with the networking backend
201
- * @link https://engine.needle.tools/docs/networking.html
305
+ /**
306
+ * Main class for multiuser networking. Access via `this.context.connection` from any component.
307
+ *
308
+ * **About GUIDs:**
309
+ * In Needle Engine networking, GUIDs (Globally Unique Identifiers) are used to identify objects and components across the network.
310
+ * Every GameObject and Component has a unique `guid` property that remains consistent across all clients.
311
+ * GUIDs are automatically assigned (e.g. during export from Unity/Blender) and are essential for:
312
+ * - Object ownership management (see {@link OwnershipModel})
313
+ * - State synchronization (storing and retrieving object state)
314
+ * - Identifying which object received a network message
315
+ *
316
+ * When working with networking, you'll typically use `this.guid` to identify your component or `this.gameObject.guid` for the GameObject.
202
317
  *
203
- */
318
+ * @example Joining a room
319
+ * ```ts
320
+ * this.context.connection.connect();
321
+ * this.context.connection.joinRoom("my-room");
322
+ * ```
323
+ * @example Listening to events
324
+ * ```ts
325
+ * this.context.connection.beginListen("my-event", (data) => {
326
+ * console.log("Received:", data);
327
+ * });
328
+ * ```
329
+ * @example Sending data
330
+ * ```ts
331
+ * this.context.connection.send("my-event", { message: "Hello" });
332
+ * ```
333
+ * @example Using GUIDs for object identification
334
+ * ```ts
335
+ * // Get state for a specific object by its GUID
336
+ * const state = this.context.connection.tryGetState(this.guid);
337
+ *
338
+ * // Delete remote state for an object
339
+ * this.context.connection.sendDeleteRemoteState(this.guid);
340
+ * ```
341
+ * @see {@link RoomEvents} for room lifecycle events
342
+ * @see {@link OwnershipModel} for object ownership
343
+ * @link https://engine.needle.tools/docs/how-to-guides/networking/
344
+ */
204
345
  export class NetworkConnection {
205
346
  context;
206
347
  _peer = null;
@@ -215,7 +356,18 @@ export class NetworkConnection {
215
356
  return this._peer;
216
357
  }
217
358
  /**
218
- * Returns the state of a given guid.
359
+ * Returns the cached network state for a given GUID.
360
+ * The state is stored locally whenever network updates are received for that object.
361
+ * @param guid The unique identifier of the object whose state you want to retrieve
362
+ * @returns The cached state object, or `null` if no state exists for this GUID
363
+ * @example
364
+ * ```ts
365
+ * // Get the last known state for this component
366
+ * const myState = this.context.connection.tryGetState(this.guid);
367
+ * if (myState) {
368
+ * console.log("Found cached state:", myState);
369
+ * }
370
+ * ```
219
371
  */
220
372
  tryGetState(guid) {
221
373
  if (guid === "invalid")
@@ -233,7 +385,7 @@ export class NetworkConnection {
233
385
  return debugNet;
234
386
  }
235
387
  /**
236
- * Checks if Needle Engine networking is connected to a websocket. Note that this is **not equal** to being connected to a *room*. If you want to check if Needle Engine is connected to a networking room use the `isInRoom` property.
388
+ * Checks if Needle Engine networking is connected to a websocket. Note that this is **not equal** to being connected to a *room*. If you want to check if Needle Engine is connected to a networking room use the `{@link isInRoom}` property.
237
389
  * @returns true if connected to the websocket.
238
390
  */
239
391
  get isConnected() {
@@ -292,7 +444,7 @@ export class NetworkConnection {
292
444
  target.push(user);
293
445
  return target;
294
446
  }
295
- /** Joins a networked room. If you don't want to manage a connection yourself you can use a `SyncedRoom` component as well */
447
+ /** Joins a networked room. If you don't want to manage a connection yourself you can use a `{@link SyncedRoom}` component as well */
296
448
  joinRoom(room, viewOnly = false) {
297
449
  if (!room) {
298
450
  console.error("Missing room name, can not join: \"" + room + "\"");
@@ -340,7 +492,18 @@ export class NetworkConnection {
340
492
  // this.sendGeckosIo(key, data);
341
493
  return this.sendWithWebsocket(key, data, queue);
342
494
  }
343
- /** Use to delete state for a given guid on the server */
495
+ /**
496
+ * Deletes the network state for a specific object on the server.
497
+ * This removes the object's state from the room, preventing it from being sent to newly joining users.
498
+ * @param guid The unique identifier of the object whose state should be deleted
499
+ * @example
500
+ * ```ts
501
+ * // When destroying a networked object, clean up its server state
502
+ * onDestroy() {
503
+ * this.context.connection.sendDeleteRemoteState(this.guid);
504
+ * }
505
+ * ```
506
+ */
344
507
  sendDeleteRemoteState(guid) {
345
508
  this.send("delete-state", { guid: guid, dontSave: true });
346
509
  delete this._state[guid];
@@ -382,7 +545,7 @@ export class NetworkConnection {
382
545
  this._ws?.send(message);
383
546
  }
384
547
  /** Use to start listening to networking events.
385
- * To unsubscribe from events use the `stopListen` method.
548
+ * To unsubscribe from events use the `{@link stopListen}` method.
386
549
  * See the example below for typical usage:
387
550
  *
388
551
  * ### Component Example
@@ -412,7 +575,7 @@ export class NetworkConnection {
412
575
  /**@deprecated please use stopListen instead (2.65.2-pre) */
413
576
  stopListening(key, callback) { return this.stopListen(key, callback); }
414
577
  /** Use to stop listening to networking events
415
- * To subscribe to events use the `beginListen` method.
578
+ * To subscribe to events use the `{@link beginListen}` method.
416
579
  * See the example below for typical usage:
417
580
  *
418
581
  * ### Component Example
@@ -458,11 +621,15 @@ export class NetworkConnection {
458
621
  }
459
622
  }
460
623
  netWebSocketUrlProvider;
461
- /** Use to override the networking server backend url. This is what the `Networking` component uses to modify the backend url */
624
+ /** Use to override the networking server backend url.
625
+ * This is what the `{@link Networking}` component uses to modify the backend url.
626
+ **/
462
627
  registerProvider(prov) {
463
628
  this.netWebSocketUrlProvider = prov;
464
629
  }
465
- /** Used to connect to the networking server */
630
+ /** Used to connect to the networking server
631
+ * @param url Optional url to connect to. If not provided, it will use the url from the registered `INetworkingWebsocketUrlProvider` or the default backend networking url. If you want to change the url after connecting, you need to disconnect first and then connect again with the new url.
632
+ */
466
633
  async connect(url) {
467
634
  if (this.connected && url && url !== networkingServerUrl) {
468
635
  return Promise.reject("Can not connect to different server url. Please disconnect first.");
@@ -1 +1 @@
1
- {"version":3,"file":"engine_networking.js","sourceRoot":"","sources":["../../src/engine/engine_networking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_networking.js","sourceRoot":"","sources":["../../src/engine/engine_networking.ts"],"names":[],"mappings":"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"}
@@ -3,15 +3,42 @@ export declare type SyncFieldOptions = {
3
3
  };
4
4
  export declare type FieldChangedCallbackFn = (newValue: any, previousValue: any) => void | boolean | any;
5
5
  /**
6
- * **Decorate a field to be automatically networked synced**
7
- * *Primitive* values are all automatically synced (like string, boolean, number).
8
- * For *arrays or objects* make sure to re-assign them (e.g. `this.mySyncField = this.mySyncField`) to trigger an update
6
+ * Marks a field for automatic network synchronization across connected clients.
7
+ * When a synced field changes, the new value is automatically broadcast to all users in the room.
9
8
  *
10
- * @param onFieldChanged name of a callback function that will be called when the field is changed.
11
- * You can also pass in a function like so: syncField(myClass.prototype.myFunctionToBeCalled)
12
- * Note: if you return `false` from this function you'll prevent the field from being synced with other clients
13
- * (for example a networked color is sent as a number and may be converted to a color in the receiver again)
14
- * Parameters: (newValue, previousValue)
9
+ * Primitives (string, number, boolean) sync automatically.
10
+ * For arrays/objects, reassign to trigger sync: `this.myArray = this.myArray`
11
+ *
12
+ * @param onFieldChanged Optional callback when the field changes (locally or from network).
13
+ * Return `false` to prevent syncing this change to others.
14
+ *
15
+ * @example Basic sync
16
+ * ```ts
17
+ * class MyComponent extends Behaviour {
18
+ * @syncField() playerScore: number = 0;
19
+ * }
20
+ * ```
21
+ * @example With change callback
22
+ * ```ts
23
+ * class MyComponent extends Behaviour {
24
+ * @syncField("onHealthChanged") health: number = 100;
25
+ *
26
+ * onHealthChanged(newValue: number, oldValue: number) {
27
+ * console.log(`Health: ${oldValue} → ${newValue}`);
28
+ * }
29
+ * }
30
+ * ```
31
+ * @example Preventing sync (one-way)
32
+ * ```ts
33
+ * class MyComponent extends Behaviour {
34
+ * @syncField(function(newVal, oldVal) {
35
+ * // Process incoming value but don't sync our changes
36
+ * return false;
37
+ * }) serverControlled: string = "";
38
+ * }
39
+ * ```
40
+ * @see {@link serializable} for editor serialization
41
+ * @link https://engine.needle.tools/docs/how-to-guides/networking/
15
42
  */
16
43
  export declare const syncField: (onFieldChanged?: string | FieldChangedCallbackFn | undefined | null) => (target: any, _propertyKey: string | {
17
44
  name: string;
@@ -160,15 +160,42 @@ function destroySyncer(instance) {
160
160
  }
161
161
  }
162
162
  /**
163
- * **Decorate a field to be automatically networked synced**
164
- * *Primitive* values are all automatically synced (like string, boolean, number).
165
- * For *arrays or objects* make sure to re-assign them (e.g. `this.mySyncField = this.mySyncField`) to trigger an update
163
+ * Marks a field for automatic network synchronization across connected clients.
164
+ * When a synced field changes, the new value is automatically broadcast to all users in the room.
166
165
  *
167
- * @param onFieldChanged name of a callback function that will be called when the field is changed.
168
- * You can also pass in a function like so: syncField(myClass.prototype.myFunctionToBeCalled)
169
- * Note: if you return `false` from this function you'll prevent the field from being synced with other clients
170
- * (for example a networked color is sent as a number and may be converted to a color in the receiver again)
171
- * Parameters: (newValue, previousValue)
166
+ * Primitives (string, number, boolean) sync automatically.
167
+ * For arrays/objects, reassign to trigger sync: `this.myArray = this.myArray`
168
+ *
169
+ * @param onFieldChanged Optional callback when the field changes (locally or from network).
170
+ * Return `false` to prevent syncing this change to others.
171
+ *
172
+ * @example Basic sync
173
+ * ```ts
174
+ * class MyComponent extends Behaviour {
175
+ * @syncField() playerScore: number = 0;
176
+ * }
177
+ * ```
178
+ * @example With change callback
179
+ * ```ts
180
+ * class MyComponent extends Behaviour {
181
+ * @syncField("onHealthChanged") health: number = 100;
182
+ *
183
+ * onHealthChanged(newValue: number, oldValue: number) {
184
+ * console.log(`Health: ${oldValue} → ${newValue}`);
185
+ * }
186
+ * }
187
+ * ```
188
+ * @example Preventing sync (one-way)
189
+ * ```ts
190
+ * class MyComponent extends Behaviour {
191
+ * @syncField(function(newVal, oldVal) {
192
+ * // Process incoming value but don't sync our changes
193
+ * return false;
194
+ * }) serverControlled: string = "";
195
+ * }
196
+ * ```
197
+ * @see {@link serializable} for editor serialization
198
+ * @link https://engine.needle.tools/docs/how-to-guides/networking/
172
199
  */
173
200
  export const syncField = function (onFieldChanged = null) {
174
201
  return function (target, _propertyKey) {
@@ -1 +1 @@
1
- {"version":3,"file":"engine_networking_auto.js","sourceRoot":"","sources":["../../src/engine/engine_networking_auto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_networking_auto.js","sourceRoot":"","sources":["../../src/engine/engine_networking_auto.ts"],"names":[],"mappings":"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"}
@@ -91,10 +91,44 @@ export declare class SphereIntersection implements Intersection {
91
91
  object: Object3D;
92
92
  constructor(object: Object3D, distance: number, point: Vector3);
93
93
  }
94
+ /**
95
+ * Provides physics utilities including raycasting and overlap detection.
96
+ * Access via `this.context.physics` from any component.
97
+ *
98
+ * For physics engine features (rigidbodies, colliders, forces, etc.), use `this.context.physics.engine`.
99
+ * The physics engine is {@link RapierPhysics}, which uses the Rapier physics library for realistic simulation.
100
+ *
101
+ * **Performance - Automatic MeshBVH:**
102
+ * Needle Engine automatically uses [three-mesh-bvh](https://github.com/gkjohnson/three-mesh-bvh) to accelerate raycasting.
103
+ * MeshBVH structures are generated automatically on web workers in the background, making raycasts significantly faster
104
+ * without blocking the main thread. This happens transparently - you don't need to do anything to enable it.
105
+ * While the BVH is being generated, raycasts fall back to standard three.js raycasting (configurable via `allowSlowRaycastFallback`).
106
+ *
107
+ * @example Raycasting from mouse position
108
+ * ```ts
109
+ * const hits = this.context.physics.raycast();
110
+ * if (hits.length > 0) {
111
+ * console.log("Hit:", hits[0].object.name);
112
+ * }
113
+ * ```
114
+ * @example Raycasting with inline options
115
+ * ```ts
116
+ * const hits = this.context.physics.raycast({
117
+ * maxDistance: 100, // Only hit objects within 100 units
118
+ * layerMask: 1, // Only layer 0
119
+ * ignore: [this.gameObject] // Ignore self
120
+ * });
121
+ * ```
122
+ * @example Physics engine raycast (against colliders only)
123
+ * ```ts
124
+ * const hit = this.context.physics.engine?.raycast(origin, direction);
125
+ * ```
126
+ * @see {@link RapierPhysics} for physics engine implementation details
127
+ */
94
128
  export declare class Physics {
95
129
  private static _raycasting;
96
130
  /**
97
- * Returns true if raycasting is currently happening
131
+ * Returns true if raycasting is currently in progress
98
132
  */
99
133
  static get raycasting(): boolean;
100
134
  /**@deprecated use `this.context.physics.engine.raycast` {@link IPhysicsEngine.raycast} */
@@ -57,10 +57,44 @@ export class SphereIntersection {
57
57
  this.point = point;
58
58
  }
59
59
  }
60
+ /**
61
+ * Provides physics utilities including raycasting and overlap detection.
62
+ * Access via `this.context.physics` from any component.
63
+ *
64
+ * For physics engine features (rigidbodies, colliders, forces, etc.), use `this.context.physics.engine`.
65
+ * The physics engine is {@link RapierPhysics}, which uses the Rapier physics library for realistic simulation.
66
+ *
67
+ * **Performance - Automatic MeshBVH:**
68
+ * Needle Engine automatically uses [three-mesh-bvh](https://github.com/gkjohnson/three-mesh-bvh) to accelerate raycasting.
69
+ * MeshBVH structures are generated automatically on web workers in the background, making raycasts significantly faster
70
+ * without blocking the main thread. This happens transparently - you don't need to do anything to enable it.
71
+ * While the BVH is being generated, raycasts fall back to standard three.js raycasting (configurable via `allowSlowRaycastFallback`).
72
+ *
73
+ * @example Raycasting from mouse position
74
+ * ```ts
75
+ * const hits = this.context.physics.raycast();
76
+ * if (hits.length > 0) {
77
+ * console.log("Hit:", hits[0].object.name);
78
+ * }
79
+ * ```
80
+ * @example Raycasting with inline options
81
+ * ```ts
82
+ * const hits = this.context.physics.raycast({
83
+ * maxDistance: 100, // Only hit objects within 100 units
84
+ * layerMask: 1, // Only layer 0
85
+ * ignore: [this.gameObject] // Ignore self
86
+ * });
87
+ * ```
88
+ * @example Physics engine raycast (against colliders only)
89
+ * ```ts
90
+ * const hit = this.context.physics.engine?.raycast(origin, direction);
91
+ * ```
92
+ * @see {@link RapierPhysics} for physics engine implementation details
93
+ */
60
94
  export class Physics {
61
95
  static _raycasting = 0;
62
96
  /**
63
- * Returns true if raycasting is currently happening
97
+ * Returns true if raycasting is currently in progress
64
98
  */
65
99
  static get raycasting() {
66
100
  return this._raycasting > 0;