@needle-tools/engine 4.11.5 → 4.12.0-next.ca2cebd

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 (477) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/components.needle.json +1 -1
  3. package/custom-elements.json +420 -0
  4. package/dist/generateMeshBVH.worker-mO20N_b8.js +21 -0
  5. package/dist/{gltf-progressive-GwdQV1Qx.umd.cjs → gltf-progressive-DWcmTMCh.umd.cjs} +1 -1
  6. package/dist/{gltf-progressive-CftVUJy3.min.js → gltf-progressive-DZrY8VT6.min.js} +2 -2
  7. package/dist/{gltf-progressive-BvlZQAkt.js → gltf-progressive-DgYz5BYa.js} +19 -19
  8. package/dist/loader.worker-Dip-PthR.js +23 -0
  9. package/dist/{needle-engine.bundle-DYdft7n9.min.js → needle-engine.bundle-4A5NjznD.min.js} +130 -135
  10. package/dist/{needle-engine.bundle-DMqWdPzL.umd.cjs → needle-engine.bundle-BJg4_HhU.umd.cjs} +138 -143
  11. package/dist/{needle-engine.bundle-DSm5itjo.js → needle-engine.bundle-CFkbGdL5.js} +4368 -4241
  12. package/dist/needle-engine.d.ts +18198 -1
  13. package/dist/needle-engine.js +336 -335
  14. package/dist/needle-engine.min.js +1 -1
  15. package/dist/needle-engine.umd.cjs +1 -1
  16. package/dist/{postprocessing-CJC0Npcd.js → postprocessing-BTW9pD_s.js} +1822 -1723
  17. package/dist/{postprocessing-DrM4PWU3.umd.cjs → postprocessing-CMgoN5t5.umd.cjs} +229 -158
  18. package/dist/{postprocessing-l7zsdO_Q.min.js → postprocessing-DYDtB188.min.js} +227 -156
  19. package/dist/rapier-B3oL1ap-.js +5217 -0
  20. package/dist/rapier-DJ-luMxr.min.js +1 -0
  21. package/dist/rapier-DQltNJbN.umd.cjs +1 -0
  22. package/dist/{three-BDW9I486.min.js → three-B7CT31Bt.min.js} +1 -5
  23. package/dist/{three-MHVqtJYj.js → three-DfMvBzXi.js} +0 -5
  24. package/dist/{three-examples-CgwGHSgz.umd.cjs → three-examples-CsW4_6LI.umd.cjs} +2 -7
  25. package/dist/{three-examples-fvEPSC8L.min.js → three-examples-D1P7eEhn.min.js} +2 -7
  26. package/dist/{three-examples-C5Ht-QFN.js → three-examples-D1SK93ek.js} +1 -7
  27. package/dist/{three-mesh-ui-BjWTTk1R.js → three-mesh-ui-C_uSB5dD.js} +1 -1
  28. package/dist/{three-mesh-ui-Bm32sS2a.umd.cjs → three-mesh-ui-DpATDXwU.umd.cjs} +1 -1
  29. package/dist/{three-mesh-ui-CLdkp21K.min.js → three-mesh-ui-LQ44s0AL.min.js} +1 -1
  30. package/dist/{three-iFaDq9U3.umd.cjs → three-qj71I7J3.umd.cjs} +2 -6
  31. package/dist/{vendor-CsyK1CFs.min.js → vendor-BKGa4GE0.min.js} +34 -39
  32. package/dist/{vendor-petGQl0N.js → vendor-D0zoswDa.js} +1626 -1605
  33. package/dist/{vendor-6kAXU6fm.umd.cjs → vendor-UCpFAwt1.umd.cjs} +30 -35
  34. package/lib/engine/api.d.ts +0 -1
  35. package/lib/engine/api.js +0 -1
  36. package/lib/engine/api.js.map +1 -1
  37. package/lib/engine/debug/debug_spector.d.ts +16 -0
  38. package/lib/engine/debug/debug_spector.js +28 -0
  39. package/lib/engine/debug/debug_spector.js.map +1 -0
  40. package/lib/engine/engine_application.d.ts +7 -0
  41. package/lib/engine/engine_application.js +8 -1
  42. package/lib/engine/engine_application.js.map +1 -1
  43. package/lib/engine/engine_context.js +4 -1
  44. package/lib/engine/engine_context.js.map +1 -1
  45. package/lib/engine/engine_license.js +1 -1
  46. package/lib/engine/engine_license.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.d.ts +220 -8
  67. package/lib/engine/webcomponents/needle-engine.js +94 -13
  68. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  69. package/lib/engine/xr/NeedleXRSession.js +2 -1
  70. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  71. package/lib/engine-components/AlignmentConstraint.d.ts +8 -0
  72. package/lib/engine-components/AlignmentConstraint.js +8 -0
  73. package/lib/engine-components/AlignmentConstraint.js.map +1 -1
  74. package/lib/engine-components/Animation.d.ts +2 -0
  75. package/lib/engine-components/Animation.js +2 -0
  76. package/lib/engine-components/Animation.js.map +1 -1
  77. package/lib/engine-components/Animator.d.ts +2 -0
  78. package/lib/engine-components/Animator.js +1 -0
  79. package/lib/engine-components/Animator.js.map +1 -1
  80. package/lib/engine-components/AudioListener.d.ts +2 -0
  81. package/lib/engine-components/AudioListener.js +2 -0
  82. package/lib/engine-components/AudioListener.js.map +1 -1
  83. package/lib/engine-components/AudioSource.d.ts +1 -0
  84. package/lib/engine-components/AudioSource.js +1 -0
  85. package/lib/engine-components/AudioSource.js.map +1 -1
  86. package/lib/engine-components/AxesHelper.d.ts +2 -0
  87. package/lib/engine-components/AxesHelper.js +2 -0
  88. package/lib/engine-components/AxesHelper.js.map +1 -1
  89. package/lib/engine-components/BasicIKConstraint.d.ts +8 -0
  90. package/lib/engine-components/BasicIKConstraint.js +8 -0
  91. package/lib/engine-components/BasicIKConstraint.js.map +1 -1
  92. package/lib/engine-components/BoxHelperComponent.d.ts +1 -0
  93. package/lib/engine-components/BoxHelperComponent.js +1 -0
  94. package/lib/engine-components/BoxHelperComponent.js.map +1 -1
  95. package/lib/engine-components/Camera.d.ts +1 -0
  96. package/lib/engine-components/Camera.js +1 -0
  97. package/lib/engine-components/Camera.js.map +1 -1
  98. package/lib/engine-components/CharacterController.d.ts +4 -1
  99. package/lib/engine-components/CharacterController.js +4 -1
  100. package/lib/engine-components/CharacterController.js.map +1 -1
  101. package/lib/engine-components/Collider.d.ts +1 -1
  102. package/lib/engine-components/Collider.js +1 -1
  103. package/lib/engine-components/Component.d.ts +5 -0
  104. package/lib/engine-components/Component.js +7 -0
  105. package/lib/engine-components/Component.js.map +1 -1
  106. package/lib/engine-components/ContactShadows.d.ts +1 -1
  107. package/lib/engine-components/ContactShadows.js +1 -1
  108. package/lib/engine-components/DeleteBox.d.ts +2 -0
  109. package/lib/engine-components/DeleteBox.js +2 -0
  110. package/lib/engine-components/DeleteBox.js.map +1 -1
  111. package/lib/engine-components/DeviceFlag.d.ts +4 -0
  112. package/lib/engine-components/DeviceFlag.js +4 -0
  113. package/lib/engine-components/DeviceFlag.js.map +1 -1
  114. package/lib/engine-components/DragControls.d.ts +1 -0
  115. package/lib/engine-components/DragControls.js +1 -0
  116. package/lib/engine-components/DragControls.js.map +1 -1
  117. package/lib/engine-components/DropListener.d.ts +1 -0
  118. package/lib/engine-components/DropListener.js +1 -0
  119. package/lib/engine-components/DropListener.js.map +1 -1
  120. package/lib/engine-components/Duplicatable.d.ts +1 -0
  121. package/lib/engine-components/Duplicatable.js +1 -0
  122. package/lib/engine-components/Duplicatable.js.map +1 -1
  123. package/lib/engine-components/EventTrigger.d.ts +2 -0
  124. package/lib/engine-components/EventTrigger.js +2 -0
  125. package/lib/engine-components/EventTrigger.js.map +1 -1
  126. package/lib/engine-components/Gizmos.d.ts +2 -0
  127. package/lib/engine-components/Gizmos.js +2 -0
  128. package/lib/engine-components/Gizmos.js.map +1 -1
  129. package/lib/engine-components/GridHelper.d.ts +2 -0
  130. package/lib/engine-components/GridHelper.js +2 -0
  131. package/lib/engine-components/GridHelper.js.map +1 -1
  132. package/lib/engine-components/GroundProjection.d.ts +1 -0
  133. package/lib/engine-components/GroundProjection.js +1 -0
  134. package/lib/engine-components/GroundProjection.js.map +1 -1
  135. package/lib/engine-components/Joints.d.ts +6 -0
  136. package/lib/engine-components/Joints.js +6 -0
  137. package/lib/engine-components/Joints.js.map +1 -1
  138. package/lib/engine-components/LODGroup.d.ts +2 -0
  139. package/lib/engine-components/LODGroup.js +2 -0
  140. package/lib/engine-components/LODGroup.js.map +1 -1
  141. package/lib/engine-components/Light.d.ts +1 -0
  142. package/lib/engine-components/Light.js +1 -0
  143. package/lib/engine-components/Light.js.map +1 -1
  144. package/lib/engine-components/LookAtConstraint.d.ts +1 -0
  145. package/lib/engine-components/LookAtConstraint.js +1 -0
  146. package/lib/engine-components/LookAtConstraint.js.map +1 -1
  147. package/lib/engine-components/NeedleMenu.d.ts +1 -0
  148. package/lib/engine-components/NeedleMenu.js +1 -0
  149. package/lib/engine-components/NeedleMenu.js.map +1 -1
  150. package/lib/engine-components/NestedGltf.d.ts +1 -0
  151. package/lib/engine-components/NestedGltf.js +1 -0
  152. package/lib/engine-components/NestedGltf.js.map +1 -1
  153. package/lib/engine-components/Networking.d.ts +1 -0
  154. package/lib/engine-components/Networking.js +1 -0
  155. package/lib/engine-components/Networking.js.map +1 -1
  156. package/lib/engine-components/OffsetConstraint.d.ts +7 -0
  157. package/lib/engine-components/OffsetConstraint.js +7 -0
  158. package/lib/engine-components/OffsetConstraint.js.map +1 -1
  159. package/lib/engine-components/OrbitControls.d.ts +1 -0
  160. package/lib/engine-components/OrbitControls.js +1 -0
  161. package/lib/engine-components/OrbitControls.js.map +1 -1
  162. package/lib/engine-components/PlayerColor.d.ts +2 -0
  163. package/lib/engine-components/PlayerColor.js +2 -0
  164. package/lib/engine-components/PlayerColor.js.map +1 -1
  165. package/lib/engine-components/ReflectionProbe.d.ts +1 -0
  166. package/lib/engine-components/ReflectionProbe.js +1 -0
  167. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  168. package/lib/engine-components/RendererInstancing.d.ts +5 -3
  169. package/lib/engine-components/RendererInstancing.js +64 -31
  170. package/lib/engine-components/RendererInstancing.js.map +1 -1
  171. package/lib/engine-components/RigidBody.d.ts +1 -0
  172. package/lib/engine-components/RigidBody.js +1 -0
  173. package/lib/engine-components/RigidBody.js.map +1 -1
  174. package/lib/engine-components/SceneSwitcher.d.ts +1 -0
  175. package/lib/engine-components/SceneSwitcher.js +1 -0
  176. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  177. package/lib/engine-components/ScreenCapture.d.ts +1 -0
  178. package/lib/engine-components/ScreenCapture.js +1 -0
  179. package/lib/engine-components/ScreenCapture.js.map +1 -1
  180. package/lib/engine-components/SeeThrough.d.ts +1 -0
  181. package/lib/engine-components/SeeThrough.js +1 -0
  182. package/lib/engine-components/SeeThrough.js.map +1 -1
  183. package/lib/engine-components/ShadowCatcher.d.ts +2 -0
  184. package/lib/engine-components/ShadowCatcher.js +2 -0
  185. package/lib/engine-components/ShadowCatcher.js.map +1 -1
  186. package/lib/engine-components/Skybox.d.ts +16 -5
  187. package/lib/engine-components/Skybox.js +38 -25
  188. package/lib/engine-components/Skybox.js.map +1 -1
  189. package/lib/engine-components/SmoothFollow.d.ts +1 -0
  190. package/lib/engine-components/SmoothFollow.js +1 -0
  191. package/lib/engine-components/SmoothFollow.js.map +1 -1
  192. package/lib/engine-components/SpatialTrigger.d.ts +1 -0
  193. package/lib/engine-components/SpatialTrigger.js +1 -0
  194. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  195. package/lib/engine-components/SpectatorCamera.d.ts +1 -0
  196. package/lib/engine-components/SpectatorCamera.js +1 -0
  197. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  198. package/lib/engine-components/SpriteRenderer.d.ts +1 -0
  199. package/lib/engine-components/SpriteRenderer.js +1 -0
  200. package/lib/engine-components/SpriteRenderer.js.map +1 -1
  201. package/lib/engine-components/SyncedCamera.d.ts +2 -0
  202. package/lib/engine-components/SyncedCamera.js +2 -0
  203. package/lib/engine-components/SyncedCamera.js.map +1 -1
  204. package/lib/engine-components/SyncedRoom.d.ts +1 -0
  205. package/lib/engine-components/SyncedRoom.js +1 -0
  206. package/lib/engine-components/SyncedRoom.js.map +1 -1
  207. package/lib/engine-components/SyncedTransform.d.ts +2 -0
  208. package/lib/engine-components/SyncedTransform.js +2 -0
  209. package/lib/engine-components/SyncedTransform.js.map +1 -1
  210. package/lib/engine-components/TransformGizmo.d.ts +2 -0
  211. package/lib/engine-components/TransformGizmo.js +2 -0
  212. package/lib/engine-components/TransformGizmo.js.map +1 -1
  213. package/lib/engine-components/VideoPlayer.d.ts +1 -0
  214. package/lib/engine-components/VideoPlayer.js +1 -0
  215. package/lib/engine-components/VideoPlayer.js.map +1 -1
  216. package/lib/engine-components/Voip.d.ts +1 -0
  217. package/lib/engine-components/Voip.js +1 -0
  218. package/lib/engine-components/Voip.js.map +1 -1
  219. package/lib/engine-components/export/gltf/GltfExport.d.ts +5 -0
  220. package/lib/engine-components/export/gltf/GltfExport.js +5 -0
  221. package/lib/engine-components/export/gltf/GltfExport.js.map +1 -1
  222. package/lib/engine-components/export/usdz/USDZExporter.d.ts +25 -3
  223. package/lib/engine-components/export/usdz/USDZExporter.js +37 -2
  224. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  225. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +18 -0
  226. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +18 -0
  227. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -1
  228. package/lib/engine-components/particlesystem/ParticleSystem.d.ts +1 -0
  229. package/lib/engine-components/particlesystem/ParticleSystem.js +1 -0
  230. package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
  231. package/lib/engine-components/physics/Attractor.d.ts +3 -0
  232. package/lib/engine-components/physics/Attractor.js +3 -0
  233. package/lib/engine-components/physics/Attractor.js.map +1 -1
  234. package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +1 -0
  235. package/lib/engine-components/postprocessing/Effects/BloomEffect.js +1 -0
  236. package/lib/engine-components/postprocessing/Effects/BloomEffect.js.map +1 -1
  237. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +4 -0
  238. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +4 -0
  239. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js.map +1 -1
  240. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +3 -0
  241. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +3 -0
  242. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js.map +1 -1
  243. package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +4 -0
  244. package/lib/engine-components/postprocessing/Effects/DepthOfField.js +4 -0
  245. package/lib/engine-components/postprocessing/Effects/DepthOfField.js.map +1 -1
  246. package/lib/engine-components/postprocessing/Effects/EffectWrapper.d.ts +1 -0
  247. package/lib/engine-components/postprocessing/Effects/EffectWrapper.js +1 -0
  248. package/lib/engine-components/postprocessing/Effects/EffectWrapper.js.map +1 -1
  249. package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +3 -0
  250. package/lib/engine-components/postprocessing/Effects/Pixelation.js +3 -0
  251. package/lib/engine-components/postprocessing/Effects/Pixelation.js.map +1 -1
  252. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +4 -0
  253. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +4 -0
  254. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js.map +1 -1
  255. package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +4 -0
  256. package/lib/engine-components/postprocessing/Effects/Sharpening.js +4 -0
  257. package/lib/engine-components/postprocessing/Effects/Sharpening.js.map +1 -1
  258. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +4 -0
  259. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +4 -0
  260. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js.map +1 -1
  261. package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +4 -0
  262. package/lib/engine-components/postprocessing/Effects/Tonemapping.js +4 -0
  263. package/lib/engine-components/postprocessing/Effects/Tonemapping.js.map +1 -1
  264. package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +4 -0
  265. package/lib/engine-components/postprocessing/Effects/Vignette.js +4 -0
  266. package/lib/engine-components/postprocessing/Effects/Vignette.js.map +1 -1
  267. package/lib/engine-components/postprocessing/Volume.d.ts +1 -0
  268. package/lib/engine-components/postprocessing/Volume.js +1 -0
  269. package/lib/engine-components/postprocessing/Volume.js.map +1 -1
  270. package/lib/engine-components/splines/Spline.d.ts +1 -0
  271. package/lib/engine-components/splines/Spline.js +1 -0
  272. package/lib/engine-components/splines/Spline.js.map +1 -1
  273. package/lib/engine-components/splines/SplineWalker.d.ts +1 -0
  274. package/lib/engine-components/splines/SplineWalker.js +1 -0
  275. package/lib/engine-components/splines/SplineWalker.js.map +1 -1
  276. package/lib/engine-components/timeline/PlayableDirector.d.ts +1 -0
  277. package/lib/engine-components/timeline/PlayableDirector.js +1 -0
  278. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  279. package/lib/engine-components/timeline/SignalAsset.d.ts +1 -0
  280. package/lib/engine-components/timeline/SignalAsset.js +1 -0
  281. package/lib/engine-components/timeline/SignalAsset.js.map +1 -1
  282. package/lib/engine-components/ui/Button.d.ts +4 -0
  283. package/lib/engine-components/ui/Button.js +4 -0
  284. package/lib/engine-components/ui/Button.js.map +1 -1
  285. package/lib/engine-components/ui/Canvas.d.ts +5 -0
  286. package/lib/engine-components/ui/Canvas.js +5 -0
  287. package/lib/engine-components/ui/Canvas.js.map +1 -1
  288. package/lib/engine-components/ui/CanvasGroup.d.ts +4 -0
  289. package/lib/engine-components/ui/CanvasGroup.js +4 -0
  290. package/lib/engine-components/ui/CanvasGroup.js.map +1 -1
  291. package/lib/engine-components/ui/EventSystem.d.ts +2 -0
  292. package/lib/engine-components/ui/EventSystem.js +2 -0
  293. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  294. package/lib/engine-components/ui/Image.d.ts +4 -0
  295. package/lib/engine-components/ui/Image.js +4 -0
  296. package/lib/engine-components/ui/Image.js.map +1 -1
  297. package/lib/engine-components/ui/InputField.d.ts +4 -0
  298. package/lib/engine-components/ui/InputField.js +4 -0
  299. package/lib/engine-components/ui/InputField.js.map +1 -1
  300. package/lib/engine-components/ui/Outline.d.ts +7 -0
  301. package/lib/engine-components/ui/Outline.js +7 -0
  302. package/lib/engine-components/ui/Outline.js.map +1 -1
  303. package/lib/engine-components/ui/SpatialHtml.d.ts +7 -0
  304. package/lib/engine-components/ui/SpatialHtml.js +7 -0
  305. package/lib/engine-components/ui/SpatialHtml.js.map +1 -1
  306. package/lib/engine-components/ui/Text.d.ts +3 -0
  307. package/lib/engine-components/ui/Text.js +3 -0
  308. package/lib/engine-components/ui/Text.js.map +1 -1
  309. package/lib/engine-components/utils/LookAt.d.ts +1 -0
  310. package/lib/engine-components/utils/LookAt.js +1 -0
  311. package/lib/engine-components/utils/LookAt.js.map +1 -1
  312. package/lib/engine-components/web/Clickthrough.d.ts +1 -1
  313. package/lib/engine-components/web/Clickthrough.js +1 -1
  314. package/lib/engine-components/web/CursorFollow.d.ts +2 -0
  315. package/lib/engine-components/web/CursorFollow.js +3 -0
  316. package/lib/engine-components/web/CursorFollow.js.map +1 -1
  317. package/lib/engine-components/web/HoverAnimation.d.ts +1 -0
  318. package/lib/engine-components/web/HoverAnimation.js +1 -0
  319. package/lib/engine-components/web/HoverAnimation.js.map +1 -1
  320. package/lib/engine-components/web/ScrollFollow.d.ts +2 -0
  321. package/lib/engine-components/web/ScrollFollow.js +2 -0
  322. package/lib/engine-components/web/ScrollFollow.js.map +1 -1
  323. package/lib/engine-components/web/ViewBox.d.ts +1 -0
  324. package/lib/engine-components/web/ViewBox.js +1 -0
  325. package/lib/engine-components/web/ViewBox.js.map +1 -1
  326. package/lib/engine-components/webxr/Avatar.d.ts +5 -0
  327. package/lib/engine-components/webxr/Avatar.js +5 -0
  328. package/lib/engine-components/webxr/Avatar.js.map +1 -1
  329. package/lib/engine-components/webxr/WebARCameraBackground.d.ts +1 -0
  330. package/lib/engine-components/webxr/WebARCameraBackground.js +1 -0
  331. package/lib/engine-components/webxr/WebARCameraBackground.js.map +1 -1
  332. package/lib/engine-components/webxr/WebARSessionRoot.d.ts +1 -0
  333. package/lib/engine-components/webxr/WebARSessionRoot.js +1 -0
  334. package/lib/engine-components/webxr/WebARSessionRoot.js.map +1 -1
  335. package/lib/engine-components/webxr/WebXR.d.ts +1 -1
  336. package/lib/engine-components/webxr/WebXR.js +5 -1
  337. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  338. package/lib/engine-components/webxr/controllers/XRControllerFollow.d.ts +1 -0
  339. package/lib/engine-components/webxr/controllers/XRControllerFollow.js +1 -0
  340. package/lib/engine-components/webxr/controllers/XRControllerFollow.js.map +1 -1
  341. package/lib/engine-components/webxr/controllers/XRControllerModel.d.ts +4 -0
  342. package/lib/engine-components/webxr/controllers/XRControllerModel.js +4 -0
  343. package/lib/engine-components/webxr/controllers/XRControllerModel.js.map +1 -1
  344. package/lib/engine-components/webxr/controllers/XRControllerMovement.d.ts +1 -0
  345. package/lib/engine-components/webxr/controllers/XRControllerMovement.js +1 -0
  346. package/lib/engine-components/webxr/controllers/XRControllerMovement.js.map +1 -1
  347. package/lib/engine-components-experimental/networking/PlayerSync.d.ts +2 -0
  348. package/lib/engine-components-experimental/networking/PlayerSync.js +2 -0
  349. package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
  350. package/lib/needle-engine.js +2 -1
  351. package/lib/needle-engine.js.map +1 -1
  352. package/package.json +20 -13
  353. package/plugins/types/needleConfig.d.ts +1 -1
  354. package/plugins/types/next.d.ts +1 -1
  355. package/plugins/types/userconfig.d.ts +4 -1
  356. package/plugins/vite/custom-element-data.js +80 -0
  357. package/plugins/vite/index.js +4 -0
  358. package/src/engine/api.ts +0 -1
  359. package/src/engine/debug/debug_spector.ts +43 -0
  360. package/src/engine/engine_application.ts +16 -1
  361. package/src/engine/engine_context.ts +5 -1
  362. package/src/engine/engine_license.ts +1 -1
  363. package/src/engine/engine_physics.ts +6 -2
  364. package/src/engine/engine_physics_rapier.ts +11 -2
  365. package/src/engine/engine_texture.ts +1 -1
  366. package/src/engine/engine_tonemapping.ts +1 -1
  367. package/src/engine/engine_types.ts +17 -0
  368. package/src/engine/engine_typestore.ts +5 -6
  369. package/src/engine/webcomponents/logo-element.ts +12 -0
  370. package/src/engine/webcomponents/needle menu/needle-menu.ts +24 -3
  371. package/src/engine/webcomponents/needle-button.ts +6 -0
  372. package/src/engine/webcomponents/needle-engine.ts +331 -22
  373. package/src/engine/xr/NeedleXRSession.ts +3 -1
  374. package/src/engine-components/AlignmentConstraint.ts +8 -0
  375. package/src/engine-components/Animation.ts +2 -0
  376. package/src/engine-components/Animator.ts +2 -0
  377. package/src/engine-components/AudioListener.ts +2 -0
  378. package/src/engine-components/AudioSource.ts +1 -0
  379. package/src/engine-components/AxesHelper.ts +2 -0
  380. package/src/engine-components/BasicIKConstraint.ts +8 -0
  381. package/src/engine-components/BoxHelperComponent.ts +1 -0
  382. package/src/engine-components/Camera.ts +1 -0
  383. package/src/engine-components/CharacterController.ts +4 -1
  384. package/src/engine-components/Collider.ts +1 -1
  385. package/src/engine-components/Component.ts +9 -1
  386. package/src/engine-components/ContactShadows.ts +1 -1
  387. package/src/engine-components/DeleteBox.ts +2 -0
  388. package/src/engine-components/DeviceFlag.ts +4 -0
  389. package/src/engine-components/DragControls.ts +1 -0
  390. package/src/engine-components/DropListener.ts +1 -0
  391. package/src/engine-components/Duplicatable.ts +1 -0
  392. package/src/engine-components/EventTrigger.ts +2 -0
  393. package/src/engine-components/Gizmos.ts +2 -0
  394. package/src/engine-components/GridHelper.ts +2 -0
  395. package/src/engine-components/GroundProjection.ts +1 -0
  396. package/src/engine-components/Joints.ts +6 -0
  397. package/src/engine-components/LODGroup.ts +2 -0
  398. package/src/engine-components/Light.ts +1 -0
  399. package/src/engine-components/LookAtConstraint.ts +1 -0
  400. package/src/engine-components/NeedleMenu.ts +1 -0
  401. package/src/engine-components/NestedGltf.ts +1 -0
  402. package/src/engine-components/Networking.ts +1 -0
  403. package/src/engine-components/OffsetConstraint.ts +7 -0
  404. package/src/engine-components/OrbitControls.ts +1 -0
  405. package/src/engine-components/PlayerColor.ts +2 -0
  406. package/src/engine-components/ReflectionProbe.ts +1 -0
  407. package/src/engine-components/RendererInstancing.ts +69 -33
  408. package/src/engine-components/RigidBody.ts +1 -0
  409. package/src/engine-components/SceneSwitcher.ts +1 -0
  410. package/src/engine-components/ScreenCapture.ts +1 -0
  411. package/src/engine-components/SeeThrough.ts +1 -0
  412. package/src/engine-components/ShadowCatcher.ts +2 -0
  413. package/src/engine-components/Skybox.ts +48 -36
  414. package/src/engine-components/SmoothFollow.ts +1 -0
  415. package/src/engine-components/SpatialTrigger.ts +1 -0
  416. package/src/engine-components/SpectatorCamera.ts +1 -0
  417. package/src/engine-components/SpriteRenderer.ts +1 -0
  418. package/src/engine-components/SyncedCamera.ts +2 -0
  419. package/src/engine-components/SyncedRoom.ts +1 -0
  420. package/src/engine-components/SyncedTransform.ts +2 -0
  421. package/src/engine-components/TransformGizmo.ts +2 -0
  422. package/src/engine-components/VideoPlayer.ts +1 -0
  423. package/src/engine-components/Voip.ts +1 -0
  424. package/src/engine-components/export/gltf/GltfExport.ts +5 -0
  425. package/src/engine-components/export/usdz/USDZExporter.ts +53 -5
  426. package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +18 -0
  427. package/src/engine-components/particlesystem/ParticleSystem.ts +1 -0
  428. package/src/engine-components/physics/Attractor.ts +3 -0
  429. package/src/engine-components/postprocessing/Effects/BloomEffect.ts +1 -0
  430. package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +4 -0
  431. package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +3 -0
  432. package/src/engine-components/postprocessing/Effects/DepthOfField.ts +4 -0
  433. package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +1 -0
  434. package/src/engine-components/postprocessing/Effects/Pixelation.ts +3 -0
  435. package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +4 -0
  436. package/src/engine-components/postprocessing/Effects/Sharpening.ts +4 -0
  437. package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +4 -0
  438. package/src/engine-components/postprocessing/Effects/Tonemapping.ts +4 -0
  439. package/src/engine-components/postprocessing/Effects/Vignette.ts +4 -0
  440. package/src/engine-components/postprocessing/Volume.ts +1 -0
  441. package/src/engine-components/splines/Spline.ts +1 -0
  442. package/src/engine-components/splines/SplineWalker.ts +1 -0
  443. package/src/engine-components/timeline/PlayableDirector.ts +1 -0
  444. package/src/engine-components/timeline/SignalAsset.ts +1 -0
  445. package/src/engine-components/ui/Button.ts +4 -0
  446. package/src/engine-components/ui/Canvas.ts +5 -0
  447. package/src/engine-components/ui/CanvasGroup.ts +4 -0
  448. package/src/engine-components/ui/EventSystem.ts +2 -0
  449. package/src/engine-components/ui/Image.ts +4 -0
  450. package/src/engine-components/ui/InputField.ts +4 -0
  451. package/src/engine-components/ui/Outline.ts +7 -0
  452. package/src/engine-components/ui/SpatialHtml.ts +7 -0
  453. package/src/engine-components/ui/Text.ts +3 -0
  454. package/src/engine-components/utils/LookAt.ts +1 -0
  455. package/src/engine-components/web/Clickthrough.ts +1 -1
  456. package/src/engine-components/web/CursorFollow.ts +4 -0
  457. package/src/engine-components/web/HoverAnimation.ts +1 -0
  458. package/src/engine-components/web/ScrollFollow.ts +2 -0
  459. package/src/engine-components/web/ViewBox.ts +1 -0
  460. package/src/engine-components/webxr/Avatar.ts +5 -0
  461. package/src/engine-components/webxr/WebARCameraBackground.ts +1 -0
  462. package/src/engine-components/webxr/WebARSessionRoot.ts +1 -0
  463. package/src/engine-components/webxr/WebXR.ts +5 -1
  464. package/src/engine-components/webxr/controllers/XRControllerFollow.ts +1 -0
  465. package/src/engine-components/webxr/controllers/XRControllerModel.ts +4 -0
  466. package/src/engine-components/webxr/controllers/XRControllerMovement.ts +1 -0
  467. package/src/engine-components-experimental/networking/PlayerSync.ts +2 -0
  468. package/src/needle-engine.ts +4 -2
  469. package/dist/generateMeshBVH.worker-B9bjdr6J.js +0 -25
  470. package/dist/loader.worker-CiTwpNPW.js +0 -27
  471. package/dist/rapier-BqdcSmKY.umd.cjs +0 -1
  472. package/dist/rapier-Cg3w3nFI.min.js +0 -1
  473. package/dist/rapier-sU12SWAs.js +0 -5217
  474. package/lib/engine/webcomponents/needle-engine.attributes.d.ts +0 -70
  475. package/lib/engine/webcomponents/needle-engine.attributes.js +0 -2
  476. package/lib/engine/webcomponents/needle-engine.attributes.js.map +0 -1
  477. package/src/engine/webcomponents/needle-engine.attributes.ts +0 -85
