@shopware-ag/dive 4.0.2 → 4.1.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 (66) hide show
  1. package/build/chunks/{AssetCache-DadU3pjv.mjs → AssetCache-BukUxOQj.mjs} +1 -1
  2. package/build/chunks/{AssetCache-GSqD2GKD.cjs → AssetCache-qEEswhJh.cjs} +1 -1
  3. package/build/chunks/{AssetExporter-CoL-QXkB.cjs → AssetExporter-42qgIOkb.cjs} +1 -1
  4. package/build/chunks/{AssetExporter-CD2iuQce.mjs → AssetExporter-B92XZQEe.mjs} +1 -1
  5. package/build/chunks/AssetLoader-Bn4R6_rn.cjs +3 -0
  6. package/build/chunks/{AssetLoader-Dwnjh3GI.mjs → AssetLoader-DvbdFdyg.mjs} +61 -62
  7. package/build/chunks/{FileTypes-CUga4xrG.mjs → FileTypes-C8BdyVai.mjs} +795 -492
  8. package/build/chunks/FileTypes-DTCnNV95.cjs +29 -0
  9. package/build/chunks/GridNode-BJ35_54X.cjs +1 -0
  10. package/build/chunks/GridNode-CRviKlfb.mjs +58 -0
  11. package/build/chunks/{ModelComponent-DuBAn1uS.cjs → ModelComponent-CHIXv2a6.cjs} +1 -1
  12. package/build/chunks/{ModelComponent-Cpy9q21L.mjs → ModelComponent-DEUhl62p.mjs} +2 -2
  13. package/build/chunks/{OrbitController-CK4OclLu.cjs → OrbitController-Cq5Q1m82.cjs} +1 -1
  14. package/build/chunks/{OrbitController-DFf6ANcN.mjs → OrbitController-DgAc7NaY.mjs} +1 -1
  15. package/build/chunks/{SpriteTextComponent-Bho3ynCj.cjs → SpriteTextComponent-IYbrESut.cjs} +1 -1
  16. package/build/chunks/{SpriteTextComponent-DrBnD0_-.mjs → SpriteTextComponent-JwWMzAKh.mjs} +1 -1
  17. package/build/chunks/{contributesToBounds-DYmHYES4.mjs → contributesToBounds-DK3AK1Lq.mjs} +4 -3
  18. package/build/chunks/{contributesToBounds-C1mva__U.cjs → contributesToBounds-Dmh3K2n5.cjs} +1 -1
  19. package/build/chunks/{detachTransformControls-DFTq45Xl.cjs → detachTransformControls-C6Zej6b_.cjs} +1 -1
  20. package/build/chunks/{detachTransformControls-D6VK3L3-.mjs → detachTransformControls-DRCqBDEX.mjs} +2 -2
  21. package/build/chunks/draco_decoder-C69s_Ovp.cjs +34 -0
  22. package/build/chunks/draco_decoder-C9dq_cZY.mjs +37 -0
  23. package/build/chunks/draco_decoder-CPiEz08P.cjs +1 -0
  24. package/build/chunks/draco_decoder-kYeZ1HbP.mjs +4 -0
  25. package/build/chunks/draco_wasm_wrapper-DXbP0W2R.cjs +117 -0
  26. package/build/chunks/draco_wasm_wrapper-FC39lTlO.mjs +120 -0
  27. package/build/chunks/{isFileExtensionSupported-CCEhBoz9.cjs → isFileExtensionSupported-CY90yqQo.cjs} +1 -1
  28. package/build/chunks/{isFileExtensionSupported-vz_2VJPi.mjs → isFileExtensionSupported-DRnGwWT2.mjs} +1 -1
  29. package/build/components/camera/CameraComponent.d.ts +2 -1
  30. package/build/components/index.d.ts +1 -0
  31. package/build/components/softshadow/SoftShadowComponent.d.ts +197 -0
  32. package/build/components/softshadow/index.d.ts +1 -0
  33. package/build/constants/VisibilityLayerMask.d.ts +12 -0
  34. package/build/dive.cjs +1 -1
  35. package/build/dive.mjs +63 -61
  36. package/build/engine/node/Node.d.ts +2 -0
  37. package/build/plugins/ar/index.cjs +1 -1
  38. package/build/plugins/ar/index.mjs +2 -2
  39. package/build/plugins/assetcache/index.cjs +1 -1
  40. package/build/plugins/assetcache/index.mjs +1 -1
  41. package/build/plugins/assetexporter/index.cjs +1 -1
  42. package/build/plugins/assetexporter/index.mjs +1 -1
  43. package/build/plugins/assetloader/index.cjs +1 -1
  44. package/build/plugins/assetloader/index.mjs +2 -2
  45. package/build/plugins/assetloader/src/draco/DracoLoader.d.ts +0 -1
  46. package/build/plugins/mediacreator/index.cjs +1 -1
  47. package/build/plugins/mediacreator/index.mjs +1 -1
  48. package/build/plugins/orbitcontroller/index.cjs +1 -1
  49. package/build/plugins/orbitcontroller/index.mjs +1 -1
  50. package/build/plugins/orientationdisplay/index.cjs +1 -1
  51. package/build/plugins/orientationdisplay/index.mjs +3 -3
  52. package/build/plugins/quickview/index.cjs +1 -1
  53. package/build/plugins/quickview/index.mjs +3 -3
  54. package/build/plugins/shader/index.cjs +1 -1
  55. package/build/plugins/shader/index.mjs +3 -2
  56. package/build/plugins/shader/src/index.d.ts +1 -0
  57. package/build/plugins/shader/src/shaders/BlurNode.d.ts +43 -0
  58. package/build/plugins/state/index.cjs +1 -1
  59. package/build/plugins/state/index.mjs +3 -3
  60. package/build/plugins/toolbox/index.cjs +1 -1
  61. package/build/plugins/toolbox/index.mjs +2 -2
  62. package/package.json +2 -2
  63. package/build/chunks/AssetLoader-BOBXNUHe.cjs +0 -3
  64. package/build/chunks/FileTypes-Cm1k0dUE.cjs +0 -29
  65. package/build/chunks/GridNode-CK4PiwHT.cjs +0 -1
  66. package/build/chunks/GridNode-KgFpPNWa.mjs +0 -30
