@needle-tools/engine 4.11.5-next.a900688 → 4.11.5-next.b35161f

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 (436) hide show
  1. package/components.needle.json +1 -1
  2. package/custom-elements.json +364 -0
  3. package/dist/generateMeshBVH.worker-mO20N_b8.js +21 -0
  4. package/dist/{gltf-progressive-GwdQV1Qx.umd.cjs → gltf-progressive-DWcmTMCh.umd.cjs} +1 -1
  5. package/dist/{gltf-progressive-CftVUJy3.min.js → gltf-progressive-DZrY8VT6.min.js} +2 -2
  6. package/dist/{gltf-progressive-BvlZQAkt.js → gltf-progressive-DgYz5BYa.js} +19 -19
  7. package/dist/loader.worker-Dip-PthR.js +23 -0
  8. package/dist/{needle-engine.bundle-vPWPv18K.min.js → needle-engine.bundle-BsJvSPgy.min.js} +129 -134
  9. package/dist/{needle-engine.bundle-Bwinyjsh.js → needle-engine.bundle-CjTSG0lx.js} +3537 -3462
  10. package/dist/{needle-engine.bundle-Dsfd8BPk.umd.cjs → needle-engine.bundle-Xc_PaDid.umd.cjs} +131 -136
  11. package/dist/needle-engine.d.ts +18189 -1
  12. package/dist/needle-engine.js +336 -335
  13. package/dist/needle-engine.min.js +1 -1
  14. package/dist/needle-engine.umd.cjs +1 -1
  15. package/dist/{postprocessing-CJC0Npcd.js → postprocessing-BTW9pD_s.js} +1822 -1723
  16. package/dist/{postprocessing-DrM4PWU3.umd.cjs → postprocessing-CMgoN5t5.umd.cjs} +229 -158
  17. package/dist/{postprocessing-l7zsdO_Q.min.js → postprocessing-DYDtB188.min.js} +227 -156
  18. package/dist/rapier-B3oL1ap-.js +5217 -0
  19. package/dist/rapier-DJ-luMxr.min.js +1 -0
  20. package/dist/rapier-DQltNJbN.umd.cjs +1 -0
  21. package/dist/{three-BDW9I486.min.js → three-B7CT31Bt.min.js} +1 -5
  22. package/dist/{three-MHVqtJYj.js → three-DfMvBzXi.js} +0 -5
  23. package/dist/{three-examples-CgwGHSgz.umd.cjs → three-examples-CsW4_6LI.umd.cjs} +2 -7
  24. package/dist/{three-examples-fvEPSC8L.min.js → three-examples-D1P7eEhn.min.js} +2 -7
  25. package/dist/{three-examples-C5Ht-QFN.js → three-examples-D1SK93ek.js} +1 -7
  26. package/dist/{three-mesh-ui-BjWTTk1R.js → three-mesh-ui-C_uSB5dD.js} +1 -1
  27. package/dist/{three-mesh-ui-Bm32sS2a.umd.cjs → three-mesh-ui-DpATDXwU.umd.cjs} +1 -1
  28. package/dist/{three-mesh-ui-CLdkp21K.min.js → three-mesh-ui-LQ44s0AL.min.js} +1 -1
  29. package/dist/{three-iFaDq9U3.umd.cjs → three-qj71I7J3.umd.cjs} +2 -6
  30. package/dist/{vendor-CsyK1CFs.min.js → vendor-BKGa4GE0.min.js} +34 -39
  31. package/dist/{vendor-petGQl0N.js → vendor-D0zoswDa.js} +1626 -1605
  32. package/dist/{vendor-6kAXU6fm.umd.cjs → vendor-UCpFAwt1.umd.cjs} +30 -35
  33. package/lib/engine/debug/debug_spector.d.ts +16 -0
  34. package/lib/engine/debug/debug_spector.js +28 -0
  35. package/lib/engine/debug/debug_spector.js.map +1 -0
  36. package/lib/engine/engine_application.d.ts +7 -0
  37. package/lib/engine/engine_application.js +8 -1
  38. package/lib/engine/engine_application.js.map +1 -1
  39. package/lib/engine/engine_assetdatabase.d.ts +0 -6
  40. package/lib/engine/engine_assetdatabase.js +0 -15
  41. package/lib/engine/engine_assetdatabase.js.map +1 -1
  42. package/lib/engine/engine_context.d.ts +1 -0
  43. package/lib/engine/engine_context.js +5 -2
  44. package/lib/engine/engine_context.js.map +1 -1
  45. package/lib/engine/engine_loaders.js +24 -25
  46. package/lib/engine/engine_loaders.js.map +1 -1
  47. package/lib/engine/engine_physics.js +6 -2
  48. package/lib/engine/engine_physics.js.map +1 -1
  49. package/lib/engine/engine_physics_rapier.d.ts +11 -2
  50. package/lib/engine/engine_physics_rapier.js +9 -0
  51. package/lib/engine/engine_physics_rapier.js.map +1 -1
  52. package/lib/engine/engine_texture.d.ts +1 -1
  53. package/lib/engine/engine_tonemapping.d.ts +1 -1
  54. package/lib/engine/engine_types.d.ts +16 -0
  55. package/lib/engine/engine_typestore.d.ts +1 -0
  56. package/lib/engine/engine_typestore.js +5 -6
  57. package/lib/engine/engine_typestore.js.map +1 -1
  58. package/lib/engine/webcomponents/logo-element.d.ts +11 -0
  59. package/lib/engine/webcomponents/logo-element.js +6 -0
  60. package/lib/engine/webcomponents/logo-element.js.map +1 -1
  61. package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +24 -3
  62. package/lib/engine/webcomponents/needle menu/needle-menu.js +18 -3
  63. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  64. package/lib/engine/webcomponents/needle-button.d.ts +5 -0
  65. package/lib/engine/webcomponents/needle-button.js.map +1 -1
  66. package/lib/engine/webcomponents/needle-engine.attributes.d.ts +11 -2
  67. package/lib/engine/webcomponents/needle-engine.d.ts +162 -8
  68. package/lib/engine/webcomponents/needle-engine.js +45 -7
  69. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  70. package/lib/engine-components/AlignmentConstraint.d.ts +9 -0
  71. package/lib/engine-components/AlignmentConstraint.js +9 -0
  72. package/lib/engine-components/AlignmentConstraint.js.map +1 -1
  73. package/lib/engine-components/Animator.d.ts +1 -0
  74. package/lib/engine-components/Animator.js.map +1 -1
  75. package/lib/engine-components/AudioListener.d.ts +2 -0
  76. package/lib/engine-components/AudioListener.js +2 -0
  77. package/lib/engine-components/AudioListener.js.map +1 -1
  78. package/lib/engine-components/AudioSource.d.ts +1 -0
  79. package/lib/engine-components/AudioSource.js +1 -0
  80. package/lib/engine-components/AudioSource.js.map +1 -1
  81. package/lib/engine-components/AxesHelper.d.ts +2 -0
  82. package/lib/engine-components/AxesHelper.js +2 -0
  83. package/lib/engine-components/AxesHelper.js.map +1 -1
  84. package/lib/engine-components/Camera.d.ts +1 -0
  85. package/lib/engine-components/Camera.js +1 -0
  86. package/lib/engine-components/Camera.js.map +1 -1
  87. package/lib/engine-components/CharacterController.d.ts +4 -1
  88. package/lib/engine-components/CharacterController.js +4 -1
  89. package/lib/engine-components/CharacterController.js.map +1 -1
  90. package/lib/engine-components/Component.d.ts +5 -0
  91. package/lib/engine-components/Component.js +7 -0
  92. package/lib/engine-components/Component.js.map +1 -1
  93. package/lib/engine-components/DeleteBox.d.ts +2 -0
  94. package/lib/engine-components/DeleteBox.js +2 -0
  95. package/lib/engine-components/DeleteBox.js.map +1 -1
  96. package/lib/engine-components/DeviceFlag.d.ts +4 -0
  97. package/lib/engine-components/DeviceFlag.js +4 -0
  98. package/lib/engine-components/DeviceFlag.js.map +1 -1
  99. package/lib/engine-components/DragControls.d.ts +1 -0
  100. package/lib/engine-components/DragControls.js +1 -0
  101. package/lib/engine-components/DragControls.js.map +1 -1
  102. package/lib/engine-components/DropListener.d.ts +1 -0
  103. package/lib/engine-components/DropListener.js +1 -0
  104. package/lib/engine-components/DropListener.js.map +1 -1
  105. package/lib/engine-components/Duplicatable.d.ts +1 -0
  106. package/lib/engine-components/Duplicatable.js +1 -0
  107. package/lib/engine-components/Duplicatable.js.map +1 -1
  108. package/lib/engine-components/EventTrigger.d.ts +2 -0
  109. package/lib/engine-components/EventTrigger.js +2 -0
  110. package/lib/engine-components/EventTrigger.js.map +1 -1
  111. package/lib/engine-components/GridHelper.d.ts +2 -0
  112. package/lib/engine-components/GridHelper.js +2 -0
  113. package/lib/engine-components/GridHelper.js.map +1 -1
  114. package/lib/engine-components/GroundProjection.d.ts +1 -0
  115. package/lib/engine-components/GroundProjection.js +1 -0
  116. package/lib/engine-components/GroundProjection.js.map +1 -1
  117. package/lib/engine-components/LODGroup.d.ts +2 -0
  118. package/lib/engine-components/LODGroup.js +2 -0
  119. package/lib/engine-components/LODGroup.js.map +1 -1
  120. package/lib/engine-components/Light.d.ts +1 -0
  121. package/lib/engine-components/Light.js +1 -0
  122. package/lib/engine-components/Light.js.map +1 -1
  123. package/lib/engine-components/LookAtConstraint.d.ts +1 -0
  124. package/lib/engine-components/LookAtConstraint.js +1 -0
  125. package/lib/engine-components/LookAtConstraint.js.map +1 -1
  126. package/lib/engine-components/NeedleMenu.d.ts +1 -0
  127. package/lib/engine-components/NeedleMenu.js +1 -0
  128. package/lib/engine-components/NeedleMenu.js.map +1 -1
  129. package/lib/engine-components/NestedGltf.d.ts +1 -0
  130. package/lib/engine-components/NestedGltf.js +1 -0
  131. package/lib/engine-components/NestedGltf.js.map +1 -1
  132. package/lib/engine-components/Networking.d.ts +1 -0
  133. package/lib/engine-components/Networking.js +1 -0
  134. package/lib/engine-components/Networking.js.map +1 -1
  135. package/lib/engine-components/OffsetConstraint.d.ts +7 -0
  136. package/lib/engine-components/OffsetConstraint.js +7 -0
  137. package/lib/engine-components/OffsetConstraint.js.map +1 -1
  138. package/lib/engine-components/OrbitControls.d.ts +1 -0
  139. package/lib/engine-components/OrbitControls.js +1 -0
  140. package/lib/engine-components/OrbitControls.js.map +1 -1
  141. package/lib/engine-components/PlayerColor.d.ts +2 -0
  142. package/lib/engine-components/PlayerColor.js +2 -0
  143. package/lib/engine-components/PlayerColor.js.map +1 -1
  144. package/lib/engine-components/ReflectionProbe.d.ts +1 -0
  145. package/lib/engine-components/ReflectionProbe.js +1 -0
  146. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  147. package/lib/engine-components/RendererInstancing.d.ts +5 -3
  148. package/lib/engine-components/RendererInstancing.js +64 -31
  149. package/lib/engine-components/RendererInstancing.js.map +1 -1
  150. package/lib/engine-components/RigidBody.d.ts +1 -0
  151. package/lib/engine-components/RigidBody.js +1 -0
  152. package/lib/engine-components/RigidBody.js.map +1 -1
  153. package/lib/engine-components/SceneSwitcher.d.ts +1 -0
  154. package/lib/engine-components/SceneSwitcher.js +1 -0
  155. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  156. package/lib/engine-components/ScreenCapture.d.ts +1 -0
  157. package/lib/engine-components/ScreenCapture.js +1 -0
  158. package/lib/engine-components/ScreenCapture.js.map +1 -1
  159. package/lib/engine-components/SeeThrough.d.ts +1 -0
  160. package/lib/engine-components/SeeThrough.js +1 -0
  161. package/lib/engine-components/SeeThrough.js.map +1 -1
  162. package/lib/engine-components/ShadowCatcher.d.ts +2 -0
  163. package/lib/engine-components/ShadowCatcher.js +2 -0
  164. package/lib/engine-components/ShadowCatcher.js.map +1 -1
  165. package/lib/engine-components/Skybox.d.ts +1 -0
  166. package/lib/engine-components/Skybox.js +1 -0
  167. package/lib/engine-components/Skybox.js.map +1 -1
  168. package/lib/engine-components/SmoothFollow.d.ts +1 -0
  169. package/lib/engine-components/SmoothFollow.js +1 -0
  170. package/lib/engine-components/SmoothFollow.js.map +1 -1
  171. package/lib/engine-components/SpatialTrigger.d.ts +1 -0
  172. package/lib/engine-components/SpatialTrigger.js +1 -0
  173. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  174. package/lib/engine-components/SpectatorCamera.d.ts +1 -0
  175. package/lib/engine-components/SpectatorCamera.js +1 -0
  176. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  177. package/lib/engine-components/SpriteRenderer.d.ts +1 -0
  178. package/lib/engine-components/SpriteRenderer.js +1 -0
  179. package/lib/engine-components/SpriteRenderer.js.map +1 -1
  180. package/lib/engine-components/SyncedCamera.d.ts +2 -0
  181. package/lib/engine-components/SyncedCamera.js +2 -0
  182. package/lib/engine-components/SyncedCamera.js.map +1 -1
  183. package/lib/engine-components/SyncedRoom.d.ts +1 -0
  184. package/lib/engine-components/SyncedRoom.js +1 -0
  185. package/lib/engine-components/SyncedRoom.js.map +1 -1
  186. package/lib/engine-components/SyncedTransform.d.ts +2 -0
  187. package/lib/engine-components/SyncedTransform.js +2 -0
  188. package/lib/engine-components/SyncedTransform.js.map +1 -1
  189. package/lib/engine-components/TransformGizmo.d.ts +2 -0
  190. package/lib/engine-components/TransformGizmo.js +2 -0
  191. package/lib/engine-components/TransformGizmo.js.map +1 -1
  192. package/lib/engine-components/VideoPlayer.d.ts +1 -0
  193. package/lib/engine-components/VideoPlayer.js +1 -0
  194. package/lib/engine-components/VideoPlayer.js.map +1 -1
  195. package/lib/engine-components/Voip.d.ts +1 -0
  196. package/lib/engine-components/Voip.js +1 -0
  197. package/lib/engine-components/Voip.js.map +1 -1
  198. package/lib/engine-components/export/usdz/USDZExporter.d.ts +24 -3
  199. package/lib/engine-components/export/usdz/USDZExporter.js +36 -2
  200. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  201. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +18 -0
  202. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +18 -0
  203. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -1
  204. package/lib/engine-components/particlesystem/ParticleSystem.d.ts +1 -0
  205. package/lib/engine-components/particlesystem/ParticleSystem.js +1 -0
  206. package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
  207. package/lib/engine-components/physics/Attractor.d.ts +3 -0
  208. package/lib/engine-components/physics/Attractor.js +3 -0
  209. package/lib/engine-components/physics/Attractor.js.map +1 -1
  210. package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +1 -0
  211. package/lib/engine-components/postprocessing/Effects/BloomEffect.js +1 -0
  212. package/lib/engine-components/postprocessing/Effects/BloomEffect.js.map +1 -1
  213. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +4 -0
  214. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +4 -0
  215. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js.map +1 -1
  216. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +3 -0
  217. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +3 -0
  218. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js.map +1 -1
  219. package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +4 -0
  220. package/lib/engine-components/postprocessing/Effects/DepthOfField.js +4 -0
  221. package/lib/engine-components/postprocessing/Effects/DepthOfField.js.map +1 -1
  222. package/lib/engine-components/postprocessing/Effects/EffectWrapper.d.ts +1 -0
  223. package/lib/engine-components/postprocessing/Effects/EffectWrapper.js +1 -0
  224. package/lib/engine-components/postprocessing/Effects/EffectWrapper.js.map +1 -1
  225. package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +3 -0
  226. package/lib/engine-components/postprocessing/Effects/Pixelation.js +3 -0
  227. package/lib/engine-components/postprocessing/Effects/Pixelation.js.map +1 -1
  228. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +4 -0
  229. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +4 -0
  230. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js.map +1 -1
  231. package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +4 -0
  232. package/lib/engine-components/postprocessing/Effects/Sharpening.js +4 -0
  233. package/lib/engine-components/postprocessing/Effects/Sharpening.js.map +1 -1
  234. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +4 -0
  235. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +4 -0
  236. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js.map +1 -1
  237. package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +4 -0
  238. package/lib/engine-components/postprocessing/Effects/Tonemapping.js +4 -0
  239. package/lib/engine-components/postprocessing/Effects/Tonemapping.js.map +1 -1
  240. package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +4 -0
  241. package/lib/engine-components/postprocessing/Effects/Vignette.js +4 -0
  242. package/lib/engine-components/postprocessing/Effects/Vignette.js.map +1 -1
  243. package/lib/engine-components/postprocessing/Volume.d.ts +1 -0
  244. package/lib/engine-components/postprocessing/Volume.js +1 -0
  245. package/lib/engine-components/postprocessing/Volume.js.map +1 -1
  246. package/lib/engine-components/splines/Spline.d.ts +1 -0
  247. package/lib/engine-components/splines/Spline.js +1 -0
  248. package/lib/engine-components/splines/Spline.js.map +1 -1
  249. package/lib/engine-components/splines/SplineWalker.d.ts +1 -0
  250. package/lib/engine-components/splines/SplineWalker.js +1 -0
  251. package/lib/engine-components/splines/SplineWalker.js.map +1 -1
  252. package/lib/engine-components/timeline/PlayableDirector.d.ts +1 -0
  253. package/lib/engine-components/timeline/PlayableDirector.js +1 -0
  254. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  255. package/lib/engine-components/timeline/SignalAsset.d.ts +1 -0
  256. package/lib/engine-components/timeline/SignalAsset.js +1 -0
  257. package/lib/engine-components/timeline/SignalAsset.js.map +1 -1
  258. package/lib/engine-components/ui/Button.d.ts +4 -0
  259. package/lib/engine-components/ui/Button.js +4 -0
  260. package/lib/engine-components/ui/Button.js.map +1 -1
  261. package/lib/engine-components/ui/Canvas.d.ts +5 -0
  262. package/lib/engine-components/ui/Canvas.js +5 -0
  263. package/lib/engine-components/ui/Canvas.js.map +1 -1
  264. package/lib/engine-components/ui/CanvasGroup.d.ts +4 -0
  265. package/lib/engine-components/ui/CanvasGroup.js +4 -0
  266. package/lib/engine-components/ui/CanvasGroup.js.map +1 -1
  267. package/lib/engine-components/ui/EventSystem.d.ts +2 -0
  268. package/lib/engine-components/ui/EventSystem.js +2 -0
  269. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  270. package/lib/engine-components/ui/Image.d.ts +4 -0
  271. package/lib/engine-components/ui/Image.js +4 -0
  272. package/lib/engine-components/ui/Image.js.map +1 -1
  273. package/lib/engine-components/ui/InputField.d.ts +4 -0
  274. package/lib/engine-components/ui/InputField.js +4 -0
  275. package/lib/engine-components/ui/InputField.js.map +1 -1
  276. package/lib/engine-components/ui/Outline.d.ts +7 -0
  277. package/lib/engine-components/ui/Outline.js +7 -0
  278. package/lib/engine-components/ui/Outline.js.map +1 -1
  279. package/lib/engine-components/ui/Text.d.ts +1 -0
  280. package/lib/engine-components/ui/Text.js +1 -0
  281. package/lib/engine-components/ui/Text.js.map +1 -1
  282. package/lib/engine-components/utils/LookAt.d.ts +1 -0
  283. package/lib/engine-components/utils/LookAt.js +1 -0
  284. package/lib/engine-components/utils/LookAt.js.map +1 -1
  285. package/lib/engine-components/web/Clickthrough.d.ts +1 -1
  286. package/lib/engine-components/web/Clickthrough.js +1 -1
  287. package/lib/engine-components/web/CursorFollow.d.ts +2 -0
  288. package/lib/engine-components/web/CursorFollow.js +3 -0
  289. package/lib/engine-components/web/CursorFollow.js.map +1 -1
  290. package/lib/engine-components/web/HoverAnimation.d.ts +1 -0
  291. package/lib/engine-components/web/HoverAnimation.js +1 -0
  292. package/lib/engine-components/web/HoverAnimation.js.map +1 -1
  293. package/lib/engine-components/web/ScrollFollow.d.ts +2 -0
  294. package/lib/engine-components/web/ScrollFollow.js +2 -0
  295. package/lib/engine-components/web/ScrollFollow.js.map +1 -1
  296. package/lib/engine-components/web/ViewBox.d.ts +1 -0
  297. package/lib/engine-components/web/ViewBox.js +1 -0
  298. package/lib/engine-components/web/ViewBox.js.map +1 -1
  299. package/lib/engine-components/webxr/Avatar.d.ts +5 -0
  300. package/lib/engine-components/webxr/Avatar.js +5 -0
  301. package/lib/engine-components/webxr/Avatar.js.map +1 -1
  302. package/lib/engine-components/webxr/WebARCameraBackground.d.ts +1 -0
  303. package/lib/engine-components/webxr/WebARCameraBackground.js +1 -0
  304. package/lib/engine-components/webxr/WebARCameraBackground.js.map +1 -1
  305. package/lib/engine-components/webxr/WebARSessionRoot.d.ts +1 -0
  306. package/lib/engine-components/webxr/WebARSessionRoot.js +1 -0
  307. package/lib/engine-components/webxr/WebARSessionRoot.js.map +1 -1
  308. package/lib/engine-components/webxr/WebXR.d.ts +1 -1
  309. package/lib/engine-components/webxr/WebXR.js +1 -1
  310. package/lib/engine-components/webxr/controllers/XRControllerFollow.d.ts +1 -0
  311. package/lib/engine-components/webxr/controllers/XRControllerFollow.js +1 -0
  312. package/lib/engine-components/webxr/controllers/XRControllerFollow.js.map +1 -1
  313. package/lib/engine-components/webxr/controllers/XRControllerModel.d.ts +4 -0
  314. package/lib/engine-components/webxr/controllers/XRControllerModel.js +4 -0
  315. package/lib/engine-components/webxr/controllers/XRControllerModel.js.map +1 -1
  316. package/lib/engine-components/webxr/controllers/XRControllerMovement.d.ts +1 -0
  317. package/lib/engine-components/webxr/controllers/XRControllerMovement.js +1 -0
  318. package/lib/engine-components/webxr/controllers/XRControllerMovement.js.map +1 -1
  319. package/lib/engine-components-experimental/networking/PlayerSync.d.ts +2 -0
  320. package/lib/engine-components-experimental/networking/PlayerSync.js +2 -0
  321. package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
  322. package/lib/needle-engine.js +2 -1
  323. package/lib/needle-engine.js.map +1 -1
  324. package/package.json +19 -12
  325. package/plugins/types/needleConfig.d.ts +1 -1
  326. package/plugins/types/next.d.ts +1 -1
  327. package/plugins/types/userconfig.d.ts +4 -1
  328. package/plugins/vite/custom-element-data.js +80 -0
  329. package/plugins/vite/index.js +4 -0
  330. package/src/engine/debug/debug_spector.ts +43 -0
  331. package/src/engine/engine_application.ts +16 -1
  332. package/src/engine/engine_assetdatabase.ts +0 -21
  333. package/src/engine/engine_context.ts +6 -2
  334. package/src/engine/engine_loaders.ts +24 -26
  335. package/src/engine/engine_physics.ts +6 -2
  336. package/src/engine/engine_physics_rapier.ts +11 -2
  337. package/src/engine/engine_texture.ts +1 -1
  338. package/src/engine/engine_tonemapping.ts +1 -1
  339. package/src/engine/engine_types.ts +17 -0
  340. package/src/engine/engine_typestore.ts +5 -6
  341. package/src/engine/webcomponents/logo-element.ts +12 -0
  342. package/src/engine/webcomponents/needle menu/needle-menu.ts +24 -3
  343. package/src/engine/webcomponents/needle-button.ts +6 -0
  344. package/src/engine/webcomponents/needle-engine.attributes.ts +12 -3
  345. package/src/engine/webcomponents/needle-engine.ts +172 -11
  346. package/src/engine-components/AlignmentConstraint.ts +9 -0
  347. package/src/engine-components/Animator.ts +1 -0
  348. package/src/engine-components/AudioListener.ts +2 -0
  349. package/src/engine-components/AudioSource.ts +1 -0
  350. package/src/engine-components/AxesHelper.ts +2 -0
  351. package/src/engine-components/Camera.ts +1 -0
  352. package/src/engine-components/CharacterController.ts +4 -1
  353. package/src/engine-components/Component.ts +9 -1
  354. package/src/engine-components/DeleteBox.ts +2 -0
  355. package/src/engine-components/DeviceFlag.ts +4 -0
  356. package/src/engine-components/DragControls.ts +1 -0
  357. package/src/engine-components/DropListener.ts +1 -0
  358. package/src/engine-components/Duplicatable.ts +1 -0
  359. package/src/engine-components/EventTrigger.ts +2 -0
  360. package/src/engine-components/GridHelper.ts +2 -0
  361. package/src/engine-components/GroundProjection.ts +1 -0
  362. package/src/engine-components/LODGroup.ts +2 -0
  363. package/src/engine-components/Light.ts +1 -0
  364. package/src/engine-components/LookAtConstraint.ts +1 -0
  365. package/src/engine-components/NeedleMenu.ts +1 -0
  366. package/src/engine-components/NestedGltf.ts +1 -0
  367. package/src/engine-components/Networking.ts +1 -0
  368. package/src/engine-components/OffsetConstraint.ts +7 -0
  369. package/src/engine-components/OrbitControls.ts +1 -0
  370. package/src/engine-components/PlayerColor.ts +2 -0
  371. package/src/engine-components/ReflectionProbe.ts +1 -0
  372. package/src/engine-components/RendererInstancing.ts +69 -33
  373. package/src/engine-components/RigidBody.ts +1 -0
  374. package/src/engine-components/SceneSwitcher.ts +1 -0
  375. package/src/engine-components/ScreenCapture.ts +1 -0
  376. package/src/engine-components/SeeThrough.ts +1 -0
  377. package/src/engine-components/ShadowCatcher.ts +2 -0
  378. package/src/engine-components/Skybox.ts +2 -1
  379. package/src/engine-components/SmoothFollow.ts +1 -0
  380. package/src/engine-components/SpatialTrigger.ts +1 -0
  381. package/src/engine-components/SpectatorCamera.ts +1 -0
  382. package/src/engine-components/SpriteRenderer.ts +1 -0
  383. package/src/engine-components/SyncedCamera.ts +2 -0
  384. package/src/engine-components/SyncedRoom.ts +1 -0
  385. package/src/engine-components/SyncedTransform.ts +2 -0
  386. package/src/engine-components/TransformGizmo.ts +2 -0
  387. package/src/engine-components/VideoPlayer.ts +1 -0
  388. package/src/engine-components/Voip.ts +1 -0
  389. package/src/engine-components/export/usdz/USDZExporter.ts +52 -5
  390. package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +18 -0
  391. package/src/engine-components/particlesystem/ParticleSystem.ts +1 -0
  392. package/src/engine-components/physics/Attractor.ts +3 -0
  393. package/src/engine-components/postprocessing/Effects/BloomEffect.ts +1 -0
  394. package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +4 -0
  395. package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +3 -0
  396. package/src/engine-components/postprocessing/Effects/DepthOfField.ts +4 -0
  397. package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +1 -0
  398. package/src/engine-components/postprocessing/Effects/Pixelation.ts +3 -0
  399. package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +4 -0
  400. package/src/engine-components/postprocessing/Effects/Sharpening.ts +4 -0
  401. package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +4 -0
  402. package/src/engine-components/postprocessing/Effects/Tonemapping.ts +4 -0
  403. package/src/engine-components/postprocessing/Effects/Vignette.ts +4 -0
  404. package/src/engine-components/postprocessing/Volume.ts +1 -0
  405. package/src/engine-components/splines/Spline.ts +1 -0
  406. package/src/engine-components/splines/SplineWalker.ts +1 -0
  407. package/src/engine-components/timeline/PlayableDirector.ts +1 -0
  408. package/src/engine-components/timeline/SignalAsset.ts +1 -0
  409. package/src/engine-components/ui/Button.ts +4 -0
  410. package/src/engine-components/ui/Canvas.ts +5 -0
  411. package/src/engine-components/ui/CanvasGroup.ts +4 -0
  412. package/src/engine-components/ui/EventSystem.ts +2 -0
  413. package/src/engine-components/ui/Image.ts +4 -0
  414. package/src/engine-components/ui/InputField.ts +4 -0
  415. package/src/engine-components/ui/Outline.ts +7 -0
  416. package/src/engine-components/ui/Text.ts +1 -0
  417. package/src/engine-components/utils/LookAt.ts +1 -0
  418. package/src/engine-components/web/Clickthrough.ts +1 -1
  419. package/src/engine-components/web/CursorFollow.ts +4 -0
  420. package/src/engine-components/web/HoverAnimation.ts +1 -0
  421. package/src/engine-components/web/ScrollFollow.ts +2 -0
  422. package/src/engine-components/web/ViewBox.ts +1 -0
  423. package/src/engine-components/webxr/Avatar.ts +5 -0
  424. package/src/engine-components/webxr/WebARCameraBackground.ts +1 -0
  425. package/src/engine-components/webxr/WebARSessionRoot.ts +1 -0
  426. package/src/engine-components/webxr/WebXR.ts +1 -1
  427. package/src/engine-components/webxr/controllers/XRControllerFollow.ts +1 -0
  428. package/src/engine-components/webxr/controllers/XRControllerModel.ts +4 -0
  429. package/src/engine-components/webxr/controllers/XRControllerMovement.ts +1 -0
  430. package/src/engine-components-experimental/networking/PlayerSync.ts +2 -0
  431. package/src/needle-engine.ts +4 -2
  432. package/dist/generateMeshBVH.worker-B9bjdr6J.js +0 -25
  433. package/dist/loader.worker-CiTwpNPW.js +0 -27
  434. package/dist/rapier-BqdcSmKY.umd.cjs +0 -1
  435. package/dist/rapier-Cg3w3nFI.min.js +0 -1
  436. package/dist/rapier-sU12SWAs.js +0 -5217
