@needle-tools/engine 4.11.5-beta → 4.11.5-next.4201116

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 (449) hide show
  1. package/CHANGELOG.md +7 -5
  2. package/components.needle.json +1 -1
  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-CtMdIm9E.umd.cjs → needle-engine.bundle-Cb9DQNr9.umd.cjs} +154 -159
  9. package/dist/{needle-engine.bundle-DLreKDiJ.js → needle-engine.bundle-D2l0lwCn.js} +6181 -6037
  10. package/dist/{needle-engine.bundle-78QepNU6.min.js → needle-engine.bundle-DaoW7sFK.min.js} +161 -166
  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_context.d.ts +15 -5
  40. package/lib/engine/engine_context.js +29 -5
  41. package/lib/engine/engine_context.js.map +1 -1
  42. package/lib/engine/engine_loaders.d.ts +0 -6
  43. package/lib/engine/engine_loaders.js +5 -5
  44. package/lib/engine/engine_loaders.js.map +1 -1
  45. package/lib/engine/engine_physics.js +6 -2
  46. package/lib/engine/engine_physics.js.map +1 -1
  47. package/lib/engine/engine_physics_rapier.d.ts +11 -2
  48. package/lib/engine/engine_physics_rapier.js +9 -0
  49. package/lib/engine/engine_physics_rapier.js.map +1 -1
  50. package/lib/engine/engine_scenelighting.d.ts +12 -1
  51. package/lib/engine/engine_scenelighting.js +21 -1
  52. package/lib/engine/engine_scenelighting.js.map +1 -1
  53. package/lib/engine/engine_texture.d.ts +1 -1
  54. package/lib/engine/engine_tonemapping.d.ts +1 -1
  55. package/lib/engine/engine_types.d.ts +16 -0
  56. package/lib/engine/engine_typestore.d.ts +1 -0
  57. package/lib/engine/engine_typestore.js +5 -6
  58. package/lib/engine/engine_typestore.js.map +1 -1
  59. package/lib/engine/extensions/NEEDLE_lightmaps.js +2 -2
  60. package/lib/engine/extensions/NEEDLE_lightmaps.js.map +1 -1
  61. package/lib/engine/extensions/extensions.d.ts +2 -2
  62. package/lib/engine/extensions/extensions.js +11 -5
  63. package/lib/engine/extensions/extensions.js.map +1 -1
  64. package/lib/engine/webcomponents/logo-element.d.ts +11 -0
  65. package/lib/engine/webcomponents/logo-element.js +6 -0
  66. package/lib/engine/webcomponents/logo-element.js.map +1 -1
  67. package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +24 -3
  68. package/lib/engine/webcomponents/needle menu/needle-menu.js +18 -3
  69. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  70. package/lib/engine/webcomponents/needle-button.d.ts +5 -0
  71. package/lib/engine/webcomponents/needle-button.js.map +1 -1
  72. package/lib/engine/webcomponents/needle-engine.attributes.d.ts +11 -2
  73. package/lib/engine/webcomponents/needle-engine.d.ts +162 -8
  74. package/lib/engine/webcomponents/needle-engine.js +33 -7
  75. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  76. package/lib/engine/xr/NeedleXRSession.js +2 -1
  77. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  78. package/lib/engine-components/AlignmentConstraint.d.ts +9 -0
  79. package/lib/engine-components/AlignmentConstraint.js +9 -0
  80. package/lib/engine-components/AlignmentConstraint.js.map +1 -1
  81. package/lib/engine-components/Animator.d.ts +1 -0
  82. package/lib/engine-components/Animator.js.map +1 -1
  83. package/lib/engine-components/AudioListener.d.ts +2 -0
  84. package/lib/engine-components/AudioListener.js +2 -0
  85. package/lib/engine-components/AudioListener.js.map +1 -1
  86. package/lib/engine-components/AudioSource.d.ts +1 -0
  87. package/lib/engine-components/AudioSource.js +1 -0
  88. package/lib/engine-components/AudioSource.js.map +1 -1
  89. package/lib/engine-components/AxesHelper.d.ts +2 -0
  90. package/lib/engine-components/AxesHelper.js +2 -0
  91. package/lib/engine-components/AxesHelper.js.map +1 -1
  92. package/lib/engine-components/Camera.d.ts +1 -0
  93. package/lib/engine-components/Camera.js +1 -0
  94. package/lib/engine-components/Camera.js.map +1 -1
  95. package/lib/engine-components/CharacterController.d.ts +4 -1
  96. package/lib/engine-components/CharacterController.js +4 -1
  97. package/lib/engine-components/CharacterController.js.map +1 -1
  98. package/lib/engine-components/Component.d.ts +5 -0
  99. package/lib/engine-components/Component.js +7 -0
  100. package/lib/engine-components/Component.js.map +1 -1
  101. package/lib/engine-components/DeleteBox.d.ts +2 -0
  102. package/lib/engine-components/DeleteBox.js +2 -0
  103. package/lib/engine-components/DeleteBox.js.map +1 -1
  104. package/lib/engine-components/DeviceFlag.d.ts +4 -0
  105. package/lib/engine-components/DeviceFlag.js +4 -0
  106. package/lib/engine-components/DeviceFlag.js.map +1 -1
  107. package/lib/engine-components/DragControls.d.ts +1 -0
  108. package/lib/engine-components/DragControls.js +1 -0
  109. package/lib/engine-components/DragControls.js.map +1 -1
  110. package/lib/engine-components/DropListener.d.ts +1 -0
  111. package/lib/engine-components/DropListener.js +1 -0
  112. package/lib/engine-components/DropListener.js.map +1 -1
  113. package/lib/engine-components/Duplicatable.d.ts +1 -0
  114. package/lib/engine-components/Duplicatable.js +1 -0
  115. package/lib/engine-components/Duplicatable.js.map +1 -1
  116. package/lib/engine-components/EventTrigger.d.ts +2 -0
  117. package/lib/engine-components/EventTrigger.js +2 -0
  118. package/lib/engine-components/EventTrigger.js.map +1 -1
  119. package/lib/engine-components/GridHelper.d.ts +2 -0
  120. package/lib/engine-components/GridHelper.js +2 -0
  121. package/lib/engine-components/GridHelper.js.map +1 -1
  122. package/lib/engine-components/GroundProjection.d.ts +1 -0
  123. package/lib/engine-components/GroundProjection.js +1 -0
  124. package/lib/engine-components/GroundProjection.js.map +1 -1
  125. package/lib/engine-components/LODGroup.d.ts +2 -0
  126. package/lib/engine-components/LODGroup.js +2 -0
  127. package/lib/engine-components/LODGroup.js.map +1 -1
  128. package/lib/engine-components/Light.d.ts +1 -0
  129. package/lib/engine-components/Light.js +1 -0
  130. package/lib/engine-components/Light.js.map +1 -1
  131. package/lib/engine-components/LookAtConstraint.d.ts +1 -0
  132. package/lib/engine-components/LookAtConstraint.js +1 -0
  133. package/lib/engine-components/LookAtConstraint.js.map +1 -1
  134. package/lib/engine-components/NeedleMenu.d.ts +1 -0
  135. package/lib/engine-components/NeedleMenu.js +1 -0
  136. package/lib/engine-components/NeedleMenu.js.map +1 -1
  137. package/lib/engine-components/NestedGltf.d.ts +1 -0
  138. package/lib/engine-components/NestedGltf.js +1 -0
  139. package/lib/engine-components/NestedGltf.js.map +1 -1
  140. package/lib/engine-components/Networking.d.ts +1 -0
  141. package/lib/engine-components/Networking.js +1 -0
  142. package/lib/engine-components/Networking.js.map +1 -1
  143. package/lib/engine-components/OffsetConstraint.d.ts +7 -0
  144. package/lib/engine-components/OffsetConstraint.js +7 -0
  145. package/lib/engine-components/OffsetConstraint.js.map +1 -1
  146. package/lib/engine-components/OrbitControls.d.ts +1 -0
  147. package/lib/engine-components/OrbitControls.js +1 -0
  148. package/lib/engine-components/OrbitControls.js.map +1 -1
  149. package/lib/engine-components/PlayerColor.d.ts +2 -0
  150. package/lib/engine-components/PlayerColor.js +2 -0
  151. package/lib/engine-components/PlayerColor.js.map +1 -1
  152. package/lib/engine-components/ReflectionProbe.d.ts +1 -0
  153. package/lib/engine-components/ReflectionProbe.js +17 -10
  154. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  155. package/lib/engine-components/Renderer.js +2 -2
  156. package/lib/engine-components/Renderer.js.map +1 -1
  157. package/lib/engine-components/RendererInstancing.d.ts +5 -3
  158. package/lib/engine-components/RendererInstancing.js +64 -31
  159. package/lib/engine-components/RendererInstancing.js.map +1 -1
  160. package/lib/engine-components/RigidBody.d.ts +1 -0
  161. package/lib/engine-components/RigidBody.js +1 -0
  162. package/lib/engine-components/RigidBody.js.map +1 -1
  163. package/lib/engine-components/SceneSwitcher.d.ts +1 -0
  164. package/lib/engine-components/SceneSwitcher.js +1 -0
  165. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  166. package/lib/engine-components/ScreenCapture.d.ts +1 -0
  167. package/lib/engine-components/ScreenCapture.js +1 -0
  168. package/lib/engine-components/ScreenCapture.js.map +1 -1
  169. package/lib/engine-components/SeeThrough.d.ts +1 -0
  170. package/lib/engine-components/SeeThrough.js +1 -0
  171. package/lib/engine-components/SeeThrough.js.map +1 -1
  172. package/lib/engine-components/ShadowCatcher.d.ts +2 -0
  173. package/lib/engine-components/ShadowCatcher.js +2 -0
  174. package/lib/engine-components/ShadowCatcher.js.map +1 -1
  175. package/lib/engine-components/Skybox.d.ts +16 -5
  176. package/lib/engine-components/Skybox.js +38 -25
  177. package/lib/engine-components/Skybox.js.map +1 -1
  178. package/lib/engine-components/SmoothFollow.d.ts +1 -0
  179. package/lib/engine-components/SmoothFollow.js +1 -0
  180. package/lib/engine-components/SmoothFollow.js.map +1 -1
  181. package/lib/engine-components/SpatialTrigger.d.ts +1 -0
  182. package/lib/engine-components/SpatialTrigger.js +1 -0
  183. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  184. package/lib/engine-components/SpectatorCamera.d.ts +1 -0
  185. package/lib/engine-components/SpectatorCamera.js +1 -0
  186. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  187. package/lib/engine-components/SpriteRenderer.d.ts +1 -0
  188. package/lib/engine-components/SpriteRenderer.js +1 -0
  189. package/lib/engine-components/SpriteRenderer.js.map +1 -1
  190. package/lib/engine-components/SyncedCamera.d.ts +2 -0
  191. package/lib/engine-components/SyncedCamera.js +2 -0
  192. package/lib/engine-components/SyncedCamera.js.map +1 -1
  193. package/lib/engine-components/SyncedRoom.d.ts +1 -0
  194. package/lib/engine-components/SyncedRoom.js +1 -0
  195. package/lib/engine-components/SyncedRoom.js.map +1 -1
  196. package/lib/engine-components/SyncedTransform.d.ts +2 -0
  197. package/lib/engine-components/SyncedTransform.js +2 -0
  198. package/lib/engine-components/SyncedTransform.js.map +1 -1
  199. package/lib/engine-components/TransformGizmo.d.ts +2 -0
  200. package/lib/engine-components/TransformGizmo.js +2 -0
  201. package/lib/engine-components/TransformGizmo.js.map +1 -1
  202. package/lib/engine-components/VideoPlayer.d.ts +1 -0
  203. package/lib/engine-components/VideoPlayer.js +1 -0
  204. package/lib/engine-components/VideoPlayer.js.map +1 -1
  205. package/lib/engine-components/Voip.d.ts +1 -0
  206. package/lib/engine-components/Voip.js +1 -0
  207. package/lib/engine-components/Voip.js.map +1 -1
  208. package/lib/engine-components/export/usdz/USDZExporter.d.ts +24 -3
  209. package/lib/engine-components/export/usdz/USDZExporter.js +36 -2
  210. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  211. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +18 -0
  212. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +18 -0
  213. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -1
  214. package/lib/engine-components/particlesystem/ParticleSystem.d.ts +1 -0
  215. package/lib/engine-components/particlesystem/ParticleSystem.js +1 -0
  216. package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
  217. package/lib/engine-components/physics/Attractor.d.ts +3 -0
  218. package/lib/engine-components/physics/Attractor.js +3 -0
  219. package/lib/engine-components/physics/Attractor.js.map +1 -1
  220. package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +1 -0
  221. package/lib/engine-components/postprocessing/Effects/BloomEffect.js +1 -0
  222. package/lib/engine-components/postprocessing/Effects/BloomEffect.js.map +1 -1
  223. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +4 -0
  224. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +4 -0
  225. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js.map +1 -1
  226. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +3 -0
  227. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +3 -0
  228. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js.map +1 -1
  229. package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +4 -0
  230. package/lib/engine-components/postprocessing/Effects/DepthOfField.js +4 -0
  231. package/lib/engine-components/postprocessing/Effects/DepthOfField.js.map +1 -1
  232. package/lib/engine-components/postprocessing/Effects/EffectWrapper.d.ts +1 -0
  233. package/lib/engine-components/postprocessing/Effects/EffectWrapper.js +1 -0
  234. package/lib/engine-components/postprocessing/Effects/EffectWrapper.js.map +1 -1
  235. package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +3 -0
  236. package/lib/engine-components/postprocessing/Effects/Pixelation.js +3 -0
  237. package/lib/engine-components/postprocessing/Effects/Pixelation.js.map +1 -1
  238. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +4 -0
  239. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +4 -0
  240. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js.map +1 -1
  241. package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +4 -0
  242. package/lib/engine-components/postprocessing/Effects/Sharpening.js +4 -0
  243. package/lib/engine-components/postprocessing/Effects/Sharpening.js.map +1 -1
  244. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +4 -0
  245. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +4 -0
  246. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js.map +1 -1
  247. package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +4 -0
  248. package/lib/engine-components/postprocessing/Effects/Tonemapping.js +4 -0
  249. package/lib/engine-components/postprocessing/Effects/Tonemapping.js.map +1 -1
  250. package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +4 -0
  251. package/lib/engine-components/postprocessing/Effects/Vignette.js +4 -0
  252. package/lib/engine-components/postprocessing/Effects/Vignette.js.map +1 -1
  253. package/lib/engine-components/postprocessing/Volume.d.ts +1 -0
  254. package/lib/engine-components/postprocessing/Volume.js +1 -0
  255. package/lib/engine-components/postprocessing/Volume.js.map +1 -1
  256. package/lib/engine-components/splines/Spline.d.ts +1 -0
  257. package/lib/engine-components/splines/Spline.js +1 -0
  258. package/lib/engine-components/splines/Spline.js.map +1 -1
  259. package/lib/engine-components/splines/SplineWalker.d.ts +1 -0
  260. package/lib/engine-components/splines/SplineWalker.js +1 -0
  261. package/lib/engine-components/splines/SplineWalker.js.map +1 -1
  262. package/lib/engine-components/timeline/PlayableDirector.d.ts +1 -0
  263. package/lib/engine-components/timeline/PlayableDirector.js +1 -0
  264. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  265. package/lib/engine-components/timeline/SignalAsset.d.ts +1 -0
  266. package/lib/engine-components/timeline/SignalAsset.js +1 -0
  267. package/lib/engine-components/timeline/SignalAsset.js.map +1 -1
  268. package/lib/engine-components/ui/Button.d.ts +4 -0
  269. package/lib/engine-components/ui/Button.js +4 -0
  270. package/lib/engine-components/ui/Button.js.map +1 -1
  271. package/lib/engine-components/ui/Canvas.d.ts +5 -0
  272. package/lib/engine-components/ui/Canvas.js +5 -0
  273. package/lib/engine-components/ui/Canvas.js.map +1 -1
  274. package/lib/engine-components/ui/CanvasGroup.d.ts +4 -0
  275. package/lib/engine-components/ui/CanvasGroup.js +4 -0
  276. package/lib/engine-components/ui/CanvasGroup.js.map +1 -1
  277. package/lib/engine-components/ui/EventSystem.d.ts +2 -0
  278. package/lib/engine-components/ui/EventSystem.js +2 -0
  279. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  280. package/lib/engine-components/ui/Image.d.ts +4 -0
  281. package/lib/engine-components/ui/Image.js +4 -0
  282. package/lib/engine-components/ui/Image.js.map +1 -1
  283. package/lib/engine-components/ui/InputField.d.ts +4 -0
  284. package/lib/engine-components/ui/InputField.js +4 -0
  285. package/lib/engine-components/ui/InputField.js.map +1 -1
  286. package/lib/engine-components/ui/Outline.d.ts +7 -0
  287. package/lib/engine-components/ui/Outline.js +7 -0
  288. package/lib/engine-components/ui/Outline.js.map +1 -1
  289. package/lib/engine-components/ui/Text.d.ts +1 -0
  290. package/lib/engine-components/ui/Text.js +1 -0
  291. package/lib/engine-components/ui/Text.js.map +1 -1
  292. package/lib/engine-components/utils/LookAt.d.ts +1 -0
  293. package/lib/engine-components/utils/LookAt.js +1 -0
  294. package/lib/engine-components/utils/LookAt.js.map +1 -1
  295. package/lib/engine-components/web/Clickthrough.d.ts +1 -1
  296. package/lib/engine-components/web/Clickthrough.js +1 -1
  297. package/lib/engine-components/web/CursorFollow.d.ts +2 -0
  298. package/lib/engine-components/web/CursorFollow.js +3 -0
  299. package/lib/engine-components/web/CursorFollow.js.map +1 -1
  300. package/lib/engine-components/web/HoverAnimation.d.ts +1 -0
  301. package/lib/engine-components/web/HoverAnimation.js +1 -0
  302. package/lib/engine-components/web/HoverAnimation.js.map +1 -1
  303. package/lib/engine-components/web/ScrollFollow.d.ts +2 -0
  304. package/lib/engine-components/web/ScrollFollow.js +2 -0
  305. package/lib/engine-components/web/ScrollFollow.js.map +1 -1
  306. package/lib/engine-components/web/ViewBox.d.ts +1 -0
  307. package/lib/engine-components/web/ViewBox.js +1 -0
  308. package/lib/engine-components/web/ViewBox.js.map +1 -1
  309. package/lib/engine-components/webxr/Avatar.d.ts +5 -0
  310. package/lib/engine-components/webxr/Avatar.js +5 -0
  311. package/lib/engine-components/webxr/Avatar.js.map +1 -1
  312. package/lib/engine-components/webxr/WebARCameraBackground.d.ts +1 -0
  313. package/lib/engine-components/webxr/WebARCameraBackground.js +1 -0
  314. package/lib/engine-components/webxr/WebARCameraBackground.js.map +1 -1
  315. package/lib/engine-components/webxr/WebARSessionRoot.d.ts +1 -0
  316. package/lib/engine-components/webxr/WebARSessionRoot.js +1 -0
  317. package/lib/engine-components/webxr/WebARSessionRoot.js.map +1 -1
  318. package/lib/engine-components/webxr/WebXR.d.ts +1 -1
  319. package/lib/engine-components/webxr/WebXR.js +5 -1
  320. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  321. package/lib/engine-components/webxr/controllers/XRControllerFollow.d.ts +1 -0
  322. package/lib/engine-components/webxr/controllers/XRControllerFollow.js +1 -0
  323. package/lib/engine-components/webxr/controllers/XRControllerFollow.js.map +1 -1
  324. package/lib/engine-components/webxr/controllers/XRControllerModel.d.ts +4 -0
  325. package/lib/engine-components/webxr/controllers/XRControllerModel.js +5 -1
  326. package/lib/engine-components/webxr/controllers/XRControllerModel.js.map +1 -1
  327. package/lib/engine-components/webxr/controllers/XRControllerMovement.d.ts +1 -0
  328. package/lib/engine-components/webxr/controllers/XRControllerMovement.js +1 -0
  329. package/lib/engine-components/webxr/controllers/XRControllerMovement.js.map +1 -1
  330. package/lib/engine-components-experimental/networking/PlayerSync.d.ts +2 -0
  331. package/lib/engine-components-experimental/networking/PlayerSync.js +2 -0
  332. package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
  333. package/lib/needle-engine.js +2 -1
  334. package/lib/needle-engine.js.map +1 -1
  335. package/package.json +18 -12
  336. package/plugins/types/needleConfig.d.ts +1 -1
  337. package/plugins/types/next.d.ts +1 -1
  338. package/plugins/types/userconfig.d.ts +1 -1
  339. package/src/engine/debug/debug_spector.ts +43 -0
  340. package/src/engine/engine_application.ts +16 -1
  341. package/src/engine/engine_context.ts +41 -7
  342. package/src/engine/engine_loaders.ts +6 -6
  343. package/src/engine/engine_physics.ts +6 -2
  344. package/src/engine/engine_physics_rapier.ts +11 -2
  345. package/src/engine/engine_scenelighting.ts +30 -8
  346. package/src/engine/engine_texture.ts +1 -1
  347. package/src/engine/engine_tonemapping.ts +1 -1
  348. package/src/engine/engine_types.ts +17 -0
  349. package/src/engine/engine_typestore.ts +5 -6
  350. package/src/engine/extensions/NEEDLE_lightmaps.ts +2 -2
  351. package/src/engine/extensions/extensions.ts +11 -5
  352. package/src/engine/webcomponents/logo-element.ts +12 -0
  353. package/src/engine/webcomponents/needle menu/needle-menu.ts +24 -3
  354. package/src/engine/webcomponents/needle-button.ts +6 -0
  355. package/src/engine/webcomponents/needle-engine.attributes.ts +12 -3
  356. package/src/engine/webcomponents/needle-engine.ts +165 -13
  357. package/src/engine/xr/NeedleXRSession.ts +3 -1
  358. package/src/engine-components/AlignmentConstraint.ts +9 -0
  359. package/src/engine-components/Animator.ts +1 -0
  360. package/src/engine-components/AudioListener.ts +2 -0
  361. package/src/engine-components/AudioSource.ts +1 -0
  362. package/src/engine-components/AxesHelper.ts +2 -0
  363. package/src/engine-components/Camera.ts +1 -0
  364. package/src/engine-components/CharacterController.ts +4 -1
  365. package/src/engine-components/Component.ts +9 -1
  366. package/src/engine-components/DeleteBox.ts +2 -0
  367. package/src/engine-components/DeviceFlag.ts +4 -0
  368. package/src/engine-components/DragControls.ts +1 -0
  369. package/src/engine-components/DropListener.ts +1 -0
  370. package/src/engine-components/Duplicatable.ts +1 -0
  371. package/src/engine-components/EventTrigger.ts +2 -0
  372. package/src/engine-components/GridHelper.ts +2 -0
  373. package/src/engine-components/GroundProjection.ts +1 -0
  374. package/src/engine-components/LODGroup.ts +2 -0
  375. package/src/engine-components/Light.ts +1 -0
  376. package/src/engine-components/LookAtConstraint.ts +1 -0
  377. package/src/engine-components/NeedleMenu.ts +1 -0
  378. package/src/engine-components/NestedGltf.ts +1 -0
  379. package/src/engine-components/Networking.ts +1 -0
  380. package/src/engine-components/OffsetConstraint.ts +7 -0
  381. package/src/engine-components/OrbitControls.ts +1 -0
  382. package/src/engine-components/PlayerColor.ts +2 -0
  383. package/src/engine-components/ReflectionProbe.ts +19 -10
  384. package/src/engine-components/Renderer.ts +2 -2
  385. package/src/engine-components/RendererInstancing.ts +69 -33
  386. package/src/engine-components/RigidBody.ts +1 -0
  387. package/src/engine-components/SceneSwitcher.ts +1 -0
  388. package/src/engine-components/ScreenCapture.ts +1 -0
  389. package/src/engine-components/SeeThrough.ts +1 -0
  390. package/src/engine-components/ShadowCatcher.ts +2 -0
  391. package/src/engine-components/Skybox.ts +48 -36
  392. package/src/engine-components/SmoothFollow.ts +1 -0
  393. package/src/engine-components/SpatialTrigger.ts +1 -0
  394. package/src/engine-components/SpectatorCamera.ts +1 -0
  395. package/src/engine-components/SpriteRenderer.ts +1 -0
  396. package/src/engine-components/SyncedCamera.ts +2 -0
  397. package/src/engine-components/SyncedRoom.ts +1 -0
  398. package/src/engine-components/SyncedTransform.ts +2 -0
  399. package/src/engine-components/TransformGizmo.ts +2 -0
  400. package/src/engine-components/VideoPlayer.ts +1 -0
  401. package/src/engine-components/Voip.ts +1 -0
  402. package/src/engine-components/export/usdz/USDZExporter.ts +52 -5
  403. package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +18 -0
  404. package/src/engine-components/particlesystem/ParticleSystem.ts +1 -0
  405. package/src/engine-components/physics/Attractor.ts +3 -0
  406. package/src/engine-components/postprocessing/Effects/BloomEffect.ts +1 -0
  407. package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +4 -0
  408. package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +3 -0
  409. package/src/engine-components/postprocessing/Effects/DepthOfField.ts +4 -0
  410. package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +1 -0
  411. package/src/engine-components/postprocessing/Effects/Pixelation.ts +3 -0
  412. package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +4 -0
  413. package/src/engine-components/postprocessing/Effects/Sharpening.ts +4 -0
  414. package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +4 -0
  415. package/src/engine-components/postprocessing/Effects/Tonemapping.ts +4 -0
  416. package/src/engine-components/postprocessing/Effects/Vignette.ts +4 -0
  417. package/src/engine-components/postprocessing/Volume.ts +1 -0
  418. package/src/engine-components/splines/Spline.ts +1 -0
  419. package/src/engine-components/splines/SplineWalker.ts +1 -0
  420. package/src/engine-components/timeline/PlayableDirector.ts +1 -0
  421. package/src/engine-components/timeline/SignalAsset.ts +1 -0
  422. package/src/engine-components/ui/Button.ts +4 -0
  423. package/src/engine-components/ui/Canvas.ts +5 -0
  424. package/src/engine-components/ui/CanvasGroup.ts +4 -0
  425. package/src/engine-components/ui/EventSystem.ts +2 -0
  426. package/src/engine-components/ui/Image.ts +4 -0
  427. package/src/engine-components/ui/InputField.ts +4 -0
  428. package/src/engine-components/ui/Outline.ts +7 -0
  429. package/src/engine-components/ui/Text.ts +1 -0
  430. package/src/engine-components/utils/LookAt.ts +1 -0
  431. package/src/engine-components/web/Clickthrough.ts +1 -1
  432. package/src/engine-components/web/CursorFollow.ts +4 -0
  433. package/src/engine-components/web/HoverAnimation.ts +1 -0
  434. package/src/engine-components/web/ScrollFollow.ts +2 -0
  435. package/src/engine-components/web/ViewBox.ts +1 -0
  436. package/src/engine-components/webxr/Avatar.ts +5 -0
  437. package/src/engine-components/webxr/WebARCameraBackground.ts +1 -0
  438. package/src/engine-components/webxr/WebARSessionRoot.ts +1 -0
  439. package/src/engine-components/webxr/WebXR.ts +5 -1
  440. package/src/engine-components/webxr/controllers/XRControllerFollow.ts +1 -0
  441. package/src/engine-components/webxr/controllers/XRControllerModel.ts +5 -1
  442. package/src/engine-components/webxr/controllers/XRControllerMovement.ts +1 -0
  443. package/src/engine-components-experimental/networking/PlayerSync.ts +2 -0
  444. package/src/needle-engine.ts +4 -2
  445. package/dist/generateMeshBVH.worker-B9bjdr6J.js +0 -25
  446. package/dist/loader.worker-CiTwpNPW.js +0 -27
  447. package/dist/rapier-BqdcSmKY.umd.cjs +0 -1
  448. package/dist/rapier-Cg3w3nFI.min.js +0 -1
  449. package/dist/rapier-sU12SWAs.js +0 -5217
