@needle-tools/engine 4.15.0-next.f391a30 → 4.15.0

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 (150) hide show
  1. package/components.needle.json +1 -1
  2. package/dist/{gltf-progressive-CTlvpS3A.js → gltf-progressive-Bm_6aEi4.js} +1 -1
  3. package/dist/{gltf-progressive-CMwJPwEt.umd.cjs → gltf-progressive-BttGBXw6.umd.cjs} +1 -1
  4. package/dist/{gltf-progressive-DYL3SLVb.min.js → gltf-progressive-T5WKTux5.min.js} +1 -1
  5. package/dist/materialx-CJyQZtjt.min.js +90 -0
  6. package/dist/materialx-DMs1E08Z.js +4636 -0
  7. package/dist/materialx-DaKKOoVk.umd.cjs +90 -0
  8. package/dist/{needle-engine.bundle-DsTdfmeb.min.js → needle-engine.bundle-CBq_OMnI.min.js} +122 -124
  9. package/dist/{needle-engine.bundle-DB4kLWO_.js → needle-engine.bundle-DGyiwNWR.js} +3226 -3232
  10. package/dist/{needle-engine.bundle-C1BFRZDF.umd.cjs → needle-engine.bundle-JN3eiiYc.umd.cjs} +113 -115
  11. package/dist/needle-engine.d.ts +52 -33
  12. package/dist/needle-engine.js +288 -287
  13. package/dist/needle-engine.min.js +1 -1
  14. package/dist/needle-engine.umd.cjs +1 -1
  15. package/dist/{postprocessing-BN-f4viE.min.js → postprocessing-06AXuvdv.min.js} +1 -1
  16. package/dist/{postprocessing-De9ZpJrk.js → postprocessing-CI2x8Cln.js} +1 -1
  17. package/dist/{postprocessing-DYmYOVm4.umd.cjs → postprocessing-CPDcA21P.umd.cjs} +1 -1
  18. package/dist/{three-examples-BHqRVpO_.umd.cjs → three-examples-BMmNgNCN.umd.cjs} +12 -12
  19. package/dist/{three-examples-C0ZCCA_K.js → three-examples-CMYCd5nH.js} +192 -182
  20. package/dist/{three-examples-DmTY8tGr.min.js → three-examples-CQl1fFZp.min.js} +14 -14
  21. package/lib/engine/api.d.ts +2 -0
  22. package/lib/engine/api.js +2 -0
  23. package/lib/engine/api.js.map +1 -1
  24. package/lib/engine/debug/debug.js +1 -1
  25. package/lib/engine/debug/debug.js.map +1 -1
  26. package/lib/engine/debug/debug_spatial_console.js +1 -1
  27. package/lib/engine/debug/debug_spatial_console.js.map +1 -1
  28. package/lib/engine/engine_accessibility.d.ts +1 -1
  29. package/lib/engine/engine_accessibility.js +1 -1
  30. package/lib/engine/engine_accessibility.js.map +1 -1
  31. package/lib/engine/engine_context.d.ts +1 -1
  32. package/lib/engine/engine_context.js +2 -2
  33. package/lib/engine/engine_context.js.map +1 -1
  34. package/lib/engine/engine_create_objects.js +1 -1
  35. package/lib/engine/engine_create_objects.js.map +1 -1
  36. package/lib/engine/engine_gizmos.js +1 -1
  37. package/lib/engine/engine_gizmos.js.map +1 -1
  38. package/lib/engine/engine_license.js +2 -7
  39. package/lib/engine/engine_license.js.map +1 -1
  40. package/lib/engine/engine_test_utils.d.ts +39 -0
  41. package/lib/engine/engine_test_utils.js +84 -0
  42. package/lib/engine/engine_test_utils.js.map +1 -0
  43. package/lib/engine/engine_utils.js +2 -2
  44. package/lib/engine/engine_utils.js.map +1 -1
  45. package/lib/engine/export/gltf/index.js +1 -1
  46. package/lib/engine/export/gltf/index.js.map +1 -1
  47. package/lib/engine/webcomponents/logo-element.d.ts +3 -6
  48. package/lib/engine/webcomponents/logo-element.js +0 -18
  49. package/lib/engine/webcomponents/logo-element.js.map +1 -1
  50. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
  51. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
  52. package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +7 -10
  53. package/lib/engine/webcomponents/needle menu/needle-menu.js +4 -14
  54. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  55. package/lib/engine/webcomponents/needle-engine.ar-overlay.js +1 -10
  56. package/lib/engine/webcomponents/needle-engine.ar-overlay.js.map +1 -1
  57. package/lib/engine/webcomponents/needle-engine.d.ts +0 -3
  58. package/lib/engine/webcomponents/needle-engine.js +0 -10
  59. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  60. package/lib/engine-components/Component.js +1 -0
  61. package/lib/engine-components/Component.js.map +1 -1
  62. package/lib/engine-components/ReflectionProbe.d.ts +2 -24
  63. package/lib/engine-components/ReflectionProbe.js +2 -28
  64. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  65. package/lib/engine-components/Skybox.js +2 -4
  66. package/lib/engine-components/Skybox.js.map +1 -1
  67. package/lib/engine-components/export/gltf/GltfExport.js +1 -1
  68. package/lib/engine-components/export/gltf/GltfExport.js.map +1 -1
  69. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +2 -2
  70. package/lib/engine-components/export/usdz/USDZExporter.js +1 -1
  71. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  72. package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js +2 -2
  73. package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js.map +1 -1
  74. package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +1 -1
  75. package/lib/include/three/EXT_mesh_gpu_instancing_exporter.js.map +1 -0
  76. package/package.json +14 -18
  77. package/plugins/common/buildinfo.js +10 -46
  78. package/plugins/common/files.js +1 -2
  79. package/plugins/common/license.js +69 -144
  80. package/plugins/common/logger.js +11 -172
  81. package/plugins/common/worker.js +4 -5
  82. package/plugins/types/userconfig.d.ts +2 -40
  83. package/plugins/vite/alias.js +5 -6
  84. package/plugins/vite/asap.js +5 -6
  85. package/plugins/vite/build-pipeline.js +41 -224
  86. package/plugins/vite/buildinfo.js +6 -66
  87. package/plugins/vite/copyfiles.js +12 -41
  88. package/plugins/vite/custom-element-data.js +16 -26
  89. package/plugins/vite/defines.js +5 -8
  90. package/plugins/vite/dependencies.js +10 -16
  91. package/plugins/vite/dependency-watcher.js +7 -35
  92. package/plugins/vite/drop-client.js +5 -7
  93. package/plugins/vite/drop.js +14 -16
  94. package/plugins/vite/editor-connection.js +16 -18
  95. package/plugins/vite/imports-logger.js +2 -12
  96. package/plugins/vite/index.js +3 -8
  97. package/plugins/vite/local-files.js +441 -2
  98. package/plugins/vite/logger.client.js +35 -45
  99. package/plugins/vite/logger.js +3 -6
  100. package/plugins/vite/meta.js +4 -18
  101. package/plugins/vite/needle-app.js +3 -4
  102. package/plugins/vite/peer.js +1 -2
  103. package/plugins/vite/pwa.js +17 -33
  104. package/plugins/vite/reload.js +2 -24
  105. package/src/engine/api.ts +3 -0
  106. package/src/engine/debug/debug.ts +1 -1
  107. package/src/engine/debug/debug_spatial_console.ts +1 -5
  108. package/src/engine/engine_accessibility.ts +1 -2
  109. package/src/engine/engine_context.ts +2 -2
  110. package/src/engine/engine_create_objects.ts +1 -1
  111. package/src/engine/engine_gizmos.ts +5 -9
  112. package/src/engine/engine_license.ts +2 -7
  113. package/src/engine/engine_test_utils.ts +109 -0
  114. package/src/engine/engine_utils.ts +2 -2
  115. package/src/engine/export/gltf/index.ts +1 -1
  116. package/src/engine/webcomponents/logo-element.ts +3 -20
  117. package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -6
  118. package/src/engine/webcomponents/needle menu/needle-menu.ts +11 -23
  119. package/src/engine/webcomponents/needle-engine.ar-overlay.ts +2 -13
  120. package/src/engine/webcomponents/needle-engine.ts +1 -13
  121. package/src/engine-components/Component.ts +2 -1
  122. package/src/engine-components/ReflectionProbe.ts +9 -33
  123. package/src/engine-components/Skybox.ts +2 -4
  124. package/src/engine-components/export/gltf/GltfExport.ts +1 -1
  125. package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +2 -2
  126. package/src/engine-components/export/usdz/USDZExporter.ts +1 -1
  127. package/src/engine-components/export/usdz/extensions/behavior/PhysicsExtension.ts +2 -2
  128. package/src/include/draco/draco_decoder.js +34 -0
  129. package/src/include/draco/draco_decoder.wasm +0 -0
  130. package/src/include/draco/draco_wasm_wrapper.js +117 -0
  131. package/src/include/ktx2/basis_transcoder.js +19 -0
  132. package/src/include/ktx2/basis_transcoder.wasm +0 -0
  133. package/src/include/needle/arial-msdf.json +1472 -0
  134. package/src/include/needle/arial.png +0 -0
  135. package/src/include/needle/poweredbyneedle.webp +0 -0
  136. package/dist/materialx-4jJLLe9Q.js +0 -4174
  137. package/dist/materialx-Bt9FHwco.min.js +0 -158
  138. package/dist/materialx-NDD0y4JY.umd.cjs +0 -158
  139. package/lib/engine/export/gltf/EXT_mesh_gpu_instancing_exporter.js.map +0 -1
  140. package/plugins/common/needle-engine-skill.md +0 -175
  141. package/plugins/vite/ai.js +0 -71
  142. package/plugins/vite/local-files-analysis.js +0 -789
  143. package/plugins/vite/local-files-core.js +0 -992
  144. package/plugins/vite/local-files-internals.js +0 -28
  145. package/plugins/vite/local-files-types.d.ts +0 -111
  146. package/plugins/vite/local-files-utils.js +0 -359
  147. package/plugins/vite/logging.js +0 -129
  148. /package/lib/{engine/export/gltf → include/three}/EXT_mesh_gpu_instancing_exporter.d.ts +0 -0
  149. /package/lib/{engine/export/gltf → include/three}/EXT_mesh_gpu_instancing_exporter.js +0 -0
  150. /package/src/{engine/export/gltf → include/three}/EXT_mesh_gpu_instancing_exporter.js +0 -0
