@shopware-ag/dive 3.0.4-beta.8 → 3.0.4

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 (46) hide show
  1. package/build/chunks/AssetCache-CXEvPmw4.cjs +1 -0
  2. package/build/chunks/AssetCache-Cx3yjE1M.mjs +81 -0
  3. package/build/chunks/AssetLoader-DRh_mxDJ.mjs +499 -0
  4. package/build/chunks/AssetLoader-u2K9n5c0.cjs +3 -0
  5. package/build/chunks/FileTypes-DR0AEnSo.cjs +29 -0
  6. package/build/chunks/{FileTypes-CKBwaHmv.mjs → FileTypes-DdMaOWay.mjs} +366 -409
  7. package/build/chunks/{PerspectiveCamera-35cBnxwG.mjs → PerspectiveCamera-B5TvUzTa.mjs} +2 -2
  8. package/build/chunks/{isFileTypeSupported-DhZ3BteF.cjs → isFileTypeSupported-AjtLMEgD.cjs} +1 -1
  9. package/build/chunks/{isFileTypeSupported-0uINhrjH.mjs → isFileTypeSupported-BeQj9Us_.mjs} +1 -1
  10. package/build/dive.cjs +1 -1
  11. package/build/dive.mjs +61 -63
  12. package/build/engine/Dive.d.ts +1 -1
  13. package/build/engine/canvas/CanvasLifecycleManager.d.ts +10 -2
  14. package/build/engine/clock/Clock.d.ts +1 -2
  15. package/build/engine/environment/Environment.d.ts +2 -2
  16. package/build/engine/index.d.ts +0 -2
  17. package/build/engine/renderer/Renderer.d.ts +1 -1
  18. package/build/engine/view/View.d.ts +4 -2
  19. package/build/plugins/ar/index.cjs +1 -1
  20. package/build/plugins/ar/index.mjs +1 -1
  21. package/build/plugins/assetcache/index.cjs +1 -1
  22. package/build/plugins/assetcache/index.mjs +1 -1
  23. package/build/plugins/assetcache/src/chunk/Chunk.d.ts +0 -5
  24. package/build/plugins/assetloader/index.cjs +1 -1
  25. package/build/plugins/assetloader/index.mjs +2 -2
  26. package/build/plugins/assetloader/src/loader/AssetLoader.d.ts +0 -2
  27. package/build/plugins/mediacreator/index.cjs +1 -1
  28. package/build/plugins/mediacreator/index.mjs +5 -5
  29. package/build/plugins/orbitcontroller/index.cjs +1 -1
  30. package/build/plugins/orbitcontroller/index.mjs +1 -1
  31. package/build/plugins/orientationdisplay/index.cjs +1 -1
  32. package/build/plugins/orientationdisplay/index.mjs +9 -10
  33. package/build/plugins/quickview/index.cjs +1 -1
  34. package/build/plugins/quickview/index.mjs +17 -17
  35. package/build/plugins/state/index.cjs +1 -1
  36. package/build/plugins/state/index.mjs +1 -1
  37. package/build/plugins/toolbox/index.cjs +1 -1
  38. package/build/plugins/toolbox/index.mjs +2 -2
  39. package/package.json +6 -2
  40. package/build/chunks/AssetCache-CRYkiPEX.mjs +0 -194
  41. package/build/chunks/AssetCache-DqW6SBI9.cjs +0 -1
  42. package/build/chunks/AssetLoader-DVWNF-kq.mjs +0 -663
  43. package/build/chunks/AssetLoader-DW-xdxZZ.cjs +0 -3
  44. package/build/chunks/FileTypes-DhQ7B0P2.cjs +0 -29
  45. package/build/engine/promise/abortable/AbortablePromise.d.ts +0 -17
  46. package/build/engine/promise/deferred/DeferredPromise.d.ts +0 -18
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../chunks/FileTypes-DhQ7B0P2.cjs");require("three/webgpu");require("three/examples/jsm/loaders/HDRLoader.js");require("three/tsl");const s={...a.DIVEDefaultSettings},u=async(r,i)=>{const e=new a.DIVE({...i,autoStart:!1});e.mainView.camera.position.set(0,1,2);const t=await new a.DIVEModel().setFromURL(r);e.scene.root.add(t),t.placeOnFloor();const o=new a.OrbitController(e.mainView.camera,e.mainView.canvas);e.clock.addTicker(o);const c=Object.assign(e,{orbitController:o,model:t}),n=e.disposeAsync.bind(e);return c.disposeAsync=async()=>{o.dispose(),await n()},((i==null?void 0:i.autoStart)??!0)&&(await e.startAsync(),o.focusObject(t)),c};exports.QuickView=u;exports.QuickViewDefaultSettings=s;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../chunks/FileTypes-DR0AEnSo.cjs");require("three/webgpu");require("three/examples/jsm/loaders/HDRLoader.js");require("three/tsl");const a={...o.DIVEDefaultSettings},l=async(n,c)=>{const e=new o.DIVE(c);e.mainView.camera.position.set(0,1,2);const i=await new o.DIVEModel().setFromURL(n);e.scene.root.add(i),i.placeOnFloor();const t=new o.OrbitController(e.mainView.camera,e.mainView.canvas);t.focusObject(i),e.clock.addTicker(t);const s=Object.assign(e,{orbitController:t,model:i}),r=e.dispose.bind(e);return s.dispose=async()=>{t.dispose(),await r()},s};exports.QuickView=l;exports.QuickViewDefaultSettings=a;
@@ -1,25 +1,25 @@
1
- import { D as n, b as r, c as l, O as m } from "../../chunks/FileTypes-CKBwaHmv.mjs";
1
+ import { D as c, b as r, c as l, O as m } from "../../chunks/FileTypes-DdMaOWay.mjs";
2
2
  import "three/webgpu";
3
3
  import "three/examples/jsm/loaders/HDRLoader.js";
4
4
  import "three/tsl";
