@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,4 +1,4 @@
1
- import type { QueryFilterFlags, World } from '@dimforge/rapier3d-compat';
1
+ import type { Collider, ColliderDesc, QueryFilterFlags, World } from '@dimforge/rapier3d-compat';
2
2
  import { Mesh, Vector3, Vector4Like } from 'three';
3
3
  import type { ICollider, IComponent, IContext, IPhysicsEngine, IRigidbody, Vec2, Vec3 } from './engine_types.js';
4
4
  import { ShapeOverlapResult } from './engine_types.js';
@@ -115,7 +115,16 @@ export declare class RapierPhysics implements IPhysicsEngine {
115
115
  getBody(obj: ICollider | IRigidbody): null | any;
116
116
  /** Get the Needle Engine component for a rapier object */
117
117
  getComponent(rapierObject: object): IComponent | null;
118
- private createCollider;
118
+ /**
119
+ * Creates a collider in the physics world.
120
+ *
121
+ * @param collider - The collider component.
122
+ * @param desc - The collider description.
123
+ * @returns The created collider.
124
+ *
125
+ * @throws Will throw an error if the physics world is not initialized. Make sure to call `initialize()` before creating colliders.
126
+ */
127
+ createCollider(collider: ICollider, desc: ColliderDesc): Collider | null;
119
128
  /**
120
129
  * Updates the collision groups of a collider.
121
130
  *
@@ -730,6 +730,15 @@ export class RapierPhysics {
730
730
  const component = rapierObject[$componentKey];
731
731
  return component;
732
732
  }
733
+ /**
734
+ * Creates a collider in the physics world.
735
+ *
736
+ * @param collider - The collider component.
737
+ * @param desc - The collider description.
738
+ * @returns The created collider.
739
+ *
740
+ * @throws Will throw an error if the physics world is not initialized. Make sure to call `initialize()` before creating colliders.
741
+ */
733
742
  createCollider(collider, desc) {
734
743
  if (!this.world)
735
744
  throw new Error("Physics world not initialized");
@@ -1 +1 @@
1
- {"version":3,"file":"engine_physics_rapier.js","sourceRoot":"","sources":["../../src/engine/engine_physics_rapier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_physics_rapier.js","sourceRoot":"","sources":["../../src/engine/engine_physics_rapier.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { EffectComposer } from "postprocessing";
2
2
  import { Camera, Object3D, WebGLRenderer, WebGLRenderTarget } from "three";
3
- import type { EffectComposer as ThreeEffectComposer } from "three/examples/jsm/postprocessing/EffectComposer";
3
+ import type { EffectComposer as ThreeEffectComposer } from "three/examples/jsm/postprocessing/EffectComposer.js";
4
4
  /**
5
5
  * A RenderTexture can be used to render a scene to a texture automatically by assigning it to the `Camera` component's `targetTexture` property.
6
6
  * You can then assign the `RenderTexture.texture` to materials to be displayed
@@ -1,5 +1,5 @@
1
1
  import { ToneMapping } from "three";
2
- import type { Context } from "./engine_setup";
2
+ import type { Context } from "./engine_setup.js";
3
3
  export declare function patchTonemapping(_ctx?: Context): void;
4
4
  type TonemappingName = "none" | "neutral" | "aces" | "agx" | "khronos_neutral";
5
5
  export declare function nameToThreeTonemapping(str: null | undefined | TonemappingName | ({} & string)): undefined | ToneMapping;
@@ -440,6 +440,22 @@ export interface IPhysicsEngine {
440
440
  * @returns array of colliders that overlap with the box. Note: they currently only contain the collider and the gameobject
441
441
  */
442
442
  boxOverlap(point: Vector3, size: Vector3, rotation: Vector4Like | null): Array<ShapeOverlapResult>;
443
+ /**
444
+ * Creates a collider in the physics world.
445
+ *
446
+ * @param collider - The collider component.
447
+ * @param desc - The collider description.
448
+ * @returns The created collider.
449
+ *
450
+ * @throws Will throw an error if the physics world is not initialized. Make sure to call `initialize()` before creating colliders.
451
+ *
452
+ * @example
453
+ * ```typescript
454
+ * const boxColliderDesc = NEEDLE_ENGINE_MODULES.RAPIER_PHYSICS.MODULE.ColliderDesc.cuboid(1, 1, 1);
455
+ * const collider = physicsEngine.createCollider(myBoxColliderComponent, boxColliderDesc);
456
+ * ```
457
+ */
458
+ createCollider(collider: ICollider, desc: any): any;
443
459
  /**
444
460
  * Adds a sphere collider to the physics world
445
461
  * @param collider The collider component to add
@@ -1,6 +1,7 @@
1
1
  declare type Type = new (...args: any[]) => any;
2
2
  declare class _TypeStore {
3
3
  private _types;
4
+ private _reverseTypes;
4
5
  constructor();
5
6
  /**
6
7
  * add a type to the store
@@ -2,6 +2,7 @@ import { getParam } from "./engine_utils.js";
2
2
  const debug = getParam("debugtypes");
3
3
  class _TypeStore {
4
4
  _types = new Map();
5
+ _reverseTypes = new Map();
5
6
  constructor() {
6
7
  if (debug)
7
8
  console.warn("TypeStore: Created", this);
@@ -13,8 +14,10 @@ class _TypeStore {
13
14
  if (debug)
14
15
  console.warn("ADD TYPE", key);
15
16
  const existing = this._types.get(key);
16
- if (!existing)
17
+ if (!existing) {
17
18
  this._types.set(key, type);
19
+ this._reverseTypes.set(type, key);
20
+ }
18
21
  else {
19
22
  if (debug) {
20
23
  if (existing !== type) {
@@ -33,11 +36,7 @@ class _TypeStore {
33
36
  * @returns the key/name for the given type if registered
34
37
  */
35
38
  getKey(type) {
36
- for (const [key, value] of this._types) {
37
- if (value === type)
38
- return key;
39
- }
40
- return null;
39
+ return this._reverseTypes.get(type) || null;
41
40
  }
42
41
  }
43
42
  export const $BuiltInTypeFlag = Symbol("BuiltInType");
@@ -1 +1 @@
1
- {"version":3,"file":"engine_typestore.js","sourceRoot":"","sources":["../../src/engine/engine_typestore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;AAIrC,MAAM,UAAU;IAEJ,MAAM,GAAsB,IAAI,GAAG,EAAE,CAAC;IAE9C;QACI,IAAI,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACI,GAAG,CAAC,GAAW,EAAE,IAAU;QAC9B,IAAI,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ;YACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aAC1B;YACD,IAAI,KAAK,EAAE;gBACP,IAAI,QAAQ,KAAK,IAAI,EAAE;oBACnB,OAAO,CAAC,IAAI,CAAC,iFAAiF,EAAE,GAAG,CAAC,CAAA;iBACvG;aACJ;SACJ;IACL,CAAC;IAED;;OAEG;IACI,GAAG,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,IAAU;QACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;YACpC,IAAI,KAAK,KAAK,IAAI;gBACd,OAAO,GAAG,CAAC;SAClB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,UAAU,EAAE,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,WAAiB;IACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;QAChC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACrD,CAAC,CAAA"}
1
+ {"version":3,"file":"engine_typestore.js","sourceRoot":"","sources":["../../src/engine/engine_typestore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;AAIrC,MAAM,UAAU;IAEJ,MAAM,GAAsB,IAAI,GAAG,EAAE,CAAC;IACtC,aAAa,GAAsB,IAAI,GAAG,EAAE,CAAC;IAErD;QACI,IAAI,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACI,GAAG,CAAC,GAAW,EAAE,IAAU;QAC9B,IAAI,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SACrC;aACI;YACD,IAAI,KAAK,EAAE;gBACP,IAAI,QAAQ,KAAK,IAAI,EAAE;oBACnB,OAAO,CAAC,IAAI,CAAC,iFAAiF,EAAE,GAAG,CAAC,CAAA;iBACvG;aACJ;SACJ;IACL,CAAC;IAED;;OAEG;IACI,GAAG,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,IAAU;QACpB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAChD,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,UAAU,EAAE,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,WAAiB;IACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;QAChC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACrD,CAAC,CAAA"}
@@ -1,3 +1,12 @@
1
+ declare global {
2
+ interface HTMLElementTagNameMap {
3
+ "needle-logo-element": NeedleLogoElement;
4
+ }
5
+ }
6
+ /**
7
+ * Needle logo web component used in the hosting UI (small, compact logo or full)
8
+ * @element needle-logo-element
9
+ */
1
10
  export declare class NeedleLogoElement extends HTMLElement {
2
11
  static get elementName(): string;
3
12
  static create(): NeedleLogoElement;
@@ -5,6 +14,8 @@ export declare class NeedleLogoElement extends HTMLElement {
5
14
  private readonly _root;
6
15
  private readonly wrapper;
7
16
  private readonly logoElement;
17
+ /** Show or hide the logo element (used by the menu) */
8
18
  setLogoVisible(val: boolean): void;
19
+ /** Switch the logo between full and compact versions */
9
20
  setType(type: "full" | "compact"): void;
10
21
  }
@@ -1,5 +1,9 @@
1
1
  import { needleLogoOnlySVG, needleLogoSVG } from "../assets/index.js";
2
2
  const elementName = "needle-logo-element";
3
+ /**
4
+ * Needle logo web component used in the hosting UI (small, compact logo or full)
5
+ * @element needle-logo-element
6
+ */
3
7
  export class NeedleLogoElement extends HTMLElement {
4
8
  static get elementName() { return elementName; }
5
9
  static create() {
@@ -71,9 +75,11 @@ export class NeedleLogoElement extends HTMLElement {
71
75
  _root;
72
76
  wrapper;
73
77
  logoElement;
78
+ /** Show or hide the logo element (used by the menu) */
74
79
  setLogoVisible(val) {
75
80
  this.logoElement.style.display = val ? "block" : "none";
76
81
  }
82
+ /** Switch the logo between full and compact versions */
77
83
  setType(type) {
78
84
  if (type === "full") {
79
85
  this.logoElement.src = needleLogoSVG;
@@ -1 +1 @@
1
- {"version":3,"file":"logo-element.js","sourceRoot":"","sources":["../../../src/engine/webcomponents/logo-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEzF,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAE1C,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAE9C,MAAM,KAAK,WAAW,KAAK,OAAO,WAAW,CAAC,CAAC,CAAC;IAEhD,MAAM,CAAC,MAAM;QACT,OAAO,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAsB,CAAC;IACpE,CAAC;IAED;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACpD,QAAQ,CAAC,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAyCiB,aAAa;;SAElD,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAmB,CAAC;QACtE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAqB,CAAC;QAE5E,yCAAyC;QAEzC,8CAA8C;QAC9C,kCAAkC;QAElC,kDAAkD;QAClD,8CAA8C;QAE9C,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAChC,UAAU,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,YAAY;QACZ,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAClE,CAAC;IAEgB,KAAK,CAAa;IAClB,OAAO,CAAiB;IACxB,WAAW,CAAmB;IAE/C,cAAc,CAAC,GAAY;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5D,CAAC;IAED,OAAO,CAAC,IAAwB;QAC5B,IAAI,IAAI,KAAK,MAAM,EAAE;YACjB,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,aAAa,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAChD;aAAM;YACH,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,iBAAiB,CAAC;YACzC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAC7C;IACL,CAAC;CAEJ;AACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;IAChC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"logo-element.js","sourceRoot":"","sources":["../../../src/engine/webcomponents/logo-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEzF,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAQ1C;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAE9C,MAAM,KAAK,WAAW,KAAK,OAAO,WAAW,CAAC,CAAC,CAAC;IAEhD,MAAM,CAAC,MAAM;QACT,OAAO,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAsB,CAAC;IACpE,CAAC;IAED;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACpD,QAAQ,CAAC,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAyCiB,aAAa;;SAElD,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAmB,CAAC;QACtE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAqB,CAAC;QAE5E,yCAAyC;QAEzC,8CAA8C;QAC9C,kCAAkC;QAElC,kDAAkD;QAClD,8CAA8C;QAE9C,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAChC,UAAU,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,YAAY;QACZ,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAClE,CAAC;IAEgB,KAAK,CAAa;IAClB,OAAO,CAAiB;IACxB,WAAW,CAAmB;IAE/C,uDAAuD;IACvD,cAAc,CAAC,GAAY;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5D,CAAC;IAED,wDAAwD;IACxD,OAAO,CAAC,IAAwB;QAC5B,IAAI,IAAI,KAAK,MAAM,EAAE;YACjB,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,aAAa,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAChD;aAAM;YACH,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,iBAAiB,CAAC;YACzC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAC7C;IACL,CAAC;CAEJ;AACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;IAChC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC"}
@@ -1,4 +1,10 @@
1
1
  import type { Context } from "../../engine_context.js";
2
+ import { NeedleLogoElement } from "../logo-element.js";
3
+ declare global {
4
+ interface HTMLElementTagNameMap {
5
+ "needle-logo-element": NeedleLogoElement;
6
+ }
7
+ }
2
8
  /** This is the model for the postMessage event that the needle engine will send to create menu items */
3
9
  export declare type NeedleMenuPostMessageModel = {
4
10
  type: "needle:menu";
@@ -118,6 +124,16 @@ export declare class NeedleMenu {
118
124
  private _fullscreenButton?;
119
125
  appendChild(child: HTMLElement | ButtonInfo): HTMLElement;
120
126
  }
127
+ /**
128
+ * `<needle-menu>` web component — lightweight menu used by Needle Engine.
129
+ *
130
+ * This element is intended as an internal UI primitive for hosting application
131
+ * menus and buttons. Use the higher-level `NeedleMenu` API from the engine
132
+ * code to manipulate it programmatically. Public DOM-facing methods are
133
+ * documented (appendChild / append / prepend / setPosition / setVisible).
134
+ *
135
+ * @element needle-menu
136
+ */
121
137
  export declare class NeedleMenuElement extends HTMLElement {
122
138
  #private;
123
139
  static create(): HTMLElement;
@@ -128,26 +144,31 @@ export declare class NeedleMenuElement extends HTMLElement {
128
144
  private _sizeChangeInterval;
129
145
  connectedCallback(): void;
130
146
  disconnectedCallback(): void;
147
+ /** @private user preference for logo visibility */
131
148
  private _userRequestedLogoVisible?;
132
149
  showNeedleLogo(visible: boolean): void;
133
150
  /** @returns true if the logo is visible */
134
151
  get logoIsVisible(): boolean;
135
152
  private ___onSetLogoVisible;
136
153
  setPosition(position: "top" | "bottom"): void;
154
+ /** @private user preference for menu visibility */
137
155
  private _userRequestedMenuVisible?;
138
156
  setVisible(visible: boolean): void;
139
157
  /**
140
158
  * If the menu is in compact mode and the foldout is currently open (to show all menu options) then this will close the foldout
141
159
  */
142
160
  closeFoldout(): void;
161
+ /** @private root container element inside shadow DOM */
143
162
  private readonly root;
144
- /** wraps the whole content */
163
+ /** @private wraps the whole content (internal layout) */
145
164
  private readonly wrapper;
146
- /** contains the buttons and dynamic elements */
165
+ /** @private contains the buttons and dynamic elements */
147
166
  private readonly options;
148
- /** contains the needle-logo html element */
167
+ /** @private contains the needle-logo html element */
149
168
  private readonly logoContainer;
169
+ /** @private compact menu button element */
150
170
  private readonly compactMenuButton;
171
+ /** @private foldout container used in compact mode */
151
172
  private readonly foldout;
152
173
  append(...nodes: (string | Node)[]): void;
153
174
  /**
@@ -214,6 +214,16 @@ export class NeedleMenu {
214
214
  return this._menu.appendChild(child);
215
215
  }
216
216
  }
217
+ /**
218
+ * `<needle-menu>` web component — lightweight menu used by Needle Engine.
219
+ *
220
+ * This element is intended as an internal UI primitive for hosting application
221
+ * menus and buttons. Use the higher-level `NeedleMenu` API from the engine
222
+ * code to manipulate it programmatically. Public DOM-facing methods are
223
+ * documented (appendChild / append / prepend / setPosition / setVisible).
224
+ *
225
+ * @element needle-menu
226
+ */
217
227
  export class NeedleMenuElement extends HTMLElement {
218
228
  static create() {
219
229
  // https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement#is
@@ -779,6 +789,7 @@ export class NeedleMenuElement extends HTMLElement {
779
789
  }
780
790
  }
781
791
  };
792
+ /** @private user preference for logo visibility */
782
793
  _userRequestedLogoVisible = undefined;
783
794
  showNeedleLogo(visible) {
784
795
  this._userRequestedLogoVisible = visible;
@@ -817,6 +828,7 @@ export class NeedleMenuElement extends HTMLElement {
817
828
  this.root.classList.remove("top", "bottom");
818
829
  this.root.classList.add(position);
819
830
  }
831
+ /** @private user preference for menu visibility */
820
832
  _userRequestedMenuVisible = undefined;
821
833
  setVisible(visible) {
822
834
  this._userRequestedMenuVisible = visible;
@@ -829,14 +841,17 @@ export class NeedleMenuElement extends HTMLElement {
829
841
  this.root.classList.remove("open");
830
842
  }
831
843
  // private _root: ShadowRoot | null = null;
844
+ /** @private root container element inside shadow DOM */
832
845
  root;
833
- /** wraps the whole content */
846
+ /** @private wraps the whole content (internal layout) */
834
847
  wrapper;
835
- /** contains the buttons and dynamic elements */
848
+ /** @private contains the buttons and dynamic elements */
836
849
  options;
837
- /** contains the needle-logo html element */
850
+ /** @private contains the needle-logo html element */
838
851
  logoContainer;
852
+ /** @private compact menu button element */
839
853
  compactMenuButton;
854
+ /** @private foldout container used in compact mode */
840
855
  foldout;
841
856
  append(...nodes) {
842
857
  for (const node of nodes) {