@@ -1 +1 @@
1
- "use strict";var m=Object.defineProperty;var u=(r,s,t)=>s in r?m(r,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[s]=t;var a=(r,s,t)=>u(r,typeof s!="symbol"?s+"":s,t);const l=require("./contributesToBounds-C1mva__U.cjs"),d=require("./FileTypes-Cm1k0dUE.cjs");class _ extends d.MeshComponent{constructor(){super();a(this,"isModelComponent",!0);a(this,"animations",[]);a(this,"_url",null);a(this,"_assetLoader",null);this.name="ModelComponent"}async _getAssetLoader(){return this._assetLoader||(this._assetLoader=new(await Promise.resolve().then(()=>require("../plugins/assetloader/index.cjs"))).AssetLoader),this._assetLoader}async setFromURL(t){const o=await(await this._getAssetLoader()).load(t);return this.setFromGLTF(o),this._url=t,this.dispatchEvent({type:"object-load"}),this}setFromGLTF(t){const i=[...this.contributions];this.withdraw(...i),i.forEach(e=>e.traverse(h=>{var n;(n=h.geometry)==null||n.dispose()})),this._mesh=null;const o=this.isAttached?this.owner.layers.mask:l.PRODUCT_LAYER_MASK;return t.traverse(e=>{e.castShadow=!0,e.receiveShadow=!0,e.layers.mask=o,!this._mesh&&"isMesh"in e&&(this._mesh=e,this._materialIsOwn?e.material=this._material:Array.isArray(e.material)||(this._material=e.material))}),this.animations=t.animations,this.contribute(...t.children),this}get url(){return this._url}copy(t){return super.copy(t),this._url=t.url,this.animations=t.animations,this}}exports.ModelComponent=_;
1
+ "use strict";var m=Object.defineProperty;var u=(r,s,t)=>s in r?m(r,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[s]=t;var a=(r,s,t)=>u(r,typeof s!="symbol"?s+"":s,t);const l=require("./contributesToBounds-Dmh3K2n5.cjs"),d=require("./FileTypes-DTCnNV95.cjs");class _ extends d.MeshComponent{constructor(){super();a(this,"isModelComponent",!0);a(this,"animations",[]);a(this,"_url",null);a(this,"_assetLoader",null);this.name="ModelComponent"}async _getAssetLoader(){return this._assetLoader||(this._assetLoader=new(await Promise.resolve().then(()=>require("../plugins/assetloader/index.cjs"))).AssetLoader),this._assetLoader}async setFromURL(t){const o=await(await this._getAssetLoader()).load(t);return this.setFromGLTF(o),this._url=t,this.dispatchEvent({type:"object-load"}),this}setFromGLTF(t){const i=[...this.contributions];this.withdraw(...i),i.forEach(e=>e.traverse(h=>{var n;(n=h.geometry)==null||n.dispose()})),this._mesh=null;const o=this.isAttached?this.owner.layers.mask:l.PRODUCT_LAYER_MASK;return t.traverse(e=>{e.castShadow=!0,e.receiveShadow=!0,e.layers.mask=o,!this._mesh&&"isMesh"in e&&(this._mesh=e,this._materialIsOwn?e.material=this._material:Array.isArray(e.material)||(this._material=e.material))}),this.animations=t.animations,this.contribute(...t.children),this}get url(){return this._url}copy(t){return super.copy(t),this._url=t.url,this.animations=t.animations,this}}exports.ModelComponent=_;
@@ -1,8 +1,8 @@
1
1
  var m = Object.defineProperty;
2
2
  var l = (a, e, t) => e in a ? m(a, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : a[e] = t;
3
3
  var r = (a, e, t) => l(a, typeof e != "symbol" ? e + "" : e, t);
4
- import { P as u } from "./contributesToBounds-DYmHYES4.mjs";
5
- import { M as _ } from "./FileTypes-CUga4xrG.mjs";
4
+ import { P as u } from "./contributesToBounds-DK3AK1Lq.mjs";
5
+ import { M as _ } from "./FileTypes-C8BdyVai.mjs";
6
6
  class c extends _ {
7
7
  constructor() {
8
8
  super();
@@ -1 +1 @@
1
- "use strict";var D=Object.defineProperty;var E=(r,h,t)=>h in r?D(r,h,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[h]=t;var s=(r,h,t)=>E(r,typeof h!="symbol"?h+"":h,t);const i=require("three/webgpu"),S=require("./FileTypes-Cm1k0dUE.cjs");require("three/examples/jsm/loaders/HDRLoader.js");const w={enableDamping:!0,dampingFactor:.05,enabled:!0,target:new i.Vector3,minDistance:0,maxDistance:1/0,minZoom:0,maxZoom:1/0,minPolarAngle:0,maxPolarAngle:Math.PI,minAzimuthAngle:-1/0,maxAzimuthAngle:1/0,enableZoom:!0,zoomSpeed:1,enableRotate:!0,rotateSpeed:1,enablePan:!0,panSpeed:1,screenSpacePanning:!0,keyPanSpeed:7,autoRotate:!1,autoRotateSpeed:2,keys:{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},mouseButtons:{LEFT:i.MOUSE.ROTATE,MIDDLE:i.MOUSE.DOLLY,RIGHT:i.MOUSE.PAN},touches:{ONE:i.TOUCH.ROTATE,TWO:i.TOUCH.DOLLY_PAN}},c=class c extends i.EventDispatcher{constructor(t,e,a){super();s(this,"object");s(this,"domElements");s(this,"enabled",!0);s(this,"target",new i.Vector3);s(this,"minDistance",0);s(this,"maxDistance",1/0);s(this,"minZoom",0);s(this,"maxZoom",1/0);s(this,"minPolarAngle",0);s(this,"maxPolarAngle",Math.PI);s(this,"minAzimuthAngle",-1/0);s(this,"maxAzimuthAngle",1/0);s(this,"enableDamping",!0);s(this,"dampingFactor",.05);s(this,"enableZoom",!0);s(this,"zoomSpeed",1);s(this,"enableRotate",!0);s(this,"rotateSpeed",1);s(this,"enablePan",!0);s(this,"panSpeed",1);s(this,"screenSpacePanning",!0);s(this,"keyPanSpeed",7);s(this,"autoRotate",!1);s(this,"autoRotateSpeed",2);s(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"});s(this,"mouseButtons",{LEFT:i.MOUSE.ROTATE,MIDDLE:i.MOUSE.DOLLY,RIGHT:i.MOUSE.PAN});s(this,"touches",{ONE:i.TOUCH.ROTATE,TWO:i.TOUCH.DOLLY_PAN});s(this,"target0");s(this,"position0");s(this,"zoom0");s(this,"uuid",i.MathUtils.generateUUID());s(this,"state",-1);s(this,"EPS",1e-6);s(this,"spherical",new i.Spherical);s(this,"sphericalDelta",new i.Spherical);s(this,"scale",1);s(this,"panOffset",new i.Vector3);s(this,"zoomChanged",!1);s(this,"rotateStart",new i.Vector2);s(this,"rotateEnd",new i.Vector2);s(this,"rotateDelta",new i.Vector2);s(this,"panStart",new i.Vector2);s(this,"panEnd",new i.Vector2);s(this,"panDelta",new i.Vector2);s(this,"dollyStart",new i.Vector2);s(this,"dollyEnd",new i.Vector2);s(this,"dollyDelta",new i.Vector2);s(this,"pointers",[]);s(this,"pointerPositions",{});s(this,"offset",new i.Vector3);s(this,"quat");s(this,"quatInverse");s(this,"lastPosition",new i.Vector3);s(this,"lastQuaternion",new i.Quaternion);s(this,"lastTarget",new i.Vector3);s(this,"panLeft",(()=>{const t=new i.Vector3;return(e,a)=>{t.setFromMatrixColumn(a,0),t.multiplyScalar(-e),this.panOffset.add(t)}})());s(this,"panUp",(()=>{const t=new i.Vector3;return(e,a)=>{this.screenSpacePanning===!0?t.setFromMatrixColumn(a,1):(t.setFromMatrixColumn(a,0),t.crossVectors(this.object.camera.up,t)),t.multiplyScalar(e),this.panOffset.add(t)}})());s(this,"onMouseDown",t=>{let e;switch(t.button){case 0:e=this.mouseButtons.LEFT;break;case 1:e=this.mouseButtons.MIDDLE;break;case 2:e=this.mouseButtons.RIGHT;break;default:e=-1}switch(e){case i.MOUSE.DOLLY:if(this.enableZoom===!1)return;this.handleMouseDownDolly(t),this.state=1;break;case i.MOUSE.ROTATE:if(t.ctrlKey||t.metaKey||t.shiftKey){if(this.enablePan===!1)return;this.handleMouseDownPan(t),this.state=2}else{if(this.enableRotate===!1)return;this.handleMouseDownRotate(t),this.state=0}break;case i.MOUSE.PAN:if(t.ctrlKey||t.metaKey||t.shiftKey){if(this.enableRotate===!1)return;this.handleMouseDownRotate(t),this.state=0}else{if(this.enablePan===!1)return;this.handleMouseDownPan(t),this.state=2}break;default:this.state=-1}this.state!==-1&&this.dispatchEvent({type:"start"})});s(this,"onMouseMove",t=>{if(this.enabled!==!1)switch(this.state){case 0:if(this.enableRotate===!1)return;this.handleMouseMoveRotate(t);break;case 1:if(this.enableZoom===!1)return;this.handleMouseMoveDolly(t);break;case 2:if(this.enablePan===!1)return;this.handleMouseMovePan(t);break}});s(this,"onMouseWheel",t=>{this.enabled===!1||this.enableZoom===!1||this.state!==-1||(t.preventDefault(),this.dispatchEvent({type:"start"}),this.handleMouseWheel(t),this.dispatchEvent({type:"end"}))});s(this,"onKeyDown",t=>{this.enabled===!1||this.enablePan===!1||this.handleKeyDown(t)});s(this,"onTouchStart",t=>{switch(this.trackPointer(t),this.pointers.length){case 1:switch(this.touches.ONE){case i.TOUCH.ROTATE:if(this.enableRotate===!1)return;this.handleTouchStartRotate(t),this.state=3;break;case i.TOUCH.PAN:if(this.enablePan===!1)return;this.handleTouchStartPan(t),this.state=4;break;default:this.state=-1}break;case 2:switch(this.touches.TWO){case i.TOUCH.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this.handleTouchStartDollyPan(t),this.state=5;break;case i.TOUCH.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this.handleTouchStartDollyRotate(t),this.state=6;break;default:this.state=-1}break;default:this.state=-1}this.state!==-1&&this.dispatchEvent({type:"start"})});s(this,"onTouchMove",t=>{switch(this.trackPointer(t),this.state){case 3:if(this.enableRotate===!1)return;this.handleTouchMoveRotate(t),this.update();break;case 4:if(this.enablePan===!1)return;this.handleTouchMovePan(t),this.update();break;case 5:if(this.enableZoom===!1&&this.enablePan===!1)return;this.handleTouchMoveDollyPan(t),this.update();break;case 6:if(this.enableZoom===!1&&this.enableRotate===!1)return;this.handleTouchMoveDollyRotate(t),this.update();break;default:this.state=-1}});s(this,"onPointerDown",t=>{if(this.enabled!==!1){if(this.pointers.length===0){const e=t.currentTarget;e.setPointerCapture(t.pointerId),e.addEventListener("pointermove",this.onPointerMove),e.addEventListener("pointerup",this.onPointerUp)}this.isTrackingPointer(t)||(this.addPointer(t),t.pointerType==="touch"?this.onTouchStart(t):this.onMouseDown(t))}});s(this,"onPointerMove",t=>{this.enabled!==!1&&(t.pointerType==="touch"?this.onTouchMove(t):this.onMouseMove(t))});s(this,"onPointerUp",t=>{if(this.removePointer(t),this.pointers.length===0){const e=t.currentTarget;e.releasePointerCapture(t.pointerId),e.removeEventListener("pointermove",this.onPointerMove),e.removeEventListener("pointerup",this.onPointerUp),this.dispatchEvent({type:"end"}),this.state=-1}});s(this,"onPointerCancel",t=>{this.removePointer(t)});s(this,"onContextMenu",t=>{this.enabled!==!1&&t.preventDefault()});if(this.object=t,!t.isAttached)throw new Error("OrbitController: the camera component must be attached to a node, because that is what gets moved.");this.domElements=Array.isArray(e)?e:[e],Object.assign(this,a),this.target0=this.target.clone(),this.position0=this.object.owner.position.clone(),this.zoom0=this._camera.zoom,this.quat=new i.Quaternion().setFromUnitVectors(this.object.camera.up,new i.Vector3(0,1,0)),this.quatInverse=this.quat.clone().invert(),this.domElements.forEach(o=>this.addEventListeners(o)),this.update()}get _camera(){return this.object.camera}get domElement(){return this.domElements[0]}tick(){this.enabled&&this.update()}getPolarAngle(){return this.spherical.phi}getAzimuthalAngle(){return this.spherical.theta}getDistance(){return this.object.owner.position.distanceTo(this.target)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.owner.position),this.zoom0=this._camera.zoom}reset(){this.target.copy(this.target0),this.object.owner.position.copy(this.position0),this._camera.zoom=this.zoom0,this._camera.updateProjectionMatrix(),this.dispatchEvent({type:"change"}),this.update(),this.state=-1}update(){return this.offset.copy(this.object.owner.position).sub(this.target),this.offset.applyQuaternion(this.quat),this.spherical.setFromVector3(this.offset),this.autoRotate&&this.state===-1&&this.rotateLeft(this.getAutoRotationAngle()),this.enableDamping?(this.spherical.theta+=this.sphericalDelta.theta*this.dampingFactor,this.spherical.phi+=this.sphericalDelta.phi*this.dampingFactor):(this.spherical.theta+=this.sphericalDelta.theta,this.spherical.phi+=this.sphericalDelta.phi),this.spherical.theta=Math.max(this.minAzimuthAngle,Math.min(this.maxAzimuthAngle,this.spherical.theta)),this.spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this.spherical.phi)),this.spherical.makeSafe(),this.spherical.radius*=this.scale,this.spherical.radius=Math.max(this.minDistance,Math.min(this.maxDistance,this.spherical.radius)),this.enableDamping===!0?this.target.addScaledVector(this.panOffset,this.dampingFactor):this.target.add(this.panOffset),this.offset.setFromSpherical(this.spherical),this.offset.applyQuaternion(this.quatInverse),this.object.owner.position.copy(this.target).add(this.offset),this.object.lookAt(this.target),this.enableDamping===!0?(this.sphericalDelta.theta*=1-this.dampingFactor,this.sphericalDelta.phi*=1-this.dampingFactor,this.panOffset.multiplyScalar(1-this.dampingFactor)):(this.sphericalDelta.set(0,0,0),this.panOffset.set(0,0,0)),this.scale=1,this.zoomChanged||this.lastPosition.distanceToSquared(this.object.owner.position)>this.EPS||8*(1-this.lastQuaternion.dot(this.object.owner.quaternion))>this.EPS||this.lastTarget.distanceToSquared(this.target)>this.EPS?(this.dispatchEvent({type:"change"}),this.lastPosition.copy(this.object.owner.position),this.lastQuaternion.copy(this.object.owner.quaternion),this.lastTarget.copy(this.target),this.zoomChanged=!1,!0):!1}dispose(){this.domElements.forEach(t=>this.removeEventListeners(t)),this.dispatchEvent({type:"dispose"})}addDomElements(...t){t.forEach(e=>{this.domElements.includes(e)||(this.domElements.push(e),this.addEventListeners(e))})}removeDomElements(...t){t.forEach(e=>{const a=this.domElements.indexOf(e);a>-1&&(this.removeEventListeners(e),this.domElements.splice(a,1))})}setDomElements(...t){this.removeDomElements(...this.domElements),this.domElements=[],this.addDomElements(...t)}computeEncompassingView(t,e=0){const a=t.center,o=t.radius,n=this._camera,l=n.fov*(Math.PI/180),m=n.aspect,d=l/2,f=Math.atan(Math.tan(d)*m),g=o/Math.sin(d),y=o/Math.sin(f),b=Math.max(g,y)*(1+e),u=this.object.owner.position.clone().sub(this.target).normalize(),P=u.length()>.001?u:new i.Vector3(0,0,1);return{position:a.clone().add(P.multiplyScalar(b)),target:a}}focusObject(t,e=0){const a=this.computeEncompassingView(new S.BoundingBox().enclose(t).sphere,e);this.object.owner.position.copy(a.position),this.target.copy(a.target),this.update()}zoomIn(t){this.dollyIn(Math.pow(.95,t??c.DEFAULT_ZOOM_FACTOR)),this.update()}zoomOut(t){this.dollyOut(Math.pow(.95,t??c.DEFAULT_ZOOM_FACTOR)),this.update()}getState(){return{target:this.target.clone(),azimuthalAngle:this.getAzimuthalAngle(),polarAngle:this.getPolarAngle(),distance:this.getDistance(),position:this.object.owner.position.clone(),quaternion:this.object.owner.quaternion.clone()}}setState(t){this.target.copy(t.target),this.object.owner.position.copy(t.position),this.object.owner.quaternion.copy(t.quaternion),this.update()}addEventListeners(t){t.style.touchAction="none",t.addEventListener("contextmenu",this.onContextMenu),t.addEventListener("pointerdown",this.onPointerDown),t.addEventListener("pointercancel",this.onPointerCancel),t.addEventListener("wheel",this.onMouseWheel,{passive:!1}),t.addEventListener("keydown",this.onKeyDown)}removeEventListeners(t){t.removeEventListener("contextmenu",this.onContextMenu),t.removeEventListener("pointerdown",this.onPointerDown),t.removeEventListener("pointercancel",this.onPointerCancel),t.removeEventListener("wheel",this.onMouseWheel),t.removeEventListener("keydown",this.onKeyDown),t.removeEventListener("pointermove",this.onPointerMove),t.removeEventListener("pointerup",this.onPointerUp)}getAutoRotationAngle(){return 2*Math.PI/60/60*this.autoRotateSpeed}getZoomScale(){return Math.pow(.95,this.zoomSpeed)}rotateLeft(t){this.sphericalDelta.theta-=t}rotateUp(t){this.sphericalDelta.phi-=t}pan(t,e,a){const o=new i.Vector3;if("isPerspectiveCamera"in this._camera){const n=this.object.owner.position;o.copy(n).sub(this.target);let l=o.length();l*=Math.tan(this._camera.fov/2*Math.PI/180),this.panLeft(2*t*l/a.clientHeight,this.object.owner.matrix),this.panUp(2*e*l/a.clientHeight,this.object.owner.matrix)}else"isOrthographicCamera"in this._camera?(this.panLeft(t*(this._camera.right-this._camera.left)/this._camera.zoom/a.clientWidth,this.object.owner.matrix),this.panUp(e*(this._camera.top-this._camera.bottom)/this._camera.zoom/a.clientHeight,this.object.owner.matrix)):(console.warn("WARNING: OrbitController encountered an unknown camera type - pan disabled."),this.enablePan=!1)}dollyIn(t){"isPerspectiveCamera"in this._camera||"isOrthographicCamera"in this._camera?this.scale*=t:(console.warn("WARNING: OrbitController encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}dollyOut(t){"isPerspectiveCamera"in this._camera||"isOrthographicCamera"in this._camera?this.scale/=t:(console.warn("WARNING: OrbitController encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}handleMouseDownRotate(t){this.rotateStart.set(t.clientX,t.clientY)}handleMouseDownDolly(t){this.dollyStart.set(t.clientX,t.clientY)}handleMouseDownPan(t){this.panStart.set(t.clientX,t.clientY)}handleMouseMoveRotate(t){this.rotateEnd.set(t.clientX,t.clientY),this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart).multiplyScalar(this.rotateSpeed);const e=t.currentTarget;this.rotateLeft(2*Math.PI*this.rotateDelta.x/e.clientHeight),this.rotateUp(2*Math.PI*this.rotateDelta.y/e.clientHeight),this.rotateStart.copy(this.rotateEnd),this.update()}handleMouseMoveDolly(t){this.dollyEnd.set(t.clientX,t.clientY),this.dollyDelta.subVectors(this.dollyEnd,this.dollyStart),this.dollyDelta.y>0?this.dollyIn(this.getZoomScale()):this.dollyDelta.y<0&&this.dollyOut(this.getZoomScale()),this.dollyStart.copy(this.dollyEnd),this.update()}handleMouseMovePan(t){const e=t.currentTarget;this.panEnd.set(t.clientX,t.clientY),this.panDelta.subVectors(this.panEnd,this.panStart).multiplyScalar(this.panSpeed),this.pan(this.panDelta.x,this.panDelta.y,e),this.panStart.copy(this.panEnd),this.update()}handleMouseWheel(t){t.deltaY<0?this.dollyIn(this.getZoomScale()):t.deltaY>0&&this.dollyOut(this.getZoomScale()),this.update()}handleKeyDown(t){let e=!1;const a=t.currentTarget;switch(t.code){case this.keys.UP:this.pan(0,this.keyPanSpeed,a),e=!0;break;case this.keys.BOTTOM:this.pan(0,-this.keyPanSpeed,a),e=!0;break;case this.keys.LEFT:this.pan(this.keyPanSpeed,0,a),e=!0;break;case this.keys.RIGHT:this.pan(-this.keyPanSpeed,0,a),e=!0;break}e&&(t.preventDefault(),this.update())}handleTouchStartRotate(t){if(this.pointers.length===1)this.rotateStart.set(t.pageX,t.pageY);else{const e=this.getSecondPointer(t),a=.5*(t.pageX+e.pageX),o=.5*(t.pageY+e.pageY);this.rotateStart.set(a,o)}}handleTouchStartPan(t){if(this.pointers.length===1)this.panStart.set(t.pageX,t.pageY);else{const e=this.getSecondPointer(t),a=.5*(t.pageX+e.pageX),o=.5*(t.pageY+e.pageY);this.panStart.set(a,o)}}handleTouchStartDolly(t){const e=this.getSecondPointer(t),a=t.pageX-e.pageX,o=t.pageY-e.pageY,n=Math.sqrt(a*a+o*o);this.dollyStart.set(0,n)}handleTouchStartDollyPan(t){this.enableZoom&&this.handleTouchStartDolly(t),this.enablePan&&this.handleTouchStartPan(t)}handleTouchStartDollyRotate(t){this.enableZoom&&this.handleTouchStartDolly(t),this.enableRotate&&this.handleTouchStartRotate(t)}handleTouchMoveRotate(t){if(this.pointers.length===1)this.rotateEnd.set(t.pageX,t.pageY);else{const a=this.getSecondPointer(t),o=.5*(t.pageX+a.pageX),n=.5*(t.pageY+a.pageY);this.rotateEnd.set(o,n)}const e=t.currentTarget;this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart).multiplyScalar(this.rotateSpeed),this.rotateLeft(2*Math.PI*this.rotateDelta.x/e.clientHeight),this.rotateUp(2*Math.PI*this.rotateDelta.y/e.clientHeight),this.rotateStart.copy(this.rotateEnd)}handleTouchMovePan(t){if(this.pointers.length===1)this.panEnd.set(t.pageX,t.pageY);else{const a=this.getSecondPointer(t),o=.5*(t.pageX+a.pageX),n=.5*(t.pageY+a.pageY);this.panEnd.set(o,n)}const e=t.currentTarget;this.panDelta.subVectors(this.panEnd,this.panStart).multiplyScalar(this.panSpeed),this.pan(this.panDelta.x,this.panDelta.y,e),this.panStart.copy(this.panEnd)}handleTouchMoveDolly(t){const e=this.getSecondPointer(t),a=t.pageX-e.pageX,o=t.pageY-e.pageY,n=Math.sqrt(a*a+o*o);this.dollyEnd.set(0,n),this.dollyDelta.set(0,Math.pow(this.dollyEnd.y/this.dollyStart.y,this.zoomSpeed)),this.dollyOut(this.dollyDelta.y),this.dollyStart.copy(this.dollyEnd)}handleTouchMoveDollyPan(t){this.enableZoom&&this.handleTouchMoveDolly(t),this.enablePan&&this.handleTouchMovePan(t)}handleTouchMoveDollyRotate(t){this.enableZoom&&this.handleTouchMoveDolly(t),this.enableRotate&&this.handleTouchMoveRotate(t)}addPointer(t){this.pointers.push(t)}removePointer(t){delete this.pointerPositions[t.pointerId];for(let e=0;e<this.pointers.length;e++)if(this.pointers[e].pointerId==t.pointerId){this.pointers.splice(e,1);return}}trackPointer(t){let e=this.pointerPositions[t.pointerId];e===void 0&&(e=new i.Vector2,this.pointerPositions[t.pointerId]=e),e.set(t.pageX,t.pageY)}getSecondPointer(t){return this.pointers[0].pointerId===t.pointerId?this.pointers[1]:this.pointers[0]}isTrackingPointer(t){return this.pointers.some(e=>e.pointerId===t.pointerId)}};s(c,"DEFAULT_ZOOM_FACTOR",1);let p=c;exports.OrbitController=p;exports.OrbitControllerDefaultSettings=w;
1
+ "use strict";var D=Object.defineProperty;var E=(r,h,t)=>h in r?D(r,h,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[h]=t;var s=(r,h,t)=>E(r,typeof h!="symbol"?h+"":h,t);const i=require("three/webgpu"),S=require("./FileTypes-DTCnNV95.cjs");require("three/examples/jsm/loaders/HDRLoader.js");const w={enableDamping:!0,dampingFactor:.05,enabled:!0,target:new i.Vector3,minDistance:0,maxDistance:1/0,minZoom:0,maxZoom:1/0,minPolarAngle:0,maxPolarAngle:Math.PI,minAzimuthAngle:-1/0,maxAzimuthAngle:1/0,enableZoom:!0,zoomSpeed:1,enableRotate:!0,rotateSpeed:1,enablePan:!0,panSpeed:1,screenSpacePanning:!0,keyPanSpeed:7,autoRotate:!1,autoRotateSpeed:2,keys:{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},mouseButtons:{LEFT:i.MOUSE.ROTATE,MIDDLE:i.MOUSE.DOLLY,RIGHT:i.MOUSE.PAN},touches:{ONE:i.TOUCH.ROTATE,TWO:i.TOUCH.DOLLY_PAN}},c=class c extends i.EventDispatcher{constructor(t,e,a){super();s(this,"object");s(this,"domElements");s(this,"enabled",!0);s(this,"target",new i.Vector3);s(this,"minDistance",0);s(this,"maxDistance",1/0);s(this,"minZoom",0);s(this,"maxZoom",1/0);s(this,"minPolarAngle",0);s(this,"maxPolarAngle",Math.PI);s(this,"minAzimuthAngle",-1/0);s(this,"maxAzimuthAngle",1/0);s(this,"enableDamping",!0);s(this,"dampingFactor",.05);s(this,"enableZoom",!0);s(this,"zoomSpeed",1);s(this,"enableRotate",!0);s(this,"rotateSpeed",1);s(this,"enablePan",!0);s(this,"panSpeed",1);s(this,"screenSpacePanning",!0);s(this,"keyPanSpeed",7);s(this,"autoRotate",!1);s(this,"autoRotateSpeed",2);s(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"});s(this,"mouseButtons",{LEFT:i.MOUSE.ROTATE,MIDDLE:i.MOUSE.DOLLY,RIGHT:i.MOUSE.PAN});s(this,"touches",{ONE:i.TOUCH.ROTATE,TWO:i.TOUCH.DOLLY_PAN});s(this,"target0");s(this,"position0");s(this,"zoom0");s(this,"uuid",i.MathUtils.generateUUID());s(this,"state",-1);s(this,"EPS",1e-6);s(this,"spherical",new i.Spherical);s(this,"sphericalDelta",new i.Spherical);s(this,"scale",1);s(this,"panOffset",new i.Vector3);s(this,"zoomChanged",!1);s(this,"rotateStart",new i.Vector2);s(this,"rotateEnd",new i.Vector2);s(this,"rotateDelta",new i.Vector2);s(this,"panStart",new i.Vector2);s(this,"panEnd",new i.Vector2);s(this,"panDelta",new i.Vector2);s(this,"dollyStart",new i.Vector2);s(this,"dollyEnd",new i.Vector2);s(this,"dollyDelta",new i.Vector2);s(this,"pointers",[]);s(this,"pointerPositions",{});s(this,"offset",new i.Vector3);s(this,"quat");s(this,"quatInverse");s(this,"lastPosition",new i.Vector3);s(this,"lastQuaternion",new i.Quaternion);s(this,"lastTarget",new i.Vector3);s(this,"panLeft",(()=>{const t=new i.Vector3;return(e,a)=>{t.setFromMatrixColumn(a,0),t.multiplyScalar(-e),this.panOffset.add(t)}})());s(this,"panUp",(()=>{const t=new i.Vector3;return(e,a)=>{this.screenSpacePanning===!0?t.setFromMatrixColumn(a,1):(t.setFromMatrixColumn(a,0),t.crossVectors(this.object.camera.up,t)),t.multiplyScalar(e),this.panOffset.add(t)}})());s(this,"onMouseDown",t=>{let e;switch(t.button){case 0:e=this.mouseButtons.LEFT;break;case 1:e=this.mouseButtons.MIDDLE;break;case 2:e=this.mouseButtons.RIGHT;break;default:e=-1}switch(e){case i.MOUSE.DOLLY:if(this.enableZoom===!1)return;this.handleMouseDownDolly(t),this.state=1;break;case i.MOUSE.ROTATE:if(t.ctrlKey||t.metaKey||t.shiftKey){if(this.enablePan===!1)return;this.handleMouseDownPan(t),this.state=2}else{if(this.enableRotate===!1)return;this.handleMouseDownRotate(t),this.state=0}break;case i.MOUSE.PAN:if(t.ctrlKey||t.metaKey||t.shiftKey){if(this.enableRotate===!1)return;this.handleMouseDownRotate(t),this.state=0}else{if(this.enablePan===!1)return;this.handleMouseDownPan(t),this.state=2}break;default:this.state=-1}this.state!==-1&&this.dispatchEvent({type:"start"})});s(this,"onMouseMove",t=>{if(this.enabled!==!1)switch(this.state){case 0:if(this.enableRotate===!1)return;this.handleMouseMoveRotate(t);break;case 1:if(this.enableZoom===!1)return;this.handleMouseMoveDolly(t);break;case 2:if(this.enablePan===!1)return;this.handleMouseMovePan(t);break}});s(this,"onMouseWheel",t=>{this.enabled===!1||this.enableZoom===!1||this.state!==-1||(t.preventDefault(),this.dispatchEvent({type:"start"}),this.handleMouseWheel(t),this.dispatchEvent({type:"end"}))});s(this,"onKeyDown",t=>{this.enabled===!1||this.enablePan===!1||this.handleKeyDown(t)});s(this,"onTouchStart",t=>{switch(this.trackPointer(t),this.pointers.length){case 1:switch(this.touches.ONE){case i.TOUCH.ROTATE:if(this.enableRotate===!1)return;this.handleTouchStartRotate(t),this.state=3;break;case i.TOUCH.PAN:if(this.enablePan===!1)return;this.handleTouchStartPan(t),this.state=4;break;default:this.state=-1}break;case 2:switch(this.touches.TWO){case i.TOUCH.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this.handleTouchStartDollyPan(t),this.state=5;break;case i.TOUCH.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this.handleTouchStartDollyRotate(t),this.state=6;break;default:this.state=-1}break;default:this.state=-1}this.state!==-1&&this.dispatchEvent({type:"start"})});s(this,"onTouchMove",t=>{switch(this.trackPointer(t),this.state){case 3:if(this.enableRotate===!1)return;this.handleTouchMoveRotate(t),this.update();break;case 4:if(this.enablePan===!1)return;this.handleTouchMovePan(t),this.update();break;case 5:if(this.enableZoom===!1&&this.enablePan===!1)return;this.handleTouchMoveDollyPan(t),this.update();break;case 6:if(this.enableZoom===!1&&this.enableRotate===!1)return;this.handleTouchMoveDollyRotate(t),this.update();break;default:this.state=-1}});s(this,"onPointerDown",t=>{if(this.enabled!==!1){if(this.pointers.length===0){const e=t.currentTarget;e.setPointerCapture(t.pointerId),e.addEventListener("pointermove",this.onPointerMove),e.addEventListener("pointerup",this.onPointerUp)}this.isTrackingPointer(t)||(this.addPointer(t),t.pointerType==="touch"?this.onTouchStart(t):this.onMouseDown(t))}});s(this,"onPointerMove",t=>{this.enabled!==!1&&(t.pointerType==="touch"?this.onTouchMove(t):this.onMouseMove(t))});s(this,"onPointerUp",t=>{if(this.removePointer(t),this.pointers.length===0){const e=t.currentTarget;e.releasePointerCapture(t.pointerId),e.removeEventListener("pointermove",this.onPointerMove),e.removeEventListener("pointerup",this.onPointerUp),this.dispatchEvent({type:"end"}),this.state=-1}});s(this,"onPointerCancel",t=>{this.removePointer(t)});s(this,"onContextMenu",t=>{this.enabled!==!1&&t.preventDefault()});if(this.object=t,!t.isAttached)throw new Error("OrbitController: the camera component must be attached to a node, because that is what gets moved.");this.domElements=Array.isArray(e)?e:[e],Object.assign(this,a),this.target0=this.target.clone(),this.position0=this.object.owner.position.clone(),this.zoom0=this._camera.zoom,this.quat=new i.Quaternion().setFromUnitVectors(this.object.camera.up,new i.Vector3(0,1,0)),this.quatInverse=this.quat.clone().invert(),this.domElements.forEach(o=>this.addEventListeners(o)),this.update()}get _camera(){return this.object.camera}get domElement(){return this.domElements[0]}tick(){this.enabled&&this.update()}getPolarAngle(){return this.spherical.phi}getAzimuthalAngle(){return this.spherical.theta}getDistance(){return this.object.owner.position.distanceTo(this.target)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.owner.position),this.zoom0=this._camera.zoom}reset(){this.target.copy(this.target0),this.object.owner.position.copy(this.position0),this._camera.zoom=this.zoom0,this._camera.updateProjectionMatrix(),this.dispatchEvent({type:"change"}),this.update(),this.state=-1}update(){return this.offset.copy(this.object.owner.position).sub(this.target),this.offset.applyQuaternion(this.quat),this.spherical.setFromVector3(this.offset),this.autoRotate&&this.state===-1&&this.rotateLeft(this.getAutoRotationAngle()),this.enableDamping?(this.spherical.theta+=this.sphericalDelta.theta*this.dampingFactor,this.spherical.phi+=this.sphericalDelta.phi*this.dampingFactor):(this.spherical.theta+=this.sphericalDelta.theta,this.spherical.phi+=this.sphericalDelta.phi),this.spherical.theta=Math.max(this.minAzimuthAngle,Math.min(this.maxAzimuthAngle,this.spherical.theta)),this.spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this.spherical.phi)),this.spherical.makeSafe(),this.spherical.radius*=this.scale,this.spherical.radius=Math.max(this.minDistance,Math.min(this.maxDistance,this.spherical.radius)),this.enableDamping===!0?this.target.addScaledVector(this.panOffset,this.dampingFactor):this.target.add(this.panOffset),this.offset.setFromSpherical(this.spherical),this.offset.applyQuaternion(this.quatInverse),this.object.owner.position.copy(this.target).add(this.offset),this.object.lookAt(this.target),this.enableDamping===!0?(this.sphericalDelta.theta*=1-this.dampingFactor,this.sphericalDelta.phi*=1-this.dampingFactor,this.panOffset.multiplyScalar(1-this.dampingFactor)):(this.sphericalDelta.set(0,0,0),this.panOffset.set(0,0,0)),this.scale=1,this.zoomChanged||this.lastPosition.distanceToSquared(this.object.owner.position)>this.EPS||8*(1-this.lastQuaternion.dot(this.object.owner.quaternion))>this.EPS||this.lastTarget.distanceToSquared(this.target)>this.EPS?(this.dispatchEvent({type:"change"}),this.lastPosition.copy(this.object.owner.position),this.lastQuaternion.copy(this.object.owner.quaternion),this.lastTarget.copy(this.target),this.zoomChanged=!1,!0):!1}dispose(){this.domElements.forEach(t=>this.removeEventListeners(t)),this.dispatchEvent({type:"dispose"})}addDomElements(...t){t.forEach(e=>{this.domElements.includes(e)||(this.domElements.push(e),this.addEventListeners(e))})}removeDomElements(...t){t.forEach(e=>{const a=this.domElements.indexOf(e);a>-1&&(this.removeEventListeners(e),this.domElements.splice(a,1))})}setDomElements(...t){this.removeDomElements(...this.domElements),this.domElements=[],this.addDomElements(...t)}computeEncompassingView(t,e=0){const a=t.center,o=t.radius,n=this._camera,l=n.fov*(Math.PI/180),m=n.aspect,d=l/2,f=Math.atan(Math.tan(d)*m),g=o/Math.sin(d),y=o/Math.sin(f),b=Math.max(g,y)*(1+e),u=this.object.owner.position.clone().sub(this.target).normalize(),P=u.length()>.001?u:new i.Vector3(0,0,1);return{position:a.clone().add(P.multiplyScalar(b)),target:a}}focusObject(t,e=0){const a=this.computeEncompassingView(new S.BoundingBox().enclose(t).sphere,e);this.object.owner.position.copy(a.position),this.target.copy(a.target),this.update()}zoomIn(t){this.dollyIn(Math.pow(.95,t??c.DEFAULT_ZOOM_FACTOR)),this.update()}zoomOut(t){this.dollyOut(Math.pow(.95,t??c.DEFAULT_ZOOM_FACTOR)),this.update()}getState(){return{target:this.target.clone(),azimuthalAngle:this.getAzimuthalAngle(),polarAngle:this.getPolarAngle(),distance:this.getDistance(),position:this.object.owner.position.clone(),quaternion:this.object.owner.quaternion.clone()}}setState(t){this.target.copy(t.target),this.object.owner.position.copy(t.position),this.object.owner.quaternion.copy(t.quaternion),this.update()}addEventListeners(t){t.style.touchAction="none",t.addEventListener("contextmenu",this.onContextMenu),t.addEventListener("pointerdown",this.onPointerDown),t.addEventListener("pointercancel",this.onPointerCancel),t.addEventListener("wheel",this.onMouseWheel,{passive:!1}),t.addEventListener("keydown",this.onKeyDown)}removeEventListeners(t){t.removeEventListener("contextmenu",this.onContextMenu),t.removeEventListener("pointerdown",this.onPointerDown),t.removeEventListener("pointercancel",this.onPointerCancel),t.removeEventListener("wheel",this.onMouseWheel),t.removeEventListener("keydown",this.onKeyDown),t.removeEventListener("pointermove",this.onPointerMove),t.removeEventListener("pointerup",this.onPointerUp)}getAutoRotationAngle(){return 2*Math.PI/60/60*this.autoRotateSpeed}getZoomScale(){return Math.pow(.95,this.zoomSpeed)}rotateLeft(t){this.sphericalDelta.theta-=t}rotateUp(t){this.sphericalDelta.phi-=t}pan(t,e,a){const o=new i.Vector3;if("isPerspectiveCamera"in this._camera){const n=this.object.owner.position;o.copy(n).sub(this.target);let l=o.length();l*=Math.tan(this._camera.fov/2*Math.PI/180),this.panLeft(2*t*l/a.clientHeight,this.object.owner.matrix),this.panUp(2*e*l/a.clientHeight,this.object.owner.matrix)}else"isOrthographicCamera"in this._camera?(this.panLeft(t*(this._camera.right-this._camera.left)/this._camera.zoom/a.clientWidth,this.object.owner.matrix),this.panUp(e*(this._camera.top-this._camera.bottom)/this._camera.zoom/a.clientHeight,this.object.owner.matrix)):(console.warn("WARNING: OrbitController encountered an unknown camera type - pan disabled."),this.enablePan=!1)}dollyIn(t){"isPerspectiveCamera"in this._camera||"isOrthographicCamera"in this._camera?this.scale*=t:(console.warn("WARNING: OrbitController encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}dollyOut(t){"isPerspectiveCamera"in this._camera||"isOrthographicCamera"in this._camera?this.scale/=t:(console.warn("WARNING: OrbitController encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}handleMouseDownRotate(t){this.rotateStart.set(t.clientX,t.clientY)}handleMouseDownDolly(t){this.dollyStart.set(t.clientX,t.clientY)}handleMouseDownPan(t){this.panStart.set(t.clientX,t.clientY)}handleMouseMoveRotate(t){this.rotateEnd.set(t.clientX,t.clientY),this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart).multiplyScalar(this.rotateSpeed);const e=t.currentTarget;this.rotateLeft(2*Math.PI*this.rotateDelta.x/e.clientHeight),this.rotateUp(2*Math.PI*this.rotateDelta.y/e.clientHeight),this.rotateStart.copy(this.rotateEnd),this.update()}handleMouseMoveDolly(t){this.dollyEnd.set(t.clientX,t.clientY),this.dollyDelta.subVectors(this.dollyEnd,this.dollyStart),this.dollyDelta.y>0?this.dollyIn(this.getZoomScale()):this.dollyDelta.y<0&&this.dollyOut(this.getZoomScale()),this.dollyStart.copy(this.dollyEnd),this.update()}handleMouseMovePan(t){const e=t.currentTarget;this.panEnd.set(t.clientX,t.clientY),this.panDelta.subVectors(this.panEnd,this.panStart).multiplyScalar(this.panSpeed),this.pan(this.panDelta.x,this.panDelta.y,e),this.panStart.copy(this.panEnd),this.update()}handleMouseWheel(t){t.deltaY<0?this.dollyIn(this.getZoomScale()):t.deltaY>0&&this.dollyOut(this.getZoomScale()),this.update()}handleKeyDown(t){let e=!1;const a=t.currentTarget;switch(t.code){case this.keys.UP:this.pan(0,this.keyPanSpeed,a),e=!0;break;case this.keys.BOTTOM:this.pan(0,-this.keyPanSpeed,a),e=!0;break;case this.keys.LEFT:this.pan(this.keyPanSpeed,0,a),e=!0;break;case this.keys.RIGHT:this.pan(-this.keyPanSpeed,0,a),e=!0;break}e&&(t.preventDefault(),this.update())}handleTouchStartRotate(t){if(this.pointers.length===1)this.rotateStart.set(t.pageX,t.pageY);else{const e=this.getSecondPointer(t),a=.5*(t.pageX+e.pageX),o=.5*(t.pageY+e.pageY);this.rotateStart.set(a,o)}}handleTouchStartPan(t){if(this.pointers.length===1)this.panStart.set(t.pageX,t.pageY);else{const e=this.getSecondPointer(t),a=.5*(t.pageX+e.pageX),o=.5*(t.pageY+e.pageY);this.panStart.set(a,o)}}handleTouchStartDolly(t){const e=this.getSecondPointer(t),a=t.pageX-e.pageX,o=t.pageY-e.pageY,n=Math.sqrt(a*a+o*o);this.dollyStart.set(0,n)}handleTouchStartDollyPan(t){this.enableZoom&&this.handleTouchStartDolly(t),this.enablePan&&this.handleTouchStartPan(t)}handleTouchStartDollyRotate(t){this.enableZoom&&this.handleTouchStartDolly(t),this.enableRotate&&this.handleTouchStartRotate(t)}handleTouchMoveRotate(t){if(this.pointers.length===1)this.rotateEnd.set(t.pageX,t.pageY);else{const a=this.getSecondPointer(t),o=.5*(t.pageX+a.pageX),n=.5*(t.pageY+a.pageY);this.rotateEnd.set(o,n)}const e=t.currentTarget;this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart).multiplyScalar(this.rotateSpeed),this.rotateLeft(2*Math.PI*this.rotateDelta.x/e.clientHeight),this.rotateUp(2*Math.PI*this.rotateDelta.y/e.clientHeight),this.rotateStart.copy(this.rotateEnd)}handleTouchMovePan(t){if(this.pointers.length===1)this.panEnd.set(t.pageX,t.pageY);else{const a=this.getSecondPointer(t),o=.5*(t.pageX+a.pageX),n=.5*(t.pageY+a.pageY);this.panEnd.set(o,n)}const e=t.currentTarget;this.panDelta.subVectors(this.panEnd,this.panStart).multiplyScalar(this.panSpeed),this.pan(this.panDelta.x,this.panDelta.y,e),this.panStart.copy(this.panEnd)}handleTouchMoveDolly(t){const e=this.getSecondPointer(t),a=t.pageX-e.pageX,o=t.pageY-e.pageY,n=Math.sqrt(a*a+o*o);this.dollyEnd.set(0,n),this.dollyDelta.set(0,Math.pow(this.dollyEnd.y/this.dollyStart.y,this.zoomSpeed)),this.dollyOut(this.dollyDelta.y),this.dollyStart.copy(this.dollyEnd)}handleTouchMoveDollyPan(t){this.enableZoom&&this.handleTouchMoveDolly(t),this.enablePan&&this.handleTouchMovePan(t)}handleTouchMoveDollyRotate(t){this.enableZoom&&this.handleTouchMoveDolly(t),this.enableRotate&&this.handleTouchMoveRotate(t)}addPointer(t){this.pointers.push(t)}removePointer(t){delete this.pointerPositions[t.pointerId];for(let e=0;e<this.pointers.length;e++)if(this.pointers[e].pointerId==t.pointerId){this.pointers.splice(e,1);return}}trackPointer(t){let e=this.pointerPositions[t.pointerId];e===void 0&&(e=new i.Vector2,this.pointerPositions[t.pointerId]=e),e.set(t.pageX,t.pageY)}getSecondPointer(t){return this.pointers[0].pointerId===t.pointerId?this.pointers[1]:this.pointers[0]}isTrackingPointer(t){return this.pointers.some(e=>e.pointerId===t.pointerId)}};s(c,"DEFAULT_ZOOM_FACTOR",1);let p=c;exports.OrbitController=p;exports.OrbitControllerDefaultSettings=w;
@@ -2,7 +2,7 @@ var T = Object.defineProperty;
2
2
  var A = (p, l, t) => l in p ? T(p, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : p[l] = t;
3
3
  var s = (p, l, t) => A(p, typeof l != "symbol" ? l + "" : l, t);
4
4
  import { TOUCH as c, MOUSE as r, Vector3 as n, EventDispatcher as O, MathUtils as L, Spherical as g, Vector2 as h, Quaternion as y } from "three/webgpu";
5
- import { B as R } from "./FileTypes-CUga4xrG.mjs";
5
+ import { B as R } from "./FileTypes-C8BdyVai.mjs";
6
6
  import "three/examples/jsm/loaders/HDRLoader.js";
7
7
  const j = {
8
8
  enableDamping: !0,
@@ -1 +1 @@
1
- "use strict";var a=Object.defineProperty;var _=(i,e,t)=>e in i?a(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var s=(i,e,t)=>_(i,typeof e!="symbol"?e+"":e,t);const r=require("three/webgpu"),x=require("./FileTypes-Cm1k0dUE.cjs"),h=90,o=`normal ${h}px Arial`;class p extends x.DIVEComponent{constructor(){super();s(this,"isSpriteTextComponent",!0);s(this,"_text","");s(this,"_textHeight",1);s(this,"_color",new r.Color(16777215));s(this,"_canvas");s(this,"_texture");s(this,"_sprite");this.name="SpriteTextComponent",this._canvas=document.createElement("canvas"),this._texture=new r.CanvasTexture(this._canvas),this._texture.colorSpace=r.SRGBColorSpace,this._sprite=new r.Sprite(new r.SpriteMaterial({map:this._texture})),this._sprite.name="SpriteText",this.contribute(this._sprite),this._draw()}get sprite(){return this._sprite}get text(){return this._text}get textHeight(){return this._textHeight}get color(){return this._color}setText(t){return this._text=t,this._draw(),this}setTextHeight(t){return this._textHeight=t,this._draw(),this}setColor(t){return this._color.set(t),this._draw(),this}onAttach(t){this._sprite.layers.mask=t.layers.mask}copy(t){return super.copy(t),this._text=t.text,this._textHeight=t.textHeight,this._color.copy(t.color),this._draw(),this}dispose(){this._texture.dispose(),this._sprite.material.dispose()}_draw(){const t=this._canvas.getContext("2d");if(t===null)return;t.font=o;const n=Math.max(1,Math.ceil(t.measureText(this._text).width));this._canvas.width=n,this._canvas.height=h,t.font=o,t.fillStyle=`#${this._color.getHexString()}`,t.textBaseline="bottom",t.fillText(this._text,0,h),this._texture.needsUpdate=!0,this._sprite.scale.set(this._textHeight*n/h,this._textHeight,1)}}exports.SpriteTextComponent=p;
1
+ "use strict";var a=Object.defineProperty;var _=(i,e,t)=>e in i?a(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var s=(i,e,t)=>_(i,typeof e!="symbol"?e+"":e,t);const r=require("three/webgpu"),x=require("./FileTypes-DTCnNV95.cjs"),h=90,o=`normal ${h}px Arial`;class p extends x.DIVEComponent{constructor(){super();s(this,"isSpriteTextComponent",!0);s(this,"_text","");s(this,"_textHeight",1);s(this,"_color",new r.Color(16777215));s(this,"_canvas");s(this,"_texture");s(this,"_sprite");this.name="SpriteTextComponent",this._canvas=document.createElement("canvas"),this._texture=new r.CanvasTexture(this._canvas),this._texture.colorSpace=r.SRGBColorSpace,this._sprite=new r.Sprite(new r.SpriteMaterial({map:this._texture})),this._sprite.name="SpriteText",this.contribute(this._sprite),this._draw()}get sprite(){return this._sprite}get text(){return this._text}get textHeight(){return this._textHeight}get color(){return this._color}setText(t){return this._text=t,this._draw(),this}setTextHeight(t){return this._textHeight=t,this._draw(),this}setColor(t){return this._color.set(t),this._draw(),this}onAttach(t){this._sprite.layers.mask=t.layers.mask}copy(t){return super.copy(t),this._text=t.text,this._textHeight=t.textHeight,this._color.copy(t.color),this._draw(),this}dispose(){this._texture.dispose(),this._sprite.material.dispose()}_draw(){const t=this._canvas.getContext("2d");if(t===null)return;t.font=o;const n=Math.max(1,Math.ceil(t.measureText(this._text).width));this._canvas.width=n,this._canvas.height=h,t.font=o,t.fillStyle=`#${this._color.getHexString()}`,t.textBaseline="bottom",t.fillText(this._text,0,h),this._texture.needsUpdate=!0,this._sprite.scale.set(this._textHeight*n/h,this._textHeight,1)}}exports.SpriteTextComponent=p;
@@ -2,7 +2,7 @@ var a = Object.defineProperty;
2
2
  var n = (i, e, t) => e in i ? a(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t;
3
3
  var s = (i, e, t) => n(i, typeof e != "symbol" ? e + "" : e, t);
4
4
  import { Color as _, CanvasTexture as x, SRGBColorSpace as p, Sprite as c, SpriteMaterial as l } from "three/webgpu";
5
- import { a as u } from "./FileTypes-CUga4xrG.mjs";
5
+ import { a as u } from "./FileTypes-C8BdyVai.mjs";
6
6
  const r = 90, o = `normal ${r}px Arial`;
7
7
  class w extends u {
8
8
  constructor() {
@@ -1,5 +1,5 @@
1
- const A = 1, _ = 2, R = 4, n = 8, o = 16, t = 32, E = 64;
2
- function a(s) {
1
+ const A = 1, _ = 2, R = 4, n = 8, o = 16, t = 32, E = 64, a = 128;
2
+ function L(s) {
3
3
  return (s.layers.mask & 16) !== 0;
4
4
  }
5
5
  export {
@@ -8,7 +8,8 @@ export {
8
8
  t as F,
9
9
  n as H,
10
10
  o as P,
11
+ a as S,
11
12
  R as U,
12
13
  E as a,
13
- a as c
14
+ L as c
14
15
  };
@@ -1 +1 @@
1
- "use strict";function _(A){return(A.layers.mask&16)!==0}exports.COORDINATE_LAYER_MASK=2;exports.DEFAULT_LAYER_MASK=1;exports.FLOOR_LAYER_MASK=32;exports.HELPER_LAYER_MASK=8;exports.PRODUCT_LAYER_MASK=16;exports.PROXY_LAYER_MASK=64;exports.UI_LAYER_MASK=4;exports.contributesToBounds=_;
1
+ "use strict";function _(A){return(A.layers.mask&16)!==0}exports.COORDINATE_LAYER_MASK=2;exports.DEFAULT_LAYER_MASK=1;exports.FLOOR_LAYER_MASK=32;exports.HELPER_LAYER_MASK=8;exports.PRODUCT_LAYER_MASK=16;exports.PROXY_LAYER_MASK=64;exports.SHADOW_LAYER_MASK=128;exports.UI_LAYER_MASK=4;exports.contributesToBounds=_;
@@ -1 +1 @@
1
- "use strict";var d=Object.defineProperty;var u=(i,r,e)=>r in i?d(i,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[r]=e;var s=(i,r,e)=>u(i,typeof r!="symbol"?r+"":r,e);const n=require("three/webgpu"),h=require("./FileTypes-Cm1k0dUE.cjs"),m=require("./contributesToBounds-C1mva__U.cjs");class p extends h.DIVELightComponent{constructor(){super(new n.AmbientLight(16777215,1));s(this,"isAmbientLightComponent",!0);this.name="AmbientLightComponent"}}const _=.1,c=.8,l=512;class w extends h.DIVELightComponent{constructor(){super(new n.PointLight(16777215,1));s(this,"isPointLightComponent",!0);s(this,"_handle");s(this,"_handleMaterial");this.name="PointLightComponent";const e=this._light;e.castShadow=!0,e.shadow.mapSize.width=l,e.shadow.mapSize.height=l,this._handleMaterial=new n.MeshBasicMaterial({color:this._light.color,transparent:!0,opacity:c,side:n.FrontSide}),this._handle=new n.Mesh(new n.SphereGeometry(_,32,32),this._handleMaterial),this._handle.layers.mask=m.PROXY_LAYER_MASK,this.contribute(this._handle)}get handle(){return this._handle}setColor(e){super.setColor(e),this._handleMaterial.color=e}setIntensity(e){super.setIntensity(e),this._handleMaterial.opacity=Math.min(e*c,c)}dispose(){super.dispose(),this._handle.geometry.dispose(),this._handleMaterial.dispose()}}const C=64,G=32;class y extends h.MeshComponent{constructor(){super();s(this,"isPrimitiveComponent",!0);s(this,"_geometry",null);this.name="PrimitiveComponent",this._material=new n.MeshStandardMaterial,this._mesh=new n.Mesh(new n.BufferGeometry,this._material),this._mesh.name="PrimitiveMesh",this._mesh.layers.mask=m.PRODUCT_LAYER_MASK,this._mesh.castShadow=!0,this._mesh.receiveShadow=!0,this.contribute(this._mesh)}get geometry(){return this._geometry}setGeometry(e){const t=this._assembleGeometry(e);t&&(this._geometry=e,t.computeVertexNormals(),t.computeBoundingBox(),t.computeBoundingSphere(),this._mesh.geometry.dispose(),this._mesh.geometry=t)}copy(e){return super.copy(e),e.geometry&&this.setGeometry(e.geometry),this}_assembleGeometry(e){switch(this._material.flatShading=!1,e.name.toLowerCase()){case"cylinder":return this._createCylinderGeometry(e);case"sphere":return this._createSphereGeometry(e);case"pyramid":return this._material.flatShading=!0,this._createPyramidGeometry(e);case"cube":case"box":case"plane":return this._createBoxGeometry(e);case"cone":return this._createConeGeometry(e);case"wall":return this._createWallGeometry(e);default:return console.warn("PrimitiveComponent.setGeometry: Invalid geometry type:",e.name.toLowerCase()),null}}_createCylinderGeometry(e){const t=new n.CylinderGeometry(e.width/2,e.width/2,e.height,64);return t.translate(0,e.height/2,0),t}_createSphereGeometry(e){return new n.SphereGeometry(e.width/2,C,G)}_createPyramidGeometry(e){const t=new Float32Array([-e.width/2,0,-e.depth/2,e.width/2,0,-e.depth/2,e.width/2,0,e.depth/2,-e.width/2,0,e.depth/2,0,e.height,0]),o=new Uint16Array([0,1,2,0,2,3,0,4,1,1,4,2,2,4,3,3,4,0]),a=new n.BufferGeometry;return a.setAttribute("position",new n.BufferAttribute(t,3)),a.setIndex(new n.BufferAttribute(o,1)),a}_createBoxGeometry(e){const t=new n.BoxGeometry(e.width,e.height,e.depth);return t.translate(0,e.height/2,0),t}_createConeGeometry(e){const t=new n.ConeGeometry(e.width/2,e.height,256);return t.translate(0,e.height/2,0),t}_createWallGeometry(e){const t=new n.BoxGeometry(e.width,e.height,e.depth||.05,16);return t.translate(0,e.height/2,0),t}}const f=i=>{const r=h.findSceneRecursive(i);r&&r.children.find(e=>{const t=e;if(t.isTransformControlsRoot&&t.controls)return t.controls.detach(),!0;const o=e;return o.isTransformControls&&o.detach?(o.detach(),!0):!1})};exports.AmbientLightComponent=p;exports.PointLightComponent=w;exports.PrimitiveComponent=y;exports.detachTransformControls=f;
1
+ "use strict";var d=Object.defineProperty;var u=(i,r,e)=>r in i?d(i,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[r]=e;var s=(i,r,e)=>u(i,typeof r!="symbol"?r+"":r,e);const n=require("three/webgpu"),h=require("./FileTypes-DTCnNV95.cjs"),m=require("./contributesToBounds-Dmh3K2n5.cjs");class p extends h.DIVELightComponent{constructor(){super(new n.AmbientLight(16777215,1));s(this,"isAmbientLightComponent",!0);this.name="AmbientLightComponent"}}const _=.1,c=.8,l=512;class w extends h.DIVELightComponent{constructor(){super(new n.PointLight(16777215,1));s(this,"isPointLightComponent",!0);s(this,"_handle");s(this,"_handleMaterial");this.name="PointLightComponent";const e=this._light;e.castShadow=!0,e.shadow.mapSize.width=l,e.shadow.mapSize.height=l,this._handleMaterial=new n.MeshBasicMaterial({color:this._light.color,transparent:!0,opacity:c,side:n.FrontSide}),this._handle=new n.Mesh(new n.SphereGeometry(_,32,32),this._handleMaterial),this._handle.layers.mask=m.PROXY_LAYER_MASK,this.contribute(this._handle)}get handle(){return this._handle}setColor(e){super.setColor(e),this._handleMaterial.color=e}setIntensity(e){super.setIntensity(e),this._handleMaterial.opacity=Math.min(e*c,c)}dispose(){super.dispose(),this._handle.geometry.dispose(),this._handleMaterial.dispose()}}const C=64,G=32;class y extends h.MeshComponent{constructor(){super();s(this,"isPrimitiveComponent",!0);s(this,"_geometry",null);this.name="PrimitiveComponent",this._material=new n.MeshStandardMaterial,this._mesh=new n.Mesh(new n.BufferGeometry,this._material),this._mesh.name="PrimitiveMesh",this._mesh.layers.mask=m.PRODUCT_LAYER_MASK,this._mesh.castShadow=!0,this._mesh.receiveShadow=!0,this.contribute(this._mesh)}get geometry(){return this._geometry}setGeometry(e){const t=this._assembleGeometry(e);t&&(this._geometry=e,t.computeVertexNormals(),t.computeBoundingBox(),t.computeBoundingSphere(),this._mesh.geometry.dispose(),this._mesh.geometry=t)}copy(e){return super.copy(e),e.geometry&&this.setGeometry(e.geometry),this}_assembleGeometry(e){switch(this._material.flatShading=!1,e.name.toLowerCase()){case"cylinder":return this._createCylinderGeometry(e);case"sphere":return this._createSphereGeometry(e);case"pyramid":return this._material.flatShading=!0,this._createPyramidGeometry(e);case"cube":case"box":case"plane":return this._createBoxGeometry(e);case"cone":return this._createConeGeometry(e);case"wall":return this._createWallGeometry(e);default:return console.warn("PrimitiveComponent.setGeometry: Invalid geometry type:",e.name.toLowerCase()),null}}_createCylinderGeometry(e){const t=new n.CylinderGeometry(e.width/2,e.width/2,e.height,64);return t.translate(0,e.height/2,0),t}_createSphereGeometry(e){return new n.SphereGeometry(e.width/2,C,G)}_createPyramidGeometry(e){const t=new Float32Array([-e.width/2,0,-e.depth/2,e.width/2,0,-e.depth/2,e.width/2,0,e.depth/2,-e.width/2,0,e.depth/2,0,e.height,0]),o=new Uint16Array([0,1,2,0,2,3,0,4,1,1,4,2,2,4,3,3,4,0]),a=new n.BufferGeometry;return a.setAttribute("position",new n.BufferAttribute(t,3)),a.setIndex(new n.BufferAttribute(o,1)),a}_createBoxGeometry(e){const t=new n.BoxGeometry(e.width,e.height,e.depth);return t.translate(0,e.height/2,0),t}_createConeGeometry(e){const t=new n.ConeGeometry(e.width/2,e.height,256);return t.translate(0,e.height/2,0),t}_createWallGeometry(e){const t=new n.BoxGeometry(e.width,e.height,e.depth||.05,16);return t.translate(0,e.height/2,0),t}}const f=i=>{const r=h.findSceneRecursive(i);r&&r.children.find(e=>{const t=e;if(t.isTransformControlsRoot&&t.controls)return t.controls.detach(),!0;const o=e;return o.isTransformControls&&o.detach?(o.detach(),!0):!1})};exports.AmbientLightComponent=p;exports.PointLightComponent=w;exports.PrimitiveComponent=y;exports.detachTransformControls=f;
@@ -2,8 +2,8 @@ var p = Object.defineProperty;
2
2
  var w = (n, s, e) => s in n ? p(n, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[s] = e;
3
3
  var r = (n, s, e) => w(n, typeof s != "symbol" ? s + "" : s, e);
4
4
  import { AmbientLight as C, PointLight as f, MeshBasicMaterial as G, FrontSide as S, Mesh as m, SphereGeometry as u, MeshStandardMaterial as y, BufferGeometry as h, CylinderGeometry as M, BufferAttribute as c, BoxGeometry as l, ConeGeometry as A } from "three/webgpu";
5
- import { f as _, M as P, g } from "./FileTypes-CUga4xrG.mjs";
6
- import { a as E, P as L } from "./contributesToBounds-DYmHYES4.mjs";
5
+ import { f as _, M as P, g } from "./FileTypes-C8BdyVai.mjs";
6
+ import { a as E, P as L } from "./contributesToBounds-DK3AK1Lq.mjs";
7
7
  class H extends _ {
8
8
  constructor() {
9
9
  super(new C(16777215, 1));