5
- const V = {
6
- ...n
7
- }, D = async (c, a) => {
8
- const o = new r({ ...a, autoStart: !1 });
9
- o.mainView.camera.position.set(0, 1, 2);
10
- const e = await new l().setFromURL(c);
11
- o.scene.root.add(e), e.placeOnFloor();
12
- const i = new m(
13
- o.mainView.camera,
14
- o.mainView.canvas
5
+ const u = {
6
+ ...c
7
+ }, D = async (t, n) => {
8
+ const e = new r(n);
9
+ e.mainView.camera.position.set(0, 1, 2);
10
+ const i = await new l().setFromURL(t);
11
+ e.scene.root.add(i), i.placeOnFloor();
12
+ const o = new m(
13
+ e.mainView.camera,
14
+ e.mainView.canvas
15
15
  );
16
- o.clock.addTicker(i);
17
- const t = Object.assign(o, { orbitController: i, model: e }), s = o.disposeAsync.bind(o);
18
- return t.disposeAsync = async () => {
19
- i.dispose(), await s();
20
- }, ((a == null ? void 0 : a.autoStart) ?? !0) && (await o.startAsync(), i.focusObject(e)), t;
16
+ o.focusObject(i), e.clock.addTicker(o);
17
+ const s = Object.assign(e, { orbitController: o, model: i }), a = e.dispose.bind(e);
18
+ return s.dispose = async () => {
19
+ o.dispose(), await a();
20
+ }, s;
21
21
  };
22
22
  export {
23
23
  D as QuickView,
24
- V as QuickViewDefaultSettings
24
+ u as QuickViewDefaultSettings
25
25
  };
@@ -1,4 +1,4 @@
1
- "use strict";var $d=Object.defineProperty;var Hd=(d,g,o)=>g in d?$d(d,g,{enumerable:!0,configurable:!0,writable:!0,value:o}):d[g]=o;var rn=(d,g,o)=>Hd(d,typeof g!="symbol"?g+"":g,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const qd=require("three/webgpu"),zd=require("../../chunks/FileTypes-DhQ7B0P2.cjs");require("three/examples/jsm/loaders/HDRLoader.js");require("three/tsl");const Mi=require("../../chunks/PovSchema-Co9FznEz.cjs"),Ao={};function G(d,g){Ao[d]=g}function xo(d){return Ao[d]}class F{constructor(g,o){rn(this,"_payload");rn(this,"_dependencies");this._payload=g,this._dependencies=o}static define({description:g,execute:o}){return class extends F{constructor(m,N){super(m,N);rn(this,"_description",g);rn(this,"_payload");this._payload=m}execute(){return o(this._payload,this._dependencies)}}}}const mo=F.define({description:"Launches AR mode in native capabilities. (iOS: AR Quick Look, Android: Google Scene Viewer)",execute:async(d,{getARSystem:g})=>g().then(o=>{o.launch(d.uri,d.options)})});G("LAUNCH_AR",mo);const Eo=F.define({description:"Calculates the camera position and target to view the whole scene. (experimental).",execute:(d,{engine:g,controller:o})=>{const S=new zd.BoundingBox(g.scene.root,!1,65280);return o.computeEncompassingView(S)}});G("COMPUTE_ENCOMPASSING_VIEW",Eo);const So=F.define({description:"Gets the current camera position and target.",execute:(d,{controller:g})=>({position:g.object.position.clone(),target:g.target.clone()})});G("GET_CAMERA_TRANSFORM",So);const bo=F.define({description:"Moves the camera to a new position and target.",execute:async(d,{controller:g,registered:o,getAnimationSystem:S,engine:m})=>{const N=await S();let q={x:0,y:0,z:0},un={x:0,y:0,z:0};if("id"in d){const Gn=o.get(d.id);if(!Gn)throw new Error(`POV with id ${d.id} not registered. Registered: ${o}`);if(!Mi.isPovSchema(Gn))throw new Error(`Object with id ${d.id} is not a POV. Object: ${Gn}`);q=Gn.position,un=Gn.target}else q=d.position,un=d.target;m.clock.hasTicker(N)||m.clock.addTicker(N),g.enabled=!0;const jn=await N.fromTargets([{object:g.object.position,to:q},{object:g.target,to:un}],d.duration,{easing:N.Easing.Quadratic.Out,onUpdate:()=>{g.object.lookAt(g.target)},onComplete:()=>{g.enabled=!d.locked}});return jn.play(),{stop:()=>jn.stop()}}});G("MOVE_CAMERA",bo);const Oo=F.define({description:"Sets the camera layer to a certain layer.",execute:(d,{controller:g})=>{"setCameraLayer"in g.object&&g.object.setCameraLayer(d.layer)}});G("SET_CAMERA_LAYER",Oo);const To=F.define({description:"Sets the camera position and target.",execute:(d,{controller:g})=>{g.object.position.copy(d.position),g.target.copy(d.target),g.update()}});G("SET_CAMERA_TRANSFORM",To);const Co=F.define({description:"Zooms the camera in or out by a certain amount.",execute:(d,{controller:g})=>{d.direction==="IN"&&g.zoomIn(d.by),d.direction==="OUT"&&g.zoomOut(d.by)}});G("ZOOM_CAMERA",Co);const Ro=F.define({description:"Generates a screenshot, stores it in a Blob and returns a Promise of a valid URI.",execute:async(d,{registered:g,getMediaCreator:o})=>{const S=await o();if("id"in d){const m=g.get(d.id);if(!m)throw new Error(`Object with id ${d.id} not registered. Registered: ${g}`);if(!Mi.isPovSchema(m))throw new Error(`Object with id ${d.id} is not a POV. Object: ${m}`);const{resolution:N}=d,{position:q,target:un}=m;return S.generateMedia({position:q,target:un,resolution:N})}return S.generateMedia(d)}});G("GENERATE_MEDIA",Ro);const Io=F.define({description:"Adds an object to the scene.",execute:(d,{engine:g,registered:o})=>{o.get(d.id)||(d.parentId===void 0&&(d.parentId=null),o.set(d.id,d),g.scene.root.addSceneObject(d))}});G("ADD_OBJECT",Io);var or=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},lt={exports:{}};/**
1
+ "use strict";var $d=Object.defineProperty;var Hd=(d,g,o)=>g in d?$d(d,g,{enumerable:!0,configurable:!0,writable:!0,value:o}):d[g]=o;var rn=(d,g,o)=>Hd(d,typeof g!="symbol"?g+"":g,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const qd=require("three/webgpu"),zd=require("../../chunks/FileTypes-DR0AEnSo.cjs");require("three/examples/jsm/loaders/HDRLoader.js");require("three/tsl");const Mi=require("../../chunks/PovSchema-Co9FznEz.cjs"),Ao={};function G(d,g){Ao[d]=g}function xo(d){return Ao[d]}class F{constructor(g,o){rn(this,"_payload");rn(this,"_dependencies");this._payload=g,this._dependencies=o}static define({description:g,execute:o}){return class extends F{constructor(m,N){super(m,N);rn(this,"_description",g);rn(this,"_payload");this._payload=m}execute(){return o(this._payload,this._dependencies)}}}}const mo=F.define({description:"Launches AR mode in native capabilities. (iOS: AR Quick Look, Android: Google Scene Viewer)",execute:async(d,{getARSystem:g})=>g().then(o=>{o.launch(d.uri,d.options)})});G("LAUNCH_AR",mo);const Eo=F.define({description:"Calculates the camera position and target to view the whole scene. (experimental).",execute:(d,{engine:g,controller:o})=>{const S=new zd.BoundingBox(g.scene.root,!1,65280);return o.computeEncompassingView(S)}});G("COMPUTE_ENCOMPASSING_VIEW",Eo);const So=F.define({description:"Gets the current camera position and target.",execute:(d,{controller:g})=>({position:g.object.position.clone(),target:g.target.clone()})});G("GET_CAMERA_TRANSFORM",So);const bo=F.define({description:"Moves the camera to a new position and target.",execute:async(d,{controller:g,registered:o,getAnimationSystem:S,engine:m})=>{const N=await S();let q={x:0,y:0,z:0},un={x:0,y:0,z:0};if("id"in d){const Gn=o.get(d.id);if(!Gn)throw new Error(`POV with id ${d.id} not registered. Registered: ${o}`);if(!Mi.isPovSchema(Gn))throw new Error(`Object with id ${d.id} is not a POV. Object: ${Gn}`);q=Gn.position,un=Gn.target}else q=d.position,un=d.target;m.clock.hasTicker(N)||m.clock.addTicker(N),g.enabled=!0;const jn=await N.fromTargets([{object:g.object.position,to:q},{object:g.target,to:un}],d.duration,{easing:N.Easing.Quadratic.Out,onUpdate:()=>{g.object.lookAt(g.target)},onComplete:()=>{g.enabled=!d.locked}});return jn.play(),{stop:()=>jn.stop()}}});G("MOVE_CAMERA",bo);const Oo=F.define({description:"Sets the camera layer to a certain layer.",execute:(d,{controller:g})=>{"setCameraLayer"in g.object&&g.object.setCameraLayer(d.layer)}});G("SET_CAMERA_LAYER",Oo);const To=F.define({description:"Sets the camera position and target.",execute:(d,{controller:g})=>{g.object.position.copy(d.position),g.target.copy(d.target),g.update()}});G("SET_CAMERA_TRANSFORM",To);const Co=F.define({description:"Zooms the camera in or out by a certain amount.",execute:(d,{controller:g})=>{d.direction==="IN"&&g.zoomIn(d.by),d.direction==="OUT"&&g.zoomOut(d.by)}});G("ZOOM_CAMERA",Co);const Ro=F.define({description:"Generates a screenshot, stores it in a Blob and returns a Promise of a valid URI.",execute:async(d,{registered:g,getMediaCreator:o})=>{const S=await o();if("id"in d){const m=g.get(d.id);if(!m)throw new Error(`Object with id ${d.id} not registered. Registered: ${g}`);if(!Mi.isPovSchema(m))throw new Error(`Object with id ${d.id} is not a POV. Object: ${m}`);const{resolution:N}=d,{position:q,target:un}=m;return S.generateMedia({position:q,target:un,resolution:N})}return S.generateMedia(d)}});G("GENERATE_MEDIA",Ro);const Io=F.define({description:"Adds an object to the scene.",execute:(d,{engine:g,registered:o})=>{o.get(d.id)||(d.parentId===void 0&&(d.parentId=null),o.set(d.id,d),g.scene.root.addSceneObject(d))}});G("ADD_OBJECT",Io);var or=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},lt={exports:{}};/**
2
2
  * @license
3
3
  * Lodash <https://lodash.com/>
4
4
  * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
@@ -2,7 +2,7 @@ var _p = Object.defineProperty;
2
2
  var pp = (p, g, o) => g in p ? _p(p, g, { enumerable: !0, configurable: !0, writable: !0, value: o }) : p[g] = o;
3
3
  var rn = (p, g, o) => pp(p, typeof g != "symbol" ? g + "" : g, o);
4
4
  import { MathUtils as dp } from "three/webgpu";
5
- import { B as vp } from "../../chunks/FileTypes-CKBwaHmv.mjs";
5
+ import { B as vp } from "../../chunks/FileTypes-DdMaOWay.mjs";
6
6
  import "three/examples/jsm/loaders/HDRLoader.js";
7
7
  import "three/tsl";
8
8
  import { a as vo, i as wp } from "../../chunks/PovSchema-DWWvr_ED.mjs";
@@ -1 +1 @@
1
- "use strict";var y=Object.defineProperty;var S=(n,t,e)=>t in n?y(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var r=(n,t,e)=>S(n,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("three/webgpu");require("../../chunks/FileTypes-DhQ7B0P2.cjs");const h=require("../../chunks/PerspectiveCamera-DwQUmkDv.cjs");require("three/examples/jsm/loaders/HDRLoader.js");require("three/tsl");const _=require("../../chunks/findInterface-C6mrvf_t.cjs"),T=require("three/examples/jsm/controls/TransformControls.js"),d=require("../../chunks/AxisHelperColors-BrGqktN5.cjs");class m{constructor(){r(this,"_selected",null);r(this,"_listeners",new Set)}get selected(){return this._selected}select(t){var e,s,i;this._selected!==t&&(this._selected&&((s=(e=this._selected).onDeselect)==null||s.call(e)),this._selected=t,(i=t.onSelect)==null||i.call(t),this.notifyListeners())}deselect(){var t,e;this._selected&&((e=(t=this._selected).onDeselect)==null||e.call(t),this._selected=null,this.notifyListeners())}onChange(t){this._listeners.add(t)}offChange(t){this._listeners.delete(t)}dispose(){this._selected=null,this._listeners.clear()}notifyListeners(){for(const t of this._listeners)t(this._selected)}}class b{constructor(){r(this,"name","hover");r(this,"priority",20);r(this,"_hovered",null)}get hovered(){return this._hovered}onActivate(){this._hovered=null}onDeactivate(){var t,e;this._hovered&&((e=(t=this._hovered).onPointerLeave)==null||e.call(t),this._hovered=null)}onPointerMove(t){var i,o,a,l,p,f,v;const e=t.modelIntersects[0],s=_.findInterface(e==null?void 0:e.object,"isHoverable");if(e&&s){if(!this._hovered){(i=s.onPointerEnter)==null||i.call(s,e),this._hovered=s;return}if(this._hovered.uuid!==s.uuid){(a=(o=this._hovered).onPointerLeave)==null||a.call(o),(l=s.onPointerEnter)==null||l.call(s,e),this._hovered=s;return}(p=s.onPointerOver)==null||p.call(s,e);return}this._hovered&&((v=(f=this._hovered).onPointerLeave)==null||v.call(f),this._hovered=null)}}const P=n=>n.name==="select";class g{constructor(t){r(this,"name","select");r(this,"priority",30);r(this,"_selectionState");this._selectionState=t}get selected(){return this._selectionState.selected}onActivate(){}onDeactivate(){}onClick(t){const e=t.modelIntersects[0],s=_.findInterface(e==null?void 0:e.object,"isSelectable");if(!e||!s){this._selectionState.deselect();return}const i=this._selectionState.selected;i&&i.uuid===s.uuid||this._selectionState.select(s)}select(t){this._selectionState.select(t)}deselect(){this._selectionState.deselect()}}const w=n=>n.name==="transform";class u extends c.EventDispatcher{constructor(e,s,i){super();r(this,"name","transform");r(this,"priority",5);r(this,"_scene");r(this,"_controller");r(this,"_selectionState");r(this,"_gizmo");r(this,"_gizmoHelper");r(this,"_scaleLinked",!1);r(this,"_gizmoVisible",!0);r(this,"_selectionChangeHandler");this._scene=e,this._controller=s,this._selectionState=i,this._gizmo=this.initGizmo(),this._gizmoHelper=this._gizmo.getHelper(),this._scene.add(this._gizmoHelper),this._selectionChangeHandler=this.onSelectionChange.bind(this)}get gizmo(){return this._gizmo}get isDragging(){return this._gizmo.dragging}onActivate(){this._selectionState.onChange(this._selectionChangeHandler);const e=this._selectionState.selected;e&&this.attachGizmo(e)}onDeactivate(){this._selectionState.offChange(this._selectionChangeHandler),this._gizmo.detach()}onPointerMove(e){if(this._gizmo.dragging||e.uiIntersects.length>0&&e.uiIntersects.some(i=>this.isGizmoChild(i.object)))return!0}setGizmoMode(e){this._gizmo.mode=e}setGizmoVisible(e){this._gizmoVisible=e;const s=this._scene.children.includes(this._gizmoHelper);e&&!s?(this._scene.add(this._gizmoHelper),this._gizmo.getRaycaster().layers.enableAll()):!e&&s&&(this._scene.remove(this._gizmoHelper),this._gizmo.getRaycaster().layers.disableAll())}setGizmoScaleLinked(e){this._scaleLinked=e}dispose(){this._selectionState.offChange(this._selectionChangeHandler),this._gizmo.detach(),this._scene.remove(this._gizmoHelper),this._gizmo.dispose()}onSelectionChange(e){e&&_.implementsInterface(e,"isMovable")?this.attachGizmo(e):this._gizmo.detach()}attachGizmo(e){_.implementsInterface(e,"isMovable")&&(this._gizmo.attach(e),this.setGizmoVisible(e.visible&&this._gizmoVisible))}isGizmoChild(e){let s=e;for(;s;){if(s===this._gizmoHelper)return!0;s=s.parent}return!1}initGizmo(){const e=new T.TransformControls(this._controller.object,this._controller.domElement);return e.mode="translate",e.getHelper().traverse(i=>{if(!("isMesh"in i))return;const o=i.material;i.name==="X"&&o.color.set(d.AxesColorRed),i.name==="Y"&&o.color.set(d.AxesColorGreen),i.name==="Z"&&o.color.set(d.AxesColorBlue),i.name==="XY"&&o.color.set(d.AxesColorBlue),i.name==="YZ"&&o.color.set(d.AxesColorRed),i.name==="XZ"&&o.color.set(d.AxesColorGreen)}),e.addEventListener("mouseDown",()=>{var i,o;this._controller.enabled=!1,_.implementsInterface(e.object,"isMovable")&&((o=(i=e.object).onMoveStart)==null||o.call(i))}),e.addEventListener("objectChange",()=>{var i,o;if(_.implementsInterface(e.object,"isMovable")){if((o=(i=e.object).onMove)==null||o.call(i),this._scaleLinked&&e.object){const a=e.object.scale,l=(a.x+a.y+a.z)/3;e.object.scale.set(l,l,l)}switch(this.dispatchEvent({type:"object-change",object:e.object}),e.mode){case"translate":this.dispatchEvent({type:"object-position-change",object:e.object});break;case"rotate":this.dispatchEvent({type:"object-rotation-change",object:e.object});break;case"scale":this.dispatchEvent({type:"object-scale-change",object:e.object});break}}}),e.addEventListener("mouseUp",()=>{var i,o;this._controller.enabled=!0,_.implementsInterface(e.object,"isMovable")&&((o=(i=e.object).onMoveEnd)==null||o.call(i))}),e}}const C=.001;class D{constructor(t){r(this,"name","drag");r(this,"priority",10);r(this,"_controller");r(this,"_raycaster");r(this,"_dragging",!1);r(this,"_draggable",null);r(this,"_dragStart",new c.Vector3);r(this,"_dragCurrent",new c.Vector3);r(this,"_dragEnd",new c.Vector3);r(this,"_dragDelta",new c.Vector3);r(this,"_dragRaycastTargets",null);this._controller=t,this._raycaster=new c.Raycaster}get isDragging(){return this._dragging}get draggable(){return this._draggable}onActivate(){this.resetDragState()}onDeactivate(){this._dragging&&this._draggable&&this.endDrag(),this.resetDragState()}onPointerDown(t){var e;t.pointerPrimaryDown&&(this._draggable=_.findInterface((e=t.intersects[0])==null?void 0:e.object,"isDraggable")||null)}onPointerMove(t){if(t.pointerPrimaryDown&&this._draggable&&(this._raycaster.setFromCamera(t.pointer,this._controller.object),this._dragging||t.lastPointerDown.distanceTo(t.pointer)>C&&this.startDrag(t),this._dragging))return this.updateDrag(t),!0}onPointerUp(t){this._dragging&&(this._raycaster.setFromCamera(t.pointer,this._controller.object),this.endDrag()),this._draggable=null}setDragRaycastTargets(t){this._dragRaycastTargets=t}startDrag(t){var s,i;const e=this.getDragIntersect(t);e&&(this._dragStart.copy(e.point),this._dragCurrent.copy(e.point),this._dragEnd.copy(e.point),this._dragDelta.set(0,0,0),(i=(s=this._draggable)==null?void 0:s.onDragStart)==null||i.call(s,this.createDragEvent()),this._dragging=!0,this._controller.enabled=!1)}updateDrag(t){var s,i;const e=this.getDragIntersect(t);e&&(this._dragCurrent.copy(e.point),this._dragEnd.copy(e.point),this._dragDelta.subVectors(this._dragCurrent,this._dragStart),(i=(s=this._draggable)==null?void 0:s.onDrag)==null||i.call(s,this.createDragEvent()))}endDrag(){var e,s;const t=this.createDragEvent();(s=(e=this._draggable)==null?void 0:e.onDragEnd)==null||s.call(e,t),this._dragging=!1,this._controller.enabled=!0,this.resetDragState()}getDragIntersect(t){return this._dragRaycastTargets?this._raycaster.intersectObjects(this._dragRaycastTargets,!0)[0]||null:t.intersects[0]||null}createDragEvent(){return{dragStart:this._dragStart.clone(),dragCurrent:this._dragCurrent.clone(),dragEnd:this._dragEnd.clone(),dragDelta:this._dragDelta.clone()}}resetDragState(){this._dragStart.set(0,0,0),this._dragCurrent.set(0,0,0),this._dragEnd.set(0,0,0),this._dragDelta.set(0,0,0)}}const E=.001;class M{constructor(t,e){r(this,"_scene");r(this,"_controller");r(this,"_canvas");r(this,"_tools");r(this,"_activeTools",new Map);r(this,"_sortedActiveTools",[]);r(this,"_selectionState");r(this,"_raycaster");r(this,"_pointer");r(this,"_productLayerMask");r(this,"_uiLayerMask");r(this,"_pointerPrimaryDown",!1);r(this,"_pointerMiddleDown",!1);r(this,"_pointerSecondaryDown",!1);r(this,"_lastPointerDown");r(this,"_boundPointerMove");r(this,"_boundPointerDown");r(this,"_boundPointerUp");r(this,"_boundWheel");this._scene=t,this._controller=e,this._canvas=e.domElement,this._selectionState=new m,this._raycaster=new c.Raycaster,this._pointer=new c.Vector2,this._lastPointerDown=new c.Vector2,this._productLayerMask=new c.Layers,this._productLayerMask.set(Math.log2(h.PRODUCT_LAYER_MASK)),this._uiLayerMask=new c.Layers,this._uiLayerMask.set(Math.log2(h.UI_LAYER_MASK)),this._tools=new Map([["hover",new b],["select",new g(this._selectionState)],["transform",new u(t,e,this._selectionState)],["drag",new D(e)]]),this._boundPointerMove=this.onPointerMove.bind(this),this._boundPointerDown=this.onPointerDown.bind(this),this._boundPointerUp=this.onPointerUp.bind(this),this._boundWheel=this.onWheel.bind(this),this._canvas.addEventListener("pointermove",this._boundPointerMove),this._canvas.addEventListener("pointerdown",this._boundPointerDown),this._canvas.addEventListener("pointerup",this._boundPointerUp),this._canvas.addEventListener("wheel",this._boundWheel)}get selectionState(){return this._selectionState}enableTool(t){var s;const e=this._tools.get(t);e&&(this._activeTools.has(t)||(this._activeTools.set(t,e),this.updateSortedTools(),(s=e.onActivate)==null||s.call(e)))}disableTool(t){var s;const e=this._activeTools.get(t);e&&((s=e.onDeactivate)==null||s.call(e),this._activeTools.delete(t),this.updateSortedTools())}isToolEnabled(t){return this._activeTools.has(t)}getTool(t){return this._tools.get(t)}getActiveTools(){return[...this._sortedActiveTools]}dispose(){var t;for(const e of this._activeTools.values())(t=e.onDeactivate)==null||t.call(e);this._activeTools.clear(),this._tools.clear(),this._sortedActiveTools=[],this._canvas.removeEventListener("pointermove",this._boundPointerMove),this._canvas.removeEventListener("pointerdown",this._boundPointerDown),this._canvas.removeEventListener("pointerup",this._boundPointerUp),this._canvas.removeEventListener("wheel",this._boundWheel),this._selectionState.dispose()}onPointerMove(t){var s;this.updatePointer(t);const e=this.createPointerContext(t);for(const i of this._sortedActiveTools)if((s=i.onPointerMove)==null?void 0:s.call(i,e))break}onPointerDown(t){var s;this.updatePointerState(t,!0),this.updatePointer(t),this._lastPointerDown.copy(this._pointer);const e=this.createPointerContext(t);for(const i of this._sortedActiveTools)if((s=i.onPointerDown)==null?void 0:s.call(i,e))break}onPointerUp(t){var i,o;this.updatePointer(t);const e=this.createPointerContext(t),s=!this.pointerWasDragged();for(const a of this._sortedActiveTools)if((i=a.onPointerUp)==null?void 0:i.call(a,e))break;if(s){for(const a of this._sortedActiveTools)if((o=a.onClick)==null?void 0:o.call(a,e))break}this.updatePointerState(t,!1)}onWheel(t){var s;const e=this.createWheelContext(t);for(const i of this._sortedActiveTools)if((s=i.onWheel)==null?void 0:s.call(i,e))break}createPointerContext(t){const e=this.raycast();return{event:t,pointer:this._pointer.clone(),intersects:e,modelIntersects:this.filterIntersectsByLayer(e,h.PRODUCT_LAYER_MASK),uiIntersects:this.filterIntersectsByLayer(e,h.UI_LAYER_MASK),pointerPrimaryDown:this._pointerPrimaryDown,pointerMiddleDown:this._pointerMiddleDown,pointerSecondaryDown:this._pointerSecondaryDown,lastPointerDown:this._lastPointerDown.clone()}}createWheelContext(t){const e=this.raycast();return{event:t,pointer:this._pointer.clone(),intersects:e,modelIntersects:this.filterIntersectsByLayer(e,h.PRODUCT_LAYER_MASK),uiIntersects:this.filterIntersectsByLayer(e,h.UI_LAYER_MASK)}}updatePointer(t){this._pointer.x=t.offsetX/this._canvas.clientWidth*2-1,this._pointer.y=-(t.offsetY/this._canvas.clientHeight)*2+1,this._raycaster.setFromCamera(this._pointer,this._controller.object)}updatePointerState(t,e){switch(t.button){case 0:this._pointerPrimaryDown=e;break;case 1:this._pointerMiddleDown=e;break;case 2:this._pointerSecondaryDown=e;break}}raycast(){this._raycaster.layers.mask=h.PRODUCT_LAYER_MASK|h.UI_LAYER_MASK;const t=this._scene.children.filter(e=>e.visible&&"isMesh"in e&&e.isMesh);return this._raycaster.intersectObjects(t,!0)}filterIntersectsByLayer(t,e){return t.filter(s=>(s.object.layers.mask&e)!==0)}updateSortedTools(){this._sortedActiveTools=[...this._activeTools.values()].sort((t,e)=>t.priority-e.priority)}pointerWasDragged(){return this._lastPointerDown.distanceTo(this._pointer)>E}}exports.DIVESelectTool=g;exports.DIVETransformTool=u;exports.DragTool=D;exports.HoverTool=b;exports.SelectTool=g;exports.SelectionState=m;exports.Toolbox=M;exports.TransformTool=u;exports.isSelectTool=P;exports.isTransformTool=w;
1
+ "use strict";var y=Object.defineProperty;var S=(n,t,e)=>t in n?y(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var r=(n,t,e)=>S(n,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("three/webgpu");require("../../chunks/FileTypes-DR0AEnSo.cjs");const h=require("../../chunks/PerspectiveCamera-DwQUmkDv.cjs");require("three/examples/jsm/loaders/HDRLoader.js");require("three/tsl");const _=require("../../chunks/findInterface-C6mrvf_t.cjs"),T=require("three/examples/jsm/controls/TransformControls.js"),d=require("../../chunks/AxisHelperColors-BrGqktN5.cjs");class m{constructor(){r(this,"_selected",null);r(this,"_listeners",new Set)}get selected(){return this._selected}select(t){var e,s,i;this._selected!==t&&(this._selected&&((s=(e=this._selected).onDeselect)==null||s.call(e)),this._selected=t,(i=t.onSelect)==null||i.call(t),this.notifyListeners())}deselect(){var t,e;this._selected&&((e=(t=this._selected).onDeselect)==null||e.call(t),this._selected=null,this.notifyListeners())}onChange(t){this._listeners.add(t)}offChange(t){this._listeners.delete(t)}dispose(){this._selected=null,this._listeners.clear()}notifyListeners(){for(const t of this._listeners)t(this._selected)}}class b{constructor(){r(this,"name","hover");r(this,"priority",20);r(this,"_hovered",null)}get hovered(){return this._hovered}onActivate(){this._hovered=null}onDeactivate(){var t,e;this._hovered&&((e=(t=this._hovered).onPointerLeave)==null||e.call(t),this._hovered=null)}onPointerMove(t){var i,o,a,l,p,f,v;const e=t.modelIntersects[0],s=_.findInterface(e==null?void 0:e.object,"isHoverable");if(e&&s){if(!this._hovered){(i=s.onPointerEnter)==null||i.call(s,e),this._hovered=s;return}if(this._hovered.uuid!==s.uuid){(a=(o=this._hovered).onPointerLeave)==null||a.call(o),(l=s.onPointerEnter)==null||l.call(s,e),this._hovered=s;return}(p=s.onPointerOver)==null||p.call(s,e);return}this._hovered&&((v=(f=this._hovered).onPointerLeave)==null||v.call(f),this._hovered=null)}}const P=n=>n.name==="select";class g{constructor(t){r(this,"name","select");r(this,"priority",30);r(this,"_selectionState");this._selectionState=t}get selected(){return this._selectionState.selected}onActivate(){}onDeactivate(){}onClick(t){const e=t.modelIntersects[0],s=_.findInterface(e==null?void 0:e.object,"isSelectable");if(!e||!s){this._selectionState.deselect();return}const i=this._selectionState.selected;i&&i.uuid===s.uuid||this._selectionState.select(s)}select(t){this._selectionState.select(t)}deselect(){this._selectionState.deselect()}}const w=n=>n.name==="transform";class u extends c.EventDispatcher{constructor(e,s,i){super();r(this,"name","transform");r(this,"priority",5);r(this,"_scene");r(this,"_controller");r(this,"_selectionState");r(this,"_gizmo");r(this,"_gizmoHelper");r(this,"_scaleLinked",!1);r(this,"_gizmoVisible",!0);r(this,"_selectionChangeHandler");this._scene=e,this._controller=s,this._selectionState=i,this._gizmo=this.initGizmo(),this._gizmoHelper=this._gizmo.getHelper(),this._scene.add(this._gizmoHelper),this._selectionChangeHandler=this.onSelectionChange.bind(this)}get gizmo(){return this._gizmo}get isDragging(){return this._gizmo.dragging}onActivate(){this._selectionState.onChange(this._selectionChangeHandler);const e=this._selectionState.selected;e&&this.attachGizmo(e)}onDeactivate(){this._selectionState.offChange(this._selectionChangeHandler),this._gizmo.detach()}onPointerMove(e){if(this._gizmo.dragging||e.uiIntersects.length>0&&e.uiIntersects.some(i=>this.isGizmoChild(i.object)))return!0}setGizmoMode(e){this._gizmo.mode=e}setGizmoVisible(e){this._gizmoVisible=e;const s=this._scene.children.includes(this._gizmoHelper);e&&!s?(this._scene.add(this._gizmoHelper),this._gizmo.getRaycaster().layers.enableAll()):!e&&s&&(this._scene.remove(this._gizmoHelper),this._gizmo.getRaycaster().layers.disableAll())}setGizmoScaleLinked(e){this._scaleLinked=e}dispose(){this._selectionState.offChange(this._selectionChangeHandler),this._gizmo.detach(),this._scene.remove(this._gizmoHelper),this._gizmo.dispose()}onSelectionChange(e){e&&_.implementsInterface(e,"isMovable")?this.attachGizmo(e):this._gizmo.detach()}attachGizmo(e){_.implementsInterface(e,"isMovable")&&(this._gizmo.attach(e),this.setGizmoVisible(e.visible&&this._gizmoVisible))}isGizmoChild(e){let s=e;for(;s;){if(s===this._gizmoHelper)return!0;s=s.parent}return!1}initGizmo(){const e=new T.TransformControls(this._controller.object,this._controller.domElement);return e.mode="translate",e.getHelper().traverse(i=>{if(!("isMesh"in i))return;const o=i.material;i.name==="X"&&o.color.set(d.AxesColorRed),i.name==="Y"&&o.color.set(d.AxesColorGreen),i.name==="Z"&&o.color.set(d.AxesColorBlue),i.name==="XY"&&o.color.set(d.AxesColorBlue),i.name==="YZ"&&o.color.set(d.AxesColorRed),i.name==="XZ"&&o.color.set(d.AxesColorGreen)}),e.addEventListener("mouseDown",()=>{var i,o;this._controller.enabled=!1,_.implementsInterface(e.object,"isMovable")&&((o=(i=e.object).onMoveStart)==null||o.call(i))}),e.addEventListener("objectChange",()=>{var i,o;if(_.implementsInterface(e.object,"isMovable")){if((o=(i=e.object).onMove)==null||o.call(i),this._scaleLinked&&e.object){const a=e.object.scale,l=(a.x+a.y+a.z)/3;e.object.scale.set(l,l,l)}switch(this.dispatchEvent({type:"object-change",object:e.object}),e.mode){case"translate":this.dispatchEvent({type:"object-position-change",object:e.object});break;case"rotate":this.dispatchEvent({type:"object-rotation-change",object:e.object});break;case"scale":this.dispatchEvent({type:"object-scale-change",object:e.object});break}}}),e.addEventListener("mouseUp",()=>{var i,o;this._controller.enabled=!0,_.implementsInterface(e.object,"isMovable")&&((o=(i=e.object).onMoveEnd)==null||o.call(i))}),e}}const C=.001;class D{constructor(t){r(this,"name","drag");r(this,"priority",10);r(this,"_controller");r(this,"_raycaster");r(this,"_dragging",!1);r(this,"_draggable",null);r(this,"_dragStart",new c.Vector3);r(this,"_dragCurrent",new c.Vector3);r(this,"_dragEnd",new c.Vector3);r(this,"_dragDelta",new c.Vector3);r(this,"_dragRaycastTargets",null);this._controller=t,this._raycaster=new c.Raycaster}get isDragging(){return this._dragging}get draggable(){return this._draggable}onActivate(){this.resetDragState()}onDeactivate(){this._dragging&&this._draggable&&this.endDrag(),this.resetDragState()}onPointerDown(t){var e;t.pointerPrimaryDown&&(this._draggable=_.findInterface((e=t.intersects[0])==null?void 0:e.object,"isDraggable")||null)}onPointerMove(t){if(t.pointerPrimaryDown&&this._draggable&&(this._raycaster.setFromCamera(t.pointer,this._controller.object),this._dragging||t.lastPointerDown.distanceTo(t.pointer)>C&&this.startDrag(t),this._dragging))return this.updateDrag(t),!0}onPointerUp(t){this._dragging&&(this._raycaster.setFromCamera(t.pointer,this._controller.object),this.endDrag()),this._draggable=null}setDragRaycastTargets(t){this._dragRaycastTargets=t}startDrag(t){var s,i;const e=this.getDragIntersect(t);e&&(this._dragStart.copy(e.point),this._dragCurrent.copy(e.point),this._dragEnd.copy(e.point),this._dragDelta.set(0,0,0),(i=(s=this._draggable)==null?void 0:s.onDragStart)==null||i.call(s,this.createDragEvent()),this._dragging=!0,this._controller.enabled=!1)}updateDrag(t){var s,i;const e=this.getDragIntersect(t);e&&(this._dragCurrent.copy(e.point),this._dragEnd.copy(e.point),this._dragDelta.subVectors(this._dragCurrent,this._dragStart),(i=(s=this._draggable)==null?void 0:s.onDrag)==null||i.call(s,this.createDragEvent()))}endDrag(){var e,s;const t=this.createDragEvent();(s=(e=this._draggable)==null?void 0:e.onDragEnd)==null||s.call(e,t),this._dragging=!1,this._controller.enabled=!0,this.resetDragState()}getDragIntersect(t){return this._dragRaycastTargets?this._raycaster.intersectObjects(this._dragRaycastTargets,!0)[0]||null:t.intersects[0]||null}createDragEvent(){return{dragStart:this._dragStart.clone(),dragCurrent:this._dragCurrent.clone(),dragEnd:this._dragEnd.clone(),dragDelta:this._dragDelta.clone()}}resetDragState(){this._dragStart.set(0,0,0),this._dragCurrent.set(0,0,0),this._dragEnd.set(0,0,0),this._dragDelta.set(0,0,0)}}const E=.001;class M{constructor(t,e){r(this,"_scene");r(this,"_controller");r(this,"_canvas");r(this,"_tools");r(this,"_activeTools",new Map);r(this,"_sortedActiveTools",[]);r(this,"_selectionState");r(this,"_raycaster");r(this,"_pointer");r(this,"_productLayerMask");r(this,"_uiLayerMask");r(this,"_pointerPrimaryDown",!1);r(this,"_pointerMiddleDown",!1);r(this,"_pointerSecondaryDown",!1);r(this,"_lastPointerDown");r(this,"_boundPointerMove");r(this,"_boundPointerDown");r(this,"_boundPointerUp");r(this,"_boundWheel");this._scene=t,this._controller=e,this._canvas=e.domElement,this._selectionState=new m,this._raycaster=new c.Raycaster,this._pointer=new c.Vector2,this._lastPointerDown=new c.Vector2,this._productLayerMask=new c.Layers,this._productLayerMask.set(Math.log2(h.PRODUCT_LAYER_MASK)),this._uiLayerMask=new c.Layers,this._uiLayerMask.set(Math.log2(h.UI_LAYER_MASK)),this._tools=new Map([["hover",new b],["select",new g(this._selectionState)],["transform",new u(t,e,this._selectionState)],["drag",new D(e)]]),this._boundPointerMove=this.onPointerMove.bind(this),this._boundPointerDown=this.onPointerDown.bind(this),this._boundPointerUp=this.onPointerUp.bind(this),this._boundWheel=this.onWheel.bind(this),this._canvas.addEventListener("pointermove",this._boundPointerMove),this._canvas.addEventListener("pointerdown",this._boundPointerDown),this._canvas.addEventListener("pointerup",this._boundPointerUp),this._canvas.addEventListener("wheel",this._boundWheel)}get selectionState(){return this._selectionState}enableTool(t){var s;const e=this._tools.get(t);e&&(this._activeTools.has(t)||(this._activeTools.set(t,e),this.updateSortedTools(),(s=e.onActivate)==null||s.call(e)))}disableTool(t){var s;const e=this._activeTools.get(t);e&&((s=e.onDeactivate)==null||s.call(e),this._activeTools.delete(t),this.updateSortedTools())}isToolEnabled(t){return this._activeTools.has(t)}getTool(t){return this._tools.get(t)}getActiveTools(){return[...this._sortedActiveTools]}dispose(){var t;for(const e of this._activeTools.values())(t=e.onDeactivate)==null||t.call(e);this._activeTools.clear(),this._tools.clear(),this._sortedActiveTools=[],this._canvas.removeEventListener("pointermove",this._boundPointerMove),this._canvas.removeEventListener("pointerdown",this._boundPointerDown),this._canvas.removeEventListener("pointerup",this._boundPointerUp),this._canvas.removeEventListener("wheel",this._boundWheel),this._selectionState.dispose()}onPointerMove(t){var s;this.updatePointer(t);const e=this.createPointerContext(t);for(const i of this._sortedActiveTools)if((s=i.onPointerMove)==null?void 0:s.call(i,e))break}onPointerDown(t){var s;this.updatePointerState(t,!0),this.updatePointer(t),this._lastPointerDown.copy(this._pointer);const e=this.createPointerContext(t);for(const i of this._sortedActiveTools)if((s=i.onPointerDown)==null?void 0:s.call(i,e))break}onPointerUp(t){var i,o;this.updatePointer(t);const e=this.createPointerContext(t),s=!this.pointerWasDragged();for(const a of this._sortedActiveTools)if((i=a.onPointerUp)==null?void 0:i.call(a,e))break;if(s){for(const a of this._sortedActiveTools)if((o=a.onClick)==null?void 0:o.call(a,e))break}this.updatePointerState(t,!1)}onWheel(t){var s;const e=this.createWheelContext(t);for(const i of this._sortedActiveTools)if((s=i.onWheel)==null?void 0:s.call(i,e))break}createPointerContext(t){const e=this.raycast();return{event:t,pointer:this._pointer.clone(),intersects:e,modelIntersects:this.filterIntersectsByLayer(e,h.PRODUCT_LAYER_MASK),uiIntersects:this.filterIntersectsByLayer(e,h.UI_LAYER_MASK),pointerPrimaryDown:this._pointerPrimaryDown,pointerMiddleDown:this._pointerMiddleDown,pointerSecondaryDown:this._pointerSecondaryDown,lastPointerDown:this._lastPointerDown.clone()}}createWheelContext(t){const e=this.raycast();return{event:t,pointer:this._pointer.clone(),intersects:e,modelIntersects:this.filterIntersectsByLayer(e,h.PRODUCT_LAYER_MASK),uiIntersects:this.filterIntersectsByLayer(e,h.UI_LAYER_MASK)}}updatePointer(t){this._pointer.x=t.offsetX/this._canvas.clientWidth*2-1,this._pointer.y=-(t.offsetY/this._canvas.clientHeight)*2+1,this._raycaster.setFromCamera(this._pointer,this._controller.object)}updatePointerState(t,e){switch(t.button){case 0:this._pointerPrimaryDown=e;break;case 1:this._pointerMiddleDown=e;break;case 2:this._pointerSecondaryDown=e;break}}raycast(){this._raycaster.layers.mask=h.PRODUCT_LAYER_MASK|h.UI_LAYER_MASK;const t=this._scene.children.filter(e=>e.visible&&"isMesh"in e&&e.isMesh);return this._raycaster.intersectObjects(t,!0)}filterIntersectsByLayer(t,e){return t.filter(s=>(s.object.layers.mask&e)!==0)}updateSortedTools(){this._sortedActiveTools=[...this._activeTools.values()].sort((t,e)=>t.priority-e.priority)}pointerWasDragged(){return this._lastPointerDown.distanceTo(this._pointer)>E}}exports.DIVESelectTool=g;exports.DIVETransformTool=u;exports.DragTool=D;exports.HoverTool=b;exports.SelectTool=g;exports.SelectionState=m;exports.Toolbox=M;exports.TransformTool=u;exports.isSelectTool=P;exports.isTransformTool=w;
@@ -2,8 +2,8 @@ var S = Object.defineProperty;
2
2
  var w = (n, t, e) => t in n ? S(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e;
3
3
  var o = (n, t, e) => w(n, typeof t != "symbol" ? t + "" : t, e);
4
4
  import { EventDispatcher as T, Vector3 as l, Raycaster as P, Vector2 as f, Layers as m } from "three/webgpu";
5
- import "../../chunks/FileTypes-CKBwaHmv.mjs";
6
- import { P as _, U as d } from "../../chunks/PerspectiveCamera-35cBnxwG.mjs";
5
+ import "../../chunks/FileTypes-DdMaOWay.mjs";
6
+ import { P as _, U as d } from "../../chunks/PerspectiveCamera-B5TvUzTa.mjs";
7
7
  import "three/examples/jsm/loaders/HDRLoader.js";
8
8
  import "three/tsl";
9
9
  import { f as g, i as h } from "../../chunks/findInterface-DbJ5qzbc.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shopware-ag/dive",
3
- "version": "3.0.4-beta.8",
3
+ "version": "3.0.4",
4
4
  "description": "Shopware Spatial Framework",
5
5
  "type": "module",
6
6
  "main": "build/dive.cjs",
@@ -110,7 +110,7 @@
110
110
  "three": "^0.183.0",
111
111
  "@tweenjs/tween.js": "^25.0.0",
112
112
  "three-spritetext": "^1.8.2",
113
- "lodash": "^4.17.21",
113
+ "lodash": "^4.18.1",
114
114
  "occt-import-js": "^0.0.23"
115
115
  },
116
116
  "devDependencies": {
@@ -146,6 +146,10 @@
146
146
  "vite-tsconfig-paths": "^5.1.4",
147
147
  "vitest": "^3.1.2"
148
148
  },
149
+ "resolutions": {
150
+ "lodash": "4.18.1",
151
+ "vite-plugin-dts/@microsoft/api-extractor/minimatch": "3.1.5"
152
+ },
149
153
  "scripts": {
150
154
  "build": "vite build",
151
155
  "build:dev": "vite build --config vite.config.dev.ts",
@@ -1,194 +0,0 @@
1
- var _ = Object.defineProperty;
2
- var f = (i, e, r) => e in i ? _(i, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : i[e] = r;
3
- var o = (i, e, r) => f(i, typeof e != "symbol" ? e + "" : e, r);
4
- import "./FileTypes-CKBwaHmv.mjs";
5
- import "three/webgpu";
6
- import "three/examples/jsm/loaders/HDRLoader.js";
7
- import "three/tsl";
8
- import { N as p, F as g } from "./network-error-BONfHWQq.mjs";
9
- class y {
10
- constructor(e) {
11
- o(this, "_promise");
12
- o(this, "_resolve");
13
- o(this, "_arrayBuffer", null);
14
- // metadata
15
- o(this, "_size", 0);
16
- o(this, "_createdAt");
17
- o(this, "_updatedAt");
18
- this._uri = e, this._promise = new Promise((r) => {
19
- this._resolve = r;
20
- }), this._createdAt = /* @__PURE__ */ new Date(), this._updatedAt = /* @__PURE__ */ new Date();
21
- }
22
- get promise() {
23
- return this._promise;
24
- }
25
- get size() {
26
- return this._size;
27
- }
28
- get createdAt() {
29
- return this._createdAt;
30
- }
31
- get updatedAt() {
32
- return this._updatedAt;
33
- }
34
- get arrayBuffer() {
35
- return this._arrayBuffer;
36
- }
37
- _getHeader(e, r) {
38
- var t, a;
39
- return ((a = (t = e.headers) == null ? void 0 : t.get) == null ? void 0 : a.call(t, r)) ?? null;
40
- }
41
- _concatChunks(e, r) {
42
- const t = new Uint8Array(r);
43
- let a = 0;
44
- for (const s of e)
45
- t.set(s, a), a += s.byteLength;
46
- return t.buffer;
47
- }
48
- async _readBodyWithReader(e, r) {
49
- const t = e.body.getReader(), a = [];
50
- let s = 0, n = 0;
51
- this._logLoad("reader-start", {
52
- uri: this._uri,
53
- elapsedMs: Math.round(performance.now() - r)
54
- });
55
- try {
56
- for (; ; ) {
57
- const c = await t.read();
58
- if (c.done) {
59
- this._logLoad("reader-done", {
60
- uri: this._uri,
61
- chunkCount: n,
62
- totalByteLength: s,
63
- elapsedMs: Math.round(performance.now() - r)
64
- });
65
- break;
66
- }
67
- const h = c.value ?? new Uint8Array(0);
68
- a.push(h), s += h.byteLength, n += 1, this._logLoad("reader-chunk", {
69
- uri: this._uri,
70
- chunkCount: n,
71
- chunkByteLength: h.byteLength,
72
- totalByteLength: s,
73
- elapsedMs: Math.round(performance.now() - r)
74
- });
75
- }
76
- } finally {
77
- t.releaseLock();
78
- }
79
- const l = this._concatChunks(a, s);
80
- return this._logLoad("reader-complete", {
81
- uri: this._uri,
82
- chunkCount: n,
83
- totalByteLength: s,
84
- elapsedMs: Math.round(performance.now() - r)
85
- }), l;
86
- }
87
- _logLoad(e, r = {}) {
88
- console.info("[Chunk.load]", e, r);
89
- }
90
- _logLoadError(e, r, t = {}) {
91
- console.error("[Chunk.load]", e, {
92
- ...t,
93
- error: r instanceof Error ? r.message : String(r)
94
- });
95
- }
96
- async load() {
97
- var t;
98
- const e = performance.now();
99
- let r;
100
- this._logLoad("fetch-start", {
101
- uri: this._uri
102
- });
103
- try {
104
- r = await fetch(this._uri);
105
- } catch (a) {
106
- throw this._logLoadError("fetch-failed", a, {
107
- uri: this._uri,
108
- elapsedMs: Math.round(performance.now() - e)
109
- }), a;
110
- }
111
- if (this._logLoad("fetch-resolved", {
112
- uri: this._uri,
113
- ok: r.ok,
114
- status: r.status,
115
- contentLength: this._getHeader(r, "content-length"),
116
- contentType: this._getHeader(r, "content-type"),
117
- elapsedMs: Math.round(performance.now() - e)
118
- }), !r.ok)
119
- throw this._logLoad("fetch-not-ok", {
120
- uri: this._uri,
121
- status: r.status,
122
- elapsedMs: Math.round(performance.now() - e)
123
- }), new p(this._uri);
124
- try {
125
- this._logLoad("array-buffer-start", {
126
- uri: this._uri,
127
- elapsedMs: Math.round(performance.now() - e)
128
- }), (t = r.body) != null && t.getReader ? this._arrayBuffer = await this._readBodyWithReader(r, e) : (this._logLoad("array-buffer-fallback-start", {
129
- uri: this._uri,
130
- elapsedMs: Math.round(performance.now() - e)
131
- }), this._arrayBuffer = await r.arrayBuffer(), this._logLoad("array-buffer-fallback-resolved", {
132
- uri: this._uri,
133
- byteLength: this._arrayBuffer.byteLength,
134
- elapsedMs: Math.round(performance.now() - e)
135
- })), this._logLoad("array-buffer-resolved", {
136
- uri: this._uri,
137
- byteLength: this._arrayBuffer.byteLength,
138
- elapsedMs: Math.round(performance.now() - e)
139
- }), this._size += this._arrayBuffer.byteLength, this._updatedAt = /* @__PURE__ */ new Date(), this._logLoad("metadata-updated", {
140
- uri: this._uri,
141
- size: this._size,
142
- updatedAt: this._updatedAt.toISOString(),
143
- elapsedMs: Math.round(performance.now() - e)
144
- });
145
- } catch (a) {
146
- throw this._logLoadError("array-buffer-failed", a, {
147
- uri: this._uri,
148
- elapsedMs: Math.round(performance.now() - e)
149
- }), new g(this._uri);
150
- }
151
- return this._logLoad("resolve-start", {
152
- uri: this._uri,
153
- byteLength: this._arrayBuffer.byteLength,
154
- elapsedMs: Math.round(performance.now() - e)
155
- }), this._resolve(this._arrayBuffer), this._logLoad("resolve-complete", {
156
- uri: this._uri,
157
- byteLength: this._arrayBuffer.byteLength,
158
- elapsedMs: Math.round(performance.now() - e)
159
- }), this._arrayBuffer;
160
- }
161
- }
162
- class w {
163
- constructor() {
164
- o(this, "_cache", /* @__PURE__ */ new Map());
165
- }
166
- get() {
167
- return this._cache;
168
- }
169
- create(e) {
170
- const r = new y(e);
171
- return this._cache.set(e, r), r;
172
- }
173
- write(e, r) {
174
- this._cache.set(e, r);
175
- }
176
- read(e) {
177
- return this._cache.get(e) ?? null;
178
- }
179
- delete(...e) {
180
- e.forEach((r) => {
181
- this._cache.delete(r);
182
- });
183
- }
184
- clear() {
185
- this._cache.clear();
186
- }
187
- }
188
- const u = Symbol.for("@shopware-ag/dive/assetcache"), d = globalThis;
189
- d[u] || (d[u] = new w());
190
- const A = d[u];
191
- export {
192
- A,
193
- y as C
194
- };
@@ -1 +0,0 @@
1
- "use strict";var g=Object.defineProperty;var p=(i,e,r)=>e in i?g(i,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[e]=r;var o=(i,e,r)=>p(i,typeof e!="symbol"?e+"":e,r);require("./FileTypes-DhQ7B0P2.cjs");require("three/webgpu");require("three/examples/jsm/loaders/HDRLoader.js");require("three/tsl");const l=require("./network-error-CdDXil5g.cjs");class _{constructor(e){o(this,"_promise");o(this,"_resolve");o(this,"_arrayBuffer",null);o(this,"_size",0);o(this,"_createdAt");o(this,"_updatedAt");this._uri=e,this._promise=new Promise(r=>{this._resolve=r}),this._createdAt=new Date,this._updatedAt=new Date}get promise(){return this._promise}get size(){return this._size}get createdAt(){return this._createdAt}get updatedAt(){return this._updatedAt}get arrayBuffer(){return this._arrayBuffer}_getHeader(e,r){var t,a;return((a=(t=e.headers)==null?void 0:t.get)==null?void 0:a.call(t,r))??null}_concatChunks(e,r){const t=new Uint8Array(r);let a=0;for(const s of e)t.set(s,a),a+=s.byteLength;return t.buffer}async _readBodyWithReader(e,r){const t=e.body.getReader(),a=[];let s=0,n=0;this._logLoad("reader-start",{uri:this._uri,elapsedMs:Math.round(performance.now()-r)});try{for(;;){const c=await t.read();if(c.done){this._logLoad("reader-done",{uri:this._uri,chunkCount:n,totalByteLength:s,elapsedMs:Math.round(performance.now()-r)});break}const h=c.value??new Uint8Array(0);a.push(h),s+=h.byteLength,n+=1,this._logLoad("reader-chunk",{uri:this._uri,chunkCount:n,chunkByteLength:h.byteLength,totalByteLength:s,elapsedMs:Math.round(performance.now()-r)})}}finally{t.releaseLock()}const f=this._concatChunks(a,s);return this._logLoad("reader-complete",{uri:this._uri,chunkCount:n,totalByteLength:s,elapsedMs:Math.round(performance.now()-r)}),f}_logLoad(e,r={}){console.info("[Chunk.load]",e,r)}_logLoadError(e,r,t={}){console.error("[Chunk.load]",e,{...t,error:r instanceof Error?r.message:String(r)})}async load(){var t;const e=performance.now();let r;this._logLoad("fetch-start",{uri:this._uri});try{r=await fetch(this._uri)}catch(a){throw this._logLoadError("fetch-failed",a,{uri:this._uri,elapsedMs:Math.round(performance.now()-e)}),a}if(this._logLoad("fetch-resolved",{uri:this._uri,ok:r.ok,status:r.status,contentLength:this._getHeader(r,"content-length"),contentType:this._getHeader(r,"content-type"),elapsedMs:Math.round(performance.now()-e)}),!r.ok)throw this._logLoad("fetch-not-ok",{uri:this._uri,status:r.status,elapsedMs:Math.round(performance.now()-e)}),new l.NetworkError(this._uri);try{this._logLoad("array-buffer-start",{uri:this._uri,elapsedMs:Math.round(performance.now()-e)}),(t=r.body)!=null&&t.getReader?this._arrayBuffer=await this._readBodyWithReader(r,e):(this._logLoad("array-buffer-fallback-start",{uri:this._uri,elapsedMs:Math.round(performance.now()-e)}),this._arrayBuffer=await r.arrayBuffer(),this._logLoad("array-buffer-fallback-resolved",{uri:this._uri,byteLength:this._arrayBuffer.byteLength,elapsedMs:Math.round(performance.now()-e)})),this._logLoad("array-buffer-resolved",{uri:this._uri,byteLength:this._arrayBuffer.byteLength,elapsedMs:Math.round(performance.now()-e)}),this._size+=this._arrayBuffer.byteLength,this._updatedAt=new Date,this._logLoad("metadata-updated",{uri:this._uri,size:this._size,updatedAt:this._updatedAt.toISOString(),elapsedMs:Math.round(performance.now()-e)})}catch(a){throw this._logLoadError("array-buffer-failed",a,{uri:this._uri,elapsedMs:Math.round(performance.now()-e)}),new l.FileContentError(this._uri)}return this._logLoad("resolve-start",{uri:this._uri,byteLength:this._arrayBuffer.byteLength,elapsedMs:Math.round(performance.now()-e)}),this._resolve(this._arrayBuffer),this._logLoad("resolve-complete",{uri:this._uri,byteLength:this._arrayBuffer.byteLength,elapsedMs:Math.round(performance.now()-e)}),this._arrayBuffer}}class y{constructor(){o(this,"_cache",new Map)}get(){return this._cache}create(e){const r=new _(e);return this._cache.set(e,r),r}write(e,r){this._cache.set(e,r)}read(e){return this._cache.get(e)??null}delete(...e){e.forEach(r=>{this._cache.delete(r)})}clear(){this._cache.clear()}}const u=Symbol.for("@shopware-ag/dive/assetcache"),d=globalThis;d[u]||(d[u]=new y);const w=d[u];exports.AssetCache=w;exports.Chunk=_;