@@ -0,0 +1,16 @@
1
+ import type { Context } from "../engine_setup.js";
2
+ declare global {
3
+ interface Window {
4
+ SPECTOR?: {
5
+ Spector: new () => Spector;
6
+ };
7
+ }
8
+ interface Spector {
9
+ displayUI: () => void;
10
+ setCanvas: (canvas: HTMLCanvasElement) => void;
11
+ spyCanvases: boolean;
12
+ startCaptureOnNextFrame: () => void;
13
+ captureCanvas: (canvas: HTMLCanvasElement) => any;
14
+ }
15
+ }
16
+ export declare function initSpectorIfAvailable(_context: Context, canvas: HTMLCanvasElement): void;
@@ -0,0 +1,28 @@
1
+ import { isDevEnvironment } from "./debug.js";
2
+ export function initSpectorIfAvailable(_context, canvas) {
3
+ if (typeof window !== undefined && window.SPECTOR) {
4
+ console.log(window.SPECTOR);
5
+ const params = new URLSearchParams(window.location.search);
6
+ if (params.has("spector")) {
7
+ const frame = Number.parseInt(params.get("spector") || "0") || 0;
8
+ console.log("Scheduled Spector capture at frame #" + frame);
9
+ const spector = new window.SPECTOR.Spector();
10
+ spector.spyCanvases = true;
11
+ waitForFrameAndCapture();
12
+ return;
13
+ function waitForFrameAndCapture() {
14
+ if (frame > _context.time.frame)
15
+ return window.requestAnimationFrame(() => waitForFrameAndCapture());
16
+ const res = spector.captureCanvas(canvas);
17
+ if (res && res instanceof Promise)
18
+ res.then(() => spector.displayUI());
19
+ else
20
+ spector.displayUI();
21
+ }
22
+ }
23
+ else if (isDevEnvironment()) {
24
+ console.debug("Spector available: Add '?spector=<frame>' to the URL to enable it and capture a frame.");
25
+ }
26
+ }
27
+ }
28
+ //# sourceMappingURL=debug_spector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug_spector.js","sourceRoot":"","sources":["../../../src/engine/debug/debug_spector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAkB9C,MAAM,UAAU,sBAAsB,CAAC,QAAiB,EAAE,MAAyB;IAC/E,IAAI,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,EAAE;QAC/C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,sCAAsC,GAAG,KAAK,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7C,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;YAC3B,sBAAsB,EAAE,CAAC;YACzB,OAAO;YAEP,SAAS,sBAAsB;gBAC3B,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK;oBAAE,OAAO,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC,sBAAsB,EAAE,CAAC,CAAC;gBACrG,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,GAAG,IAAI,GAAG,YAAY,OAAO;oBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;;oBAClE,OAAO,CAAC,SAAS,EAAE,CAAC;YAC7B,CAAC;SACJ;aACI,IAAI,gBAAgB,EAAE,EAAE;YACzB,OAAO,CAAC,KAAK,CAAC,wFAAwF,CAAC,CAAC;SAC3G;KACJ;AACL,CAAC"}
@@ -9,6 +9,13 @@ export declare enum ApplicationEvents {
9
9
  * @internal
10
10
  */
11
11
  export declare function internalOnUserInputRegistered(): void;
12
+ declare global {
13
+ interface Navigator {
14
+ userActivation?: {
15
+ isActive: boolean;
16
+ };
17
+ }
18
+ }
12
19
  /**
13
20
  * The Application class can be used to mute audio globally, and to check if the application (canvas) is currently visible (it's tab is active and not minimized).
14
21
  */
@@ -15,7 +15,7 @@ export function internalOnUserInputRegistered() {
15
15
  if (userInteractionRegistered)
16
16
  return;
17
17
  if (isDevEnvironment())
18
- console.debug("User interaction registered: audio can now be played");
18
+ console.debug("[Needle Engine] User input registered: Media playback is now allowed.");
19
19
  userInteractionRegistered = true;
20
20
  const copy = [...userInteractionCallbacks];
21
21
  userInteractionCallbacks.length = 0;
@@ -27,6 +27,13 @@ document.addEventListener('click', internalOnUserInputRegistered);
27
27
  document.addEventListener('dragstart', internalOnUserInputRegistered);
28
28
  document.addEventListener('touchend', internalOnUserInputRegistered);
29
29
  document.addEventListener('keydown', internalOnUserInputRegistered);
30
+ // User Activation should be available across browsers since November 2023 https://developer.mozilla.org/en-US/docs/Web/API/UserActivation
31
+ if (typeof window !== "undefined" && "userActivation" in navigator && navigator.userActivation?.isActive) {
32
+ if (isDevEnvironment())
33
+ console.debug("[Needle Engine] User input already active: Media playback is now allowed.");
34
+ userInteractionCallbacks.length = 0;
35
+ userInteractionRegistered = true;
36
+ }
30
37
  /**
31
38
  * The Application class can be used to mute audio globally, and to check if the application (canvas) is currently visible (it's tab is active and not minimized).
32
39
  */
@@ -1 +1 @@
1
- {"version":3,"file":"engine_application.js","sourceRoot":"","sources":["../../src/engine/engine_application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_application.js","sourceRoot":"","sources":["../../src/engine/engine_application.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,6 @@
1
1
  import { Object3D } from "three";
2
- import { Model } from "./engine_types.js";
3
2
  export declare class AssetDatabase {
4
3
  constructor();
5
- dispose(): void;
6
- private readonly _models;
7
- add(url: string, model: Model): void;
8
- has(url: string): boolean;
9
- get(url: string): Model | null;
10
4
  }
11
5
  /**
12
6
  * Disable usage tracking
@@ -18,21 +18,6 @@ export class AssetDatabase {
18
18
  }
19
19
  });
20
20
  }
21
- dispose() {
22
- this._models.clear();
23
- }
24
- _models = new Map();
25
- add(url, model) {
26
- if (!this._models.has(url)) {
27
- this._models.set(url, model);
28
- }
29
- }
30
- has(url) {
31
- return this._models.has(url);
32
- }
33
- get(url) {
34
- return this._models.get(url) || null;
35
- }
36
21
  }
37
22
  const trackUsageParam = getParam("trackresources");
38
23
  function autoDispose() {
@@ -1 +1 @@
1
- {"version":3,"file":"engine_assetdatabase.js","sourceRoot":"","sources":["../../src/engine/engine_assetdatabase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_assetdatabase.js","sourceRoot":"","sources":["../../src/engine/engine_assetdatabase.ts"],"names":[],"mappings":"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"}
@@ -328,6 +328,7 @@ export declare class Context implements IContext {
328
328
  physics: Physics;
329
329
  /** access networking methods (use it to send or listen to messages or join a networking backend) */
330
330
  connection: NetworkConnection;
331
+ /** @deprecated AssetDatabase is deprecated */
331
332
  assets: AssetDatabase;
332
333
  /** The main light in the scene */
333
334
  mainLight: ILight | null;
@@ -4,6 +4,7 @@ import { Color, DepthTexture, NearestFilter, NoToneMapping, Object3D, PCFSoftSha
4
4
  import { BasicNodeLibrary } from "three";
5
5
  import * as Stats from 'three/examples/jsm/libs/stats.module.js';
6
6
  import { nodeFrame } from "three/examples/jsm/renderers/webgl-legacy/nodes/WebGLNodeBuilder.js";
7
+ import { initSpectorIfAvailable } from './debug/debug_spector.js';
7
8
  import { isDevEnvironment, LogType, showBalloonError, showBalloonMessage } from './debug/index.js';
8
9
  import { Addressables } from './engine_addressables.js';
9
10
  import { AnimationsRegistry } from './engine_animation.js';
@@ -429,6 +430,7 @@ export class Context {
429
430
  physics;
430
431
  /** access networking methods (use it to send or listen to messages or join a networking backend) */
431
432
  connection;
433
+ /** @deprecated AssetDatabase is deprecated */
432
434
  assets;
433
435
  /** The main light in the scene */
434
436
  mainLight = null;
@@ -546,6 +548,7 @@ export class Context {
546
548
  // this.renderer.toneMapping = AgXToneMapping;
547
549
  this.lodsManager.setRenderer(this.renderer);
548
550
  this.input.bindEvents();
551
+ initSpectorIfAvailable(this, this.renderer.domElement);
549
552
  return this.renderer;
550
553
  }
551
554
  _intersectionObserver = null;
@@ -698,7 +701,6 @@ export class Context {
698
701
  this.lightmaps?.clear();
699
702
  this.physics?.engine?.clearCaches();
700
703
  this.lodsManager.disable();
701
- this.assets.dispose();
702
704
  this._onBeforeRenderListeners.clear();
703
705
  this._onAfterRenderListeners.clear();
704
706
  if (!this.isManagedExternally) {
@@ -1548,7 +1550,8 @@ export class Context {
1548
1550
  this.connection.sendBufferedMessagesNow();
1549
1551
  if (this._stats) {
1550
1552
  this._stats.end();
1551
- if (this.time.frameCount % 150 === 0)
1553
+ const dt = this.time.fps < 20 ? 50 : 150;
1554
+ if (this.time.frameCount % dt === 0)
1552
1555
  console.log(this.renderer.info.render.calls + " DrawCalls", "\nRender:", { ...this.renderer.info.render }, "\nMemory:", { ...this.renderer.info.memory }, "\nTarget Framerate: " + this.targetFrameRate);
1553
1556
  }
1554
1557
  if (this._dispatchReadyAfterFrame) {
@@ -1 +1 @@
1
- {"version":3,"file":"engine_context.js","sourceRoot":"","sources":["../../src/engine/engine_context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_context.js","sourceRoot":"","sources":["../../src/engine/engine_context.ts"],"names":[],"mappings":"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"}
@@ -210,20 +210,20 @@ function onBeforeLoad(loader, context) {
210
210
  return { componentsExtension };
211
211
  }
212
212
  /** Call after a 3d model has been loaded to compile shaders and construct the needle engine model structure with relevant metadata (if necessary) */
213
- async function onAfterLoaded(loader, context, pathOrUrl, asset, seed, componentsExtension) {
213
+ async function onAfterLoaded(loader, context, gltfId, model, seed, componentsExtension) {
214
214
  if (printGltf)
215
- console.warn("Loaded", pathOrUrl, asset);
215
+ console.warn("Loaded", gltfId, model);
216
216
  // Handle loader was registered but no model was returned - should not completely break the engine
217
- if (asset == null) {
218
- console.error(`Loaded model is null '${pathOrUrl}' - please make sure the loader is registered correctly`);
217
+ if (model == null) {
218
+ console.error(`Loaded model is null '${gltfId}' - please make sure the loader is registered correctly`);
219
219
  return {
220
220
  scene: new Object3D(),
221
221
  animations: [],
222
222
  scenes: []
223
223
  };
224
224
  }
225
- else if (typeof asset !== "object") {
226
- console.error(`Loaded model is not an object '${pathOrUrl}' - please make sure the loader is registered correctly`);
225
+ else if (typeof model !== "object") {
226
+ console.error(`Loaded model is not an object '${gltfId}' - please make sure the loader is registered correctly`);
227
227
  return {
228
228
  scene: new Object3D(),
229
229
  animations: [],
@@ -231,43 +231,42 @@ async function onAfterLoaded(loader, context, pathOrUrl, asset, seed, components
231
231
  };
232
232
  }
233
233
  // Handle OBJ or FBX loader results
234
- if (asset instanceof Object3D) {
235
- asset = {
236
- scene: asset,
237
- animations: asset.animations,
238
- scenes: [asset]
234
+ if (model instanceof Object3D) {
235
+ model = {
236
+ scene: model,
237
+ animations: model.animations,
238
+ scenes: [model]
239
239
  };
240
240
  }
241
241
  // Handle STL loader results
242
- else if (asset instanceof BufferGeometry) {
242
+ else if (model instanceof BufferGeometry) {
243
243
  const mat = new MeshStandardMaterial({
244
244
  color: new Color(0xdddddd)
245
245
  });
246
- const mesh = new Mesh(asset, mat);
247
- asset = {
246
+ const mesh = new Mesh(model, mat);
247
+ model = {
248
248
  scene: mesh,
249
249
  animations: [],
250
250
  scenes: [mesh]
251
251
  };
252
252
  }
253
- else if (Array.isArray(asset.scenes) === false) {
254
- console.error(`[Needle Engine] The loaded model object does not have a scenes property '${pathOrUrl}' - please make sure the loader is registered correctly and three.js is not imported multiple times.`);
253
+ else if (Array.isArray(model.scenes) === false) {
254
+ console.error(`[Needle Engine] The loaded model object does not have a scenes property '${gltfId}' - please make sure the loader is registered correctly and three.js is not imported multiple times.`);
255
255
  }
256
256
  // Remove query parameters from gltfId
257
- if (pathOrUrl.includes("?")) {
258
- pathOrUrl = pathOrUrl.split("?")[0];
257
+ if (gltfId.includes("?")) {
258
+ gltfId = gltfId.split("?")[0];
259
259
  }
260
260
  // E.g. fbx material cleanup
261
- postprocessLoadedFile(loader, asset);
262
- context.assets.add(pathOrUrl, asset);
261
+ postprocessLoadedFile(loader, model);
263
262
  // load components
264
- if (isGLTFModel(asset)) {
265
- invokeLoadedImportPluginHooks(pathOrUrl, asset, context);
266
- await getLoader().createBuiltinComponents(context, pathOrUrl, asset, seed, componentsExtension || undefined);
263
+ if (isGLTFModel(model)) {
264
+ invokeLoadedImportPluginHooks(gltfId, model, context);
265
+ await getLoader().createBuiltinComponents(context, gltfId, model, seed, componentsExtension || undefined);
267
266
  }
268
267
  // Warmup the scene
269
- await compileAsync(asset.scene, context, context.mainCamera);
270
- return asset;
268
+ await compileAsync(model.scene, context, context.mainCamera);
269
+ return model;
271
270
  }
272
271
  async function compileAsync(scene, context, camera) {
273
272
  if (!camera)