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

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 (216) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/components.needle.json +1 -1
  3. package/dist/generateMeshBVH.worker-iyfPIK6R.js +21 -0
  4. package/dist/{gltf-progressive-DWcmTMCh.umd.cjs → gltf-progressive-Bfpfaz84.umd.cjs} +1 -1
  5. package/dist/{gltf-progressive-DgYz5BYa.js → gltf-progressive-DPunMlEM.js} +24 -24
  6. package/dist/{gltf-progressive-DZrY8VT6.min.js → gltf-progressive-hFPACYio.min.js} +2 -2
  7. package/dist/{loader.worker-Dip-PthR.js → loader.worker-DWzfDpAl.js} +4 -4
  8. package/dist/{needle-engine.bundle-CFkbGdL5.js → needle-engine.bundle-DTXsNmA-.js} +9789 -9421
  9. package/dist/needle-engine.bundle-HRGeyfKM.umd.cjs +1647 -0
  10. package/dist/needle-engine.bundle-OAD5_P8d.min.js +1647 -0
  11. package/dist/needle-engine.d.ts +105 -33
  12. package/dist/needle-engine.js +48 -48
  13. package/dist/needle-engine.min.js +1 -1
  14. package/dist/needle-engine.umd.cjs +1 -1
  15. package/dist/{postprocessing-CMgoN5t5.umd.cjs → postprocessing-BHQvwehB.umd.cjs} +81 -81
  16. package/dist/{postprocessing-DYDtB188.min.js → postprocessing-ClLv0reO.min.js} +54 -54
  17. package/dist/{postprocessing-BTW9pD_s.js → postprocessing-DLI2N3LL.js} +450 -441
  18. package/dist/{three-DfMvBzXi.js → three-BCCkyCA5.js} +1 -7
  19. package/dist/{three-qj71I7J3.umd.cjs → three-Bf2NBxAw.umd.cjs} +2 -2
  20. package/dist/{three-B7CT31Bt.min.js → three-W7zWTcfP.min.js} +1 -1
  21. package/dist/{three-examples-D1SK93ek.js → three-examples-D4rE49Ui.js} +12 -22
  22. package/dist/{three-examples-D1P7eEhn.min.js → three-examples-DB5Uoja4.min.js} +12 -12
  23. package/dist/{three-examples-CsW4_6LI.umd.cjs → three-examples-Djbk6WA4.umd.cjs} +6 -6
  24. package/dist/{three-mesh-ui-C_uSB5dD.js → three-mesh-ui-3nSSizT4.js} +1 -1
  25. package/dist/{three-mesh-ui-LQ44s0AL.min.js → three-mesh-ui-CIez6qJQ.min.js} +1 -1
  26. package/dist/{three-mesh-ui-DpATDXwU.umd.cjs → three-mesh-ui-zsOOA5Pq.umd.cjs} +1 -1
  27. package/dist/{vendor-D0zoswDa.js → vendor-DMZcbVO1.js} +3707 -3527
  28. package/dist/vendor-sURMCFSI.min.js +1116 -0
  29. package/dist/{vendor-UCpFAwt1.umd.cjs → vendor-tyBvnMF-.umd.cjs} +39 -39
  30. package/lib/engine/codegen/register_types.js +0 -2
  31. package/lib/engine/codegen/register_types.js.map +1 -1
  32. package/lib/engine/debug/debug_console.js +403 -1
  33. package/lib/engine/debug/debug_console.js.map +1 -1
  34. package/lib/engine/engine_components.js +3 -3
  35. package/lib/engine/engine_components.js.map +1 -1
  36. package/lib/engine/engine_context.js +2 -0
  37. package/lib/engine/engine_context.js.map +1 -1
  38. package/lib/engine/engine_input.d.ts +5 -0
  39. package/lib/engine/engine_input.js +6 -0
  40. package/lib/engine/engine_input.js.map +1 -1
  41. package/lib/engine/engine_license.d.ts +18 -0
  42. package/lib/engine/engine_license.js +163 -18
  43. package/lib/engine/engine_license.js.map +1 -1
  44. package/lib/engine/engine_networking.js +20 -5
  45. package/lib/engine/engine_networking.js.map +1 -1
  46. package/lib/engine/engine_physics.js.map +1 -1
  47. package/lib/engine/engine_physics_rapier.js +1 -1
  48. package/lib/engine/engine_physics_rapier.js.map +1 -1
  49. package/lib/engine/engine_serialization_builtin_serializer.js +1 -1
  50. package/lib/engine/engine_serialization_builtin_serializer.js.map +1 -1
  51. package/lib/engine/engine_three_utils.js +2 -2
  52. package/lib/engine/engine_three_utils.js.map +1 -1
  53. package/lib/engine/engine_utils.d.ts +4 -1
  54. package/lib/engine/engine_utils.js +28 -4
  55. package/lib/engine/engine_utils.js.map +1 -1
  56. package/lib/engine/extensions/extensions.d.ts +29 -7
  57. package/lib/engine/extensions/extensions.js.map +1 -1
  58. package/lib/engine/webcomponents/WebXRButtons.js +13 -5
  59. package/lib/engine/webcomponents/WebXRButtons.js.map +1 -1
  60. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -1
  61. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
  62. package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +2 -0
  63. package/lib/engine/webcomponents/needle menu/needle-menu.js +37 -6
  64. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  65. package/lib/engine/webcomponents/needle-engine.ar-overlay.js +4 -0
  66. package/lib/engine/webcomponents/needle-engine.ar-overlay.js.map +1 -1
  67. package/lib/engine/webcomponents/needle-engine.js +1 -1
  68. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  69. package/lib/engine/xr/NeedleXRSession.d.ts +1 -1
  70. package/lib/engine/xr/NeedleXRSession.js +106 -22
  71. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  72. package/lib/engine/xr/TempXRContext.js +12 -2
  73. package/lib/engine/xr/TempXRContext.js.map +1 -1
  74. package/lib/engine/xr/usdz.js +6 -2
  75. package/lib/engine/xr/usdz.js.map +1 -1
  76. package/lib/engine-components/AlignmentConstraint.d.ts +1 -1
  77. package/lib/engine-components/AlignmentConstraint.js +1 -1
  78. package/lib/engine-components/Animation.d.ts +1 -1
  79. package/lib/engine-components/Animation.js +1 -1
  80. package/lib/engine-components/Animator.d.ts +1 -1
  81. package/lib/engine-components/Animator.js +1 -1
  82. package/lib/engine-components/AudioListener.d.ts +1 -1
  83. package/lib/engine-components/AudioListener.js +1 -1
  84. package/lib/engine-components/AudioSource.d.ts +1 -1
  85. package/lib/engine-components/AudioSource.js +1 -1
  86. package/lib/engine-components/Camera.d.ts +1 -1
  87. package/lib/engine-components/Camera.js +5 -2
  88. package/lib/engine-components/Camera.js.map +1 -1
  89. package/lib/engine-components/CharacterController.d.ts +6 -2
  90. package/lib/engine-components/CharacterController.js +6 -2
  91. package/lib/engine-components/CharacterController.js.map +1 -1
  92. package/lib/engine-components/Collider.d.ts +1 -1
  93. package/lib/engine-components/Collider.js.map +1 -1
  94. package/lib/engine-components/Component.d.ts +2 -1
  95. package/lib/engine-components/Component.js +3 -2
  96. package/lib/engine-components/Component.js.map +1 -1
  97. package/lib/engine-components/DragControls.js +4 -1
  98. package/lib/engine-components/DragControls.js.map +1 -1
  99. package/lib/engine-components/DropListener.d.ts +1 -0
  100. package/lib/engine-components/DropListener.js +26 -8
  101. package/lib/engine-components/DropListener.js.map +1 -1
  102. package/lib/engine-components/EventList.js +4 -1
  103. package/lib/engine-components/EventList.js.map +1 -1
  104. package/lib/engine-components/Joints.d.ts +14 -0
  105. package/lib/engine-components/Joints.js +14 -0
  106. package/lib/engine-components/Joints.js.map +1 -1
  107. package/lib/engine-components/LookAtConstraint.d.ts +1 -1
  108. package/lib/engine-components/LookAtConstraint.js +1 -1
  109. package/lib/engine-components/OrbitControls.d.ts +1 -1
  110. package/lib/engine-components/OrbitControls.js +1 -1
  111. package/lib/engine-components/Renderer.d.ts +6 -0
  112. package/lib/engine-components/Renderer.js +6 -0
  113. package/lib/engine-components/Renderer.js.map +1 -1
  114. package/lib/engine-components/RendererInstancing.js +5 -3
  115. package/lib/engine-components/RendererInstancing.js.map +1 -1
  116. package/lib/engine-components/SceneSwitcher.d.ts +3 -2
  117. package/lib/engine-components/SceneSwitcher.js +38 -25
  118. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  119. package/lib/engine-components/SpectatorCamera.js +15 -7
  120. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  121. package/lib/engine-components/SpriteRenderer.d.ts +2 -1
  122. package/lib/engine-components/SpriteRenderer.js +2 -1
  123. package/lib/engine-components/SpriteRenderer.js.map +1 -1
  124. package/lib/engine-components/api.d.ts +1 -0
  125. package/lib/engine-components/api.js +1 -0
  126. package/lib/engine-components/api.js.map +1 -1
  127. package/lib/engine-components/codegen/components.d.ts +0 -1
  128. package/lib/engine-components/codegen/components.js +0 -1
  129. package/lib/engine-components/codegen/components.js.map +1 -1
  130. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +8 -0
  131. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -1
  132. package/lib/engine-components/timeline/SignalAsset.d.ts +1 -1
  133. package/lib/engine-components/timeline/SignalAsset.js +1 -1
  134. package/lib/engine-components/ui/Raycaster.d.ts +3 -2
  135. package/lib/engine-components/ui/Raycaster.js +3 -2
  136. package/lib/engine-components/ui/Raycaster.js.map +1 -1
  137. package/lib/engine-components/ui/RectTransform.d.ts +6 -0
  138. package/lib/engine-components/ui/RectTransform.js +6 -0
  139. package/lib/engine-components/ui/RectTransform.js.map +1 -1
  140. package/lib/engine-components/utils/LookAt.d.ts +2 -1
  141. package/lib/engine-components/utils/LookAt.js +2 -1
  142. package/lib/engine-components/utils/LookAt.js.map +1 -1
  143. package/lib/engine-components/web/CursorFollow.d.ts +1 -1
  144. package/lib/engine-components/web/CursorFollow.js +1 -1
  145. package/lib/engine-components/web/HoverAnimation.d.ts +1 -1
  146. package/lib/engine-components/web/HoverAnimation.js +1 -1
  147. package/lib/engine-components/web/ViewBox.d.ts +1 -1
  148. package/lib/engine-components/web/ViewBox.js +1 -1
  149. package/lib/engine-components/webxr/Avatar.js +2 -0
  150. package/lib/engine-components/webxr/Avatar.js.map +1 -1
  151. package/lib/engine-components/webxr/WebARSessionRoot.d.ts +5 -2
  152. package/lib/engine-components/webxr/WebARSessionRoot.js +5 -2
  153. package/lib/engine-components/webxr/WebARSessionRoot.js.map +1 -1
  154. package/lib/engine-components/webxr/WebXR.d.ts +3 -1
  155. package/lib/engine-components/webxr/WebXR.js +21 -13
  156. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  157. package/package.json +6 -6
  158. package/plugins/vite/poster-client.js +8 -1
  159. package/src/engine/codegen/register_types.ts +0 -2
  160. package/src/engine/debug/debug_console.ts +449 -1
  161. package/src/engine/engine_components.ts +4 -4
  162. package/src/engine/engine_context.ts +2 -0
  163. package/src/engine/engine_input.ts +7 -0
  164. package/src/engine/engine_license.ts +180 -17
  165. package/src/engine/engine_networking.ts +20 -5
  166. package/src/engine/engine_physics.ts +3 -3
  167. package/src/engine/engine_physics_rapier.ts +1 -1
  168. package/src/engine/engine_serialization_builtin_serializer.ts +1 -1
  169. package/src/engine/engine_three_utils.ts +4 -2
  170. package/src/engine/engine_utils.ts +23 -4
  171. package/src/engine/extensions/extensions.ts +30 -6
  172. package/src/engine/webcomponents/WebXRButtons.ts +15 -5
  173. package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -1
  174. package/src/engine/webcomponents/needle menu/needle-menu.ts +39 -7
  175. package/src/engine/webcomponents/needle-engine.ar-overlay.ts +6 -0
  176. package/src/engine/webcomponents/needle-engine.ts +2 -2
  177. package/src/engine/xr/NeedleXRSession.ts +120 -24
  178. package/src/engine/xr/TempXRContext.ts +12 -2
  179. package/src/engine/xr/usdz.ts +6 -1
  180. package/src/engine-components/AlignmentConstraint.ts +1 -1
  181. package/src/engine-components/Animation.ts +1 -1
  182. package/src/engine-components/Animator.ts +1 -1
  183. package/src/engine-components/AudioListener.ts +1 -1
  184. package/src/engine-components/AudioSource.ts +1 -1
  185. package/src/engine-components/Camera.ts +5 -2
  186. package/src/engine-components/CharacterController.ts +6 -2
  187. package/src/engine-components/Collider.ts +1 -1
  188. package/src/engine-components/Component.ts +5 -4
  189. package/src/engine-components/DragControls.ts +5 -1
  190. package/src/engine-components/DropListener.ts +29 -8
  191. package/src/engine-components/EventList.ts +5 -1
  192. package/src/engine-components/Joints.ts +14 -0
  193. package/src/engine-components/LookAtConstraint.ts +1 -1
  194. package/src/engine-components/OrbitControls.ts +1 -1
  195. package/src/engine-components/Renderer.ts +6 -0
  196. package/src/engine-components/RendererInstancing.ts +6 -3
  197. package/src/engine-components/SceneSwitcher.ts +40 -30
  198. package/src/engine-components/SpectatorCamera.ts +21 -10
  199. package/src/engine-components/SpriteRenderer.ts +2 -1
  200. package/src/engine-components/api.ts +2 -1
  201. package/src/engine-components/codegen/components.ts +0 -1
  202. package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +11 -0
  203. package/src/engine-components/timeline/SignalAsset.ts +1 -1
  204. package/src/engine-components/ui/Raycaster.ts +3 -2
  205. package/src/engine-components/ui/RectTransform.ts +6 -0
  206. package/src/engine-components/utils/LookAt.ts +2 -1
  207. package/src/engine-components/web/CursorFollow.ts +1 -1
  208. package/src/engine-components/web/HoverAnimation.ts +1 -1
  209. package/src/engine-components/web/ViewBox.ts +1 -1
  210. package/src/engine-components/webxr/Avatar.ts +4 -0
  211. package/src/engine-components/webxr/WebARSessionRoot.ts +7 -3
  212. package/src/engine-components/webxr/WebXR.ts +23 -13
  213. package/dist/generateMeshBVH.worker-mO20N_b8.js +0 -21
  214. package/dist/needle-engine.bundle-4A5NjznD.min.js +0 -1647
  215. package/dist/needle-engine.bundle-BJg4_HhU.umd.cjs +0 -1647
  216. package/dist/vendor-BKGa4GE0.min.js +0 -1116
