@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,5 +1,8 @@
1
1
  import { InstantiateContext } from "../engine/engine_gameobject.js";
2
2
  import type { IEventList } from "../engine/engine_types.js";
3
+ /**
4
+ * CallInfo represents a single callback method that can be invoked by the {@link EventList}.
5
+ */
3
6
  export declare class CallInfo {
4
7
  /**
5
8
  * When the CallInfo is enabled it will be invoked when the EventList is invoked
@@ -23,24 +26,49 @@ export declare class EventListEvent<TArgs extends any> extends Event {
23
26
  args?: TArgs;
24
27
  }
25
28
  /**
26
- * The EventList is a class that can be used to create a list of event listeners that can be invoked.
29
+ * EventList manages a list of callbacks that can be invoked together.
30
+ * Used for Unity-style events that can be configured in the editor (Unity or Blender).
31
+ *
32
+ * **Serialization:**
33
+ * EventLists are serializable - callbacks configured in Unity/Blender will work at runtime.
34
+ * Mark fields with `@serializable(EventList)` for editor support.
35
+ *
36
+ * **Usage patterns:**
37
+ * - Button click handlers
38
+ * - Animation events
39
+ * - Custom component callbacks
40
+ * - Scene loading events
41
+ *
42
+ * ![](https://cloud.needle.tools/-/media/P7bEKQvfgRUMTb2Wi1hWXg.png)
43
+ * *Screenshot of a Unity component with an EventList field*
27
44
  *
28
- * @example
45
+ * ![](https://cloud.needle.tools/-/media/i2hi2OHfbaDyHyBL6Gt58A.png)
46
+ * *Screenshot of a Blender component with an EventList field*
47
+ *
48
+ * @example Create and use an EventList
29
49
  * ```ts
30
- * // create an event list
31
- * const onClick = new EventList<(event: MouseEvent) => void>();
50
+ * // Define in your component
51
+ * @serializable(EventList)
52
+ * onClick: EventList = new EventList();
53
+ *
54
+ * // Add listeners
55
+ * this.onClick.addEventListener(() => console.log("Clicked!"));
32
56
  *
33
- * // add an event listener
34
- * onClick.addEventListener((event) => {
35
- * console.log("Clicked!", event);
36
- * });
57
+ * // Invoke all listeners
58
+ * this.onClick.invoke();
59
+ * ```
37
60
  *
38
- * // invoke the event list
39
- * onClick.invoke(new MouseEvent("click"));
61
+ * @example Listen with arguments
62
+ * ```ts
63
+ * const onScore = new EventList<{ points: number }>();
64
+ * onScore.addEventListener(data => console.log("Scored:", data.points));
65
+ * onScore.invoke({ points: 100 });
40
66
  * ```
41
67
  *
42
68
  * @category Events
43
69
  * @group Utilities
70
+ * @see {@link CallInfo} for individual callback configuration
71
+ * @see {@link Button} for UI button events
44
72
  */
45
73
  export declare class EventList<TArgs extends any = any> implements IEventList {
46
74
  /** checked during instantiate to create a new instance */
@@ -1,5 +1,8 @@
1
1
  import { isDevEnvironment } from "../engine/debug/index.js";
2
2
  const argumentsBuffer = new Array();
3
+ /**
4
+ * CallInfo represents a single callback method that can be invoked by the {@link EventList}.
5
+ */
3
6
  export class CallInfo {
4
7
  /**
5
8
  * When the CallInfo is enabled it will be invoked when the EventList is invoked
@@ -83,24 +86,49 @@ export class EventListEvent extends Event {
83
86
  args;
84
87
  }
85
88
  /**
86
- * The EventList is a class that can be used to create a list of event listeners that can be invoked.
89
+ * EventList manages a list of callbacks that can be invoked together.
90
+ * Used for Unity-style events that can be configured in the editor (Unity or Blender).
91
+ *
92
+ * **Serialization:**
93
+ * EventLists are serializable - callbacks configured in Unity/Blender will work at runtime.
94
+ * Mark fields with `@serializable(EventList)` for editor support.
95
+ *
96
+ * **Usage patterns:**
97
+ * - Button click handlers
98
+ * - Animation events
99
+ * - Custom component callbacks
100
+ * - Scene loading events
101
+ *
102
+ * ![](https://cloud.needle.tools/-/media/P7bEKQvfgRUMTb2Wi1hWXg.png)
103
+ * *Screenshot of a Unity component with an EventList field*
87
104
  *
88
- * @example
105
+ * ![](https://cloud.needle.tools/-/media/i2hi2OHfbaDyHyBL6Gt58A.png)
106
+ * *Screenshot of a Blender component with an EventList field*
107
+ *
108
+ * @example Create and use an EventList
89
109
  * ```ts
90
- * // create an event list
91
- * const onClick = new EventList<(event: MouseEvent) => void>();
110
+ * // Define in your component
111
+ * @serializable(EventList)
112
+ * onClick: EventList = new EventList();
113
+ *
114
+ * // Add listeners
115
+ * this.onClick.addEventListener(() => console.log("Clicked!"));
92
116
  *
93
- * // add an event listener
94
- * onClick.addEventListener((event) => {
95
- * console.log("Clicked!", event);
96
- * });
117
+ * // Invoke all listeners
118
+ * this.onClick.invoke();
119
+ * ```
97
120
  *
98
- * // invoke the event list
99
- * onClick.invoke(new MouseEvent("click"));
121
+ * @example Listen with arguments
122
+ * ```ts
123
+ * const onScore = new EventList<{ points: number }>();
124
+ * onScore.addEventListener(data => console.log("Scored:", data.points));
125
+ * onScore.invoke({ points: 100 });
100
126
  * ```
101
127
  *
102
128
  * @category Events
103
129
  * @group Utilities
130
+ * @see {@link CallInfo} for individual callback configuration
131
+ * @see {@link Button} for UI button events
104
132
  */
105
133
  export class EventList {
106
134
  /** checked during instantiate to create a new instance */
@@ -1 +1 @@
1
- {"version":3,"file":"EventList.js","sourceRoot":"","sources":["../../src/engine-components/EventList.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventList.js","sourceRoot":"","sources":["../../src/engine-components/EventList.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ declare class TriggerEvent {
7
7
  callback: EventList<any>;
8
8
  }
9
9
  /**
10
- * The EventTrigger component is used to trigger events when certain pointer events occur on the GameObject.
10
+ * The [EventTrigger](https://engine.needle.tools/docs/api/EventTrigger) component is used to trigger events when certain pointer events occur on the GameObject.
11
11
  * It implements the {@link IPointerEventHandler} interface and can be used to expose events to the user in the editor without writing code.
12
12
  *
13
13
  * @summary Triggers events on pointer interactions
@@ -19,7 +19,7 @@ __decorate([
19
19
  serializable(EventList)
20
20
  ], TriggerEvent.prototype, "callback", void 0);
21
21
  /**
22
- * The EventTrigger component is used to trigger events when certain pointer events occur on the GameObject.
22
+ * The [EventTrigger](https://engine.needle.tools/docs/api/EventTrigger) component is used to trigger events when certain pointer events occur on the GameObject.
23
23
  * It implements the {@link IPointerEventHandler} interface and can be used to expose events to the user in the editor without writing code.
24
24
  *
25
25
  * @summary Triggers events on pointer interactions
@@ -1,12 +1,34 @@
1
1
  import { Color, Fog as Fog3 } from "three";
2
2
  import { Behaviour } from "./Component.js";
3
+ /**
4
+ * Fog rendering mode
5
+ */
3
6
  declare enum FogMode {
7
+ /** Linear fog increases uniformly with distance */
4
8
  Linear = 1,
9
+ /** Exponential fog increases exponentially with distance */
5
10
  Exponential = 2,
11
+ /** Exponential squared fog for denser falloff */
6
12
  ExponentialSquared = 3
7
13
  }
8
- /** @internal */
14
+ /**
15
+ * Adds distance-based fog effect to the scene.
16
+ * When enabled, objects will fade into the fog color based on their distance from the camera.
17
+ *
18
+ * This component is automatically added to the scene when fog is enabled in the editor.
19
+ * For setting fog from code you can simply use `scene.fog = new Fog3(color, near, far)` without adding this component.
20
+ *
21
+ * @summary Adds fog effect to the scene
22
+ * @category Rendering
23
+ * @group Components
24
+ * @link https://threejs.org/docs/#Fog
25
+ */
9
26
  export declare class Fog extends Behaviour {
27
+ /**
28
+ * The underlying Three.js Fog object. You can modify its properties directly for more advanced control.
29
+ * @remarks The Fog component provides convenient access to common fog properties like `near`, `far`, and `color`. Modifying those will update the underlying `fog` object accordingly. However, you can also access and modify the `fog` object directly for more advanced use cases, such as changing the fog mode or using a custom shader.
30
+ * @link https://threejs.org/docs/#Fog for available properties and methods on the Fog object.
31
+ */
10
32
  get fog(): Fog3;
11
33
  get mode(): FogMode;
12
34
  set near(value: number);
@@ -7,14 +7,36 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { Color, Fog as Fog3 } from "three";
8
8
  import { serializable } from "../engine/engine_serialization.js";
9
9
  import { Behaviour } from "./Component.js";
10
+ /**
11
+ * Fog rendering mode
12
+ */
10
13
  var FogMode;
11
14
  (function (FogMode) {
15
+ /** Linear fog increases uniformly with distance */
12
16
  FogMode[FogMode["Linear"] = 1] = "Linear";
17
+ /** Exponential fog increases exponentially with distance */
13
18
  FogMode[FogMode["Exponential"] = 2] = "Exponential";
19
+ /** Exponential squared fog for denser falloff */
14
20
  FogMode[FogMode["ExponentialSquared"] = 3] = "ExponentialSquared";
15
21
  })(FogMode || (FogMode = {}));
16
- /** @internal */
22
+ /**
23
+ * Adds distance-based fog effect to the scene.
24
+ * When enabled, objects will fade into the fog color based on their distance from the camera.
25
+ *
26
+ * This component is automatically added to the scene when fog is enabled in the editor.
27
+ * For setting fog from code you can simply use `scene.fog = new Fog3(color, near, far)` without adding this component.
28
+ *
29
+ * @summary Adds fog effect to the scene
30
+ * @category Rendering
31
+ * @group Components
32
+ * @link https://threejs.org/docs/#Fog
33
+ */
17
34
  export class Fog extends Behaviour {
35
+ /**
36
+ * The underlying Three.js Fog object. You can modify its properties directly for more advanced control.
37
+ * @remarks The Fog component provides convenient access to common fog properties like `near`, `far`, and `color`. Modifying those will update the underlying `fog` object accordingly. However, you can also access and modify the `fog` object directly for more advanced use cases, such as changing the fog mode or using a custom shader.
38
+ * @link https://threejs.org/docs/#Fog for available properties and methods on the Fog object.
39
+ */
18
40
  get fog() {
19
41
  if (!this._fog)
20
42
  this._fog = new Fog3(0x000000, 0, 50);
@@ -1 +1 @@
1
- {"version":3,"file":"Fog.js","sourceRoot":"","sources":["../../src/engine-components/Fog.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,IAAK,OAIJ;AAJD,WAAK,OAAO;IACR,yCAAU,CAAA;IACV,mDAAe,CAAA;IACf,iEAAsB,CAAA;AAC1B,CAAC,EAJI,OAAO,KAAP,OAAO,QAIX;AAED,gBAAgB;AAChB,MAAM,OAAO,GAAI,SAAQ,SAAS;IAE9B,IAAI,GAAG;QACH,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,OAAO,CAAC,MAAM,CAAC;IAC1B,CAAC;IAGD,IAAI,IAAI,CAAC,KAAa;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC;IAC1B,CAAC;IACD,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACzB,CAAC;IAGD,IAAI,GAAG,CAAC,KAAa;QACjB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACxB,CAAC;IAGD,IAAI,KAAK,CAAC,KAAY;QAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IAC1B,CAAC;IAEO,IAAI,CAAQ;IAEpB,QAAQ;QACJ,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAC9B,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,IAAI;YAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;IAC9B,CAAC;CAGJ;AAnCG;IADC,YAAY,EAAE;+BAGd;AAMD;IADC,YAAY,EAAE;8BAGd;AAMD;IADC,YAAY,CAAC,KAAK,CAAC;gCAGnB"}
1
+ {"version":3,"file":"Fog.js","sourceRoot":"","sources":["../../src/engine-components/Fog.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C;;GAEG;AACH,IAAK,OAOJ;AAPD,WAAK,OAAO;IACR,mDAAmD;IACnD,yCAAU,CAAA;IACV,4DAA4D;IAC5D,mDAAe,CAAA;IACf,iDAAiD;IACjD,iEAAsB,CAAA;AAC1B,CAAC,EAPI,OAAO,KAAP,OAAO,QAOX;AAED;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,GAAI,SAAQ,SAAS;IAE9B;;;;OAIG;IACH,IAAI,GAAG;QACH,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,OAAO,CAAC,MAAM,CAAC;IAC1B,CAAC;IAGD,IAAI,IAAI,CAAC,KAAa;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC;IAC1B,CAAC;IACD,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACzB,CAAC;IAGD,IAAI,GAAG,CAAC,KAAa;QACjB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACxB,CAAC;IAGD,IAAI,KAAK,CAAC,KAAY;QAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IAC1B,CAAC;IAEO,IAAI,CAAQ;IAEpB,QAAQ;QACJ,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAC9B,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,IAAI;YAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;IAC9B,CAAC;CAGJ;AAnCG;IADC,YAAY,EAAE;+BAGd;AAMD;IADC,YAAY,EAAE;8BAGd;AAMD;IADC,YAAY,CAAC,KAAK,CAAC;gCAGnB"}
@@ -1,11 +1,27 @@
1
1
  import { Color, ColorRepresentation } from "three";
2
2
  import { Behaviour } from "./Component.js";
3
3
  /**
4
- * GridHelper is a component that allows to display a grid in the scene.
4
+ * The [GridHelper](https://engine.needle.tools/docs/api/GridHelper) displays a flat grid in the scene for visual reference.
5
+ * Useful for debugging, level design, or providing spatial context.
6
+ *
7
+ * ![](https://cloud.needle.tools/-/media/prWArU8xTbgBKWQOvhTOag.gif)
8
+ *
9
+ * **Properties:**
10
+ * - `color0` / `color1` - Alternating grid line colors
11
+ * - `isGizmo` - When true, only shows when gizmos are enabled
12
+ *
13
+ * @example Add a grid to the scene
14
+ * ```ts
15
+ * const grid = myObject.addComponent(GridHelper);
16
+ * grid.color0 = new Color(0.3, 0.3, 0.3);
17
+ * grid.color1 = new Color(0.5, 0.5, 0.5);
18
+ * ```
5
19
  *
6
- * @example Display a grid in the scene
7
20
  * @category Helpers
8
21
  * @group Components
22
+ * @see {@link Gizmos} for debug visualization
23
+ *
24
+ * ![](https://cloud.needle.tools/-/media/i5KGKBUQ3iAX9h6o_9EY2w.jpg)
9
25
  */
10
26
  export declare class GridHelper extends Behaviour {
11
27
  isGizmo: boolean;
@@ -9,11 +9,27 @@ import * as params from "../engine/engine_default_parameters.js";
9
9
  import { serializable } from "../engine/engine_serialization_decorator.js";
10
10
  import { Behaviour } from "./Component.js";
11
11
  /**
12
- * GridHelper is a component that allows to display a grid in the scene.
12
+ * The [GridHelper](https://engine.needle.tools/docs/api/GridHelper) displays a flat grid in the scene for visual reference.
13
+ * Useful for debugging, level design, or providing spatial context.
14
+ *
15
+ * ![](https://cloud.needle.tools/-/media/prWArU8xTbgBKWQOvhTOag.gif)
16
+ *
17
+ * **Properties:**
18
+ * - `color0` / `color1` - Alternating grid line colors
19
+ * - `isGizmo` - When true, only shows when gizmos are enabled
20
+ *
21
+ * @example Add a grid to the scene
22
+ * ```ts
23
+ * const grid = myObject.addComponent(GridHelper);
24
+ * grid.color0 = new Color(0.3, 0.3, 0.3);
25
+ * grid.color1 = new Color(0.5, 0.5, 0.5);
26
+ * ```
13
27
  *
14
- * @example Display a grid in the scene
15
28
  * @category Helpers
16
29
  * @group Components
30
+ * @see {@link Gizmos} for debug visualization
31
+ *
32
+ * ![](https://cloud.needle.tools/-/media/i5KGKBUQ3iAX9h6o_9EY2w.jpg)
17
33
  */
18
34
  export class GridHelper extends Behaviour {
19
35
  isGizmo = false;
@@ -1 +1 @@
1
- {"version":3,"file":"GridHelper.js","sourceRoot":"","sources":["../../src/engine-components/GridHelper.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAuB,UAAU,IAAI,WAAW,EAAE,MAAM,OAAO,CAAC;AAE9E,OAAO,KAAK,MAAM,MAAM,wCAAwC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,OAAO,UAAW,SAAQ,SAAS;IAG9B,OAAO,GAAY,KAAK,CAAC;IAEhC,MAAM,CAA+B;IAErC,MAAM,CAA+B;IAE7B,UAAU,CAAsB;IAChC,IAAI,CAAU;IACd,SAAS,CAAU;IACnB,MAAM,CAAU;IAExB,gBAAgB;IAChB,QAAQ;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,OAAO;QAE/C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/H,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;gBACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;SACjD;QACD,IAAI,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED,gBAAgB;IAChB,SAAS;QACL,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SAC1B;IACL,CAAC;CACJ;AAjCG;IADC,YAAY,EAAE;2CACiB;AAEhC;IADC,YAAY,CAAC,KAAK,CAAC;0CACiB;AAErC;IADC,YAAY,CAAC,KAAK,CAAC;0CACiB"}
1
+ {"version":3,"file":"GridHelper.js","sourceRoot":"","sources":["../../src/engine-components/GridHelper.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAuB,UAAU,IAAI,WAAW,EAAE,MAAM,OAAO,CAAC;AAE9E,OAAO,KAAK,MAAM,MAAM,wCAAwC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,UAAW,SAAQ,SAAS;IAG9B,OAAO,GAAY,KAAK,CAAC;IAEhC,MAAM,CAA+B;IAErC,MAAM,CAA+B;IAE7B,UAAU,CAAsB;IAChC,IAAI,CAAU;IACd,SAAS,CAAU;IACnB,MAAM,CAAU;IAExB,gBAAgB;IAChB,QAAQ;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,OAAO;QAE/C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/H,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;gBACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;SACjD;QACD,IAAI,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED,gBAAgB;IAChB,SAAS;QACL,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SAC1B;IACL,CAAC;CACJ;AAjCG;IADC,YAAY,EAAE;2CACiB;AAEhC;IADC,YAAY,CAAC,KAAK,CAAC;0CACiB;AAErC;IADC,YAAY,CAAC,KAAK,CAAC;0CACiB"}
@@ -1,12 +1,34 @@
1
1
  import { Behaviour } from "./Component.js";
2
2
  /**
3
- * GroundProjectedEnv creates a ground projection of the current environment map.
3
+ * The [GroundProjectedEnv](https://engine.needle.tools/docs/api/GroundProjectedEnv) projects the environment map onto a virtual ground plane.
4
+ * Creates a realistic floor from 360° panoramas/HDRIs by deforming the skybox
5
+ * into a hemisphere with a beveled floor.
4
6
  *
5
- * - Example https://engine.needle.tools/samples/ground-projection
7
+ *
8
+ * [![](https://cloud.needle.tools/-/media/8LDMd4TnGxVIj1XOfxIUIA.gif)](https://engine.needle.tools/samples/ground-projection)
9
+ *
10
+ * **Key properties:**
11
+ * - `radius` - Size of the projection sphere (keep camera inside)
12
+ * - `height` - How high the original photo was taken (affects floor magnification)
13
+ * - `autoFit` - Automatically center and position at ground level
14
+ * - `arBlending` - Blend with real-world in AR (0=hidden, 1=visible)
15
+ *
16
+ * **Debug:** Use `?debuggroundprojection` URL parameter.
17
+ *
18
+ * @example Apply ground projection
19
+ * ```ts
20
+ * const ground = myObject.getComponent(GroundProjectedEnv);
21
+ * ground.radius = 100;
22
+ * ground.height = 2;
23
+ * ground.apply();
24
+ * ```
6
25
  *
7
26
  * @summary Projects the environment map onto the ground
8
27
  * @category Rendering
9
28
  * @group Components
29
+ * @see {@link Camera} for environment/skybox settings
30
+ * @see {@link ContactShadows} for ground shadows
31
+ * @link https://engine.needle.tools/samples/ground-projection for a demo of ground projection
10
32
  */
11
33
  export declare class GroundProjectedEnv extends Behaviour {
12
34
  /**
@@ -13,13 +13,35 @@ import { delayForFrames, getParam, Watch as Watch } from "../engine/engine_utils
13
13
  import { Behaviour } from "./Component.js";
14
14
  const debug = getParam("debuggroundprojection");
15
15
  /**
16
- * GroundProjectedEnv creates a ground projection of the current environment map.
16
+ * The [GroundProjectedEnv](https://engine.needle.tools/docs/api/GroundProjectedEnv) projects the environment map onto a virtual ground plane.
17
+ * Creates a realistic floor from 360° panoramas/HDRIs by deforming the skybox
18
+ * into a hemisphere with a beveled floor.
17
19
  *
18
- * - Example https://engine.needle.tools/samples/ground-projection
20
+ *
21
+ * [![](https://cloud.needle.tools/-/media/8LDMd4TnGxVIj1XOfxIUIA.gif)](https://engine.needle.tools/samples/ground-projection)
22
+ *
23
+ * **Key properties:**
24
+ * - `radius` - Size of the projection sphere (keep camera inside)
25
+ * - `height` - How high the original photo was taken (affects floor magnification)
26
+ * - `autoFit` - Automatically center and position at ground level
27
+ * - `arBlending` - Blend with real-world in AR (0=hidden, 1=visible)
28
+ *
29
+ * **Debug:** Use `?debuggroundprojection` URL parameter.
30
+ *
31
+ * @example Apply ground projection
32
+ * ```ts
33
+ * const ground = myObject.getComponent(GroundProjectedEnv);
34
+ * ground.radius = 100;
35
+ * ground.height = 2;
36
+ * ground.apply();
37
+ * ```
19
38
  *
20
39
  * @summary Projects the environment map onto the ground
21
40
  * @category Rendering
22
41
  * @group Components
42
+ * @see {@link Camera} for environment/skybox settings
43
+ * @see {@link ContactShadows} for ground shadows
44
+ * @link https://engine.needle.tools/samples/ground-projection for a demo of ground projection
23
45
  */
24
46
  export class GroundProjectedEnv extends Behaviour {
25
47
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"GroundProjection.js","sourceRoot":"","sources":["../../src/engine-components/GroundProjection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GroundProjection.js","sourceRoot":"","sources":["../../src/engine-components/GroundProjection.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,22 @@
1
1
  import { Behaviour } from "./Component.js";
2
2
  /**
3
- * Marks an object as currently being interacted with.
4
- * For example, DragControls set this on the dragged object to prevent DeleteBox from deleting it.
3
+ * UsageMarker indicates an object is currently being interacted with.
4
+ * Components like {@link DragControls} add this to prevent accidental deletion
5
+ * by {@link DeleteBox} while the user is dragging.
6
+ *
7
+ * @example Check if object is in use
8
+ * ```ts
9
+ * const marker = object.getComponent(UsageMarker);
10
+ * if (marker?.isUsed) {
11
+ * console.log("Object is being used by:", marker.usedBy);
12
+ * }
13
+ * ```
14
+ *
15
+ * @summary Marks object as currently being interacted with
16
+ * @category Interactivity
17
+ * @group Components
18
+ * @see {@link DeleteBox} respects this marker
19
+ * @see {@link DragControls} adds this during drag
5
20
  */
6
21
  export declare class UsageMarker extends Behaviour {
7
22
  isUsed: boolean;
@@ -1,7 +1,22 @@
1
1
  import { Behaviour } from "./Component.js";
2
2
  /**
3
- * Marks an object as currently being interacted with.
4
- * For example, DragControls set this on the dragged object to prevent DeleteBox from deleting it.
3
+ * UsageMarker indicates an object is currently being interacted with.
4
+ * Components like {@link DragControls} add this to prevent accidental deletion
5
+ * by {@link DeleteBox} while the user is dragging.
6
+ *
7
+ * @example Check if object is in use
8
+ * ```ts
9
+ * const marker = object.getComponent(UsageMarker);
10
+ * if (marker?.isUsed) {
11
+ * console.log("Object is being used by:", marker.usedBy);
12
+ * }
13
+ * ```
14
+ *
15
+ * @summary Marks object as currently being interacted with
16
+ * @category Interactivity
17
+ * @group Components
18
+ * @see {@link DeleteBox} respects this marker
19
+ * @see {@link DragControls} adds this during drag
5
20
  */
6
21
  export class UsageMarker extends Behaviour {
7
22
  isUsed = true;
@@ -1 +1 @@
1
- {"version":3,"file":"Interactable.js","sourceRoot":"","sources":["../../src/engine-components/Interactable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IAE/B,MAAM,GAAY,IAAI,CAAC;IACvB,MAAM,GAAQ,IAAI,CAAC;CAC7B;AAED;;;GAGG;AACH,kBAAkB;AAClB,MAAM,OAAO,YAAa,SAAQ,SAAS;CAAG"}
1
+ {"version":3,"file":"Interactable.js","sourceRoot":"","sources":["../../src/engine-components/Interactable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IAE/B,MAAM,GAAY,IAAI,CAAC;IACvB,MAAM,GAAQ,IAAI,CAAC;CAC7B;AAED;;;GAGG;AACH,kBAAkB;AAClB,MAAM,OAAO,YAAa,SAAQ,SAAS;CAAG"}
@@ -2,12 +2,22 @@ import { Vector3 } from "three";
2
2
  import { Behaviour } from "./Component.js";
3
3
  import { Rigidbody } from "./RigidBody.js";
4
4
  /**
5
- * Base class for physics joints connecting two rigid bodies.
6
- * @summary Connect two Rigidbodies
5
+ * Base class for physics joints that connect two {@link Rigidbody} components.
6
+ * Joints constrain how two bodies can move relative to each other.
7
+ *
8
+ * The joint is created between:
9
+ * - The {@link Rigidbody} on this GameObject (automatically found)
10
+ * - The {@link connectedBody} Rigidbody you specify
11
+ *
12
+ * @summary Connect two Rigidbodies with physics constraints
7
13
  * @category Physics
8
14
  * @group Components
15
+ * @see {@link FixedJoint} for rigid connections
16
+ * @see {@link HingeJoint} for rotating connections
17
+ * @see {@link Rigidbody} for physics bodies
9
18
  */
10
19
  export declare abstract class Joint extends Behaviour {
20
+ /** The other Rigidbody to connect to */
11
21
  connectedBody?: Rigidbody;
12
22
  get rigidBody(): Rigidbody | null;
13
23
  private _rigidBody;
@@ -16,24 +26,57 @@ export declare abstract class Joint extends Behaviour {
16
26
  protected abstract createJoint(self: Rigidbody, other: Rigidbody): any;
17
27
  }
18
28
  /**
19
- * The FixedJoint groups together 2 rigidbodies, making them stick together in their bound position
20
- * @summary Connect two Rigidbodies and make them stick together
29
+ * FixedJoint locks two {@link Rigidbody} components together, making them move as one rigid unit.
30
+ * The bodies maintain their relative position and rotation at the time the joint is created.
31
+ *
32
+ * Use this for:
33
+ * - Attaching objects together permanently
34
+ * - Creating compound rigid bodies
35
+ * - Welding broken pieces back together
36
+ *
37
+ * @example Attach a weapon to a character
38
+ * ```ts
39
+ * const joint = weapon.addComponent(FixedJoint);
40
+ * joint.connectedBody = characterRigidbody;
41
+ * ```
42
+ *
43
+ * @summary Lock two Rigidbodies together rigidly
21
44
  * @category Physics
22
45
  * @group Components
46
+ * @see {@link Joint} base class
47
+ * @see {@link HingeJoint} for rotating connections
23
48
  */
24
49
  export declare class FixedJoint extends Joint {
25
50
  protected createJoint(self: Rigidbody, other: Rigidbody): void;
26
51
  }
27
52
  /**
28
- * The HingeJoint groups together 2 rigid bodies, constraining them to move like connected by a hinge.
53
+ * HingeJoint connects two {@link Rigidbody} components with a rotating constraint,
54
+ * like a door hinge or wheel axle. Bodies can only rotate around the specified axis.
55
+ *
56
+ * Use this for:
57
+ * - Doors and gates
58
+ * - Wheels and axles
59
+ * - Pendulums
60
+ * - Any rotating mechanical connection
61
+ *
62
+ * @example Create a door hinge
63
+ * ```ts
64
+ * const hinge = door.addComponent(HingeJoint);
65
+ * hinge.connectedBody = doorFrameRigidbody;
66
+ * hinge.anchor = new Vector3(0, 0, 0); // Hinge position
67
+ * hinge.axis = new Vector3(0, 1, 0); // Rotate around Y axis
68
+ * ```
29
69
  *
30
- * You can specify the anchor point and axis of rotation for the hinge.
31
- * @summary Connect two Rigidbodies with a hinge
70
+ * @summary Connect two Rigidbodies with a rotating hinge
32
71
  * @category Physics
33
72
  * @group Components
73
+ * @see {@link Joint} base class
74
+ * @see {@link FixedJoint} for rigid connections
34
75
  */
35
76
  export declare class HingeJoint extends Joint {
77
+ /** Local position of the hinge pivot point */
36
78
  anchor?: Vector3;
79
+ /** Axis of rotation for the hinge (e.g., Vector3(0,1,0) for vertical axis) */
37
80
  axis?: Vector3;
38
81
  protected createJoint(self: Rigidbody, other: Rigidbody): void;
39
82
  }