1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[50209],{209(t,e,i){i.r(e),i.d(e,{AxesColorBlue:()=>n.b,AxesColorBlueLetter:()=>n.e,AxesColorGreen:()=>n.a,AxesColorGreenLetter:()=>n.d,AxesColorRed:()=>n.A,AxesColorRedLetter:()=>n.c,BoundingBox:()=>r.B,COORDINATE_LAYER_MASK:()=>s.C,DEFAULT_LAYER_MASK:()=>s.b,DIVE:()=>r.b,DIVEAmbientLight:()=>r.s,DIVEClock:()=>r.e,DIVEDefaultSettings:()=>r.D,DIVEEngine:()=>r.d,DIVEEnvironment:()=>r.j,DIVEEnvironmentDefaultSettings:()=>r.i,DIVEFloor:()=>r.p,DIVEGizmo:()=>D,DIVEGrid:()=>r.q,DIVEGroup:()=>r.r,DIVEMath:()=>m,DIVEModel:()=>r.c,DIVEMovable:()=>M,DIVENode:()=>r.v,DIVEPerspectiveCamera:()=>s.D,DIVEPerspectiveCameraDefaultSettings:()=>s.a,DIVEPointLight:()=>r.t,DIVEPrimitive:()=>r.w,DIVERenderPipeline:()=>r.h,DIVERenderer:()=>r.g,DIVERendererDefaultSettings:()=>r.f,DIVEResizeManager:()=>r.k,DIVERoot:()=>r.x,DIVEScene:()=>r.m,DIVESceneDefaultSettings:()=>r.l,DIVESceneLight:()=>r.u,DIVESelectable:()=>v,DIVEView:()=>r.n,FILE_TYPES:()=>r.F,FileContentError:()=>l.F,FileTypeError:()=>c.F,GRID_CENTER_LINE_COLOR:()=>r.G,GRID_SIDE_LINE_COLOR:()=>r.o,HELPER_LAYER_MASK:()=>s.H,NetworkError:()=>l.N,PRODUCT_LAYER_MASK:()=>s.P,ParseError:()=>c.P,SUPPORTED_FILE_TYPES:()=>r.S,UI_LAYER_MASK:()=>s.U,applyMixins:()=>H,deepClone:()=>function t(e,i=new WeakMap){if(null===e||"object"!=typeof e)return e;if(i.has(e))return i.get(e);if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e.source,e.flags);if(Array.isArray(e)){let r=[];i.set(e,r);for(let s=0;s<e.length;s++)r[s]=t(e[s],i);return r}if(e instanceof Map){let r=new Map;for(let[s,n]of(i.set(e,r),e))r.set(t(s,i),t(n,i));return r}if(e instanceof Set){let r=new Set;for(let s of(i.set(e,r),e))r.add(t(s,i));return r}if("function"==typeof e.clone){let t=e.clone();return i.set(e,t),t}let r=Object.create(Object.getPrototypeOf(e));for(let s of(i.set(e,r),Object.getOwnPropertyNames(e))){let n=Object.getOwnPropertyDescriptor(e,s);if(n){if(void 0!==n.value){let e=t(n.value,i);Object.defineProperty(r,s,{...n,value:e})}else Object.defineProperty(r,s,n)}}for(let s of Object.getOwnPropertySymbols(e)){let n=Object.getOwnPropertyDescriptor(e,s);if(n){if(void 0!==n.value){let e=t(n.value,i);Object.defineProperty(r,s,{...n,value:e})}else Object.defineProperty(r,s,n)}}return r},findInterface:()=>a.f,findSceneRecursive:()=>r.y,getFileTypeFromUri:()=>o.g,getObjectDelta:()=>I,implementsInterface:()=>a.i,isFileTypeSupported:()=>o.i,isGroupSchema:()=>V,isLightSchema:()=>z,isModelSchema:()=>d.i,isPovSchema:()=>d.a,isPrimitiveSchema:()=>O});var r=i(1359),s=i(5075),n=i(1907),h=i(9451),a=i(878),o=i(811),l=i(2108),c=i(5349),d=i(3189),p=Object.defineProperty,g=(t,e,i)=>e in t?p(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,_=(t,e,i)=>g(t,"symbol"!=typeof e?e+"":e,i);class u extends h.B69{constructor(t,e,i,r,n){super(),_(this,"isHoverable",!0),_(this,"isDraggable",!0),_(this,"parent",null),_(this,"axis"),_(this,"_color",new h.Q1f(0xff00ff)),_(this,"_colorHover"),_(this,"_hovered"),_(this,"_highlight"),_(this,"_lineMaterial"),_(this,"_colliderMesh"),this.name="DIVERadialHandle",this.axis=t,this._color.set(n),this._colorHover=this._color.clone().multiplyScalar(2),this._hovered=!1,this._highlight=!1;let a=new h.O3Y(e,.01,13,48,i);this._lineMaterial=new h.V9B({color:n,depthTest:!1,depthWrite:!1});let o=new h.eaF(a,this._lineMaterial);o.layers.mask=s.U,o.renderOrder=1/0,this.add(o);let l=new h.O3Y(e,.1,3,48,i),c=new h.V9B({color:0xff00ff,transparent:!0,opacity:.15,depthTest:!1,depthWrite:!1});this._colliderMesh=new h.eaF(l,c),this._colliderMesh.visible=!1,this._colliderMesh.layers.mask=s.U,this._colliderMesh.renderOrder=1/0,this.add(this._colliderMesh),this.lookAt(r)}set debug(t){this._colliderMesh.visible=t}get highlight(){return this._highlight}set highlight(t){this._highlight=t,this._lineMaterial.color=this._highlight||this._hovered?this._colorHover:this._color}get forwardVector(){return new h.Pq0(0,0,1).applyQuaternion(this.quaternion).normalize()}get rightVector(){return new h.Pq0(1,0,0).applyQuaternion(this.quaternion).normalize()}get upVector(){return new h.Pq0(0,1,0).applyQuaternion(this.quaternion).normalize()}reset(){this._lineMaterial.color=this._color}onPointerEnter(){this._hovered=!0,this.parent&&this.parent.onHandleHover(this,!0)}onPointerLeave(){this._hovered=!1,this.parent&&this.parent.onHandleHover(this,!1)}onDragStart(){this.parent&&this.parent.onHandleDragStart(this)}onDrag(t){this.parent&&this.parent.onHandleDrag(this,t)}onDragEnd(){this.parent&&this.parent.onHandleDragEnd(this)}}function f(t,e){let i=(t+"e").split("e");return+(i[0]+"e"+(+i[1]+(e||0)))}let m={ceilExp:function(t,e=0){let i=f(t,+e);
1return f(Math.ceil(i),-e)},floorExp:function(t,e=0){let i=f(t,+e);return f(Math.floor(i),-e)},roundExp:function t(e,i=0){if(e<0)return-t(-e,i);let r=f(e,+i);return f(Math.round(r),-i)},toFixedExp:function(t,e=0){let i=f(t,+e);return f(Math.round(i),-e).toFixed(e)},truncateExp:function(t,e=0){let i=f(t,+e);return f(Math.trunc(i),-e)},signedAngleTo:function(t,e,i){return Math.atan2(t.clone().cross(e).dot(i),e.clone().dot(t))},radToDeg:function(t){return(h.cj9.radToDeg(t)+360)%360},degToRad:function(t){return h.cj9.degToRad(t)}};class b extends h.B69{constructor(t){super(),_(this,"children"),_(this,"_controller"),_(this,"_startRot"),this.name="DIVERotateGizmo",this.children=[],this._startRot=null,this._controller=t,this.add(new u("x",1,Math.PI/2,new h.Pq0(1,0,0),n.A)),this.add(new u("y",1,-Math.PI/2,new h.Pq0(0,1,0),n.a)),this.add(new u("z",1,Math.PI/2,new h.Pq0(0,0,1),n.b))}set debug(t){this.children.forEach(e=>{e.debug=t})}reset(){this.children.forEach(t=>{t.reset()})}handleHighlight(t,e,i){this.children.forEach(r=>{i?r.highlight=r.axis===t&&i:r.highlight=r.axis===t&&e})}onHandleHover(t,e){this._startRot||this.parent&&this.parent.parent&&(this.parent.parent.onHover("rotate",t.axis,e),this.handleHighlight(t.axis,e,!1))}onHandleDragStart(t){if(!this.parent||!this.parent.parent)return;let e=this.parent.parent.object;e&&(this._startRot=e.rotation.clone(),this.handleHighlight(t.axis,!0,!0))}onHandleDrag(t,e){if(!this._startRot||!this.parent||!this.parent.parent||!("onChange"in this.parent.parent))return;let i=e.dragCurrent.clone().sub(this.parent.parent.position).normalize(),r=e.dragStart.clone().sub(this.parent.parent.position).normalize(),s=m.signedAngleTo(r,i,t.forwardVector),n=new h.O9p(this._startRot.x+t.forwardVector.x*s,this._startRot.y+t.forwardVector.y*s,this._startRot.z+t.forwardVector.z*s);this.parent.parent.onChange(void 0,n)}onHandleDragEnd(t){this._startRot=null,this.handleHighlight(t.axis,!1,!1)}}class E extends h.B69{constructor(t,e,i,r){super(),_(this,"isHoverable",!0),_(this,"isDraggable",!0),_(this,"parent",null),_(this,"axis"),_(this,"_color",new h.Q1f(0xff00ff)),_(this,"_colorHover"),_(this,"_hovered"),_(this,"_highlight"),_(this,"_lineMaterial"),_(this,"_colliderMesh"),this.name="DIVEAxisHandle",this.axis=t,this._color.set(r),this._colorHover=this._color.clone().multiplyScalar(2),this._highlight=!1,this._hovered=!1;let n=new h.Ho_(.01,.01,e,13);this._lineMaterial=new h.V9B({color:r,depthTest:!1,depthWrite:!1});let a=new h.eaF(n,this._lineMaterial);a.layers.mask=s.U,a.renderOrder=1/0,a.rotateX(Math.PI/2),a.translateY(e/2),this.add(a);let o=new h.Ho_(.1,.1,e,3),l=new h.V9B({color:0xff00ff,transparent:!0,opacity:.15,depthTest:!1,depthWrite:!1});this._colliderMesh=new h.eaF(o,l),this._colliderMesh.visible=!1,this._colliderMesh.layers.mask=s.U,this._colliderMesh.renderOrder=1/0,this._colliderMesh.rotateX(Math.PI/2),this._colliderMesh.translateY(e/2),this.add(this._colliderMesh),this.rotateX(-(i.y*Math.PI)/2),this.rotateY(i.x*Math.PI/2)}set debug(t){this._colliderMesh.visible=t}get highlight(){return this._highlight}set highlight(t){this._highlight=t,this._lineMaterial.color=this._highlight||this._hovered?this._colorHover:this._color}get forwardVector(){return new h.Pq0(0,0,1).applyQuaternion(this.quaternion).normalize()}get rightVector(){return new h.Pq0(1,0,0).applyQuaternion(this.quaternion).normalize()}get upVector(){return new h.Pq0(0,1,0).applyQuaternion(this.quaternion).normalize()}reset(){this._lineMaterial.color=this._color}onPointerEnter(){this._hovered=!0,this.parent&&this.parent.onHandleHover(this,!0)}onPointerLeave(){this._hovered=!1,this.parent&&this.parent.onHandleHover(this,!1)}onDragStart(){this.parent&&this.parent.onHandleDragStart(this)}onDrag(t){this.parent&&this.parent.onHandleDrag(this,t)}onDragEnd(){this.parent&&this.parent.onHandleDragEnd(this)}}class y extends h.B69{constructor(t){super(),_(this,"_controller"),_(this,"children"),_(this,"_startPos"),this.name="DIVETranslateGizmo",this.children=[],this._startPos=null,this._controller=t,this.add(new E("x",1,new h.Pq0(1,0,0),n.A)),this.add(new E("y",1,new h.Pq0(0,1,0),n.a)),this.add(new E("z",1,new h.Pq0(0,0,1),n.b))}
1set debug(t){this.children.forEach(e=>{e.debug=t})}reset(){this.children.forEach(t=>{t.reset()})}handleHighlight(t,e,i){this.children.forEach(r=>{i?r.highlight=r.axis===t&&i:r.highlight=r.axis===t&&e})}onHandleHover(t,e){this._startPos||this.parent&&this.parent.parent&&(this.parent.parent.onHover("translate",t.axis,e),this.handleHighlight(t.axis,e,!1))}onHandleDragStart(t){if(!this.parent||!this.parent.parent)return;let e=this.parent.parent.object;e&&(this._startPos=e.position.clone(),this.handleHighlight(t.axis,!0,!0))}onHandleDrag(t,e){if(!this._startPos||!this.parent||!this.parent.parent||!("onChange"in this.parent.parent))return;let i=e.dragDelta.clone().projectOnVector(t.forwardVector);this.parent.parent.onChange(this._startPos.clone().add(i))}onHandleDragEnd(t){this._startPos=null,this.handleHighlight(t.axis,!1,!1)}}class w extends h.B69{constructor(t,e,i,r,n=.05){super(),_(this,"isHoverable",!0),_(this,"isDraggable",!0),_(this,"parent",null),_(this,"axis"),_(this,"_color",new h.Q1f(0xff00ff)),_(this,"_colorHover"),_(this,"_hovered"),_(this,"_highlight"),_(this,"_lineMaterial"),_(this,"_colliderMesh"),_(this,"_box"),_(this,"_boxSize"),this.name="DIVEScaleHandle",this.axis=t,this._color.set(r),this._colorHover=this._color.clone().multiplyScalar(2),this._hovered=!1,this._highlight=!1,this._boxSize=n;let a=new h.Ho_(.01,.01,e-n/2,13);this._lineMaterial=new h.V9B({color:r,depthTest:!1,depthWrite:!1});let o=new h.eaF(a,this._lineMaterial);o.layers.mask=s.U,o.renderOrder=1/0,o.rotateX(Math.PI/2),o.translateY(e/2-n/4),this.add(o),this._box=new h.eaF(new h.iNn(n,n,n),this._lineMaterial),this._box.layers.mask=s.U,this._box.renderOrder=1/0,this._box.rotateX(Math.PI/2),this._box.translateY(e-n/2),this._box.rotateZ(i.x*Math.PI/2),this._box.rotateX(i.z*Math.PI/2),this.add(this._box);let l=new h.Ho_(.1,.1,e+n/2,3),c=new h.V9B({color:0xff00ff,transparent:!0,opacity:.15,depthTest:!1,depthWrite:!1});this._colliderMesh=new h.eaF(l,c),this._colliderMesh.visible=!1,this._colliderMesh.layers.mask=s.U,this._colliderMesh.renderOrder=1/0,this._colliderMesh.rotateX(Math.PI/2),this._colliderMesh.translateY(e/2),this.add(this._colliderMesh),this.rotateX(-(i.y*Math.PI)/2),this.rotateY(i.x*Math.PI/2)}set debug(t){this._colliderMesh.visible=t}get highlight(){return this._highlight}set highlight(t){this._highlight=t,this._lineMaterial.color=this._highlight||this._hovered?this._colorHover:this._color}get forwardVector(){return new h.Pq0(0,0,1).applyQuaternion(this.quaternion).normalize()}get rightVector(){return new h.Pq0(1,0,0).applyQuaternion(this.quaternion).normalize()}get upVector(){return new h.Pq0(0,1,0).applyQuaternion(this.quaternion).normalize()}reset(){this._lineMaterial.color=this._color}update(t){this._box.scale.copy(new h.Pq0(1,1,1).sub(this.forwardVector).add(t.clone().multiply(this.forwardVector)))}onPointerEnter(){this._hovered=!0,this.parent&&this.parent.onHoverAxis(this,!0)}onPointerLeave(){this._hovered=!1,this.parent&&this.parent.onHoverAxis(this,!1)}onDragStart(){this.parent&&this.parent.onAxisDragStart(this)}onDrag(t){this.parent&&this.parent.onAxisDrag(this,t)}onDragEnd(){this.parent&&this.parent.onAxisDragEnd(this)}}class P extends h.B69{constructor(t){super(),_(this,"isHoverable",!0),_(this,"children"),_(this,"_controller"),_(this,"_startScale"),this.name="DIVEScaleGizmo",this.children=[],this._startScale=null,this._controller=t,this.add(new w("x",1,new h.Pq0(1,0,0),n.A)),this.add(new w("y",1,new h.Pq0(0,1,0),n.a)),this.add(new w("z",1,new h.Pq0(0,0,1),n.b))}set debug(t){this.children.forEach(e=>{e.debug=t})}reset(){this.children.forEach(t=>{t.reset()})}update(t){this.children.forEach(e=>{e.update(t)})}handleHighlight(t,e,i){this.children.forEach(r=>{i?r.highlight=r.axis===t&&i:r.highlight=r.axis===t&&e})}onHoverAxis(t,e){this._startScale||this.parent&&this.parent.parent&&(this.parent.parent.onHover("translate",t.axis,e),this.handleHighlight(t.axis,e,!1))}onAxisDragStart(t){if(!this.parent||!this.parent.parent)return;let e=this.parent.parent.object;e&&(this._startScale=e.scale.clone(),this.handleHighlight(t.axis,!0,!0))}onAxisDrag(t,e){if(!this._startScale||!this.parent||!this.parent.parent||!("onChange"in this.parent.parent))return;let i=e.dragDelta.clone().projectOnVector(t.forwardVector);this.parent.parent.onChange(void 0,void 0,this._startScale.clone().add(i))}onAxisDragEnd(t){this._startScale=null,this.handleHighlight(t.axis,!1,!1)}}class x extends h.B69{constructor(){super(),_(this,"_meshX"),_(this,"_meshY"),_(this,"_meshZ"),this.name="DIVEGizmoPlane";let t=new h.V9B({transparent:!0,opacity:.15,depthTest:!1,depthWrite:!1,side:2}),e=new h.bdM(100,100,2,2),i=t.clone();i.color.set(0xff0000),this._meshX=new h.eaF(e,i),this._meshX.layers.mask=s.U,this._meshX.rotateY(Math.PI/2);let r=new h.bdM(100,100,2,2),n=t.clone();n.color.set(65280),this._meshY=new h.eaF(r,n),this._meshY.layers.mask=s.U,this._meshY.rotateX(-Math.PI/2);let a=new h.bdM(100,100,2,2),o=t.clone();o.color.set(255),this._meshZ=new h.eaF(a,o),this._meshZ.layers.mask=s.U}get XPlane(){return this._meshX}get YPlane(){return this._meshY}get ZPlane(){return this._meshZ}assemble(t,e){if(this.clear(),"translate"===t||"scale"===t)switch(e){case"x":this.add(this._meshY),this.add(this._meshZ);break;case"y":this.add(this._meshX),this.add(this._meshZ);break;case"z":this.add(this._meshX),this.add(this._meshY)}else if("rotate"===t)switch(e){case"x":this.add(this._meshX);break;case"y":this.add(this._meshY);break;case"z":this.add(this._meshZ)}}}class D extends h.B69{constructor(t){super(),_(this,"_mode"),_(this,"_gizmoNode"),_(this,"_translateGizmo"),_(this,"_rotateGizmo"),_(this,"_scaleGizmo"),_(this,"_gizmoPlane"),_(this,"_object"),this.name="DIVEGizmo",t.addEventListener("change",()=>{let e=t.getDistance()/2.5;this.scale.set(e,e,e)}),this._mode="translate",this._gizmoNode=new h.B69,this.add(this._gizmoNode),this._translateGizmo=new y(t),this._rotateGizmo=new b(t),this._scaleGizmo=new P(t),this._gizmoPlane=new x,this._gizmoPlane.visible=!1,this._object=null}get mode(){return this._mode}set mode(t){this._mode=t,this.assemble()}set debug(t){this._translateGizmo.debug=t,this._rotateGizmo.debug=t,this._scaleGizmo.debug=t}get gizmoNode(){return this._gizmoNode}get gizmoPlane(){return this._gizmoPlane}get object(){return this._object}attach(t){return this._object=t,this.assemble(),this}detach(){return this._object=null,this.assemble(),this}onHover(t,e,i){i&&this._gizmoPlane.assemble(t,e)}onChange(t,e,i){null!==this.object&&(t&&(this.position.copy(t),this.object.position.copy(t)),e&&this.object.rotation.copy(e),i&&(this.object.scale.copy(i),this._scaleGizmo.update(i)))}assemble(){this._gizmoNode.clear(),this._gizmoPlane.clear(),this._translateGizmo.reset(),this._rotateGizmo.reset(),this._scaleGizmo.reset(),null!==this.object&&("translate"===this._mode&&this._gizmoNode.add(this._translateGizmo),"rotate"===this._mode&&this._gizmoNode.add(this._rotateGizmo),"scale"===this._mode&&this._gizmoNode.add(this._scaleGizmo),this.add(this._gizmoPlane))}}class M{constructor(){_(this,"isMovable",!0)}}class v{constructor(){_(this,"isSelectable",!0)}}
1function H(t,e){return e.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(i=>{if("constructor"===i)return;let r=Object.getOwnPropertyDescriptor(e.prototype,i);Object.defineProperty(t.prototype,i,r)});let i=new e;Object.getOwnPropertyNames(i).forEach(e=>{let r=Object.getOwnPropertyDescriptor(i,e);Object.defineProperty(t.prototype,e,r)})}),t}let I=(t,e)=>{if(0===Object.keys(t).length&&0===Object.keys(e).length)return{};if("object"!=typeof t||"object"!=typeof e)return e;let i={};return Object.keys(e).forEach(r=>{if(!Object.keys(t).includes(r)){i={...i,[r]:e[r]};return}if(Array.isArray(e[r])){if(!Array.isArray(t[r])){i={...i,[r]:e[r]};return}let s=t[r],n=e[r];if(0===s.length&&0===n.length){i={...i};return}if(s.length!==n.length){i={...i,[r]:e[r]};return}let h=[];n.forEach((t,e)=>{Object.keys(I(s[e],n[e])).length&&h.push(n[e])}),Object.keys(h).length&&(i={...i,[r]:h});return}if("object"==typeof e[r]){if("object"!=typeof t[r]){i={...i,[r]:e[r]};return}let s=I(t[r],e[r]);if(Object.keys(s).length){i={...i,[r]:s};return}}t[r]!==e[r]&&(i={...i,[r]:e[r]})}),i};function V(t){return"group"===t.entityType}function z(t){return"light"===t.entityType}function O(t){return"primitive"===t.entityType}},811(t,e,i){function r(t){var e;let i=t.split("/").pop()||"";return!i.includes(".")||i.endsWith(".")?"":(null==(e=i.split(".").pop())?void 0:e.toLowerCase().split("?")[0])||""}function s(t){return t.toLowerCase()in{glb:!0,gltf:!0,usdz:!0}}i.d(e,{g:()=>r,i:()=>s})},878(t,e,i){function r(t,e){return!!t&&e in t}i.d(e,{f:()=>function t(e,i){if(e)return r(e,i)?e:t(e.parent,i)},i:()=>r})},1907(t,e,i){i.d(e,{A:()=>h,a:()=>a,b:()=>o,c:()=>r,d:()=>s,e:()=>n});let r="#c20017",s="#00ab26",n="#0081d4",h=r,a=s,o=n},2108(t,e,i){i.d(e,{F:()=>r,N:()=>s});class r extends Error{constructor(t){super(`Failed to create array buffer from fetched file! (Uri: ${t})`),this.uri=t,this.name="FileContentError"}}class s extends Error{constructor(t,e){super(`Failed to fetch file from ${t}`),this.url=t,this.cause=e,this.name="NetworkError"}}},3189(t,e,i){function r(t){return"model"===t.entityType}function s(t){return"pov"===t.entityType}i.d(e,{a:()=>s,i:()=>r})},5349(t,e,i){i.d(e,{F:()=>r,P:()=>s});class r extends Error{constructor(t,e){super(t),this.requestedFileType=e,this.name="FileTypeError"}}class s extends Error{constructor(t,e){super(`Failed to parse array buffer from ${t}`),this.uri=t,this.cause=e,this.name="ParseError"}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.