@needle-tools/engine 4.5.0-alpha.7 → 4.5.1

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 (1066) hide show
  1. package/CHANGELOG.md +3729 -3729
  2. package/LICENSE.md +10 -10
  3. package/README.md +64 -64
  4. package/components.needle.json +1 -1
  5. package/dist/{needle-engine.bundle-e4d45a4b.light.umd.cjs → needle-engine.bundle-2d3f9594.light.umd.cjs} +5 -5
  6. package/dist/{needle-engine.bundle-b3f8f528.umd.cjs → needle-engine.bundle-4dbc6bd8.umd.cjs} +5 -5
  7. package/dist/{needle-engine.bundle-b0b656a0.js → needle-engine.bundle-55f7e76b.js} +9 -10
  8. package/dist/{needle-engine.bundle-794a5cc4.light.min.js → needle-engine.bundle-7a7b6e91.light.min.js} +3 -3
  9. package/dist/{needle-engine.bundle-ac188401.min.js → needle-engine.bundle-c7347339.min.js} +3 -3
  10. package/dist/{needle-engine.bundle-61f52fd3.light.js → needle-engine.bundle-f56361b5.light.js} +689 -690
  11. package/dist/needle-engine.d.ts +129 -130
  12. package/dist/needle-engine.js +2 -2
  13. package/dist/needle-engine.light.d.ts +129 -130
  14. package/dist/needle-engine.light.js +2 -2
  15. package/dist/needle-engine.light.min.js +1 -1
  16. package/dist/needle-engine.light.umd.cjs +1 -1
  17. package/dist/needle-engine.min.js +1 -1
  18. package/dist/needle-engine.umd.cjs +1 -1
  19. package/lib/asap/needle-asap.d.ts +1 -1
  20. package/lib/asap/needle-asap.js +95 -95
  21. package/lib/asap/sessiongranted.d.ts +3 -3
  22. package/lib/asap/sessiongranted.js +65 -65
  23. package/lib/asap/utils.d.ts +1 -1
  24. package/lib/asap/utils.js +3 -3
  25. package/lib/engine/analytics/index.d.ts +6 -6
  26. package/lib/engine/analytics/index.js +12 -12
  27. package/lib/engine/analytics/lcp.d.ts +3 -3
  28. package/lib/engine/analytics/lcp.js +34 -34
  29. package/lib/engine/api.d.ts +82 -82
  30. package/lib/engine/api.js +81 -81
  31. package/lib/engine/api.js.map +1 -1
  32. package/lib/engine/assets/index.d.ts +11 -11
  33. package/lib/engine/assets/index.js +47 -47
  34. package/lib/engine/assets/static.d.ts +1 -1
  35. package/lib/engine/assets/static.js +4 -4
  36. package/lib/engine/codegen/register_types.d.ts +1 -1
  37. package/lib/engine/codegen/register_types.js +300 -300
  38. package/lib/engine/debug/debug.d.ts +15 -15
  39. package/lib/engine/debug/debug.js +44 -44
  40. package/lib/engine/debug/debug_console.d.ts +2 -2
  41. package/lib/engine/debug/debug_console.js +307 -307
  42. package/lib/engine/debug/debug_overlay.d.ts +22 -22
  43. package/lib/engine/debug/debug_overlay.js +316 -316
  44. package/lib/engine/debug/debug_spatial_console.d.ts +2 -2
  45. package/lib/engine/debug/debug_spatial_console.js +390 -390
  46. package/lib/engine/debug/index.d.ts +2 -2
  47. package/lib/engine/debug/index.js +2 -2
  48. package/lib/engine/engine_addressables.d.ts +166 -166
  49. package/lib/engine/engine_addressables.js +608 -608
  50. package/lib/engine/engine_animation.d.ts +43 -43
  51. package/lib/engine/engine_animation.js +133 -133
  52. package/lib/engine/engine_application.d.ts +45 -45
  53. package/lib/engine/engine_application.js +104 -104
  54. package/lib/engine/engine_assetdatabase.d.ts +25 -25
  55. package/lib/engine/engine_assetdatabase.js +344 -344
  56. package/lib/engine/engine_audio.d.ts +4 -4
  57. package/lib/engine/engine_audio.js +23 -23
  58. package/lib/engine/engine_camera.d.ts +13 -13
  59. package/lib/engine/engine_camera.js +30 -30
  60. package/lib/engine/engine_components.d.ts +110 -110
  61. package/lib/engine/engine_components.js +374 -374
  62. package/lib/engine/engine_components_internal.d.ts +9 -9
  63. package/lib/engine/engine_components_internal.js +36 -36
  64. package/lib/engine/engine_constants.d.ts +10 -10
  65. package/lib/engine/engine_constants.js +41 -41
  66. package/lib/engine/engine_context.d.ts +472 -472
  67. package/lib/engine/engine_context.js +1664 -1664
  68. package/lib/engine/engine_context_registry.d.ts +71 -71
  69. package/lib/engine/engine_context_registry.js +117 -117
  70. package/lib/engine/engine_coroutine.d.ts +35 -35
  71. package/lib/engine/engine_coroutine.js +52 -52
  72. package/lib/engine/engine_create_objects.d.ts +118 -118
  73. package/lib/engine/engine_create_objects.js +308 -308
  74. package/lib/engine/engine_default_parameters.d.ts +2 -2
  75. package/lib/engine/engine_default_parameters.js +3 -3
  76. package/lib/engine/engine_editor-sync.d.ts +21 -21
  77. package/lib/engine/engine_editor-sync.js +4 -4
  78. package/lib/engine/engine_fileloader.d.ts +2 -2
  79. package/lib/engine/engine_fileloader.js +8 -8
  80. package/lib/engine/engine_gameobject.d.ts +68 -68
  81. package/lib/engine/engine_gameobject.js +596 -596
  82. package/lib/engine/engine_generic_utils.d.ts +1 -1
  83. package/lib/engine/engine_generic_utils.js +13 -13
  84. package/lib/engine/engine_gizmos.d.ts +149 -149
  85. package/lib/engine/engine_gizmos.js +530 -530
  86. package/lib/engine/engine_gltf.d.ts +12 -12
  87. package/lib/engine/engine_gltf.js +15 -15
  88. package/lib/engine/engine_gltf_builtin_components.d.ts +11 -11
  89. package/lib/engine/engine_gltf_builtin_components.js +341 -341
  90. package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
  91. package/lib/engine/engine_hot_reload.d.ts +8 -8
  92. package/lib/engine/engine_hot_reload.js +197 -197
  93. package/lib/engine/engine_input.d.ts +362 -362
  94. package/lib/engine/engine_input.js +1294 -1294
  95. package/lib/engine/engine_input_utils.d.ts +2 -2
  96. package/lib/engine/engine_input_utils.js +22 -22
  97. package/lib/engine/engine_instancing.d.ts +19 -19
  98. package/lib/engine/engine_instancing.js +39 -39
  99. package/lib/engine/engine_license.d.ts +11 -11
  100. package/lib/engine/engine_license.js +361 -361
  101. package/lib/engine/engine_lifecycle_api.d.ts +83 -83
  102. package/lib/engine/engine_lifecycle_api.js +106 -106
  103. package/lib/engine/engine_lifecycle_functions_internal.d.ts +32 -32
  104. package/lib/engine/engine_lifecycle_functions_internal.js +146 -146
  105. package/lib/engine/engine_lightdata.d.ts +23 -23
  106. package/lib/engine/engine_lightdata.js +91 -91
  107. package/lib/engine/engine_loaders.callbacks.d.ts +96 -96
  108. package/lib/engine/engine_loaders.callbacks.js +85 -85
  109. package/lib/engine/engine_loaders.callbacks.js.map +1 -1
  110. package/lib/engine/engine_loaders.d.ts +48 -48
  111. package/lib/engine/engine_loaders.gltf.d.ts +13 -13
  112. package/lib/engine/engine_loaders.gltf.js +62 -62
  113. package/lib/engine/engine_loaders.js +335 -335
  114. package/lib/engine/engine_loaders.js.map +1 -1
  115. package/lib/engine/engine_lods.d.ts +31 -31
  116. package/lib/engine/engine_lods.js +146 -146
  117. package/lib/engine/engine_mainloop_utils.d.ts +32 -32
  118. package/lib/engine/engine_mainloop_utils.js +466 -466
  119. package/lib/engine/engine_math.d.ts +114 -114
  120. package/lib/engine/engine_math.js +247 -247
  121. package/lib/engine/engine_modules.d.ts +36 -36
  122. package/lib/engine/engine_modules.js +85 -85
  123. package/lib/engine/engine_networking.d.ts +260 -260
  124. package/lib/engine/engine_networking.js +764 -764
  125. package/lib/engine/engine_networking_auto.d.ts +24 -24
  126. package/lib/engine/engine_networking_auto.js +310 -310
  127. package/lib/engine/engine_networking_blob.d.ts +48 -48
  128. package/lib/engine/engine_networking_blob.js +228 -228
  129. package/lib/engine/engine_networking_files.d.ts +35 -35
  130. package/lib/engine/engine_networking_files.js +172 -172
  131. package/lib/engine/engine_networking_files_default_components.d.ts +6 -6
  132. package/lib/engine/engine_networking_files_default_components.js +42 -42
  133. package/lib/engine/engine_networking_instantiate.d.ts +100 -100
  134. package/lib/engine/engine_networking_instantiate.js +345 -345
  135. package/lib/engine/engine_networking_peer.d.ts +15 -15
  136. package/lib/engine/engine_networking_peer.js +132 -132
  137. package/lib/engine/engine_networking_streams.d.ts +123 -123
  138. package/lib/engine/engine_networking_streams.js +645 -645
  139. package/lib/engine/engine_networking_types.d.ts +22 -22
  140. package/lib/engine/engine_networking_types.js +7 -7
  141. package/lib/engine/engine_networking_utils.d.ts +2 -2
  142. package/lib/engine/engine_networking_utils.js +20 -20
  143. package/lib/engine/engine_networking_websocket.d.ts +1 -1
  144. package/lib/engine/engine_networking_websocket.js +2 -2
  145. package/lib/engine/engine_patcher.d.ts +10 -10
  146. package/lib/engine/engine_patcher.js +142 -142
  147. package/lib/engine/engine_physics.d.ts +152 -152
  148. package/lib/engine/engine_physics.js +645 -645
  149. package/lib/engine/engine_physics.types.d.ts +40 -40
  150. package/lib/engine/engine_physics.types.js +33 -33
  151. package/lib/engine/engine_physics_rapier.d.ts +147 -147
  152. package/lib/engine/engine_physics_rapier.js +1433 -1433
  153. package/lib/engine/engine_playerview.d.ts +26 -26
  154. package/lib/engine/engine_playerview.js +64 -64
  155. package/lib/engine/engine_scenelighting.d.ts +71 -71
  156. package/lib/engine/engine_scenelighting.js +226 -226
  157. package/lib/engine/engine_serialization.d.ts +3 -3
  158. package/lib/engine/engine_serialization.js +3 -3
  159. package/lib/engine/engine_serialization_builtin_serializer.d.ts +72 -72
  160. package/lib/engine/engine_serialization_builtin_serializer.js +403 -403
  161. package/lib/engine/engine_serialization_core.d.ts +85 -85
  162. package/lib/engine/engine_serialization_core.js +606 -606
  163. package/lib/engine/engine_serialization_decorator.d.ts +23 -23
  164. package/lib/engine/engine_serialization_decorator.js +66 -66
  165. package/lib/engine/engine_setup.d.ts +1 -1
  166. package/lib/engine/engine_setup.js +2 -2
  167. package/lib/engine/engine_shaders.d.ts +53 -53
  168. package/lib/engine/engine_shaders.js +252 -252
  169. package/lib/engine/engine_shims.d.ts +4 -4
  170. package/lib/engine/engine_shims.js +24 -24
  171. package/lib/engine/engine_test_utils.d.ts +39 -39
  172. package/lib/engine/engine_test_utils.js +83 -83
  173. package/lib/engine/engine_texture.d.ts +28 -28
  174. package/lib/engine/engine_texture.js +64 -64
  175. package/lib/engine/engine_three_utils.d.ts +201 -201
  176. package/lib/engine/engine_three_utils.js +731 -731
  177. package/lib/engine/engine_time.d.ts +51 -51
  178. package/lib/engine/engine_time.js +82 -82
  179. package/lib/engine/engine_time_utils.d.ts +88 -88
  180. package/lib/engine/engine_time_utils.js +215 -215
  181. package/lib/engine/engine_tonemapping.d.ts +2 -2
  182. package/lib/engine/engine_tonemapping.js +194 -194
  183. package/lib/engine/engine_types.d.ts +578 -578
  184. package/lib/engine/engine_types.js +95 -95
  185. package/lib/engine/engine_typestore.d.ts +28 -28
  186. package/lib/engine/engine_typestore.js +55 -55
  187. package/lib/engine/engine_util_decorator.d.ts +13 -13
  188. package/lib/engine/engine_util_decorator.js +116 -116
  189. package/lib/engine/engine_utils.d.ts +266 -266
  190. package/lib/engine/engine_utils.js +878 -878
  191. package/lib/engine/engine_utils_format.d.ts +23 -23
  192. package/lib/engine/engine_utils_format.js +212 -212
  193. package/lib/engine/engine_utils_screenshot.d.ts +159 -159
  194. package/lib/engine/engine_utils_screenshot.js +513 -513
  195. package/lib/engine/engine_utils_screenshot.xr.d.ts +5 -5
  196. package/lib/engine/engine_utils_screenshot.xr.js +90 -90
  197. package/lib/engine/engine_xr.d.ts +1 -1
  198. package/lib/engine/engine_xr.js +1 -1
  199. package/lib/engine/export/gltf/Writers.d.ts +19 -19
  200. package/lib/engine/export/gltf/Writers.js +24 -24
  201. package/lib/engine/export/gltf/index.d.ts +11 -11
  202. package/lib/engine/export/gltf/index.js +123 -123
  203. package/lib/engine/export/index.d.ts +2 -2
  204. package/lib/engine/export/index.js +2 -2
  205. package/lib/engine/export/state.d.ts +7 -7
  206. package/lib/engine/export/state.js +17 -17
  207. package/lib/engine/export/utils.d.ts +2 -2
  208. package/lib/engine/export/utils.js +7 -7
  209. package/lib/engine/extensions/EXT_texture_exr.d.ts +8 -8
  210. package/lib/engine/extensions/EXT_texture_exr.js +32 -32
  211. package/lib/engine/extensions/NEEDLE_animator_controller_model.d.ts +122 -122
  212. package/lib/engine/extensions/NEEDLE_animator_controller_model.js +95 -95
  213. package/lib/engine/extensions/NEEDLE_components.d.ts +35 -35
  214. package/lib/engine/extensions/NEEDLE_components.js +220 -220
  215. package/lib/engine/extensions/NEEDLE_gameobject_data.d.ts +10 -10
  216. package/lib/engine/extensions/NEEDLE_gameobject_data.js +57 -57
  217. package/lib/engine/extensions/NEEDLE_lighting_settings.d.ts +37 -37
  218. package/lib/engine/extensions/NEEDLE_lighting_settings.js +157 -157
  219. package/lib/engine/extensions/NEEDLE_lightmaps.d.ts +18 -18
  220. package/lib/engine/extensions/NEEDLE_lightmaps.js +99 -99
  221. package/lib/engine/extensions/NEEDLE_persistent_assets.d.ts +11 -11
  222. package/lib/engine/extensions/NEEDLE_persistent_assets.js +63 -63
  223. package/lib/engine/extensions/NEEDLE_progressive.d.ts +1 -1
  224. package/lib/engine/extensions/NEEDLE_progressive.js +1 -1
  225. package/lib/engine/extensions/NEEDLE_render_objects.d.ts +13 -13
  226. package/lib/engine/extensions/NEEDLE_render_objects.js +159 -159
  227. package/lib/engine/extensions/NEEDLE_techniques_webgl.d.ts +38 -38
  228. package/lib/engine/extensions/NEEDLE_techniques_webgl.js +564 -564
  229. package/lib/engine/extensions/extension_resolver.d.ts +4 -4
  230. package/lib/engine/extensions/extension_resolver.js +1 -1
  231. package/lib/engine/extensions/extension_utils.d.ts +12 -12
  232. package/lib/engine/extensions/extension_utils.js +152 -152
  233. package/lib/engine/extensions/extensions.d.ts +32 -32
  234. package/lib/engine/extensions/extensions.js +107 -107
  235. package/lib/engine/extensions/index.d.ts +6 -6
  236. package/lib/engine/extensions/index.js +6 -6
  237. package/lib/engine/extensions/usage_tracker.d.ts +13 -13
  238. package/lib/engine/extensions/usage_tracker.js +65 -65
  239. package/lib/engine/js-extensions/Camera.d.ts +1 -1
  240. package/lib/engine/js-extensions/Camera.js +39 -39
  241. package/lib/engine/js-extensions/ExtensionUtils.d.ts +9 -9
  242. package/lib/engine/js-extensions/ExtensionUtils.js +67 -67
  243. package/lib/engine/js-extensions/Layers.d.ts +6 -6
  244. package/lib/engine/js-extensions/Layers.js +22 -22
  245. package/lib/engine/js-extensions/Object3D.d.ts +120 -120
  246. package/lib/engine/js-extensions/Object3D.js +136 -136
  247. package/lib/engine/js-extensions/RGBAColor.d.ts +23 -23
  248. package/lib/engine/js-extensions/RGBAColor.js +111 -111
  249. package/lib/engine/js-extensions/Vector.d.ts +3 -3
  250. package/lib/engine/js-extensions/Vector.js +13 -13
  251. package/lib/engine/js-extensions/index.d.ts +5 -5
  252. package/lib/engine/js-extensions/index.js +5 -5
  253. package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.d.ts +4 -4
  254. package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +79 -79
  255. package/lib/engine/shaders/shaderData.d.ts +55 -55
  256. package/lib/engine/shaders/shaderData.js +58 -58
  257. package/lib/engine/tests/test_utils.d.ts +2 -2
  258. package/lib/engine/tests/test_utils.js +53 -53
  259. package/lib/engine/webcomponents/WebXRButtons.d.ts +56 -56
  260. package/lib/engine/webcomponents/WebXRButtons.js +230 -230
  261. package/lib/engine/webcomponents/api.d.ts +5 -5
  262. package/lib/engine/webcomponents/api.js +4 -4
  263. package/lib/engine/webcomponents/buttons.d.ts +51 -51
  264. package/lib/engine/webcomponents/buttons.js +263 -263
  265. package/lib/engine/webcomponents/fonts.d.ts +9 -9
  266. package/lib/engine/webcomponents/fonts.js +32 -32
  267. package/lib/engine/webcomponents/icons.d.ts +9 -9
  268. package/lib/engine/webcomponents/icons.js +52 -52
  269. package/lib/engine/webcomponents/index.d.ts +1 -1
  270. package/lib/engine/webcomponents/index.js +1 -1
  271. package/lib/engine/webcomponents/logo-element.d.ts +10 -10
  272. package/lib/engine/webcomponents/logo-element.js +67 -67
  273. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.d.ts +37 -37
  274. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +513 -513
  275. package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +155 -155
  276. package/lib/engine/webcomponents/needle menu/needle-menu.js +1029 -1029
  277. package/lib/engine/webcomponents/needle-button.d.ts +34 -34
  278. package/lib/engine/webcomponents/needle-button.js +161 -161
  279. package/lib/engine/webcomponents/needle-engine.ar-overlay.d.ts +21 -21
  280. package/lib/engine/webcomponents/needle-engine.ar-overlay.js +166 -166
  281. package/lib/engine/webcomponents/needle-engine.attributes.d.ts +69 -69
  282. package/lib/engine/webcomponents/needle-engine.attributes.js +1 -1
  283. package/lib/engine/webcomponents/needle-engine.d.ts +113 -113
  284. package/lib/engine/webcomponents/needle-engine.extras.d.ts +6 -6
  285. package/lib/engine/webcomponents/needle-engine.extras.js +13 -13
  286. package/lib/engine/webcomponents/needle-engine.js +831 -831
  287. package/lib/engine/webcomponents/needle-engine.loading.d.ts +44 -44
  288. package/lib/engine/webcomponents/needle-engine.loading.js +341 -341
  289. package/lib/engine/xr/NeedleXRController.d.ts +313 -313
  290. package/lib/engine/xr/NeedleXRController.js +1007 -1007
  291. package/lib/engine/xr/NeedleXRSession.d.ts +339 -339
  292. package/lib/engine/xr/NeedleXRSession.js +1448 -1448
  293. package/lib/engine/xr/NeedleXRSync.d.ts +22 -22
  294. package/lib/engine/xr/NeedleXRSync.js +188 -188
  295. package/lib/engine/xr/SceneTransition.d.ts +18 -18
  296. package/lib/engine/xr/SceneTransition.js +69 -69
  297. package/lib/engine/xr/TempXRContext.d.ts +34 -34
  298. package/lib/engine/xr/TempXRContext.js +187 -187
  299. package/lib/engine/xr/XRRig.d.ts +7 -7
  300. package/lib/engine/xr/XRRig.js +1 -1
  301. package/lib/engine/xr/api.d.ts +6 -6
  302. package/lib/engine/xr/api.js +6 -6
  303. package/lib/engine/xr/events.d.ts +66 -66
  304. package/lib/engine/xr/events.js +93 -93
  305. package/lib/engine/xr/internal.d.ts +12 -12
  306. package/lib/engine/xr/internal.js +25 -25
  307. package/lib/engine/xr/usdz.d.ts +12 -12
  308. package/lib/engine/xr/usdz.js +29 -29
  309. package/lib/engine/xr/utils.d.ts +11 -11
  310. package/lib/engine/xr/utils.js +34 -34
  311. package/lib/engine-components/AlignmentConstraint.d.ts +10 -10
  312. package/lib/engine-components/AlignmentConstraint.js +39 -39
  313. package/lib/engine-components/Animation.d.ts +156 -156
  314. package/lib/engine-components/Animation.js +508 -508
  315. package/lib/engine-components/AnimationCurve.d.ts +40 -40
  316. package/lib/engine-components/AnimationCurve.js +159 -159
  317. package/lib/engine-components/AnimationUtils.d.ts +8 -8
  318. package/lib/engine-components/AnimationUtils.js +27 -27
  319. package/lib/engine-components/AnimationUtilsAutoplay.d.ts +1 -1
  320. package/lib/engine-components/AnimationUtilsAutoplay.js +39 -39
  321. package/lib/engine-components/Animator.d.ts +217 -217
  322. package/lib/engine-components/Animator.js +354 -354
  323. package/lib/engine-components/AnimatorController.d.ts +227 -227
  324. package/lib/engine-components/AnimatorController.js +1152 -1152
  325. package/lib/engine-components/AudioListener.d.ts +33 -33
  326. package/lib/engine-components/AudioListener.js +86 -86
  327. package/lib/engine-components/AudioSource.d.ts +217 -217
  328. package/lib/engine-components/AudioSource.js +634 -634
  329. package/lib/engine-components/AvatarLoader.d.ts +80 -80
  330. package/lib/engine-components/AvatarLoader.js +231 -231
  331. package/lib/engine-components/AxesHelper.d.ts +32 -32
  332. package/lib/engine-components/AxesHelper.js +67 -67
  333. package/lib/engine-components/BasicIKConstraint.d.ts +9 -9
  334. package/lib/engine-components/BasicIKConstraint.js +43 -43
  335. package/lib/engine-components/BoxCollider.d.ts +2 -2
  336. package/lib/engine-components/BoxCollider.js +2 -2
  337. package/lib/engine-components/BoxHelperComponent.d.ts +47 -47
  338. package/lib/engine-components/BoxHelperComponent.js +102 -102
  339. package/lib/engine-components/Camera.d.ts +231 -231
  340. package/lib/engine-components/Camera.js +700 -700
  341. package/lib/engine-components/CameraUtils.d.ts +1 -1
  342. package/lib/engine-components/CameraUtils.js +121 -121
  343. package/lib/engine-components/CharacterController.d.ts +55 -55
  344. package/lib/engine-components/CharacterController.js +236 -236
  345. package/lib/engine-components/Collider.d.ts +188 -188
  346. package/lib/engine-components/Collider.js +369 -369
  347. package/lib/engine-components/Component.d.ts +792 -792
  348. package/lib/engine-components/Component.js +920 -920
  349. package/lib/engine-components/Component.js.map +1 -1
  350. package/lib/engine-components/ContactShadows.d.ts +94 -94
  351. package/lib/engine-components/ContactShadows.js +453 -453
  352. package/lib/engine-components/DeleteBox.d.ts +19 -19
  353. package/lib/engine-components/DeleteBox.js +58 -58
  354. package/lib/engine-components/DeviceFlag.d.ts +16 -16
  355. package/lib/engine-components/DeviceFlag.js +47 -47
  356. package/lib/engine-components/DragControls.d.ts +170 -170
  357. package/lib/engine-components/DragControls.js +1421 -1421
  358. package/lib/engine-components/DropListener.d.ts +215 -215
  359. package/lib/engine-components/DropListener.js +630 -630
  360. package/lib/engine-components/Duplicatable.d.ts +35 -35
  361. package/lib/engine-components/Duplicatable.js +202 -202
  362. package/lib/engine-components/EventList.d.ts +54 -54
  363. package/lib/engine-components/EventList.js +232 -232
  364. package/lib/engine-components/EventTrigger.d.ts +33 -33
  365. package/lib/engine-components/EventTrigger.js +75 -75
  366. package/lib/engine-components/EventType.d.ts +22 -22
  367. package/lib/engine-components/EventType.js +23 -23
  368. package/lib/engine-components/Fog.d.ts +22 -22
  369. package/lib/engine-components/Fog.js +61 -61
  370. package/lib/engine-components/Gizmos.d.ts +17 -17
  371. package/lib/engine-components/Gizmos.js +64 -64
  372. package/lib/engine-components/GridHelper.d.ts +20 -20
  373. package/lib/engine-components/GridHelper.js +54 -54
  374. package/lib/engine-components/GroundProjection.d.ts +67 -67
  375. package/lib/engine-components/GroundProjection.js +343 -343
  376. package/lib/engine-components/Interactable.d.ts +12 -12
  377. package/lib/engine-components/Interactable.js +12 -12
  378. package/lib/engine-components/Joints.d.ts +19 -19
  379. package/lib/engine-components/Joints.js +51 -51
  380. package/lib/engine-components/LODGroup.d.ts +35 -35
  381. package/lib/engine-components/LODGroup.js +152 -152
  382. package/lib/engine-components/Light.d.ts +180 -180
  383. package/lib/engine-components/Light.js +535 -535
  384. package/lib/engine-components/LookAtConstraint.d.ts +19 -19
  385. package/lib/engine-components/LookAtConstraint.js +35 -35
  386. package/lib/engine-components/NeedleMenu.d.ts +50 -50
  387. package/lib/engine-components/NeedleMenu.js +92 -92
  388. package/lib/engine-components/NestedGltf.d.ts +25 -25
  389. package/lib/engine-components/NestedGltf.js +88 -88
  390. package/lib/engine-components/Networking.d.ts +54 -54
  391. package/lib/engine-components/Networking.js +112 -112
  392. package/lib/engine-components/OffsetConstraint.d.ts +14 -14
  393. package/lib/engine-components/OffsetConstraint.js +65 -65
  394. package/lib/engine-components/OrbitControls.d.ts +268 -268
  395. package/lib/engine-components/OrbitControls.js +1015 -1015
  396. package/lib/engine-components/PlayerColor.d.ts +19 -19
  397. package/lib/engine-components/PlayerColor.js +94 -94
  398. package/lib/engine-components/ReflectionProbe.d.ts +27 -27
  399. package/lib/engine-components/ReflectionProbe.js +201 -201
  400. package/lib/engine-components/Renderer.d.ts +153 -153
  401. package/lib/engine-components/Renderer.js +830 -830
  402. package/lib/engine-components/RendererInstancing.d.ts +140 -140
  403. package/lib/engine-components/RendererInstancing.js +744 -744
  404. package/lib/engine-components/RendererLightmap.d.ts +24 -24
  405. package/lib/engine-components/RendererLightmap.js +182 -182
  406. package/lib/engine-components/RigidBody.d.ts +155 -155
  407. package/lib/engine-components/RigidBody.js +517 -517
  408. package/lib/engine-components/SceneSwitcher.d.ts +263 -263
  409. package/lib/engine-components/SceneSwitcher.js +971 -971
  410. package/lib/engine-components/ScreenCapture.d.ts +144 -144
  411. package/lib/engine-components/ScreenCapture.js +547 -547
  412. package/lib/engine-components/ShadowCatcher.d.ts +33 -33
  413. package/lib/engine-components/ShadowCatcher.js +166 -166
  414. package/lib/engine-components/Skybox.d.ts +82 -82
  415. package/lib/engine-components/Skybox.js +448 -448
  416. package/lib/engine-components/SmoothFollow.d.ts +34 -34
  417. package/lib/engine-components/SmoothFollow.js +82 -82
  418. package/lib/engine-components/SpatialTrigger.d.ts +102 -102
  419. package/lib/engine-components/SpatialTrigger.js +225 -225
  420. package/lib/engine-components/SpectatorCamera.d.ts +111 -111
  421. package/lib/engine-components/SpectatorCamera.js +715 -715
  422. package/lib/engine-components/SphereCollider.d.ts +2 -2
  423. package/lib/engine-components/SphereCollider.js +2 -2
  424. package/lib/engine-components/SpriteRenderer.d.ts +132 -132
  425. package/lib/engine-components/SpriteRenderer.js +472 -472
  426. package/lib/engine-components/SyncedCamera.d.ts +41 -41
  427. package/lib/engine-components/SyncedCamera.js +199 -199
  428. package/lib/engine-components/SyncedRoom.d.ts +106 -106
  429. package/lib/engine-components/SyncedRoom.js +371 -371
  430. package/lib/engine-components/SyncedTransform.d.ts +94 -94
  431. package/lib/engine-components/SyncedTransform.js +331 -331
  432. package/lib/engine-components/TestRunner.d.ts +16 -16
  433. package/lib/engine-components/TestRunner.js +102 -102
  434. package/lib/engine-components/TransformGizmo.d.ts +75 -75
  435. package/lib/engine-components/TransformGizmo.js +209 -209
  436. package/lib/engine-components/VideoPlayer.d.ts +184 -184
  437. package/lib/engine-components/VideoPlayer.js +978 -978
  438. package/lib/engine-components/Voip.d.ts +67 -67
  439. package/lib/engine-components/Voip.js +360 -360
  440. package/lib/engine-components/api.d.ts +51 -51
  441. package/lib/engine-components/api.js +50 -50
  442. package/lib/engine-components/avatar/AvatarBlink_Simple.d.ts +11 -11
  443. package/lib/engine-components/avatar/AvatarBlink_Simple.js +76 -76
  444. package/lib/engine-components/avatar/AvatarEyeLook_Rotation.d.ts +14 -14
  445. package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js +68 -68
  446. package/lib/engine-components/avatar/Avatar_Brain_LookAt.d.ts +29 -29
  447. package/lib/engine-components/avatar/Avatar_Brain_LookAt.js +121 -121
  448. package/lib/engine-components/avatar/Avatar_MouthShapes.d.ts +15 -15
  449. package/lib/engine-components/avatar/Avatar_MouthShapes.js +79 -79
  450. package/lib/engine-components/avatar/Avatar_MustacheShake.d.ts +9 -9
  451. package/lib/engine-components/avatar/Avatar_MustacheShake.js +29 -29
  452. package/lib/engine-components/codegen/components.d.ts +216 -216
  453. package/lib/engine-components/codegen/components.js +218 -218
  454. package/lib/engine-components/debug/LogStats.d.ts +5 -5
  455. package/lib/engine-components/debug/LogStats.js +18 -18
  456. package/lib/engine-components/export/gltf/GltfExport.d.ts +30 -30
  457. package/lib/engine-components/export/gltf/GltfExport.js +246 -246
  458. package/lib/engine-components/export/gltf/index.d.ts +1 -1
  459. package/lib/engine-components/export/gltf/index.js +1 -1
  460. package/lib/engine-components/export/index.d.ts +1 -1
  461. package/lib/engine-components/export/index.js +1 -1
  462. package/lib/engine-components/export/usdz/Extension.d.ts +22 -22
  463. package/lib/engine-components/export/usdz/Extension.js +1 -1
  464. package/lib/engine-components/export/usdz/ThreeUSDZExporter.d.ts +160 -160
  465. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +1782 -1782
  466. package/lib/engine-components/export/usdz/USDZExporter.d.ts +130 -130
  467. package/lib/engine-components/export/usdz/USDZExporter.js +663 -663
  468. package/lib/engine-components/export/usdz/extensions/Animation.d.ts +106 -106
  469. package/lib/engine-components/export/usdz/extensions/Animation.js +1071 -1071
  470. package/lib/engine-components/export/usdz/extensions/DocumentExtension.d.ts +5 -5
  471. package/lib/engine-components/export/usdz/extensions/DocumentExtension.js +6 -6
  472. package/lib/engine-components/export/usdz/extensions/USDZText.d.ts +54 -54
  473. package/lib/engine-components/export/usdz/extensions/USDZText.js +203 -203
  474. package/lib/engine-components/export/usdz/extensions/USDZUI.d.ts +8 -8
  475. package/lib/engine-components/export/usdz/extensions/USDZUI.js +158 -158
  476. package/lib/engine-components/export/usdz/extensions/behavior/Actions.d.ts +30 -30
  477. package/lib/engine-components/export/usdz/extensions/behavior/Actions.js +88 -88
  478. package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.d.ts +10 -10
  479. package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.js +86 -86
  480. package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.d.ts +28 -28
  481. package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js +290 -290
  482. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +190 -190
  483. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +1060 -1060
  484. package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.d.ts +135 -135
  485. package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js +548 -548
  486. package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.d.ts +7 -7
  487. package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js +115 -115
  488. package/lib/engine-components/export/usdz/index.d.ts +3 -3
  489. package/lib/engine-components/export/usdz/index.js +2 -2
  490. package/lib/engine-components/export/usdz/utils/animationutils.d.ts +7 -7
  491. package/lib/engine-components/export/usdz/utils/animationutils.js +163 -163
  492. package/lib/engine-components/export/usdz/utils/quicklook.d.ts +2 -2
  493. package/lib/engine-components/export/usdz/utils/quicklook.js +43 -43
  494. package/lib/engine-components/particlesystem/ParticleSystem.d.ts +177 -177
  495. package/lib/engine-components/particlesystem/ParticleSystem.js +1176 -1176
  496. package/lib/engine-components/particlesystem/ParticleSystemModules.d.ts +526 -526
  497. package/lib/engine-components/particlesystem/ParticleSystemModules.js +1930 -1930
  498. package/lib/engine-components/particlesystem/ParticleSystemSubEmitter.d.ts +25 -25
  499. package/lib/engine-components/particlesystem/ParticleSystemSubEmitter.js +87 -87
  500. package/lib/engine-components/particlesystem/api.d.ts +2 -2
  501. package/lib/engine-components/particlesystem/api.js +2 -2
  502. package/lib/engine-components/postprocessing/Effects/Antialiasing.d.ts +17 -17
  503. package/lib/engine-components/postprocessing/Effects/Antialiasing.js +50 -50
  504. package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +46 -46
  505. package/lib/engine-components/postprocessing/Effects/BloomEffect.js +113 -113
  506. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +11 -11
  507. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +39 -39
  508. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +15 -15
  509. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +92 -92
  510. package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +25 -25
  511. package/lib/engine-components/postprocessing/Effects/DepthOfField.js +104 -104
  512. package/lib/engine-components/postprocessing/Effects/EffectWrapper.d.ts +12 -12
  513. package/lib/engine-components/postprocessing/Effects/EffectWrapper.js +18 -18
  514. package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +11 -11
  515. package/lib/engine-components/postprocessing/Effects/Pixelation.js +32 -32
  516. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.d.ts +18 -18
  517. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js +91 -91
  518. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +70 -70
  519. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +175 -175
  520. package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +17 -17
  521. package/lib/engine-components/postprocessing/Effects/Sharpening.js +123 -123
  522. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +17 -17
  523. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +70 -70
  524. package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +26 -26
  525. package/lib/engine-components/postprocessing/Effects/Tonemapping.js +138 -138
  526. package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +15 -15
  527. package/lib/engine-components/postprocessing/Effects/Vignette.js +60 -60
  528. package/lib/engine-components/postprocessing/PostProcessingEffect.d.ts +72 -72
  529. package/lib/engine-components/postprocessing/PostProcessingEffect.js +149 -149
  530. package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +25 -25
  531. package/lib/engine-components/postprocessing/PostProcessingHandler.js +350 -350
  532. package/lib/engine-components/postprocessing/Volume.d.ts +89 -89
  533. package/lib/engine-components/postprocessing/Volume.js +367 -367
  534. package/lib/engine-components/postprocessing/VolumeParameter.d.ts +26 -26
  535. package/lib/engine-components/postprocessing/VolumeParameter.js +136 -136
  536. package/lib/engine-components/postprocessing/VolumeProfile.d.ts +15 -15
  537. package/lib/engine-components/postprocessing/VolumeProfile.js +60 -60
  538. package/lib/engine-components/postprocessing/index.d.ts +5 -5
  539. package/lib/engine-components/postprocessing/index.js +5 -5
  540. package/lib/engine-components/postprocessing/utils.d.ts +11 -11
  541. package/lib/engine-components/postprocessing/utils.js +37 -37
  542. package/lib/engine-components/timeline/PlayableDirector.d.ts +163 -163
  543. package/lib/engine-components/timeline/PlayableDirector.js +686 -686
  544. package/lib/engine-components/timeline/SignalAsset.d.ts +24 -24
  545. package/lib/engine-components/timeline/SignalAsset.js +130 -130
  546. package/lib/engine-components/timeline/TimelineModels.d.ts +89 -89
  547. package/lib/engine-components/timeline/TimelineModels.js +22 -22
  548. package/lib/engine-components/timeline/TimelineTracks.d.ts +110 -110
  549. package/lib/engine-components/timeline/TimelineTracks.js +879 -879
  550. package/lib/engine-components/timeline/index.d.ts +4 -4
  551. package/lib/engine-components/timeline/index.js +3 -3
  552. package/lib/engine-components/ui/BaseUIComponent.d.ts +48 -48
  553. package/lib/engine-components/ui/BaseUIComponent.js +170 -170
  554. package/lib/engine-components/ui/Button.d.ts +64 -64
  555. package/lib/engine-components/ui/Button.js +315 -315
  556. package/lib/engine-components/ui/Canvas.d.ts +74 -74
  557. package/lib/engine-components/ui/Canvas.js +407 -407
  558. package/lib/engine-components/ui/CanvasGroup.d.ts +19 -19
  559. package/lib/engine-components/ui/CanvasGroup.js +58 -58
  560. package/lib/engine-components/ui/EventSystem.d.ts +125 -125
  561. package/lib/engine-components/ui/EventSystem.js +765 -765
  562. package/lib/engine-components/ui/Graphic.d.ts +55 -55
  563. package/lib/engine-components/ui/Graphic.js +255 -255
  564. package/lib/engine-components/ui/Image.d.ts +35 -35
  565. package/lib/engine-components/ui/Image.js +116 -116
  566. package/lib/engine-components/ui/InputField.d.ts +42 -42
  567. package/lib/engine-components/ui/InputField.js +268 -268
  568. package/lib/engine-components/ui/Interfaces.d.ts +38 -38
  569. package/lib/engine-components/ui/Interfaces.js +12 -12
  570. package/lib/engine-components/ui/Layout.d.ts +84 -84
  571. package/lib/engine-components/ui/Layout.js +330 -330
  572. package/lib/engine-components/ui/Outline.d.ts +7 -7
  573. package/lib/engine-components/ui/Outline.js +20 -20
  574. package/lib/engine-components/ui/PointerEvents.d.ts +115 -115
  575. package/lib/engine-components/ui/PointerEvents.js +145 -145
  576. package/lib/engine-components/ui/RaycastUtils.d.ts +11 -11
  577. package/lib/engine-components/ui/RaycastUtils.js +67 -67
  578. package/lib/engine-components/ui/Raycaster.d.ts +30 -30
  579. package/lib/engine-components/ui/Raycaster.js +95 -95
  580. package/lib/engine-components/ui/RectTransform.d.ts +61 -61
  581. package/lib/engine-components/ui/RectTransform.js +356 -356
  582. package/lib/engine-components/ui/SpatialHtml.d.ts +8 -8
  583. package/lib/engine-components/ui/SpatialHtml.js +79 -79
  584. package/lib/engine-components/ui/Symbols.d.ts +1 -1
  585. package/lib/engine-components/ui/Symbols.js +1 -1
  586. package/lib/engine-components/ui/Text.d.ts +78 -78
  587. package/lib/engine-components/ui/Text.js +539 -539
  588. package/lib/engine-components/ui/Utils.d.ts +24 -24
  589. package/lib/engine-components/ui/Utils.js +90 -90
  590. package/lib/engine-components/ui/index.d.ts +1 -1
  591. package/lib/engine-components/ui/index.js +1 -1
  592. package/lib/engine-components/utils/EnvironmentScene.d.ts +5 -5
  593. package/lib/engine-components/utils/EnvironmentScene.js +205 -205
  594. package/lib/engine-components/utils/LookAt.d.ts +31 -31
  595. package/lib/engine-components/utils/LookAt.js +82 -82
  596. package/lib/engine-components/utils/OpenURL.d.ts +42 -42
  597. package/lib/engine-components/utils/OpenURL.js +119 -119
  598. package/lib/engine-components/webxr/Avatar.d.ts +25 -25
  599. package/lib/engine-components/webxr/Avatar.js +255 -255
  600. package/lib/engine-components/webxr/TeleportTarget.d.ts +7 -7
  601. package/lib/engine-components/webxr/TeleportTarget.js +7 -7
  602. package/lib/engine-components/webxr/WebARCameraBackground.d.ts +30 -30
  603. package/lib/engine-components/webxr/WebARCameraBackground.js +155 -155
  604. package/lib/engine-components/webxr/WebARSessionRoot.d.ts +98 -98
  605. package/lib/engine-components/webxr/WebARSessionRoot.js +770 -770
  606. package/lib/engine-components/webxr/WebXR.d.ts +232 -232
  607. package/lib/engine-components/webxr/WebXR.js +561 -561
  608. package/lib/engine-components/webxr/WebXRAvatar.d.ts +27 -27
  609. package/lib/engine-components/webxr/WebXRAvatar.js +44 -44
  610. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +86 -86
  611. package/lib/engine-components/webxr/WebXRImageTracking.js +470 -470
  612. package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +92 -92
  613. package/lib/engine-components/webxr/WebXRPlaneTracking.js +500 -500
  614. package/lib/engine-components/webxr/WebXRRig.d.ts +32 -32
  615. package/lib/engine-components/webxr/WebXRRig.js +72 -72
  616. package/lib/engine-components/webxr/XRFlag.d.ts +38 -38
  617. package/lib/engine-components/webxr/XRFlag.js +139 -139
  618. package/lib/engine-components/webxr/controllers/XRControllerFollow.d.ts +47 -47
  619. package/lib/engine-components/webxr/controllers/XRControllerFollow.js +120 -120
  620. package/lib/engine-components/webxr/controllers/XRControllerModel.d.ts +43 -43
  621. package/lib/engine-components/webxr/controllers/XRControllerModel.js +352 -352
  622. package/lib/engine-components/webxr/controllers/XRControllerMovement.d.ts +78 -78
  623. package/lib/engine-components/webxr/controllers/XRControllerMovement.js +506 -506
  624. package/lib/engine-components/webxr/index.d.ts +3 -3
  625. package/lib/engine-components/webxr/index.js +3 -3
  626. package/lib/engine-components/webxr/types.d.ts +3 -3
  627. package/lib/engine-components/webxr/types.js +1 -1
  628. package/lib/engine-components-experimental/Presentation.d.ts +6 -6
  629. package/lib/engine-components-experimental/Presentation.js +9 -9
  630. package/lib/engine-components-experimental/api.d.ts +4 -4
  631. package/lib/engine-components-experimental/api.js +4 -4
  632. package/lib/engine-components-experimental/networking/PlayerSync.d.ts +156 -156
  633. package/lib/engine-components-experimental/networking/PlayerSync.js +377 -377
  634. package/lib/engine-schemes/api.d.ts +12 -12
  635. package/lib/engine-schemes/api.js +12 -12
  636. package/lib/engine-schemes/schemes.d.ts +7 -7
  637. package/lib/engine-schemes/schemes.js +19 -19
  638. package/lib/engine-schemes/synced-camera-model.d.ts +25 -25
  639. package/lib/engine-schemes/synced-camera-model.js +67 -67
  640. package/lib/engine-schemes/synced-transform-model.d.ts +31 -31
  641. package/lib/engine-schemes/synced-transform-model.js +66 -66
  642. package/lib/engine-schemes/transform.d.ts +12 -12
  643. package/lib/engine-schemes/transform.js +39 -39
  644. package/lib/engine-schemes/vec2.d.ts +10 -10
  645. package/lib/engine-schemes/vec2.js +25 -25
  646. package/lib/engine-schemes/vec3.d.ts +11 -11
  647. package/lib/engine-schemes/vec3.js +29 -29
  648. package/lib/engine-schemes/vec4.d.ts +12 -12
  649. package/lib/engine-schemes/vec4.js +33 -33
  650. package/lib/engine-schemes/vr-user-state-buffer.d.ts +37 -37
  651. package/lib/engine-schemes/vr-user-state-buffer.js +110 -110
  652. package/lib/include/three/EXT_mesh_gpu_instancing_exporter.d.ts +6 -6
  653. package/lib/include/three/EXT_mesh_gpu_instancing_exporter.js +45 -45
  654. package/lib/needle-engine.d.ts +7 -7
  655. package/lib/needle-engine.js +64 -64
  656. package/package.json +1 -1
  657. package/plugins/common/buildinfo.js +64 -64
  658. package/plugins/common/cloud.js +1 -1
  659. package/plugins/common/config.cjs +31 -31
  660. package/plugins/common/config.js +35 -35
  661. package/plugins/common/files.js +31 -31
  662. package/plugins/common/generator.js +10 -10
  663. package/plugins/common/license.js +417 -417
  664. package/plugins/common/npm.js +15 -15
  665. package/plugins/common/timers.js +7 -7
  666. package/plugins/common/version.js +37 -37
  667. package/plugins/gltf-packer.mjs +1 -1
  668. package/plugins/next/alias.cjs +39 -39
  669. package/plugins/next/license.cjs +24 -24
  670. package/plugins/next/meshbvhworker.cjs +18 -18
  671. package/plugins/next/next.js +141 -141
  672. package/plugins/types/index.d.ts +2 -2
  673. package/plugins/types/license.d.ts +24 -24
  674. package/plugins/types/needleConfig.d.ts +27 -27
  675. package/plugins/types/next.d.ts +2 -2
  676. package/plugins/types/userconfig.d.ts +113 -113
  677. package/plugins/types/vite.d.ts +13 -13
  678. package/plugins/types/webmanifest.d.ts +32 -32
  679. package/plugins/vite/alias.js +174 -174
  680. package/plugins/vite/asap.js +245 -245
  681. package/plugins/vite/build-pipeline.js +371 -355
  682. package/plugins/vite/build.js +19 -19
  683. package/plugins/vite/buildinfo.js +41 -41
  684. package/plugins/vite/config.js +106 -106
  685. package/plugins/vite/copyfiles.js +138 -138
  686. package/plugins/vite/defines.js +68 -68
  687. package/plugins/vite/dependencies.js +232 -232
  688. package/plugins/vite/dependency-watcher.js +231 -231
  689. package/plugins/vite/drop-client.js +76 -76
  690. package/plugins/vite/drop.js +87 -87
  691. package/plugins/vite/editor-connection.js +124 -124
  692. package/plugins/vite/facebook-instant-games.js +102 -102
  693. package/plugins/vite/gzip.js +5 -5
  694. package/plugins/vite/imports-logger.js +143 -143
  695. package/plugins/vite/index.js +139 -139
  696. package/plugins/vite/license.js +56 -56
  697. package/plugins/vite/meta.js +163 -163
  698. package/plugins/vite/npm.js +7 -7
  699. package/plugins/vite/peer.js +29 -29
  700. package/plugins/vite/poster-client.js +73 -73
  701. package/plugins/vite/poster.js +79 -79
  702. package/plugins/vite/pwa.js +604 -604
  703. package/plugins/vite/reload-client.js +15 -15
  704. package/plugins/vite/reload.js +351 -351
  705. package/plugins/vite/server.js +66 -66
  706. package/plugins/vite/transform-codegen.js +55 -55
  707. package/plugins/vite/transform.js +31 -31
  708. package/plugins/vite/vite-4.4-hack.js +31 -31
  709. package/src/asap/needle-asap.ts +111 -111
  710. package/src/asap/sessiongranted.ts +75 -75
  711. package/src/asap/utils.ts +4 -4
  712. package/src/engine/analytics/index.ts +10 -10
  713. package/src/engine/analytics/lcp.ts +35 -35
  714. package/src/engine/api.ts +82 -82
  715. package/src/engine/assets/index.ts +59 -59
  716. package/src/engine/assets/static.js +5 -5
  717. package/src/engine/codegen/register_types.ts +300 -300
  718. package/src/engine/debug/debug.ts +51 -51
  719. package/src/engine/debug/debug_console.ts +333 -333
  720. package/src/engine/debug/debug_overlay.ts +332 -332
  721. package/src/engine/debug/debug_spatial_console.ts +429 -429
  722. package/src/engine/debug/index.ts +1 -1
  723. package/src/engine/engine_addressables.ts +680 -680
  724. package/src/engine/engine_animation.ts +145 -145
  725. package/src/engine/engine_application.ts +113 -113
  726. package/src/engine/engine_assetdatabase.ts +387 -387
  727. package/src/engine/engine_audio.ts +24 -24
  728. package/src/engine/engine_camera.ts +39 -39
  729. package/src/engine/engine_components.ts +366 -366
  730. package/src/engine/engine_components_internal.ts +40 -40
  731. package/src/engine/engine_constants.ts +52 -52
  732. package/src/engine/engine_context.ts +1811 -1811
  733. package/src/engine/engine_context_registry.ts +129 -129
  734. package/src/engine/engine_coroutine.ts +54 -54
  735. package/src/engine/engine_create_objects.ts +398 -398
  736. package/src/engine/engine_default_parameters.ts +3 -3
  737. package/src/engine/engine_editor-sync.ts +28 -28
  738. package/src/engine/engine_fileloader.js +9 -9
  739. package/src/engine/engine_gameobject.ts +691 -691
  740. package/src/engine/engine_generic_utils.js +13 -13
  741. package/src/engine/engine_gizmos.ts +577 -577
  742. package/src/engine/engine_gltf.ts +29 -29
  743. package/src/engine/engine_gltf_builtin_components.ts +403 -403
  744. package/src/engine/engine_hot_reload.ts +210 -210
  745. package/src/engine/engine_input.ts +1500 -1500
  746. package/src/engine/engine_input_utils.ts +23 -23
  747. package/src/engine/engine_instancing.ts +45 -45
  748. package/src/engine/engine_license.ts +378 -378
  749. package/src/engine/engine_lifecycle_api.ts +113 -113
  750. package/src/engine/engine_lifecycle_functions_internal.ts +193 -193
  751. package/src/engine/engine_lightdata.ts +117 -117
  752. package/src/engine/engine_loaders.callbacks.ts +135 -134
  753. package/src/engine/engine_loaders.gltf.ts +82 -82
  754. package/src/engine/engine_loaders.ts +375 -375
  755. package/src/engine/engine_lods.ts +168 -168
  756. package/src/engine/engine_mainloop_utils.ts +472 -472
  757. package/src/engine/engine_math.ts +282 -282
  758. package/src/engine/engine_modules.ts +83 -83
  759. package/src/engine/engine_networking.ts +862 -862
  760. package/src/engine/engine_networking_auto.ts +352 -352
  761. package/src/engine/engine_networking_blob.ts +275 -275
  762. package/src/engine/engine_networking_files.ts +217 -217
  763. package/src/engine/engine_networking_files_default_components.ts +58 -58
  764. package/src/engine/engine_networking_instantiate.ts +419 -419
  765. package/src/engine/engine_networking_peer.ts +159 -159
  766. package/src/engine/engine_networking_streams.ts +713 -713
  767. package/src/engine/engine_networking_types.ts +24 -24
  768. package/src/engine/engine_networking_utils.ts +23 -23
  769. package/src/engine/engine_networking_websocket.ts +2 -2
  770. package/src/engine/engine_patcher.ts +199 -199
  771. package/src/engine/engine_physics.ts +783 -783
  772. package/src/engine/engine_physics.types.ts +46 -46
  773. package/src/engine/engine_physics_rapier.ts +1577 -1577
  774. package/src/engine/engine_playerview.ts +80 -80
  775. package/src/engine/engine_scenelighting.ts +294 -294
  776. package/src/engine/engine_serialization.ts +2 -2
  777. package/src/engine/engine_serialization_builtin_serializer.ts +473 -473
  778. package/src/engine/engine_serialization_core.ts +710 -710
  779. package/src/engine/engine_serialization_decorator.ts +80 -80
  780. package/src/engine/engine_setup.ts +1 -1
  781. package/src/engine/engine_shaders.ts +267 -267
  782. package/src/engine/engine_shims.ts +32 -32
  783. package/src/engine/engine_test_utils.ts +109 -109
  784. package/src/engine/engine_texture.ts +82 -82
  785. package/src/engine/engine_three_utils.ts +849 -849
  786. package/src/engine/engine_time.ts +94 -94
  787. package/src/engine/engine_time_utils.ts +237 -237
  788. package/src/engine/engine_tonemapping.ts +210 -210
  789. package/src/engine/engine_types.ts +730 -730
  790. package/src/engine/engine_typestore.ts +63 -63
  791. package/src/engine/engine_util_decorator.ts +136 -136
  792. package/src/engine/engine_utils.ts +972 -972
  793. package/src/engine/engine_utils_format.ts +244 -244
  794. package/src/engine/engine_utils_screenshot.ts +698 -698
  795. package/src/engine/engine_utils_screenshot.xr.ts +103 -103
  796. package/src/engine/export/gltf/Writers.ts +34 -34
  797. package/src/engine/export/gltf/index.ts +158 -158
  798. package/src/engine/export/index.ts +2 -2
  799. package/src/engine/export/state.ts +19 -19
  800. package/src/engine/export/utils.ts +9 -9
  801. package/src/engine/extensions/EXT_texture_exr.ts +50 -50
  802. package/src/engine/extensions/NEEDLE_animator_controller_model.ts +195 -195
  803. package/src/engine/extensions/NEEDLE_components.ts +268 -268
  804. package/src/engine/extensions/NEEDLE_gameobject_data.ts +81 -81
  805. package/src/engine/extensions/NEEDLE_lighting_settings.ts +185 -185
  806. package/src/engine/extensions/NEEDLE_lightmaps.ts +119 -119
  807. package/src/engine/extensions/NEEDLE_persistent_assets.ts +76 -76
  808. package/src/engine/extensions/NEEDLE_render_objects.ts +209 -209
  809. package/src/engine/extensions/NEEDLE_techniques_webgl.ts +640 -640
  810. package/src/engine/extensions/extension_resolver.ts +4 -4
  811. package/src/engine/extensions/extension_utils.ts +166 -166
  812. package/src/engine/extensions/extensions.ts +140 -140
  813. package/src/engine/extensions/index.ts +5 -5
  814. package/src/engine/extensions/usage_tracker.ts +100 -100
  815. package/src/engine/js-extensions/Camera.ts +37 -37
  816. package/src/engine/js-extensions/ExtensionUtils.ts +85 -85
  817. package/src/engine/js-extensions/Layers.ts +23 -23
  818. package/src/engine/js-extensions/Object3D.ts +296 -296
  819. package/src/engine/js-extensions/RGBAColor.ts +126 -126
  820. package/src/engine/js-extensions/Vector.ts +18 -18
  821. package/src/engine/js-extensions/index.ts +4 -4
  822. package/src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +125 -125
  823. package/src/engine/shaders/shaderData.ts +67 -67
  824. package/src/engine/tests/test_utils.ts +63 -63
  825. package/src/engine/webcomponents/WebXRButtons.ts +260 -260
  826. package/src/engine/webcomponents/api.ts +6 -6
  827. package/src/engine/webcomponents/buttons.ts +291 -291
  828. package/src/engine/webcomponents/fonts.ts +41 -41
  829. package/src/engine/webcomponents/icons.ts +57 -57
  830. package/src/engine/webcomponents/index.ts +1 -1
  831. package/src/engine/webcomponents/logo-element.ts +78 -78
  832. package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +573 -573
  833. package/src/engine/webcomponents/needle menu/needle-menu.ts +1118 -1118
  834. package/src/engine/webcomponents/needle-button.ts +181 -181
  835. package/src/engine/webcomponents/needle-engine.ar-overlay.ts +186 -186
  836. package/src/engine/webcomponents/needle-engine.attributes.ts +82 -82
  837. package/src/engine/webcomponents/needle-engine.extras.ts +16 -16
  838. package/src/engine/webcomponents/needle-engine.loading.ts +373 -373
  839. package/src/engine/webcomponents/needle-engine.ts +871 -871
  840. package/src/engine/xr/NeedleXRController.ts +1125 -1125
  841. package/src/engine/xr/NeedleXRSession.ts +1609 -1609
  842. package/src/engine/xr/NeedleXRSync.ts +220 -220
  843. package/src/engine/xr/SceneTransition.ts +78 -78
  844. package/src/engine/xr/TempXRContext.ts +216 -216
  845. package/src/engine/xr/XRRig.ts +9 -9
  846. package/src/engine/xr/api.ts +5 -5
  847. package/src/engine/xr/events.ts +102 -102
  848. package/src/engine/xr/internal.ts +34 -34
  849. package/src/engine/xr/usdz.ts +30 -30
  850. package/src/engine/xr/utils.ts +39 -39
  851. package/src/engine-components/AlignmentConstraint.ts +36 -36
  852. package/src/engine-components/Animation.ts +557 -557
  853. package/src/engine-components/AnimationCurve.ts +150 -150
  854. package/src/engine-components/AnimationUtils.ts +28 -28
  855. package/src/engine-components/AnimationUtilsAutoplay.ts +43 -43
  856. package/src/engine-components/Animator.ts +397 -397
  857. package/src/engine-components/AnimatorController.ts +1293 -1293
  858. package/src/engine-components/AudioListener.ts +92 -92
  859. package/src/engine-components/AudioSource.ts +644 -644
  860. package/src/engine-components/AvatarLoader.ts +263 -263
  861. package/src/engine-components/AxesHelper.ts +59 -59
  862. package/src/engine-components/BasicIKConstraint.ts +54 -54
  863. package/src/engine-components/BoxCollider.ts +1 -1
  864. package/src/engine-components/BoxHelperComponent.ts +114 -114
  865. package/src/engine-components/Camera.ts +719 -719
  866. package/src/engine-components/CameraUtils.ts +136 -136
  867. package/src/engine-components/CharacterController.ts +253 -253
  868. package/src/engine-components/Collider.ts +374 -374
  869. package/src/engine-components/Component.ts +1297 -1297
  870. package/src/engine-components/ContactShadows.ts +506 -506
  871. package/src/engine-components/DeleteBox.ts +62 -62
  872. package/src/engine-components/DeviceFlag.ts +46 -46
  873. package/src/engine-components/DragControls.ts +1623 -1623
  874. package/src/engine-components/DropListener.ts +698 -698
  875. package/src/engine-components/Duplicatable.ts +198 -198
  876. package/src/engine-components/EventList.ts +266 -266
  877. package/src/engine-components/EventTrigger.ts +74 -74
  878. package/src/engine-components/EventType.ts +22 -22
  879. package/src/engine-components/Fog.ts +60 -60
  880. package/src/engine-components/Gizmos.ts +56 -56
  881. package/src/engine-components/GridHelper.ts +48 -48
  882. package/src/engine-components/GroundProjection.ts +356 -356
  883. package/src/engine-components/Interactable.ts +14 -14
  884. package/src/engine-components/Joints.ts +52 -52
  885. package/src/engine-components/LODGroup.ts +153 -153
  886. package/src/engine-components/Light.ts +558 -558
  887. package/src/engine-components/LookAtConstraint.ts +25 -25
  888. package/src/engine-components/NeedleMenu.ts +84 -84
  889. package/src/engine-components/NestedGltf.ts +86 -86
  890. package/src/engine-components/Networking.ts +114 -114
  891. package/src/engine-components/OffsetConstraint.ts +60 -60
  892. package/src/engine-components/OrbitControls.ts +1074 -1074
  893. package/src/engine-components/PlayerColor.ts +103 -103
  894. package/src/engine-components/ReflectionProbe.ts +216 -216
  895. package/src/engine-components/Renderer.ts +900 -900
  896. package/src/engine-components/RendererInstancing.ts +855 -855
  897. package/src/engine-components/RendererLightmap.ts +198 -198
  898. package/src/engine-components/RigidBody.ts +526 -526
  899. package/src/engine-components/SceneSwitcher.ts +1030 -1030
  900. package/src/engine-components/ScreenCapture.ts +592 -592
  901. package/src/engine-components/ShadowCatcher.ts +172 -172
  902. package/src/engine-components/Skybox.ts +455 -455
  903. package/src/engine-components/SmoothFollow.ts +76 -76
  904. package/src/engine-components/SpatialTrigger.ts +229 -229
  905. package/src/engine-components/SpectatorCamera.ts +787 -787
  906. package/src/engine-components/SphereCollider.ts +1 -1
  907. package/src/engine-components/SpriteRenderer.ts +468 -468
  908. package/src/engine-components/SyncedCamera.ts +220 -220
  909. package/src/engine-components/SyncedRoom.ts +380 -380
  910. package/src/engine-components/SyncedTransform.ts +383 -383
  911. package/src/engine-components/TestRunner.ts +118 -118
  912. package/src/engine-components/TransformGizmo.ts +219 -219
  913. package/src/engine-components/VideoPlayer.ts +1025 -1025
  914. package/src/engine-components/Voip.ts +363 -363
  915. package/src/engine-components/api.ts +60 -60
  916. package/src/engine-components/avatar/AvatarBlink_Simple.ts +69 -69
  917. package/src/engine-components/avatar/AvatarEyeLook_Rotation.ts +63 -63
  918. package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +139 -139
  919. package/src/engine-components/avatar/Avatar_MouthShapes.ts +83 -83
  920. package/src/engine-components/avatar/Avatar_MustacheShake.ts +31 -31
  921. package/src/engine-components/codegen/components.ts +217 -217
  922. package/src/engine-components/debug/LogStats.ts +21 -21
  923. package/src/engine-components/export/gltf/GltfExport.ts +265 -265
  924. package/src/engine-components/export/usdz/Extension.ts +24 -24
  925. package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +2413 -2413
  926. package/src/engine-components/export/usdz/USDZExporter.ts +705 -705
  927. package/src/engine-components/export/usdz/extensions/Animation.ts +1204 -1204
  928. package/src/engine-components/export/usdz/extensions/DocumentExtension.ts +9 -9
  929. package/src/engine-components/export/usdz/extensions/USDZText.ts +240 -240
  930. package/src/engine-components/export/usdz/extensions/USDZUI.ts +189 -189
  931. package/src/engine-components/export/usdz/extensions/behavior/Actions.ts +99 -99
  932. package/src/engine-components/export/usdz/extensions/behavior/AudioExtension.ts +102 -102
  933. package/src/engine-components/export/usdz/extensions/behavior/Behaviour.ts +320 -320
  934. package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +1225 -1225
  935. package/src/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.ts +646 -646
  936. package/src/engine-components/export/usdz/extensions/behavior/PhysicsExtension.ts +132 -132
  937. package/src/engine-components/export/usdz/index.ts +2 -2
  938. package/src/engine-components/export/usdz/utils/animationutils.ts +191 -191
  939. package/src/engine-components/export/usdz/utils/quicklook.ts +50 -50
  940. package/src/engine-components/particlesystem/ParticleSystem.ts +1287 -1287
  941. package/src/engine-components/particlesystem/ParticleSystemModules.ts +1765 -1765
  942. package/src/engine-components/particlesystem/ParticleSystemSubEmitter.ts +111 -111
  943. package/src/engine-components/particlesystem/api.ts +1 -1
  944. package/src/engine-components/postprocessing/Effects/Antialiasing.ts +55 -55
  945. package/src/engine-components/postprocessing/Effects/BloomEffect.ts +116 -116
  946. package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +37 -37
  947. package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +95 -95
  948. package/src/engine-components/postprocessing/Effects/DepthOfField.ts +103 -103
  949. package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +25 -25
  950. package/src/engine-components/postprocessing/Effects/Pixelation.ts +32 -32
  951. package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.ts +90 -90
  952. package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +191 -191
  953. package/src/engine-components/postprocessing/Effects/Sharpening.ts +138 -138
  954. package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +61 -61
  955. package/src/engine-components/postprocessing/Effects/Tonemapping.ts +155 -155
  956. package/src/engine-components/postprocessing/Effects/Vignette.ts +59 -59
  957. package/src/engine-components/postprocessing/PostProcessingEffect.ts +172 -172
  958. package/src/engine-components/postprocessing/PostProcessingHandler.ts +398 -398
  959. package/src/engine-components/postprocessing/Volume.ts +410 -410
  960. package/src/engine-components/postprocessing/VolumeParameter.ts +158 -158
  961. package/src/engine-components/postprocessing/VolumeProfile.ts +61 -61
  962. package/src/engine-components/postprocessing/index.ts +5 -5
  963. package/src/engine-components/postprocessing/utils.ts +52 -52
  964. package/src/engine-components/timeline/PlayableDirector.ts +722 -722
  965. package/src/engine-components/timeline/SignalAsset.ts +144 -144
  966. package/src/engine-components/timeline/TimelineModels.ts +92 -92
  967. package/src/engine-components/timeline/TimelineTracks.ts +967 -967
  968. package/src/engine-components/timeline/index.ts +3 -3
  969. package/src/engine-components/ui/BaseUIComponent.ts +203 -203
  970. package/src/engine-components/ui/Button.ts +307 -307
  971. package/src/engine-components/ui/Canvas.ts +419 -419
  972. package/src/engine-components/ui/CanvasGroup.ts +54 -54
  973. package/src/engine-components/ui/EventSystem.ts +854 -854
  974. package/src/engine-components/ui/Graphic.ts +275 -275
  975. package/src/engine-components/ui/Image.ts +112 -112
  976. package/src/engine-components/ui/InputField.ts +321 -321
  977. package/src/engine-components/ui/Interfaces.ts +57 -57
  978. package/src/engine-components/ui/Layout.ts +334 -334
  979. package/src/engine-components/ui/Outline.ts +13 -13
  980. package/src/engine-components/ui/PointerEvents.ts +206 -206
  981. package/src/engine-components/ui/RaycastUtils.ts +69 -69
  982. package/src/engine-components/ui/Raycaster.ts +102 -102
  983. package/src/engine-components/ui/RectTransform.ts +375 -375
  984. package/src/engine-components/ui/SpatialHtml.ts +79 -79
  985. package/src/engine-components/ui/Symbols.ts +1 -1
  986. package/src/engine-components/ui/Text.ts +578 -578
  987. package/src/engine-components/ui/Utils.ts +113 -113
  988. package/src/engine-components/utils/EnvironmentScene.ts +245 -245
  989. package/src/engine-components/utils/LookAt.ts +88 -88
  990. package/src/engine-components/utils/OpenURL.ts +114 -114
  991. package/src/engine-components/webxr/Avatar.ts +265 -265
  992. package/src/engine-components/webxr/TeleportTarget.ts +9 -9
  993. package/src/engine-components/webxr/WebARCameraBackground.ts +175 -175
  994. package/src/engine-components/webxr/WebARSessionRoot.ts +880 -880
  995. package/src/engine-components/webxr/WebXR.ts +585 -585
  996. package/src/engine-components/webxr/WebXRAvatar.ts +66 -66
  997. package/src/engine-components/webxr/WebXRImageTracking.ts +518 -518
  998. package/src/engine-components/webxr/WebXRPlaneTracking.ts +570 -570
  999. package/src/engine-components/webxr/WebXRRig.ts +77 -77
  1000. package/src/engine-components/webxr/XRFlag.ts +147 -147
  1001. package/src/engine-components/webxr/controllers/XRControllerFollow.ts +118 -118
  1002. package/src/engine-components/webxr/controllers/XRControllerModel.ts +373 -373
  1003. package/src/engine-components/webxr/controllers/XRControllerMovement.ts +550 -550
  1004. package/src/engine-components/webxr/index.ts +2 -2
  1005. package/src/engine-components/webxr/types.ts +3 -3
  1006. package/src/engine-components-experimental/Presentation.ts +12 -12
  1007. package/src/engine-components-experimental/api.ts +4 -4
  1008. package/src/engine-components-experimental/networking/PlayerSync.ts +401 -401
  1009. package/src/engine-schemes/COMPILE_SCHEMES.bat +3 -3
  1010. package/src/engine-schemes/COMPILE_TS.bat +11 -11
  1011. package/src/engine-schemes/README.md +1 -1
  1012. package/src/engine-schemes/api.ts +12 -12
  1013. package/src/engine-schemes/dist/api.js +17 -0
  1014. package/src/engine-schemes/dist/api.js.meta +7 -0
  1015. package/src/engine-schemes/dist/schemes.js +25 -0
  1016. package/src/engine-schemes/dist/schemes.js.meta +7 -0
  1017. package/src/engine-schemes/dist/synced-camera-model.js +74 -0
  1018. package/src/engine-schemes/dist/synced-camera-model.js.meta +7 -0
  1019. package/src/engine-schemes/dist/synced-transform-model.js +73 -0
  1020. package/src/engine-schemes/dist/synced-transform-model.js.meta +7 -0
  1021. package/src/engine-schemes/dist/transform.js +46 -0
  1022. package/src/engine-schemes/dist/transform.js.meta +7 -0
  1023. package/src/engine-schemes/dist/vec2.js +32 -0
  1024. package/src/engine-schemes/dist/vec2.js.meta +7 -0
  1025. package/src/engine-schemes/dist/vec3.js +36 -0
  1026. package/src/engine-schemes/dist/vec3.js.meta +7 -0
  1027. package/src/engine-schemes/dist/vec4.js +40 -0
  1028. package/src/engine-schemes/dist/vec4.js.meta +7 -0
  1029. package/src/engine-schemes/dist/vr-user-state-buffer.js +110 -0
  1030. package/src/engine-schemes/dist/vr-user-state-buffer.js.meta +7 -0
  1031. package/src/engine-schemes/schemes.ts +28 -28
  1032. package/src/engine-schemes/synced-camera-model.ts +92 -92
  1033. package/src/engine-schemes/synced-transform-model.ts +90 -90
  1034. package/src/engine-schemes/syncedCamera.fbs +10 -10
  1035. package/src/engine-schemes/transform.ts +50 -50
  1036. package/src/engine-schemes/transforms.fbs +25 -25
  1037. package/src/engine-schemes/vec.fbs +19 -19
  1038. package/src/engine-schemes/vec2.ts +33 -33
  1039. package/src/engine-schemes/vec3.ts +38 -38
  1040. package/src/engine-schemes/vec4.ts +43 -43
  1041. package/src/engine-schemes/vr-user-state-buffer.ts +145 -145
  1042. package/src/engine-schemes/vrUserStateBuffer.fbs +17 -17
  1043. package/src/include/draco/draco_decoder.js +34 -34
  1044. package/src/include/ktx2/basis_transcoder.js +21 -21
  1045. package/src/include/needle/arial-msdf.json +1471 -1471
  1046. package/src/include/three/DragControls.js +231 -231
  1047. package/src/include/three/EXT_mesh_gpu_instancing_exporter.js +66 -66
  1048. package/src/needle-engine.ts +70 -70
  1049. package/lib/engine/engine_element.d.ts +0 -113
  1050. package/lib/engine/engine_element.js +0 -833
  1051. package/lib/engine/engine_element.js.map +0 -1
  1052. package/lib/engine/engine_element_attributes.d.ts +0 -72
  1053. package/lib/engine/engine_element_attributes.js +0 -2
  1054. package/lib/engine/engine_element_attributes.js.map +0 -1
  1055. package/lib/engine/engine_element_extras.d.ts +0 -6
  1056. package/lib/engine/engine_element_extras.js +0 -14
  1057. package/lib/engine/engine_element_extras.js.map +0 -1
  1058. package/lib/engine/engine_element_loading.d.ts +0 -44
  1059. package/lib/engine/engine_element_loading.js +0 -350
  1060. package/lib/engine/engine_element_loading.js.map +0 -1
  1061. package/lib/engine/engine_element_overlay.d.ts +0 -21
  1062. package/lib/engine/engine_element_overlay.js +0 -167
  1063. package/lib/engine/engine_element_overlay.js.map +0 -1
  1064. package/lib/engine/engine_scenetools.d.ts +0 -62
  1065. package/lib/engine/engine_scenetools.js +0 -337
  1066. package/lib/engine/engine_scenetools.js.map +0 -1
