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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +38 -1
  3. package/components.needle.json +1 -1
  4. package/custom-elements.json +156 -5
  5. package/dist/{gltf-progressive-BqUnxvCx.umd.cjs → gltf-progressive-BURrJW0U.umd.cjs} +1 -1
  6. package/dist/{gltf-progressive-CSaX5HQb.min.js → gltf-progressive-DHLDFNvQ.min.js} +1 -1
  7. package/dist/{gltf-progressive-ChnIhDXx.js → gltf-progressive-eiJCrjLb.js} +3 -3
  8. package/dist/materialx-B9ddsHcF.min.js +90 -0
  9. package/dist/materialx-BF23AVE8.umd.cjs +90 -0
  10. package/dist/materialx-fkoFuRh3.js +4636 -0
  11. package/dist/{needle-engine.bundle-Cnemui9H.umd.cjs → needle-engine.bundle-BfrDWglE.umd.cjs} +124 -124
  12. package/dist/{needle-engine.bundle-B_IGIr6Z.min.js → needle-engine.bundle-Bx_Lq_3v.min.js} +131 -131
  13. package/dist/{needle-engine.bundle-Cj66livk.js → needle-engine.bundle-MQyZGnMF.js} +3754 -3374
  14. package/dist/needle-engine.d.ts +2791 -309
  15. package/dist/needle-engine.js +415 -414
  16. package/dist/needle-engine.min.js +1 -1
  17. package/dist/needle-engine.umd.cjs +1 -1
  18. package/dist/{postprocessing-12-UW7je.min.js → postprocessing-BVNrgYZK.min.js} +1 -1
  19. package/dist/{postprocessing-B3Hu0Ryi.umd.cjs → postprocessing-CI2TjWpu.umd.cjs} +1 -1
  20. package/dist/{postprocessing-R535krvT.js → postprocessing-DdM-tz1j.js} +2 -2
  21. package/dist/{three-BzxwLtUE.umd.cjs → three-BW2s1Yl-.umd.cjs} +25 -25
  22. package/dist/{three-DMvLgxja.min.js → three-I__hSXzr.min.js} +26 -26
  23. package/dist/{three-D9pcFbxc.js → three-VvRoMeIN.js} +22 -0
  24. package/dist/{three-examples-F0MJj0vr.js → three-examples-BhfOE7NG.js} +1 -1
  25. package/dist/{three-examples-CjSwCv_b.umd.cjs → three-examples-Bpfu6ke_.umd.cjs} +1 -1
  26. package/dist/{three-examples-CIv2roOA.min.js → three-examples-D8zAE_7t.min.js} +1 -1
  27. package/dist/{three-mesh-ui-BLnJQzMl.umd.cjs → three-mesh-ui-BU55xDxJ.umd.cjs} +1 -1
  28. package/dist/{three-mesh-ui-BllgajJz.min.js → three-mesh-ui-C3QbemOV.min.js} +1 -1
  29. package/dist/{three-mesh-ui-DYyiRn5Y.js → three-mesh-ui-CcMp-FQm.js} +1 -1
  30. package/dist/{vendor-BIFy-gRe.js → vendor-BiyIZ61v.js} +1 -1
  31. package/dist/{vendor-BFgQSG2m.umd.cjs → vendor-COVQl0b8.umd.cjs} +1 -1
  32. package/dist/{vendor-ChgmXMYr.min.js → vendor-DW7zqjuT.min.js} +1 -1
  33. package/lib/engine/engine_context.d.ts +16 -0
  34. package/lib/engine/engine_context.js +16 -0
  35. package/lib/engine/engine_context.js.map +1 -1
  36. package/lib/engine/engine_gameobject.d.ts +72 -0
  37. package/lib/engine/engine_gameobject.js +38 -0
  38. package/lib/engine/engine_gameobject.js.map +1 -1
  39. package/lib/engine/engine_input.d.ts +80 -4
  40. package/lib/engine/engine_input.js +78 -2
  41. package/lib/engine/engine_input.js.map +1 -1
  42. package/lib/engine/engine_loaders.js +7 -1
  43. package/lib/engine/engine_loaders.js.map +1 -1
  44. package/lib/engine/engine_math.d.ts +81 -2
  45. package/lib/engine/engine_math.js +68 -2
  46. package/lib/engine/engine_math.js.map +1 -1
  47. package/lib/engine/engine_modules.d.ts +9 -0
  48. package/lib/engine/engine_modules.js +25 -0
  49. package/lib/engine/engine_modules.js.map +1 -1
  50. package/lib/engine/engine_networking.d.ts +181 -14
  51. package/lib/engine/engine_networking.js +181 -14
  52. package/lib/engine/engine_networking.js.map +1 -1
  53. package/lib/engine/engine_networking_auto.d.ts +35 -8
  54. package/lib/engine/engine_networking_auto.js +35 -8
  55. package/lib/engine/engine_networking_auto.js.map +1 -1
  56. package/lib/engine/engine_physics.d.ts +35 -1
  57. package/lib/engine/engine_physics.js +35 -1
  58. package/lib/engine/engine_physics.js.map +1 -1
  59. package/lib/engine/engine_physics_rapier.d.ts +76 -0
  60. package/lib/engine/engine_physics_rapier.js +76 -0
  61. package/lib/engine/engine_physics_rapier.js.map +1 -1
  62. package/lib/engine/engine_serialization_decorator.d.ts +28 -2
  63. package/lib/engine/engine_serialization_decorator.js +28 -2
  64. package/lib/engine/engine_serialization_decorator.js.map +1 -1
  65. package/lib/engine/engine_time.d.ts +23 -3
  66. package/lib/engine/engine_time.js +23 -3
  67. package/lib/engine/engine_time.js.map +1 -1
  68. package/lib/engine/engine_util_decorator.d.ts +31 -1
  69. package/lib/engine/engine_util_decorator.js +31 -1
  70. package/lib/engine/engine_util_decorator.js.map +1 -1
  71. package/lib/engine/engine_utils.d.ts +21 -5
  72. package/lib/engine/engine_utils.js +21 -5
  73. package/lib/engine/engine_utils.js.map +1 -1
  74. package/lib/engine/engine_utils_format.d.ts +1 -1
  75. package/lib/engine/engine_utils_format.js +4 -1
  76. package/lib/engine/engine_utils_format.js.map +1 -1
  77. package/lib/engine/extensions/NEEDLE_materialx.d.ts +29 -0
  78. package/lib/engine/extensions/NEEDLE_materialx.js +115 -0
  79. package/lib/engine/extensions/NEEDLE_materialx.js.map +1 -0
  80. package/lib/engine/extensions/extensions.js +2 -0
  81. package/lib/engine/extensions/extensions.js.map +1 -1
  82. package/lib/engine/extensions/index.d.ts +1 -0
  83. package/lib/engine/extensions/index.js +1 -0
  84. package/lib/engine/extensions/index.js.map +1 -1
  85. package/lib/engine-components/AlignmentConstraint.d.ts +23 -3
  86. package/lib/engine-components/AlignmentConstraint.js +23 -3
  87. package/lib/engine-components/AlignmentConstraint.js.map +1 -1
  88. package/lib/engine-components/Animation.d.ts +42 -0
  89. package/lib/engine-components/Animation.js +36 -0
  90. package/lib/engine-components/Animation.js.map +1 -1
  91. package/lib/engine-components/Animator.d.ts +37 -4
  92. package/lib/engine-components/Animator.js +37 -4
  93. package/lib/engine-components/Animator.js.map +1 -1
  94. package/lib/engine-components/AudioSource.d.ts +32 -10
  95. package/lib/engine-components/AudioSource.js +32 -10
  96. package/lib/engine-components/AudioSource.js.map +1 -1
  97. package/lib/engine-components/AxesHelper.d.ts +22 -3
  98. package/lib/engine-components/AxesHelper.js +22 -3
  99. package/lib/engine-components/AxesHelper.js.map +1 -1
  100. package/lib/engine-components/BasicIKConstraint.d.ts +27 -4
  101. package/lib/engine-components/BasicIKConstraint.js +27 -4
  102. package/lib/engine-components/BasicIKConstraint.js.map +1 -1
  103. package/lib/engine-components/Camera.d.ts +31 -1
  104. package/lib/engine-components/Camera.js +31 -1
  105. package/lib/engine-components/Camera.js.map +1 -1
  106. package/lib/engine-components/CharacterController.d.ts +67 -3
  107. package/lib/engine-components/CharacterController.js +67 -3
  108. package/lib/engine-components/CharacterController.js.map +1 -1
  109. package/lib/engine-components/Collider.d.ts +69 -12
  110. package/lib/engine-components/Collider.js +69 -12
  111. package/lib/engine-components/Collider.js.map +1 -1
  112. package/lib/engine-components/ContactShadows.d.ts +26 -6
  113. package/lib/engine-components/ContactShadows.js +46 -8
  114. package/lib/engine-components/ContactShadows.js.map +1 -1
  115. package/lib/engine-components/DeleteBox.d.ts +43 -2
  116. package/lib/engine-components/DeleteBox.js +43 -2
  117. package/lib/engine-components/DeleteBox.js.map +1 -1
  118. package/lib/engine-components/DeviceFlag.d.ts +21 -2
  119. package/lib/engine-components/DeviceFlag.js +21 -2
  120. package/lib/engine-components/DeviceFlag.js.map +1 -1
  121. package/lib/engine-components/DragControls.d.ts +32 -2
  122. package/lib/engine-components/DragControls.js +32 -2
  123. package/lib/engine-components/DragControls.js.map +1 -1
  124. package/lib/engine-components/DropListener.d.ts +33 -21
  125. package/lib/engine-components/DropListener.js +33 -21
  126. package/lib/engine-components/DropListener.js.map +1 -1
  127. package/lib/engine-components/Duplicatable.d.ts +36 -5
  128. package/lib/engine-components/Duplicatable.js +36 -5
  129. package/lib/engine-components/Duplicatable.js.map +1 -1
  130. package/lib/engine-components/EventList.d.ts +38 -10
  131. package/lib/engine-components/EventList.js +38 -10
  132. package/lib/engine-components/EventList.js.map +1 -1
  133. package/lib/engine-components/Fog.d.ts +23 -1
  134. package/lib/engine-components/Fog.js +23 -1
  135. package/lib/engine-components/Fog.js.map +1 -1
  136. package/lib/engine-components/GridHelper.d.ts +18 -2
  137. package/lib/engine-components/GridHelper.js +18 -2
  138. package/lib/engine-components/GridHelper.js.map +1 -1
  139. package/lib/engine-components/GroundProjection.d.ts +24 -2
  140. package/lib/engine-components/GroundProjection.js +24 -2
  141. package/lib/engine-components/GroundProjection.js.map +1 -1
  142. package/lib/engine-components/Interactable.d.ts +17 -2
  143. package/lib/engine-components/Interactable.js +17 -2
  144. package/lib/engine-components/Interactable.js.map +1 -1
  145. package/lib/engine-components/Joints.d.ts +50 -7
  146. package/lib/engine-components/Joints.js +50 -7
  147. package/lib/engine-components/Joints.js.map +1 -1
  148. package/lib/engine-components/LODGroup.d.ts +36 -14
  149. package/lib/engine-components/LODGroup.js +43 -11
  150. package/lib/engine-components/LODGroup.js.map +1 -1
  151. package/lib/engine-components/Light.d.ts +27 -5
  152. package/lib/engine-components/Light.js +27 -5
  153. package/lib/engine-components/Light.js.map +1 -1
  154. package/lib/engine-components/LookAtConstraint.d.ts +22 -7
  155. package/lib/engine-components/LookAtConstraint.js +22 -7
  156. package/lib/engine-components/LookAtConstraint.js.map +1 -1
  157. package/lib/engine-components/NeedleMenu.d.ts +27 -5
  158. package/lib/engine-components/NeedleMenu.js +27 -5
  159. package/lib/engine-components/NeedleMenu.js.map +1 -1
  160. package/lib/engine-components/NestedGltf.d.ts +39 -4
  161. package/lib/engine-components/NestedGltf.js +42 -4
  162. package/lib/engine-components/NestedGltf.js.map +1 -1
  163. package/lib/engine-components/OffsetConstraint.d.ts +27 -3
  164. package/lib/engine-components/OffsetConstraint.js +27 -3
  165. package/lib/engine-components/OffsetConstraint.js.map +1 -1
  166. package/lib/engine-components/OrbitControls.d.ts +41 -3
  167. package/lib/engine-components/OrbitControls.js +41 -3
  168. package/lib/engine-components/OrbitControls.js.map +1 -1
  169. package/lib/engine-components/ReflectionProbe.d.ts +17 -2
  170. package/lib/engine-components/ReflectionProbe.js +28 -10
  171. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  172. package/lib/engine-components/Renderer.d.ts +34 -0
  173. package/lib/engine-components/Renderer.js +35 -2
  174. package/lib/engine-components/Renderer.js.map +1 -1
  175. package/lib/engine-components/SceneSwitcher.d.ts +11 -0
  176. package/lib/engine-components/SceneSwitcher.js +11 -0
  177. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  178. package/lib/engine-components/ScreenCapture.d.ts +38 -6
  179. package/lib/engine-components/ScreenCapture.js +38 -6
  180. package/lib/engine-components/ScreenCapture.js.map +1 -1
  181. package/lib/engine-components/Skybox.js +1 -1
  182. package/lib/engine-components/Skybox.js.map +1 -1
  183. package/lib/engine-components/SmoothFollow.d.ts +66 -7
  184. package/lib/engine-components/SmoothFollow.js +66 -7
  185. package/lib/engine-components/SmoothFollow.js.map +1 -1
  186. package/lib/engine-components/SpatialTrigger.d.ts +48 -1
  187. package/lib/engine-components/SpatialTrigger.js +48 -1
  188. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  189. package/lib/engine-components/SpectatorCamera.d.ts +21 -3
  190. package/lib/engine-components/SpectatorCamera.js +21 -3
  191. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  192. package/lib/engine-components/SyncedRoom.d.ts +6 -0
  193. package/lib/engine-components/SyncedRoom.js +6 -0
  194. package/lib/engine-components/SyncedRoom.js.map +1 -1
  195. package/lib/engine-components/SyncedTransform.d.ts +55 -6
  196. package/lib/engine-components/SyncedTransform.js +55 -6
  197. package/lib/engine-components/SyncedTransform.js.map +1 -1
  198. package/lib/engine-components/TransformGizmo.d.ts +30 -3
  199. package/lib/engine-components/TransformGizmo.js +30 -3
  200. package/lib/engine-components/TransformGizmo.js.map +1 -1
  201. package/lib/engine-components/VideoPlayer.d.ts +33 -6
  202. package/lib/engine-components/VideoPlayer.js +45 -6
  203. package/lib/engine-components/VideoPlayer.js.map +1 -1
  204. package/lib/engine-components/Voip.d.ts +33 -2
  205. package/lib/engine-components/Voip.js +33 -2
  206. package/lib/engine-components/Voip.js.map +1 -1
  207. package/lib/engine-components/export/usdz/USDZExporter.d.ts +47 -13
  208. package/lib/engine-components/export/usdz/USDZExporter.js +47 -13
  209. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  210. package/lib/engine-components/particlesystem/ParticleSystem.d.ts +82 -3
  211. package/lib/engine-components/particlesystem/ParticleSystem.js +82 -3
  212. package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
  213. package/lib/engine-components/timeline/PlayableDirector.d.ts +99 -14
  214. package/lib/engine-components/timeline/PlayableDirector.js +91 -25
  215. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  216. package/lib/engine-components/ui/Button.d.ts +29 -3
  217. package/lib/engine-components/ui/Button.js +29 -3
  218. package/lib/engine-components/ui/Button.js.map +1 -1
  219. package/lib/engine-components/ui/Canvas.d.ts +28 -3
  220. package/lib/engine-components/ui/Canvas.js +28 -3
  221. package/lib/engine-components/ui/Canvas.js.map +1 -1
  222. package/lib/engine-components/ui/Image.d.ts +22 -3
  223. package/lib/engine-components/ui/Image.js +22 -3
  224. package/lib/engine-components/ui/Image.js.map +1 -1
  225. package/lib/engine-components/ui/Raycaster.d.ts +55 -6
  226. package/lib/engine-components/ui/Raycaster.js +55 -6
  227. package/lib/engine-components/ui/Raycaster.js.map +1 -1
  228. package/lib/engine-components/ui/Text.d.ts +23 -1
  229. package/lib/engine-components/ui/Text.js +23 -1
  230. package/lib/engine-components/ui/Text.js.map +1 -1
  231. package/lib/engine-components/webxr/TeleportTarget.d.ts +21 -2
  232. package/lib/engine-components/webxr/TeleportTarget.js +21 -2
  233. package/lib/engine-components/webxr/TeleportTarget.js.map +1 -1
  234. package/lib/engine-components/webxr/WebXR.d.ts +10 -2
  235. package/lib/engine-components/webxr/WebXR.js +10 -2
  236. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  237. package/lib/engine-components/webxr/WebXRAvatar.d.ts +39 -2
  238. package/lib/engine-components/webxr/WebXRAvatar.js +35 -3
  239. package/lib/engine-components/webxr/WebXRAvatar.js.map +1 -1
  240. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +266 -30
  241. package/lib/engine-components/webxr/WebXRImageTracking.js +266 -30
  242. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  243. package/lib/engine-components/webxr/XRFlag.d.ts +29 -2
  244. package/lib/engine-components/webxr/XRFlag.js +29 -2
  245. package/lib/engine-components/webxr/XRFlag.js.map +1 -1
  246. package/package.json +3 -2
  247. package/plugins/vite/custom-element-data.js +128 -19
  248. package/plugins/vite/dependencies.js +9 -4
  249. package/plugins/vite/index.js +0 -2
  250. package/src/engine/engine_context.ts +16 -0
  251. package/src/engine/engine_gameobject.ts +73 -0
  252. package/src/engine/engine_input.ts +83 -7
  253. package/src/engine/engine_loaders.ts +9 -2
  254. package/src/engine/engine_math.ts +81 -2
  255. package/src/engine/engine_modules.ts +24 -0
  256. package/src/engine/engine_networking.ts +187 -17
  257. package/src/engine/engine_networking_auto.ts +36 -9
  258. package/src/engine/engine_physics.ts +37 -1
  259. package/src/engine/engine_physics_rapier.ts +77 -0
  260. package/src/engine/engine_serialization_decorator.ts +28 -2
  261. package/src/engine/engine_time.ts +23 -3
  262. package/src/engine/engine_util_decorator.ts +31 -1
  263. package/src/engine/engine_utils.ts +21 -5
  264. package/src/engine/engine_utils_format.ts +6 -2
  265. package/src/engine/extensions/NEEDLE_materialx.ts +143 -0
  266. package/src/engine/extensions/extensions.ts +2 -0
  267. package/src/engine/extensions/index.ts +1 -0
  268. package/src/engine-components/AlignmentConstraint.ts +24 -4
  269. package/src/engine-components/Animation.ts +44 -2
  270. package/src/engine-components/Animator.ts +40 -7
  271. package/src/engine-components/AudioSource.ts +37 -15
  272. package/src/engine-components/AxesHelper.ts +23 -4
  273. package/src/engine-components/BasicIKConstraint.ts +28 -5
  274. package/src/engine-components/Camera.ts +33 -3
  275. package/src/engine-components/CharacterController.ts +73 -6
  276. package/src/engine-components/Collider.ts +78 -21
  277. package/src/engine-components/ContactShadows.ts +51 -11
  278. package/src/engine-components/DeleteBox.ts +43 -2
  279. package/src/engine-components/DeviceFlag.ts +22 -3
  280. package/src/engine-components/DragControls.ts +32 -2
  281. package/src/engine-components/DropListener.ts +42 -29
  282. package/src/engine-components/Duplicatable.ts +37 -6
  283. package/src/engine-components/EventList.ts +41 -13
  284. package/src/engine-components/Fog.ts +23 -1
  285. package/src/engine-components/GridHelper.ts +18 -2
  286. package/src/engine-components/GroundProjection.ts +25 -3
  287. package/src/engine-components/Interactable.ts +17 -2
  288. package/src/engine-components/Joints.ts +51 -8
  289. package/src/engine-components/LODGroup.ts +45 -11
  290. package/src/engine-components/Light.ts +30 -8
  291. package/src/engine-components/LookAtConstraint.ts +26 -8
  292. package/src/engine-components/NeedleMenu.ts +29 -7
  293. package/src/engine-components/NestedGltf.ts +40 -4
  294. package/src/engine-components/OffsetConstraint.ts +27 -3
  295. package/src/engine-components/OrbitControls.ts +41 -3
  296. package/src/engine-components/ReflectionProbe.ts +31 -13
  297. package/src/engine-components/Renderer.ts +34 -1
  298. package/src/engine-components/SceneSwitcher.ts +11 -0
  299. package/src/engine-components/ScreenCapture.ts +41 -9
  300. package/src/engine-components/Skybox.ts +1 -1
  301. package/src/engine-components/SmoothFollow.ts +69 -7
  302. package/src/engine-components/SpatialTrigger.ts +51 -4
  303. package/src/engine-components/SpectatorCamera.ts +23 -5
  304. package/src/engine-components/SyncedRoom.ts +6 -0
  305. package/src/engine-components/SyncedTransform.ts +59 -10
  306. package/src/engine-components/TransformGizmo.ts +31 -4
  307. package/src/engine-components/VideoPlayer.ts +48 -6
  308. package/src/engine-components/Voip.ts +33 -2
  309. package/src/engine-components/export/usdz/USDZExporter.ts +47 -13
  310. package/src/engine-components/particlesystem/ParticleSystem.ts +84 -5
  311. package/src/engine-components/timeline/PlayableDirector.ts +104 -27
  312. package/src/engine-components/ui/Button.ts +29 -3
  313. package/src/engine-components/ui/Canvas.ts +28 -3
  314. package/src/engine-components/ui/Image.ts +22 -3
  315. package/src/engine-components/ui/Raycaster.ts +57 -8
  316. package/src/engine-components/ui/Text.ts +24 -2
  317. package/src/engine-components/webxr/TeleportTarget.ts +23 -4
  318. package/src/engine-components/webxr/WebXR.ts +11 -3
  319. package/src/engine-components/webxr/WebXRAvatar.ts +41 -4
  320. package/src/engine-components/webxr/WebXRImageTracking.ts +282 -38
  321. package/src/engine-components/webxr/XRFlag.ts +30 -3
  322. package/plugins/vite/materialx.js +0 -32
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../../src/engine/extensions/extensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../../src/engine/extensions/extensions.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,6 @@ export { compareAssociation } from "./extension_utils.js";
2
2
  export * from "./extensions.js";
