@needle-tools/engine 6.0.0-alpha.5 → 6.0.0-alpha.7

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 (84) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/gltf-progressive-CRdzVlSY.umd.cjs +10 -0
  3. package/dist/gltf-progressive-OBdIERAY.min.js +10 -0
  4. package/dist/{gltf-progressive-B7lOWdLe.js → gltf-progressive-ZuAsp3FE.js} +237 -231
  5. package/dist/{materialx-CTPhpPxI.min.js → materialx-Bd0NThHa.min.js} +1 -1
  6. package/dist/{materialx-BwYvA-4x.umd.cjs → materialx-Clep-Dc8.umd.cjs} +2 -2
  7. package/dist/{materialx-B3qY8vPU.js → materialx-m9EM4lhZ.js} +1 -1
  8. package/dist/{needle-engine.bundle-_kAszB-k.min.js → needle-engine.bundle-B2_-yVCX.min.js} +148 -148
  9. package/dist/{needle-engine.bundle-D3nBMgfk.umd.cjs → needle-engine.bundle-BOs3iHUC.umd.cjs} +147 -147
  10. package/dist/{needle-engine.bundle-4xlWxOTF.js → needle-engine.bundle-hBHg3HuX.js} +7092 -7023
  11. package/dist/needle-engine.d.ts +49 -28
  12. package/dist/needle-engine.js +604 -603
  13. package/dist/needle-engine.min.js +1 -1
  14. package/dist/needle-engine.umd.cjs +1 -1
  15. package/dist/{vendor-BJviq-Oq.umd.cjs → vendor-Bb_SUKxZ.umd.cjs} +92 -92
  16. package/dist/{vendor-CdNldo8c.min.js → vendor-D1vc0sOe.min.js} +100 -100
  17. package/dist/{vendor-BQUQwut5.js → vendor-ipoLrKAE.js} +3466 -3320
  18. package/lib/engine/api.d.ts +2 -1
  19. package/lib/engine/api.js +2 -1
  20. package/lib/engine/api.js.map +1 -1
  21. package/lib/engine/engine_context.d.ts +2 -0
  22. package/lib/engine/engine_context.js +14 -0
  23. package/lib/engine/engine_context.js.map +1 -1
  24. package/lib/engine/engine_init.js +2 -2
  25. package/lib/engine/engine_init.js.map +1 -1
  26. package/lib/engine/engine_license.d.ts +7 -7
  27. package/lib/engine/engine_license.js +73 -73
  28. package/lib/engine/engine_license.js.map +1 -1
  29. package/lib/engine/engine_loaders.gltf.d.ts +3 -1
  30. package/lib/engine/engine_loaders.gltf.js +6 -1
  31. package/lib/engine/engine_loaders.gltf.js.map +1 -1
  32. package/lib/engine/engine_networking_blob.js +3 -3
  33. package/lib/engine/engine_networking_blob.js.map +1 -1
  34. package/lib/engine/engine_physics.d.ts +2 -0
  35. package/lib/engine/engine_physics.js +23 -1
  36. package/lib/engine/engine_physics.js.map +1 -1
  37. package/lib/engine/engine_utils_qrcode.js +2 -2
  38. package/lib/engine/engine_utils_qrcode.js.map +1 -1
  39. package/lib/engine/project-document/engine_document_extensions.d.ts +16 -0
  40. package/lib/engine/project-document/engine_document_extensions.js +29 -0
  41. package/lib/engine/project-document/engine_document_extensions.js.map +1 -0
  42. package/lib/engine/project-document/engine_document_runtime.js +1 -1
  43. package/lib/engine/project-document/engine_document_runtime.js.map +1 -1
  44. package/lib/engine/project-document/engine_project_document.js +39 -3
  45. package/lib/engine/project-document/engine_project_document.js.map +1 -1
  46. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
  47. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
  48. package/lib/engine/webcomponents/needle menu/needle-menu.js +5 -5
  49. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  50. package/lib/engine/webcomponents/needle-engine.js +2 -2
  51. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  52. package/lib/engine/webcomponents/needle-engine.loading.js +2 -2
  53. package/lib/engine/xr/TempXRContext.js +2 -2
  54. package/lib/engine/xr/TempXRContext.js.map +1 -1
  55. package/lib/engine-components/Renderer.d.ts +1 -1
  56. package/lib/engine-components/Renderer.js +2 -11
  57. package/lib/engine-components/Renderer.js.map +1 -1
  58. package/lib/engine-components/export/usdz/USDZExporter.js +4 -4
  59. package/package.json +4 -4
  60. package/plugins/common/license.js +4 -4
  61. package/plugins/license/cli.js +7 -4
  62. package/plugins/vite/build-pipeline.js +6 -1
  63. package/plugins/vite/license.js +4 -4
  64. package/plugins/vite/logger.client.js +21 -8
  65. package/src/engine/api.ts +2 -1
  66. package/src/engine/engine_context.ts +11 -0
  67. package/src/engine/engine_init.ts +2 -2
  68. package/src/engine/engine_license.ts +70 -70
  69. package/src/engine/engine_loaders.gltf.ts +8 -2
  70. package/src/engine/engine_networking_blob.ts +3 -3
  71. package/src/engine/engine_physics.ts +22 -1
  72. package/src/engine/engine_utils_qrcode.ts +2 -2
  73. package/src/engine/project-document/engine_document_extensions.ts +39 -0
  74. package/src/engine/project-document/engine_document_runtime.ts +1 -1
  75. package/src/engine/project-document/engine_project_document.ts +46 -3
  76. package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
  77. package/src/engine/webcomponents/needle menu/needle-menu.ts +5 -5
  78. package/src/engine/webcomponents/needle-engine.loading.ts +2 -2
  79. package/src/engine/webcomponents/needle-engine.ts +2 -2
  80. package/src/engine/xr/TempXRContext.ts +2 -2
  81. package/src/engine-components/Renderer.ts +4 -13
  82. package/src/engine-components/export/usdz/USDZExporter.ts +4 -4
  83. package/dist/gltf-progressive-BpT9M5Mt.umd.cjs +0 -10
  84. package/dist/gltf-progressive-D0rzvhNG.min.js +0 -10
