@needle-tools/engine 4.13.0 → 4.13.1-next.6cb1b73

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 (452) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/README.md +37 -0
  3. package/components.needle.json +1 -1
  4. package/custom-elements.json +138 -4
  5. package/dist/gltf-progressive-BTd714P0.min.js +9 -0
  6. package/dist/gltf-progressive-CrHduHPm.umd.cjs +9 -0
  7. package/dist/{gltf-progressive-eiJCrjLb.js → gltf-progressive-CsyU_5lc.js} +364 -287
  8. package/dist/{needle-engine.bundle-CxaKFQVS.min.js → needle-engine.bundle-DRSn34Va.min.js} +109 -109
  9. package/dist/{needle-engine.bundle-J4k4znv8.umd.cjs → needle-engine.bundle-qTjHpin6.umd.cjs} +110 -110
  10. package/dist/{needle-engine.bundle-Dl3TFYyv.js → needle-engine.bundle-wB3o8RB6.js} +2655 -2130
  11. package/dist/needle-engine.d.ts +4202 -423
  12. package/dist/needle-engine.js +3 -3
  13. package/dist/needle-engine.min.js +1 -1
  14. package/dist/needle-engine.umd.cjs +1 -1
  15. package/lib/engine/engine_context.d.ts +16 -0
  16. package/lib/engine/engine_context.js +28 -2
  17. package/lib/engine/engine_context.js.map +1 -1
  18. package/lib/engine/engine_gameobject.d.ts +72 -0
  19. package/lib/engine/engine_gameobject.js +38 -0
  20. package/lib/engine/engine_gameobject.js.map +1 -1
  21. package/lib/engine/engine_input.d.ts +80 -4
  22. package/lib/engine/engine_input.js +78 -2
  23. package/lib/engine/engine_input.js.map +1 -1
  24. package/lib/engine/engine_math.d.ts +81 -2
  25. package/lib/engine/engine_math.js +68 -2
  26. package/lib/engine/engine_math.js.map +1 -1
  27. package/lib/engine/engine_networking.d.ts +181 -14
  28. package/lib/engine/engine_networking.js +181 -14
  29. package/lib/engine/engine_networking.js.map +1 -1
  30. package/lib/engine/engine_networking_auto.d.ts +35 -8
  31. package/lib/engine/engine_networking_auto.js +35 -8
  32. package/lib/engine/engine_networking_auto.js.map +1 -1
  33. package/lib/engine/engine_physics.d.ts +37 -1
  34. package/lib/engine/engine_physics.js +37 -1
  35. package/lib/engine/engine_physics.js.map +1 -1
  36. package/lib/engine/engine_physics_rapier.d.ts +78 -0
  37. package/lib/engine/engine_physics_rapier.js +78 -0
  38. package/lib/engine/engine_physics_rapier.js.map +1 -1
  39. package/lib/engine/engine_serialization_decorator.d.ts +28 -2
  40. package/lib/engine/engine_serialization_decorator.js +28 -2
  41. package/lib/engine/engine_serialization_decorator.js.map +1 -1
  42. package/lib/engine/engine_time.d.ts +23 -3
  43. package/lib/engine/engine_time.js +23 -3
  44. package/lib/engine/engine_time.js.map +1 -1
  45. package/lib/engine/engine_util_decorator.d.ts +31 -1
  46. package/lib/engine/engine_util_decorator.js +31 -1
  47. package/lib/engine/engine_util_decorator.js.map +1 -1
  48. package/lib/engine/engine_utils.d.ts +22 -5
  49. package/lib/engine/engine_utils.js +22 -5
  50. package/lib/engine/engine_utils.js.map +1 -1
  51. package/lib/engine/engine_utils_screenshot.d.ts +171 -14
  52. package/lib/engine/engine_utils_screenshot.js +65 -0
  53. package/lib/engine/engine_utils_screenshot.js.map +1 -1
  54. package/lib/engine/engine_utils_screenshot.xr.d.ts +1 -1
  55. package/lib/engine/engine_utils_screenshot.xr.js +1 -1
  56. package/lib/engine/extensions/NEEDLE_materialx.d.ts +2 -2
  57. package/lib/engine/extensions/NEEDLE_materialx.js +2 -2
  58. package/lib/engine/extensions/NEEDLE_materialx.js.map +1 -1
  59. package/lib/engine/extensions/NEEDLE_techniques_webgl.js +3 -0
  60. package/lib/engine/extensions/NEEDLE_techniques_webgl.js.map +1 -1
  61. package/lib/engine/extensions/index.d.ts +1 -1
  62. package/lib/engine/extensions/index.js +1 -1
  63. package/lib/engine/extensions/index.js.map +1 -1
  64. package/lib/engine/xr/NeedleXRSession.d.ts +5 -0
  65. package/lib/engine/xr/NeedleXRSession.js +5 -0
  66. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  67. package/lib/engine-components/AlignmentConstraint.d.ts +23 -3
  68. package/lib/engine-components/AlignmentConstraint.js +23 -3
  69. package/lib/engine-components/AlignmentConstraint.js.map +1 -1
  70. package/lib/engine-components/Animation.d.ts +42 -0
  71. package/lib/engine-components/Animation.js +36 -0
  72. package/lib/engine-components/Animation.js.map +1 -1
  73. package/lib/engine-components/Animator.d.ts +37 -4
  74. package/lib/engine-components/Animator.js +37 -4
  75. package/lib/engine-components/Animator.js.map +1 -1
  76. package/lib/engine-components/AudioListener.d.ts +1 -1
  77. package/lib/engine-components/AudioListener.js +1 -1
  78. package/lib/engine-components/AudioSource.d.ts +32 -10
  79. package/lib/engine-components/AudioSource.js +32 -10
  80. package/lib/engine-components/AudioSource.js.map +1 -1
  81. package/lib/engine-components/AxesHelper.d.ts +22 -3
  82. package/lib/engine-components/AxesHelper.js +22 -3
  83. package/lib/engine-components/AxesHelper.js.map +1 -1
  84. package/lib/engine-components/BasicIKConstraint.d.ts +27 -4
  85. package/lib/engine-components/BasicIKConstraint.js +27 -4
  86. package/lib/engine-components/BasicIKConstraint.js.map +1 -1
  87. package/lib/engine-components/Camera.d.ts +32 -2
  88. package/lib/engine-components/Camera.js +32 -2
  89. package/lib/engine-components/Camera.js.map +1 -1
  90. package/lib/engine-components/CharacterController.d.ts +68 -4
  91. package/lib/engine-components/CharacterController.js +68 -4
  92. package/lib/engine-components/CharacterController.js.map +1 -1
  93. package/lib/engine-components/Collider.d.ts +69 -12
  94. package/lib/engine-components/Collider.js +69 -12
  95. package/lib/engine-components/Collider.js.map +1 -1
  96. package/lib/engine-components/ContactShadows.d.ts +28 -6
  97. package/lib/engine-components/ContactShadows.js +33 -8
  98. package/lib/engine-components/ContactShadows.js.map +1 -1
  99. package/lib/engine-components/DeleteBox.d.ts +43 -2
  100. package/lib/engine-components/DeleteBox.js +43 -2
  101. package/lib/engine-components/DeleteBox.js.map +1 -1
  102. package/lib/engine-components/DeviceFlag.d.ts +21 -2
  103. package/lib/engine-components/DeviceFlag.js +21 -2
  104. package/lib/engine-components/DeviceFlag.js.map +1 -1
  105. package/lib/engine-components/DragControls.d.ts +32 -2
  106. package/lib/engine-components/DragControls.js +32 -2
  107. package/lib/engine-components/DragControls.js.map +1 -1
  108. package/lib/engine-components/DropListener.d.ts +33 -21
  109. package/lib/engine-components/DropListener.js +33 -21
  110. package/lib/engine-components/DropListener.js.map +1 -1
  111. package/lib/engine-components/Duplicatable.d.ts +36 -5
  112. package/lib/engine-components/Duplicatable.js +36 -5
  113. package/lib/engine-components/Duplicatable.js.map +1 -1
  114. package/lib/engine-components/EventList.d.ts +38 -10
  115. package/lib/engine-components/EventList.js +40 -12
  116. package/lib/engine-components/EventList.js.map +1 -1
  117. package/lib/engine-components/EventTrigger.d.ts +1 -1
  118. package/lib/engine-components/EventTrigger.js +1 -1
  119. package/lib/engine-components/Fog.d.ts +23 -1
  120. package/lib/engine-components/Fog.js +23 -1
  121. package/lib/engine-components/Fog.js.map +1 -1
  122. package/lib/engine-components/GridHelper.d.ts +18 -2
  123. package/lib/engine-components/GridHelper.js +18 -2
  124. package/lib/engine-components/GridHelper.js.map +1 -1
  125. package/lib/engine-components/GroundProjection.d.ts +24 -2
  126. package/lib/engine-components/GroundProjection.js +24 -2
  127. package/lib/engine-components/GroundProjection.js.map +1 -1
  128. package/lib/engine-components/Interactable.d.ts +17 -2
  129. package/lib/engine-components/Interactable.js +17 -2
  130. package/lib/engine-components/Interactable.js.map +1 -1
  131. package/lib/engine-components/Joints.d.ts +50 -7
  132. package/lib/engine-components/Joints.js +50 -7
  133. package/lib/engine-components/Joints.js.map +1 -1
  134. package/lib/engine-components/LODGroup.d.ts +36 -14
  135. package/lib/engine-components/LODGroup.js +43 -11
  136. package/lib/engine-components/LODGroup.js.map +1 -1
  137. package/lib/engine-components/Light.d.ts +30 -5
  138. package/lib/engine-components/Light.js +30 -5
  139. package/lib/engine-components/Light.js.map +1 -1
  140. package/lib/engine-components/LookAtConstraint.d.ts +22 -7
  141. package/lib/engine-components/LookAtConstraint.js +22 -7
  142. package/lib/engine-components/LookAtConstraint.js.map +1 -1
  143. package/lib/engine-components/NeedleMenu.d.ts +27 -5
  144. package/lib/engine-components/NeedleMenu.js +27 -5
  145. package/lib/engine-components/NeedleMenu.js.map +1 -1
  146. package/lib/engine-components/NestedGltf.d.ts +39 -4
  147. package/lib/engine-components/NestedGltf.js +42 -4
  148. package/lib/engine-components/NestedGltf.js.map +1 -1
  149. package/lib/engine-components/OffsetConstraint.d.ts +27 -3
  150. package/lib/engine-components/OffsetConstraint.js +27 -3
  151. package/lib/engine-components/OffsetConstraint.js.map +1 -1
  152. package/lib/engine-components/OrbitControls.d.ts +41 -3
  153. package/lib/engine-components/OrbitControls.js +41 -3
  154. package/lib/engine-components/OrbitControls.js.map +1 -1
  155. package/lib/engine-components/PlayerColor.d.ts +1 -1
  156. package/lib/engine-components/PlayerColor.js +1 -1
  157. package/lib/engine-components/ReflectionProbe.d.ts +17 -2
  158. package/lib/engine-components/ReflectionProbe.js +17 -3
  159. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  160. package/lib/engine-components/Renderer.d.ts +35 -0
  161. package/lib/engine-components/Renderer.js +36 -2
  162. package/lib/engine-components/Renderer.js.map +1 -1
  163. package/lib/engine-components/RigidBody.d.ts +57 -5
  164. package/lib/engine-components/RigidBody.js +57 -5
  165. package/lib/engine-components/RigidBody.js.map +1 -1
  166. package/lib/engine-components/SceneSwitcher.d.ts +11 -0
  167. package/lib/engine-components/SceneSwitcher.js +11 -0
  168. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  169. package/lib/engine-components/ScreenCapture.d.ts +39 -6
  170. package/lib/engine-components/ScreenCapture.js +39 -6
  171. package/lib/engine-components/ScreenCapture.js.map +1 -1
  172. package/lib/engine-components/SeeThrough.d.ts +70 -5
  173. package/lib/engine-components/SeeThrough.js +70 -5
  174. package/lib/engine-components/SeeThrough.js.map +1 -1
  175. package/lib/engine-components/ShadowCatcher.d.ts +56 -4
  176. package/lib/engine-components/ShadowCatcher.js +56 -4
  177. package/lib/engine-components/ShadowCatcher.js.map +1 -1
  178. package/lib/engine-components/Skybox.d.ts +43 -7
  179. package/lib/engine-components/Skybox.js +43 -7
  180. package/lib/engine-components/Skybox.js.map +1 -1
  181. package/lib/engine-components/SmoothFollow.d.ts +66 -7
  182. package/lib/engine-components/SmoothFollow.js +66 -7
  183. package/lib/engine-components/SmoothFollow.js.map +1 -1
  184. package/lib/engine-components/SpatialTrigger.d.ts +48 -1
  185. package/lib/engine-components/SpatialTrigger.js +48 -1
  186. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  187. package/lib/engine-components/SpectatorCamera.d.ts +21 -3
  188. package/lib/engine-components/SpectatorCamera.js +21 -3
  189. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  190. package/lib/engine-components/SyncedRoom.d.ts +7 -1
  191. package/lib/engine-components/SyncedRoom.js +7 -1
  192. package/lib/engine-components/SyncedRoom.js.map +1 -1
  193. package/lib/engine-components/SyncedTransform.d.ts +55 -6
  194. package/lib/engine-components/SyncedTransform.js +55 -6
  195. package/lib/engine-components/SyncedTransform.js.map +1 -1
  196. package/lib/engine-components/TransformGizmo.d.ts +30 -3
  197. package/lib/engine-components/TransformGizmo.js +30 -3
  198. package/lib/engine-components/TransformGizmo.js.map +1 -1
  199. package/lib/engine-components/VideoPlayer.d.ts +33 -6
  200. package/lib/engine-components/VideoPlayer.js +51 -6
  201. package/lib/engine-components/VideoPlayer.js.map +1 -1
  202. package/lib/engine-components/Voip.d.ts +33 -2
  203. package/lib/engine-components/Voip.js +33 -2
  204. package/lib/engine-components/Voip.js.map +1 -1
  205. package/lib/engine-components/export/usdz/USDZExporter.d.ts +47 -13
  206. package/lib/engine-components/export/usdz/USDZExporter.js +47 -13
  207. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  208. package/lib/engine-components/particlesystem/ParticleSystem.d.ts +82 -3
  209. package/lib/engine-components/particlesystem/ParticleSystem.js +82 -3
  210. package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
  211. package/lib/engine-components/postprocessing/Effects/Antialiasing.d.ts +1 -0
  212. package/lib/engine-components/postprocessing/Effects/Antialiasing.js +1 -0
  213. package/lib/engine-components/postprocessing/Effects/Antialiasing.js.map +1 -1
  214. package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +1 -1
  215. package/lib/engine-components/postprocessing/Effects/BloomEffect.js +1 -1
  216. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +1 -1
  217. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +1 -1
  218. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +1 -1
  219. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +1 -1
  220. package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +1 -1
  221. package/lib/engine-components/postprocessing/Effects/DepthOfField.js +1 -1
  222. package/lib/engine-components/postprocessing/Effects/EffectWrapper.d.ts +1 -0
  223. package/lib/engine-components/postprocessing/Effects/EffectWrapper.js +1 -0
  224. package/lib/engine-components/postprocessing/Effects/EffectWrapper.js.map +1 -1
  225. package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +1 -1
  226. package/lib/engine-components/postprocessing/Effects/Pixelation.js +1 -1
  227. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.d.ts +1 -1
  228. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js +1 -1
  229. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +1 -1
  230. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +1 -1
  231. package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +1 -1
  232. package/lib/engine-components/postprocessing/Effects/Sharpening.js +1 -1
  233. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +1 -1
  234. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +1 -1
  235. package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +1 -1
  236. package/lib/engine-components/postprocessing/Effects/Tonemapping.js +1 -1
  237. package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +1 -1
  238. package/lib/engine-components/postprocessing/Effects/Vignette.js +1 -1
  239. package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +1 -1
  240. package/lib/engine-components/postprocessing/PostProcessingHandler.js +1 -1
  241. package/lib/engine-components/postprocessing/Volume.d.ts +1 -1
  242. package/lib/engine-components/postprocessing/Volume.js +1 -1
  243. package/lib/engine-components/splines/Spline.d.ts +409 -12
  244. package/lib/engine-components/splines/Spline.js +409 -12
  245. package/lib/engine-components/splines/Spline.js.map +1 -1
  246. package/lib/engine-components/splines/SplineUtils.d.ts +1 -0
  247. package/lib/engine-components/splines/SplineUtils.js +1 -0
  248. package/lib/engine-components/splines/SplineUtils.js.map +1 -1
  249. package/lib/engine-components/splines/SplineWalker.d.ts +3 -1
  250. package/lib/engine-components/splines/SplineWalker.js +3 -1
  251. package/lib/engine-components/splines/SplineWalker.js.map +1 -1
  252. package/lib/engine-components/timeline/PlayableDirector.d.ts +103 -14
  253. package/lib/engine-components/timeline/PlayableDirector.js +95 -25
  254. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  255. package/lib/engine-components/timeline/TimelineModels.d.ts +14 -0
  256. package/lib/engine-components/timeline/TimelineModels.js +4 -0
  257. package/lib/engine-components/timeline/TimelineModels.js.map +1 -1
  258. package/lib/engine-components/ui/Button.d.ts +29 -3
  259. package/lib/engine-components/ui/Button.js +29 -3
  260. package/lib/engine-components/ui/Button.js.map +1 -1
  261. package/lib/engine-components/ui/Canvas.d.ts +29 -4
  262. package/lib/engine-components/ui/Canvas.js +29 -4
  263. package/lib/engine-components/ui/Canvas.js.map +1 -1
  264. package/lib/engine-components/ui/CanvasGroup.d.ts +1 -1
  265. package/lib/engine-components/ui/CanvasGroup.js +1 -1
  266. package/lib/engine-components/ui/EventSystem.d.ts +1 -1
  267. package/lib/engine-components/ui/EventSystem.js +1 -1
  268. package/lib/engine-components/ui/Graphic.d.ts +1 -0
  269. package/lib/engine-components/ui/Graphic.js +1 -0
  270. package/lib/engine-components/ui/Graphic.js.map +1 -1
  271. package/lib/engine-components/ui/Image.d.ts +22 -3
  272. package/lib/engine-components/ui/Image.js +22 -3
  273. package/lib/engine-components/ui/Image.js.map +1 -1
  274. package/lib/engine-components/ui/InputField.d.ts +1 -1
  275. package/lib/engine-components/ui/InputField.js +1 -1
  276. package/lib/engine-components/ui/Layout.d.ts +3 -0
  277. package/lib/engine-components/ui/Layout.js +3 -0
  278. package/lib/engine-components/ui/Layout.js.map +1 -1
  279. package/lib/engine-components/ui/Outline.d.ts +1 -1
  280. package/lib/engine-components/ui/Outline.js +1 -1
  281. package/lib/engine-components/ui/PointerEvents.d.ts +1 -1
  282. package/lib/engine-components/ui/PointerEvents.js +1 -1
  283. package/lib/engine-components/ui/Raycaster.d.ts +55 -6
  284. package/lib/engine-components/ui/Raycaster.js +55 -6
  285. package/lib/engine-components/ui/Raycaster.js.map +1 -1
  286. package/lib/engine-components/ui/RectTransform.d.ts +1 -1
  287. package/lib/engine-components/ui/RectTransform.js +1 -1
  288. package/lib/engine-components/ui/SpatialHtml.d.ts +1 -1
  289. package/lib/engine-components/ui/SpatialHtml.js +1 -1
  290. package/lib/engine-components/ui/Text.d.ts +23 -1
  291. package/lib/engine-components/ui/Text.js +23 -1
  292. package/lib/engine-components/ui/Text.js.map +1 -1
  293. package/lib/engine-components/utils/LookAt.d.ts +1 -1
  294. package/lib/engine-components/utils/LookAt.js +1 -1
  295. package/lib/engine-components/utils/OpenURL.d.ts +2 -1
  296. package/lib/engine-components/utils/OpenURL.js +2 -1
  297. package/lib/engine-components/utils/OpenURL.js.map +1 -1
  298. package/lib/engine-components/web/Clickthrough.d.ts +116 -7
  299. package/lib/engine-components/web/Clickthrough.js +116 -7
  300. package/lib/engine-components/web/Clickthrough.js.map +1 -1
  301. package/lib/engine-components/web/CursorFollow.d.ts +172 -7
  302. package/lib/engine-components/web/CursorFollow.js +172 -7
  303. package/lib/engine-components/web/CursorFollow.js.map +1 -1
  304. package/lib/engine-components/web/HoverAnimation.d.ts +140 -11
  305. package/lib/engine-components/web/HoverAnimation.js +140 -11
  306. package/lib/engine-components/web/HoverAnimation.js.map +1 -1
  307. package/lib/engine-components/web/ScrollFollow.d.ts +5 -1
  308. package/lib/engine-components/web/ScrollFollow.js +5 -1
  309. package/lib/engine-components/web/ScrollFollow.js.map +1 -1
  310. package/lib/engine-components/web/ViewBox.d.ts +116 -16
  311. package/lib/engine-components/web/ViewBox.js +110 -16
  312. package/lib/engine-components/web/ViewBox.js.map +1 -1
  313. package/lib/engine-components/webxr/TeleportTarget.d.ts +21 -2
  314. package/lib/engine-components/webxr/TeleportTarget.js +21 -2
  315. package/lib/engine-components/webxr/TeleportTarget.js.map +1 -1
  316. package/lib/engine-components/webxr/WebARCameraBackground.d.ts +9 -0
  317. package/lib/engine-components/webxr/WebARCameraBackground.js +9 -0
  318. package/lib/engine-components/webxr/WebARCameraBackground.js.map +1 -1
  319. package/lib/engine-components/webxr/WebXR.d.ts +11 -2
  320. package/lib/engine-components/webxr/WebXR.js +11 -2
  321. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  322. package/lib/engine-components/webxr/WebXRAvatar.d.ts +39 -2
  323. package/lib/engine-components/webxr/WebXRAvatar.js +35 -3
  324. package/lib/engine-components/webxr/WebXRAvatar.js.map +1 -1
  325. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +266 -30
  326. package/lib/engine-components/webxr/WebXRImageTracking.js +266 -30
  327. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  328. package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +1 -1
  329. package/lib/engine-components/webxr/WebXRPlaneTracking.js +1 -1
  330. package/lib/engine-components/webxr/XRFlag.d.ts +29 -2
  331. package/lib/engine-components/webxr/XRFlag.js +29 -2
  332. package/lib/engine-components/webxr/XRFlag.js.map +1 -1
  333. package/package.json +3 -3
  334. package/plugins/vite/custom-element-data.js +128 -19
  335. package/src/engine/engine_context.ts +33 -3
  336. package/src/engine/engine_gameobject.ts +73 -0
  337. package/src/engine/engine_input.ts +83 -7
  338. package/src/engine/engine_math.ts +81 -2
  339. package/src/engine/engine_networking.ts +186 -17
  340. package/src/engine/engine_networking_auto.ts +36 -9
  341. package/src/engine/engine_physics.ts +41 -1
  342. package/src/engine/engine_physics_rapier.ts +81 -0
  343. package/src/engine/engine_serialization_decorator.ts +28 -2
  344. package/src/engine/engine_time.ts +23 -3
  345. package/src/engine/engine_util_decorator.ts +31 -1
  346. package/src/engine/engine_utils.ts +22 -5
  347. package/src/engine/engine_utils_screenshot.ts +241 -17
  348. package/src/engine/engine_utils_screenshot.xr.ts +1 -1
  349. package/src/engine/extensions/NEEDLE_materialx.ts +5 -4
  350. package/src/engine/extensions/NEEDLE_techniques_webgl.ts +3 -0
  351. package/src/engine/extensions/index.ts +2 -2
  352. package/src/engine/xr/NeedleXRSession.ts +5 -0
  353. package/src/engine-components/AlignmentConstraint.ts +24 -4
  354. package/src/engine-components/Animation.ts +44 -2
  355. package/src/engine-components/Animator.ts +40 -7
  356. package/src/engine-components/AudioListener.ts +1 -1
  357. package/src/engine-components/AudioSource.ts +37 -15
  358. package/src/engine-components/AxesHelper.ts +23 -4
  359. package/src/engine-components/BasicIKConstraint.ts +28 -5
  360. package/src/engine-components/Camera.ts +33 -3
  361. package/src/engine-components/CharacterController.ts +74 -7
  362. package/src/engine-components/Collider.ts +78 -21
  363. package/src/engine-components/ContactShadows.ts +41 -11
  364. package/src/engine-components/DeleteBox.ts +43 -2
  365. package/src/engine-components/DeviceFlag.ts +22 -3
  366. package/src/engine-components/DragControls.ts +32 -2
  367. package/src/engine-components/DropListener.ts +41 -29
  368. package/src/engine-components/Duplicatable.ts +37 -6
  369. package/src/engine-components/EventList.ts +43 -15
  370. package/src/engine-components/EventTrigger.ts +1 -1
  371. package/src/engine-components/Fog.ts +23 -1
  372. package/src/engine-components/GridHelper.ts +18 -2
  373. package/src/engine-components/GroundProjection.ts +25 -3
  374. package/src/engine-components/Interactable.ts +17 -2
  375. package/src/engine-components/Joints.ts +51 -8
  376. package/src/engine-components/LODGroup.ts +45 -11
  377. package/src/engine-components/Light.ts +35 -13
  378. package/src/engine-components/LookAtConstraint.ts +26 -8
  379. package/src/engine-components/NeedleMenu.ts +29 -7
  380. package/src/engine-components/NestedGltf.ts +40 -4
  381. package/src/engine-components/OffsetConstraint.ts +27 -3
  382. package/src/engine-components/OrbitControls.ts +41 -3
  383. package/src/engine-components/PlayerColor.ts +1 -1
  384. package/src/engine-components/ReflectionProbe.ts +19 -5
  385. package/src/engine-components/Renderer.ts +35 -1
  386. package/src/engine-components/RigidBody.ts +64 -8
  387. package/src/engine-components/SceneSwitcher.ts +11 -0
  388. package/src/engine-components/ScreenCapture.ts +42 -9
  389. package/src/engine-components/SeeThrough.ts +76 -9
  390. package/src/engine-components/ShadowCatcher.ts +61 -6
  391. package/src/engine-components/Skybox.ts +48 -12
  392. package/src/engine-components/SmoothFollow.ts +68 -7
  393. package/src/engine-components/SpatialTrigger.ts +51 -4
  394. package/src/engine-components/SpectatorCamera.ts +23 -5
  395. package/src/engine-components/SyncedRoom.ts +8 -2
  396. package/src/engine-components/SyncedTransform.ts +59 -10
  397. package/src/engine-components/TransformGizmo.ts +31 -4
  398. package/src/engine-components/VideoPlayer.ts +54 -6
  399. package/src/engine-components/Voip.ts +33 -2
  400. package/src/engine-components/export/usdz/USDZExporter.ts +47 -13
  401. package/src/engine-components/particlesystem/ParticleSystem.ts +84 -5
  402. package/src/engine-components/postprocessing/Effects/Antialiasing.ts +1 -0
  403. package/src/engine-components/postprocessing/Effects/BloomEffect.ts +1 -1
  404. package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +1 -1
  405. package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +1 -1
  406. package/src/engine-components/postprocessing/Effects/DepthOfField.ts +1 -1
  407. package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +1 -0
  408. package/src/engine-components/postprocessing/Effects/Pixelation.ts +1 -1
  409. package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.ts +1 -1
  410. package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +1 -1
  411. package/src/engine-components/postprocessing/Effects/Sharpening.ts +1 -1
  412. package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +1 -1
  413. package/src/engine-components/postprocessing/Effects/Tonemapping.ts +1 -1
  414. package/src/engine-components/postprocessing/Effects/Vignette.ts +1 -1
  415. package/src/engine-components/postprocessing/PostProcessingHandler.ts +1 -1
  416. package/src/engine-components/postprocessing/Volume.ts +1 -1
  417. package/src/engine-components/splines/Spline.ts +412 -14
  418. package/src/engine-components/splines/SplineUtils.ts +1 -0
  419. package/src/engine-components/splines/SplineWalker.ts +4 -2
  420. package/src/engine-components/timeline/PlayableDirector.ts +108 -27
  421. package/src/engine-components/timeline/SignalAsset.ts +1 -1
  422. package/src/engine-components/timeline/TimelineModels.ts +18 -2
  423. package/src/engine-components/ui/Button.ts +29 -3
  424. package/src/engine-components/ui/Canvas.ts +29 -4
  425. package/src/engine-components/ui/CanvasGroup.ts +2 -2
  426. package/src/engine-components/ui/EventSystem.ts +1 -1
  427. package/src/engine-components/ui/Graphic.ts +1 -0
  428. package/src/engine-components/ui/Image.ts +22 -3
  429. package/src/engine-components/ui/InputField.ts +2 -2
  430. package/src/engine-components/ui/Layout.ts +3 -0
  431. package/src/engine-components/ui/Outline.ts +1 -1
  432. package/src/engine-components/ui/PointerEvents.ts +1 -1
  433. package/src/engine-components/ui/Raycaster.ts +57 -8
  434. package/src/engine-components/ui/RectTransform.ts +2 -2
  435. package/src/engine-components/ui/SpatialHtml.ts +1 -1
  436. package/src/engine-components/ui/Text.ts +24 -2
  437. package/src/engine-components/utils/LookAt.ts +1 -1
  438. package/src/engine-components/utils/OpenURL.ts +2 -1
  439. package/src/engine-components/web/Clickthrough.ts +119 -10
  440. package/src/engine-components/web/CursorFollow.ts +175 -9
  441. package/src/engine-components/web/HoverAnimation.ts +142 -13
  442. package/src/engine-components/web/ScrollFollow.ts +5 -1
  443. package/src/engine-components/web/ViewBox.ts +118 -18
  444. package/src/engine-components/webxr/TeleportTarget.ts +23 -4
  445. package/src/engine-components/webxr/WebARCameraBackground.ts +12 -3
  446. package/src/engine-components/webxr/WebXR.ts +12 -3
  447. package/src/engine-components/webxr/WebXRAvatar.ts +41 -4
  448. package/src/engine-components/webxr/WebXRImageTracking.ts +282 -38
  449. package/src/engine-components/webxr/WebXRPlaneTracking.ts +1 -1
  450. package/src/engine-components/webxr/XRFlag.ts +30 -3
  451. package/dist/gltf-progressive-BURrJW0U.umd.cjs +0 -8
  452. package/dist/gltf-progressive-DHLDFNvQ.min.js +0 -8
