@needle-tools/engine 4.13.0 → 4.13.1-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. package/CHANGELOG.md +2 -1
  2. package/README.md +37 -0
  3. package/components.needle.json +1 -1
  4. package/custom-elements.json +138 -4
  5. package/dist/{needle-engine.bundle-CxaKFQVS.min.js → needle-engine.bundle-6774fXoY.min.js} +107 -107
  6. package/dist/{needle-engine.bundle-Dl3TFYyv.js → needle-engine.bundle-CGtsEhyJ.js} +2346 -1844
  7. package/dist/{needle-engine.bundle-J4k4znv8.umd.cjs → needle-engine.bundle-fbFZTOKP.umd.cjs} +108 -108
  8. package/dist/needle-engine.d.ts +3769 -397
  9. package/dist/needle-engine.js +2 -2
  10. package/dist/needle-engine.min.js +1 -1
  11. package/dist/needle-engine.umd.cjs +1 -1
  12. package/lib/engine/engine_context.d.ts +16 -0
  13. package/lib/engine/engine_context.js +16 -0
  14. package/lib/engine/engine_context.js.map +1 -1
  15. package/lib/engine/engine_gameobject.d.ts +72 -0
  16. package/lib/engine/engine_gameobject.js +38 -0
  17. package/lib/engine/engine_gameobject.js.map +1 -1
  18. package/lib/engine/engine_input.d.ts +80 -4
  19. package/lib/engine/engine_input.js +78 -2
  20. package/lib/engine/engine_input.js.map +1 -1
  21. package/lib/engine/engine_math.d.ts +81 -2
  22. package/lib/engine/engine_math.js +68 -2
  23. package/lib/engine/engine_math.js.map +1 -1
  24. package/lib/engine/engine_networking.d.ts +181 -14
  25. package/lib/engine/engine_networking.js +181 -14
  26. package/lib/engine/engine_networking.js.map +1 -1
  27. package/lib/engine/engine_networking_auto.d.ts +35 -8
  28. package/lib/engine/engine_networking_auto.js +35 -8
  29. package/lib/engine/engine_networking_auto.js.map +1 -1
  30. package/lib/engine/engine_physics.d.ts +35 -1
  31. package/lib/engine/engine_physics.js +35 -1
  32. package/lib/engine/engine_physics.js.map +1 -1
  33. package/lib/engine/engine_physics_rapier.d.ts +76 -0
  34. package/lib/engine/engine_physics_rapier.js +76 -0
  35. package/lib/engine/engine_physics_rapier.js.map +1 -1
  36. package/lib/engine/engine_serialization_decorator.d.ts +28 -2
  37. package/lib/engine/engine_serialization_decorator.js +28 -2
  38. package/lib/engine/engine_serialization_decorator.js.map +1 -1
  39. package/lib/engine/engine_time.d.ts +23 -3
  40. package/lib/engine/engine_time.js +23 -3
  41. package/lib/engine/engine_time.js.map +1 -1
  42. package/lib/engine/engine_util_decorator.d.ts +31 -1
  43. package/lib/engine/engine_util_decorator.js +31 -1
  44. package/lib/engine/engine_util_decorator.js.map +1 -1
  45. package/lib/engine/engine_utils.d.ts +21 -5
  46. package/lib/engine/engine_utils.js +21 -5
  47. package/lib/engine/engine_utils.js.map +1 -1
  48. package/lib/engine/extensions/NEEDLE_materialx.d.ts +2 -2
  49. package/lib/engine/extensions/NEEDLE_materialx.js +2 -2
  50. package/lib/engine/extensions/NEEDLE_materialx.js.map +1 -1
  51. package/lib/engine/extensions/index.d.ts +1 -1
  52. package/lib/engine/extensions/index.js +1 -1
  53. package/lib/engine/extensions/index.js.map +1 -1
  54. package/lib/engine-components/AlignmentConstraint.d.ts +23 -3
  55. package/lib/engine-components/AlignmentConstraint.js +23 -3
  56. package/lib/engine-components/AlignmentConstraint.js.map +1 -1
  57. package/lib/engine-components/Animation.d.ts +42 -0
  58. package/lib/engine-components/Animation.js +36 -0
  59. package/lib/engine-components/Animation.js.map +1 -1
  60. package/lib/engine-components/Animator.d.ts +37 -4
  61. package/lib/engine-components/Animator.js +37 -4
  62. package/lib/engine-components/Animator.js.map +1 -1
  63. package/lib/engine-components/AudioListener.d.ts +1 -1
  64. package/lib/engine-components/AudioListener.js +1 -1
  65. package/lib/engine-components/AudioSource.d.ts +32 -10
  66. package/lib/engine-components/AudioSource.js +32 -10
  67. package/lib/engine-components/AudioSource.js.map +1 -1
  68. package/lib/engine-components/AxesHelper.d.ts +22 -3
  69. package/lib/engine-components/AxesHelper.js +22 -3
  70. package/lib/engine-components/AxesHelper.js.map +1 -1
  71. package/lib/engine-components/BasicIKConstraint.d.ts +27 -4
  72. package/lib/engine-components/BasicIKConstraint.js +27 -4
  73. package/lib/engine-components/BasicIKConstraint.js.map +1 -1
  74. package/lib/engine-components/Camera.d.ts +32 -2
  75. package/lib/engine-components/Camera.js +32 -2
  76. package/lib/engine-components/Camera.js.map +1 -1
  77. package/lib/engine-components/CharacterController.d.ts +68 -4
  78. package/lib/engine-components/CharacterController.js +68 -4
  79. package/lib/engine-components/CharacterController.js.map +1 -1
  80. package/lib/engine-components/Collider.d.ts +69 -12
  81. package/lib/engine-components/Collider.js +69 -12
  82. package/lib/engine-components/Collider.js.map +1 -1
  83. package/lib/engine-components/ContactShadows.d.ts +26 -6
  84. package/lib/engine-components/ContactShadows.js +31 -8
  85. package/lib/engine-components/ContactShadows.js.map +1 -1
  86. package/lib/engine-components/DeleteBox.d.ts +43 -2
  87. package/lib/engine-components/DeleteBox.js +43 -2
  88. package/lib/engine-components/DeleteBox.js.map +1 -1
  89. package/lib/engine-components/DeviceFlag.d.ts +21 -2
  90. package/lib/engine-components/DeviceFlag.js +21 -2
  91. package/lib/engine-components/DeviceFlag.js.map +1 -1
  92. package/lib/engine-components/DragControls.d.ts +32 -2
  93. package/lib/engine-components/DragControls.js +32 -2
  94. package/lib/engine-components/DragControls.js.map +1 -1
  95. package/lib/engine-components/DropListener.d.ts +33 -21
  96. package/lib/engine-components/DropListener.js +33 -21
  97. package/lib/engine-components/DropListener.js.map +1 -1
  98. package/lib/engine-components/Duplicatable.d.ts +36 -5
  99. package/lib/engine-components/Duplicatable.js +36 -5
  100. package/lib/engine-components/Duplicatable.js.map +1 -1
  101. package/lib/engine-components/EventList.d.ts +38 -10
  102. package/lib/engine-components/EventList.js +38 -10
  103. package/lib/engine-components/EventList.js.map +1 -1
  104. package/lib/engine-components/EventTrigger.d.ts +1 -1
  105. package/lib/engine-components/EventTrigger.js +1 -1
  106. package/lib/engine-components/Fog.d.ts +23 -1
  107. package/lib/engine-components/Fog.js +23 -1
  108. package/lib/engine-components/Fog.js.map +1 -1
  109. package/lib/engine-components/GridHelper.d.ts +18 -2
  110. package/lib/engine-components/GridHelper.js +18 -2
  111. package/lib/engine-components/GridHelper.js.map +1 -1
  112. package/lib/engine-components/GroundProjection.d.ts +24 -2
  113. package/lib/engine-components/GroundProjection.js +24 -2
  114. package/lib/engine-components/GroundProjection.js.map +1 -1
  115. package/lib/engine-components/Interactable.d.ts +17 -2
  116. package/lib/engine-components/Interactable.js +17 -2
  117. package/lib/engine-components/Interactable.js.map +1 -1
  118. package/lib/engine-components/Joints.d.ts +50 -7
  119. package/lib/engine-components/Joints.js +50 -7
  120. package/lib/engine-components/Joints.js.map +1 -1
  121. package/lib/engine-components/LODGroup.d.ts +36 -14
  122. package/lib/engine-components/LODGroup.js +43 -11
  123. package/lib/engine-components/LODGroup.js.map +1 -1
  124. package/lib/engine-components/Light.d.ts +30 -5
  125. package/lib/engine-components/Light.js +30 -5
  126. package/lib/engine-components/Light.js.map +1 -1
  127. package/lib/engine-components/LookAtConstraint.d.ts +22 -7
  128. package/lib/engine-components/LookAtConstraint.js +22 -7
  129. package/lib/engine-components/LookAtConstraint.js.map +1 -1
  130. package/lib/engine-components/NeedleMenu.d.ts +27 -5
  131. package/lib/engine-components/NeedleMenu.js +27 -5
  132. package/lib/engine-components/NeedleMenu.js.map +1 -1
  133. package/lib/engine-components/NestedGltf.d.ts +39 -4
  134. package/lib/engine-components/NestedGltf.js +42 -4
  135. package/lib/engine-components/NestedGltf.js.map +1 -1
  136. package/lib/engine-components/OffsetConstraint.d.ts +27 -3
  137. package/lib/engine-components/OffsetConstraint.js +27 -3
  138. package/lib/engine-components/OffsetConstraint.js.map +1 -1
  139. package/lib/engine-components/OrbitControls.d.ts +41 -3
  140. package/lib/engine-components/OrbitControls.js +41 -3
  141. package/lib/engine-components/OrbitControls.js.map +1 -1
  142. package/lib/engine-components/PlayerColor.d.ts +1 -1
  143. package/lib/engine-components/PlayerColor.js +1 -1
  144. package/lib/engine-components/ReflectionProbe.d.ts +17 -2
  145. package/lib/engine-components/ReflectionProbe.js +17 -3
  146. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  147. package/lib/engine-components/Renderer.d.ts +34 -0
  148. package/lib/engine-components/Renderer.js +35 -2
  149. package/lib/engine-components/Renderer.js.map +1 -1
  150. package/lib/engine-components/SceneSwitcher.d.ts +11 -0
  151. package/lib/engine-components/SceneSwitcher.js +11 -0
  152. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  153. package/lib/engine-components/ScreenCapture.d.ts +38 -6
  154. package/lib/engine-components/ScreenCapture.js +38 -6
  155. package/lib/engine-components/ScreenCapture.js.map +1 -1
  156. package/lib/engine-components/Skybox.d.ts +1 -1
  157. package/lib/engine-components/Skybox.js +1 -1
  158. package/lib/engine-components/SmoothFollow.d.ts +66 -7
  159. package/lib/engine-components/SmoothFollow.js +66 -7
  160. package/lib/engine-components/SmoothFollow.js.map +1 -1
  161. package/lib/engine-components/SpatialTrigger.d.ts +48 -1
  162. package/lib/engine-components/SpatialTrigger.js +48 -1
  163. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  164. package/lib/engine-components/SpectatorCamera.d.ts +21 -3
  165. package/lib/engine-components/SpectatorCamera.js +21 -3
  166. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  167. package/lib/engine-components/SyncedRoom.d.ts +7 -1
  168. package/lib/engine-components/SyncedRoom.js +7 -1
  169. package/lib/engine-components/SyncedRoom.js.map +1 -1
  170. package/lib/engine-components/SyncedTransform.d.ts +55 -6
  171. package/lib/engine-components/SyncedTransform.js +55 -6
  172. package/lib/engine-components/SyncedTransform.js.map +1 -1
  173. package/lib/engine-components/TransformGizmo.d.ts +30 -3
  174. package/lib/engine-components/TransformGizmo.js +30 -3
  175. package/lib/engine-components/TransformGizmo.js.map +1 -1
  176. package/lib/engine-components/VideoPlayer.d.ts +33 -6
  177. package/lib/engine-components/VideoPlayer.js +45 -6
  178. package/lib/engine-components/VideoPlayer.js.map +1 -1
  179. package/lib/engine-components/Voip.d.ts +33 -2
  180. package/lib/engine-components/Voip.js +33 -2
  181. package/lib/engine-components/Voip.js.map +1 -1
  182. package/lib/engine-components/export/usdz/USDZExporter.d.ts +47 -13
  183. package/lib/engine-components/export/usdz/USDZExporter.js +47 -13
  184. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  185. package/lib/engine-components/particlesystem/ParticleSystem.d.ts +82 -3
  186. package/lib/engine-components/particlesystem/ParticleSystem.js +82 -3
  187. package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
  188. package/lib/engine-components/postprocessing/Effects/Antialiasing.d.ts +1 -0
  189. package/lib/engine-components/postprocessing/Effects/Antialiasing.js +1 -0
  190. package/lib/engine-components/postprocessing/Effects/Antialiasing.js.map +1 -1
  191. package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +1 -1
  192. package/lib/engine-components/postprocessing/Effects/BloomEffect.js +1 -1
  193. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +1 -1
  194. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +1 -1
  195. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +1 -1
  196. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +1 -1
  197. package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +1 -1
  198. package/lib/engine-components/postprocessing/Effects/DepthOfField.js +1 -1
  199. package/lib/engine-components/postprocessing/Effects/EffectWrapper.d.ts +1 -0
  200. package/lib/engine-components/postprocessing/Effects/EffectWrapper.js +1 -0
  201. package/lib/engine-components/postprocessing/Effects/EffectWrapper.js.map +1 -1
  202. package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +1 -1
  203. package/lib/engine-components/postprocessing/Effects/Pixelation.js +1 -1
  204. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.d.ts +1 -1
  205. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js +1 -1
  206. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +1 -1
  207. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +1 -1
  208. package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +1 -1
  209. package/lib/engine-components/postprocessing/Effects/Sharpening.js +1 -1
  210. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +1 -1
  211. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +1 -1
  212. package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +1 -1
  213. package/lib/engine-components/postprocessing/Effects/Tonemapping.js +1 -1
  214. package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +1 -1
  215. package/lib/engine-components/postprocessing/Effects/Vignette.js +1 -1
  216. package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +1 -1
  217. package/lib/engine-components/postprocessing/PostProcessingHandler.js +1 -1
  218. package/lib/engine-components/postprocessing/Volume.d.ts +1 -1
  219. package/lib/engine-components/postprocessing/Volume.js +1 -1
  220. package/lib/engine-components/splines/Spline.d.ts +409 -12
  221. package/lib/engine-components/splines/Spline.js +409 -12
  222. package/lib/engine-components/splines/Spline.js.map +1 -1
  223. package/lib/engine-components/splines/SplineUtils.d.ts +1 -0
  224. package/lib/engine-components/splines/SplineUtils.js +1 -0
  225. package/lib/engine-components/splines/SplineUtils.js.map +1 -1
  226. package/lib/engine-components/splines/SplineWalker.d.ts +3 -1
  227. package/lib/engine-components/splines/SplineWalker.js +3 -1
  228. package/lib/engine-components/splines/SplineWalker.js.map +1 -1
  229. package/lib/engine-components/timeline/PlayableDirector.d.ts +99 -14
  230. package/lib/engine-components/timeline/PlayableDirector.js +91 -25
  231. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  232. package/lib/engine-components/ui/Button.d.ts +29 -3
  233. package/lib/engine-components/ui/Button.js +29 -3
  234. package/lib/engine-components/ui/Button.js.map +1 -1
  235. package/lib/engine-components/ui/Canvas.d.ts +29 -4
  236. package/lib/engine-components/ui/Canvas.js +29 -4
  237. package/lib/engine-components/ui/Canvas.js.map +1 -1
  238. package/lib/engine-components/ui/CanvasGroup.d.ts +1 -1
  239. package/lib/engine-components/ui/CanvasGroup.js +1 -1
  240. package/lib/engine-components/ui/EventSystem.d.ts +1 -1
  241. package/lib/engine-components/ui/EventSystem.js +1 -1
  242. package/lib/engine-components/ui/Graphic.d.ts +1 -0
  243. package/lib/engine-components/ui/Graphic.js +1 -0
  244. package/lib/engine-components/ui/Graphic.js.map +1 -1
  245. package/lib/engine-components/ui/Image.d.ts +22 -3
  246. package/lib/engine-components/ui/Image.js +22 -3
  247. package/lib/engine-components/ui/Image.js.map +1 -1
  248. package/lib/engine-components/ui/InputField.d.ts +1 -1
  249. package/lib/engine-components/ui/InputField.js +1 -1
  250. package/lib/engine-components/ui/Layout.d.ts +3 -0
  251. package/lib/engine-components/ui/Layout.js +3 -0
  252. package/lib/engine-components/ui/Layout.js.map +1 -1
  253. package/lib/engine-components/ui/Outline.d.ts +1 -1
  254. package/lib/engine-components/ui/Outline.js +1 -1
  255. package/lib/engine-components/ui/PointerEvents.d.ts +1 -1
  256. package/lib/engine-components/ui/PointerEvents.js +1 -1
  257. package/lib/engine-components/ui/Raycaster.d.ts +55 -6
  258. package/lib/engine-components/ui/Raycaster.js +55 -6
  259. package/lib/engine-components/ui/Raycaster.js.map +1 -1
  260. package/lib/engine-components/ui/RectTransform.d.ts +1 -1
  261. package/lib/engine-components/ui/RectTransform.js +1 -1
  262. package/lib/engine-components/ui/SpatialHtml.d.ts +1 -1
  263. package/lib/engine-components/ui/SpatialHtml.js +1 -1
  264. package/lib/engine-components/ui/Text.d.ts +23 -1
  265. package/lib/engine-components/ui/Text.js +23 -1
  266. package/lib/engine-components/ui/Text.js.map +1 -1
  267. package/lib/engine-components/utils/LookAt.d.ts +1 -1
  268. package/lib/engine-components/utils/LookAt.js +1 -1
  269. package/lib/engine-components/utils/OpenURL.d.ts +1 -1
  270. package/lib/engine-components/utils/OpenURL.js +1 -1
  271. package/lib/engine-components/web/Clickthrough.d.ts +116 -7
  272. package/lib/engine-components/web/Clickthrough.js +116 -7
  273. package/lib/engine-components/web/Clickthrough.js.map +1 -1
  274. package/lib/engine-components/web/CursorFollow.d.ts +171 -7
  275. package/lib/engine-components/web/CursorFollow.js +171 -7
  276. package/lib/engine-components/web/CursorFollow.js.map +1 -1
  277. package/lib/engine-components/web/HoverAnimation.d.ts +140 -11
  278. package/lib/engine-components/web/HoverAnimation.js +140 -11
  279. package/lib/engine-components/web/HoverAnimation.js.map +1 -1
  280. package/lib/engine-components/web/ScrollFollow.d.ts +4 -1
  281. package/lib/engine-components/web/ScrollFollow.js +4 -1
  282. package/lib/engine-components/web/ScrollFollow.js.map +1 -1
  283. package/lib/engine-components/web/ViewBox.d.ts +116 -16
  284. package/lib/engine-components/web/ViewBox.js +110 -16
  285. package/lib/engine-components/web/ViewBox.js.map +1 -1
  286. package/lib/engine-components/webxr/TeleportTarget.d.ts +21 -2
  287. package/lib/engine-components/webxr/TeleportTarget.js +21 -2
  288. package/lib/engine-components/webxr/TeleportTarget.js.map +1 -1
  289. package/lib/engine-components/webxr/WebXR.d.ts +10 -2
  290. package/lib/engine-components/webxr/WebXR.js +10 -2
  291. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  292. package/lib/engine-components/webxr/WebXRAvatar.d.ts +39 -2
  293. package/lib/engine-components/webxr/WebXRAvatar.js +35 -3
  294. package/lib/engine-components/webxr/WebXRAvatar.js.map +1 -1
  295. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +266 -30
  296. package/lib/engine-components/webxr/WebXRImageTracking.js +266 -30
  297. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  298. package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +1 -1
  299. package/lib/engine-components/webxr/WebXRPlaneTracking.js +1 -1
  300. package/lib/engine-components/webxr/XRFlag.d.ts +29 -2
  301. package/lib/engine-components/webxr/XRFlag.js +29 -2
  302. package/lib/engine-components/webxr/XRFlag.js.map +1 -1
  303. package/package.json +1 -1
  304. package/plugins/vite/custom-element-data.js +128 -19
  305. package/src/engine/engine_context.ts +16 -0
  306. package/src/engine/engine_gameobject.ts +73 -0
  307. package/src/engine/engine_input.ts +83 -7
  308. package/src/engine/engine_math.ts +81 -2
  309. package/src/engine/engine_networking.ts +186 -17
  310. package/src/engine/engine_networking_auto.ts +36 -9
  311. package/src/engine/engine_physics.ts +37 -1
  312. package/src/engine/engine_physics_rapier.ts +77 -0
  313. package/src/engine/engine_serialization_decorator.ts +28 -2
  314. package/src/engine/engine_time.ts +23 -3
  315. package/src/engine/engine_util_decorator.ts +31 -1
  316. package/src/engine/engine_utils.ts +21 -5
  317. package/src/engine/extensions/NEEDLE_materialx.ts +5 -4
  318. package/src/engine/extensions/index.ts +2 -2
  319. package/src/engine-components/AlignmentConstraint.ts +24 -4
  320. package/src/engine-components/Animation.ts +44 -2
  321. package/src/engine-components/Animator.ts +40 -7
  322. package/src/engine-components/AudioListener.ts +1 -1
  323. package/src/engine-components/AudioSource.ts +37 -15
  324. package/src/engine-components/AxesHelper.ts +23 -4
  325. package/src/engine-components/BasicIKConstraint.ts +28 -5
  326. package/src/engine-components/Camera.ts +33 -3
  327. package/src/engine-components/CharacterController.ts +74 -7
  328. package/src/engine-components/Collider.ts +78 -21
  329. package/src/engine-components/ContactShadows.ts +36 -11
  330. package/src/engine-components/DeleteBox.ts +43 -2
  331. package/src/engine-components/DeviceFlag.ts +22 -3
  332. package/src/engine-components/DragControls.ts +32 -2
  333. package/src/engine-components/DropListener.ts +41 -29
  334. package/src/engine-components/Duplicatable.ts +37 -6
  335. package/src/engine-components/EventList.ts +41 -13
  336. package/src/engine-components/EventTrigger.ts +1 -1
  337. package/src/engine-components/Fog.ts +23 -1
  338. package/src/engine-components/GridHelper.ts +18 -2
  339. package/src/engine-components/GroundProjection.ts +25 -3
  340. package/src/engine-components/Interactable.ts +17 -2
  341. package/src/engine-components/Joints.ts +51 -8
  342. package/src/engine-components/LODGroup.ts +45 -11
  343. package/src/engine-components/Light.ts +35 -13
  344. package/src/engine-components/LookAtConstraint.ts +26 -8
  345. package/src/engine-components/NeedleMenu.ts +29 -7
  346. package/src/engine-components/NestedGltf.ts +40 -4
  347. package/src/engine-components/OffsetConstraint.ts +27 -3
  348. package/src/engine-components/OrbitControls.ts +41 -3
  349. package/src/engine-components/PlayerColor.ts +1 -1
  350. package/src/engine-components/ReflectionProbe.ts +19 -5
  351. package/src/engine-components/Renderer.ts +34 -1
  352. package/src/engine-components/SceneSwitcher.ts +11 -0
  353. package/src/engine-components/ScreenCapture.ts +41 -9
  354. package/src/engine-components/Skybox.ts +1 -1
  355. package/src/engine-components/SmoothFollow.ts +68 -7
  356. package/src/engine-components/SpatialTrigger.ts +51 -4
  357. package/src/engine-components/SpectatorCamera.ts +23 -5
  358. package/src/engine-components/SyncedRoom.ts +8 -2
  359. package/src/engine-components/SyncedTransform.ts +59 -10
  360. package/src/engine-components/TransformGizmo.ts +31 -4
  361. package/src/engine-components/VideoPlayer.ts +48 -6
  362. package/src/engine-components/Voip.ts +33 -2
  363. package/src/engine-components/export/usdz/USDZExporter.ts +47 -13
  364. package/src/engine-components/particlesystem/ParticleSystem.ts +84 -5
  365. package/src/engine-components/postprocessing/Effects/Antialiasing.ts +1 -0
  366. package/src/engine-components/postprocessing/Effects/BloomEffect.ts +1 -1
  367. package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +1 -1
  368. package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +1 -1
  369. package/src/engine-components/postprocessing/Effects/DepthOfField.ts +1 -1
  370. package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +1 -0
  371. package/src/engine-components/postprocessing/Effects/Pixelation.ts +1 -1
  372. package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.ts +1 -1
  373. package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +1 -1
  374. package/src/engine-components/postprocessing/Effects/Sharpening.ts +1 -1
  375. package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +1 -1
  376. package/src/engine-components/postprocessing/Effects/Tonemapping.ts +1 -1
  377. package/src/engine-components/postprocessing/Effects/Vignette.ts +1 -1
  378. package/src/engine-components/postprocessing/PostProcessingHandler.ts +1 -1
  379. package/src/engine-components/postprocessing/Volume.ts +1 -1
  380. package/src/engine-components/splines/Spline.ts +412 -14
  381. package/src/engine-components/splines/SplineUtils.ts +1 -0
  382. package/src/engine-components/splines/SplineWalker.ts +4 -2
  383. package/src/engine-components/timeline/PlayableDirector.ts +104 -27
  384. package/src/engine-components/ui/Button.ts +29 -3
  385. package/src/engine-components/ui/Canvas.ts +29 -4
  386. package/src/engine-components/ui/CanvasGroup.ts +2 -2
  387. package/src/engine-components/ui/EventSystem.ts +1 -1
  388. package/src/engine-components/ui/Graphic.ts +1 -0
  389. package/src/engine-components/ui/Image.ts +22 -3
  390. package/src/engine-components/ui/InputField.ts +2 -2
  391. package/src/engine-components/ui/Layout.ts +3 -0
  392. package/src/engine-components/ui/Outline.ts +1 -1
  393. package/src/engine-components/ui/PointerEvents.ts +1 -1
  394. package/src/engine-components/ui/Raycaster.ts +57 -8
  395. package/src/engine-components/ui/RectTransform.ts +2 -2
  396. package/src/engine-components/ui/SpatialHtml.ts +1 -1
  397. package/src/engine-components/ui/Text.ts +24 -2
  398. package/src/engine-components/utils/LookAt.ts +1 -1
  399. package/src/engine-components/utils/OpenURL.ts +1 -1
  400. package/src/engine-components/web/Clickthrough.ts +119 -10
  401. package/src/engine-components/web/CursorFollow.ts +174 -9
  402. package/src/engine-components/web/HoverAnimation.ts +142 -13
  403. package/src/engine-components/web/ScrollFollow.ts +4 -1
  404. package/src/engine-components/web/ViewBox.ts +118 -18
  405. package/src/engine-components/webxr/TeleportTarget.ts +23 -4
  406. package/src/engine-components/webxr/WebXR.ts +11 -3
  407. package/src/engine-components/webxr/WebXRAvatar.ts +41 -4
  408. package/src/engine-components/webxr/WebXRImageTracking.ts +282 -38
  409. package/src/engine-components/webxr/WebXRPlaneTracking.ts +1 -1
  410. package/src/engine-components/webxr/XRFlag.ts +30 -3
