@needle-tools/engine 4.13.0 → 4.13.1-next.6cb1b73

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 (452) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/README.md +37 -0
  3. package/components.needle.json +1 -1
  4. package/custom-elements.json +138 -4
  5. package/dist/gltf-progressive-BTd714P0.min.js +9 -0
  6. package/dist/gltf-progressive-CrHduHPm.umd.cjs +9 -0
  7. package/dist/{gltf-progressive-eiJCrjLb.js → gltf-progressive-CsyU_5lc.js} +364 -287
  8. package/dist/{needle-engine.bundle-CxaKFQVS.min.js → needle-engine.bundle-DRSn34Va.min.js} +109 -109
  9. package/dist/{needle-engine.bundle-J4k4znv8.umd.cjs → needle-engine.bundle-qTjHpin6.umd.cjs} +110 -110
  10. package/dist/{needle-engine.bundle-Dl3TFYyv.js → needle-engine.bundle-wB3o8RB6.js} +2655 -2130
  11. package/dist/needle-engine.d.ts +4202 -423
  12. package/dist/needle-engine.js +3 -3
  13. package/dist/needle-engine.min.js +1 -1
  14. package/dist/needle-engine.umd.cjs +1 -1
  15. package/lib/engine/engine_context.d.ts +16 -0
  16. package/lib/engine/engine_context.js +28 -2
  17. package/lib/engine/engine_context.js.map +1 -1
  18. package/lib/engine/engine_gameobject.d.ts +72 -0
  19. package/lib/engine/engine_gameobject.js +38 -0
  20. package/lib/engine/engine_gameobject.js.map +1 -1
  21. package/lib/engine/engine_input.d.ts +80 -4
  22. package/lib/engine/engine_input.js +78 -2
  23. package/lib/engine/engine_input.js.map +1 -1
  24. package/lib/engine/engine_math.d.ts +81 -2
  25. package/lib/engine/engine_math.js +68 -2
  26. package/lib/engine/engine_math.js.map +1 -1
  27. package/lib/engine/engine_networking.d.ts +181 -14
  28. package/lib/engine/engine_networking.js +181 -14
  29. package/lib/engine/engine_networking.js.map +1 -1
  30. package/lib/engine/engine_networking_auto.d.ts +35 -8
  31. package/lib/engine/engine_networking_auto.js +35 -8
  32. package/lib/engine/engine_networking_auto.js.map +1 -1
  33. package/lib/engine/engine_physics.d.ts +37 -1
  34. package/lib/engine/engine_physics.js +37 -1
  35. package/lib/engine/engine_physics.js.map +1 -1
  36. package/lib/engine/engine_physics_rapier.d.ts +78 -0
  37. package/lib/engine/engine_physics_rapier.js +78 -0
  38. package/lib/engine/engine_physics_rapier.js.map +1 -1
  39. package/lib/engine/engine_serialization_decorator.d.ts +28 -2
  40. package/lib/engine/engine_serialization_decorator.js +28 -2
  41. package/lib/engine/engine_serialization_decorator.js.map +1 -1
  42. package/lib/engine/engine_time.d.ts +23 -3
  43. package/lib/engine/engine_time.js +23 -3
  44. package/lib/engine/engine_time.js.map +1 -1
  45. package/lib/engine/engine_util_decorator.d.ts +31 -1
  46. package/lib/engine/engine_util_decorator.js +31 -1
  47. package/lib/engine/engine_util_decorator.js.map +1 -1
  48. package/lib/engine/engine_utils.d.ts +22 -5
  49. package/lib/engine/engine_utils.js +22 -5
  50. package/lib/engine/engine_utils.js.map +1 -1
  51. package/lib/engine/engine_utils_screenshot.d.ts +171 -14
  52. package/lib/engine/engine_utils_screenshot.js +65 -0
  53. package/lib/engine/engine_utils_screenshot.js.map +1 -1
  54. package/lib/engine/engine_utils_screenshot.xr.d.ts +1 -1
  55. package/lib/engine/engine_utils_screenshot.xr.js +1 -1
  56. package/lib/engine/extensions/NEEDLE_materialx.d.ts +2 -2
  57. package/lib/engine/extensions/NEEDLE_materialx.js +2 -2
  58. package/lib/engine/extensions/NEEDLE_materialx.js.map +1 -1
  59. package/lib/engine/extensions/NEEDLE_techniques_webgl.js +3 -0
  60. package/lib/engine/extensions/NEEDLE_techniques_webgl.js.map +1 -1
  61. package/lib/engine/extensions/index.d.ts +1 -1
  62. package/lib/engine/extensions/index.js +1 -1
  63. package/lib/engine/extensions/index.js.map +1 -1
  64. package/lib/engine/xr/NeedleXRSession.d.ts +5 -0
  65. package/lib/engine/xr/NeedleXRSession.js +5 -0
  66. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  67. package/lib/engine-components/AlignmentConstraint.d.ts +23 -3
  68. package/lib/engine-components/AlignmentConstraint.js +23 -3
  69. package/lib/engine-components/AlignmentConstraint.js.map +1 -1
  70. package/lib/engine-components/Animation.d.ts +42 -0
  71. package/lib/engine-components/Animation.js +36 -0
  72. package/lib/engine-components/Animation.js.map +1 -1
  73. package/lib/engine-components/Animator.d.ts +37 -4
  74. package/lib/engine-components/Animator.js +37 -4
  75. package/lib/engine-components/Animator.js.map +1 -1
  76. package/lib/engine-components/AudioListener.d.ts +1 -1
  77. package/lib/engine-components/AudioListener.js +1 -1
  78. package/lib/engine-components/AudioSource.d.ts +32 -10
  79. package/lib/engine-components/AudioSource.js +32 -10
  80. package/lib/engine-components/AudioSource.js.map +1 -1
  81. package/lib/engine-components/AxesHelper.d.ts +22 -3
  82. package/lib/engine-components/AxesHelper.js +22 -3
  83. package/lib/engine-components/AxesHelper.js.map +1 -1
  84. package/lib/engine-components/BasicIKConstraint.d.ts +27 -4
  85. package/lib/engine-components/BasicIKConstraint.js +27 -4
  86. package/lib/engine-components/BasicIKConstraint.js.map +1 -1
  87. package/lib/engine-components/Camera.d.ts +32 -2
  88. package/lib/engine-components/Camera.js +32 -2
  89. package/lib/engine-components/Camera.js.map +1 -1
  90. package/lib/engine-components/CharacterController.d.ts +68 -4
  91. package/lib/engine-components/CharacterController.js +68 -4
  92. package/lib/engine-components/CharacterController.js.map +1 -1
  93. package/lib/engine-components/Collider.d.ts +69 -12
  94. package/lib/engine-components/Collider.js +69 -12
  95. package/lib/engine-components/Collider.js.map +1 -1
  96. package/lib/engine-components/ContactShadows.d.ts +28 -6
  97. package/lib/engine-components/ContactShadows.js +33 -8
  98. package/lib/engine-components/ContactShadows.js.map +1 -1
  99. package/lib/engine-components/DeleteBox.d.ts +43 -2
  100. package/lib/engine-components/DeleteBox.js +43 -2
  101. package/lib/engine-components/DeleteBox.js.map +1 -1
  102. package/lib/engine-components/DeviceFlag.d.ts +21 -2
  103. package/lib/engine-components/DeviceFlag.js +21 -2
  104. package/lib/engine-components/DeviceFlag.js.map +1 -1
  105. package/lib/engine-components/DragControls.d.ts +32 -2
  106. package/lib/engine-components/DragControls.js +32 -2
  107. package/lib/engine-components/DragControls.js.map +1 -1
  108. package/lib/engine-components/DropListener.d.ts +33 -21
  109. package/lib/engine-components/DropListener.js +33 -21
  110. package/lib/engine-components/DropListener.js.map +1 -1
  111. package/lib/engine-components/Duplicatable.d.ts +36 -5
  112. package/lib/engine-components/Duplicatable.js +36 -5
  113. package/lib/engine-components/Duplicatable.js.map +1 -1
  114. package/lib/engine-components/EventList.d.ts +38 -10
  115. package/lib/engine-components/EventList.js +40 -12
  116. package/lib/engine-components/EventList.js.map +1 -1
  117. package/lib/engine-components/EventTrigger.d.ts +1 -1
  118. package/lib/engine-components/EventTrigger.js +1 -1
  119. package/lib/engine-components/Fog.d.ts +23 -1
  120. package/lib/engine-components/Fog.js +23 -1
  121. package/lib/engine-components/Fog.js.map +1 -1
  122. package/lib/engine-components/GridHelper.d.ts +18 -2
  123. package/lib/engine-components/GridHelper.js +18 -2
  124. package/lib/engine-components/GridHelper.js.map +1 -1
  125. package/lib/engine-components/GroundProjection.d.ts +24 -2
  126. package/lib/engine-components/GroundProjection.js +24 -2
  127. package/lib/engine-components/GroundProjection.js.map +1 -1
  128. package/lib/engine-components/Interactable.d.ts +17 -2
  129. package/lib/engine-components/Interactable.js +17 -2
  130. package/lib/engine-components/Interactable.js.map +1 -1
  131. package/lib/engine-components/Joints.d.ts +50 -7
  132. package/lib/engine-components/Joints.js +50 -7
  133. package/lib/engine-components/Joints.js.map +1 -1
  134. package/lib/engine-components/LODGroup.d.ts +36 -14
  135. package/lib/engine-components/LODGroup.js +43 -11
  136. package/lib/engine-components/LODGroup.js.map +1 -1
  137. package/lib/engine-components/Light.d.ts +30 -5
  138. package/lib/engine-components/Light.js +30 -5
  139. package/lib/engine-components/Light.js.map +1 -1
  140. package/lib/engine-components/LookAtConstraint.d.ts +22 -7
  141. package/lib/engine-components/LookAtConstraint.js +22 -7
  142. package/lib/engine-components/LookAtConstraint.js.map +1 -1
  143. package/lib/engine-components/NeedleMenu.d.ts +27 -5
  144. package/lib/engine-components/NeedleMenu.js +27 -5
  145. package/lib/engine-components/NeedleMenu.js.map +1 -1
  146. package/lib/engine-components/NestedGltf.d.ts +39 -4
  147. package/lib/engine-components/NestedGltf.js +42 -4
  148. package/lib/engine-components/NestedGltf.js.map +1 -1
  149. package/lib/engine-components/OffsetConstraint.d.ts +27 -3
  150. package/lib/engine-components/OffsetConstraint.js +27 -3
  151. package/lib/engine-components/OffsetConstraint.js.map +1 -1
  152. package/lib/engine-components/OrbitControls.d.ts +41 -3
  153. package/lib/engine-components/OrbitControls.js +41 -3
  154. package/lib/engine-components/OrbitControls.js.map +1 -1
  155. package/lib/engine-components/PlayerColor.d.ts +1 -1
  156. package/lib/engine-components/PlayerColor.js +1 -1
  157. package/lib/engine-components/ReflectionProbe.d.ts +17 -2
  158. package/lib/engine-components/ReflectionProbe.js +17 -3
  159. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  160. package/lib/engine-components/Renderer.d.ts +35 -0
  161. package/lib/engine-components/Renderer.js +36 -2
  162. package/lib/engine-components/Renderer.js.map +1 -1
  163. package/lib/engine-components/RigidBody.d.ts +57 -5
  164. package/lib/engine-components/RigidBody.js +57 -5
  165. package/lib/engine-components/RigidBody.js.map +1 -1
  166. package/lib/engine-components/SceneSwitcher.d.ts +11 -0
  167. package/lib/engine-components/SceneSwitcher.js +11 -0
  168. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  169. package/lib/engine-components/ScreenCapture.d.ts +39 -6
  170. package/lib/engine-components/ScreenCapture.js +39 -6
  171. package/lib/engine-components/ScreenCapture.js.map +1 -1
  172. package/lib/engine-components/SeeThrough.d.ts +70 -5
  173. package/lib/engine-components/SeeThrough.js +70 -5
  174. package/lib/engine-components/SeeThrough.js.map +1 -1
  175. package/lib/engine-components/ShadowCatcher.d.ts +56 -4
  176. package/lib/engine-components/ShadowCatcher.js +56 -4
  177. package/lib/engine-components/ShadowCatcher.js.map +1 -1
  178. package/lib/engine-components/Skybox.d.ts +43 -7
  179. package/lib/engine-components/Skybox.js +43 -7
  180. package/lib/engine-components/Skybox.js.map +1 -1
  181. package/lib/engine-components/SmoothFollow.d.ts +66 -7
  182. package/lib/engine-components/SmoothFollow.js +66 -7
  183. package/lib/engine-components/SmoothFollow.js.map +1 -1
  184. package/lib/engine-components/SpatialTrigger.d.ts +48 -1
  185. package/lib/engine-components/SpatialTrigger.js +48 -1
  186. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  187. package/lib/engine-components/SpectatorCamera.d.ts +21 -3
  188. package/lib/engine-components/SpectatorCamera.js +21 -3
  189. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  190. package/lib/engine-components/SyncedRoom.d.ts +7 -1
  191. package/lib/engine-components/SyncedRoom.js +7 -1
  192. package/lib/engine-components/SyncedRoom.js.map +1 -1
  193. package/lib/engine-components/SyncedTransform.d.ts +55 -6
  194. package/lib/engine-components/SyncedTransform.js +55 -6
  195. package/lib/engine-components/SyncedTransform.js.map +1 -1
  196. package/lib/engine-components/TransformGizmo.d.ts +30 -3
  197. package/lib/engine-components/TransformGizmo.js +30 -3
  198. package/lib/engine-components/TransformGizmo.js.map +1 -1
  199. package/lib/engine-components/VideoPlayer.d.ts +33 -6
  200. package/lib/engine-components/VideoPlayer.js +51 -6
  201. package/lib/engine-components/VideoPlayer.js.map +1 -1
  202. package/lib/engine-components/Voip.d.ts +33 -2
  203. package/lib/engine-components/Voip.js +33 -2
  204. package/lib/engine-components/Voip.js.map +1 -1
  205. package/lib/engine-components/export/usdz/USDZExporter.d.ts +47 -13
  206. package/lib/engine-components/export/usdz/USDZExporter.js +47 -13
  207. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  208. package/lib/engine-components/particlesystem/ParticleSystem.d.ts +82 -3
  209. package/lib/engine-components/particlesystem/ParticleSystem.js +82 -3
  210. package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
  211. package/lib/engine-components/postprocessing/Effects/Antialiasing.d.ts +1 -0
  212. package/lib/engine-components/postprocessing/Effects/Antialiasing.js +1 -0
  213. package/lib/engine-components/postprocessing/Effects/Antialiasing.js.map +1 -1
  214. package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +1 -1
  215. package/lib/engine-components/postprocessing/Effects/BloomEffect.js +1 -1
  216. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +1 -1
  217. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +1 -1
  218. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +1 -1
  219. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +1 -1
  220. package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +1 -1
  221. package/lib/engine-components/postprocessing/Effects/DepthOfField.js +1 -1
  222. package/lib/engine-components/postprocessing/Effects/EffectWrapper.d.ts +1 -0
  223. package/lib/engine-components/postprocessing/Effects/EffectWrapper.js +1 -0
  224. package/lib/engine-components/postprocessing/Effects/EffectWrapper.js.map +1 -1
  225. package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +1 -1
  226. package/lib/engine-components/postprocessing/Effects/Pixelation.js +1 -1
  227. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.d.ts +1 -1
  228. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js +1 -1
  229. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +1 -1
  230. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +1 -1
  231. package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +1 -1
  232. package/lib/engine-components/postprocessing/Effects/Sharpening.js +1 -1
  233. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +1 -1
  234. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +1 -1
  235. package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +1 -1
  236. package/lib/engine-components/postprocessing/Effects/Tonemapping.js +1 -1
  237. package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +1 -1
  238. package/lib/engine-components/postprocessing/Effects/Vignette.js +1 -1
  239. package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +1 -1
  240. package/lib/engine-components/postprocessing/PostProcessingHandler.js +1 -1
  241. package/lib/engine-components/postprocessing/Volume.d.ts +1 -1
  242. package/lib/engine-components/postprocessing/Volume.js +1 -1
  243. package/lib/engine-components/splines/Spline.d.ts +409 -12
  244. package/lib/engine-components/splines/Spline.js +409 -12
  245. package/lib/engine-components/splines/Spline.js.map +1 -1
  246. package/lib/engine-components/splines/SplineUtils.d.ts +1 -0
  247. package/lib/engine-components/splines/SplineUtils.js +1 -0
  248. package/lib/engine-components/splines/SplineUtils.js.map +1 -1
  249. package/lib/engine-components/splines/SplineWalker.d.ts +3 -1
  250. package/lib/engine-components/splines/SplineWalker.js +3 -1
  251. package/lib/engine-components/splines/SplineWalker.js.map +1 -1
  252. package/lib/engine-components/timeline/PlayableDirector.d.ts +103 -14
  253. package/lib/engine-components/timeline/PlayableDirector.js +95 -25
  254. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  255. package/lib/engine-components/timeline/TimelineModels.d.ts +14 -0
  256. package/lib/engine-components/timeline/TimelineModels.js +4 -0
  257. package/lib/engine-components/timeline/TimelineModels.js.map +1 -1
  258. package/lib/engine-components/ui/Button.d.ts +29 -3
  259. package/lib/engine-components/ui/Button.js +29 -3
  260. package/lib/engine-components/ui/Button.js.map +1 -1
  261. package/lib/engine-components/ui/Canvas.d.ts +29 -4
  262. package/lib/engine-components/ui/Canvas.js +29 -4
  263. package/lib/engine-components/ui/Canvas.js.map +1 -1
  264. package/lib/engine-components/ui/CanvasGroup.d.ts +1 -1
  265. package/lib/engine-components/ui/CanvasGroup.js +1 -1
  266. package/lib/engine-components/ui/EventSystem.d.ts +1 -1
  267. package/lib/engine-components/ui/EventSystem.js +1 -1
  268. package/lib/engine-components/ui/Graphic.d.ts +1 -0
  269. package/lib/engine-components/ui/Graphic.js +1 -0
  270. package/lib/engine-components/ui/Graphic.js.map +1 -1
  271. package/lib/engine-components/ui/Image.d.ts +22 -3
  272. package/lib/engine-components/ui/Image.js +22 -3
  273. package/lib/engine-components/ui/Image.js.map +1 -1
  274. package/lib/engine-components/ui/InputField.d.ts +1 -1
  275. package/lib/engine-components/ui/InputField.js +1 -1
  276. package/lib/engine-components/ui/Layout.d.ts +3 -0
  277. package/lib/engine-components/ui/Layout.js +3 -0
  278. package/lib/engine-components/ui/Layout.js.map +1 -1
  279. package/lib/engine-components/ui/Outline.d.ts +1 -1
  280. package/lib/engine-components/ui/Outline.js +1 -1
  281. package/lib/engine-components/ui/PointerEvents.d.ts +1 -1
  282. package/lib/engine-components/ui/PointerEvents.js +1 -1
  283. package/lib/engine-components/ui/Raycaster.d.ts +55 -6
  284. package/lib/engine-components/ui/Raycaster.js +55 -6
  285. package/lib/engine-components/ui/Raycaster.js.map +1 -1
  286. package/lib/engine-components/ui/RectTransform.d.ts +1 -1
  287. package/lib/engine-components/ui/RectTransform.js +1 -1
  288. package/lib/engine-components/ui/SpatialHtml.d.ts +1 -1
  289. package/lib/engine-components/ui/SpatialHtml.js +1 -1
  290. package/lib/engine-components/ui/Text.d.ts +23 -1
  291. package/lib/engine-components/ui/Text.js +23 -1
  292. package/lib/engine-components/ui/Text.js.map +1 -1
  293. package/lib/engine-components/utils/LookAt.d.ts +1 -1
  294. package/lib/engine-components/utils/LookAt.js +1 -1
  295. package/lib/engine-components/utils/OpenURL.d.ts +2 -1
  296. package/lib/engine-components/utils/OpenURL.js +2 -1
  297. package/lib/engine-components/utils/OpenURL.js.map +1 -1
  298. package/lib/engine-components/web/Clickthrough.d.ts +116 -7
  299. package/lib/engine-components/web/Clickthrough.js +116 -7
  300. package/lib/engine-components/web/Clickthrough.js.map +1 -1
  301. package/lib/engine-components/web/CursorFollow.d.ts +172 -7
  302. package/lib/engine-components/web/CursorFollow.js +172 -7
  303. package/lib/engine-components/web/CursorFollow.js.map +1 -1
  304. package/lib/engine-components/web/HoverAnimation.d.ts +140 -11
  305. package/lib/engine-components/web/HoverAnimation.js +140 -11
  306. package/lib/engine-components/web/HoverAnimation.js.map +1 -1
  307. package/lib/engine-components/web/ScrollFollow.d.ts +5 -1
  308. package/lib/engine-components/web/ScrollFollow.js +5 -1
  309. package/lib/engine-components/web/ScrollFollow.js.map +1 -1
  310. package/lib/engine-components/web/ViewBox.d.ts +116 -16
  311. package/lib/engine-components/web/ViewBox.js +110 -16
  312. package/lib/engine-components/web/ViewBox.js.map +1 -1
  313. package/lib/engine-components/webxr/TeleportTarget.d.ts +21 -2
  314. package/lib/engine-components/webxr/TeleportTarget.js +21 -2
  315. package/lib/engine-components/webxr/TeleportTarget.js.map +1 -1
  316. package/lib/engine-components/webxr/WebARCameraBackground.d.ts +9 -0
  317. package/lib/engine-components/webxr/WebARCameraBackground.js +9 -0
  318. package/lib/engine-components/webxr/WebARCameraBackground.js.map +1 -1
  319. package/lib/engine-components/webxr/WebXR.d.ts +11 -2
  320. package/lib/engine-components/webxr/WebXR.js +11 -2
  321. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  322. package/lib/engine-components/webxr/WebXRAvatar.d.ts +39 -2
  323. package/lib/engine-components/webxr/WebXRAvatar.js +35 -3
  324. package/lib/engine-components/webxr/WebXRAvatar.js.map +1 -1
  325. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +266 -30
  326. package/lib/engine-components/webxr/WebXRImageTracking.js +266 -30
  327. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  328. package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +1 -1
  329. package/lib/engine-components/webxr/WebXRPlaneTracking.js +1 -1
  330. package/lib/engine-components/webxr/XRFlag.d.ts +29 -2
  331. package/lib/engine-components/webxr/XRFlag.js +29 -2
  332. package/lib/engine-components/webxr/XRFlag.js.map +1 -1
  333. package/package.json +3 -3
  334. package/plugins/vite/custom-element-data.js +128 -19
  335. package/src/engine/engine_context.ts +33 -3
  336. package/src/engine/engine_gameobject.ts +73 -0
  337. package/src/engine/engine_input.ts +83 -7
  338. package/src/engine/engine_math.ts +81 -2
  339. package/src/engine/engine_networking.ts +186 -17
  340. package/src/engine/engine_networking_auto.ts +36 -9
  341. package/src/engine/engine_physics.ts +41 -1
  342. package/src/engine/engine_physics_rapier.ts +81 -0
  343. package/src/engine/engine_serialization_decorator.ts +28 -2
  344. package/src/engine/engine_time.ts +23 -3
  345. package/src/engine/engine_util_decorator.ts +31 -1
  346. package/src/engine/engine_utils.ts +22 -5
  347. package/src/engine/engine_utils_screenshot.ts +241 -17
  348. package/src/engine/engine_utils_screenshot.xr.ts +1 -1
  349. package/src/engine/extensions/NEEDLE_materialx.ts +5 -4
  350. package/src/engine/extensions/NEEDLE_techniques_webgl.ts +3 -0
  351. package/src/engine/extensions/index.ts +2 -2
  352. package/src/engine/xr/NeedleXRSession.ts +5 -0
  353. package/src/engine-components/AlignmentConstraint.ts +24 -4
  354. package/src/engine-components/Animation.ts +44 -2
  355. package/src/engine-components/Animator.ts +40 -7
  356. package/src/engine-components/AudioListener.ts +1 -1
  357. package/src/engine-components/AudioSource.ts +37 -15
  358. package/src/engine-components/AxesHelper.ts +23 -4
  359. package/src/engine-components/BasicIKConstraint.ts +28 -5
  360. package/src/engine-components/Camera.ts +33 -3
  361. package/src/engine-components/CharacterController.ts +74 -7
  362. package/src/engine-components/Collider.ts +78 -21
  363. package/src/engine-components/ContactShadows.ts +41 -11
  364. package/src/engine-components/DeleteBox.ts +43 -2
  365. package/src/engine-components/DeviceFlag.ts +22 -3
  366. package/src/engine-components/DragControls.ts +32 -2
  367. package/src/engine-components/DropListener.ts +41 -29
  368. package/src/engine-components/Duplicatable.ts +37 -6
  369. package/src/engine-components/EventList.ts +43 -15
  370. package/src/engine-components/EventTrigger.ts +1 -1
  371. package/src/engine-components/Fog.ts +23 -1
  372. package/src/engine-components/GridHelper.ts +18 -2
  373. package/src/engine-components/GroundProjection.ts +25 -3
  374. package/src/engine-components/Interactable.ts +17 -2
  375. package/src/engine-components/Joints.ts +51 -8
  376. package/src/engine-components/LODGroup.ts +45 -11
  377. package/src/engine-components/Light.ts +35 -13
  378. package/src/engine-components/LookAtConstraint.ts +26 -8
  379. package/src/engine-components/NeedleMenu.ts +29 -7
  380. package/src/engine-components/NestedGltf.ts +40 -4
  381. package/src/engine-components/OffsetConstraint.ts +27 -3
  382. package/src/engine-components/OrbitControls.ts +41 -3
  383. package/src/engine-components/PlayerColor.ts +1 -1
  384. package/src/engine-components/ReflectionProbe.ts +19 -5
  385. package/src/engine-components/Renderer.ts +35 -1
  386. package/src/engine-components/RigidBody.ts +64 -8
  387. package/src/engine-components/SceneSwitcher.ts +11 -0
  388. package/src/engine-components/ScreenCapture.ts +42 -9
  389. package/src/engine-components/SeeThrough.ts +76 -9
  390. package/src/engine-components/ShadowCatcher.ts +61 -6
  391. package/src/engine-components/Skybox.ts +48 -12
  392. package/src/engine-components/SmoothFollow.ts +68 -7
  393. package/src/engine-components/SpatialTrigger.ts +51 -4
  394. package/src/engine-components/SpectatorCamera.ts +23 -5
  395. package/src/engine-components/SyncedRoom.ts +8 -2
  396. package/src/engine-components/SyncedTransform.ts +59 -10
  397. package/src/engine-components/TransformGizmo.ts +31 -4
  398. package/src/engine-components/VideoPlayer.ts +54 -6
  399. package/src/engine-components/Voip.ts +33 -2
  400. package/src/engine-components/export/usdz/USDZExporter.ts +47 -13
  401. package/src/engine-components/particlesystem/ParticleSystem.ts +84 -5
  402. package/src/engine-components/postprocessing/Effects/Antialiasing.ts +1 -0
  403. package/src/engine-components/postprocessing/Effects/BloomEffect.ts +1 -1
  404. package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +1 -1
  405. package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +1 -1
  406. package/src/engine-components/postprocessing/Effects/DepthOfField.ts +1 -1
  407. package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +1 -0
  408. package/src/engine-components/postprocessing/Effects/Pixelation.ts +1 -1
  409. package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.ts +1 -1
  410. package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +1 -1
  411. package/src/engine-components/postprocessing/Effects/Sharpening.ts +1 -1
  412. package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +1 -1
  413. package/src/engine-components/postprocessing/Effects/Tonemapping.ts +1 -1
  414. package/src/engine-components/postprocessing/Effects/Vignette.ts +1 -1
  415. package/src/engine-components/postprocessing/PostProcessingHandler.ts +1 -1
  416. package/src/engine-components/postprocessing/Volume.ts +1 -1
  417. package/src/engine-components/splines/Spline.ts +412 -14
  418. package/src/engine-components/splines/SplineUtils.ts +1 -0
  419. package/src/engine-components/splines/SplineWalker.ts +4 -2
  420. package/src/engine-components/timeline/PlayableDirector.ts +108 -27
  421. package/src/engine-components/timeline/SignalAsset.ts +1 -1
  422. package/src/engine-components/timeline/TimelineModels.ts +18 -2
  423. package/src/engine-components/ui/Button.ts +29 -3
  424. package/src/engine-components/ui/Canvas.ts +29 -4
  425. package/src/engine-components/ui/CanvasGroup.ts +2 -2
  426. package/src/engine-components/ui/EventSystem.ts +1 -1
  427. package/src/engine-components/ui/Graphic.ts +1 -0
  428. package/src/engine-components/ui/Image.ts +22 -3
  429. package/src/engine-components/ui/InputField.ts +2 -2
  430. package/src/engine-components/ui/Layout.ts +3 -0
  431. package/src/engine-components/ui/Outline.ts +1 -1
  432. package/src/engine-components/ui/PointerEvents.ts +1 -1
  433. package/src/engine-components/ui/Raycaster.ts +57 -8
  434. package/src/engine-components/ui/RectTransform.ts +2 -2
  435. package/src/engine-components/ui/SpatialHtml.ts +1 -1
  436. package/src/engine-components/ui/Text.ts +24 -2
  437. package/src/engine-components/utils/LookAt.ts +1 -1
  438. package/src/engine-components/utils/OpenURL.ts +2 -1
  439. package/src/engine-components/web/Clickthrough.ts +119 -10
  440. package/src/engine-components/web/CursorFollow.ts +175 -9
  441. package/src/engine-components/web/HoverAnimation.ts +142 -13
  442. package/src/engine-components/web/ScrollFollow.ts +5 -1
  443. package/src/engine-components/web/ViewBox.ts +118 -18
  444. package/src/engine-components/webxr/TeleportTarget.ts +23 -4
  445. package/src/engine-components/webxr/WebARCameraBackground.ts +12 -3
  446. package/src/engine-components/webxr/WebXR.ts +12 -3
  447. package/src/engine-components/webxr/WebXRAvatar.ts +41 -4
  448. package/src/engine-components/webxr/WebXRImageTracking.ts +282 -38
  449. package/src/engine-components/webxr/WebXRPlaneTracking.ts +1 -1
  450. package/src/engine-components/webxr/XRFlag.ts +30 -3
  451. package/dist/gltf-progressive-BURrJW0U.umd.cjs +0 -8
  452. package/dist/gltf-progressive-DHLDFNvQ.min.js +0 -8