@@ -15,21 +15,52 @@ import { DragControls, DragMode } from "./DragControls.js";
15
15
  import { SyncedTransform } from "./SyncedTransform.js";
16
16
  import { ObjectRaycaster } from "./ui/Raycaster.js";
17
17
  /**
18
- * The Duplicatable component is used to duplicate a assigned {@link GameObject} when a pointer event occurs on the object.
18
+ * The [Duplicatable](https://engine.needle.tools/docs/api/Duplicatable) component creates clones of a GameObject when clicked/tapped/dragged.
19
+ * Perfect for spawning objects, creating drag-and-drop inventories, or multiplayer object creation.
20
+ *
21
+ * ![](https://cloud.needle.tools/-/media/J_ij9vxhh1zhS8h2ftGBXQ.gif)
22
+ *
23
+ * **How it works:**
24
+ * - When the user clicks on this object, it creates a clone of the assigned `object`
25
+ * - The clone is automatically set up with {@link DragControls} so users can drag it
26
+ * - If networking is enabled, clones are synced via {@link SyncedTransform}
27
+ * - Rate limiting prevents spam (controlled by `limitCount`)
28
+ *
29
+ * **Setup tips:**
30
+ * - Assign `object` to a template object (it will be hidden and used as source)
31
+ * - If `object` is not assigned, the component's own GameObject is used as template
32
+ * - Add an {@link ObjectRaycaster} to enable pointer detection (added automatically if missing)
33
+ *
34
+ * @example Basic duplicatable button
35
+ * ```ts
36
+ * const duplicatable = spawnButton.addComponent(Duplicatable);
37
+ * duplicatable.object = templateObject; // Object to clone
38
+ * duplicatable.parent = spawnContainer; // Where to place clones
39
+ * duplicatable.limitCount = 10; // Max 10 per second
40
+ * ```
19
41
  *
20
42
  * @summary Duplicates a GameObject on pointer events
21
43
  * @category Interactivity
22
44
  * @group Components
45
+ * @see {@link DragControls} for dragging the duplicated objects
46
+ * @see {@link SyncedTransform} for networking support
47
+ * @see {@link GameObject.instantiateSynced} for the underlying instantiation
48
+ * @link https://engine.needle.tools/samples/collaborative-sandbox/
23
49
  */