3
3
  export * from "./NEEDLE_animator_controller_model.js";
4
4
  export { SceneLightSettings } from "./NEEDLE_lighting_settings.js";
5
+ export { MaterialX } from "./NEEDLE_materialx.js";
5
6
  export * from "./NEEDLE_progressive.js";
6
7
  export { CustomShader } from "./NEEDLE_techniques_webgl.js";
@@ -2,6 +2,7 @@ export { compareAssociation } from "./extension_utils.js";
2
2
  export * from "./extensions.js";
3
3
  export * from "./NEEDLE_animator_controller_model.js";
4
4
  export { SceneLightSettings } from "./NEEDLE_lighting_settings.js";
5
+ export { MaterialX } from "./NEEDLE_materialx.js";
5
6
  export * from "./NEEDLE_progressive.js";
6
7
  export { CustomShader } from "./NEEDLE_techniques_webgl.js";
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/extensions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uCAAuC,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,cAAc,yBAAyB,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/extensions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uCAAuC,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,cAAc,yBAAyB,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA"}
@@ -1,11 +1,31 @@
1
1
  import { Behaviour } from "./Component.js";
2
2
  /**
3
- * Aligns this GameObject between two other GameObjects, scaling it to fit the distance.
4
- * You can use this to create dynamic beams or connectors between objects.
3
+ * AlignmentConstraint positions and scales this GameObject to span between two target objects.
4
+ * The object is rotated to face `to` and scaled along Z to match the distance.
5
5
  *
6
- * @summary Aligns and scales the object between two target GameObjects
6
+ * **Use cases:**
7
+ * - Dynamic beams or laser effects between objects
8
+ * - Stretchy connectors or ropes
9
+ * - Visual links between UI elements
10
+ * - Debug lines between transforms
11
+ *
12
+ * **How it works:**
13
+ * - Position: Centered between `from` and `to` (or at `from` if not centered)
14
+ * - Rotation: Looks at `to` from `from`
15
+ * - Scale: Z-axis scales to match distance, X/Y use `width`
16
+ *
17
+ * @example Create a beam between two objects
18
+ * ```ts
19
+ * const beam = beamMesh.addComponent(AlignmentConstraint);
20
+ * // Set targets via serialized properties in editor
21
+ * // or via code if properties are exposed
22
+ * ```
23
+ *
24
+ * @summary Aligns and scales object between two targets
7
25
  * @category Constraints
8
26
  * @group Components
27
+ * @see {@link LookAtConstraint} for rotation-only constraints
28
+ * @see {@link SmoothFollow} for following with smoothing
9
29
  **/