@@ -1 +1 @@
1
- {"version":3,"file":"needle-menu.js","sourceRoot":"","sources":["../../../../src/engine/webcomponents/needle menu/needle-menu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"needle-menu.js","sourceRoot":"","sources":["../../../../src/engine/webcomponents/needle menu/needle-menu.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAsB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAQ7D,MAAM,WAAW,GAAG,aAAa,CAAC;AAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;AACpC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAoC1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAM,OAAO,UAAU;IACF,QAAQ,CAAU;IAClB,KAAK,CAAoB;IACzB,YAAY,CAAoB;IAEjD,YAAY,OAAgB;QACxB,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACxE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACvD,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,8BAA8B;IAC9B,SAAS;QACL,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IAEO,aAAa,GAAG,CAAC,CAAe,EAAE,EAAE;QACxC,0CAA0C;QAC1C,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QACpD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAkC,CAAC;YAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,IAAI,KAAK,aAAa,EAAE;gBACxB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC/B,IAAI,UAAU,EAAE;oBACZ,IAAI,CAAC,UAAU,CAAC,KAAK;wBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;oBACxF,IAAI,CAAC,UAAU,CAAC,OAAO;wBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;oBAC5F,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAChD,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;oBACtC,IAAI,UAAU,CAAC,IAAI,EAAE;wBACjB,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBAC7C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;qBACxB;oBACD,IAAI,UAAU,CAAC,QAAQ,EAAE;wBACrB,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;qBACnE;oBACD,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;wBAClB,IAAI,UAAU,CAAC,OAAO,EAAE;4BACpB,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;4BAC9F,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,QAAQ,CAAC;4BAC7C,IAAI,MAAM,EAAE;gCACR,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;6BAC/C;;gCACI,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;yBACrF;oBACL,CAAC,CAAA;oBACD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;iBAClC;qBACI,IAAI,KAAK;oBAAE,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,IAAI,CAAC,CAAC;aAChF;iBACI,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACpF;IACL,CAAC,CAAC;IAEM,SAAS,GAAG,CAAC,IAAwB,EAAE,EAAE;QAC7C,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACrD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE5D,gDAAgD;YAChD,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;SAC7B;IACL,CAAC,CAAA;IAEO,QAAQ,GAAG,GAAG,EAAE;QACpB,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACvC;IACL,CAAC,CAAA;IAED;;OAEG;IACH,WAAW,CAAC,QAA0B;QAClC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,OAAgB;QACvB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,iHAAiH;IACjH,cAAc,CAAC,OAAgB;QAC3B,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;QAC3C,uDAAuD;IAC3D,CAAC;IACD,2CAA2C;IAC3C,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;IACpC,CAAC;IACD,mEAAmE;IACnE,eAAe,CAAC,OAAgB;QAC5B,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,qBAAqB,CAAC,OAAgB;QAClC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,oBAAoB;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,OAAiC;QAC9C,IAAI,OAAO,KAAK,cAAc,EAAE;YAC5B,OAAO,GAAG,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;SAC/C;QACD,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;YACrD,IAAI,MAAM;gBAAE,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC1C,OAAO,MAAM,IAAI,IAAI,CAAC;SACzB;aACI;YACD,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;YAC3D,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC/B,OAAO,MAAM,CAAC;SACjB;IACL,CAAC;IAED;;MAEE;IACF,uBAAuB,CAAC,OAAgB;QACpC,IAAI,CAAC,OAAO,EAAE;YACV,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;YAC3B,OAAO;SACV;QACD,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChF,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IACO,WAAW,CAAqB;IAGxC,oBAAoB,CAAC,OAAgB;QACjC,IAAI,CAAC,OAAO,EAAE;YACV,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;YACjC,OAAO;SACV;QACD,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5F,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SAClD;IACL,CAAC;IACO,iBAAiB,CAA4B;IAIrD,WAAW,CAAC,KAA+B;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;CAEJ;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAE9C,MAAM,CAAC,MAAM;QACT,6EAA6E;QAC7E,OAAO,QAAQ,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,UAAuB,EAAE,OAAgB;QACxD,IAAI,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,WAAW,CAA6B,CAAC;QAChF,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,UAAU,EAAE;YACnC,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;SAC9D;QACD,iFAAiF;QACjF,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAA6B,CAAC;SACzF;QACD,IAAI,CAAC,OAAO,EAAE;YACV,yCAAyC;YACzC,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAuB,CAAC;YAC1D,IAAI,UAAU,CAAC,UAAU;gBACrB,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;;gBAE3C,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SACvC;QACD,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC;QACjC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC3B,OAAO,OAA4B,CAAC;IACxC,CAAC;IAEO,WAAW,GAAuB,IAAI,CAAC;IACvC,QAAQ,GAAmB,IAAI,CAAC;IAExC;QACI,KAAK,EAAE,CAAC;QAER,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACpD,0JAA0J;QAC1J,QAAQ,CAAC,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAmYpB,CAAC;QAEF,yCAAyC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAEnD,+EAA+E;QAC/E,8DAA8D;QAC9D,WAAW,EAAE,CAAC;QACd,QAAQ,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7E,QAAQ,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAqB,CAAC;QACrE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAmB,CAAC;QAE5D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAmB,CAAC;QACtE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAmB,CAAC;QACtE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAmB,CAAC;QACzE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,sBAAsB,CAAsB,CAAC;QAC/F,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAmB,CAAC;QAEtE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC9C,UAAU,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,IAAI;YACA,6DAA6D;YAC7D,6EAA6E;YAC7E,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,GAAG,CAAC,EAAE;gBACjE,IAAI,GAAG,IAAI,IAAI,IAAI,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,EAAE;oBAC9D,IAAI,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC;oBAC7C,IAAI,OAAO,KAAK,SAAS;wBAAE,OAAO,GAAG,KAAK,CAAC;oBAC3C,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;iBACrC;qBACI;oBACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;iBAClC;YACL,CAAC,CAAC,CAAC,CAAC;SACP;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;SAC3D;QAED,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACnD,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAGH,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,mGAAmG;QACnG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1C,gBAAgB;QAChB,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;YACrC,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;YACpD,IAAI,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC,gBAAgB,EAAE;gBAC7C,IAAI,MAAM,IAAI,OAAO,CAAC,gBAAgB,EAAE;oBACpC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBAC9C;aACJ;iBACI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU;gBACpD,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAA;QAED,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,MAAM,YAAY,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE;YAClD,IAAI,kBAAkB,EAAE;gBACpB,OAAO;aACV;YACD,IAAI;gBACA,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBAEjC,2CAA2C;gBAC3C,MAAM,cAAc,GAAG,IAAI,EAAE,UAAU,CAAC;gBACxC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,GAAG,IAAI,cAAc,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE;oBACnJ,IAAI,CAAC,oBAAoB,EAAE,EAAE;wBACzB,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;wBACpC,6GAA6G;wBAC7G,IAAI,cAAc,EAAE,IAAI,IAAI,CAAC,yBAAyB,KAAK,KAAK,EAAE;4BAC9D,kEAAkE;4BAClE,IAAI,MAAM,KAAK,CAAC,EAAE;gCACd,uIAAuI;gCACvI,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;6BAChE;4BACD,iBAAiB;4BACjB,IAAI,MAAM,KAAK,CAAC,EAAE;gCACd,OAAO,CAAC,IAAI,CAAC,+MAA+M,CAAC,CAAC;6BACjO;yBACJ;6BACI;4BACD,IAAI,MAAM,KAAK,CAAC,EAAE;gCACd,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;6BACtC;iCACI;gCACD,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;6BAC1D;yBACJ;qBACJ;iBACJ;aACJ;oBACO;gBACJ,kBAAkB,GAAG,KAAK,CAAC;aAC9B;QACL,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAItF,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAChC;IACL,CAAC;IAEO,mBAAmB,CAAC;IAE5B,iBAAiB;QACb,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3F,oDAAoD;QACpD,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpE,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/D,CAAC,EAAE,CAAC,CAAC,CAAA;IACT,CAAC;IACD,oBAAoB;QAChB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5D,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACxC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAED,QAAQ,GAAG,CAAC,CAAQ,EAAE,EAAE;QACpB,sEAAsE;QACtE,IAAI,CAAC,CAAC,CAAC,gBAAgB;eAChB,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW;eAC5B,CAAC,CAAC,YAAY,YAAY,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;eAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACzC,sDAAsD;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAClD,MAAM,YAAY,GAAG,CAAiB,CAAC;YACvC,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI;mBAC/B,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK;mBACjC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG;mBAC/B,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE;gBACxC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;aAC7C;SACJ;IACL,CAAC,CAAA;IAED,mDAAmD;IAC3C,yBAAyB,GAAa,SAAS,CAAC;IACxD,cAAc,CAAC,OAAgB;QAC3B,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE;YACV,IAAI,CAAC,oBAAoB,EAAE,IAAI,kBAAkB,EAAE;gBAC/C,OAAO,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;gBACrG,MAAM,YAAY,GAAG,cAAc,EAAE,CAAA;gBACrC,IAAI,CAAC,YAAY;oBAAE,OAAO;aAC7B;SACJ;QACD,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,2CAA2C;IAC3C,IAAI,aAAa;QACb,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAEO,mBAAmB,CAAC,OAAgB;QACxC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;QAChD,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;SAC3C;aACI;YACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;SAC1C;IACL,CAAC;IAED,WAAW,CAAC,QAA0B;QAClC,0CAA0C;QAC1C,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,QAAQ,EAAE;YAC7C,OAAO,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,QAAQ,CAAC,CAAC;SAC9E;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,mDAAmD;IAC3C,yBAAyB,GAAa,SAAS,CAAC;IACxD,UAAU,CAAC,OAAgB;QACvB,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,YAAY;QACR,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,2CAA2C;IAC3C,wDAAwD;IACvC,IAAI,CAAiB;IACtC,yDAAyD;IACxC,OAAO,CAAiB;IACzC,yDAAyD;IACxC,OAAO,CAAiB;IACzC,qDAAqD;IACpC,aAAa,CAAiB;IAC/C,2CAA2C;IAC1B,iBAAiB,CAAoB;IACtD,sDAAsD;IACrC,OAAO,CAAiB;IAEzC,MAAM,CAAC,GAAG,KAAwB;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aACrC;iBAAM;gBACH,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAClC;SACJ;IACL,CAAC;IACD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAAW,CAAiB,IAAoB;QAE5C,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE;YACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;YAChC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC9B,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC;YAClE,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;aAC7B;YACD,IAAI,IAAI,CAAC,IAAI,EAAE;gBACX,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;oBAC3B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACH,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iBACxB;aACJ;YACD,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACpC;YACD,IAAI,GAAG,MAAsB,CAAC;SACjC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,GAAG,CAAC;IACf,CAAC;IACD,OAAO,CAAC,GAAG,KAAwB;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aACjC;iBAAM;gBACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aAC9B;SACJ;IACL,CAAC;IAEO,iBAAiB,GAAG,KAAK,CAAC;IAElC,2GAA2G;IACnG,gBAAgB,CAAC,IAAsB;QAC3C,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO;QACnC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI;YACA,+DAA+D;YAC/D,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;gBACpB,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;oBAC5B,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;iBACtC;aACJ;SACJ;gBACO;YACJ,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAClC;IACL,CAAC;IAEO,wBAAwB,CAAC,IAAoB;QACjD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACzE,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAEvC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;YAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACnD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACnB,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;oBACvD,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;oBACvD,OAAO,EAAE,GAAG,EAAE,CAAC;gBACnB,CAAC,CAAC,CAAC;gBACH,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC1B,IAAI,QAAQ,KAAK,KAAK,EAAE;wBACpB,cAAc,GAAG,IAAI,CAAC;wBACtB,MAAM;qBACT;iBACJ;gBACD,IAAI,cAAc,EAAE;oBAChB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;wBAC1B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;qBACnC;iBACJ;aACJ;SACJ;IACL,CAAC;IAEO,QAAQ,GAA6B,IAAI,GAAG,EAAE,CAAC;IAGvD;;OAEG;IACK,iBAAiB;QACrB,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAChF,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;SAChC;aAAM;YACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SACpC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC7E,CAAC;IAED,qDAAqD;IACrD,IAAI,aAAa;QACb,uBAAuB;QACvB,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM;YAAE,OAAO,IAAI,CAAC;QAC5D,IAAI,IAAI,CAAC,oBAAoB;YAAE,OAAO,IAAI,CAAC;QAC3C,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,oBAAoB;QACpB,kCAAkC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAgB,CAAA;YACrD,WAAW;YACX,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE;gBAC1B,MAAM,WAAW,GAAG,KAAwB,CAAC;gBAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;gBAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;oBACtB,IAAI,IAAI,YAAY,WAAW,EAAE;wBAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM;4BAAE,OAAO,IAAI,CAAC;qBACjD;iBACJ;aACJ;iBACI,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM;gBAAE,OAAO,IAAI,CAAC;SACvD;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAGO,yBAAyB,GAAG,CAAC,CAAC;IAC9B,cAAc,GAAW,CAAC,CAAC;IAE3B,gBAAgB,GAAG,CAAC,IAAY,EAAE,YAAsB,EAAE,EAAE;QAChE,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;QAC3C,IAAI,KAAK,GAAG,GAAG,EAAE;YACb,YAAY,CAAC,IAAI,CAAC,cAAe,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACnD,OAAO;SACV;QAED,MAAM,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC;QACvB,MAAM,cAAc,GAAG,KAAK,GAAG,OAAO,CAAC;QAEvC,iFAAiF;QACjF,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC;YAAE,OAAO;QAC3F,IAAI,CAAC,yBAAyB,GAAG,cAAc,CAAC;QAEhD,YAAY,CAAC,IAAI,CAAC,cAAe,CAAC,CAAC;QAEnC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;YACjC,IAAI,SAAS,GAAG,CAAC,EAAE;gBACf,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBAClC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;aACtD;iBACI,IAAI,SAAS,GAAG,CAAC,EAAE;gBACpB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;gBACrC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBACtD,IAAI,YAAY,EAAE,GAAG,CAAC,EAAE;oBACpB,yCAAyC;oBACzC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;oBAClC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;iBACtD;aACJ;QACL,CAAC,EAAE,CAAC,CAAsB,CAAC;QAE3B,MAAM,eAAe,GAAG,GAAG,EAAE;YACzB,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;QACrE,CAAC,CAAA;QACD,MAAM,YAAY,GAAG,GAAG,EAAE;YACtB,OAAO,cAAc,GAAG,eAAe,EAAE,CAAC;QAC9C,CAAC,CAAA;IACL,CAAC,CAAA;IAIO,qBAAqB;QACzB,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YACrC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;gBACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aAC5E;QACL,CAAC,CAAC,CAAC;QACH,MAAM,mBAAmB,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7D,mBAAmB,CAAC,WAAW,GAAG,cAAc,CAAC;QACjD,mBAAmB,CAAC,OAAO,GAAG,GAAG,EAAE;YAC/B,MAAM,eAAe,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACjD;YACD,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE;gBACjC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aACnC;YACD,UAAU,CAAC,GAAG,EAAE;gBACZ,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE;oBACjC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;iBACnC;YAEL,CAAC,EAAE,IAAI,CAAC,CAAA;QACZ,CAAC,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACtC,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACvD,aAAa,CAAC,WAAW,GAAG,aAAa,CAAC;QAC1C,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACzC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QACjG,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC;CACJ;AAGD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;IAChC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC"}
@@ -1,3 +1,8 @@
1
+ declare global {
2
+ interface HTMLElementTagNameMap {
3
+ "needle-button": NeedleButtonElement;
4
+ }
5
+ }
1
6
  /**
2
7
  * A <needle-button> can be used to simply add VR, AR or Quicklook buttons to your website without having to write any code.
3
8
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"needle-button.js","sourceRoot":"","sources":["../../../src/engine/webcomponents/needle-button.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"needle-button.js","sourceRoot":"","sources":["../../../src/engine/webcomponents/needle-button.ts"],"names":[],"mappings":"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"}
@@ -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
+ declare global {
5
+ interface HTMLElementTagNameMap {
6
+ "needle-engine": NeedleEngineWebComponent;
7
+ }
8
+ }
9
+ type TonemappingAttributeOptions = "none" | "linear" | "neutral" | "agx";
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,210 @@ 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 scene.
123
+ * @example src="path/to/scene.glb"
124
+ * @example src="[./path/scene1.glb, myOtherScene.gltf]"
125
+ * */
126
+ setAttribute(name: 'src', value: string): void;
127
+ /** Optional. String attached to the context for caching/identification. */
128
+ setAttribute(name: 'hash', value: string): void;
129
+ /** Set to automatically add {@link OrbitControls} to the loaded scene */
130
+ setAttribute(name: 'camera-controls', value: string): void;
131
+ /** Override the default draco decoder path location. */
132
+ setAttribute(name: 'dracoDecoderPath', value: string): void;
133
+ /** Override the default draco library type. */
134
+ setAttribute(name: 'dracoDecoderType', value: 'wasm' | 'js'): void;
135
+ /** Override the default KTX2 transcoder/decoder path */
136
+ setAttribute(name: 'ktx2DecoderPath', value: string): void;
137
+ /** Prevent Needle Engine context from being disposed when the element is removed from the DOM */
138
+ setAttribute(name: 'keep-alive', value: 'true' | 'false'): void;
139
+ /** @private Public key used for licensing and feature gating. */
140
+ setAttribute(name: 'public-key', value: string): void;
141
+ /** @private Engine version string — usually set by the build/runtime. */
142
+ setAttribute(name: 'version', value: string): void;
143
+ /** URL to .exr, .hdr, .png, .jpg to be used as skybox */
144
+ setAttribute(name: 'background-image', value: string): void;
145
+ /** @private Rotation of the background image in degrees. */
146
+ setAttribute(name: 'background-rotation', value: string | number): void;
147
+ /** @deprecated Use 'environment-image' instead. */
148
+ setAttribute(name: 'skybox-image', value: string): void;
149
+ /** URL to .exr, .hdr, .png, .jpg to be used for lighting */
150
+ setAttribute(name: 'environment-image', value: string): void;
151
+ /** Intensity multiplier for environment lighting. */
152
+ setAttribute(name: 'environment-intensity', value: string): void;
153
+ /** Blurs the background image. Strength between 0 (sharp) and 1 (fully blurred). */
154
+ setAttribute(name: 'background-blurriness', value: string): void;
155
+ /** Intensity multiplier for the background image. */
156
+ setAttribute(name: 'background-intensity', value: string): void;
157
+ /**
158
+ * CSS background color value to be used if no skybox or background image is provided.
159
+ * @example "background-color='#ff0000'" will set the background color to red.
160
+ */
161
+ setAttribute(name: 'background-color', value: string): void;
162
+ /** Enable/disable renderer canvas transparency. */
163
+ setAttribute(name: 'transparent', value: 'true' | 'false'): void;
164
+ /** Enable/disable contact shadows in the rendered scene */
165
+ setAttribute(name: 'contact-shadows', value: 'true' | 'false'): void;
166
+ /** Tonemapping mode. */
167
+ setAttribute(name: 'tone-mapping', value: TonemappingAttributeOptions): void;
168
+ /** Exposure multiplier for tonemapping. */
169
+ setAttribute(name: 'tone-mapping-exposure', value: string): void;
170
+ /** Defines a CSS selector or HTMLElement where the camera should be focused on. Content will be fit into this element. */
171
+ setAttribute(name: 'focus-rect', value: string | HTMLElement): void;
172
+ /** Allow pointer events to pass through transparent parts of the content to the underlying DOM elements. */
173
+ setAttribute(name: 'clickthrough', value: 'true' | 'false'): void;
174
+ /** Automatically fits the model into the camera view on load. */
175
+ setAttribute(name: 'auto-fit', value: 'true' | 'false'): void;
176
+ /** Automatically rotates the model until a user interacts with the scene. */
177
+ setAttribute(name: 'auto-rotate', value: 'true' | 'false'): void;
178
+ /** Play animations automatically on scene load */
179
+ setAttribute(name: "autoplay", value: 'true' | 'false'): void;
180
+ /** @private Used for switching the scene in SceneSwitcher */
181
+ setAttribute(name: 'scene', value: string): void;
182
+ /** @private Experimental.*/
183
+ setAttribute(name: 'loading-blur', value: 'true' | 'false'): void;
184
+ /** @private */
185
+ setAttribute(name: 'alias', value: string): void;
186
+ /** @private */
187
+ setAttribute(name: 'hide-loading-overlay', value: 'true' | 'false'): void;
188
+ /** @private */
189
+ setAttribute(name: 'no-telemetry', value: 'true' | 'false'): void;
190
+ /** Generic typed setter for known Needle Engine attributes */
191
+ setAttribute(qualifiedName: ({} & string), value: string): void;
192
+ /** Change which model gets loaded. This will trigger a reload of the scene.
193
+ * @example src="path/to/scene.glb"
194
+ * @example src="[./path/scene1.glb, myOtherScene.gltf]"
195
+ * */
196
+ getAttribute(name: 'src'): string | null;
197
+ /** Optional. String attached to the context for caching/identification. */
198
+ getAttribute(name: 'hash'): string | null;
199
+ /** Set to automatically add {@link OrbitControls} to the loaded scene */
200
+ getAttribute(name: 'camera-controls'): "true" | "false" | "none" | null;
201
+ /** Override the default draco decoder path location. */
202
+ getAttribute(name: 'dracoDecoderPath'): string | null;
203
+ /** Override the default draco library type. */
204
+ getAttribute(name: 'dracoDecoderType'): "wasm" | "js" | null;
205
+ /** Override the default KTX2 transcoder/decoder path */
206
+ getAttribute(name: 'ktx2DecoderPath'): string | null;
207
+ /** Prevent Needle Engine context from being disposed when the element is removed from the DOM */
208
+ getAttribute(name: 'keep-alive'): string | null;
209
+ /** @private Public key used for licensing and feature gating. */
210
+ getAttribute(name: 'public-key'): string | null;
211
+ /** @private Engine version string — usually set by the build/runtime. */
212
+ getAttribute(name: 'version'): string | null;
213
+ /** URL to .exr, .hdr, .png, .jpg to be used as skybox */
214
+ getAttribute(name: 'background-image'): string | null;
215
+ /** @private Rotation of the background image in degrees. */
216
+ getAttribute(name: 'background-rotation'): string | null;
217
+ /** URL to .exr, .hdr, .png, .jpg to be used for lighting */
218
+ getAttribute(name: 'environment-image'): string | null;
219
+ /** Intensity multiplier for environment lighting. */
220
+ getAttribute(name: 'environment-intensity'): string | null;
221
+ /** Blurs the background image. Strength between 0 (sharp) and 1 (fully blurred). */
222
+ getAttribute(name: 'background-blurriness'): string | null;
223
+ /** Intensity multiplier for the background image. */
224
+ getAttribute(name: 'background-intensity'): string | null;
225
+ /**
226
+ * CSS background color value to be used if no skybox or background image is provided.
227
+ * @example "background-color='#ff0000'" will set the background color to red.
228
+ */
229
+ getAttribute(name: 'background-color'): string | null;
230
+ /** Enable/disable renderer canvas transparency. */
231
+ getAttribute(name: 'transparent'): string | null;
232
+ /** Enable/disable contact shadows in the rendered scene */
233
+ getAttribute(name: 'contact-shadows'): string | null;
234
+ /** @deprecated Use 'contact-shadows' instead. */
235
+ getAttribute(name: 'contactshadows'): string | null;
236
+ /** Tonemapping mode. */
237
+ getAttribute(name: 'tone-mapping'): TonemappingAttributeOptions | null;
238
+ /** @deprecated Use 'tone-mapping' instead. */
239
+ getAttribute(name: 'tonemapping'): TonemappingAttributeOptions | null;
240
+ /** Exposure multiplier for tonemapping. */
241
+ getAttribute(name: 'tone-mapping-exposure'): string | null;
242
+ /** Defines a CSS selector or HTMLElement where the camera should be focused on. Content will be fit into this element. */
243
+ getAttribute(name: 'focus-rect'): string | null;
244
+ /** Allow pointer events to pass through transparent parts of the content to the underlying DOM elements. */
245
+ getAttribute(name: 'clickthrough'): string | null;
246
+ /** Automatically fits the model into the camera view on load. */
247
+ getAttribute(name: 'auto-fit'): string | null;
248
+ /** @deprecated Use 'auto-fit' instead. */
249
+ getAttribute(name: 'autofit'): string | null;
250
+ /** Automatically rotates the model until a user interacts with the scene. */
251
+ getAttribute(name: 'auto-rotate'): string | null;
252
+ /** Play animations automatically on scene load */
253
+ getAttribute(name: "autoplay"): string | null;
254
+ /** @private Used for switching the scene in SceneSwitcher */
255
+ getAttribute(name: 'scene'): string | null;
256
+ /** @private Experimental.*/
257
+ getAttribute(name: 'loading-blur'): string | null;
258
+ /** @private */
259
+ getAttribute(name: 'alias'): string | null;
260
+ /** @private */
261
+ getAttribute(name: 'hide-loading-overlay'): string | null;
262
+ /** @private */
263
+ getAttribute(name: 'no-telemetry'): string | null;
264
+ /** Typed getter for known NeedleEngine attribute names; returns the typed shape declared in NeedleEngineAttributes or null. */
265
+ getAttribute(qualifiedName: ({} & string)): string | null;
266
+ /**
267
+ * Emitted when loading begins for the scene. The event is cancelable — calling `preventDefault()`
268
+ * will stop the default loading UI behavior, so apps can implement custom loading flows.
269
+ */
270
+ addEventListener(type: 'loadstart', listener: (ev: CustomEvent<{
271
+ context: Context;
272
+ alias: string | null;
273
+ }>) => void, options?: boolean | AddEventListenerOptions): void;
274
+ /** Emitted repeatedly while loading resources. Use the event detail to show progress. */
275
+ addEventListener(type: 'progress', listener: (ev: CustomEvent<{
276
+ context: Context;
277
+ name: string;
278
+ progress: ProgressEvent<EventTarget>;
279
+ index: number;
280
+ count: number;
281
+ totalProgress01: number;
282
+ }>) => void, options?: boolean | AddEventListenerOptions): void;
283
+ /** Emitted when scene loading has finished. */
284
+ addEventListener(type: 'loadfinished', listener: (ev: CustomEvent<{
285
+ context: Context;
286
+ src: string | null;
287
+ loadedFiles: LoadedModel[];
288
+ }>) => void, options?: boolean | AddEventListenerOptions): void;
289
+ /** Emitted when an XR session ends. */
290
+ addEventListener(type: 'xr-session-ended', listener: (ev: CustomEvent<{
291
+ session: XRSession | null;
292
+ context: Context;
293
+ sessionMode: XRSessionMode | undefined;
294
+ }>) => void, options?: boolean | AddEventListenerOptions): void;
295
+ /** Emitted when entering an AR session. */
296
+ addEventListener(type: 'enter-ar', listener: (ev: CustomEvent<{
297
+ session: XRSession;
298
+ context: Context;
299
+ htmlContainer: HTMLElement | null;
300
+ }>) => void, options?: boolean | AddEventListenerOptions): void;
301
+ /** Emitted when exiting an AR session. */
302
+ addEventListener(type: 'exit-ar', listener: (ev: CustomEvent<{
303
+ session: XRSession;
304
+ context: Context;
305
+ htmlContainer: HTMLElement | null;
306
+ }>) => void, options?: boolean | AddEventListenerOptions): void;
307
+ /** Emitted when entering a VR session. */
308
+ addEventListener(type: 'enter-vr', listener: (ev: CustomEvent<{
309
+ session: XRSession;
310
+ context: Context;
311
+ }>) => void, options?: boolean | AddEventListenerOptions): void;
312
+ /** Emitted when exiting a VR session. */
313
+ addEventListener(type: 'exit-vr', listener: (ev: CustomEvent<{
314
+ session: XRSession;
315
+ context: Context;
316
+ }>) => void, options?: boolean | AddEventListenerOptions): void;
317
+ /** Emitted when the engine has rendered its first frame and is ready. */
318
+ addEventListener(type: 'ready', listener: (ev: Event) => void, options?: boolean | AddEventListenerOptions): void;
319
+ /** Emitted when an XR session is started. You can do additional setup here. */
320
+ addEventListener(type: 'xr-session-started', listener: (ev: CustomEvent<{
321
+ session: XRSession;
322
+ context: Context;
323
+ }>) => void, options?: boolean | AddEventListenerOptions): void;
324
+ addEventListener<K extends keyof HTMLElementEventMap>(type: ({} & K), listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => unknown, options?: boolean | AddEventListenerOptions): void;
325
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
326
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
116
327
  }
328
+ export {};
@@ -21,38 +21,59 @@ const desktopContainerClassname = "desktop";
21
21
  const knownClasses = [arContainerClassName, vrContainerClassName, desktopContainerClassname];
22
22
  const arSessionActiveClassName = "ar-session-active";
23
23
  const desktopSessionActiveClassName = "desktop-session-active";
24
+ // #region Observables
25
+ /** Keep in sync with the overloads and docs here:
26
+ * - {@link NeedleEngineWebComponent.setAttribute}
27
+ * - {@link NeedleEngineWebComponent.getAttribute}
28
+ * - {@link NeedleEngineWebComponent.addEventListener}
29
+ * - Docs in {@link [custom-elements.json](../../../custom-elements.json)}
30
+ * - {@link NeedleEngineWebComponent.attributeChangedCallback}
31
+ *
32
+ * Effectively, attributes used with these methods are also observable:
33
+ * - {@link registerObservableAttribute} or
34
+ * - {@link addAttributeChangeCallback}
35
+ * */
24
36
  const observedAttributes = [
25
- "public-key",
26
- "version",
27
- "hash",
37
+ // MainAttributes
28
38
  "src",
39
+ "hash",
29
40
  "camera-controls",
30
- "loadstart",
31
- "progress",
32
- "loadfinished",
33
41
  "dracoDecoderPath",
34
42
  "dracoDecoderType",
35
43
  "ktx2DecoderPath",
44
+ // keep-alive: effectively observed because read when needed
45
+ // private
46
+ "public-key",
47
+ "version",
48
+ // RenderingAttributes
36
49
  "tone-mapping",
37
50
  "tone-mapping-exposure",
38
51
  "background-blurriness",
39
52
  "background-color",
40
53
  "environment-intensity",
54
+ // background-image: registered in Skybox.ts
55
+ // environment-image: registered in Skybox.ts
56
+ // scene: registered in SceneSwitcher.ts
57
+ // clickthrough: registered in Clickthrough.ts
41
58
  "focus-rect",
59
+ // Events
60
+ "loadstart",
61
+ "progress",
62
+ "loadfinished",
42
63
  ];
43
64
  // https://developers.google.com/web/fundamentals/web-components/customelements
44
65
  /**
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).
66
+ * The `<needle-engine>` web component. See {@link NeedleEngineAttributes} attributes for supported attributes
67
+ * The web component creates and manages a Needle Engine context, which is responsible for rendering a 3D scene using threejs.
68
+ * 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`.
69
+ * The context is accessible from the `<needle-engine>` element: `document.querySelector("needle-engine").context`.
49
70
  * See {@link https://engine.needle.tools/docs/reference/needle-engine-attributes}
50
71
  *
51
72
  * @example
52
73
  * <needle-engine src="https://example.com/scene.glb"></needle-engine>
53
74
  * @example
54
75
  * <needle-engine src="https://example.com/scene.glb" camera-controls="false"></needle-engine>
55
- */
76
+ */
56
77
  export class NeedleEngineWebComponent extends HTMLElement {
57
78
  static get observedAttributes() {
58
79
  return observedAttributes;
@@ -117,7 +138,7 @@ export class NeedleEngineWebComponent extends HTMLElement {
117
138
  _loadingProgress01 = 0;
118
139
  _loadingView;
119
140
  _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 */
141
+ /** @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
142
  _didFullyLoad = false;
122
143
  constructor() {
123
144
  super();
@@ -127,6 +148,7 @@ export class NeedleEngineWebComponent extends HTMLElement {
127
148
  ensureFonts();
128
149
  this.attachShadow({ mode: 'open' });
129
150
  const template = document.createElement('template');
151
+ // #region CSS
130
152
  template.innerHTML = `<style>
131
153
  @import url('https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap');
132
154
 
@@ -205,6 +227,7 @@ export class NeedleEngineWebComponent extends HTMLElement {
205
227
  <slot class="overlay-content"></slot>
206
228
  </div>
207
229
  `;
230
+ // #endregion
208
231
  if (this.shadowRoot)
209
232
  this.shadowRoot.appendChild(template.content.cloneNode(true));
210
233
  this._context = new Context({ domElement: this });
@@ -271,6 +294,10 @@ export class NeedleEngineWebComponent extends HTMLElement {
271
294
  console.warn("<needle-engine> is not disposed because keep-alive is set");
272
295
  }
273
296
  }
297
+ connectedMoveCallback() {
298
+ // 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
299
+ }
300
+ // #region attributeChanged
274
301
  /**
275
302
  * @internal
276
303
  */
@@ -295,7 +322,7 @@ export class NeedleEngineWebComponent extends HTMLElement {
295
322
  if (typeof newValue === "string" && newValue.length > 0) {
296
323
  if (debug)
297
324
  console.log(name + " attribute changed", newValue);
298
- this.registerEventFromAttribute(name, newValue);
325
+ this.registerEventFromAttribute("loadfinished", newValue);
299
326
  }
300
327
  break;
301
328
  case "dracoDecoderPath":
@@ -527,6 +554,7 @@ export class NeedleEngineWebComponent extends HTMLElement {
527
554
  }
528
555
  }));
529
556
  }
557
+ // #region applyAttributes
530
558
  applyAttributes() {
531
559
  // set tonemapping if configured
532
560
  if (this._context?.renderer) {
@@ -648,6 +676,7 @@ export class NeedleEngineWebComponent extends HTMLElement {
648
676
  // const fn = new Function(newValue);
649
677
  if (typeof fn === "function") {
650
678
  this._previouslyRegisteredMap.set(eventName, fn);
679
+ // @ts-ignore // not sure how to type this properly
651
680
  this.addEventListener(eventName, evt => fn?.call(globalThis, this._context, evt));
652
681
  }
653
682
  }
@@ -788,9 +817,61 @@ export class NeedleEngineWebComponent extends HTMLElement {
788
817
  setKtx2TranscoderPath(customKtx2DecoderPath);
789
818
  }
790
819
  }
820
+ // The ones we're using internally:
821
+ /*
822
+ setAttribute(name: "tabindex", value: string): void;
823
+ */
824
+ setAttribute(qualifiedName, value) {
825
+ super.setAttribute(qualifiedName, value);
826
+ }
827
+ // The ones we're using interally:
828
+ /*
829
+ getAttribute(name: "autostart"): string | null;
830
+ getAttribute(name: "tabindex"): string | null;
831
+ */
832
+ getAttribute(qualifiedName) {
833
+ return super.getAttribute(qualifiedName);
834
+ }
835
+ // This would be better but doesn't completely solve it
836
+ // addEventListener(type: ({} & string), listener: any, options?: boolean | AddEventListenerOptions): void;
837
+ // The ones we're using interally:
838
+ /*
839
+ addEventListener(type: "error", listener: (ev: ErrorEvent) => void, options?: boolean | AddEventListenerOptions): void;
840
+ addEventListener(type: "wheel", listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
841
+ addEventListener(type: "keydown", listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
842
+ addEventListener(type: "drop", listener: (ev: DragEvent) => void, options?: boolean | AddEventListenerOptions): void;
843
+ addEventListener(type: "dragover", listener: (ev: DragEvent) => void, options?: boolean | AddEventListenerOptions): void;
844
+ */
845
+ addEventListener(type, listener, options) {
846
+ return super.addEventListener(type, listener, options);
847
+ }
791
848
  }
792
849
  if (typeof window !== "undefined" && !window.customElements.get(htmlTagName))
793
850
  window.customElements.define(htmlTagName, NeedleEngineWebComponent);
851
+ /** Quick testing for the types as declared above */
852
+ /*
853
+ const elem = document.querySelector("needle-engine")!;
854
+ elem.setAttribute("src", "model.glb");
855
+ elem.addEventListener("loadfinished", (ev) => {
856
+ const context = ev.detail.context;
857
+ });
858
+ elem.setAttribute("dracoDecoderType", "wasm");
859
+ elem.addEventListener("enter-ar", (ev) => {
860
+ const session = ev.detail.session;
861
+ });
862
+
863
+ elem.addEventListener("mousedown", (ev) => {
864
+ console.log("regular mousedown event", ev);
865
+ });
866
+
867
+ const onDragOverEvent = (e: DragEvent) => {
868
+
869
+ };
870
+
871
+ elem.addEventListener("dragover", onDragOverEvent);
872
+ */
873
+ /* END Type testing */
874
+ // #region Utility functions
794
875
  function getDisplayName(str) {
795
876
  if (str.startsWith("blob:")) {
796
877
  return "blob";