@@ -3503,6 +3503,21 @@ export declare const colorSerializer: ColorSerializer;
3503
3503
  */
3504
3504
  export declare function compareAssociation<T extends Material>(obj1: T, obj2: T): boolean;
3505
3505
 
3506
+ declare type ComparisonSceneOptions = {
3507
+ /**
3508
+ * An array of model urls to load
3509
+ */
3510
+ files: string[];
3511
+ /**
3512
+ * Optional dom element to attach the orbit controls to. By default this should be the WebGLRenderer.domElement
3513
+ */
3514
+ domElement?: HTMLElement;
3515
+ /**
3516
+ * Can be a .hdr or .exr file url
3517
+ */
3518
+ environment?: string;
3519
+ };
3520
+
3506
3521
  /**
3507
3522
  * Needle Engine component's are the main building blocks of the Needle Engine.
3508
3523
  * Derive from {@link Behaviour} to implement your own using the provided lifecycle methods.
@@ -10987,10 +11002,7 @@ export declare class NeedleEngineWebComponent extends HTMLElement implements INe
10987
11002
  private _previousSrc;
10988
11003
  /** @private set to true after <needle-engine> did load completely at least once. Set to false when < to false when <needle-engine> is removed from the document removed from the document */
10989
11004
  private _didFullyLoad;