10
30
  export declare class AlignmentConstraint extends Behaviour {
11
31
  private from;
@@ -9,12 +9,32 @@ import { serializable } from "../engine/engine_serialization_decorator.js";
9
9
  import * as utils from "./../engine/engine_three_utils.js";
10
10
  import { Behaviour, GameObject } from "./Component.js";
11
11
  /**
12
- * Aligns this GameObject between two other GameObjects, scaling it to fit the distance.
13
- * You can use this to create dynamic beams or connectors between objects.
12
+ * AlignmentConstraint positions and scales this GameObject to span between two target objects.
13
+ * The object is rotated to face `to` and scaled along Z to match the distance.
14
14
  *
15
- * @summary Aligns and scales the object between two target GameObjects
15
+ * **Use cases:**
16
+ * - Dynamic beams or laser effects between objects
17
+ * - Stretchy connectors or ropes
18
+ * - Visual links between UI elements
19
+ * - Debug lines between transforms
20
+ *
21
+ * **How it works:**
22
+ * - Position: Centered between `from` and `to` (or at `from` if not centered)
23
+ * - Rotation: Looks at `to` from `from`
24
+ * - Scale: Z-axis scales to match distance, X/Y use `width`
25
+ *
26
+ * @example Create a beam between two objects
27
+ * ```ts
28
+ * const beam = beamMesh.addComponent(AlignmentConstraint);
29
+ * // Set targets via serialized properties in editor
30
+ * // or via code if properties are exposed
31
+ * ```
32
+ *
33
+ * @summary Aligns and scales object between two targets
16
34
  * @category Constraints
17
35
  * @group Components
36
+ * @see {@link LookAtConstraint} for rotation-only constraints
37
+ * @see {@link SmoothFollow} for following with smoothing
18
38
  **/
19
39
  export class AlignmentConstraint extends Behaviour {
20
40
  from;
@@ -1 +1 @@
1
- {"version":3,"file":"AlignmentConstraint.js","sourceRoot":"","sources":["../../src/engine-components/AlignmentConstraint.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,KAAK,KAAK,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;;IAOI;AACJ,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IAGtC,IAAI,CAAyB;IAE7B,EAAE,CAAyB;IAE3B,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAY,IAAI,CAAC;IACzB,UAAU,CAAW;IAE7B,KAAK;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,OAAO,EAAE,CAAC;IACpC,CAAC;IAED,MAAM;QACF,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO;QAEnC,MAAM,YAAY,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAEjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAEpC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACxF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;CACJ;AA3BG;IADC,YAAY,CAAC,UAAU,CAAC;iDACY;AAErC;IADC,YAAY,CAAC,UAAU,CAAC;+CACU"}
1
+ {"version":3,"file":"AlignmentConstraint.js","sourceRoot":"","sources":["../../src/engine-components/AlignmentConstraint.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,KAAK,KAAK,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2BI;AACJ,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IAGtC,IAAI,CAAyB;IAE7B,EAAE,CAAyB;IAE3B,KAAK,GAAW,CAAC,CAAC;IAClB,QAAQ,GAAY,IAAI,CAAC;IACzB,UAAU,CAAW;IAE7B,KAAK;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,OAAO,EAAE,CAAC;IACpC,CAAC;IAED,MAAM;QACF,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO;QAEnC,MAAM,YAAY,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAEjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAEpC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACxF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;CACJ;AA3BG;IADC,YAAY,CAAC,UAAU,CAAC;iDACY;AAErC;IADC,YAAY,CAAC,UAAU,CAAC;+CACU"}
@@ -1,6 +1,12 @@
1
1
  import { AnimationAction, AnimationClip } from "three";
2
2
  import { IAnimationComponent } from "../engine/engine_types.js";
3
3
  import { Behaviour } from "./Component.js";
4
+ /**
5
+ * Options for controlling animation playback via {@link Animation.play}.
6
+ * All options are optional - defaults are sensible for most use cases.
7
+ *
8
+ * @see {@link Animation} for the component that uses these options
9
+ */
4
10
  export declare type PlayOptions = {
5
11
  /**
6
12
  * The fade duration in seconds for the action to fade in and other actions to fade out (if exclusive is enabled)
@@ -50,10 +56,46 @@ declare class Vec2 {
50
56
  }
51
57
  /**
52
58
  * Animation component to play animations on a GameObject.
59
+ * For simpler animation needs compared to {@link Animator}, this component directly
60
+ * plays AnimationClips without state machine logic.
61
+ *
62
+ * **Key features:**
63
+ * - Play animations by index, name, or clip reference
64
+ * - Cross-fade between animations with `fadeDuration`
65
+ * - Loop or play once with optional clamping
66
+ * - Random start time and speed variation
67
+ * - Promise-based completion handling
68
+ *
69
+ *
70
+ * ![](https://cloud.needle.tools/-/media/zXQhLgtxr5ZaxLDTDb3MXA.gif)
71
+ *
72
+ * @example Play animation by name
73
+ * ```ts
74
+ * const anim = this.gameObject.getComponent(Animation);
75
+ * await anim?.play("Walk", { loop: true, fadeDuration: 0.3 });
76
+ * ```
77
+ *
78
+ * @example Play with options
79
+ * ```ts
80
+ * anim?.play(0, {
81
+ * loop: false,
82
+ * clampWhenFinished: true,
83
+ * speed: 2
84
+ * });
85
+ * ```
53
86
  *
54
87
  * @summary Plays animations from AnimationClips
55
88
  * @category Animation and Sequencing
56
89
  * @group Components
90
+ * @see {@link Animator} for state machine-based animation
91
+ * @see {@link PlayOptions} for all playback options
92
+ * @link https://engine.needle.tools/samples/?overlay=samples&tag=animation
93
+ * @link https://engine.needle.tools/samples/imunogard/
94
+ *
95
+ * @link https://engine.needle.tools/docs/blender/animation.html
96
+ *
97
+ * ![](https://cloud.needle.tools/-/media/vAYv-kU-eMpICqQZHJktCA.gif)
98
+ *
57
99
  */
58
100
  export declare class Animation extends Behaviour implements IAnimationComponent {
59
101
  get isAnimationComponent(): boolean;
@@ -17,10 +17,46 @@ class Vec2 {
17
17
  }
18
18
  /**
19
19
  * Animation component to play animations on a GameObject.
20
+ * For simpler animation needs compared to {@link Animator}, this component directly
21
+ * plays AnimationClips without state machine logic.
22
+ *
23
+ * **Key features:**
24
+ * - Play animations by index, name, or clip reference
25
+ * - Cross-fade between animations with `fadeDuration`
26
+ * - Loop or play once with optional clamping
27
+ * - Random start time and speed variation
28
+ * - Promise-based completion handling
29
+ *
30
+ *
31
+ * ![](https://cloud.needle.tools/-/media/zXQhLgtxr5ZaxLDTDb3MXA.gif)
32
+ *
33
+ * @example Play animation by name
34
+ * ```ts
35
+ * const anim = this.gameObject.getComponent(Animation);
36
+ * await anim?.play("Walk", { loop: true, fadeDuration: 0.3 });
37
+ * ```
38
+ *
39
+ * @example Play with options
40
+ * ```ts
41
+ * anim?.play(0, {
42
+ * loop: false,
43
+ * clampWhenFinished: true,
44
+ * speed: 2
45
+ * });
46
+ * ```
20
47
  *
21
48
  * @summary Plays animations from AnimationClips
22
49
  * @category Animation and Sequencing
23
50
  * @group Components
51
+ * @see {@link Animator} for state machine-based animation
52
+ * @see {@link PlayOptions} for all playback options
53
+ * @link https://engine.needle.tools/samples/?overlay=samples&tag=animation
54
+ * @link https://engine.needle.tools/samples/imunogard/
55
+ *
56
+ * @link https://engine.needle.tools/docs/blender/animation.html
57
+ *
58
+ * ![](https://cloud.needle.tools/-/media/vAYv-kU-eMpICqQZHJktCA.gif)
59
+ *
24
60
  */
25
61
  export class Animation extends Behaviour {
26
62
  get isAnimationComponent() { return true; }
@@ -1 +1 @@
1
- {"version":3,"file":"Animation.js","sourceRoot":"","sources":["../../src/engine-components/Animation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Animation.js","sourceRoot":"","sources":["../../src/engine-components/Animation.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAmB,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE7F,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAE3E,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAsDzC,MAAM,IAAI;IAAG,CAAC,CAAU;IAAC,CAAC,CAAS;CAAE;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,OAAO,SAAU,SAAQ,SAAS;IAEpC,IAAI,oBAAoB,KAAc,OAAO,IAAI,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,IAAmB;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IAEH,iBAAiB,GAAY,IAAI,CAAC;IAElC;;;OAGG;IAEH,eAAe,GAAY,KAAK,CAAC;IAEjC;;;OAGG;IAEH,WAAW,CAAQ;IAEnB;;;OAGG;IAEH,sBAAsB,CAAQ;IAE9B;;;OAGG;IAEH,IAAI,GAAY,IAAI,CAAC;IAErB;;OAEG;IAEH,iBAAiB,GAAY,KAAK,CAAC;IAEnC;;;OAGG;IACH,IAAI,IAAI;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC/B,IAAI,MAAM,CAAC,SAAS,EAAE;oBAAE,OAAO,MAAM,CAAC,IAAI,CAAC;aAC9C;SACJ;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IACD,IAAI,IAAI,CAAC,GAAW;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC5B,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;aAClB;SACJ;IACL,CAAC;IAED,IAAI,QAAQ;QACR,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC/B,IAAI,MAAM,CAAC,SAAS,EAAE;oBAAE,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;aAC5D;SACJ;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAEO,yCAAyC,GAAyB,IAAI,CAAC;IAC/E;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,CAAC;IACD;;OAEG;IACH,IAAI,IAAI,CAAC,GAAyB;QAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;YACjE,IAAI,CAAC,yCAAyC,GAAG,GAAG,CAAC;YACrD,OAAO;SACV;QACD,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,wEAAwE;QACxE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;QACjE,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO;QAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;SACrC;;YAEG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAGD,IAAI,KAAK,CAAC,UAA2B;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAEO,oBAAoB,CAA8B;IAC1D,IAAI,UAAU,CAAC,UAA2B;QACtC,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAAE,OAAO;QAC1F,IAAI,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC;aACvC;YACD,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC;SAC1C;IACL,CAAC;IACD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,UAAU,EAAE,UAAU,IAAI,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC;IAC1E,CAAC;IAEO,KAAK,GAA+B,SAAS,CAAC;IAEtD;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,CAAC,GAA2B;QACnC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;IACxB,CAAC;IACO,QAAQ,CAA0B;IAClC,QAAQ,CAAqB;IAErC,gBAAgB;IAChB,KAAK;QACD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAC5C,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;SACzC;QACD,IAAI,IAAI,CAAC,yCAAyC,EAAE;YAChD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,yCAAyC,CAAC;YAC3D,IAAI,CAAC,yCAAyC,GAAG,IAAI,CAAC;SACzD;QACD,sHAAsH;QACtH,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACvB,CAAC;IACD,gBAAgB;IAChB,QAAQ;QACJ,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,EAAE;YACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACb,SAAS,EAAE,IAAI;gBACf,YAAY,EAAE,CAAC;gBACf,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACxE,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;aAC5C,CAAC,CAAC;SACN;IACL,CAAC;IACD,gBAAgB;IAChB,MAAM;QACF,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,gBAAgB;IAChB,SAAS;QACL,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;SAC9B;IACL,CAAC;IACD,gBAAgB;IAChB,SAAS;QACL,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,yDAAyD;IACzD,SAAS,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;IACtE,CAAC;IAED,gCAAgC;IAChC,IAAI,SAAS;QACT,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;oBAC3B,OAAO,IAAI,CAAC;aACnB;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,6CAA6C;IAC7C,OAAO,CAAC,IAAwC;QAC5C,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC5B,IAAI,IAAI,EAAE,YAAY,EAAE;oBACpB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAClC;qBACI;oBACD,GAAG,CAAC,IAAI,EAAE,CAAC;iBACd;aACJ;SACJ;IACL,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAA0B,EAAE,IAAwC;QACrE,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;SACV;aACI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC/B,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBAChC,IAAI,KAAK;oBAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAA;gBACrD,OAAO;aACV;YACD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAChC;aACI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC/B,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;SACrD;QACD,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAA;YAC1C,OAAO;SACV;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG,EAAE;YACN,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAA;YAC5C,OAAO;SACV;QACD,IAAI,IAAI,EAAE,YAAY,EAAE;YACpB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAClC;aACI;YACD,GAAG,CAAC,IAAI,EAAE,CAAC;SACd;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAA0B,EAAE,UAAmB,KAAK;QACtD,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC5B,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC;aACzB;YACD,OAAO;SACV;aACI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC/B,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBAChC,IAAI,KAAK;oBAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAA;gBACrD,OAAO;aACV;YACD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAChC;aACI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC/B,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;SACrD;QACD,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAA;YAC1C,OAAO;SACV;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG,EAAE;YACN,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAA;YAC5C,OAAO;SACV;QACD,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,MAAM;QACF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;YAC5B,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;SACtB;IACL,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,eAAoC,CAAC,EAAE,OAAqB;QAC7D,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACb,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAC/C,OAAO;SACV;QACD,IAAI,YAAY,KAAK,SAAS;YAAE,YAAY,GAAG,CAAC,CAAC;QACjD,IAAI,IAAI,GAA8B,YAA6B,CAAC;QACpE,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;YAClC,IAAI,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBACxC,IAAI,KAAK;oBAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAA;gBAC7D,OAAO;aACV;YACD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;SACxC;aACI,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;YACvC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;SAC7D;QACD,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAA;YAClD,OAAO;SACV;QAED,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,EAAE,CAAC;QAE3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;YAC5B,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;gBACxB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;aAC5C;SACJ;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAA;YAC9C,OAAO;SACV;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAEO,cAAc,CAAC,MAAuB,EAAE,OAAoB;QAChE,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QACpD,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE,IAAI,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC5F,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACjB,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC;aAC3B;YACD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;SAC7C;QAED,kBAAkB;QAClB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACzD,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS;YAAE,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChG,IAAI,OAAO,CAAC,sBAAsB,KAAK,SAAS,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;QACvI,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAE9E,qCAAqC;QACrC,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC;QAC7C,IAAI,SAAS,EAAE;YACX,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC5B,IAAI,GAAG,IAAI,QAAQ,EAAE;oBACjB,IAAI,OAAO,CAAC,YAAY,EAAE;wBACtB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;qBACrC;yBACI;wBACD,GAAG,CAAC,IAAI,EAAE,CAAC;qBACd;iBACJ;aACJ;SACJ;QACD,IAAI,OAAO,EAAE,YAAY,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;SACvC;QACD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QAEtB,mBAAmB;QACnB,IAAI,OAAO,EAAE,SAAS,IAAI,SAAS,EAAE;YACjC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;SACnC;QACD,wIAAwI;aACnI,IAAI,OAAO,EAAE,sBAAsB,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,EAAE;YACxH,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;SAC/H;QACD,iDAAiD;aAC5C,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC/C,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;SACnB;QAGD,cAAc;QACd,IAAI,OAAO,EAAE,WAAW,EAAE;YACtB,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC9F;aACI;YACD,MAAM,CAAC,SAAS,GAAG,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC;SAC1C;QAED,gBAAgB;QAChB,IAAI,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE;YAC5B,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;SACtD;;YACI,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QAC5B,IAAI,OAAO,EAAE,iBAAiB,EAAE;YAC5B,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC;SACnC;QAGD,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,MAAM,CAAC,IAAI,EAAE,CAAC;QAEd,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;QAEhF,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC7D,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,KAAM,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;YACjE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;IAClC,CAAC;IAEO,aAAa,CAAC,MAAuB;QACzC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YAChC,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;gBACxB,OAAO,MAAM,CAAC;SACrB;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAGO,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACb,+DAA+D;YAC/D,MAAM,GAAG,GAAG,gBAAgB,CAAC;YAC7B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACrC;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;gBACvC,IAAI,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACjD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aACrC;SACJ;QACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;CACJ;AA9aG;IADC,YAAY,EAAE;oDACmB;AAOlC;IADC,YAAY,EAAE;kDACkB;AAOjC;IADC,YAAY,CAAC,IAAI,CAAC;8CACA;AAOnB;IADC,YAAY,CAAC,IAAI,CAAC;yDACW;AAO9B;IADC,YAAY,EAAE;uCACM;AAMrB;IADC,YAAY,EAAE;oDACoB;AA2DnC;IADC,YAAY,CAAC,aAAa,CAAC;sCAG3B;AAkVL,MAAM,eAAe;IACR,KAAK,CAAiB;IACtB,MAAM,CAAkB;IAEzB,OAAO,GAAoC,IAAI,CAAC;IAEhD,QAAQ,CAA2B;IACnC,gBAAgB,GAAoB,IAAI,CAAC;IACzC,2BAA2B,CAA6B;IAEhE,YAAY,MAAuB,EAAE,KAAqB,EAAE,IAAkB,EAAE,MAA0C;QACtH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,2BAA2B,GAAG,MAAM,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,aAAa;QACT,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,oDAAoD;QACpD,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAiB,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,MAAM;QACF,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACjF,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE;gBAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;aACnD;iBACI;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;gBAC1B,IAAI,CAAC,SAAS,EAAE,CAAC;aACpB;SACJ;IACL,CAAC;IAEO,SAAS;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,2CAA2C;IAC3C,IAAI;IAEI,UAAU,GAAG,CAAC,GAAe,EAAE,EAAE;QACrC,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;YAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;SACpB;IACL,CAAC,CAAA;IAEO,OAAO;QACX,uDAAuD;QACvD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAiB,CAAC,CAAC;IACvE,CAAC;CACJ"}
@@ -29,14 +29,47 @@ export declare class PlayOptions {
29
29
  clampWhenFinished?: boolean;
30
30
  }
31
31
  /**
32
- * The Animator component plays and manages animations on a GameObject.
33
- * It works with an {@link AnimatorController} to handle state transitions and animation blending.
34
- * A new AnimatorController can be created from code via `AnimatorController.createFromClips`.
32
+ * Animator plays and manages state-machine based animations on a GameObject.
33
+ * Uses an {@link AnimatorController} for state transitions, blending, and parameters.
34
+ *
35
+ * **State machine animations:**
36
+ * Define animation states and transitions in Unity's Animator window or in [Blender's Animator Controller editor](https://engine.needle.tools/docs/blender/animation.html)
37
+ * Control transitions via parameters (bool, int, float, trigger).
38
+ *
39
+ * ![](https://cloud.needle.tools/-/media/zXQhLgtxr5ZaxLDTDb3MXA.gif)
40
+ *
41
+ * **Creating at runtime:**
42
+ * Use `AnimatorController.createFromClips()` to create controllers from code.
43
+ *
44
+ * **Parameters:**
45
+ * - `setTrigger(name)` - Trigger a one-shot transition
46
+ * - `setBool(name, value)` - Set boolean parameter
47
+ * - `setFloat(name, value)` - Set float parameter
48
+ * - `setInteger(name, value)` - Set integer parameter
49
+ *
50
+ * @example Trigger animation state
51
+ * ```ts
52
+ * const animator = myCharacter.getComponent(Animator);
53
+ * animator.setTrigger("Jump");
54
+ * animator.setFloat("Speed", 5);
55
+ * animator.setBool("IsRunning", true);
56
+ * ```
57
+ *
58
+ * @example Listen to animation events
59
+ * ```ts
60
+ * animator.onLoop(evt => console.log("Animation looped"));
61
+ * animator.onFinished(evt => console.log("Animation finished"));
62
+ * ```
35
63
  *
36
64
  * @summary Plays and manages animations on a GameObject based on an AnimatorController
37
65
  * @category Animation and Sequencing
38
66
  * @group Components
39
- */
67
+ * @see {@link AnimatorController} for state machine configuration
68
+ * @see {@link Animation} for simple clip playback
69
+ * @see {@link PlayableDirector} for timeline-based animation
70
+ *
71
+ * @link https://engine.needle.tools/docs/blender/animation.html
72
+ */
40
73
  export declare class Animator extends Behaviour implements IAnimationComponent {
41
74
  /**
42
75
  * Identifies this component as an animation component in the engine
@@ -12,14 +12,47 @@ import { AnimatorController } from "./AnimatorController.js";
12
12
  import { Behaviour } from "./Component.js";
13
13
  const debug = getParam("debuganimator");
14
14
  /**
15
- * The Animator component plays and manages animations on a GameObject.
16
- * It works with an {@link AnimatorController} to handle state transitions and animation blending.
17
- * A new AnimatorController can be created from code via `AnimatorController.createFromClips`.
15
+ * Animator plays and manages state-machine based animations on a GameObject.
16
+ * Uses an {@link AnimatorController} for state transitions, blending, and parameters.
17
+ *
18
+ * **State machine animations:**
19
+ * Define animation states and transitions in Unity's Animator window or in [Blender's Animator Controller editor](https://engine.needle.tools/docs/blender/animation.html)
20
+ * Control transitions via parameters (bool, int, float, trigger).
21
+ *
22
+ * ![](https://cloud.needle.tools/-/media/zXQhLgtxr5ZaxLDTDb3MXA.gif)
23
+ *
24
+ * **Creating at runtime:**
25
+ * Use `AnimatorController.createFromClips()` to create controllers from code.
26
+ *
27
+ * **Parameters:**
28
+ * - `setTrigger(name)` - Trigger a one-shot transition
29
+ * - `setBool(name, value)` - Set boolean parameter
30
+ * - `setFloat(name, value)` - Set float parameter
31
+ * - `setInteger(name, value)` - Set integer parameter
32
+ *
33
+ * @example Trigger animation state
34
+ * ```ts
35
+ * const animator = myCharacter.getComponent(Animator);
36
+ * animator.setTrigger("Jump");
37
+ * animator.setFloat("Speed", 5);
38
+ * animator.setBool("IsRunning", true);
39
+ * ```
40
+ *
41
+ * @example Listen to animation events
42
+ * ```ts
43
+ * animator.onLoop(evt => console.log("Animation looped"));
44
+ * animator.onFinished(evt => console.log("Animation finished"));
45
+ * ```
18
46
  *
19
47
  * @summary Plays and manages animations on a GameObject based on an AnimatorController
20
48
  * @category Animation and Sequencing
21
49
  * @group Components
22
- */
50
+ * @see {@link AnimatorController} for state machine configuration
51
+ * @see {@link Animation} for simple clip playback
52
+ * @see {@link PlayableDirector} for timeline-based animation
53
+ *
54
+ * @link https://engine.needle.tools/docs/blender/animation.html
55
+ */
23
56
  export class Animator extends Behaviour {
24
57
  /**
25
58
  * Identifies this component as an animation component in the engine
@@ -1 +1 @@
1
- {"version":3,"file":"Animator.js","sourceRoot":"","sources":["../../src/engine-components/Animator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Animator.js","sourceRoot":"","sources":["../../src/engine-components/Animator.ts"],"names":[],"mappings":"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"}
@@ -21,23 +21,45 @@ export declare enum AudioRolloffMode {
21
21
  Custom = 2
22
22
  }
23
23
  /**
24
- * Plays audio clips in the scene, with support for spatial positioning.
24
+ * Plays audio clips in the scene with support for spatial (3D) positioning.
25
25
  *
26
- * The AudioSource component can play audio files or media streams with
27
- * options for spatial blending, volume control, looping, and more.
26
+ * **Browser autoplay policies:**
27
+ * Web browsers require user interaction before playing audio. Use
28
+ * `AudioSource.userInteractionRegistered` to check if playback is allowed,
29
+ * or `registerWaitForAllowAudio()` to queue playback until interaction occurs.
28
30
  *
29
- * When a page loses visibility (tab becomes inactive), audio will automatically
30
- * pause unless {@link playInBackground} is set to true. On mobile devices, audio always
31
- * pauses regardless of this setting. When the page becomes visible again,
32
- * previously playing audio will resume.
31
+ * **Spatial audio:**
32
+ * Set `spatialBlend` to 1 for full 3D positioning, or 0 for 2D (non-spatial).
33
+ * Requires an {@link AudioListener} in the scene (typically on the camera).
33
34
  *
34
- * AudioSource also responds to application mute state changes. When the application
35
- * is muted, the volume is set to 0. When unmuted, the volume
36
- * returns to its previous value.
35
+ * **Visibility handling:**
36
+ * Audio automatically pauses when the tab is hidden unless `playInBackground = true`.
37
+ * On mobile, audio always pauses in background regardless of this setting.
38
+ *
39
+ * @example Play audio on button click
40
+ * ```ts
41
+ * onClick() {
42
+ * const audio = this.getComponent(AudioSource);
43
+ * audio.play();
44
+ * }
45
+ * ```
46
+ *
47
+ * @example Wait for user interaction
48
+ * ```ts
49
+ * AudioSource.registerWaitForAllowAudio(() => {
50
+ * this.getComponent(AudioSource)?.play();
51
+ * });
52
+ * ```
37
53
  *
38
54
  * @summary Plays audio clips from files or media streams
39
55
  * @category Multimedia
40
56
  * @group Components
57
+ * @see {@link AudioListener} for the audio receiver component
58
+ * @see {@link AudioRolloffMode} for distance attenuation options
59
+ * @see {@link Voip} for voice communication
60
+ * @see {@link PlayableDirector} for timeline-based audio
61
+ * @link https://engine.needle.tools/samples/?overlay=samples&tag=audio
62
+ * @link https://spatial-audio-zubckswmztj.needle.run/
41
63
  */
42
64
  export declare class AudioSource extends Behaviour {
43
65
  /**
@@ -37,23 +37,45 @@ export var AudioRolloffMode;
37
37
  AudioRolloffMode[AudioRolloffMode["Custom"] = 2] = "Custom";
38
38
  })(AudioRolloffMode || (AudioRolloffMode = {}));
39
39
  /**
40
- * Plays audio clips in the scene, with support for spatial positioning.
40
+ * Plays audio clips in the scene with support for spatial (3D) positioning.
41
41
  *
42
- * The AudioSource component can play audio files or media streams with
43
- * options for spatial blending, volume control, looping, and more.
42
+ * **Browser autoplay policies:**
43
+ * Web browsers require user interaction before playing audio. Use
44
+ * `AudioSource.userInteractionRegistered` to check if playback is allowed,
45
+ * or `registerWaitForAllowAudio()` to queue playback until interaction occurs.
44
46
  *
45
- * When a page loses visibility (tab becomes inactive), audio will automatically
46
- * pause unless {@link playInBackground} is set to true. On mobile devices, audio always
47
- * pauses regardless of this setting. When the page becomes visible again,
48
- * previously playing audio will resume.
47
+ * **Spatial audio:**
48
+ * Set `spatialBlend` to 1 for full 3D positioning, or 0 for 2D (non-spatial).
49
+ * Requires an {@link AudioListener} in the scene (typically on the camera).
49
50
  *
50
- * AudioSource also responds to application mute state changes. When the application
51
- * is muted, the volume is set to 0. When unmuted, the volume
52
- * returns to its previous value.
51
+ * **Visibility handling:**
52
+ * Audio automatically pauses when the tab is hidden unless `playInBackground = true`.
53
+ * On mobile, audio always pauses in background regardless of this setting.
54
+ *
55
+ * @example Play audio on button click
56
+ * ```ts
57
+ * onClick() {
58
+ * const audio = this.getComponent(AudioSource);
59
+ * audio.play();
60
+ * }
61
+ * ```
62
+ *
63
+ * @example Wait for user interaction
64
+ * ```ts
65
+ * AudioSource.registerWaitForAllowAudio(() => {
66
+ * this.getComponent(AudioSource)?.play();
67
+ * });
68
+ * ```
53
69
  *
54
70
  * @summary Plays audio clips from files or media streams
55
71
  * @category Multimedia
56
72
  * @group Components
73
+ * @see {@link AudioListener} for the audio receiver component
74
+ * @see {@link AudioRolloffMode} for distance attenuation options
75
+ * @see {@link Voip} for voice communication
76
+ * @see {@link PlayableDirector} for timeline-based audio
77
+ * @link https://engine.needle.tools/samples/?overlay=samples&tag=audio
78
+ * @link https://spatial-audio-zubckswmztj.needle.run/
57
79
  */
58
80
  export class AudioSource extends Behaviour {
59
81
  /**