@needle-tools/engine 5.1.0-canary.db0c38f → 5.1.0-canary.e6680fa

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 (381) hide show
  1. package/.needle/generated/needle-bindings.gen.d.ts +5 -0
  2. package/CHANGELOG.md +133 -1
  3. package/SKILL.md +4 -1
  4. package/components.needle.json +1 -1
  5. package/dist/needle-engine.bundle-Bl_hyH5G.umd.cjs +1734 -0
  6. package/dist/needle-engine.bundle-Cduc1gj6.min.js +1734 -0
  7. package/dist/{needle-engine.bundle-B29kieh0.js → needle-engine.bundle-DNcqT8nJ.js} +13770 -12741
  8. package/dist/needle-engine.d.ts +1628 -402
  9. package/dist/needle-engine.js +591 -586
  10. package/dist/needle-engine.min.js +1 -1
  11. package/dist/needle-engine.umd.cjs +1 -1
  12. package/dist/three.js +1 -0
  13. package/dist/three.min.js +21 -21
  14. package/dist/three.umd.cjs +16 -16
  15. package/lib/engine/api.d.ts +9 -2
  16. package/lib/engine/api.js +7 -1
  17. package/lib/engine/api.js.map +1 -1
  18. package/lib/engine/codegen/register_types.js +10 -18
  19. package/lib/engine/codegen/register_types.js.map +1 -1
  20. package/lib/engine/debug/debug_spatial_console.d.ts +2 -0
  21. package/lib/engine/debug/debug_spatial_console.js +10 -7
  22. package/lib/engine/debug/debug_spatial_console.js.map +1 -1
  23. package/lib/engine/engine_addressables.d.ts +2 -0
  24. package/lib/engine/engine_addressables.js +6 -3
  25. package/lib/engine/engine_addressables.js.map +1 -1
  26. package/lib/engine/engine_audio.d.ts +68 -0
  27. package/lib/engine/engine_audio.js +172 -0
  28. package/lib/engine/engine_audio.js.map +1 -1
  29. package/lib/engine/engine_camera.fit.js +16 -4
  30. package/lib/engine/engine_camera.fit.js.map +1 -1
  31. package/lib/engine/engine_components.js +1 -1
  32. package/lib/engine/engine_components.js.map +1 -1
  33. package/lib/engine/engine_context.d.ts +41 -27
  34. package/lib/engine/engine_context.js +71 -30
  35. package/lib/engine/engine_context.js.map +1 -1
  36. package/lib/engine/engine_context_eventbus.d.ts +47 -0
  37. package/lib/engine/engine_context_eventbus.js +47 -0
  38. package/lib/engine/engine_context_eventbus.js.map +1 -0
  39. package/lib/engine/engine_disposable.d.ts +172 -0
  40. package/lib/engine/engine_disposable.js +136 -0
  41. package/lib/engine/engine_disposable.js.map +1 -0
  42. package/lib/engine/engine_gameobject.d.ts +1 -10
  43. package/lib/engine/engine_gameobject.js +22 -120
  44. package/lib/engine/engine_gameobject.js.map +1 -1
  45. package/lib/engine/engine_gltf_builtin_components.js +7 -69
  46. package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
  47. package/lib/engine/engine_init.js +16 -1
  48. package/lib/engine/engine_init.js.map +1 -1
  49. package/lib/engine/engine_input.d.ts +24 -5
  50. package/lib/engine/engine_input.js +3 -2
  51. package/lib/engine/engine_input.js.map +1 -1
  52. package/lib/engine/engine_instantiate_resolve.d.ts +42 -0
  53. package/lib/engine/engine_instantiate_resolve.js +372 -0
  54. package/lib/engine/engine_instantiate_resolve.js.map +1 -0
  55. package/lib/engine/engine_license.d.ts +8 -6
  56. package/lib/engine/engine_license.js +195 -59
  57. package/lib/engine/engine_license.js.map +1 -1
  58. package/lib/engine/engine_lifecycle_functions_internal.js +5 -0
  59. package/lib/engine/engine_lifecycle_functions_internal.js.map +1 -1
  60. package/lib/engine/engine_mainloop_utils.js +7 -4
  61. package/lib/engine/engine_mainloop_utils.js.map +1 -1
  62. package/lib/engine/engine_networking.d.ts +51 -37
  63. package/lib/engine/engine_networking.js +132 -82
  64. package/lib/engine/engine_networking.js.map +1 -1
  65. package/lib/engine/engine_networking.transport.websocket.d.ts +15 -0
  66. package/lib/engine/engine_networking.transport.websocket.js +38 -0
  67. package/lib/engine/engine_networking.transport.websocket.js.map +1 -0
  68. package/lib/engine/engine_networking_blob.js +4 -4
  69. package/lib/engine/engine_networking_blob.js.map +1 -1
  70. package/lib/engine/engine_networking_instantiate.js +2 -2
  71. package/lib/engine/engine_networking_instantiate.js.map +1 -1
  72. package/lib/engine/engine_networking_types.d.ts +39 -1
  73. package/lib/engine/engine_networking_types.js +7 -0
  74. package/lib/engine/engine_networking_types.js.map +1 -1
  75. package/lib/engine/engine_physics_rapier.d.ts +21 -3
  76. package/lib/engine/engine_physics_rapier.js +94 -25
  77. package/lib/engine/engine_physics_rapier.js.map +1 -1
  78. package/lib/engine/engine_pmrem.js +53 -5
  79. package/lib/engine/engine_pmrem.js.map +1 -1
  80. package/lib/engine/engine_scenedata.d.ts +13 -17
  81. package/lib/engine/engine_scenedata.js +58 -31
  82. package/lib/engine/engine_scenedata.js.map +1 -1
  83. package/lib/engine/engine_serialization_builtin_serializer.d.ts +10 -16
  84. package/lib/engine/engine_serialization_builtin_serializer.js +56 -46
  85. package/lib/engine/engine_serialization_builtin_serializer.js.map +1 -1
  86. package/lib/engine/engine_serialization_core.d.ts +1 -0
  87. package/lib/engine/engine_serialization_core.js +7 -0
  88. package/lib/engine/engine_serialization_core.js.map +1 -1
  89. package/lib/engine/engine_ssr.d.ts +2 -0
  90. package/lib/engine/engine_ssr.js +20 -0
  91. package/lib/engine/engine_ssr.js.map +1 -1
  92. package/lib/engine/engine_types.d.ts +31 -11
  93. package/lib/engine/engine_types.js +1 -1
  94. package/lib/engine/engine_types.js.map +1 -1
  95. package/lib/engine/engine_util_decorator.js +7 -2
  96. package/lib/engine/engine_util_decorator.js.map +1 -1
  97. package/lib/engine/engine_utils.d.ts +1 -1
  98. package/lib/engine/engine_utils.js +19 -5
  99. package/lib/engine/engine_utils.js.map +1 -1
  100. package/lib/engine/engine_utils_format.js +20 -14
  101. package/lib/engine/engine_utils_format.js.map +1 -1
  102. package/lib/engine/engine_utils_qrcode.js +2 -2
  103. package/lib/engine/engine_utils_qrcode.js.map +1 -1
  104. package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +1 -1
  105. package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js.map +1 -1
  106. package/lib/engine/webcomponents/jsx.d.ts +51 -0
  107. package/lib/engine/webcomponents/logo-element.js.map +1 -1
  108. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
  109. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
  110. package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +3 -4
  111. package/lib/engine/webcomponents/needle menu/needle-menu.js +6 -6
  112. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  113. package/lib/engine/webcomponents/needle-button.js.map +1 -1
  114. package/lib/engine/webcomponents/needle-engine.d.ts +10 -4
  115. package/lib/engine/webcomponents/needle-engine.js +3 -3
  116. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  117. package/lib/engine/webcomponents/needle-engine.loading.js +2 -2
  118. package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
  119. package/lib/engine/xr/NeedleXRSession.d.ts +3 -2
  120. package/lib/engine/xr/NeedleXRSession.js +50 -14
  121. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  122. package/lib/engine/xr/TempXRContext.js +2 -2
  123. package/lib/engine/xr/TempXRContext.js.map +1 -1
  124. package/lib/engine/xr/events.d.ts +1 -1
  125. package/lib/engine/xr/events.js.map +1 -1
  126. package/lib/engine-components/Animation.js +17 -16
  127. package/lib/engine-components/Animation.js.map +1 -1
  128. package/lib/engine-components/AnimationBuilder.d.ts +158 -0
  129. package/lib/engine-components/AnimationBuilder.js +305 -0
  130. package/lib/engine-components/AnimationBuilder.js.map +1 -0
  131. package/lib/engine-components/Animator.d.ts +6 -0
  132. package/lib/engine-components/Animator.js +23 -13
  133. package/lib/engine-components/Animator.js.map +1 -1
  134. package/lib/engine-components/AnimatorController.builder.d.ts +191 -0
  135. package/lib/engine-components/AnimatorController.builder.js +263 -0
  136. package/lib/engine-components/AnimatorController.builder.js.map +1 -0
  137. package/lib/engine-components/AnimatorController.d.ts +4 -119
  138. package/lib/engine-components/AnimatorController.js +37 -233
  139. package/lib/engine-components/AnimatorController.js.map +1 -1
  140. package/lib/engine-components/AudioSource.d.ts +19 -3
  141. package/lib/engine-components/AudioSource.js +121 -68
  142. package/lib/engine-components/AudioSource.js.map +1 -1
  143. package/lib/engine-components/Camera.d.ts +6 -1
  144. package/lib/engine-components/Camera.js +16 -3
  145. package/lib/engine-components/Camera.js.map +1 -1
  146. package/lib/engine-components/CameraUtils.js +14 -6
  147. package/lib/engine-components/CameraUtils.js.map +1 -1
  148. package/lib/engine-components/Collider.d.ts +18 -9
  149. package/lib/engine-components/Collider.js +61 -14
  150. package/lib/engine-components/Collider.js.map +1 -1
  151. package/lib/engine-components/Component.d.ts +72 -9
  152. package/lib/engine-components/Component.js +114 -10
  153. package/lib/engine-components/Component.js.map +1 -1
  154. package/lib/engine-components/ContactShadows.d.ts +1 -0
  155. package/lib/engine-components/ContactShadows.js +14 -1
  156. package/lib/engine-components/ContactShadows.js.map +1 -1
  157. package/lib/engine-components/DragControls.d.ts +7 -0
  158. package/lib/engine-components/DragControls.js +19 -7
  159. package/lib/engine-components/DragControls.js.map +1 -1
  160. package/lib/engine-components/DropListener.js +4 -0
  161. package/lib/engine-components/DropListener.js.map +1 -1
  162. package/lib/engine-components/EventList.d.ts +31 -9
  163. package/lib/engine-components/EventList.js +37 -76
  164. package/lib/engine-components/EventList.js.map +1 -1
  165. package/lib/engine-components/Joints.d.ts +4 -2
  166. package/lib/engine-components/Joints.js +19 -3
  167. package/lib/engine-components/Joints.js.map +1 -1
  168. package/lib/engine-components/Light.d.ts +6 -8
  169. package/lib/engine-components/Light.js +48 -27
  170. package/lib/engine-components/Light.js.map +1 -1
  171. package/lib/engine-components/Networking.d.ts +1 -1
  172. package/lib/engine-components/Networking.js +1 -1
  173. package/lib/engine-components/OrbitControls.d.ts +1 -2
  174. package/lib/engine-components/OrbitControls.js +37 -14
  175. package/lib/engine-components/OrbitControls.js.map +1 -1
  176. package/lib/engine-components/ReflectionProbe.js +2 -0
  177. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  178. package/lib/engine-components/RigidBody.d.ts +12 -4
  179. package/lib/engine-components/RigidBody.js +18 -4
  180. package/lib/engine-components/RigidBody.js.map +1 -1
  181. package/lib/engine-components/SceneSwitcher.js +3 -0
  182. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  183. package/lib/engine-components/SeeThrough.js +2 -2
  184. package/lib/engine-components/SeeThrough.js.map +1 -1
  185. package/lib/engine-components/VideoPlayer.d.ts +8 -2
  186. package/lib/engine-components/VideoPlayer.js +42 -19
  187. package/lib/engine-components/VideoPlayer.js.map +1 -1
  188. package/lib/engine-components/Voip.d.ts +16 -7
  189. package/lib/engine-components/Voip.js +90 -53
  190. package/lib/engine-components/Voip.js.map +1 -1
  191. package/lib/engine-components/api.d.ts +3 -1
  192. package/lib/engine-components/api.js +3 -1
  193. package/lib/engine-components/api.js.map +1 -1
  194. package/lib/engine-components/codegen/components.d.ts +7 -13
  195. package/lib/engine-components/codegen/components.js +7 -13
  196. package/lib/engine-components/codegen/components.js.map +1 -1
  197. package/lib/engine-components/export/usdz/USDZExporter.js +4 -4
  198. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  199. package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +1 -1
  200. package/lib/engine-components/postprocessing/VolumeParameter.d.ts +2 -0
  201. package/lib/engine-components/postprocessing/VolumeParameter.js +4 -1
  202. package/lib/engine-components/postprocessing/VolumeParameter.js.map +1 -1
  203. package/lib/engine-components/timeline/PlayableDirector.d.ts +21 -11
  204. package/lib/engine-components/timeline/PlayableDirector.js +75 -67
  205. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  206. package/lib/engine-components/timeline/SignalAsset.d.ts +3 -1
  207. package/lib/engine-components/timeline/SignalAsset.js +1 -0
  208. package/lib/engine-components/timeline/SignalAsset.js.map +1 -1
  209. package/lib/engine-components/timeline/TimelineBuilder.d.ts +413 -0
  210. package/lib/engine-components/timeline/TimelineBuilder.js +506 -0
  211. package/lib/engine-components/timeline/TimelineBuilder.js.map +1 -0
  212. package/lib/engine-components/timeline/TimelineModels.d.ts +2 -1
  213. package/lib/engine-components/timeline/TimelineModels.js +3 -0
  214. package/lib/engine-components/timeline/TimelineModels.js.map +1 -1
  215. package/lib/engine-components/timeline/TimelineTracks.d.ts +37 -6
  216. package/lib/engine-components/timeline/TimelineTracks.js +92 -26
  217. package/lib/engine-components/timeline/TimelineTracks.js.map +1 -1
  218. package/lib/engine-components/timeline/index.d.ts +2 -1
  219. package/lib/engine-components/timeline/index.js +2 -0
  220. package/lib/engine-components/timeline/index.js.map +1 -1
  221. package/lib/engine-components/ui/Canvas.d.ts +1 -1
  222. package/lib/engine-components/ui/Canvas.js +2 -8
  223. package/lib/engine-components/ui/Canvas.js.map +1 -1
  224. package/lib/engine-components/ui/Text.d.ts +1 -0
  225. package/lib/engine-components/ui/Text.js +10 -7
  226. package/lib/engine-components/ui/Text.js.map +1 -1
  227. package/lib/engine-components/web/CursorFollow.d.ts +0 -1
  228. package/lib/engine-components/web/CursorFollow.js +21 -13
  229. package/lib/engine-components/web/CursorFollow.js.map +1 -1
  230. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +62 -1
  231. package/lib/engine-components/webxr/WebXRImageTracking.js +59 -2
  232. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  233. package/lib/needle-engine.d.ts +2 -0
  234. package/lib/needle-engine.js +2 -0
  235. package/lib/needle-engine.js.map +1 -1
  236. package/package.json +4 -84
  237. package/plugins/common/cloud.js +6 -1
  238. package/plugins/common/license.js +55 -12
  239. package/plugins/common/worker.js +9 -4
  240. package/plugins/dts-generator/dts.codegen.js +255 -50
  241. package/plugins/dts-generator/dts.scan.js +37 -9
  242. package/plugins/dts-generator/dts.writer.js +1 -1
  243. package/plugins/dts-generator/glb.discovery.js +140 -23
  244. package/plugins/dts-generator/glb.extractor.js +48 -8
  245. package/plugins/dts-generator/glb.reader.js +80 -27
  246. package/plugins/dts-generator/index.js +1 -1
  247. package/plugins/types/needle-bindings.d.ts +25 -14
  248. package/plugins/types/userconfig.d.ts +16 -1
  249. package/plugins/vite/asap.js +18 -9
  250. package/plugins/vite/build-pipeline.js +57 -20
  251. package/plugins/vite/dependencies.js +29 -10
  252. package/plugins/vite/dependency-watcher.d.ts +2 -2
  253. package/plugins/vite/dependency-watcher.js +5 -6
  254. package/plugins/vite/drop.d.ts +2 -2
  255. package/plugins/vite/drop.js +3 -4
  256. package/plugins/vite/dts-generator.d.ts +2 -2
  257. package/plugins/vite/dts-generator.js +43 -9
  258. package/plugins/vite/editor-connection.js +3 -3
  259. package/plugins/vite/index.d.ts +9 -3
  260. package/plugins/vite/index.js +23 -10
  261. package/plugins/vite/license.js +42 -7
  262. package/plugins/vite/local-files-core.js +3 -3
  263. package/plugins/vite/local-files-utils.d.ts +3 -1
  264. package/plugins/vite/local-files-utils.js +29 -5
  265. package/plugins/vite/meta.js +4 -2
  266. package/plugins/vite/poster.d.ts +2 -2
  267. package/plugins/vite/poster.js +3 -5
  268. package/plugins/vite/reload.d.ts +2 -2
  269. package/plugins/vite/reload.js +23 -23
  270. package/plugins/vite/server.js +2 -1
  271. package/src/engine/api.ts +12 -2
  272. package/src/engine/codegen/register_types.ts +10 -18
  273. package/src/engine/debug/debug_spatial_console.ts +10 -7
  274. package/src/engine/engine_addressables.ts +6 -3
  275. package/src/engine/engine_audio.ts +184 -0
  276. package/src/engine/engine_camera.fit.ts +15 -4
  277. package/src/engine/engine_components.ts +1 -1
  278. package/src/engine/engine_context.ts +85 -38
  279. package/src/engine/engine_context_eventbus.ts +73 -0
  280. package/src/engine/engine_disposable.ts +214 -0
  281. package/src/engine/engine_gameobject.ts +54 -159
  282. package/src/engine/engine_gltf_builtin_components.ts +7 -76
  283. package/src/engine/engine_init.ts +15 -1
  284. package/src/engine/engine_input.ts +28 -7
  285. package/src/engine/engine_instantiate_resolve.ts +407 -0
  286. package/src/engine/engine_license.ts +209 -61
  287. package/src/engine/engine_lifecycle_functions_internal.ts +7 -0
  288. package/src/engine/engine_mainloop_utils.ts +7 -4
  289. package/src/engine/engine_networking.transport.websocket.ts +45 -0
  290. package/src/engine/engine_networking.ts +161 -137
  291. package/src/engine/engine_networking_blob.ts +4 -4
  292. package/src/engine/engine_networking_instantiate.ts +2 -2
  293. package/src/engine/engine_networking_types.ts +41 -1
  294. package/src/engine/engine_physics_rapier.ts +102 -33
  295. package/src/engine/engine_pmrem.ts +56 -6
  296. package/src/engine/engine_scenedata.ts +56 -30
  297. package/src/engine/engine_serialization_builtin_serializer.ts +64 -52
  298. package/src/engine/engine_serialization_core.ts +9 -0
  299. package/src/engine/engine_ssr.ts +29 -3
  300. package/src/engine/engine_types.ts +48 -27
  301. package/src/engine/engine_util_decorator.ts +7 -2
  302. package/src/engine/engine_utils.ts +16 -5
  303. package/src/engine/engine_utils_format.ts +20 -14
  304. package/src/engine/engine_utils_qrcode.ts +2 -2
  305. package/src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +1 -1
  306. package/src/engine/webcomponents/jsx.d.ts +51 -0
  307. package/src/engine/webcomponents/logo-element.ts +1 -0
  308. package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
  309. package/src/engine/webcomponents/needle menu/needle-menu.ts +8 -7
  310. package/src/engine/webcomponents/needle-button.ts +1 -0
  311. package/src/engine/webcomponents/needle-engine.loading.ts +6 -6
  312. package/src/engine/webcomponents/needle-engine.ts +13 -6
  313. package/src/engine/xr/NeedleXRSession.ts +48 -13
  314. package/src/engine/xr/TempXRContext.ts +2 -2
  315. package/src/engine/xr/events.ts +1 -1
  316. package/src/engine-components/Animation.ts +19 -16
  317. package/src/engine-components/AnimationBuilder.ts +472 -0
  318. package/src/engine-components/Animator.ts +24 -12
  319. package/src/engine-components/AnimatorController.builder.ts +387 -0
  320. package/src/engine-components/AnimatorController.ts +24 -292
  321. package/src/engine-components/AudioSource.ts +130 -79
  322. package/src/engine-components/Camera.ts +16 -3
  323. package/src/engine-components/CameraUtils.ts +12 -5
  324. package/src/engine-components/Collider.ts +66 -18
  325. package/src/engine-components/Component.ts +118 -20
  326. package/src/engine-components/ContactShadows.ts +15 -1
  327. package/src/engine-components/DragControls.ts +18 -11
  328. package/src/engine-components/DropListener.ts +4 -0
  329. package/src/engine-components/EventList.ts +45 -83
  330. package/src/engine-components/Joints.ts +20 -4
  331. package/src/engine-components/Light.ts +49 -27
  332. package/src/engine-components/Networking.ts +1 -1
  333. package/src/engine-components/OrbitControls.ts +42 -16
  334. package/src/engine-components/ReflectionProbe.ts +2 -0
  335. package/src/engine-components/RigidBody.ts +18 -4
  336. package/src/engine-components/SceneSwitcher.ts +3 -0
  337. package/src/engine-components/SeeThrough.ts +2 -2
  338. package/src/engine-components/VideoPlayer.ts +40 -17
  339. package/src/engine-components/Voip.ts +88 -53
  340. package/src/engine-components/api.ts +3 -1
  341. package/src/engine-components/codegen/components.ts +7 -13
  342. package/src/engine-components/export/usdz/USDZExporter.ts +4 -4
  343. package/src/engine-components/postprocessing/VolumeParameter.ts +4 -1
  344. package/src/engine-components/timeline/PlayableDirector.ts +83 -81
  345. package/src/engine-components/timeline/SignalAsset.ts +4 -1
  346. package/src/engine-components/timeline/TimelineBuilder.ts +824 -0
  347. package/src/engine-components/timeline/TimelineModels.ts +5 -1
  348. package/src/engine-components/timeline/TimelineTracks.ts +96 -27
  349. package/src/engine-components/timeline/index.ts +2 -1
  350. package/src/engine-components/ui/Canvas.ts +2 -8
  351. package/src/engine-components/ui/Text.ts +12 -8
  352. package/src/engine-components/web/CursorFollow.ts +21 -14
  353. package/src/engine-components/webxr/WebXRImageTracking.ts +79 -7
  354. package/src/needle-engine.ts +3 -0
  355. package/dist/needle-engine.bundle-Dq0Ly8fW.umd.cjs +0 -1732
  356. package/dist/needle-engine.bundle-YnpzzOPL.min.js +0 -1732
  357. package/lib/engine-components/AvatarLoader.d.ts +0 -80
  358. package/lib/engine-components/AvatarLoader.js +0 -232
  359. package/lib/engine-components/AvatarLoader.js.map +0 -1
  360. package/lib/engine-components/avatar/AvatarBlink_Simple.d.ts +0 -11
  361. package/lib/engine-components/avatar/AvatarBlink_Simple.js +0 -77
  362. package/lib/engine-components/avatar/AvatarBlink_Simple.js.map +0 -1
  363. package/lib/engine-components/avatar/AvatarEyeLook_Rotation.d.ts +0 -14
  364. package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js +0 -69
  365. package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js.map +0 -1
  366. package/lib/engine-components/avatar/Avatar_Brain_LookAt.d.ts +0 -29
  367. package/lib/engine-components/avatar/Avatar_Brain_LookAt.js +0 -122
  368. package/lib/engine-components/avatar/Avatar_Brain_LookAt.js.map +0 -1
  369. package/lib/engine-components/avatar/Avatar_MouthShapes.d.ts +0 -15
  370. package/lib/engine-components/avatar/Avatar_MouthShapes.js +0 -80
  371. package/lib/engine-components/avatar/Avatar_MouthShapes.js.map +0 -1
  372. package/lib/engine-components/avatar/Avatar_MustacheShake.d.ts +0 -9
  373. package/lib/engine-components/avatar/Avatar_MustacheShake.js +0 -30
  374. package/lib/engine-components/avatar/Avatar_MustacheShake.js.map +0 -1
  375. package/src/engine-components/AvatarLoader.ts +0 -264
  376. package/src/engine-components/avatar/AvatarBlink_Simple.ts +0 -70
  377. package/src/engine-components/avatar/AvatarEyeLook_Rotation.ts +0 -64
  378. package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +0 -140
  379. package/src/engine-components/avatar/Avatar_MouthShapes.ts +0 -84
  380. package/src/engine-components/avatar/Avatar_MustacheShake.ts +0 -32
  381. package/src/vite-env.d.ts +0 -16