@@ -16,17 +16,43 @@ import { NEEDLE_progressive } from "../engine/extensions/NEEDLE_progressive.js";
16
16
  import { Behaviour } from "./Component.js";
17
17
  import { Rigidbody } from "./RigidBody.js";
18
18
  /**
19
- * Collider is the base class for all colliders. A collider is a physical shape that is used to detect collisions with other objects in the scene.
20
- * Colliders are used in combination with a {@link Rigidbody} to create physical interactions between objects.
21
- * Colliders are registered with the physics engine when they are enabled and removed when they are disabled.
19
+ * Collider is the base class for all physics collision shapes.
20
+ * Colliders define the physical boundary of objects for collision detection.
21
+ *
22
+ * ![](https://cloud.needle.tools/-/media/slYWnXyaxdlrCqu8GP_lFQ.gif)
23
+ *
24
+ * **Usage with Rigidbody:**
25
+ * - Add a collider to define collision shape
26
+ * - Add a {@link Rigidbody} to the same or parent object for physics simulation
27
+ * - Without Rigidbody, collider acts as static geometry
28
+ *
29
+ * **Trigger mode:**
30
+ * Set `isTrigger = true` for detection without physical collision.
31
+ * Triggers fire `onTriggerEnter`, `onTriggerStay`, `onTriggerExit` events.
32
+ *
33
+ * **Collision filtering:**
34
+ * Use `membership` and `filter` arrays to control which objects collide.
35
+ *
36
+ * @example Add a box collider to an object
37
+ * ```ts
38
+ * const collider = myObject.addComponent(BoxCollider);
39
+ * collider.size = new Vector3(1, 2, 1);
40
+ * collider.center = new Vector3(0, 1, 0);
41
+ * ```
22
42
  *
23
43
  * - Example: https://samples.needle.tools/physics-basic
24
44
  * - Example: https://samples.needle.tools/physics-playground
25
- * - Example: https://samples.needle.tools/physics-&-animation
26
45
  *
27
- * @summary Physics collider
46
+ * @summary Physics collider base class
28
47
  * @category Physics
29
48
  * @group Components
49
+ * @see {@link BoxCollider} for box-shaped colliders
50
+ * @see {@link SphereCollider} for sphere-shaped colliders
51
+ * @see {@link CapsuleCollider} for capsule-shaped colliders
52
+ * @see {@link MeshCollider} for mesh-based colliders
53
+ * @see {@link Rigidbody} for physics simulation
54
+ * @link https://engine.needle.tools/samples/?room=needle272&overlay=samples&tag=physics
55
+ * @link https://engine.needle.tools/samples-uploads/basic-physics/?showcolliders
30
56
  */