@@ -23,7 +23,9 @@ import { DepthOfFieldEffect } from 'postprocessing';
23
23
  import { DepthTexture } from 'three';
24
24
  import { deriveInstanceId as deriveStableId } from '@needle-tools/addressing';
25
25
  import { dimforgeRapier3dCompat } from '@dimforge/rapier3d-compat';
26
+ import { DocumentDefContext } from '@needle-tools/addressing/document';
26
27
  import { DocumentedOptions } from '../../../node_modules/three-mesh-ui/build/types/core/elements/MeshUIBaseElement.js';
28
+ import { DocumentExtensionProvider } from '@needle-tools/addressing/document';
27
29
  import { Effect } from 'postprocessing';
28
30
  import { EffectComposer } from 'postprocessing';
29
31
  import { EffectComposer as EffectComposer_2 } from 'three/examples/jsm/postprocessing/EffectComposer.js';
@@ -138,6 +140,8 @@ export declare const $componentName: unique symbol;
138
140
 
139
141
  export declare const $physicsKey: unique symbol;
140
142
 
143
+ /* Excluded from this release type: $TiDhB */
144
+
141
145
  export declare class __Ignore {
142
146
  }
143
147
 
@@ -145,7 +149,7 @@ export declare function __internalNotifyObjectDestroyed(obj: Object3D): void;
145
149
 
146
150
  /* Excluded from this release type: __internalStepGaussianSplatAdaptation */
147
151
 
148
- /* Excluded from this release type: __Pekxq */
152
+ /* Excluded from this release type: __mor */
149
153
 
150
154
  /** Data describing the accessible semantics for a 3D object or component. */