@@ -20,4 +20,176 @@ export function ensureAudioContextIsResumed() {
20
20
  });
21
21
  });
22
22
  }
23
+ /**
24
+ * Represents an audio clip that can be loaded and played independently.
25
+ * The AudioClip class encapsulates the URL of the audio resource and provides
26
+ * methods for playback control (play, pause, stop) and querying duration.
27
+ */
28
+ export class AudioClip {
29
+ url;
30
+ /**
31
+ * Creates a new AudioClip instance with the specified URL.
32
+ * @param url The URL of the audio resource to load. This can be a path to an audio file or a MediaStream URL.
33
+ */
34
+ constructor(url) {
35
+ this.url = url;
36
+ }
37
+ /** Whether the clip is currently playing.
38
+ * @returns `true` if the clip is actively playing audio.
39
+ */
40
+ get isPlaying() {
41
+ return this._audioElement !== undefined
42
+ && !this._audioElement.paused
43
+ && !this._audioElement.ended;
44
+ }
45
+ /**
46
+ * The total duration of the audio clip in seconds.
47
+ * Loads the audio metadata if not already available.
48
+ * @returns A promise that resolves with the duration in seconds.
49
+ */
50
+ getDuration() {
51
+ if (this._duration !== undefined) {
52
+ return Promise.resolve(this._duration);
53
+ }
54
+ return this.ensureAudioElement().then(audio => {
55
+ this._duration = audio.duration;
56
+ return audio.duration;
57
+ });
58
+ }
59
+ /**
60
+ * Plays the audio clip from the current position.
61
+ * @returns A promise that resolves when playback finishes, or rejects on error.
62
+ * If the clip is looping, the promise will never resolve on its own – call {@link stop} or {@link pause} to end playback.
63
+ */
64
+ // #region Play
65
+ play() {
66
+ return this.ensureAudioElement().then(audio => {
67
+ return new Promise((resolve, reject) => {
68
+ const onEnded = () => {
69
+ cleanup();
70
+ resolve();
71
+ };
72
+ const onError = () => {
73
+ cleanup();
74
+ reject(new Error(`Playback error for ${this.url}`));
75
+ };
76
+ const onPause = () => {
77
+ // pause/stop also resolve the promise
78
+ cleanup();
79
+ resolve();
80
+ };
81
+ const cleanup = () => {
82
+ audio.removeEventListener("ended", onEnded);
83
+ audio.removeEventListener("error", onError);
84
+ audio.removeEventListener("pause", onPause);
85
+ };
86
+ audio.addEventListener("ended", onEnded);
87
+ audio.addEventListener("error", onError);
88
+ audio.addEventListener("pause", onPause);
89
+ audio.play().catch(err => {
90
+ cleanup();
91
+ reject(err);
92
+ });
93
+ });
94
+ });
95
+ }
96
+ /**
97
+ * Pauses playback at the current position.
98
+ * Call {@link play} to resume.
99
+ */
100
+ // #region Pause/Stop
101
+ pause() {
102
+ this._audioElement?.pause();
103
+ }
104
+ /**
105
+ * Stops playback and resets the position to the beginning.
106
+ */
107
+ stop() {
108
+ if (this._audioElement) {
109
+ this._audioElement.pause();
110
+ this._audioElement.currentTime = 0;
111
+ }
112
+ }
113
+ /** Whether the clip should loop when reaching the end. */
114
+ get loop() { return this._loop; }
115
+ set loop(value) {
116
+ this._loop = value;
117
+ if (this._audioElement)
118
+ this._audioElement.loop = value;
119
+ }
120
+ /** Playback volume from 0 (silent) to 1 (full). */
121
+ get volume() { return this._volume; }
122
+ set volume(value) {
123
+ this._volume = value;
124
+ if (this._audioElement)
125
+ this._audioElement.volume = value;
126
+ }
127
+ /** Current playback position in seconds. */
128
+ get currentTime() { return this._audioElement?.currentTime ?? 0; }
129
+ set currentTime(value) {
130
+ if (this._audioElement)
131
+ this._audioElement.currentTime = value;
132
+ }
133
+ /** Normalized playback progress from 0 to 1.
134
+ * @returns The current playback position as a value between 0 and 1, or 0 if the duration is unknown.
135
+ */
136
+ get progress() {
137
+ if (!this._audioElement || !this._duration)
138
+ return 0;
139
+ return this._audioElement.currentTime / this._duration;
140
+ }
141
+ /**
142
+ * Seeks to a normalized position (0–1) in the clip.
143
+ * @param position A value between 0 (start) and 1 (end).
144
+ */
145
+ // #region Seek
146
+ seek(position) {
147
+ if (this._audioElement && this._duration) {
148
+ this._audioElement.currentTime = Math.max(0, Math.min(1, position)) * this._duration;
149
+ }
150
+ }
151
+ /** The underlying HTMLAudioElement, or `undefined` if not yet created.
152
+ * Use this to connect the element to the Web Audio API via `createMediaElementSource()`.
153
+ * @returns The HTMLAudioElement if the clip has been loaded or played, otherwise `undefined`.
154
+ */
155
+ get audioElement() { return this._audioElement; }
156
+ _audioElement;
157
+ _duration;
158
+ _loadPromise;
159
+ _loop = false;
160
+ _volume = 1;
161
+ /** Lazily creates and loads the shared HTMLAudioElement. */
162
+ ensureAudioElement() {
163
+ if (this._audioElement && this._loadPromise) {
164
+ return this._loadPromise;
165
+ }
166
+ const audio = this._audioElement ?? new Audio(this.url);
167
+ this._audioElement = audio;
168
+ audio.loop = this._loop;
169
+ audio.volume = this._volume;
170
+ if (audio.readyState >= HTMLMediaElement.HAVE_METADATA) {
171
+ this._duration = audio.duration;
172
+ this._loadPromise = Promise.resolve(audio);
173
+ return this._loadPromise;
174
+ }
175
+ this._loadPromise = new Promise((resolve, reject) => {
176
+ const onLoaded = () => {
177
+ cleanup();
178
+ this._duration = audio.duration;
179
+ resolve(audio);
180
+ };
181
+ const onError = (e) => {
182
+ cleanup();
183
+ reject(new Error(`Failed to load audio clip from ${this.url}: ${e}`));
184
+ };
185
+ const cleanup = () => {
186
+ audio.removeEventListener("loadedmetadata", onLoaded);
187
+ audio.removeEventListener("error", onError);
188
+ };
189
+ audio.addEventListener("loadedmetadata", onLoaded);
190
+ audio.addEventListener("error", onError);
191
+ });
192
+ return this._loadPromise;
193
+ }
194
+ }
23
195
  //# sourceMappingURL=engine_audio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine_audio.js","sourceRoot":"","sources":["../../src/engine/engine_audio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD;;6EAE6E;AAC7E,MAAM,UAAU,2BAA2B;IACvC,WAAW,CAAC,0BAA0B,CAAC,GAAG,EAAE;QACxC,8GAA8G;QAC9G,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;QACtC,GAAG,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE;YACrC,UAAU,CAAC,GAAG,EAAE;gBACZ,qKAAqK;gBACrK,MAAM,KAAK,GAAG,GAAG,CAAC,KAA0C,CAAC;gBAC7D,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;oBACnD,GAAG,CAAC,MAAM,EAAE;yBACP,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC,CAAC,CAAC;yBACjE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,iCAAiC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/E,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"engine_audio.js","sourceRoot":"","sources":["../../src/engine/engine_audio.ts"],"names":[],"mappings":"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"}