@@ -1 +1 @@
1
- {"version":3,"file":"engine_physics_rapier.js","sourceRoot":"","sources":["../../src/engine/engine_physics_rapier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_physics_rapier.js","sourceRoot":"","sources":["../../src/engine/engine_physics_rapier.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,34 @@ export declare const serializeable: <T>(type?: Constructor<T> | TypeResolver<T>
5
5
  name: string;
6
6
  }) => void;
7
7
  /**
8
- * The serializable attribute should be used to annotate all serialized fields / fields and members that should be serialized and exposed in an editor
9
- * @param type The type of the field. If not provided the type will be inferred from the constructor of the field. If the field is a primitive type (string, number, boolean) the type should be null.
8
+ * Marks a field for serialization and editor exposure. Required for fields that reference
9
+ * other objects, components, or assets. Primitive types (string, number, boolean) work without a type argument.
10
+ *
11
+ * @param type The constructor type for complex objects. Omit for primitives.
12
+ *
13
+ * @example Primitive types (no type needed)
14
+ * ```ts
15
+ * @serializable()
16
+ * speed: number = 1;
17
+ *
18
+ * @serializable()
19
+ * label: string = "Hello";
20
+ * ```
21
+ * @example Object references
22
+ * ```ts
23
+ * @serializable(Object3D)
24
+ * target: Object3D | null = null;
25
+ *
26
+ * @serializable(Renderer)
27
+ * myRenderer: Renderer | null = null;
28
+ * ```
29
+ * @example Arrays
30
+ * ```ts
31
+ * @serializable([Object3D])
32
+ * waypoints: Object3D[] = [];
33
+ * ```
34
+ * @see {@link syncField} for automatic network synchronization
35
+ * @link https://engine.needle.tools/docs/reference/typescript-decorators.html#serializable
10
36
  */
11
37
  export declare const serializable: <T>(type?: Constructor<T> | TypeResolver<T> | (Constructor<any> | TypeResolver<T>)[] | null | undefined) => (_target: any, _propertyKey: string | {
12
38
  name: string;
@@ -3,8 +3,34 @@ export const serializeable = function (type) {
3
3
  return serializable(type);
4
4
  };
5
5
  /**
6
- * The serializable attribute should be used to annotate all serialized fields / fields and members that should be serialized and exposed in an editor
7
- * @param type The type of the field. If not provided the type will be inferred from the constructor of the field. If the field is a primitive type (string, number, boolean) the type should be null.
6
+ * Marks a field for serialization and editor exposure. Required for fields that reference
7
+ * other objects, components, or assets. Primitive types (string, number, boolean) work without a type argument.
8
+ *
9
+ * @param type The constructor type for complex objects. Omit for primitives.
10
+ *
11
+ * @example Primitive types (no type needed)
12
+ * ```ts
13
+ * @serializable()
14
+ * speed: number = 1;
15
+ *
16
+ * @serializable()
17
+ * label: string = "Hello";
18
+ * ```
19
+ * @example Object references
20
+ * ```ts
21
+ * @serializable(Object3D)
22
+ * target: Object3D | null = null;
23
+ *
24
+ * @serializable(Renderer)
25
+ * myRenderer: Renderer | null = null;
26
+ * ```
27
+ * @example Arrays
28
+ * ```ts
29
+ * @serializable([Object3D])
30
+ * waypoints: Object3D[] = [];
31
+ * ```
32
+ * @see {@link syncField} for automatic network synchronization
33
+ * @link https://engine.needle.tools/docs/reference/typescript-decorators.html#serializable
8
34
  */
9
35
  export const serializable = function (type) {
10
36
  if (type === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"engine_serialization_decorator.js","sourceRoot":"","sources":["../../src/engine/engine_serialization_decorator.ts"],"names":[],"mappings":"AAIA,uGAAuG;AACvG,MAAM,CAAC,MAAM,aAAa,GAAG,UAAa,IAA0F;IAChI,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;AAC7B,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,UAAa,IAA0F;IAC/H,IAAI,IAAI,KAAK,SAAS;QAAE,IAAI,GAAG,IAAI,CAAC;IACpC,sGAAsG;IACtG,wFAAwF;IACxF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACtB,IAAI,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;KACzC;SACI;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;SAC7C;KACJ;IAED,OAAO,UAAU,OAAY,EAAE,YAAuC;QAClE,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,YAAY,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;YACzF,OAAO,CAAC,IAAI,CAAC,sCAAsC,YAAY,IAAI,CAAC,CAAC;YACrE,OAAO;SACV;QACD,4EAA4E;QAC5E,mDAAmD;QACnD,8FAA8F;QAC9F,uGAAuG;QACvG,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;YAClC,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC;SACpC;QAED,qFAAqF;QACrF,oGAAoG;QACpG,qDAAqD;QACrD,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,CAAC;YAC7D,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;QAErC,MAAM,KAAK,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAA;QAC7E,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAC/B,CAAC,CAAA;AACL,CAAC,CAAA;AAED,SAAS,wBAAwB,CAAC,IAAI;IAClC,QAAQ,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE;QACxC,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACV,OAAO,IAAI,CAAC;KACnB;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAGD,gBAAgB;AAChB,MAAM,CAAC,MAAM,qBAAqB,GAAG,0BAA0B,CAAC;AAGhE,6CAA6C;AAC7C,MAAM,UAAU,aAAa,CAAC,WAAqB;IAC/C,WAAW,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC;AAC9C,CAAC;AAGD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAEhD,oCAAoC;AACpC,MAAM,UAAU,MAAM,CAAC,WAAqB;IACxC,WAAW,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"engine_serialization_decorator.js","sourceRoot":"","sources":["../../src/engine/engine_serialization_decorator.ts"],"names":[],"mappings":"AAIA,uGAAuG;AACvG,MAAM,CAAC,MAAM,aAAa,GAAG,UAAa,IAA0F;IAChI,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;AAC7B,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,UAAa,IAA0F;IAC/H,IAAI,IAAI,KAAK,SAAS;QAAE,IAAI,GAAG,IAAI,CAAC;IACpC,sGAAsG;IACtG,wFAAwF;IACxF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACtB,IAAI,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;KACzC;SACI;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;SAC7C;KACJ;IAED,OAAO,UAAU,OAAY,EAAE,YAAuC;QAClE,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,YAAY,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;YACzF,OAAO,CAAC,IAAI,CAAC,sCAAsC,YAAY,IAAI,CAAC,CAAC;YACrE,OAAO;SACV;QACD,4EAA4E;QAC5E,mDAAmD;QACnD,8FAA8F;QAC9F,uGAAuG;QACvG,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;YAClC,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC;SACpC;QAED,qFAAqF;QACrF,oGAAoG;QACpG,qDAAqD;QACrD,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,CAAC;YAC7D,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;QAErC,MAAM,KAAK,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAA;QAC7E,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAC/B,CAAC,CAAA;AACL,CAAC,CAAA;AAED,SAAS,wBAAwB,CAAC,IAAI;IAClC,QAAQ,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE;QACxC,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACV,OAAO,IAAI,CAAC;KACnB;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAGD,gBAAgB;AAChB,MAAM,CAAC,MAAM,qBAAqB,GAAG,0BAA0B,CAAC;AAGhE,6CAA6C;AAC7C,MAAM,UAAU,aAAa,CAAC,WAAqB;IAC/C,WAAW,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC;AAC9C,CAAC;AAGD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAEhD,oCAAoC;AACpC,MAAM,UAAU,MAAM,CAAC,WAAqB;IACxC,WAAW,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;AACtC,CAAC"}
@@ -1,7 +1,22 @@
1
1
  import { type ITime } from './engine_types.js';
2
2
  /**
3
- * Time is a class that provides time-related information.
4
- * It is created and used within the Needle Engine Context.
3
+ * Provides time-related information for frame-based game logic.
4
+ * Access via `this.context.time` from any component.
5
+ *
6
+ * @example Using deltaTime for frame-rate independent movement
7
+ * ```ts
8
+ * update() {
9
+ * // Move 1 unit per second regardless of frame rate
10
+ * this.gameObject.position.x += 1 * this.context.time.deltaTime;
11
+ * }
12
+ * ```
13
+ * @example Checking elapsed time
14
+ * ```ts
15
+ * start() {
16
+ * console.log(`Time since start: ${this.context.time.time}s`);
17
+ * console.log(`Current frame: ${this.context.time.frameCount}`);
18
+ * }
19
+ * ```
5
20
  */
6
21
  export declare class Time implements ITime {
7
22
  /** The time in seconds since the start of Needle Engine. */
@@ -15,7 +30,12 @@ export declare class Time implements ITime {
15
30
  /** The time in seconds it took to complete the last frame (Read Only). Timescale is not applied. */
16
31
  get deltaTimeUnscaled(): number;
17
32
  private _deltaTimeUnscaled;
18
- /** The scale at which time passes. This can be used for slow motion effects or to speed up time. */
33
+ /**
34
+ * The scale at which time passes. Default is 1.
35
+ * - Values < 1 create slow motion (e.g. 0.5 = half speed)
36
+ * - Values > 1 speed up time (e.g. 2 = double speed)
37
+ * - Value of 0 effectively pauses time-dependent logic
38
+ */
19
39
  timeScale: number;
20
40
  /** same as frameCount */
21
41
  get frame(): number;
@@ -5,8 +5,23 @@ let timeScale = 1;
5
5
  if (typeof timescaleUrl === "number")
6
6
  timeScale = timescaleUrl;
7
7
  /**
8
- * Time is a class that provides time-related information.
9
- * It is created and used within the Needle Engine Context.
8
+ * Provides time-related information for frame-based game logic.
9
+ * Access via `this.context.time` from any component.
10
+ *
11
+ * @example Using deltaTime for frame-rate independent movement
12
+ * ```ts
13
+ * update() {
14
+ * // Move 1 unit per second regardless of frame rate
15
+ * this.gameObject.position.x += 1 * this.context.time.deltaTime;
16
+ * }
17
+ * ```
18
+ * @example Checking elapsed time
19
+ * ```ts
20
+ * start() {
21
+ * console.log(`Time since start: ${this.context.time.time}s`);
22
+ * console.log(`Current frame: ${this.context.time.frameCount}`);
23
+ * }
24
+ * ```
10
25
  */
11
26
  export class Time {
12
27
  /** The time in seconds since the start of Needle Engine. */
@@ -20,7 +35,12 @@ export class Time {
20
35
  /** The time in seconds it took to complete the last frame (Read Only). Timescale is not applied. */
21
36
  get deltaTimeUnscaled() { return this._deltaTimeUnscaled; }
22
37
  _deltaTimeUnscaled = 0;
23
- /** The scale at which time passes. This can be used for slow motion effects or to speed up time. */
38
+ /**
39
+ * The scale at which time passes. Default is 1.
40
+ * - Values < 1 create slow motion (e.g. 0.5 = half speed)
41
+ * - Values > 1 speed up time (e.g. 2 = double speed)
42
+ * - Value of 0 effectively pauses time-dependent logic
43
+ */
24
44
  timeScale = 1;
25
45
  /** same as frameCount */
26
46
  get frame() { return this._frame; }
@@ -1 +1 @@
1
- {"version":3,"file":"engine_time.js","sourceRoot":"","sources":["../../src/engine/engine_time.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_time.js","sourceRoot":"","sources":["../../src/engine/engine_time.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,37 @@
1
1
  import { type Constructor, type IComponent } from "./engine_types.js";
2
2
  declare type setter = (v: any) => void;
3
3
  declare type getter = () => any;
4
- /** create accessor callbacks for a field */
4
+ /**
5
+ * Marks a field to trigger the `onValidate` callback when its value changes.
6
+ * Useful for reacting to property changes from the editor or at runtime.
7
+ *
8
+ * Your component must implement `onValidate(property?: string)` to receive notifications.
9
+ *
10
+ * @param set Optional custom setter called before the value is assigned
11
+ * @param get Optional custom getter called when the value is read
12
+ *
13
+ * @example Basic usage
14
+ * ```ts
15
+ * export class MyComponent extends Behaviour {
16
+ * @serializable()
17
+ * @validate()
18
+ * color: Color = new Color(1, 0, 0);
19
+ *
20
+ * onValidate(property?: string) {
21
+ * if (property === "color") {
22
+ * console.log("Color changed to:", this.color);
23
+ * }
24
+ * }
25
+ * }
26
+ * ```
27
+ * @example With custom setter
28
+ * ```ts
29
+ * @validate(function(value) {
30
+ * console.log("Setting speed to", value);
31
+ * })
32
+ * speed: number = 1;
33
+ * ```
34
+ */
5
35
  export declare const validate: (set?: setter, get?: getter) => (target: IComponent | any, propertyKey: string, descriptor?: undefined) => void;
6
36
  /** Experimental attribute
7
37
  * Use to hook into another type's methods and run before the other methods run (similar to Harmony prefixes).
@@ -2,7 +2,37 @@ import { Quaternion, Vector2, Vector3, Vector4 } from "three";
2
2
  import { isDevEnvironment, LogType, showBalloonMessage } from "./debug/index.js";
3
3
  import { $isAssigningProperties } from "./engine_serialization_core.js";
4
4
  import { watchWrite } from "./engine_utils.js";
5
- /** create accessor callbacks for a field */
5
+ /**
6
+ * Marks a field to trigger the `onValidate` callback when its value changes.
7
+ * Useful for reacting to property changes from the editor or at runtime.
8
+ *
9
+ * Your component must implement `onValidate(property?: string)` to receive notifications.
10
+ *
11
+ * @param set Optional custom setter called before the value is assigned
12
+ * @param get Optional custom getter called when the value is read
13
+ *
14
+ * @example Basic usage
15
+ * ```ts
16
+ * export class MyComponent extends Behaviour {
17
+ * @serializable()
18
+ * @validate()
19
+ * color: Color = new Color(1, 0, 0);
20
+ *
21
+ * onValidate(property?: string) {
22
+ * if (property === "color") {
23
+ * console.log("Color changed to:", this.color);
24
+ * }
25
+ * }
26
+ * }
27
+ * ```
28
+ * @example With custom setter
29
+ * ```ts
30
+ * @validate(function(value) {
31
+ * console.log("Setting speed to", value);
32
+ * })
33
+ * speed: number = 1;
34
+ * ```
35
+ */
6
36
  export const validate = function (set, get) {
7
37
  // "descriptor : undefined" prevents @validate() to be added to property getters or setters
8
38
  return function (target, propertyKey, descriptor) {
@@ -1 +1 @@
1
- {"version":3,"file":"engine_util_decorator.js","sourceRoot":"","sources":["../../src/engine/engine_util_decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAM/C,4CAA4C;AAC5C,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,GAAY,EAAE,GAAY;IACxD,2FAA2F;IAC3F,OAAO,UAAU,MAAwB,EAAE,WAAmB,EAAE,UAAsB;QAClF,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC,CAAA;AACL,CAAC,CAAA;AAGD,SAAS,qBAAqB,CAAC,MAAwB,EAAE,YAAuC,EAAE,UAA+B,EAC7H,GAAY,EACZ,GAAY;IAEZ,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;QAAE,OAAO;IAE/C,0FAA0F;IAC1F,iDAAiD;IACjD,IAAI,UAAU,KAAK,SAAS,EAAE;QAC1B,OAAO,CAAC,KAAK,CAAC,oEAAoE,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QACtH,kBAAkB,CAAC,+EAA+E,GAAG,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAClI,OAAO;KACV;IAED,IAAI,WAAW,GAAW,EAAE,CAAC;IAC7B,IAAI,OAAO,YAAY,KAAK,QAAQ;QAAE,WAAW,GAAG,YAAY,CAAC;;QAC5D,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;IAErC,IAAI,MAAM,CAAC,eAAe,EAAE;QACxB,0DAA0D;QAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAClC,iCAAiC;QACjC,gEAAgE;QAChE,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC;QACrC,MAAM,CAAC,eAAe,GAAG;YAErB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClB,IAAG,gBAAgB,EAAE;oBAAE,OAAO,CAAC,IAAI,CAAC,0FAA0F,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC,CAAA;gBACjK,OAAO;aACV;YAED,mCAAmC;YACnC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;gBAE3B,0DAA0D;gBAC1D,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEhC,iFAAiF;gBACjF,mDAAmD;gBACnD,2GAA2G;gBAC3G,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC/B,IAAI,IAAI,YAAY,OAAO;oBACvB,IAAI,YAAY,OAAO;oBACvB,IAAI,YAAY,OAAO;oBACvB,IAAI,YAAY,UAAU,EAAE;oBAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC9B,MAAM,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;oBAClD,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;iBACtB;gBAED,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE;oBACrC,GAAG,EAAE,UAAU,CAAC;wBACZ,IAAI,IAAI,CAAC,sBAAsB,CAAC,KAAK,IAAI,EAAE;4BACvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;yBACnB;6BACI;4BACD,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;4BACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;4BAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAChB,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;yBACtD;oBACL,CAAC;oBACD,GAAG,EAAE;wBACD,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;oBACvB,CAAC;iBACJ,CAAC,CAAC;aACN;YAED,iCAAiC;YACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC;KACL;AACL,CAAC;AAKD;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,UAAa,IAAoB;IACnD,OAAO,UAAU,MAAwB,EAAE,YAAuC,EAAE,mBAAuC;QAEvH,IAAI,WAAW,GAAW,EAAE,CAAC;QAC7B,IAAI,OAAO,YAAY,KAAK,QAAQ;YAAE,WAAW,GAAG,YAAY,CAAC;;YAC5D,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;QAErC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,MAAM,YAAY,GAAG,MAAM,CAAC,wBAAwB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC9E,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC,uDAAuD,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YAC1F,OAAO;SACV;QAED,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACnC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE;YAC3C,KAAK,EAAE,UAAU,GAAG,IAAI;gBACpB,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;gBACxC,4EAA4E;gBAC5E,0DAA0D;gBAC1D,IAAI,GAAG,YAAY,OAAO,EAAE;oBACxB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBACX,IAAI,CAAC,KAAK,KAAK;4BAAE,OAAO;wBACxB,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;oBAC7C,CAAC,CAAC,CAAC;oBACH,OAAO;iBACV;gBACD,IAAI,GAAG,KAAK,KAAK;oBAAE,OAAO;gBAC1B,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;YAC7C,CAAC;SACJ,CAAC,CAAC;IACP,CAAC,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"engine_util_decorator.js","sourceRoot":"","sources":["../../src/engine/engine_util_decorator.ts"],"names":[],"mappings":"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"}
@@ -36,11 +36,27 @@ export declare class CircularBuffer<T> {
36
36
  }
37
37
  export declare function getUrlParams(): URLSearchParams;
38
38
  type Param<T extends string> = string | boolean | number | T;
39
- /** Checks if a url parameter exists.
40
- * Returns true if it exists but has no value (e.g. ?help)
41
- * Returns false if it does not exist
42
- * Returns false if it's set to 0 e.g. ?debug=0
43
- * Returns the value if it exists e.g. ?message=hello
39
+ /**
40
+ * Checks if a URL parameter exists and returns its value.
41
+ * Useful for debugging, feature flags, and configuration.
42
+ *
43
+ * @param paramName The URL parameter name to check
44
+ * @returns
45
+ * - `true` if the parameter exists without a value (e.g. `?debug`)
46
+ * - `false` if the parameter doesn't exist or is set to `0`
47
+ * - The numeric value if it's a number (e.g. `?level=5` returns `5`)
48
+ * - The string value otherwise (e.g. `?name=test` returns `"test"`)
49
+ *
50
+ * @example Check debug mode
51
+ * ```ts
52
+ * if (getParam("debug")) {
53
+ * console.log("Debug mode enabled");
54
+ * }
55
+ * ```
56
+ * @example Get a numeric value
57
+ * ```ts
58
+ * const level = getParam("level"); // Returns number if ?level=5
59
+ * ```
44
60
  */
45
61
  export declare function getParam<T extends string>(paramName: T): Param<T>;
46
62
  export declare function setParam(paramName: string, paramValue: string): void;
@@ -89,11 +89,27 @@ export function getUrlParams() {
89
89
  // "window" may not exist in node.js
90
90
  return new URLSearchParams(globalThis.location?.search);
91
91
  }
92
- /** Checks if a url parameter exists.
93
- * Returns true if it exists but has no value (e.g. ?help)
94
- * Returns false if it does not exist
95
- * Returns false if it's set to 0 e.g. ?debug=0
96
- * Returns the value if it exists e.g. ?message=hello
92
+ /**
93
+ * Checks if a URL parameter exists and returns its value.
94
+ * Useful for debugging, feature flags, and configuration.
95
+ *
96
+ * @param paramName The URL parameter name to check
97
+ * @returns
98
+ * - `true` if the parameter exists without a value (e.g. `?debug`)
99
+ * - `false` if the parameter doesn't exist or is set to `0`
100
+ * - The numeric value if it's a number (e.g. `?level=5` returns `5`)
101
+ * - The string value otherwise (e.g. `?name=test` returns `"test"`)
102
+ *
103
+ * @example Check debug mode
104
+ * ```ts
105
+ * if (getParam("debug")) {
106
+ * console.log("Debug mode enabled");
107
+ * }
108
+ * ```
109
+ * @example Get a numeric value
110
+ * ```ts
111
+ * const level = getParam("level"); // Returns number if ?level=5
112
+ * ```
97
113
  */
98
114
  export function getParam(paramName) {
99
115
  if (showHelp && !requestedParams.includes(paramName))