10990
- private _didInitialize;
10991
11005
  constructor();
10992
- private ensureInitialized;
10993
- private initializeDom;
10994
11006
  /* Excluded from this release type: connectedCallback */
10995
11007
  /* Excluded from this release type: disconnectedCallback */
10996
11008
  connectedMoveCallback(): void;
@@ -15618,19 +15630,11 @@ export declare class OrbitControls extends Component implements ICameraControlle
15618
15630
  */
15619
15631
  export declare class ReflectionProbe extends Component {
15620
15632
  private static _probes;
15621
- /**
15622
- * Checks if the given material is currently using a reflection probe. This is determined by checking for an override on the material's "envMap" property, which is set by the Renderer component when applying a reflection probe.
15623
- */
15624
15633
  static isUsingReflectionProbe(material: Material): boolean;
15625
15634
  /**
15626
15635
  * Event invoked when a reflection probe is enabled. Used internally by Renderer components to update probes when they become active. Not recommended to call this directly in most cases.
15627
- * @see {@link onDisabled} for the corresponding disable event.
15628
15636
  */
15629
15637
  static readonly onEnabled: EventList<ReflectionProbe>;
15630
- /**
15631
- * Event invoked when a reflection probe is disabled. Used internally by Renderer components to update probes when they become inactive. Not recommended to call this directly in most cases.
15632
- * @see {@link onEnabled} for the corresponding enable event.
15633
- */
15634
15638
  static readonly onDisabled: EventList<ReflectionProbe>;
15635
15639
  /**
15636
15640
  * Gets the active reflection probe for the given object and context. If `isAnchor` is true, it will only return a probe if the object is the anchor of that probe. Otherwise, it checks if the object is within the probe's influence area.
@@ -15646,11 +15650,8 @@ export declare class OrbitControls extends Component implements ICameraControlle
15646
15650
  static get(object: Object3D | null | undefined, context: Context, isAnchor: boolean, anchor?: Object3D): ReflectionProbe | null;
15647
15651
  private _texture;
15648
15652
  private _textureUrlInFlight?;
15649
- /**
15650
- * The cubemap or HDR texture used for reflections. Can be assigned directly or via a URL string. When assigning via URL, the texture will be loaded asynchronously and applied once ready.
15651
- */
15652
- set texture(tex: Texture | null);
15653
- get texture(): Texture | null;
15653
+ set texture(tex: Texture);
15654
+ get texture(): Texture;
15654
15655
  intensity: number;
15655
15656
  /**
15656
15657
  * Defines the center and size of the reflection probe's influence area.
@@ -15667,18 +15668,12 @@ export declare class OrbitControls extends Component implements ICameraControlle
15667
15668
  private _boxHelper?;
15668
15669
  private isInBox;
15669
15670
  constructor();
15670
- /* Excluded from this release type: awake */
15671
- /* Excluded from this release type: onEnable */
15672
- /* Excluded from this release type: onDisable */
15673
- /* Excluded from this release type: start */
15674
- /* Excluded from this release type: onDestroy */
15675
- /**
15676
- * Applies this reflection probe to the given object by setting material property overrides for "envMap", "envMapRotation", and "envMapIntensity". This is typically called by the Renderer component when determining which reflection probe to use for a given object.
15677
- */
15671
+ awake(): void;
15672
+ onEnable(): void;
15673
+ onDisable(): void;
15674
+ start(): void;
15675
+ onDestroy(): void;
15678
15676
  apply(object: Object3D): void;
15679
- /**
15680
- * Removes the reflection probe overrides from the given object. This is typically called by the Renderer component when an object is no longer influenced by this probe or when the probe is disabled.
15681
- */
15682
15677
  unapply(obj: Object3D): void;
15683
15678
  }