@@ -146,12 +146,24 @@ export function fitCamera(options) {
146
146
  else {
147
147
  direction.sub(camera.worldPosition);
148
148
  }
149
- if (centerCamera === "y")
150
- direction.y = 0;
149
+ if (centerCamera === "y") {
150
+ // Preserve the camera's current elevation angle when it's already above the center,
151
+ // but clamp to a minimum elevation to prevent the camera from ending up at or below
152
+ // the scene center (which causes a "looking up from below" effect).
153
+ // direction points FROM camera TO center, so negative Y = camera is above center.
154
+ const horizontalLen = Math.sqrt(direction.x * direction.x + direction.z * direction.z);
155
+ if (horizontalLen > 0.0001) {
156
+ const minY = -horizontalLen * verticalOffset * 4;
157
+ if (direction.y > minY)
158
+ direction.y = minY;
159
+ }
160
+ else {
161
+ // Camera is directly above/below center — pick a default slight angle from +Z
162
+ direction.set(0, -verticalOffset * 4, 1);
163
+ }
164
+ }
151
165
  direction.normalize();
152
166
  direction.multiplyScalar(distance);
153
- if (centerCamera === "y")
154
- direction.y += -verticalOffset * 4 * distance;
155
167
  let cameraLocalPosition = center.clone().sub(direction);
156
168
  if (options.cameraOffset) {
157
169
  if (options.cameraOffset.x !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"engine_camera.fit.js","sourceRoot":"","sources":["../../src/engine/engine_camera.fit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_camera.fit.js","sourceRoot":"","sources":["../../src/engine/engine_camera.fit.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,9 @@ import { removeScriptFromContext, updateActiveInHierarchyWithoutEventCall } from
5
5
  import { InstantiateIdProvider } from "./engine_networking_instantiate.js";
6
6
  import { Context, registerComponent } from "./engine_setup.js";
7
7
  import { $componentName } from "./engine_types.js";
8
+ import { TypeStore } from "./engine_typestore.js";
8
9
  import { getParam } from "./engine_utils.js";
9
10
  import { apply } from "./js-extensions/index.js";
10
- import { TypeStore } from "./engine_typestore.js";
11
11
  const COMPONENT_GUID_NAMESPACE = 'eff8ba80-635d-11ec-90d6-0242ac120003';
12
12
  /**
13
13
  * Generates a deterministic guid for a component based on the object's guid and the component type.
@@ -1 +1 @@
1
- {"version":3,"file":"engine_components.js","sourceRoot":"","sources":["../../src/engine/engine_components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_components.js","sourceRoot":"","sources":["../../src/engine/engine_components.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import 'three/examples/jsm/renderers/webgl-legacy/nodes/WebGLNodes.js';
2
+ import type { SceneData } from 'needle-bindings';
2
3
  import type { EffectComposer } from "postprocessing";
3
4
  import { BufferGeometry, Camera, DepthTexture, Group, Material, Object3D, OrthographicCamera, PerspectiveCamera, Scene, Texture, WebGLRenderer, type WebGLRendererParameters, type WebXRArrayCamera } from 'three';
4
5
  import type { EffectComposer as ThreeEffectComposer } from "three/examples/jsm/postprocessing/EffectComposer.js";
@@ -8,6 +9,7 @@ import { AnimationsRegistry } from './engine_animation.js';
8
9
  import { Application } from './engine_application.js';
9
10
  import { AssetDatabase } from './engine_assetdatabase.js';
10
11
  import { FocusRect, FocusRectSettings } from './engine_camera.js';
12
+ import { EventBus } from './engine_context_eventbus.js';
11
13
  import { Input } from './engine_input.js';
12
14
  import { type ILightDataRegistry } from './engine_lightdata.js';
13
15
  import { LODsManager } from "./engine_lods.js";
@@ -15,7 +17,6 @@ import { NetworkConnection } from './engine_networking.js';
15
17
  import { Physics } from './engine_physics.js';
16
18
  import { PlayerViewManager } from './engine_playerview.js';
17
19
  import { RendererData as SceneLighting } from './engine_scenelighting.js';
18
- import type { SceneData } from 'needle:bindings';
19
20
  import { Time } from './engine_time.js';
20
21
  import type { CoroutineData, ICamera, IComponent, IContext, ILight, Model, SourceIdentifier, Vec2 } from "./engine_types.js";
21
22
  import type { INeedleXRSessionEventReceiver, NeedleXRSession } from './engine_xr.js';
@@ -332,13 +333,14 @@ export declare class Context implements IContext {
332
333
  * Use `setCurrentCamera` for updating the main camera.
333
334
  */
334
335
  /**
335
- * Typed proxy providing direct access to scene components by node and component name.
336
- * Types are auto-generated from your GLB assets by the `needle:dts-generator` Vite plugin
337
- * and written to `src/generated/needle-bindings.d.ts` on every dev-server start and GLB change.
336
+ * Access your scene's full hierarchy, objects, and components directly by name with full autocomplete.
337
+ * Types are generated automatically from your GLB files when the dev server starts.
338
338
  *
339
- * Each property access traverses the live scene graph on demand — no caching, always fresh.
340
- * This is a convenience shorthand for `getComponent` lookups; the same result can be
341
- * achieved manually via `scene.getObjectByName(name)` + `getComponent(node, Type)`.
339
+ * You can store references to objects or components for later use.
340
+ * Note that the scene hierarchy can change at runtime (e.g. when objects are added, removed, or re-parented),
341
+ * in which case stored references may become stale.
342
+ *
343
+ * @experimental This API may change in future versions.
342
344
  *
343
345
  * @example
344
346
  * // Toggle auto-rotate on the orbit camera
@@ -347,12 +349,6 @@ export declare class Context implements IContext {
347
349
  * @example
348
350
  * // Change the background color
349
351
  * ctx.sceneData.Camera.Camera.backgroundColor = new RGBAColor(1, 0, 0, 1);
350
- *
351
- * @example
352
- * // Equivalent manual approach (without sceneData)
353
- * const node = ctx.scene.getObjectByName("Camera");
354
- * const orbit = getComponent(node, OrbitControls);
355
- * if (orbit) orbit.autoRotate = true;
356
352
  */
357
353
  get sceneData(): SceneData;
358
354
  get mainCamera(): Camera;
@@ -361,30 +357,48 @@ export declare class Context implements IContext {
361
357
  private _mainCamera;
362
358
  private _fallbackCamera;
363
359
  /** access application state (e.g. if all audio should be muted) */
364
- application: Application;
360
+ get application(): Application;
361
+ private _application;
365
362
  /** access animation mixer used by components in the scene */
366
- animations: AnimationsRegistry;
363
+ get animations(): AnimationsRegistry;
364
+ private _animations;
367
365
  /** access timings (current frame number, deltaTime, timeScale, ...) */
368
- time: Time;
366
+ get time(): Time;
367
+ private _time;
369
368
  /** access input data (e.g. click or touch events) */
370
- input: Input;
369
+ get input(): Input;
370
+ private _input;
371
371
  /** access physics related methods (e.g. raycasting). To access the phyiscs engine use `context.physics.engine` */
372
- physics: Physics;
372
+ get physics(): Physics;
373
+ private _physics;
373
374
  /** access postprocessing effects stack. Add/remove effects and configure adaptive performance settings */
374
- postprocessing: PostProcessing;
375
+ get postprocessing(): PostProcessing;
376
+ private _postprocessing;
375
377
  /** access networking methods (use it to send or listen to messages or join a networking backend) */
376
- connection: NetworkConnection;
378
+ get connection(): NetworkConnection;
379
+ private _connection;
380
+ /** context-level event bus for decoupled component communication
381
+ * @see {@link ContextEventMap} for known event types
382
+ */
383
+ get events(): EventBus;
384
+ private _events;
377
385
  /** @deprecated AssetDatabase is deprecated */
378
386
  assets: AssetDatabase;
379
- /** The main light in the scene */
380
- mainLight: ILight | null;
387
+ /** All registered lights in the scene, maintained by the Light component.
388
+ * @see mainLight for accessing the main directional light in the scene
389
+ */
390
+ readonly lights: ILight[];
391
+ /** The brightest registered directional light, or null if none are registered
392
+ * @see lights
393
+ */
394
+ get mainLight(): ILight | null;
381
395
  /** @deprecated Use sceneLighting */
382
- get rendererData(): SceneLighting;
396
+ private get rendererData();
383
397
  /** Access the scene lighting manager to control lighting settings in the context */
384
- sceneLighting: SceneLighting;
385
- addressables: Addressables;
386
- lightmaps: ILightDataRegistry;
387
- players: PlayerViewManager;
398
+ readonly sceneLighting: SceneLighting;
399
+ readonly addressables: Addressables;
400
+ readonly lightmaps: ILightDataRegistry;
401
+ readonly players: PlayerViewManager;
388
402
  /** Access the LODs manager to control LOD behavior in the context */
389
403
  readonly lodsManager: LODsManager;
390
404
  /** Access the needle menu to add or remove buttons to the menu element */
@@ -13,6 +13,7 @@ import { Application } from './engine_application.js';
13
13
  import { AssetDatabase } from './engine_assetdatabase.js';
14
14
  import { updateCameraFocusRect } from './engine_camera.js';
15
15
  import { VERSION } from './engine_constants.js';
16
+ import { EventBus } from './engine_context_eventbus.js';
16
17
  import { ContextEvent, ContextRegistry } from './engine_context_registry.js';
17
18
  import { WaitForPromise } from './engine_coroutine.js';
18
19
  import { ObjectUtils } from "./engine_create_objects.js";
@@ -27,8 +28,8 @@ import * as looputils from './engine_mainloop_utils.js';
27
28
  import { NetworkConnection } from './engine_networking.js';
28
29
  import { Physics } from './engine_physics.js';
29
30
  import { PlayerViewManager } from './engine_playerview.js';
30
- import { RendererData as SceneLighting } from './engine_scenelighting.js';
31
31
  import { getSceneData } from './engine_scenedata.js';
32
+ import { RendererData as SceneLighting } from './engine_scenelighting.js';
32
33
  import { logHierarchy } from './engine_three_utils.js';
33
34
  import { Time } from './engine_time.js';
34
35
  import { patchTonemapping } from './engine_tonemapping.js';
@@ -420,13 +421,14 @@ export class Context {
420
421
  * Use `setCurrentCamera` for updating the main camera.
421
422
  */
422
423
  /**
423
- * Typed proxy providing direct access to scene components by node and component name.
424
- * Types are auto-generated from your GLB assets by the `needle:dts-generator` Vite plugin
425
- * and written to `src/generated/needle-bindings.d.ts` on every dev-server start and GLB change.
424
+ * Access your scene's full hierarchy, objects, and components directly by name with full autocomplete.
425
+ * Types are generated automatically from your GLB files when the dev server starts.
426
+ *
427
+ * You can store references to objects or components for later use.
428
+ * Note that the scene hierarchy can change at runtime (e.g. when objects are added, removed, or re-parented),
429
+ * in which case stored references may become stale.
426
430
  *
427
- * Each property access traverses the live scene graph on demand — no caching, always fresh.
428
- * This is a convenience shorthand for `getComponent` lookups; the same result can be
429
- * achieved manually via `scene.getObjectByName(name)` + `getComponent(node, Type)`.
431
+ * @experimental This API may change in future versions.
430
432
  *
431
433
  * @example
432
434
  * // Toggle auto-rotate on the orbit camera
@@ -435,12 +437,6 @@ export class Context {
435
437
  * @example
436
438
  * // Change the background color
437
439
  * ctx.sceneData.Camera.Camera.backgroundColor = new RGBAColor(1, 0, 0, 1);
438
- *
439
- * @example
440
- * // Equivalent manual approach (without sceneData)
441
- * const node = ctx.scene.getObjectByName("Camera");
442
- * const orbit = getComponent(node, OrbitControls);
443
- * if (orbit) orbit.autoRotate = true;
444
440
  */
445
441
  get sceneData() {
446
442
  return getSceneData(this);
@@ -457,6 +453,13 @@ export class Context {
457
453
  }
458
454
  if (!this._fallbackCamera) {
459
455
  this._fallbackCamera = new PerspectiveCamera(75, this.domWidth / this.domHeight, 0.1, 1000);
456
+ // Put the fallback into the scene graph. Without this, callers who
457
+ // do `ctx.mainCamera.add(child)` end up parenting children to an
458
+ // orphan camera that the renderer never traverses (since
459
+ // `renderer.render(scene, camera)` walks `scene`, not `camera`).
460
+ // Safe because this branch only runs before a real main camera
461
+ // component exists, and the fallback is replaced once one does.
462
+ this.scene.add(this._fallbackCamera);
460
463
  }
461
464
  return this._fallbackCamera;
462
465
  }
@@ -467,23 +470,50 @@ export class Context {
467
470
  _mainCamera = null;
468
471
  _fallbackCamera = null;
469
472
  /** access application state (e.g. if all audio should be muted) */
470
- application;
473
+ get application() { return this._application; }
474
+ _application;
471
475
  /** access animation mixer used by components in the scene */
472
- animations;
476
+ get animations() { return this._animations; }
477
+ _animations;
473
478
  /** access timings (current frame number, deltaTime, timeScale, ...) */
474
- time;
479
+ get time() { return this._time; }
480
+ _time;
475
481
  /** access input data (e.g. click or touch events) */
476
- input;
482
+ get input() { return this._input; }
483
+ _input;
477
484
  /** access physics related methods (e.g. raycasting). To access the phyiscs engine use `context.physics.engine` */
478
- physics;
485
+ get physics() { return this._physics; }
486
+ _physics;
479
487
  /** access postprocessing effects stack. Add/remove effects and configure adaptive performance settings */
480
- postprocessing;
488
+ get postprocessing() { return this._postprocessing; }
489
+ _postprocessing;
481
490
  /** access networking methods (use it to send or listen to messages or join a networking backend) */
482
- connection;
491
+ get connection() { return this._connection; }
492
+ _connection;
493
+ /** context-level event bus for decoupled component communication
494
+ * @see {@link ContextEventMap} for known event types
495
+ */
496
+ get events() { return this._events; }
497
+ _events = new EventBus();
483
498
  /** @deprecated AssetDatabase is deprecated */
484
499
  assets;
485
- /** The main light in the scene */
486
- mainLight = null;
500
+ /** All registered lights in the scene, maintained by the Light component.
501
+ * @see mainLight for accessing the main directional light in the scene
502
+ */
503
+ lights = new Array();
504
+ /** The brightest registered directional light, or null if none are registered
505
+ * @see lights
506
+ */
507
+ get mainLight() {
508
+ let best = null;
509
+ for (const light of this.lights) {
510
+ if (light.type !== "directional")
511
+ continue;
512
+ if (!best || light.intensity > best.intensity)
513
+ best = light;
514
+ }
515
+ return best;
516
+ }
487
517
  /** @deprecated Use sceneLighting */
488
518
  get rendererData() { return this.sceneLighting; }
489
519
  /** Access the scene lighting manager to control lighting settings in the context */
@@ -529,12 +559,12 @@ export class Context {
529
559
  this.scene = new Scene();
530
560
  if (args?.camera)
531
561
  this._mainCamera = args.camera;
532
- this.application = new Application(this);
533
- this.time = new Time();
534
- this.input = new Input(this);
535
- this.physics = new Physics(this);
536
- this.postprocessing = new PostProcessing(this);
537
- this.connection = new NetworkConnection(this);
562
+ this._application = new Application(this);
563
+ this._time = new Time();
564
+ this._input = new Input(this);
565
+ this._physics = new Physics(this);
566
+ this._postprocessing = new PostProcessing(this);
567
+ this._connection = new NetworkConnection(this);
538
568
  // eslint-disable-next-line @typescript-eslint/no-deprecated
539
569
  this.assets = new AssetDatabase();
540
570
  this.sceneLighting = new SceneLighting(this);
@@ -543,7 +573,7 @@ export class Context {
543
573
  this.players = new PlayerViewManager(this);
544
574
  this.menu = new NeedleMenu(this);
545
575
  this.lodsManager = new LODsManager(this);
546
- this.animations = new AnimationsRegistry(this);
576
+ this._animations = new AnimationsRegistry(this);
547
577
  this.accessibility = new AccessibilityManager(this);
548
578
  const resizeCallback = () => this._needsUpdateSize = true;
549
579
  window.addEventListener('resize', resizeCallback);
@@ -756,11 +786,14 @@ export class Context {
756
786
  this.scene = new Scene();
757
787
  this.addressables?.dispose();
758
788
  this.lightmaps?.clear();
759
- this.physics?.engine?.clearCaches();
789
+ this.physics?.engine?.dispose();
760
790
  this.lodsManager.disable();
761
791
  this.accessibility?.clear();
762
792
  this._onBeforeRenderListeners.clear();
763
793
  this._onAfterRenderListeners.clear();
794
+ this._events.clear();
795
+ this._events = new EventBus();
796
+ this.lights.length = 0;
764
797
  if (!this.isManagedExternally) {
765
798
  if (this.renderer) {
766
799
  this.renderer.renderLists.dispose();
@@ -799,6 +832,7 @@ export class Context {
799
832
  this.scene = null;
800
833
  this.renderer = null;
801
834
  this.input.dispose();
835
+ this.connection.dispose();
802
836
  this.menu.onDestroy();
803
837
  this.animations.onDestroy();
804
838
  for (const cb of this._disposeCallbacks) {
@@ -1615,12 +1649,19 @@ export class Context {
1615
1649
  const usedJSHeapSize = window.performance && window.performance.memory
1616
1650
  ? (`${(window.performance.memory.usedJSHeapSize / 1024 / 1024).toFixed(2)} MB`)
1617
1651
  : "n/a";
1652
+ const gl = this.renderer.getContext();
1618
1653
  console.log(this.renderer.info.render.calls + " DrawCalls", "\nRender:", {
1619
1654
  shaders: this.renderer.info.programs?.length,
1620
1655
  ...this.renderer.info.render,
1621
1656
  }, "\nMemory:", {
1622
1657
  usedMemory: usedJSHeapSize,
1623
1658
  ...this.renderer.info.memory
1659
+ }, "\nRenderer:", {
1660
+ dpr: this.renderer.getPixelRatio(),
1661
+ windowDpr: window.devicePixelRatio,
1662
+ antialias: gl.getContextAttributes()?.antialias,
1663
+ samples: gl.getParameter(gl.SAMPLES),
1664
+ resolution: `${this.renderer.domElement.width}x${this.renderer.domElement.height}`,
1624
1665
  }, "\nTarget Framerate: " + this.targetFrameRate);
1625
1666
  }
1626
1667
  }