151
155
  declare type AccessibilityData = {
@@ -4701,6 +4705,8 @@ export declare class Context implements IContext {
4701
4705
  get lifecycle(): ContextLifecycleMode;
4702
4706
  set lifecycle(value: ContextLifecycleMode);
4703
4707
  private _lifecycle;
4708
+ /** Completes queued loading/setup callbacks without rendering or stepping simulation. */
4709
+ flushPendingSceneSetup(): void;
4704
4710
  /**
4705
4711
  * Called when switching from "held" back to "running": while held, hierarchy active
4706
4712
  * flags keep updating but activation callbacks are gated. Components that were never
@@ -6005,6 +6011,16 @@ export declare class DocumentExtension implements IUSDExporterExtension {
6005
6011
  onAfterBuildDocument(_context: any): void;
6006
6012
  }
6007
6013
 
6014
+ /** Creates extension readers bound to each document's Engine context. */
6015
+ export declare interface DocumentExtensionRegistration {
6016
+ readonly version: number;
6017
+ readonly migrations?: DocumentExtensionProvider['migrations'];
6018
+ readonly valueCodecs?: DocumentExtensionProvider['valueCodecs'];
6019
+ readonly components?: {
6020
+ createReader(context: DocumentDefContext): NonNullable<DocumentExtensionProvider['components']>['apply'] | undefined;
6021
+ };
6022
+ }
6023
+
6008
6024
  /**
6009
6025
  * [DragControls](https://engine.needle.tools/docs/api/DragControls) enables interactive dragging of objects in 2D (screen space) or 3D (world space).
6010
6026
  *
@@ -7324,8 +7340,6 @@ export declare class FixedRotationAxesConstraint implements IDragConstraint {
7324
7340
  apply(followObject: GameObject): void;
7325
7341
  }
7326
7342
 
7327
- /* Excluded from this release type: _fncZ */
7328
-
7329
7343
  declare type FocusRect = DOMRect | Element | {
7330
7344
  x: number;
7331
7345
  y: number;
@@ -15958,6 +15972,8 @@ export declare class OrbitControls extends Component implements ICameraControlle
15958
15972
  }
15959
15973
 
15960
15974
  export declare class Physics {
15975
+ /** Release the shared BVH worker pool after the last engine context is destroyed. */
15976
+ static disposeMeshBVHWorkers(): void;
15961
15977
  private static _raycasting;
15962
15978
  /**
15963
15979
  * Returns true if raycasting is currently in progress
@@ -17893,6 +17909,11 @@ export declare class OrbitControls extends Component implements ICameraControlle
17893
17909
 
17894
17910
  export declare function registerCustomEffectType(name: string, effect: typeof PostProcessingEffect): void;
17895
17911
 
17912
+ /** Register before loading documents. Disposing affects subsequent evaluations. */
17913
+ export declare function registerDocumentExtensionProvider(id: string, provider: DocumentExtensionRegistration): {
17914
+ dispose(): void;
17915
+ };
17916
+
17896
17917
  export declare class RegisteredAnimationInfo {
17897
17918
  private _start?;
17898
17919
  get start(): number;
@@ -18172,7 +18193,7 @@ export declare class OrbitControls extends Component implements ICameraControlle
18172
18193
  reflectionProbeUsage: ReflectionProbeUsage;
18173
18194
  private _lightmaps?;
18174
18195
  /** Get the mesh Object3D for this renderer
18175
- * Warn: if this is a multimaterial object it will return the first mesh only
18196
+ * Warn: if this is a multimaterial object it will return the first submesh only (same as `sharedMeshes[0]`), use {@link sharedMeshes} to get all of them
18176
18197
  * @returns a mesh object3D.
18177
18198
  * */
18178
18199
  get sharedMesh(): Mesh | SkinnedMesh | undefined;
@@ -21834,8 +21855,6 @@ export declare class OrbitControls extends Component implements ICameraControlle
21834
21855
  Manual = 4
21835
21856
  }
21836
21857
 
21837
- /* Excluded from this release type: sUknx */
21838
-
21839
21858
  /**
21840
21859
  * Destroy an object across the network. See also {@link syncInstantiate}.
21841
21860
  * @param obj The object or component to be destroyed
@@ -26018,16 +26037,11 @@ export declare class OrbitControls extends Component implements ICameraControlle
26018
26037
  All = 4294967295
26019
26038
  }
26020
26039
 
26040
+ /* Excluded from this release type: _yActo */
26041
+
26021
26042
  export { }
26022
26043
 
26023
26044
 
26024
- declare module 'three' {
26025
- interface Vector3 {
26026
- slerp(end: Vector3, t: number): Vector3;
26027
- }
26028
- }
26029
-
26030
-
26031
26045
  declare module 'three' {
26032
26046
  interface Object3D {
26033
26047
  get guid(): string | undefined;
@@ -26168,6 +26182,28 @@ declare module 'three' {
26168
26182
  }
26169
26183
 
26170
26184
 
26185
+ declare module 'three' {
26186
+ interface Vector3 {
26187
+ slerp(end: Vector3, t: number): Vector3;
26188
+ }
26189
+ }
26190
+
26191
+
26192
+ declare module 'three/examples/jsm/controls/OrbitControls.js' {
26193
+ interface OrbitControls {
26194
+ _sphericalDelta: import("three").Spherical;
26195
+ _rotateLeft: (angleInRadians: number) => void;
26196
+ _rotateUp: (angleInRadians: number) => void;
26197
+ _pan: (dx: number, dy: number) => void;
26198
+ _dollyIn: (dollyScale: number) => void;
26199
+ _dollyOut: (dollyScale: number) => void;
26200
+ }
26201
+ interface OrbitControlsEventMap {
26202
+ endMovement: Event;
26203
+ }
26204
+ }
26205
+
26206
+
26171
26207
  declare module 'three' {
26172
26208
  interface SkinnedMesh {
26173
26209
  staticGenerator?: StaticGeometryGenerator;
@@ -26190,21 +26226,6 @@ declare module 'three' {
26190
26226
  }
26191
26227
 
26192
26228
 
26193
- declare module 'three/examples/jsm/controls/OrbitControls.js' {
26194
- interface OrbitControls {
26195
- _sphericalDelta: import("three").Spherical;
26196
- _rotateLeft: (angleInRadians: number) => void;
26197
- _rotateUp: (angleInRadians: number) => void;
26198
- _pan: (dx: number, dy: number) => void;
26199
- _dollyIn: (dollyScale: number) => void;
26200
- _dollyOut: (dollyScale: number) => void;
26201
- }
26202
- interface OrbitControlsEventMap {
26203
- endMovement: Event;
26204
- }
26205
- }
26206
-
26207
-
26208
26229
  declare module 'three' {
26209
26230
  interface Material {
26210
26231
  /** Unique ID for this material instance. Exists at runtime via Object.defineProperty. */