@@ -1,578 +1,578 @@
1
- /// <reference types="webxr" />
2
- import type { QueryFilterFlags, World } from "@dimforge/rapier3d-compat";
3
- import { AnimationClip, Color, Material, Mesh, Object3D, Quaternion } from "three";
4
- import { Vector3 } from "three";
5
- import { type GLTF as THREE_GLTF } from "three/examples/jsm/loaders/GLTFLoader.js";
6
- import type { Camera as CameraComponent } from "../engine-components/api.js";
7
- import type { Context } from "./engine_context.js";
8
- import { InstantiateContext } from "./engine_gameobject.js";
9
- import { CollisionDetectionMode, type PhysicsMaterial, RigidbodyConstraints } from "./engine_physics.types.js";
10
- import type { NeedleXRSession } from "./engine_xr.js";
11
- /** Removes all properties that match TypesToFilter */
12
- type FilterTypes<T, TypesToFilter> = {
13
- [P in keyof T as T[P] extends TypesToFilter ? never : P]: T[P];
14
- };
15
- /** Removes all undefined functions */
16
- type NoUndefinedNoFunctions<T> = FilterTypes<T, Function | undefined | null>;
17
- type FilterStartingWith<T, Prefix extends string> = {
18
- [K in keyof T as K extends string ? (K extends `${Prefix}${infer _}` ? never : K) : never]: T[K];
19
- };
20
- /** Removes all properties that start with an underscore */
21
- type NoInternals<T> = FilterStartingWith<T, "_">;
22
- type NoInternalNeedleEngineState<T> = Omit<T, "destroyed" | "gameObject" | "activeAndEnabled" | "context" | "isComponent" | "scene" | "up" | "forward" | "right" | "worldRotation" | "worldEuler" | "worldPosition" | "worldQuaternion">;
23
- export type ComponentInit<T> = Partial<NoInternalNeedleEngineState<NoInternals<NoUndefinedNoFunctions<T>>>>;
24
- /** GLTF, GLB or VRM */
25
- export type GLTF = THREE_GLTF;
26
- /** FBX type */
27
- export type FBX = {
28
- animations: AnimationClip[];
29
- scene: Object3D;
30
- scenes: Object3D[];
31
- };
32
- /** OBJ type */
33
- export type OBJ = {
34
- animations: AnimationClip[];
35
- scene: Object3D;
36
- scenes: Object3D[];
37
- };
38
- export type CustomModel = {
39
- animations: AnimationClip[];
40
- scene: Object3D;
41
- scenes: Object3D[];
42
- };
43
- /** All possible model types that Needle Engine can load */
44
- export type Model = (GLTF | FBX | OBJ | CustomModel);
45
- export declare function isGLTFModel(model: Model): model is GLTF;
46
- /** A loaded model */
47
- export type LoadedModel = {
48
- src: string;
49
- file: Model;
50
- };
51
- /** used to find data registered via gltf files e.g. find lightmaps for a Renderer component that were shipped inside a gltf */
52
- export declare type SourceIdentifier = string;
53
- export type Constructor<T> = abstract new (...args: any[]) => T;
54
- export type ConstructorConcrete<T> = new (...args: any[]) => T;
55
- export type GuidsMap = {
56
- [key: string]: string;
57
- };
58
- export interface UIDProvider {
59
- seed: number;
60
- generateUUID(): string;
61
- }
62
- export declare type CoroutineData = {
63
- comp: IComponent;
64
- main: Generator;
65
- chained?: Array<Generator>;
66
- };
67
- export interface ITime {
68
- get time(): number;
69
- get deltaTime(): number;
70
- }
71
- export interface IInput {
72
- convertScreenspaceToRaycastSpace(vec: Vec2): void;
73
- getPointerPosition(i: number): Vec2 | null;
74
- }
75
- export interface IPhysics {
76
- engine?: IPhysicsEngine;
77
- }
78
- export type IContext = Context;
79
- export type INeedleXRSession = NeedleXRSession;
80
- export declare interface INeedleEngineComponent extends HTMLElement {
81
- getAROverlayContainer(): HTMLElement;
82
- onEnterAR(session: XRSession, overlayContainer: HTMLElement): any;
83
- onExitAR(session: XRSession): any;
84
- }
85
- export declare enum HideFlags {
86
- None = 0,
87
- /** When enabled the glTF exporter will omit this object and all children from being exported */
88
- DontExport = 1
89
- }
90
- export declare interface IGameObject extends Object3D {
91
- /** the object's unique identifier */
92
- guid: string | undefined;
93
- /** if the object is enabled in the hierarchy (usually equivalent to `visible`) */
94
- activeSelf: boolean;
95
- /** call to destroy this object including all components that are attached to it. Will destroy all children recursively */
96
- destroy(): void;
97
- /** Add a new component to this object. Expects a component type (e.g. `addNewComponent(Animator)`) */
98
- addNewComponent<T extends IComponent>(type: Constructor<T>, init?: ComponentInit<T>): T;
99
- /** Remove a component from this object. Expected a component instance
100
- * @returns the removed component (equal to the passed in component)
101
- */
102
- addComponent<T extends IComponent>(comp: T | ConstructorConcrete<T>, init?: ComponentInit<T>): T;
103
- removeComponent<T extends IComponent>(comp: T): T;
104
- /** Searches for a component type on this object. If no component of the searched type exists yet a new instance will be created and returned */
105
- getOrAddComponent<T>(typeName: Constructor<T> | null): T;
106
- /** Tries to find a component of a type on this object.
107
- * @returns the first instance of a component on this object that matches the passed in type or null if no component of this type (or a subtype) exists */
108
- getComponent<T>(type: Constructor<T>): T | null;
109
- /** @returns all components of a certain type on this object */
110
- getComponents<T>(type: Constructor<T>, arr?: T[]): Array<T>;
111
- /** Finds a component of a certain type on this object OR a child object if any exists */
112
- getComponentInChildren<T>(type: Constructor<T>): T | null;
113
- /** Finds all components of a certain type on this object AND all children (recursively) */
114
- getComponentsInChildren<T>(type: Constructor<T>, arr?: T[]): Array<T>;
115
- /** Finds a component of a certain type on this object OR a parent object if any exists */
116
- getComponentInParent<T>(type: Constructor<T>): T | null;
117
- /** Finds all components of a certain type on this object AND all parents (recursively) */
118
- getComponentsInParent<T>(type: Constructor<T>, arr?: T[]): Array<T>;
119
- get worldPosition(): Vector3;
120
- set worldPosition(val: Vector3);
121
- get worldQuaternion(): Quaternion;
122
- set worldQuaternion(val: Quaternion);
123
- get worldRotation(): Vector3;
124
- set worldRotation(val: Vector3);
125
- get worldScale(): Vector3;
126
- set worldScale(val: Vector3);
127
- get worldForward(): Vector3;
128
- get worldRight(): Vector3;
129
- get worldUp(): Vector3;
130
- }
131
- export interface IHasGuid {
132
- guid: string;
133
- }
134
- export interface IComponent extends IHasGuid {
135
- get isComponent(): boolean;
136
- /** the object this component is attached to */
137
- gameObject: IGameObject;
138
- enabled: boolean;
139
- sourceId?: SourceIdentifier;
140
- get name(): string;
141
- get layer(): number;
142
- get destroyed(): boolean;
143
- get tag(): string;
144
- context: any;
145
- get activeAndEnabled(): boolean;
146
- /** @internal */
147
- __internalNewInstanceCreated(init?: ComponentInit<any>): any;
148
- /** @internal */
149
- _internalInit(init?: ComponentInit<any>): any;
150
- /** @internal */
151
- __internalAwake(): any;
152
- /** @internal */
153
- __internalStart(): any;
154
- /** @internal */
155
- __internalEnable(isAddingOrRemovingFromScene?: boolean): any;
156
- /** @internal */
157
- __internalDisable(isAddingOrRemovingFromScene?: boolean): any;
158
- /** @internal */
159
- __internalDestroy(): any;
160
- /** @internal */
161
- resolveGuids?(guidsMap: GuidsMap): void;
162
- /** experimental, called when the script is registered for the first time, this is called even if the component is not enabled. */
163
- registering?(): any;
164
- awake(): any;
165
- onEnable(): any;
166
- onDisable(): any;
167
- onDestroy(): any;
168
- destroy(): any;
169
- /** called for properties decorated with the @validate decorator */
170
- onValidate?(property?: string): any;
171
- /** called when this.context.isPaused changes or when rendering loop changes due to changing DOM element visibility
172
- * e.g. when the DOM element becomes hidden or out ot view
173
- */
174
- onPausedChanged?(isPaused: boolean, wasPaused: boolean): any;
175
- start?(): void;
176
- earlyUpdate?(): void;
177
- update?(): void;
178
- lateUpdate?(): void;
179
- onBeforeRender?(frame: XRFrame | null): void;
180
- onAfterRender?(): void;
181
- onCollisionEnter?(col: Collision): any;
182
- onCollisionExit?(col: Collision): any;
183
- onCollisionStay?(col: Collision): any;
184
- onTriggerEnter?(col: ICollider): any;
185
- onTriggerStay?(col: ICollider): any;
186
- onTriggerExit?(col: ICollider): any;
187
- get forward(): Vector3;
188
- get worldPosition(): Vector3;
189
- get worldQuaternion(): Quaternion;
190
- }
191
- export declare function isComponent(obj: any): obj is IComponent;
192
- export type ICamera = CameraComponent;
193
- export type IAnimationComponent = Pick<IComponent, "gameObject"> & {
194
- isAnimationComponent: boolean;
195
- addClip?(clip: AnimationClip): any;
196
- };
197
- /** Interface for a camera controller component that can be attached to a camera to control it */
198
- export declare interface ICameraController {
199
- get isCameraController(): boolean;
200
- }
201
- export declare interface ILight extends IComponent {
202
- intensity: number;
203
- color: Color;
204
- }
205
- export declare interface ISharedMaterials {
206
- [num: number]: Material;
207
- get length(): number;
208
- }
209
- export declare interface IRenderer extends IComponent {
210
- sharedMaterial: Material;
211
- get sharedMaterials(): ISharedMaterials;
212
- }
213
- export declare interface IEventList {
214
- readonly isEventList: true;
215
- __internalOnInstantiate(map: InstantiateContext): IEventList;
216
- }
217
- export declare interface ICollider extends IComponent {
218
- get isCollider(): any;
219
- attachedRigidbody: IRigidbody | null;
220
- /**
221
- * Note: Make sure to call updatePhysicsMaterial after having changed this property
222
- */
223
- isTrigger: boolean;
224
- /**
225
- * The physics material determines how the collider interacts with other colliders (e.g. bouncyness)
226
- * Note: Make sure to call updatePhysicsMaterial after having changed this property
227
- */
228
- sharedMaterial?: PhysicsMaterial;
229
- center?: Vec3 & {
230
- multiply(vec: Vec3): any;
231
- };
232
- updateProperties(): void;
233
- updatePhysicsMaterial(): void;
234
- /** The collider membership indicates what groups the collider is part of (e.g. group 2 and 3)
235
- * An `undefined` array indicates that the collider is part of all groups
236
- * Note: Make sure to call updateProperties after having changed this property
237
- * Default: [0]
238
- */
239
- membership?: number[];
240
- /** The collider filter indicates what groups the collider can interact with (e.g. group 3 and 4)
241
- * An `undefined` array indicates that the collider can interact with all groups
242
- * Note: Make sure to call updateProperties after having changed this property
243
- * Default: undefined
244
- */
245
- filter?: number[];
246
- }
247
- export declare interface ISphereCollider extends ICollider {
248
- radius: number;
249
- }
250
- export declare interface IBoxCollider extends ICollider {
251
- size: Vec3;
252
- }
253
- export declare interface IRigidbody extends IComponent {
254
- get isRigidbody(): boolean;
255
- constraints: RigidbodyConstraints;
256
- isKinematic: boolean;
257
- /** When true the mass will automatically calculated by attached colliders */
258
- autoMass: boolean;
259
- mass: number;
260
- drag: number;
261
- angularDrag: number;
262
- useGravity: boolean;
263
- centerOfMass: Vec3;
264
- gravityScale: number;
265
- dominanceGroup: number;
266
- collisionDetectionMode: CollisionDetectionMode;
267
- lockPositionX: boolean;
268
- lockPositionY: boolean;
269
- lockPositionZ: boolean;
270
- lockRotationX: boolean;
271
- lockRotationY: boolean;
272
- lockRotationZ: boolean;
273
- }
274
- export declare const $physicsKey: unique symbol;
275
- export declare type ICollisionContext = {
276
- getCollider(obj: Object3D): ICollider;
277
- };
278
- export type Vec2 = {
279
- x: number;
280
- y: number;
281
- };
282
- export type Vec3 = {
283
- x: number;
284
- y: number;
285
- z: number;
286
- };
287
- export type Vec4 = {
288
- x: number;
289
- y: number;
290
- z: number;
291
- w: number;
292
- };
293
- /**
294
- * Holds information about physics contacts
295
- */
296
- export declare class ContactPoint {
297
- private readonly _point;
298
- private readonly _normal;
299
- private readonly _tangentVelocity;
300
- /** the distance of the collision point */
301
- readonly distance: number;
302
- /** the impulse velocity */
303
- readonly impulse: number;
304
- readonly friction: number;
305
- /** worldspace point */
306
- get point(): Vector3;
307
- /** worldspace normal */
308
- get normal(): Vector3;
309
- /** worldspace tangent */
310
- get tangentVelocity(): Vector3;
311
- /** @internal */
312
- constructor(point: Vec3, dist: number, normal: Vec3, impulse: number, friction: number, tangentVelocity: Vec3);
313
- }
314
- /**
315
- * Holds information about a collision event. Includes a list of contact points and the colliders involved
316
- */
317
- export declare class Collision {
318
- /** The contact points of this collision. Contains information about positions, normals, distance, friction, impulse... */
319
- readonly contacts: ContactPoint[];
320
- /** @internal */
321
- constructor(obj: IGameObject, otherCollider: ICollider, contacts: ContactPoint[]);
322
- /** the gameobject this collision event belongs to (e.g. if onCollisionEnter is called then `me` is the same as `this.gameObject`) */
323
- readonly me: IGameObject;
324
- private _collider;
325
- /** the other collider the collision happened with */
326
- get collider(): ICollider;
327
- private _gameObject;
328
- /** the other object the collision happened with */
329
- get gameObject(): IGameObject;
330
- /** the other rigidbody we hit, null if none attached */
331
- get rigidBody(): IRigidbody | null;
332
- }
333
- export type RaycastResult = null | {
334
- point: Vector3;
335
- collider: ICollider;
336
- normal?: Vector3;
337
- };
338
- export declare class SphereOverlapResult {
339
- object: Object3D;
340
- collider: ICollider;
341
- constructor(object: Object3D, collider: ICollider);
342
- }
343
- export interface IPhysicsEngine {
344
- /** Initializes the physics engine */
345
- initialize(): Promise<boolean>;
346
- /** Indicates whether the physics engine has been initialized */
347
- get isInitialized(): boolean;
348
- /** Advances physics simulation by the given time step */
349
- step(dt: number): void;
350
- postStep(): any;
351
- /** Indicates whether the physics engine is currently updating */
352
- get isUpdating(): boolean;
353
- /** Clears all cached data (e.g., mesh data when creating scaled mesh colliders) */
354
- clearCaches(): any;
355
- /** Enables or disables the physics engine */
356
- enabled: boolean;
357
- /** Returns the underlying physics world object */
358
- get world(): World | undefined;
359
- /** Sets the gravity vector for the physics simulation */
360
- set gravity(vec3: Vec3);
361
- /** Gets the current gravity vector */
362
- get gravity(): Vec3;
363
- /**
364
- * Gets the rapier physics body for a Needle component
365
- * @param obj The collider or rigidbody component
366
- * @returns The underlying physics body or null if not found
367
- */
368
- getBody(obj: ICollider | IRigidbody): null | any;
369
- /**
370
- * Gets the Needle Engine component for a rapier physics object
371
- * @param rapierObject The rapier physics object
372
- * @returns The associated component or null if not found
373
- */
374
- getComponent(rapierObject: object): IComponent | null;
375
- /**
376
- * Performs a fast raycast against physics colliders
377
- * @param origin Ray origin in screen or worldspace
378
- * @param direction Ray direction in worldspace
379
- * @param options Additional raycast configuration options
380
- * @returns Raycast result containing hit point and collider, or null if no hit
381
- */
382
- raycast(origin?: Vec2 | Vec3, direction?: Vec3, options?: {
383
- maxDistance?: number;
384
- /** True if you want to also hit objects when the raycast starts from inside a collider */
385
- solid?: boolean;
386
- queryFilterFlags?: QueryFilterFlags;
387
- /**
388
- * Raycast filter groups. Groups are used to apply the collision group rules for the scene query.
389
- * The scene query will only consider hits with colliders with collision groups compatible with
390
- * this collision group (using the bitwise test described in the collision groups section).
391
- * For example membership 0x0001 and filter 0x0002 should be 0x00010002
392
- * @see https://rapier.rs/docs/user_guides/javascript/colliders#collision-groups-and-solver-groups
393
- */
394
- filterGroups?: number;
395
- /**
396
- * Predicate to filter colliders in raycast results
397
- * @param collider The collider being tested
398
- * @returns False to ignore this collider, true to include it
399
- */
400
- filterPredicate?: (collider: ICollider) => boolean;
401
- }): RaycastResult;
402
- /**
403
- * Performs a raycast that also returns the normal vector at the hit point
404
- * @param origin Ray origin in screen or worldspace
405
- * @param direction Ray direction in worldspace
406
- * @param options Additional raycast configuration options
407
- * @returns Raycast result containing hit point, normal, and collider, or null if no hit
408
- */
409
- raycastAndGetNormal(origin?: Vec2 | Vec3, direction?: Vec3, options?: {
410
- maxDistance?: number;
411
- /** True if you want to also hit objects when the raycast starts from inside a collider */
412
- solid?: boolean;
413
- queryFilterFlags?: QueryFilterFlags;
414
- /**
415
- * Raycast filter groups. Groups are used to apply the collision group rules for the scene query.
416
- * The scene query will only consider hits with colliders with collision groups compatible with
417
- * this collision group (using the bitwise test described in the collision groups section).
418
- * For example membership 0x0001 and filter 0x0002 should be 0x00010002
419
- * @see https://rapier.rs/docs/user_guides/javascript/colliders#collision-groups-and-solver-groups
420
- */
421
- filterGroups?: number;
422
- /**
423
- * Predicate to filter colliders in raycast results
424
- * @param collider The collider being tested
425
- * @returns False to ignore this collider, true to include it
426
- */
427
- filterPredicate?: (collider: ICollider) => boolean;
428
- }): RaycastResult;
429
- /**
430
- * Finds all colliders within a sphere
431
- * @param point The center point of the sphere
432
- * @param radius The radius of the sphere
433
- * @returns Array of objects that overlap with the sphere
434
- */
435
- sphereOverlap(point: Vector3, radius: number): Array<SphereOverlapResult>;
436
- /**
437
- * Adds a sphere collider to the physics world
438
- * @param collider The collider component to add
439
- */
440
- addSphereCollider(collider: ICollider): any;
441
- /**
442
- * Adds a box collider to the physics world
443
- * @param collider The collider component to add
444
- * @param size The size of the box
445
- */
446
- addBoxCollider(collider: ICollider, size: Vector3): any;
447
- /**
448
- * Adds a capsule collider to the physics world
449
- * @param collider The collider component to add
450
- * @param radius The radius of the capsule
451
- * @param height The height of the capsule
452
- */
453
- addCapsuleCollider(collider: ICollider, radius: number, height: number): any;
454
- /**
455
- * Adds a mesh collider to the physics world
456
- * @param collider The collider component to add
457
- * @param mesh The mesh to use for collision
458
- * @param convex Whether the collision mesh should be treated as convex
459
- * @param scale Optional scale to apply to the mesh
460
- */
461
- addMeshCollider(collider: ICollider, mesh: Mesh, convex: boolean, scale?: Vector3 | undefined): any;
462
- /**
463
- * Updates the physics material properties of a collider
464
- * @param collider The collider to update
465
- */
466
- updatePhysicsMaterial(collider: ICollider): any;
467
- /**
468
- * Wakes up a sleeping rigidbody
469
- * @param rb The rigidbody to wake up
470
- */
471
- wakeup(rb: IRigidbody): any;
472
- /**
473
- * Checks if a rigidbody is currently sleeping
474
- * @param rb The rigidbody to check
475
- * @returns Whether the rigidbody is sleeping or undefined if cannot be determined
476
- */
477
- isSleeping(rb: IRigidbody): boolean | undefined;
478
- /**
479
- * Updates the physical properties of a rigidbody or collider
480
- * @param rb The rigidbody or collider to update
481
- */
482
- updateProperties(rb: IRigidbody | ICollider): any;
483
- /**
484
- * Resets all forces acting on a rigidbody
485
- * @param rb The rigidbody to reset forces on
486
- * @param wakeup Whether to wake up the rigidbody
487
- */
488
- resetForces(rb: IRigidbody, wakeup: boolean): any;
489
- /**
490
- * Resets all torques acting on a rigidbody
491
- * @param rb The rigidbody to reset torques on
492
- * @param wakeup Whether to wake up the rigidbody
493
- */
494
- resetTorques(rb: IRigidbody, wakeup: boolean): any;
495
- /**
496
- * Adds a continuous force to a rigidbody
497
- * @param rb The rigidbody to add force to
498
- * @param vec The force vector to add
499
- * @param wakeup Whether to wake up the rigidbody
500
- */
501
- addForce(rb: IRigidbody, vec: Vec3, wakeup: boolean): any;
502
- /**
503
- * Applies an instantaneous impulse to a rigidbody
504
- * @param rb The rigidbody to apply impulse to
505
- * @param vec The impulse vector to apply
506
- * @param wakeup Whether to wake up the rigidbody
507
- */
508
- applyImpulse(rb: IRigidbody, vec: Vec3, wakeup: boolean): any;
509
- /**
510
- * Gets the linear velocity of a rigidbody or the rigidbody attached to a collider
511
- * @param rb The rigidbody or collider to get velocity from
512
- * @returns The linear velocity vector or null if not available
513
- */
514
- getLinearVelocity(rb: IRigidbody | ICollider): Vec3 | null;
515
- /**
516
- * Gets the angular velocity of a rigidbody
517
- * @param rb The rigidbody to get angular velocity from
518
- * @returns The angular velocity vector or null if not available
519
- */
520
- getAngularVelocity(rb: IRigidbody): Vec3 | null;
521
- /**
522
- * Sets the angular velocity of a rigidbody
523
- * @param rb The rigidbody to set angular velocity for
524
- * @param vec The angular velocity vector to set
525
- * @param wakeup Whether to wake up the rigidbody
526
- */
527
- setAngularVelocity(rb: IRigidbody, vec: Vec3, wakeup: boolean): any;
528
- /**
529
- * Sets the linear velocity of a rigidbody
530
- * @param rb The rigidbody to set linear velocity for
531
- * @param vec The linear velocity vector to set
532
- * @param wakeup Whether to wake up the rigidbody
533
- */
534
- setLinearVelocity(rb: IRigidbody, vec: Vec3, wakeup: boolean): any;
535
- /**
536
- * Updates the position and/or rotation of a physics body
537
- * @param comp The collider or rigidbody component to update
538
- * @param translation Whether to update the position
539
- * @param rotation Whether to update the rotation
540
- */
541
- updateBody(comp: ICollider | IRigidbody, translation: boolean, rotation: boolean): any;
542
- /**
543
- * Removes a physics body from the simulation
544
- * @param body The component whose physics body should be removed
545
- */
546
- removeBody(body: IComponent): any;
547
- /**
548
- * Gets the physics body for a component
549
- * @param obj The collider or rigidbody component
550
- * @returns The underlying physics body or null if not found
551
- */
552
- getBody(obj: ICollider | IRigidbody): null | any;
553
- addFixedJoint(body1: IRigidbody, body2: IRigidbody): any;
554
- addHingeJoint(body1: IRigidbody, body2: IRigidbody, anchor: Vec3, axis: Vec3): any;
555
- /** Enable to render collider shapes */
556
- debugRenderColliders: boolean;
557
- /** Enable to visualize raycasts in the scene with gizmos */
558
- debugRenderRaycasts: boolean;
559
- }
560
- /**
561
- * Available cursor types
562
- * @link https://developer.mozilla.org/en-US/docs/Web/CSS/cursor
563
- */
564
- export type CursorTypeName = "auto" | "default" | "none" | "context-menu" | "help" | "pointer" | "progress" | "wait" | "cell" | "crosshair" | "text" | "vertical-text" | "alias" | "copy" | "move" | "no-drop" | "not-allowed" | "grab" | "grabbing" | "all-scroll" | "col-resize" | "row-resize" | "n-resize" | "e-resize" | "s-resize" | "w-resize" | "nw-resize" | "se-resize" | "sw-resize" | "ew-resize" | "ns-resize" | "nesw-resize" | "nwse-resize" | "zoom-in" | "zoom-out";
565
- /** Typical mouse button names for most devices */
566
- export type MouseButtonName = "left" | "right" | "middle";
567
- /** Button names on typical controllers (since there seems to be no agreed naming)
568
- * https://w3c.github.io/gamepad/#remapping
569
- */
570
- export type GamepadButtonName = "a-button" | "b-button" | "x-button" | "y-button";
571
- /** Needle-defined names for stylus (MX Ink) */
572
- export type StylusButtonName = "stylus-touch" | "stylus-tip";
573
- /** Button names as used in the xr profile */
574
- export type XRControllerButtonName = "thumbrest" | "xr-standard-trigger" | "xr-standard-squeeze" | "xr-standard-thumbstick" | "xr-standard-touchpad" | "menu" | GamepadButtonName | StylusButtonName;
575
- export type XRGestureName = "pinch";
576
- /** All known (types) button names for various devices and cases combined. You should use the device specific names if you e.g. know you only deal with a mouse use MouseButtonName */
577
- export type ButtonName = "unknown" | MouseButtonName | GamepadButtonName | XRControllerButtonName | XRGestureName;
578
- export {};
1
+ /// <reference types="webxr" />
2
+ import type { QueryFilterFlags, World } from "@dimforge/rapier3d-compat";
3
+ import { AnimationClip, Color, Material, Mesh, Object3D, Quaternion } from "three";
4
+ import { Vector3 } from "three";
5
+ import { type GLTF as THREE_GLTF } from "three/examples/jsm/loaders/GLTFLoader.js";
6
+ import type { Camera as CameraComponent } from "../engine-components/api.js";
7
+ import type { Context } from "./engine_context.js";
8
+ import { InstantiateContext } from "./engine_gameobject.js";
9
+ import { CollisionDetectionMode, type PhysicsMaterial, RigidbodyConstraints } from "./engine_physics.types.js";
10
+ import type { NeedleXRSession } from "./engine_xr.js";
11
+ /** Removes all properties that match TypesToFilter */
12
+ type FilterTypes<T, TypesToFilter> = {
13
+ [P in keyof T as T[P] extends TypesToFilter ? never : P]: T[P];
14
+ };
15
+ /** Removes all undefined functions */
16
+ type NoUndefinedNoFunctions<T> = FilterTypes<T, Function | undefined | null>;
17
+ type FilterStartingWith<T, Prefix extends string> = {
18
+ [K in keyof T as K extends string ? (K extends `${Prefix}${infer _}` ? never : K) : never]: T[K];
19
+ };
20
+ /** Removes all properties that start with an underscore */
21
+ type NoInternals<T> = FilterStartingWith<T, "_">;
22
+ type NoInternalNeedleEngineState<T> = Omit<T, "destroyed" | "gameObject" | "activeAndEnabled" | "context" | "isComponent" | "scene" | "up" | "forward" | "right" | "worldRotation" | "worldEuler" | "worldPosition" | "worldQuaternion">;
23
+ export type ComponentInit<T> = Partial<NoInternalNeedleEngineState<NoInternals<NoUndefinedNoFunctions<T>>>>;
24
+ /** GLTF, GLB or VRM */
25
+ export type GLTF = THREE_GLTF;
26
+ /** FBX type */
27
+ export type FBX = {
28
+ animations: AnimationClip[];
29
+ scene: Object3D;
30
+ scenes: Object3D[];
31
+ };
32
+ /** OBJ type */
33
+ export type OBJ = {
34
+ animations: AnimationClip[];
35
+ scene: Object3D;
36
+ scenes: Object3D[];
37
+ };
38
+ export type CustomModel = {
39
+ animations: AnimationClip[];
40
+ scene: Object3D;
41
+ scenes: Object3D[];
42
+ };
43
+ /** All possible model types that Needle Engine can load */
44
+ export type Model = (GLTF | FBX | OBJ | CustomModel);
45
+ export declare function isGLTFModel(model: Model): model is GLTF;
46
+ /** A loaded model */
47
+ export type LoadedModel = {
48
+ src: string;
49
+ file: Model;
50
+ };
51
+ /** used to find data registered via gltf files e.g. find lightmaps for a Renderer component that were shipped inside a gltf */
52
+ export declare type SourceIdentifier = string;
53
+ export type Constructor<T> = abstract new (...args: any[]) => T;
54
+ export type ConstructorConcrete<T> = new (...args: any[]) => T;
55
+ export type GuidsMap = {
56
+ [key: string]: string;
57
+ };
58
+ export interface UIDProvider {
59
+ seed: number;
60
+ generateUUID(): string;
61
+ }
62
+ export declare type CoroutineData = {
63
+ comp: IComponent;
64
+ main: Generator;
65
+ chained?: Array<Generator>;
66
+ };
67
+ export interface ITime {
68
+ get time(): number;
69
+ get deltaTime(): number;
70
+ }
71
+ export interface IInput {
72
+ convertScreenspaceToRaycastSpace(vec: Vec2): void;
73
+ getPointerPosition(i: number): Vec2 | null;
74
+ }
75
+ export interface IPhysics {
76
+ engine?: IPhysicsEngine;
77
+ }
78
+ export type IContext = Context;
79
+ export type INeedleXRSession = NeedleXRSession;
80
+ export declare interface INeedleEngineComponent extends HTMLElement {
81
+ getAROverlayContainer(): HTMLElement;
82
+ onEnterAR(session: XRSession, overlayContainer: HTMLElement): any;
83
+ onExitAR(session: XRSession): any;
84
+ }
85
+ export declare enum HideFlags {
86
+ None = 0,
87
+ /** When enabled the glTF exporter will omit this object and all children from being exported */
88
+ DontExport = 1
89
+ }
90
+ export declare interface IGameObject extends Object3D {
91
+ /** the object's unique identifier */
92
+ guid: string | undefined;
93
+ /** if the object is enabled in the hierarchy (usually equivalent to `visible`) */
94
+ activeSelf: boolean;
95
+ /** call to destroy this object including all components that are attached to it. Will destroy all children recursively */
96
+ destroy(): void;
97
+ /** Add a new component to this object. Expects a component type (e.g. `addNewComponent(Animator)`) */
98
+ addNewComponent<T extends IComponent>(type: Constructor<T>, init?: ComponentInit<T>): T;
99
+ /** Remove a component from this object. Expected a component instance
100
+ * @returns the removed component (equal to the passed in component)
101
+ */
102
+ addComponent<T extends IComponent>(comp: T | ConstructorConcrete<T>, init?: ComponentInit<T>): T;
103
+ removeComponent<T extends IComponent>(comp: T): T;
104
+ /** Searches for a component type on this object. If no component of the searched type exists yet a new instance will be created and returned */
105
+ getOrAddComponent<T>(typeName: Constructor<T> | null): T;
106
+ /** Tries to find a component of a type on this object.
107
+ * @returns the first instance of a component on this object that matches the passed in type or null if no component of this type (or a subtype) exists */
108
+ getComponent<T>(type: Constructor<T>): T | null;
109
+ /** @returns all components of a certain type on this object */
110
+ getComponents<T>(type: Constructor<T>, arr?: T[]): Array<T>;
111
+ /** Finds a component of a certain type on this object OR a child object if any exists */
112
+ getComponentInChildren<T>(type: Constructor<T>): T | null;
113
+ /** Finds all components of a certain type on this object AND all children (recursively) */
114
+ getComponentsInChildren<T>(type: Constructor<T>, arr?: T[]): Array<T>;
115
+ /** Finds a component of a certain type on this object OR a parent object if any exists */
116
+ getComponentInParent<T>(type: Constructor<T>): T | null;
117
+ /** Finds all components of a certain type on this object AND all parents (recursively) */
118
+ getComponentsInParent<T>(type: Constructor<T>, arr?: T[]): Array<T>;
119
+ get worldPosition(): Vector3;
120
+ set worldPosition(val: Vector3);
121
+ get worldQuaternion(): Quaternion;
122
+ set worldQuaternion(val: Quaternion);
123
+ get worldRotation(): Vector3;
124
+ set worldRotation(val: Vector3);
125
+ get worldScale(): Vector3;
126
+ set worldScale(val: Vector3);
127
+ get worldForward(): Vector3;
128
+ get worldRight(): Vector3;
129
+ get worldUp(): Vector3;
130
+ }
131
+ export interface IHasGuid {
132
+ guid: string;
133
+ }
134
+ export interface IComponent extends IHasGuid {
135
+ get isComponent(): boolean;
136
+ /** the object this component is attached to */
137
+ gameObject: IGameObject;
138
+ enabled: boolean;
139
+ sourceId?: SourceIdentifier;
140
+ get name(): string;
141
+ get layer(): number;
142
+ get destroyed(): boolean;
143
+ get tag(): string;
144
+ context: any;
145
+ get activeAndEnabled(): boolean;
146
+ /** @internal */
147
+ __internalNewInstanceCreated(init?: ComponentInit<any>): any;
148
+ /** @internal */
149
+ _internalInit(init?: ComponentInit<any>): any;
150
+ /** @internal */
151
+ __internalAwake(): any;
152
+ /** @internal */
153
+ __internalStart(): any;
154
+ /** @internal */
155
+ __internalEnable(isAddingOrRemovingFromScene?: boolean): any;
156
+ /** @internal */
157
+ __internalDisable(isAddingOrRemovingFromScene?: boolean): any;
158
+ /** @internal */
159
+ __internalDestroy(): any;
160
+ /** @internal */
161
+ resolveGuids?(guidsMap: GuidsMap): void;
162
+ /** experimental, called when the script is registered for the first time, this is called even if the component is not enabled. */
163
+ registering?(): any;
164
+ awake(): any;
165
+ onEnable(): any;
166
+ onDisable(): any;
167
+ onDestroy(): any;
168
+ destroy(): any;
169
+ /** called for properties decorated with the @validate decorator */
170
+ onValidate?(property?: string): any;
171
+ /** called when this.context.isPaused changes or when rendering loop changes due to changing DOM element visibility
172
+ * e.g. when the DOM element becomes hidden or out ot view
173
+ */
174
+ onPausedChanged?(isPaused: boolean, wasPaused: boolean): any;
175
+ start?(): void;
176
+ earlyUpdate?(): void;
177
+ update?(): void;
178
+ lateUpdate?(): void;
179
+ onBeforeRender?(frame: XRFrame | null): void;
180
+ onAfterRender?(): void;
181
+ onCollisionEnter?(col: Collision): any;
182
+ onCollisionExit?(col: Collision): any;
183
+ onCollisionStay?(col: Collision): any;
184
+ onTriggerEnter?(col: ICollider): any;
185
+ onTriggerStay?(col: ICollider): any;
186
+ onTriggerExit?(col: ICollider): any;
187
+ get forward(): Vector3;
188
+ get worldPosition(): Vector3;
189
+ get worldQuaternion(): Quaternion;
190
+ }
191
+ export declare function isComponent(obj: any): obj is IComponent;
192
+ export type ICamera = CameraComponent;
193
+ export type IAnimationComponent = Pick<IComponent, "gameObject"> & {
194
+ isAnimationComponent: boolean;
195
+ addClip?(clip: AnimationClip): any;
196
+ };
197
+ /** Interface for a camera controller component that can be attached to a camera to control it */
198
+ export declare interface ICameraController {
199
+ get isCameraController(): boolean;
200
+ }
201
+ export declare interface ILight extends IComponent {
202
+ intensity: number;
203
+ color: Color;
204
+ }
205
+ export declare interface ISharedMaterials {
206
+ [num: number]: Material;
207
+ get length(): number;
208
+ }
209
+ export declare interface IRenderer extends IComponent {
210
+ sharedMaterial: Material;
211
+ get sharedMaterials(): ISharedMaterials;
212
+ }
213
+ export declare interface IEventList {
214
+ readonly isEventList: true;
215
+ __internalOnInstantiate(map: InstantiateContext): IEventList;
216
+ }
217
+ export declare interface ICollider extends IComponent {
218
+ get isCollider(): any;
219
+ attachedRigidbody: IRigidbody | null;
220
+ /**
221
+ * Note: Make sure to call updatePhysicsMaterial after having changed this property
222
+ */
223
+ isTrigger: boolean;
224
+ /**
225
+ * The physics material determines how the collider interacts with other colliders (e.g. bouncyness)
226
+ * Note: Make sure to call updatePhysicsMaterial after having changed this property
227
+ */
228
+ sharedMaterial?: PhysicsMaterial;
229
+ center?: Vec3 & {
230
+ multiply(vec: Vec3): any;
231
+ };
232
+ updateProperties(): void;
233
+ updatePhysicsMaterial(): void;
234
+ /** The collider membership indicates what groups the collider is part of (e.g. group 2 and 3)
235
+ * An `undefined` array indicates that the collider is part of all groups
236
+ * Note: Make sure to call updateProperties after having changed this property
237
+ * Default: [0]
238
+ */
239
+ membership?: number[];
240
+ /** The collider filter indicates what groups the collider can interact with (e.g. group 3 and 4)
241
+ * An `undefined` array indicates that the collider can interact with all groups
242
+ * Note: Make sure to call updateProperties after having changed this property
243
+ * Default: undefined
244
+ */
245
+ filter?: number[];
246
+ }
247
+ export declare interface ISphereCollider extends ICollider {
248
+ radius: number;
249
+ }
250
+ export declare interface IBoxCollider extends ICollider {
251
+ size: Vec3;
252
+ }
253
+ export declare interface IRigidbody extends IComponent {
254
+ get isRigidbody(): boolean;
255
+ constraints: RigidbodyConstraints;
256
+ isKinematic: boolean;
257
+ /** When true the mass will automatically calculated by attached colliders */
258
+ autoMass: boolean;
259
+ mass: number;
260
+ drag: number;
261
+ angularDrag: number;
262
+ useGravity: boolean;
263
+ centerOfMass: Vec3;
264
+ gravityScale: number;
265
+ dominanceGroup: number;
266
+ collisionDetectionMode: CollisionDetectionMode;
267
+ lockPositionX: boolean;
268
+ lockPositionY: boolean;
269
+ lockPositionZ: boolean;
270
+ lockRotationX: boolean;
271
+ lockRotationY: boolean;
272
+ lockRotationZ: boolean;
273
+ }
274
+ export declare const $physicsKey: unique symbol;
275
+ export declare type ICollisionContext = {
276
+ getCollider(obj: Object3D): ICollider;
277
+ };
278
+ export type Vec2 = {
279
+ x: number;
280
+ y: number;
281
+ };
282
+ export type Vec3 = {
283
+ x: number;
284
+ y: number;
285
+ z: number;
286
+ };
287
+ export type Vec4 = {
288
+ x: number;
289
+ y: number;
290
+ z: number;
291
+ w: number;
292
+ };
293
+ /**
294
+ * Holds information about physics contacts
295
+ */
296
+ export declare class ContactPoint {
297
+ private readonly _point;
298
+ private readonly _normal;
299
+ private readonly _tangentVelocity;
300
+ /** the distance of the collision point */
301
+ readonly distance: number;
302
+ /** the impulse velocity */
303
+ readonly impulse: number;
304
+ readonly friction: number;
305
+ /** worldspace point */
306
+ get point(): Vector3;
307
+ /** worldspace normal */
308
+ get normal(): Vector3;
309
+ /** worldspace tangent */
310
+ get tangentVelocity(): Vector3;
311
+ /** @internal */
312
+ constructor(point: Vec3, dist: number, normal: Vec3, impulse: number, friction: number, tangentVelocity: Vec3);
313
+ }
314
+ /**
315
+ * Holds information about a collision event. Includes a list of contact points and the colliders involved
316
+ */
317
+ export declare class Collision {
318
+ /** The contact points of this collision. Contains information about positions, normals, distance, friction, impulse... */
319
+ readonly contacts: ContactPoint[];
320
+ /** @internal */
321
+ constructor(obj: IGameObject, otherCollider: ICollider, contacts: ContactPoint[]);
322
+ /** the gameobject this collision event belongs to (e.g. if onCollisionEnter is called then `me` is the same as `this.gameObject`) */
323
+ readonly me: IGameObject;
324
+ private _collider;
325
+ /** the other collider the collision happened with */
326
+ get collider(): ICollider;
327
+ private _gameObject;
328
+ /** the other object the collision happened with */
329
+ get gameObject(): IGameObject;
330
+ /** the other rigidbody we hit, null if none attached */
331
+ get rigidBody(): IRigidbody | null;
332
+ }
333
+ export type RaycastResult = null | {
334
+ point: Vector3;
335
+ collider: ICollider;
336
+ normal?: Vector3;
337
+ };
338
+ export declare class SphereOverlapResult {
339
+ object: Object3D;
340
+ collider: ICollider;
341
+ constructor(object: Object3D, collider: ICollider);
342
+ }
343
+ export interface IPhysicsEngine {
344
+ /** Initializes the physics engine */
345
+ initialize(): Promise<boolean>;
346
+ /** Indicates whether the physics engine has been initialized */
347
+ get isInitialized(): boolean;
348
+ /** Advances physics simulation by the given time step */
349
+ step(dt: number): void;
350
+ postStep(): any;
351
+ /** Indicates whether the physics engine is currently updating */
352
+ get isUpdating(): boolean;
353
+ /** Clears all cached data (e.g., mesh data when creating scaled mesh colliders) */
354
+ clearCaches(): any;
355
+ /** Enables or disables the physics engine */
356
+ enabled: boolean;
357
+ /** Returns the underlying physics world object */
358
+ get world(): World | undefined;
359
+ /** Sets the gravity vector for the physics simulation */
360
+ set gravity(vec3: Vec3);
361
+ /** Gets the current gravity vector */
362
+ get gravity(): Vec3;
363
+ /**
364
+ * Gets the rapier physics body for a Needle component
365
+ * @param obj The collider or rigidbody component
366
+ * @returns The underlying physics body or null if not found
367
+ */
368
+ getBody(obj: ICollider | IRigidbody): null | any;
369
+ /**
370
+ * Gets the Needle Engine component for a rapier physics object
371
+ * @param rapierObject The rapier physics object
372
+ * @returns The associated component or null if not found
373
+ */
374
+ getComponent(rapierObject: object): IComponent | null;
375
+ /**
376
+ * Performs a fast raycast against physics colliders
377
+ * @param origin Ray origin in screen or worldspace
378
+ * @param direction Ray direction in worldspace
379
+ * @param options Additional raycast configuration options
380
+ * @returns Raycast result containing hit point and collider, or null if no hit
381
+ */
382
+ raycast(origin?: Vec2 | Vec3, direction?: Vec3, options?: {
383
+ maxDistance?: number;
384
+ /** True if you want to also hit objects when the raycast starts from inside a collider */
385
+ solid?: boolean;
386
+ queryFilterFlags?: QueryFilterFlags;
387
+ /**
388
+ * Raycast filter groups. Groups are used to apply the collision group rules for the scene query.
389
+ * The scene query will only consider hits with colliders with collision groups compatible with
390
+ * this collision group (using the bitwise test described in the collision groups section).
391
+ * For example membership 0x0001 and filter 0x0002 should be 0x00010002
392
+ * @see https://rapier.rs/docs/user_guides/javascript/colliders#collision-groups-and-solver-groups
393
+ */
394
+ filterGroups?: number;
395
+ /**
396
+ * Predicate to filter colliders in raycast results
397
+ * @param collider The collider being tested
398
+ * @returns False to ignore this collider, true to include it
399
+ */
400
+ filterPredicate?: (collider: ICollider) => boolean;
401
+ }): RaycastResult;
402
+ /**
403
+ * Performs a raycast that also returns the normal vector at the hit point
404
+ * @param origin Ray origin in screen or worldspace
405
+ * @param direction Ray direction in worldspace
406
+ * @param options Additional raycast configuration options
407
+ * @returns Raycast result containing hit point, normal, and collider, or null if no hit
408
+ */
409
+ raycastAndGetNormal(origin?: Vec2 | Vec3, direction?: Vec3, options?: {
410
+ maxDistance?: number;
411
+ /** True if you want to also hit objects when the raycast starts from inside a collider */
412
+ solid?: boolean;
413
+ queryFilterFlags?: QueryFilterFlags;
414
+ /**
415
+ * Raycast filter groups. Groups are used to apply the collision group rules for the scene query.
416
+ * The scene query will only consider hits with colliders with collision groups compatible with
417
+ * this collision group (using the bitwise test described in the collision groups section).
418
+ * For example membership 0x0001 and filter 0x0002 should be 0x00010002
419
+ * @see https://rapier.rs/docs/user_guides/javascript/colliders#collision-groups-and-solver-groups
420
+ */
421
+ filterGroups?: number;
422
+ /**
423
+ * Predicate to filter colliders in raycast results
424
+ * @param collider The collider being tested
425
+ * @returns False to ignore this collider, true to include it
426
+ */
427
+ filterPredicate?: (collider: ICollider) => boolean;
428
+ }): RaycastResult;
429
+ /**
430
+ * Finds all colliders within a sphere
431
+ * @param point The center point of the sphere
432
+ * @param radius The radius of the sphere
433
+ * @returns Array of objects that overlap with the sphere
434
+ */
435
+ sphereOverlap(point: Vector3, radius: number): Array<SphereOverlapResult>;
436
+ /**
437
+ * Adds a sphere collider to the physics world
438
+ * @param collider The collider component to add
439
+ */
440
+ addSphereCollider(collider: ICollider): any;
441
+ /**
442
+ * Adds a box collider to the physics world
443
+ * @param collider The collider component to add
444
+ * @param size The size of the box
445
+ */
446
+ addBoxCollider(collider: ICollider, size: Vector3): any;
447
+ /**
448
+ * Adds a capsule collider to the physics world
449
+ * @param collider The collider component to add
450
+ * @param radius The radius of the capsule
451
+ * @param height The height of the capsule
452
+ */
453
+ addCapsuleCollider(collider: ICollider, radius: number, height: number): any;
454
+ /**
455
+ * Adds a mesh collider to the physics world
456
+ * @param collider The collider component to add
457
+ * @param mesh The mesh to use for collision
458
+ * @param convex Whether the collision mesh should be treated as convex
459
+ * @param scale Optional scale to apply to the mesh
460
+ */
461
+ addMeshCollider(collider: ICollider, mesh: Mesh, convex: boolean, scale?: Vector3 | undefined): any;
462
+ /**
463
+ * Updates the physics material properties of a collider
464
+ * @param collider The collider to update
465
+ */
466
+ updatePhysicsMaterial(collider: ICollider): any;
467
+ /**
468
+ * Wakes up a sleeping rigidbody
469
+ * @param rb The rigidbody to wake up
470
+ */
471
+ wakeup(rb: IRigidbody): any;
472
+ /**
473
+ * Checks if a rigidbody is currently sleeping
474
+ * @param rb The rigidbody to check
475
+ * @returns Whether the rigidbody is sleeping or undefined if cannot be determined
476
+ */
477
+ isSleeping(rb: IRigidbody): boolean | undefined;
478
+ /**
479
+ * Updates the physical properties of a rigidbody or collider
480
+ * @param rb The rigidbody or collider to update
481
+ */
482
+ updateProperties(rb: IRigidbody | ICollider): any;
483
+ /**
484
+ * Resets all forces acting on a rigidbody
485
+ * @param rb The rigidbody to reset forces on
486
+ * @param wakeup Whether to wake up the rigidbody
487
+ */
488
+ resetForces(rb: IRigidbody, wakeup: boolean): any;
489
+ /**
490
+ * Resets all torques acting on a rigidbody
491
+ * @param rb The rigidbody to reset torques on
492
+ * @param wakeup Whether to wake up the rigidbody
493
+ */
494
+ resetTorques(rb: IRigidbody, wakeup: boolean): any;
495
+ /**
496
+ * Adds a continuous force to a rigidbody
497
+ * @param rb The rigidbody to add force to
498
+ * @param vec The force vector to add
499
+ * @param wakeup Whether to wake up the rigidbody
500
+ */
501
+ addForce(rb: IRigidbody, vec: Vec3, wakeup: boolean): any;
502
+ /**
503
+ * Applies an instantaneous impulse to a rigidbody
504
+ * @param rb The rigidbody to apply impulse to
505
+ * @param vec The impulse vector to apply
506
+ * @param wakeup Whether to wake up the rigidbody
507
+ */
508
+ applyImpulse(rb: IRigidbody, vec: Vec3, wakeup: boolean): any;
509
+ /**
510
+ * Gets the linear velocity of a rigidbody or the rigidbody attached to a collider
511
+ * @param rb The rigidbody or collider to get velocity from
512
+ * @returns The linear velocity vector or null if not available
513
+ */
514
+ getLinearVelocity(rb: IRigidbody | ICollider): Vec3 | null;
515
+ /**
516
+ * Gets the angular velocity of a rigidbody
517
+ * @param rb The rigidbody to get angular velocity from
518
+ * @returns The angular velocity vector or null if not available
519
+ */
520
+ getAngularVelocity(rb: IRigidbody): Vec3 | null;
521
+ /**
522
+ * Sets the angular velocity of a rigidbody
523
+ * @param rb The rigidbody to set angular velocity for
524
+ * @param vec The angular velocity vector to set
525
+ * @param wakeup Whether to wake up the rigidbody
526
+ */
527
+ setAngularVelocity(rb: IRigidbody, vec: Vec3, wakeup: boolean): any;
528
+ /**
529
+ * Sets the linear velocity of a rigidbody
530
+ * @param rb The rigidbody to set linear velocity for
531
+ * @param vec The linear velocity vector to set
532
+ * @param wakeup Whether to wake up the rigidbody
533
+ */
534
+ setLinearVelocity(rb: IRigidbody, vec: Vec3, wakeup: boolean): any;
535
+ /**
536
+ * Updates the position and/or rotation of a physics body
537
+ * @param comp The collider or rigidbody component to update
538
+ * @param translation Whether to update the position
539
+ * @param rotation Whether to update the rotation
540
+ */
541
+ updateBody(comp: ICollider | IRigidbody, translation: boolean, rotation: boolean): any;
542
+ /**
543
+ * Removes a physics body from the simulation
544
+ * @param body The component whose physics body should be removed
545
+ */
546
+ removeBody(body: IComponent): any;
547
+ /**
548
+ * Gets the physics body for a component
549
+ * @param obj The collider or rigidbody component
550
+ * @returns The underlying physics body or null if not found
551
+ */
552
+ getBody(obj: ICollider | IRigidbody): null | any;
553
+ addFixedJoint(body1: IRigidbody, body2: IRigidbody): any;
554
+ addHingeJoint(body1: IRigidbody, body2: IRigidbody, anchor: Vec3, axis: Vec3): any;
555
+ /** Enable to render collider shapes */
556
+ debugRenderColliders: boolean;
557
+ /** Enable to visualize raycasts in the scene with gizmos */
558
+ debugRenderRaycasts: boolean;
559
+ }
560
+ /**
561
+ * Available cursor types
562
+ * @link https://developer.mozilla.org/en-US/docs/Web/CSS/cursor
563
+ */
564
+ export type CursorTypeName = "auto" | "default" | "none" | "context-menu" | "help" | "pointer" | "progress" | "wait" | "cell" | "crosshair" | "text" | "vertical-text" | "alias" | "copy" | "move" | "no-drop" | "not-allowed" | "grab" | "grabbing" | "all-scroll" | "col-resize" | "row-resize" | "n-resize" | "e-resize" | "s-resize" | "w-resize" | "nw-resize" | "se-resize" | "sw-resize" | "ew-resize" | "ns-resize" | "nesw-resize" | "nwse-resize" | "zoom-in" | "zoom-out";
565
+ /** Typical mouse button names for most devices */
566
+ export type MouseButtonName = "left" | "right" | "middle";
567
+ /** Button names on typical controllers (since there seems to be no agreed naming)
568
+ * https://w3c.github.io/gamepad/#remapping
569
+ */
570
+ export type GamepadButtonName = "a-button" | "b-button" | "x-button" | "y-button";
571
+ /** Needle-defined names for stylus (MX Ink) */
572
+ export type StylusButtonName = "stylus-touch" | "stylus-tip";
573
+ /** Button names as used in the xr profile */
574
+ export type XRControllerButtonName = "thumbrest" | "xr-standard-trigger" | "xr-standard-squeeze" | "xr-standard-thumbstick" | "xr-standard-touchpad" | "menu" | GamepadButtonName | StylusButtonName;
575
+ export type XRGestureName = "pinch";
576
+ /** All known (types) button names for various devices and cases combined. You should use the device specific names if you e.g. know you only deal with a mouse use MouseButtonName */
577
+ export type ButtonName = "unknown" | MouseButtonName | GamepadButtonName | XRControllerButtonName | XRGestureName;
578
+ export {};