15684
15679
 
@@ -19686,6 +19681,30 @@ export declare class OrbitControls extends Component implements ICameraControlle
19686
19681
 
19687
19682
  /* Excluded from this release type: TestRunner */
19688
19683
 
19684
+ /**
19685
+ * A collection of utility methods for quickly spinning up test environments
19686
+ */
19687
+ export declare class TestSceneUtils {
19688
+ /**
19689
+ * Use this method to quickly setup a scene to compare multiple models.
19690
+ * @example
19691
+ * ```ts
19692
+ * const files = [
19693
+ * "https://threejs.org/examples/models/gltf/RobotExpressive/RobotExpressive.glb",
19694
+ * "https://threejs.org/examples/models/gltf/Lantern/glTF-Binary/Lantern.glb",
19695
+ * ];
19696
+ * const { scene, camera } = await TestUtils.createComparisonScene({ files });
19697
+ * // this could now be assigned to the Needle Engine Context
19698
+ * context.scene = scene;
19699
+ * context.mainCamera = camera;
19700
+ * ```
19701
+ */
19702
+ static createComparisonScene(opts: ComparisonSceneOptions): Promise<{
19703
+ scene: Scene;
19704
+ camera: PerspectiveCamera;
19705
+ }>;
19706
+ }
19707
+
19689
19708
  /* Excluded from this release type: TestSimulateUserData */
19690
19709
 
19691
19710
  /**
@@ -23147,12 +23166,6 @@ export declare namespace SplineUtils {
23147
23166
  function createFromPoints(positions: Vector3[], closed?: boolean, tension?: number): SplineContainer;
23148
23167
  }
23149
23168
 
23150
- declare global {
23151
- interface HTMLElementTagNameMap {
23152
- "needle-logo-element": NeedleLogoElement;
23153
- }
23154
- }
23155
-
23156
23169
 
23157
23170
  /**
23158
23171
  * Internal registry for USDZ exporters. This is used by NeedleXRSession.start("immersive-ar")
@@ -23163,6 +23176,12 @@ export declare namespace InternalUSDZRegistry {
23163
23176
  function unregisterExporter(exporter: USDZExporter): void;
23164
23177
  }
23165
23178
 
23179
+ declare global {
23180
+ interface HTMLElementTagNameMap {
23181
+ "needle-logo-element": NeedleLogoElement;
23182
+ }
23183
+ }
23184
+
23166
23185
 
23167
23186
  declare module 'three' {
23168
23187
  interface Vector3 {