@@ -1,19 +1,24 @@
1
1
  /// <reference types="webxr" />
2
2
  import { Context } from "../engine_setup.js";
3
- import { type INeedleEngineComponent } from "../engine_types.js";
4
- import { TonemappingAttributeOptions } from "./needle-engine.attributes.js";
3
+ import { type INeedleEngineComponent, type LoadedModel } from "../engine_types.js";
4
+ import { NeedleEngineAttributes, TonemappingAttributeOptions } from "./needle-engine.attributes.js";
5
+ declare global {
6
+ interface HTMLElementTagNameMap {
7
+ "needle-engine": NeedleEngineWebComponent;
8
+ }
9
+ }
5
10
  /**
6
- * <needle-engine> web component. See {@link NeedleEngineAttributes} attributes for supported attributes
7
- * The needle engine web component creates and manages a needle engine context which is responsible for rendering a 3D scene using threejs.
8
- * The needle engine context is created when the src attribute is set and disposed when the needle engine is removed from the document (you can prevent this by setting the keep-alive attribute to true).
9
- * The needle engine context is accessible via the context property on the needle engine element (e.g. document.querySelector("needle-engine").context).
11
+ * The `<needle-engine>` web component. See {@link NeedleEngineAttributes} attributes for supported attributes
12
+ * The web component creates and manages a Needle Engine context, which is responsible for rendering a 3D scene using threejs.
13
+ * The context is created when the `src` attribute is set, and disposed when the element is removed from the DOM. You can prevent cleanup by setting the `keep-alive` attribute to `true`.
14
+ * The context is accessible from the `<needle-engine>` element: `document.querySelector("needle-engine").context`.
10
15
  * See {@link https://engine.needle.tools/docs/reference/needle-engine-attributes}
11
16
  *
12
17
  * @example
13
18
  * <needle-engine src="https://example.com/scene.glb"></needle-engine>
14
19
  * @example
15
20
  * <needle-engine src="https://example.com/scene.glb" camera-controls="false"></needle-engine>
16
- */
21
+ */
17
22
  export declare class NeedleEngineWebComponent extends HTMLElement implements INeedleEngineComponent {
18
23
  static get observedAttributes(): string[];
19
24
  get loadingProgress01(): number;
@@ -49,7 +54,7 @@ export declare class NeedleEngineWebComponent extends HTMLElement implements INe
49
54
  private _loadingProgress01;
50
55
  private _loadingView?;
51
56
  private _previousSrc;
52
- /** set to true after <needle-engine> did load completely at least once. Set to false when <needle-engine> is removed from the document */
57
+ /** @private set to true after <needle-engine> did load completely at least once. Set to false when < to false when <needle-engine> is removed from the document removed from the document */
53
58
  private _didFullyLoad;
54
59
  constructor();
55
60
  /**
@@ -60,6 +65,7 @@ export declare class NeedleEngineWebComponent extends HTMLElement implements INe
60
65
  * @internal
61
66
  */
62
67
  disconnectedCallback(): void;
68
+ connectedMoveCallback(): void;
63
69
  /**
64
70
  * @internal
65
71
  */
@@ -113,4 +119,152 @@ export declare class NeedleEngineWebComponent extends HTMLElement implements INe
113
119
  private setupElementsForMode;
114
120
  private foreachHtmlElement;
115
121
  private onBeforeBeginLoading;
122
+ /** Change which model gets loaded. This will trigger a reload of the model. */
123
+ setAttribute(name: 'src', value: string | string[]): void;
124
+ /** Optional string that will be applied to the context as a hash and can influence caching/identification. */
125
+ setAttribute(name: 'hash', value: string): void;
126
+ /** Public key used for licensing and feature gating (read-only on runtime if compiled-in). */
127
+ setAttribute(name: 'public-key', value: string): void;
128
+ /** Engine version string — usually set by the build/runtime. */
129
+ setAttribute(name: 'version', value: string): void;
130
+ /** If set to false the camera controls are disabled. Accepted values: true/false/none. Default behaviour is enabled. */
131
+ setAttribute(name: 'camera-controls', value: string): void;
132
+ /** Override path for the Draco decoder files. */
133
+ setAttribute(name: 'dracoDecoderPath', value: string): void;
134
+ /** Choose Draco decoder type: 'wasm' or 'js'. */
135
+ setAttribute(name: 'dracoDecoderType', value: 'wasm' | 'js'): void;
136
+ /** Override path for the KTX2 transcoder/decoder files. */
137
+ setAttribute(name: 'ktx2DecoderPath', value: string): void;
138
+ /** Tonemapping mode. Accepted values: 'none' | 'linear' | 'agx' | 'neutral'. */
139
+ setAttribute(name: 'tone-mapping', value: 'none' | 'linear' | 'agx' | 'neutral'): void;
140
+ /** Numeric exposure multiplier for tonemapping; accepts number or stringified number. */
141
+ setAttribute(name: 'tone-mapping-exposure', value: string | number): void;
142
+ /** Background image blur strength (0..1). Accepts number or string value. */
143
+ setAttribute(name: 'background-blurriness', value: string | number): void;
144
+ /** CSS color for the background; string color value expected (e.g. '#fff', 'rgba()' etc). */
145
+ setAttribute(name: 'background-color', value: string): void;
146
+ /** Intensity multiplier for environment lighting; accepts numeric value or string. */
147
+ setAttribute(name: 'environment-intensity', value: string | number): void;
148
+ /** When true the engine context is kept alive after the element is removed from DOM. Use 'true' or 'false'. */
149
+ setAttribute(name: 'keep-alive', value: 'true' | 'false'): void;
150
+ /** Generic typed setter for known Needle Engine attributes (useful from TS):
151
+ * setAttribute<T extends keyof NeedleEngineAttributes>(name, value) will type-check against the declared attribute shape.
152
+ */
153
+ setAttribute<T extends keyof NeedleEngineAttributes>(qualifiedName: T, value: NeedleEngineAttributes[T]): void;
154
+ setAttribute(qualifiedName: ({} & string), value: string): void;
155
+ /** Read the `src` attribute. Returns string, string[] (if codegen provided an array) or null if unset. */
156
+ getAttribute(name: 'src'): string | string[] | null;
157
+ /** Read the `hash` attribute — an optional string attached to the context for caching/identification. */
158
+ getAttribute(name: 'hash'): string | null;
159
+ /** Read the `public-key` attribute used for licensing/feature gating. */
160
+ getAttribute(name: 'public-key'): string | null;
161
+ /** Read the `version` attribute — the engine build/version string. */
162
+ getAttribute(name: 'version'): string | null;
163
+ /** Read the `camera-controls` attribute; string values include 'true'|'false'|'none' or null if unset. */
164
+ getAttribute(name: 'camera-controls'): string | null;
165
+ /** Read custom Draco decoder path if configured. */
166
+ getAttribute(name: 'dracoDecoderPath'): string | null;
167
+ /** Read Draco decoder type ('wasm'|'js') if configured. */
168
+ getAttribute(name: 'dracoDecoderType'): string | null;
169
+ /** Read custom KTX2 decoder/transcoder path if configured. */
170
+ getAttribute(name: 'ktx2DecoderPath'): string | null;
171
+ /** Read configured tone-mapping value, as a string matching accepted modes (none, linear, neutral, agx). */
172
+ getAttribute(name: 'tone-mapping'): string | null;
173
+ /** Read tone-mapping exposure multiplier (string or numeric string). */
174
+ getAttribute(name: 'tone-mapping-exposure'): string | null;
175
+ /** Read background-blurriness value (0..1) as string or null. */
176
+ getAttribute(name: 'background-blurriness'): string | null;
177
+ /** Read CSS background-color string value (e.g. '#fff', 'rgba()'). */
178
+ getAttribute(name: 'background-color'): string | null;
179
+ /** Read environment-intensity (numeric) as string or null. */
180
+ getAttribute(name: 'environment-intensity'): string | null;
181
+ /** Read keep-alive attribute; presence ("true") prevents the context from being disposed on disconnect. */
182
+ getAttribute(name: 'keep-alive'): string | null;
183
+ /** Defines a CSS selector or HTMLElement used to define the camera focus rectangle. */
184
+ getAttribute(name: 'focus-rect'): string | null;
185
+ /** @private */
186
+ getAttribute(name: 'loading-blur'): string | null;
187
+ /** @private */
188
+ getAttribute(name: 'alias'): string | null;
189
+ /** Typed getter for known NeedleEngine attribute names; returns the typed shape declared in NeedleEngineAttributes or null. */
190
+ getAttribute<T extends keyof NeedleEngineAttributes>(qualifiedName: T): NeedleEngineAttributes[T] | null;
191
+ getAttribute(qualifiedName: ({} & string)): string | null;
192
+ /**
193
+ * Emitted when loading begins for the engine/scene. The event is cancelable — calling preventDefault()
194
+ * will stop the default loading UI behavior (apps can implement custom loading flows).
195
+ * Event contains a small detail object with context and optional alias.
196
+ */
197
+ addEventListener(type: 'loadstart', listener: (ev: CustomEvent<{
198
+ context: Context;
199
+ alias: string | null;
200
+ }>) => void, options?: boolean | AddEventListenerOptions): void;
201
+ /**
202
+ * Emitted repeatedly while loading resources. Use the event detail to show progress:
203
+ * Event contains progress metadata to report loader state.
204
+ */
205
+ addEventListener(type: 'progress', listener: (ev: CustomEvent<{
206
+ context: Context;
207
+ name: string;
208
+ progress: ProgressEvent<EventTarget>;
209
+ index: number;
210
+ count: number;
211
+ totalProgress01: number;
212
+ }>) => void, options?: boolean | AddEventListenerOptions): void;
213
+ /**
214
+ * Emitted when the initial loading has finished. detail contains the context, the source alias (if available) and a list of loaded models.
215
+ * Emitted when the initial load completes; contains helpful summary data.
216
+ */
217
+ addEventListener(type: 'loadfinished', listener: (ev: CustomEvent<{
218
+ context: Context;
219
+ src: string | null;
220
+ loadedFiles: LoadedModel[];
221
+ }>) => void, options?: boolean | AddEventListenerOptions): void;
222
+ /**
223
+ * Emitted when an XR session ends.
224
+ */
225
+ addEventListener(type: 'xr-session-ended', listener: (ev: CustomEvent<{
226
+ session: XRSession | null;
227
+ context: Context;
228
+ sessionMode: XRSessionMode | undefined;
229
+ }>) => void, options?: boolean | AddEventListenerOptions): void;
230
+ /**
231
+ * Emitted when entering AR.
232
+ */
233
+ addEventListener(type: 'enter-ar', listener: (ev: CustomEvent<{
234
+ session: XRSession;
235
+ context: Context;
236
+ htmlContainer: HTMLElement | null;
237
+ }>) => void, options?: boolean | AddEventListenerOptions): void;
238
+ /**
239
+ * Emitted when exiting AR.
240
+ */
241
+ addEventListener(type: 'exit-ar', listener: (ev: CustomEvent<{
242
+ session: XRSession;
243
+ context: Context;
244
+ htmlContainer: HTMLElement | null;
245
+ }>) => void, options?: boolean | AddEventListenerOptions): void;
246
+ /**
247
+ * Emitted when entering VR.
248
+ */
249
+ addEventListener(type: 'enter-vr', listener: (ev: CustomEvent<{
250
+ session: XRSession;
251
+ context: Context;
252
+ }>) => void, options?: boolean | AddEventListenerOptions): void;
253
+ /**
254
+ * Emitted when exiting VR.
255
+ */
256
+ addEventListener(type: 'exit-vr', listener: (ev: CustomEvent<{
257
+ session: XRSession;
258
+ context: Context;
259
+ }>) => void, options?: boolean | AddEventListenerOptions): void;
260
+ /** Emitted when the engine has rendered its first frame and is ready. */
261
+ addEventListener(type: 'ready', listener: (ev: Event) => void, options?: boolean | AddEventListenerOptions): void;
262
+ /** Emitted when an XR session is started — useful to prepare AR/VR UI. */
263
+ addEventListener(type: 'xr-session-started', listener: (ev: CustomEvent<{
264
+ session: XRSession;
265
+ context: Context;
266
+ }>) => void, options?: boolean | AddEventListenerOptions): void;
267
+ addEventListener<K extends keyof HTMLElementEventMap>(type: ({} & K), listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => unknown, options?: boolean | AddEventListenerOptions): void;
268
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
269
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
116
270
  }