@@ -225,7 +225,7 @@ declare type Alignment = "horizontal" | "vertical" | "any";
225
225
  * You can use this to create dynamic beams or connectors between objects.
226
226
  *
227
227
  * @summary Aligns and scales the object between two target GameObjects
228
- * @category Utility
228
+ * @category Constraints
229
229
  * @group Components
230
230
  **/
231
231
  export declare class AlignmentConstraint extends Component {
@@ -251,7 +251,7 @@ declare type Anchoring = "plane" | "image" | "face" | "none";
251
251
  /**
252
252
  * Animation component to play animations on a GameObject.
253
253
  *
254
- * @summary Play animations
254
+ * @summary Plays animations from AnimationClips
255
255
  * @category Animation and Sequencing
256
256
  * @group Components
257
257
  */
@@ -535,7 +535,7 @@ export declare class AnimationUtils {
535
535
  * It works with an {@link AnimatorController} to handle state transitions and animation blending.
536
536
  * A new AnimatorController can be created from code via `AnimatorController.createFromClips`.
537
537
  *
538
- * @summary Animation controller and playback component
538
+ * @summary Plays and manages animations on a GameObject based on an AnimatorController
539
539
  * @category Animation and Sequencing
540
540
  * @group Components
541
541
  */
@@ -1212,7 +1212,7 @@ export declare class AudioExtension implements IUSDExporterExtension {
1212
1212
  * This component creates and manages a Three.js {@link three#AudioListener}, automatically connecting it
1213
1213
  * to the main camera or a Camera in the parent hierarchy.
1214
1214
  *
1215
- * @summary Audio listener for 3D audio capture
1215
+ * @summary Receives audio in the scene and outputs it to speakers
1216
1216
  * @category Multimedia
1217
1217
  * @group Components
1218
1218
  */
@@ -1268,7 +1268,7 @@ declare enum AudioRolloffMode {
1268
1268
  * is muted, the volume is set to 0. When unmuted, the volume
1269
1269
  * returns to its previous value.
1270
1270
  *
1271
- * @summary 3D audio source with spatial positioning and playback controls
1271
+ * @summary Plays audio clips from files or media streams
1272
1272
  * @category Multimedia
1273
1273
  * @group Components
1274
1274
  */
@@ -2168,7 +2168,7 @@ export declare class CallInfo {
2168
2168
  * Internally, this component uses {@link PerspectiveCamera} and {@link OrthographicCamera} three.js objects.
2169
2169
  *
2170
2170
  * @summary Rendering scenes from a specific viewpoint
2171
- * @category Camera
2171
+ * @category Camera and Controls
2172
2172
  * @group Components
2173
2173
  */
2174
2174
  export declare class Camera extends Component implements ICamera {
@@ -2592,8 +2592,12 @@ export declare class CharacterController extends Component {
2592
2592
  }
2593
2593
 
2594
2594
  /**
2595
- * @category Camera
2596
- * @category Interactivity
2595
+ * CharacterControllerInput handles user input to control a CharacterController.
2596
+ * It supports movement, looking around, jumping, and double jumping.
2597
+ * You can customize movement speed, rotation speed, and jump forces.
2598
+ * It also integrates with an Animator component for character animations.
2599
+ * @summary User Input for Character Controller
2600
+ * @category Character
2597
2601
  * @group Components
2598
2602
  */
2599
2603
  export declare class CharacterControllerInput extends Component {
@@ -2756,7 +2760,7 @@ export declare type ClipModel = {
2756
2760
  * @category Physics
2757
2761
  * @group Components
2758
2762
  */
2759
- export declare class Collider extends Component implements ICollider {
2763
+ export declare abstract class Collider extends Component implements ICollider {
2760
2764
  /* Excluded from this release type: isCollider */
2761
2765
  /**
2762
2766
  * The {@link Rigidbody} that this collider is attached to. This handles the physics simulation for this collider.
@@ -4071,7 +4075,7 @@ export declare function createMotion(name: string, id?: InstantiateIdProvider):
4071
4075
  * - Example: [Look At Cursor sample](https://engine.needle.tools/samples/look-at-cursor-interactive-3d-header/). This sample combines the CursorFollow component with a LookAt component to create an interactive 3D header that looks at the cursor.
4072
4076
  *
4073
4077
  * @summary Makes the object follow the cursor position on screen
4074
- * @category Web
4078
+ * @category Interactivity
4075
4079
  * @group Components
4076
4080
  * @component
4077
4081
  */
@@ -4308,11 +4312,13 @@ export declare namespace DeviceUtilities {
4308
4312
  export function isAndroidDevice(): boolean;
4309
4313
  /** @returns `true` if we're currently using the Mozilla XR Browser (only available for iOS) */
4310
4314
  export function isMozillaXR(): boolean;
4315
+ /** @returns `true` if we're currently in the Needle App Clip */
4316
+ export function isNeedleAppClip(): boolean;
4311
4317
  /** @returns `true` for MacOS devices */
4312
4318
  export function isMacOS(): boolean;
4313
4319
  /** @returns `true` for VisionOS devices */
4314
4320
  export function isVisionOS(): boolean;
4315
- /** @returns `true` for iOS devices like iPad, iPhone, iPod... */
4321
+ /** @returns `true` for mobile Apple devices like iPad, iPhone, iPod, Vision Pro, ... */
4316
4322
  export function isiOS(): boolean;
4317
4323
  /** @returns `true` if we're currently on safari */
4318
4324
  export function isSafari(): boolean;
@@ -4324,6 +4330,7 @@ export declare namespace DeviceUtilities {
4324
4330
  export function microphonePermissionsGranted(): Promise<boolean>;
4325
4331
  export function getiOSVersion(): string | null;
4326
4332
  export function getChromeVersion(): string | null;
4333
+ export function getSafariVersion(): string | null;
4327
4334
  }
4328
4335
 
4329
4336
  /**
@@ -4492,6 +4499,7 @@ export declare enum DragMode {
4492
4499
 
4493
4500
  /** The DropListener component is used to listen for drag and drop events in the browser and add the dropped files to the scene
4494
4501
  * It can be used to allow users to drag and drop glTF files into the scene to add new objects.
4502
+ * Existing child objects will behave like placeholders and will be removed when new files are dropped.
4495
4503
  *
4496
4504
  * If {@link useNetworking} is enabled, the DropListener will automatically synchronize dropped files to other connected clients.
4497
4505
  * Enable {@link fitIntoVolume} to automatically scale dropped objects to fit within the volume defined by {@link fitVolumeSize}.
@@ -5306,6 +5314,12 @@ declare type FitParameters = {
5306
5314
  scaleFactor?: Partial<Vector3Like>;
5307
5315
  };
5308
5316
 
5317
+ /**
5318
+ * The FixedJoint groups together 2 rigidbodies, making them stick together in their bound position
5319
+ * @summary Connect two Rigidbodies and make them stick together
5320
+ * @category Physics
5321
+ * @group Components
5322
+ */
5309
5323
  export declare class FixedJoint extends Joint {
5310
5324
  protected createJoint(self: Rigidbody, other: Rigidbody): void;
5311
5325
  }
@@ -5663,9 +5677,10 @@ export declare abstract class GameObject extends Object3D implements Object3D, I
5663
5677
  * Gets a component of the specified type in the gameObject's children hierarchy
5664
5678
  * @param go GameObject to search in
5665
5679
  * @param typeName Constructor of the component type
5680
+ * @param includeInactive Whether to include inactive objects in the search
5666
5681
  * @returns The first matching component if found, otherwise null
5667
5682
  */
5668
- static getComponentInChildren<T extends IComponent>(go: IGameObject | Object3D, typeName: Constructor<T>): T | null;
5683
+ static getComponentInChildren<T extends IComponent>(go: IGameObject | Object3D, typeName: Constructor<T>, includeInactive?: boolean): T | null;
5669
5684
  /**
5670
5685
  * Gets all components of the specified type in the gameObject's children hierarchy
5671
5686
  * @param go GameObject to search in
@@ -6166,7 +6181,8 @@ export declare class Graphic extends BaseUIComponent implements IGraphic, IRectT
6166
6181
  /**
6167
6182
  * A Raycaster that performs raycasting against UI elements (objects with a CanvasRenderer component).
6168
6183
  *
6169
- * @category UI
6184
+ * @summary Raycaster for UI elements
6185
+ * @category User Interface
6170
6186
  * @group Components
6171
6187
  */
6172
6188
  export declare class GraphicRaycaster extends ObjectRaycaster {
@@ -6354,6 +6370,14 @@ export declare class HideOnStart extends Component implements UsdzBehaviour {
6354
6370
  beforeCreateDocument(): void;
6355
6371
  }
6356
6372
 
6373
+ /**
6374
+ * The HingeJoint groups together 2 rigid bodies, constraining them to move like connected by a hinge.
6375
+ *
6376
+ * You can specify the anchor point and axis of rotation for the hinge.
6377
+ * @summary Connect two Rigidbodies with a hinge
6378
+ * @category Physics
6379
+ * @group Components
6380
+ */
6357
6381
  export declare class HingeJoint extends Joint {
6358
6382
  anchor?: Vector3;
6359
6383
  axis?: Vector3;
@@ -6405,7 +6429,7 @@ declare enum HorizontalWrapMode {
6405
6429
  * By default, a simple scale-up animation is used. You can customize the hover and idle animations by providing your own animation clips.
6406
6430
  *
6407
6431
  * @summary Hover Animation on Pointer Enter/Exit
6408
- * @category Web
6432
+ * @category Interactivity
6409
6433
  * @group Components
6410
6434
  */
6411
6435
  export declare class HoverAnimation extends Component {
@@ -6816,16 +6840,33 @@ export declare interface INeedleEngineComponent extends HTMLElement {
6816
6840
  }
6817
6841
 
6818
6842
  /**
6819
- * Interface for registering custom glTF extensions to the Needle Engine GLTFLoaders. Register your plugin via {@link addCustomExtensionPlugin}
6843
+ * Interface for registering custom glTF extensions to the Needle Engine GLTFLoaders.
6844
+ * Register your plugin using the {@link addCustomExtensionPlugin} method
6820
6845
  */
6821
6846
  export declare interface INeedleGLTFExtensionPlugin {
6822
6847
  /** The Name of your plugin */
6823
6848
  name: string;
6824
- /** Called before starting to load a glTF file. This callback can be used to add custom extensions to the GLTFLoader */
6849
+ /** Called before starting to load a glTF file. This callback can be used to add custom extensions to the [GLTFLoader](https://threejs.org/docs/#GLTFLoader.register)
6850
+ *
6851
+ * @example Add a custom extension to the GLTFloader
6852
+ * ```ts
6853
+ * onImport: (loader, url, context) => {
6854
+ * loader.register((parser) => new MyCustomExtension(parser));
6855
+ * }
6856
+ * ```
6857
+ */
6825
6858
  onImport?: OnImportCallback;
6826
- /** Called after the glTF has been loaded */
6859
+ /** Called after a glTF file has been loaded */
6827
6860
  onLoaded?: (url: string, gltf: GLTF, context: Context) => void;
6828
- /** Called before starting to export a glTF file. This callback can be used to add custom extensions to the GLTFExporter */
6861
+ /** Called before starting to export a glTF file. This callback can be used to add custom extensions to the [GLTFExporter](https://threejs.org/docs/#examples/en/exporters/GLTFExporter.register)
6862
+ *
6863
+ * @example Add a custom extension to the GLTFExporter
6864
+ * ```ts
6865
+ * onExport: (exporter, context) => {
6866
+ * exporter.register((writer) => new MyCustomExportExtension(writer));
6867
+ * }
6868
+ *
6869
+ */
6829
6870
  onExport?: OnExportCallback;
6830
6871
  }
6831
6872
 
@@ -8438,7 +8479,8 @@ export declare enum LogType {
8438
8479
  * It can also invert the forward direction and keep the up direction.
8439
8480
  *
8440
8481
  * @summary Makes the object look at a target object or the camera
8441
- * @category Interactivity, Everywhere Actions
8482
+ * @category Everywhere Actions
8483
+ * @category Interactivity
8442
8484
  * @group Components
8443
8485
  */
8444
8486
  export declare class LookAt extends Component implements UsdzBehaviour {
@@ -8468,7 +8510,7 @@ export declare class LookAt extends Component implements UsdzBehaviour {
8468
8510
  * This component is used by {@link OrbitControls} internally.
8469
8511
  *
8470
8512
  * @summary Look At Constraint for OrbitControls
8471
- * @category Camera Controls
8513
+ * @category Camera and Controls
8472
8514
  * @group Components
8473
8515
  */
8474
8516
  export declare class LookAtConstraint extends Component {
@@ -9853,7 +9895,7 @@ export declare class NeedleXRSession implements INeedleXRSession {
9853
9895
  * @param init The XRSessionInit to use (optional), docs: https://developer.mozilla.org/en-US/docs/Web/API/XRSessionInit
9854
9896
  * @param context The Needle Engine context to use
9855
9897
  */
9856
- static start(mode: XRSessionMode | "ar", init?: XRSessionInit, context?: Context): Promise<NeedleXRSession | null>;
9898
+ static start(mode: XRSessionMode | "ar" | "quicklook", init?: XRSessionInit, context?: Context): Promise<NeedleXRSession | null>;
9857
9899
  static setSession(mode: XRSessionMode, session: XRSession, init: XRSessionInit, context: Context): NeedleXRSession;
9858
9900
  private static $_stop_request;
9859
9901
  /** stops the active XR session */
@@ -10109,6 +10151,11 @@ export declare class NEPointerEvent extends PointerEvent {
10109
10151
  /** What type of input created this event: touch, mouse, xr controller, xr hand tracking... */
10110
10152
  get pointerType(): PointerTypeNames;
10111
10153
  private readonly _pointerType;
10154
+ /**
10155
+ * The button name that raised this event (e.g. for mouse events "left", "right", "middle" or for XRTrigger "xr-standard-trigger" or "xr-standard-thumbstick")
10156
+ * Use {@link button} to get the numeric button index (e.g. 0, 1, 2...) on the controller or mouse.
10157
+ */
10158
+ readonly buttonName?: ButtonName | "none";
10112
10159
  /** The input that raised this event like `pointerdown` */
10113
10160
  get type(): InputEventNames;
10114
10161
  private readonly _type;
@@ -10567,7 +10614,7 @@ export declare type ObjectOptions = {
10567
10614
  /**
10568
10615
  * A Raycaster that performs raycasting against its own GameObject.
10569
10616
  *
10570
- * @category Interaction
10617
+ * @category Interactivity
10571
10618
  * @group Components
10572
10619
  */
10573
10620
  export declare class ObjectRaycaster extends Raycaster_2 {
@@ -10782,9 +10829,15 @@ export declare class OneEuroFilterXYZ {
10782
10829
  reset(value?: Vec3): void;
10783
10830
  }
10784
10831
 
10785
- declare type OnExportCallback = (exporter: GLTFExporter, context: Context) => void;
10832
+ /**
10833
+ * Callback type for glTF export plugins. See {@link INeedleGLTFExtensionPlugin.onExport}
10834
+ */
10835
+ export declare type OnExportCallback = (exporter: GLTFExporter, context: Context) => void;
10786
10836
 
10787
- declare type OnImportCallback = (loader: GLTFLoader, url: string, context: Context) => void;
10837
+ /**
10838
+ * Callback type for glTF import plugins. See {@link INeedleGLTFExtensionPlugin.onImport}
10839
+ */
10840
+ export declare type OnImportCallback = (loader: GLTFLoader, url: string, context: Context) => void;
10788
10841
 
10789
10842
  /**
10790
10843
  * Register a callback in the engine context created event.
@@ -10916,7 +10969,7 @@ declare enum OpenURLMode {
10916
10969
  * The three OrbitControls object can be accessed via the `controls` property.
10917
10970
  * The object being controlled by the OrbitControls (usually the camera) can be accessed via the `controllerObject` property.
10918
10971
  * @summary Camera controller using three.js OrbitControls
10919
- * @category Camera
10972
+ * @category Camera and Controls
10920
10973
  * @group Components
10921
10974
  */
10922
10975
  export declare class OrbitControls extends Component implements ICameraController {
@@ -12841,6 +12894,12 @@ export declare class OrbitControls extends Component implements ICameraControlle
12841
12894
  height: number;
12842
12895
  }
12843
12896
 
12897
+ /**
12898
+ * RectTransform is a component that defines a rectangle for UI layout.
12899
+ * @summary UI Rectangle Transform
12900
+ * @category User Interface
12901
+ * @group Components
12902
+ */
12844
12903
  export declare class RectTransform extends BaseUIComponent implements IRectTransform, IRectTransformChangedReceiver {
12845
12904
  get parent(): RectTransform | undefined;
12846
12905
  get translation(): Vector3;
@@ -13737,9 +13796,12 @@ export declare class OrbitControls extends Component implements ICameraControlle
13737
13796
  sceneLoaded: EventList<SceneSwitcher>;
13738
13797
  private _currentIndex;
13739
13798
  private _currentScene;
13799
+ private _currentSceneAsset;
13740
13800
  private _engineElementOverserver;
13741
13801
  private _preloadScheduler?;
13742
13802
  private _menuButtons?;
13803
+ private __lastSwitchScene?;
13804
+ private __lastSwitchScenePromise?;
13743
13805
  /* Excluded from this release type: awake */
13744
13806
  /* Excluded from this release type: onEnable */
13745
13807
  /* Excluded from this release type: onDisable */
@@ -13791,8 +13853,6 @@ export declare class OrbitControls extends Component implements ICameraControlle
13791
13853
  * @returns a promise that resolves to true if the scene was loaded successfully
13792
13854
  */
13793
13855
  reload(): Promise<boolean>;
13794
- private __lastSwitchScene?;
13795
- private __lastSwitchScenePromise?;
13796
13856
  /**
13797
13857
  * Switch to a scene by its AssetReference.
13798
13858
  * If the scene is already loaded it will be unloaded and the new scene will be loaded.
@@ -14740,7 +14800,7 @@ export declare class OrbitControls extends Component implements ICameraControlle
14740
14800
  * Signals can be added to a signal track on a {@link PlayableDirector}
14741
14801
  *
14742
14802
  * @summary Receives signals and invokes reactions
14743
- * @category Sequencing and Timelines
14803
+ * @category Animation and Sequencing
14744
14804
  * @group Components
14745
14805
  */
14746
14806
  export declare class SignalReceiver extends Component {
@@ -14805,6 +14865,12 @@ export declare class OrbitControls extends Component implements ICameraControlle
14805
14865
  evaluate(t01: number, target?: Vec3, lerpFactor?: number): Vec3;
14806
14866
  }
14807
14867
 
14868
+ /**
14869
+ * Renders deformable meshes that deform via bones and/or blend shapes.
14870
+ * @summary Renderer for deformable meshes
14871
+ * @category Rendering
14872
+ * @group Components
14873
+ **/
14808
14874
  export declare class SkinnedMeshRenderer extends MeshRenderer {
14809
14875
  private _needUpdateBoundingSphere;
14810
14876
  awake(): void;
@@ -15360,7 +15426,8 @@ export declare class OrbitControls extends Component implements ICameraControlle
15360
15426
  *
15361
15427
  * - Example: https://engine.needle.tools/samples/spritesheet-animation
15362
15428
  *
15363
- * @category Sprites
15429
+ * @summary Renders 2D images from a sprite sheet
15430
+ * @category Rendering
15364
15431
  * @group Components
15365
15432
  */
15366
15433
  export declare class SpriteRenderer extends Component {
@@ -17004,7 +17071,7 @@ export declare class OrbitControls extends Component implements ICameraControlle
17004
17071
  * ```
17005
17072
 
17006
17073
  * @summary Automatically fits a box area into the camera view
17007
- * @category Camera
17074
+ * @category Camera and Controls
17008
17075
  * @group Components
17009
17076
  * @component
17010
17077
  */
@@ -17353,9 +17420,12 @@ export declare class OrbitControls extends Component implements ICameraControlle
17353
17420
 
17354
17421
  /**
17355
17422
  * The WebARSessionRoot is the root object for a WebAR session and used to place the scene in AR.
17356
- * It is also responsible for scaling the user in AR and to define the center of the AR scene. If not present in the scene it will be created automatically by the WebXR component when entering an AR session.
17423
+ * It is also responsible for scaling the user in AR and to define the center of the AR scene.
17424
+ * If not present in the scene it will be created automatically by the WebXR component when entering an AR session.
17357
17425
  *
17358
- * @example
17426
+ * **Note**: If the WebXR component {@link WebXR.autoCenter} option is enabled the scene will be automatically centered based on the content in the scene.
17427
+ *
17428
+ * @example Callback when the scene has been placed in AR:
17359
17429
  * ```ts
17360
17430
  * WebARSessionRoot.onPlaced((args) => {
17361
17431
  * console.log("Scene has been placed in AR");
@@ -17451,7 +17521,7 @@ export declare class OrbitControls extends Component implements ICameraControlle
17451
17521
  declare type WebsocketSendType = IModel | object | boolean | null | string | number;
17452
17522
 
17453
17523
  /**
17454
- * Use the WebXR component to enable VR, AR and Quicklook on iOS in your scene.
17524
+ * Use the WebXR component to enable VR and AR on iOS and Android in your scene. VisionOS support is also provided via QuickLook USDZ export.
17455
17525
  *
17456
17526
  * The WebXR component is a simple to use wrapper around the {@link NeedleXRSession} API and adds some additional features like creating buttons for AR, VR, enabling default movement behaviour ({@link XRControllerMovement}) and controller rendering ({@link XRControllerModel}), as well as handling AR placement and Quicklook USDZ export.
17457
17527
  *
@@ -17545,6 +17615,8 @@ export declare class OrbitControls extends Component implements ICameraControlle
17545
17615
  /**
17546
17616
  * When enabled, the AR session root center will be automatically adjusted to place the center of the scene.
17547
17617
  * This helps ensure the scene is properly aligned with detected surfaces.
17618
+ *
17619
+ * **Note**: This option overrides the placement of the {@link WebARSessionRoot} component if both are used.
17548
17620
  */
17549
17621
  autoCenter: boolean;
17550
17622
  /**