24
50
  export class Duplicatable extends Behaviour {
25
- /** Duplicates will be parented into the set object. If not defined, this GameObject will be used as parent. */
51
+ /**
52
+ * Parent object for spawned duplicates.
53
+ * If not set, duplicates are parented to this GameObject's parent.
54
+ */
26
55
  parent = null;
27
- /** The object to be duplicated. If no object is assigned then the object the Duplicatable component is attached to will be used for cloning.
28
- * @default null
56
+ /**
57
+ * Template object to duplicate. This object will be hidden and used as the source for clones.
58
+ * If not assigned, this GameObject itself is used as the template.
29
59
  */
30
60
  object = null;
31
61
  /**
32
- * The maximum number of objects that can be duplicated in the interval.
62
+ * Maximum duplications allowed per second to prevent spam.
63
+ * The counter decreases by 1 each second.
33
64
  * @default 60
34
65
  */
35
66
  limitCount = 60;
@@ -1 +1 @@
1
- {"version":3,"file":"Duplicatable.js","sourceRoot":"","sources":["../../src/engine-components/Duplicatable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Duplicatable.js","sourceRoot":"","sources":["../../src/engine-components/Duplicatable.ts"],"names":[],"mappings":"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"}
@@ -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 */
@@ -127,10 +155,10 @@ export class EventList {
127
155
  // remap the arguments to the new instance (e.g. if an object is passed as an argument to the event list and this object has been cloned we want to remap it to the clone)
128
156
  const newArguments = method.arguments?.map(arg => {
129
157
  if (arg instanceof Object && arg.uuid) {
130
- return ctx[arg.uuid];
158
+ return ctx[arg.uuid].clone;
131
159
  }
132
160
  else if (arg?.isComponent) {
133
- return ctx[arg.guid];
161
+ return ctx[arg.guid].clone;
134
162
  }
135
163
  return arg;
136
164
  });
@@ -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"}