31
57
  export class Collider extends Behaviour {
32
58
  /**
@@ -118,14 +144,25 @@ __decorate([
118
144
  ], Collider.prototype, "filter", void 0);
119
145
  /**
120
146
  * SphereCollider represents a sphere-shaped collision volume.
121
- * Useful for objects that are roughly spherical in shape or need a simple collision boundary.
147
+ * Efficient and suitable for balls, projectiles, or approximate collision bounds.
148
+ *
149
+ * ![](https://cloud.needle.tools/-/media/slYWnXyaxdlrCqu8GP_lFQ.gif)
150
+ *
151
+ * @example Create a bouncing ball
152
+ * ```ts
153
+ * const sphere = ball.addComponent(SphereCollider);
154
+ * sphere.radius = 0.5;
155
+ * const rb = ball.addComponent(Rigidbody);
156
+ * rb.mass = 1;
157
+ * ```
122
158
  *
123
159
  * - Example: https://samples.needle.tools/physics-basic
124
- * - Example: https://samples.needle.tools/physics-playground
125
- * - Example: https://samples.needle.tools/physics-&-animation
126
160
  *
161
+ * @summary Sphere-shaped physics collider
127
162
  * @category Physics
128
163
  * @group Components
164
+ * @see {@link Collider} for base collider functionality
165
+ * @see {@link CapsuleCollider} for elongated sphere shapes
129
166
  */
130
167
  export class SphereCollider extends Collider {
131
168
  /**
@@ -166,15 +203,31 @@ __decorate([
166
203
  serializable(Vector3)
167
204
  ], SphereCollider.prototype, "center", void 0);
168
205
  /**
169
- * BoxCollider represents a box-shaped collision volume.
170
- * Ideal for rectangular objects or objects that need a simple cuboid collision boundary.
206
+ * BoxCollider represents a box-shaped (cuboid) collision volume.
207
+ * Most common collider type, efficient for walls, floors, crates, and rectangular objects.
208
+ *
209
+ * ![](https://cloud.needle.tools/-/media/slYWnXyaxdlrCqu8GP_lFQ.gif)
210
+ *
211
+ * @example Create a floor collider
212
+ * ```ts
213
+ * const box = floor.addComponent(BoxCollider);
214
+ * box.size = new Vector3(10, 0.1, 10);
215
+ * box.center = new Vector3(0, -0.05, 0);
216
+ * ```
217
+ *
218
+ * @example Auto-fit to mesh geometry
219
+ * ```ts
220
+ * const collider = BoxCollider.add(myMesh, { rigidbody: true });
221
+ * // Collider size is automatically set from mesh bounds
222
+ * ```
171
223
  *
172
224
  * - Example: https://samples.needle.tools/physics-basic
173
- * - Example: https://samples.needle.tools/physics-playground
174
- * - Example: https://samples.needle.tools/physics-&-animation
175
225
  *
226
+ * @summary Box-shaped physics collider
176
227
  * @category Physics
177
228
  * @group Components
229
+ * @see {@link Collider} for base collider functionality
230
+ * @see {@link SphereCollider} for sphere shapes
178
231
  */
179
232
  export class BoxCollider extends Collider {
180
233
  /**
@@ -269,6 +322,8 @@ __decorate([
269
322
  * MeshCollider creates a collision shape from a mesh geometry.
270
323
  * Allows for complex collision shapes that match the exact geometry of an object.
271
324
  *
325
+ * ![](https://cloud.needle.tools/-/media/slYWnXyaxdlrCqu8GP_lFQ.gif)
326
+ *
272
327
  * - Example: https://samples.needle.tools/physics-basic
273
328
  * - Example: https://samples.needle.tools/physics-playground
274
329
  * - Example: https://samples.needle.tools/physics-&-animation
@@ -356,6 +411,8 @@ __decorate([
356
411
  * CapsuleCollider represents a capsule-shaped collision volume (cylinder with hemispherical ends).
357
412
  * Ideal for character controllers and objects that need a rounded collision shape.
358
413
  *
414
+ * ![](https://cloud.needle.tools/-/media/slYWnXyaxdlrCqu8GP_lFQ.gif)
415
+ *
359
416
  * - Example: https://samples.needle.tools/physics-basic
360
417
  * - Example: https://samples.needle.tools/physics-playground
361
418
  * - Example: https://samples.needle.tools/physics-&-animation
@@ -1 +1 @@
1
- {"version":3,"file":"Collider.js","sourceRoot":"","sources":["../../src/engine-components/Collider.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAkB,KAAK,EAAE,IAAI,EAAY,OAAO,EAAE,MAAM,OAAO,CAAA;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;;;;;;GAYG;AACH,MAAM,OAAgB,QAAS,SAAQ,SAAS;IAE5C;;;OAGG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IAEH,iBAAiB,GAAqB,IAAI,CAAC;IAE3C;;;OAGG;IAEH,SAAS,GAAY,KAAK,CAAC;IAE3B;;OAEG;IAEH,cAAc,CAAmB;IAEjC;;;OAGG;IAEH,UAAU,GAAa,CAAC,CAAC,CAAC,CAAC;IAE3B;;OAEG;IAEH,MAAM,CAAY;IAElB,gBAAgB;IAChB,KAAK;QACD,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC,IAAI,CAAC,iBAAiB;YACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACjF,CAAC;IACD,gBAAgB;IAChB,KAAK;QACD,IAAI,CAAC,IAAI,CAAC,iBAAiB;YACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACjF,CAAC;IACD,gBAAgB;IAChB,QAAQ;QACJ,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC,iBAAiB;YACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACjF,CAAC;IACD,gBAAgB;IAChB,SAAS;QACL,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,gBAAgB,GAAG,GAAG,EAAE;QACpB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC,CAAA;IAED;;;OAGG;IACH,qBAAqB;QACjB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;CACJ;AAzEG;IADC,YAAY,CAAC,SAAS,CAAC;mDACmB;AAO3C;IADC,YAAY,EAAE;2CACY;AAM3B;IADC,YAAY,EAAE;gDACkB;AAOjC;IADC,YAAY,EAAE;4CACY;AAM3B;IADC,YAAY,EAAE;wCACG;AAiDtB;;;;;;;;;;GAUG;AACH,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAExC;;OAEG;IAGH,MAAM,GAAW,EAAE,CAAC;IAEpB;;OAEG;IAEH,MAAM,GAAY,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvC;;OAEG;IACH,QAAQ;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACrD,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,SAAS;QACL,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,UAAU;QACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;CACJ;AA/BG;IAFC,QAAQ,EAAE;IACV,YAAY,EAAE;8CACK;AAMpB;IADC,YAAY,CAAC,OAAO,CAAC;8CACiB;AA2B3C;;;;;;;;;;GAUG;AACH,MAAM,OAAO,WAAY,SAAQ,QAAQ;IAErC;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,GAAoB,EAAE,IAA8C;QAC3E,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAChD,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEnB,IAAI,IAAI,EAAE,SAAS,KAAK,IAAI,EAAE;YAC1B,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;SACxD;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;OAEG;IAGH,IAAI,GAAY,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAErC;;OAEG;IAEH,MAAM,GAAY,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvC;;;OAGG;IACH,QAAQ;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACH,SAAS;QACL,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,UAAU;QACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,IAA0B;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;QAE5B,gDAAgD;QAChD,iFAAiF;QACjF,kEAAkE;QAClE,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC9C,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAClD,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC;QAClC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1B,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;QAClB,GAAG,CAAC,YAAY,EAAE,CAAC;QACnB,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACxC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9B,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC;QAE5B,IAAI,IAAI,EAAE,KAAK,KAAK,IAAI;YAAE,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEhE,oEAAoE;QACpE,wCAAwC;QACxC,IAAI,CAAC,IAAI,GAAG,EAAG,CAAC,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,GAAG,EAAG,CAAC,SAAS,CAAC,IAAI,OAAO,EAAE,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACnC;IACL,CAAC;CACJ;AAvEG;IAFC,QAAQ,EAAE;IACV,YAAY,CAAC,OAAO,CAAC;yCACe;AAMrC;IADC,YAAY,CAAC,OAAO,CAAC;2CACiB;AAmE3C;;;;;;;;;;GAUG;AACH,MAAM,OAAO,YAAa,SAAQ,QAAQ;IAEtC;;;OAGG;IAEH,UAAU,CAAQ;IAElB;;;OAGG;IAEH,MAAM,GAAY,KAAK,CAAC;IAExB;;;OAGG;IACH,QAAQ;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO;QAEzC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE;YAC1B,+BAA+B;YAC/B,IAAI,IAAI,CAAC,UAAU,YAAY,IAAI,IAAI,IAAI,CAAC,UAAU,YAAY,KAAK,EAAE;gBACrE,+EAA+E;gBAC/E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAkB,CAAC;aAC7C;SACJ;QAED,MAAM,GAAG,GAAG,CAAC,CAAC;QAEd,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE;YACzB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAChF,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAC9D,IAAI,GAAG,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE;oBAChF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC7C,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC;oBAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;iBACnF;YACL,CAAC,CAAC,CAAA;SACL;aACI;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAA0B,CAAC;YAC9C,IAAI,KAAK,EAAE,OAAO,EAAE;gBAChB,OAAO,CAAC,IAAI,CAAC,kCAAkC,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,6HAA6H,EAAE,IAAI,CAAC,CAAC;gBACjO,MAAM,QAAQ,GAAG,IAAI,KAAK,EAAkC,CAAC;gBAC7D,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE;oBAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAS,CAAC;oBACzC,IAAI,KAAK,CAAC,MAAM,EAAE;wBACd,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBACtE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;qBAC/D;iBACJ;gBACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBAC7B,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK;wBAAE,OAAO;oBACtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC9C,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;oBACxB,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;wBACjB,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE;4BAC5B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;4BAClB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;yBACzE;qBACJ;gBACL,CAAC,CAAC,CAAC;aACN;iBACI;gBACD,IAAI,gBAAgB,EAAE,IAAI,QAAQ,CAAC,eAAe,CAAC,EAAE;oBACjD,OAAO,CAAC,IAAI,CAAC,4EAA4E,IAAI,CAAC,UAAU,CAAC,IAAI,uJAAuJ,EAAE,IAAI,CAAC,CAAC;iBAC/Q;aACJ;SACJ;IACL,CAAC;CACJ;AApEG;IADC,YAAY,CAAC,IAAI,CAAC;gDACD;AAOlB;IADC,YAAY,EAAE;4CACS;AA+D5B;;;;;;;;;;GAUG;AACH,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IACzC;;OAEG;IAEH,MAAM,GAAY,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvC;;OAEG;IAEH,MAAM,GAAW,EAAE,CAAC;IAEpB;;OAEG;IAEH,MAAM,GAAW,CAAC,CAAC;IAEnB;;OAEG;IACH,QAAQ;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpF,CAAC;CACJ;AArBG;IADC,YAAY,CAAC,OAAO,CAAC;+CACiB;AAMvC;IADC,YAAY,EAAE;+CACK;AAMpB;IADC,YAAY,EAAE;+CACI"}
1
+ {"version":3,"file":"Collider.js","sourceRoot":"","sources":["../../src/engine-components/Collider.ts"],"names":[],"mappings":"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"}
@@ -9,19 +9,40 @@ type FitParameters = {
9
9
  scaleFactor?: Partial<Vector3Like>;
10
10
  };
11
11
  /**
12
- * ContactShadows is a component that allows to display contact shadows in the scene. It has options for darkness, opacity and blur of the shadows.
12
+ * [ContactShadows](https://engine.needle.tools/docs/api/ContactShadows) renders proximity-based soft shadows on flat surfaces.
13
+ * Ideal for products or objects that need visual grounding without real-time shadows.
14
+ * Produces soft, blurred shadows that hug the ground, giving a sense of contact and depth.
13
15
  *
14
- * - Example: https://samples.needle.tools/contact-shadows
16
+ * ![](https://cloud.needle.tools/-/media/87bPTNXHcsbV-An-oSEvHQ.gif)
15
17
  *
16
- * ## Usage
17
- * You can use {@link ContactShadows.auto} to automatically create a ContactShadows instance for the scene or you can add the component to an object in the scene. Note that the scale of the object will be used to define the size of the shadow area.
18
+ * **Setup options:**
19
+ * 1. `ContactShadows.auto(context)` - Auto-create and fit to scene
20
+ * 2. Add component manually to control position and scale
21
+ * 3. HTML attribute: `<needle-engine contactshadows="0.7">`
18
22
  *
19
- * ContactShadows can also be enabled on the `<needle-engine>` web component directly by adding the `contactshadows` attribute. The value of the attribute will be used as opacity and darkness of the shadows: `<needle-engine contactshadows="0.7">`.
23
+ * **Properties:**
24
+ * - `opacity` / `darkness` - Shadow intensity
25
+ * - `blur` - Softness of shadow edges
26
+ * - Object scale defines shadow area size
27
+ *
28
+ * **Debug:** Use `?debugcontactshadows` URL parameter.
29
+ *
30
+ *
31
+ * @example Auto-create contact shadows
32
+ * ```ts
33
+ * const shadows = ContactShadows.auto(this.context);
34
+ * shadows.opacity = 0.5;
35
+ * shadows.darkness = 0.8;
36
+ * ```
20
37
  *
21
38
  * @summary Display contact shadows on the ground
22
39
  * @category Rendering
23
40
  * @group Components
24
- */
41
+ * @see {@link ShadowCatcher} for real-time shadows from lights (more accurate, higher performance cost)
42
+ * @see {@link Light} for real-time shadow casting
43
+ * @see {@link Renderer} for material/rendering control
44
+ * @link https://engine.needle.tools/samples/contact-shadows for a demo of contact shadows
45
+ */
25
46
  export declare class ContactShadows extends Behaviour {
26
47
  private static readonly _instances;
27
48
  /**
@@ -90,6 +111,7 @@ export declare class ContactShadows extends Behaviour {
90
111
  private plane?;
91
112
  private occluderMesh?;
92
113
  private blurPlane?;
114
+ private planeMaterial?;
93
115
  private depthMaterial?;
94
116
  private horizontalBlurMaterial?;
95
117
  private verticalBlurMaterial?;
@@ -37,19 +37,40 @@ onStart(ctx => {
37
37
  // - backface shadowing (slightly less than front faces)
38
38
  // - node can simply be scaled in Y to adjust max. ground height
39
39
  /**
40
- * ContactShadows is a component that allows to display contact shadows in the scene. It has options for darkness, opacity and blur of the shadows.
40
+ * [ContactShadows](https://engine.needle.tools/docs/api/ContactShadows) renders proximity-based soft shadows on flat surfaces.
41
+ * Ideal for products or objects that need visual grounding without real-time shadows.
42
+ * Produces soft, blurred shadows that hug the ground, giving a sense of contact and depth.
41
43
  *
42
- * - Example: https://samples.needle.tools/contact-shadows
44
+ * ![](https://cloud.needle.tools/-/media/87bPTNXHcsbV-An-oSEvHQ.gif)
43
45
  *
44
- * ## Usage
45
- * You can use {@link ContactShadows.auto} to automatically create a ContactShadows instance for the scene or you can add the component to an object in the scene. Note that the scale of the object will be used to define the size of the shadow area.
46
+ * **Setup options:**
47
+ * 1. `ContactShadows.auto(context)` - Auto-create and fit to scene
48
+ * 2. Add component manually to control position and scale
49
+ * 3. HTML attribute: `<needle-engine contactshadows="0.7">`
46
50
  *
47
- * ContactShadows can also be enabled on the `<needle-engine>` web component directly by adding the `contactshadows` attribute. The value of the attribute will be used as opacity and darkness of the shadows: `<needle-engine contactshadows="0.7">`.
51
+ * **Properties:**
52
+ * - `opacity` / `darkness` - Shadow intensity
53
+ * - `blur` - Softness of shadow edges
54
+ * - Object scale defines shadow area size
55
+ *
56
+ * **Debug:** Use `?debugcontactshadows` URL parameter.
57
+ *
58
+ *
59
+ * @example Auto-create contact shadows
60
+ * ```ts
61
+ * const shadows = ContactShadows.auto(this.context);
62
+ * shadows.opacity = 0.5;
63
+ * shadows.darkness = 0.8;
64
+ * ```
48
65
  *
49
66
  * @summary Display contact shadows on the ground
50
67
  * @category Rendering
51
68
  * @group Components
52
- */
69
+ * @see {@link ShadowCatcher} for real-time shadows from lights (more accurate, higher performance cost)
70
+ * @see {@link Light} for real-time shadow casting
71
+ * @see {@link Renderer} for material/rendering control
72
+ * @link https://engine.needle.tools/samples/contact-shadows for a demo of contact shadows
73
+ */
53
74
  export class ContactShadows extends Behaviour {
54
75
  static _instances = new Map();
55
76
  /**
@@ -141,6 +162,7 @@ export class ContactShadows extends Behaviour {
141
162
  plane;
142
163
  occluderMesh;
143
164
  blurPlane;
165
+ planeMaterial;
144
166
  depthMaterial;
145
167
  horizontalBlurMaterial;
146
168
  verticalBlurMaterial;
@@ -235,7 +257,7 @@ export class ContactShadows extends Behaviour {
235
257
  // mat.transparent = true;
236
258
  // mat.depthWrite = false;
237
259
  }
238
- const planeMaterial = new MeshBasicMaterial({
260
+ const planeMaterial = this.planeMaterial = new MeshBasicMaterial({
239
261
  map: this.renderTarget.texture,
240
262
  opacity: this.opacity,
241
263
  color: 0x000000,
@@ -337,11 +359,14 @@ export class ContactShadows extends Behaviour {
337
359
  if (!this.renderTarget || !this.renderTargetBlur ||
338
360
  !this.depthMaterial || !this.shadowCamera ||
339
361
  !this.blurPlane || !this.shadowGroup || !this.plane ||
340
- !this.horizontalBlurMaterial || !this.verticalBlurMaterial) {
362
+ !this.horizontalBlurMaterial || !this.verticalBlurMaterial || !this.planeMaterial) {
341
363
  if (debug)
342
364
  console.error("ContactShadows: not initialized yet");
343
365
  return;
344
366
  }
367
+ // Update properties that might have been changed
368
+ this.depthMaterial.userData.darkness.value = this.darkness;
369
+ this.planeMaterial.opacity = this.opacity;
345
370
  const scene = this.context.scene;
346
371
  const renderer = this.context.renderer;
347
372
  const initialRenderTarget = renderer.getRenderTarget();
@@ -1 +1 @@
1
- {"version":3,"file":"ContactShadows.js","sourceRoot":"","sources":["../../src/engine-components/ContactShadows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContactShadows.js","sourceRoot":"","sources":["../../src/engine-components/ContactShadows.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,61 @@
1
1
  import { BoxHelperComponent } from "./BoxHelperComponent.js";
2
2
  import { Behaviour } from "./Component.js";
3
3
  /**
4
- * A box-shaped area that can be used to delete objects that get into it. Useful for sandbox-style builders or physics simulations.
4
+ * The [DeleteBox](https://engine.needle.tools/docs/api/DeleteBox) component creates an invisible deletion zone that destroys objects entering it.
5
+ * Works with objects that have a {@link Deletable} component attached.
6
+ *
7
+ * ![](https://cloud.needle.tools/-/media/J-Gmdhl214kfdjkfYViG8g.gif)
8
+ *
9
+ * **Use cases:**
10
+ * - Trash bins in sandbox builders
11
+ * - Kill zones in physics simulations
12
+ * - Cleanup areas for multiplayer scenes
13
+ *
14
+ * **Setup:**
15
+ * 1. Add DeleteBox to a GameObject with a BoxCollider-like shape
16
+ * 2. Add {@link Deletable} component to objects that should be destroyable
17
+ * 3. Objects entering the box will be destroyed (synced across network)
18
+ *
19
+ * **Debug:** Use `?debugdeletable` URL parameter to visualize deletion areas.
20
+ *
21
+ * - Example: https://engine.needle.tools/samples/collaborative-sandbox
22
+ *
23
+ * @example Create a deletion zone
24
+ * ```ts
25
+ * const trashBin = trashBinModel.addComponent(DeleteBox);
26
+ * // Objects with Deletable component will be destroyed when entering
27
+ * ```
5
28
  *
6
29
  * @summary Box area that deletes objects entering it
7
30
  * @category Interactivity
8
31
  * @group Components
32
+ * @see {@link Deletable} - Add to objects that can be destroyed
33
+ * @see {@link Duplicatable} for spawning objects
34
+ * @see {@link DragControls} for moving objects
9
35
  */
10
36
  export declare class DeleteBox extends BoxHelperComponent {
11
37
  static _instances: DeleteBox[];
12
38
  onEnable(): void;
13
39
  onDisable(): void;
14
40
  }
15
- /** Objects with this component can be destroyed by the {@link DeleteBox} component.
41
+ /**
42
+ * Marks a GameObject as deletable by {@link DeleteBox} zones.
43
+ * Objects with this component will be destroyed (and synced across network)
44
+ * when they enter a DeleteBox area.
45
+ *
46
+ * **Note:** Objects currently being used (with {@link UsageMarker}) are protected from deletion.
47
+ *
48
+ * @example Make an object deletable
49
+ * ```ts
50
+ * const deletable = spawnedObject.addComponent(Deletable);
51
+ * // Object can now be destroyed by entering a DeleteBox
52
+ * ```
53
+ *
54
+ * @summary Marks object as destroyable by DeleteBox
16
55
  * @category Interactivity
17
56
  * @group Components
57
+ * @see {@link DeleteBox} for the deletion trigger
58
+ * @see {@link UsageMarker} for protecting objects in use
18
59
  */
19
60
  export declare class Deletable extends Behaviour {
20
61
  update(): void;
@@ -6,11 +6,37 @@ import { Behaviour, GameObject } from "./Component.js";
6
6
  import { UsageMarker } from "./Interactable.js";
7
7
  const debug = getParam("debugdeletable");
8
8
  /**
9
- * A box-shaped area that can be used to delete objects that get into it. Useful for sandbox-style builders or physics simulations.
9
+ * The [DeleteBox](https://engine.needle.tools/docs/api/DeleteBox) component creates an invisible deletion zone that destroys objects entering it.
10
+ * Works with objects that have a {@link Deletable} component attached.
11
+ *
12
+ * ![](https://cloud.needle.tools/-/media/J-Gmdhl214kfdjkfYViG8g.gif)
13
+ *
14
+ * **Use cases:**
15
+ * - Trash bins in sandbox builders
16
+ * - Kill zones in physics simulations
17
+ * - Cleanup areas for multiplayer scenes
18
+ *
19
+ * **Setup:**
20
+ * 1. Add DeleteBox to a GameObject with a BoxCollider-like shape
21
+ * 2. Add {@link Deletable} component to objects that should be destroyable
22
+ * 3. Objects entering the box will be destroyed (synced across network)
23
+ *
24
+ * **Debug:** Use `?debugdeletable` URL parameter to visualize deletion areas.
25
+ *
26
+ * - Example: https://engine.needle.tools/samples/collaborative-sandbox
27
+ *
28
+ * @example Create a deletion zone
29
+ * ```ts
30
+ * const trashBin = trashBinModel.addComponent(DeleteBox);
31
+ * // Objects with Deletable component will be destroyed when entering
32
+ * ```
10
33
  *
11
34
  * @summary Box area that deletes objects entering it
12
35
  * @category Interactivity
13
36
  * @group Components
37
+ * @see {@link Deletable} - Add to objects that can be destroyed
38
+ * @see {@link Duplicatable} for spawning objects
39
+ * @see {@link DragControls} for moving objects
14
40
  */
15
41
  export class DeleteBox extends BoxHelperComponent {
16
42
  static _instances = [];
@@ -23,9 +49,24 @@ export class DeleteBox extends BoxHelperComponent {
23
49
  DeleteBox._instances.splice(idx, 1);
24
50
  }
25
51
  }
26
- /** Objects with this component can be destroyed by the {@link DeleteBox} component.
52
+ /**
53
+ * Marks a GameObject as deletable by {@link DeleteBox} zones.
54
+ * Objects with this component will be destroyed (and synced across network)
55
+ * when they enter a DeleteBox area.
56
+ *
57
+ * **Note:** Objects currently being used (with {@link UsageMarker}) are protected from deletion.
58
+ *
59
+ * @example Make an object deletable
60
+ * ```ts
61
+ * const deletable = spawnedObject.addComponent(Deletable);
62
+ * // Object can now be destroyed by entering a DeleteBox
63
+ * ```
64
+ *
65
+ * @summary Marks object as destroyable by DeleteBox
27
66
  * @category Interactivity
28
67
  * @group Components
68
+ * @see {@link DeleteBox} for the deletion trigger
69
+ * @see {@link UsageMarker} for protecting objects in use
29
70
  */
30
71
  export class Deletable extends Behaviour {
31
72
  update() {
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteBox.js","sourceRoot":"","sources":["../../src/engine-components/DeleteBox.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AACzC;;;;;;GAMG;AACH,MAAM,OAAO,SAAU,SAAQ,kBAAkB;IAC7C,MAAM,CAAC,UAAU,GAAgB,EAAE,CAAC;IAEpC,QAAQ;QACJ,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,SAAS;QACL,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,GAAG,IAAI,CAAC;YAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;;AAGL;;;GAGG;AACH,MAAM,OAAO,SAAU,SAAQ,SAAS;IAEpC,MAAM;QACF,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,UAAU,EAAE;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,UAA6B,CAAC;YAC/C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,GAAG,KAAK,IAAI,EAAE;gBACd,MAAM,MAAM,GAAG,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBAC7E,IAAI,CAAC,MAAM,EAAE;oBACT,IAAI,KAAK,EAAE;wBACP,IAAI;4BACA,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE;gCACZ,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;gCACjC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;gCACxD,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gCAChD,MAAM,CAAC,YAAY,CAAC,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gCACpD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC,CAAC;6BAC/F;iCACI;gCACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;6BACzD;yBACJ;wBAAC,OAAO,EAAE,EAAE,GAAE;qBAClB;oBACD,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;iBACzD;qBACI,IAAI,KAAK;oBAAE,OAAO,CAAC,IAAI,CAAC,kDAAkD,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;aACtG;SACJ;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"DeleteBox.js","sourceRoot":"","sources":["../../src/engine-components/DeleteBox.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AACzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,OAAO,SAAU,SAAQ,kBAAkB;IAC7C,MAAM,CAAC,UAAU,GAAgB,EAAE,CAAC;IAEpC,QAAQ;QACJ,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,SAAS;QACL,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,GAAG,IAAI,CAAC;YAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;;AAGL;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,SAAU,SAAQ,SAAS;IAEpC,MAAM;QACF,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,UAAU,EAAE;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,UAA6B,CAAC;YAC/C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,GAAG,KAAK,IAAI,EAAE;gBACd,MAAM,MAAM,GAAG,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBAC7E,IAAI,CAAC,MAAM,EAAE;oBACT,IAAI,KAAK,EAAE;wBACP,IAAI;4BACA,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE;gCACZ,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;gCACjC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;gCACxD,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gCAChD,MAAM,CAAC,YAAY,CAAC,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gCACpD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC,CAAC;6BAC/F;iCACI;gCACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;6BACzD;yBACJ;wBAAC,OAAO,EAAE,EAAE,GAAE;qBAClB;oBACD,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;iBACzD;qBACI,IAAI,KAAK;oBAAE,OAAO,CAAC,IAAI,CAAC,kDAAkD,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;aACtG;SACJ;IACL,CAAC;CACJ"}
@@ -5,12 +5,31 @@ export declare enum DeviceType {
5
5
  Mobile = 2
6
6
  }
7
7
  /**
8
- * Enables or disables the GameObject based on the device type (mobile or desktop).
9
- * You can use this to show or hide objects depending on whether the user is on a mobile device or a desktop.
8
+ * DeviceFlag shows or hides GameObjects based on device type.
9
+ * Use for responsive 3D content - show different UI, models, or interactions
10
+ * depending on mobile vs desktop.
11
+ *
12
+ * **Device types:**
13
+ * - `Desktop` - Traditional computers with mouse/keyboard
14
+ * - `Mobile` - Phones and tablets with touch input
15
+ * - Combine with bitwise OR for multiple: `Desktop | Mobile`
16
+ *
17
+ * @example Show only on desktop
18
+ * ```ts
19
+ * const flag = myObject.addComponent(DeviceFlag);
20
+ * flag.visibleOn = DeviceType.Desktop;
21
+ * ```
22
+ *
23
+ * @example Show on both mobile and desktop
24
+ * ```ts
25
+ * flag.visibleOn = DeviceType.Desktop | DeviceType.Mobile;
26
+ * ```
10
27
  *
11
28
  * @summary Show or hide GameObject based on device type
12
29
  * @category Utilities
13
30
  * @group Components
31
+ * @see {@link DeviceType} for device options
32
+ * @see {@link XRFlag} for XR-based visibility
14
33
  */
15
34
  export declare class DeviceFlag extends Behaviour {
16
35
  visibleOn: DeviceType;
@@ -14,12 +14,31 @@ export var DeviceType;
14
14
  DeviceType[DeviceType["Mobile"] = 2] = "Mobile";
15
15
  })(DeviceType || (DeviceType = {}));
16
16
  /**
17
- * Enables or disables the GameObject based on the device type (mobile or desktop).
18
- * You can use this to show or hide objects depending on whether the user is on a mobile device or a desktop.
17
+ * DeviceFlag shows or hides GameObjects based on device type.
18
+ * Use for responsive 3D content - show different UI, models, or interactions
19
+ * depending on mobile vs desktop.
20
+ *
21
+ * **Device types:**
22
+ * - `Desktop` - Traditional computers with mouse/keyboard
23
+ * - `Mobile` - Phones and tablets with touch input
24
+ * - Combine with bitwise OR for multiple: `Desktop | Mobile`
25
+ *
26
+ * @example Show only on desktop
27
+ * ```ts
28
+ * const flag = myObject.addComponent(DeviceFlag);
29
+ * flag.visibleOn = DeviceType.Desktop;
30
+ * ```
31
+ *
32
+ * @example Show on both mobile and desktop
33
+ * ```ts
34
+ * flag.visibleOn = DeviceType.Desktop | DeviceType.Mobile;
35
+ * ```
19
36
  *
20
37
  * @summary Show or hide GameObject based on device type
21
38
  * @category Utilities
22
39
  * @group Components
40
+ * @see {@link DeviceType} for device options
41
+ * @see {@link XRFlag} for XR-based visibility
23
42
  */
24
43
  export class DeviceFlag extends Behaviour {
25
44
  visibleOn;
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceFlag.js","sourceRoot":"","sources":["../../src/engine-components/DeviceFlag.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGvD,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,6CAAS,CAAA;IACT,iDAAgB,CAAA;IAChB,+CAAe,CAAA;AACnB,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,UAAW,SAAQ,SAAS;IAGrC,SAAS,CAAc;IAGvB,QAAQ;QACJ,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;YACd,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;SAChD;IACL,CAAC;IAEO,IAAI;QACR,IAAG,IAAI,CAAC,SAAS,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,IAAG,eAAe,CAAC,cAAc,EAAE,EAAE;YACjC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;SACvD;QACD,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,YAAY,CAAC;IACxB,CAAC;CAEJ;AAtBG;IADC,YAAY,EAAE;6CACQ;AAwB3B,sCAAsC;AACtC,SAAS,QAAQ;IACb,OAAO,eAAe,CAAC,cAAc,EAAE,CAAC;AAC5C,CAAC;AAAA,CAAC"}
1
+ {"version":3,"file":"DeviceFlag.js","sourceRoot":"","sources":["../../src/engine-components/DeviceFlag.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGvD,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,6CAAS,CAAA;IACT,iDAAgB,CAAA;IAChB,+CAAe,CAAA;AACnB,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,UAAW,SAAQ,SAAS;IAGrC,SAAS,CAAc;IAGvB,QAAQ;QACJ,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;YACd,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;SAChD;IACL,CAAC;IAEO,IAAI;QACR,IAAG,IAAI,CAAC,SAAS,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,IAAG,eAAe,CAAC,cAAc,EAAE,EAAE;YACjC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;SACvD;QACD,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,YAAY,CAAC;IACxB,CAAC;CAEJ;AAtBG;IADC,YAAY,EAAE;6CACQ;AAwB3B,sCAAsC;AACtC,SAAS,QAAQ;IACb,OAAO,eAAe,CAAC,cAAc,EAAE,CAAC;AAC5C,CAAC;AAAA,CAAC"}