import{u as d,D as r,c as v}from"./UseD3-1ef6eb6ab1.js";import{u as w}from"./useToolModels-34bccf3305.js";import{s as C}from"./useGlobal-b4204704f5.js";import{u as s,a as h}from"./useGlobal-327f12f0f6.js";import{$ as E,a as A}from"./pacdora-editor-cdb0489466.js";import{r as u}from"./vue-ff52d06ef3.js";const g=u("pending"),x=u(!1),c=new Map,H=()=>{const p=async(t,e)=>{const a={useShadow:!1,name:r,useShortcuts:!1,useTransformControls:!1,useGridHelper:!1,useAxisHelper:!1,useFloor:!0,...e};g.value="loading",await v({container:t,...a,languageModule:{...E("pacD3"),language:A()}}),g.value="loaded"},o=async()=>await d(r),{addModel:f,replaceModel:D,getModelProjectData:b,addPureModel:y}=w(r),k=async()=>{const t=await o();C(t)},T=async()=>{var n;const t=await o(),e=t.renderer.domElement.toDataURL("image/jpeg",.3);if(!e)return;const a=document.createElement("img");a.src=e,a.classList.add("tempImg"),a.style.objectFit="cover",(n=t.container)!=null&&n.parentElement?t.container.parentElement.appendChild(a):console.error("D3.container is not defined")},l=async t=>{(await t.querySelectorAll("img.tempImg")).forEach(a=>{a.parentNode&&a.parentNode.removeChild(a)})};let i=null;return{initD3:p,useD3:d,getD3:o,D3_EDITOR:r,addModel:f,replaceModel:D,getModelProjectData:b,addPureModel:y,initCameraConfig:k,movingD3ToTheTargetDom:async t=>{const e=await o();i=e.container.parentElement,i&&(l(t),t.appendChild(e.container))},comeBackToOriginCanvas:async()=>{if(!i)return;const t=await o();l(i),i.appendChild(t.container),await t.resize()},D3StateRecords:async t=>{var n,m;const e=await o(),a=await e.getBackground();c.set(t,{...a,background:e.scene.instance.background,tick:(n=e.group)==null?void 0:n.curTick,dimensionVisible:s().visible.value,rotation:(m=e.group)==null?void 0:m.rotation.toArray(),camera:{position:e.camera.instance.position.toArray(),target:e.control.instance.target.toArray()}}),(s().visible.value||s().tempVisible.value)&&(s().setVisible(!1),s().setTempVisible(!1),s().cancelActiveForLine(),e.setDimensionVisible(!1))},restoreD3State:async t=>{var n;const e=c.get(t),a=await o();e.background!==a.scene.instance.background&&(a.scene.backgroundType=e.type,a.scene.instance.background=e.background),e.rotation&&((n=a.group)==null||n.rotation.fromArray(e.rotation)),e.camera&&(e.camera.position&&a.camera.instance.position.fromArray(e.camera.position),e.camera.target&&a.control.instance.target.fromArray(e.camera.target)),s().setVisible(e.dimensionVisible),a.setDimensionVisible(e.dimensionVisible),e.tick!==void 0&&h().setTick(e.tick)},generatedImageForD3Render:T,D3Condition:c}};export{g as D,x as h,H as u};