@@ -42,17 +42,17 @@ const observedAttributes = [
42
42
  ];
43
43
  // https://developers.google.com/web/fundamentals/web-components/customelements
44
44
  /**
45
- * <needle-engine> web component. See {@link NeedleEngineAttributes} attributes for supported attributes
46
- * The needle engine web component creates and manages a needle engine context which is responsible for rendering a 3D scene using threejs.
47
- * The needle engine context is created when the src attribute is set and disposed when the needle engine is removed from the document (you can prevent this by setting the keep-alive attribute to true).
48
- * The needle engine context is accessible via the context property on the needle engine element (e.g. document.querySelector("needle-engine").context).
45
+ * The `<needle-engine>` web component. See {@link NeedleEngineAttributes} attributes for supported attributes
46
+ * The web component creates and manages a Needle Engine context, which is responsible for rendering a 3D scene using threejs.
47
+ * The context is created when the `src` attribute is set, and disposed when the element is removed from the DOM. You can prevent cleanup by setting the `keep-alive` attribute to `true`.
48
+ * The context is accessible from the `<needle-engine>` element: `document.querySelector("needle-engine").context`.
49
49
  * See {@link https://engine.needle.tools/docs/reference/needle-engine-attributes}
50
50
  *
51
51
  * @example
52
52
  * <needle-engine src="https://example.com/scene.glb"></needle-engine>
53
53
  * @example
54
54
  * <needle-engine src="https://example.com/scene.glb" camera-controls="false"></needle-engine>
55
- */
55
+ */
56
56
  export class NeedleEngineWebComponent extends HTMLElement {
57
57
  static get observedAttributes() {
58
58
  return observedAttributes;
@@ -117,7 +117,7 @@ export class NeedleEngineWebComponent extends HTMLElement {
117
117
  _loadingProgress01 = 0;
118
118
  _loadingView;
119
119
  _previousSrc = null;
120
- /** set to true after <needle-engine> did load completely at least once. Set to false when <needle-engine> is removed from the document */
120
+ /** @private set to true after <needle-engine> did load completely at least once. Set to false when < to false when <needle-engine> is removed from the document removed from the document */
121
121
  _didFullyLoad = false;
122
122
  constructor() {
123
123
  super();
@@ -271,6 +271,9 @@ export class NeedleEngineWebComponent extends HTMLElement {
271
271
  console.warn("<needle-engine> is not disposed because keep-alive is set");
272
272
  }
273
273
  }
274
+ connectedMoveCallback() {
275
+ // we dont want needle-engine to cleanup JUST because the element is moved in the DOM. See https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks
276
+ }
274
277
  /**
275
278
  * @internal
276
279
  */
@@ -295,7 +298,7 @@ export class NeedleEngineWebComponent extends HTMLElement {
295
298
  if (typeof newValue === "string" && newValue.length > 0) {
296
299
  if (debug)
297
300
  console.log(name + " attribute changed", newValue);
298
- this.registerEventFromAttribute(name, newValue);
301
+ this.registerEventFromAttribute("loadfinished", newValue);
299
302
  }
300
303
  break;
301
304
  case "dracoDecoderPath":
@@ -648,6 +651,7 @@ export class NeedleEngineWebComponent extends HTMLElement {
648
651
  // const fn = new Function(newValue);
649
652
  if (typeof fn === "function") {
650
653
  this._previouslyRegisteredMap.set(eventName, fn);
654
+ // @ts-ignore // not sure how to type this properly
651
655
  this.addEventListener(eventName, evt => fn?.call(globalThis, this._context, evt));
652
656
  }
653
657
  }
@@ -788,9 +792,31 @@ export class NeedleEngineWebComponent extends HTMLElement {
788
792
  setKtx2TranscoderPath(customKtx2DecoderPath);
789
793
  }
790
794
  }
795
+ setAttribute(qualifiedName, value) {
796
+ super.setAttribute(qualifiedName, value);
797
+ }
798
+ getAttribute(qualifiedName) {
799
+ return super.getAttribute(qualifiedName);
800
+ }
801
+ addEventListener(type, listener, options) {
802
+ return super.addEventListener(type, listener, options);
803
+ }
791
804
  }
792
805
  if (typeof window !== "undefined" && !window.customElements.get(htmlTagName))
793
806
  window.customElements.define(htmlTagName, NeedleEngineWebComponent);
807
+ /** Usage of the types declared above */
808
+ const elem = document.querySelector("needle-engine");
809
+ elem.setAttribute("src", "model.glb");
810
+ elem.addEventListener("loadfinished", (ev) => {
811
+ const context = ev.detail.context;
812
+ });
813
+ elem.setAttribute("dracoDecoderType", "wasm");
814
+ elem.addEventListener("enter-ar", (ev) => {
815
+ const session = ev.detail.session;
816
+ });
817
+ elem.addEventListener("mousedown", (ev) => {
818
+ console.log("regular mousedown event", ev);
819
+ });
794
820
  function getDisplayName(str) {
795
821
  if (str.startsWith("blob:")) {
796
822
  return "blob";
@@ -1 +1 @@
1
- {"version":3,"file":"needle-engine.js","sourceRoot":"","sources":["../../../src/engine/webcomponents/needle-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"needle-engine.js","sourceRoot":"","sources":["../../../src/engine/webcomponents/needle-engine.ts"],"names":[],"mappings":"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"}
@@ -449,8 +449,9 @@ export class NeedleXRSession {
449
449
  else
450
450
  console.log("%c" + `Requesting ${mode} session`, "font-weight:bold;");
451
451
  for (const script of scripts) {
452
- if (script.onBeforeXR)
452
+ if (script.onBeforeXR && script.activeAndEnabled && !script.destroyed) {
453
453
  script.onBeforeXR(mode, init);
454
+ }
454
455
  }
455
456
  for (const listener of this._sessionRequestStartListeners) {
456
457
  listener({ mode, init });