@classcad/mcp 0.3.3 → 0.4.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.
package/README.md CHANGED
@@ -23,7 +23,7 @@ The session is shared. The CAD app, [Buerligons](https://buerligons.io), docks i
23
23
  wss, dialled out ──► share relay (Cloudflare) ◄── the app on any other machine, by share link
24
24
  ```
25
25
 
26
- - **Self-contained.** The MCP brings its own engine: the published ClassCAD WASM build, run in a worker thread of the daemon. No server and no key to configure (a six-month engine key is built in); one sign-in with a free classcad.ch account. On first use it downloads the release assets (about 16 MB) once and caches them.
26
+ - **Self-contained.** The MCP brings its own engine: the published ClassCAD WASM build, run in a worker thread of the daemon. No server and no key to configure: the engine's key comes with one sign-in with a free classcad.ch account. On first use it downloads the release assets (about 16 MB) once and caches them.
27
27
  - Every host starts the MCP as a **stdio** child process (`npx -y @classcad/mcp@latest`). That process is a thin **shim**: it looks for the daemon on `127.0.0.1:9097`, starts it if none runs, and forwards its host's JSON-RPC to it. The first tab starts the daemon, every later tab reuses it.
28
28
  - The **daemon** is the actual MCP. It holds one MCP server instance **per session** (per tab: own engine, caches, tool queue, invites) and the one **listener sessions are joined on** (`127.0.0.1:9098`): the app docks into the MCP's sessions there, and apps that run the engine in their own page offer their sessions there. With no session left and no such app waiting it exits by itself after `CLASSCAD_DAEMON_IDLE_MS` (60 s). Nothing to install or manage: it is part of this package (`dist/daemon.js`) and lives only while it is used.
29
29
  - Why a daemon: the MCP *listens* on a port, and a port belongs to exactly one process. With one daemon, every session's app link has the same address, and an app that looks for the MCP finds it.
@@ -242,6 +242,7 @@ None is required. Set them in the host's MCP config `env` block; the shim passes
242
242
  | `tree` / `find` / `inspect` | Structure tree (cached, pulled on demand), search by class/name, full node detail with parent chain |
243
243
  | `snapshot` | Render the drawing to PNG (iso/top/front/…, section cuts, four-view sheet, technical drawing with hidden lines, highlights, markers) |
244
244
  | `list_methods` / `describe_method` / `docs` | Method index, per-method reference with LLM-oriented gotchas, recipes |
245
+ | `account` | The signed-in account's plan and what it allows: commercial use, exports, where a web app may run (localhost, registered domains), the public access token for an app's page. Read-only; the first step of `recipes/buerli-app` |
245
246
  | `view` | The session's app: returns its link and brings it up (the host's browser pane, or the user's browser), unless the user already has it open. `local: true`: the link on this machine, for when the share link does not load |
246
247
  | `share` | The link to the session's app that works from anywhere, for somebody on another machine; `stop: true` takes it back |
247
248
  | `get_selection` / `set_selection` | What the user has selected in the app (faces, edges, vertices, tree objects), with the ids API calls take; and selecting something there to point it out |
@@ -261,7 +262,7 @@ The MCP runs its own sessions on one of two engines; the **engine policy** decid
261
262
 
262
263
  | Engine | What it is | How the MCP gets there |
263
264
  | --- | --- | --- |
264
- | **Local WASM** | The published ClassCAD WASM build, hosted by the MCP itself in a worker thread of the daemon. No server, no browser, works offline once the assets are cached. | Nothing to configure (a six-month key is built in); the policy (`auto`/`wasm`) or `use_session(engine="wasm")`. |
265
+ | **Local WASM** | The published ClassCAD WASM build, hosted by the MCP itself in a worker thread of the daemon. No server, no browser, works offline once the assets are cached. | Nothing to configure (the key comes with the sign-in); the policy (`auto`/`wasm`) or `use_session(engine="wasm")`. |
265
266
  | **Worker (Drogon)** | A `classcad-cli worker` — a server on your machine, in Docker or hosted. | `CLASSCAD_WS_URL`, the policy (`auto`/`drogon`), `use_session(sessionId)`. |
266
267
 
267
268
  **Policy.** `CLASSCAD_ENGINE` (default `auto`) and the `engine` argument of `use_session`:
@@ -1,4 +1,4 @@
1
- Buerligons, built in mcp mode on 2026-10-06
2
- buerligons 61e58eb
1
+ Buerligons, built in mcp mode on 2026-10-09
2
+ buerligons f4b980e
3
3
  react-cad 1.2.0 (npm)
4
4
  buerli 1.2.0 (npm)
@@ -4752,7 +4752,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
4752
4752
  #include <premultiplied_alpha_fragment>
4753
4753
 
4754
4754
  }
4755
- `,clipping:!0}),this.isLineMaterial=!0,Object.defineProperties(this,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(n){this.uniforms.diffuse.value=n}},worldUnits:{enumerable:!0,get:function(){return"WORLD_UNITS"in this.defines},set:function(n){n===!0?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(n){this.uniforms.linewidth.value=n}},dashed:{enumerable:!0,get:function(){return"USE_DASH"in this.defines},set(n){!!n!="USE_DASH"in this.defines&&(this.needsUpdate=!0),n===!0?this.defines.USE_DASH="":delete this.defines.USE_DASH}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(n){this.uniforms.dashScale.value=n}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(n){this.uniforms.dashSize.value=n}},dashOffset:{enumerable:!0,get:function(){return this.uniforms.dashOffset.value},set:function(n){this.uniforms.dashOffset.value=n}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(n){this.uniforms.gapSize.value=n}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(n){this.uniforms.opacity.value=n}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(n){this.uniforms.resolution.value.copy(n)}},alphaToCoverage:{enumerable:!0,get:function(){return"USE_ALPHA_TO_COVERAGE"in this.defines},set:function(n){!!n!="USE_ALPHA_TO_COVERAGE"in this.defines&&(this.needsUpdate=!0),n===!0?(this.defines.USE_ALPHA_TO_COVERAGE="",this.extensions.derivatives=!0):(delete this.defines.USE_ALPHA_TO_COVERAGE,this.extensions.derivatives=!1)}}}),this.setValues(e)}}const pZ=new j,hZ=new j,vo=new Fn,go=new Fn,Ou=new Fn,TL=new j,OL=new Je,Bo=new ZB,mZ=new j,rP=new Br,iP=new oo,ku=new Fn;let Gu,Wz,ove,Vm;function vZ(t,e,n){return ku.set(0,0,-e,1).applyMatrix4(t.projectionMatrix),ku.multiplyScalar(1/ku.w),ku.x=Vm/n.width,ku.y=Vm/n.height,ku.applyMatrix4(t.projectionMatrixInverse),ku.multiplyScalar(1/ku.w),Math.abs(Math.max(ku.x,ku.y))}function GQe(t,e){for(let n=0,r=Wz.count;n<r;n++){Bo.start.fromBufferAttribute(Wz,n),Bo.end.fromBufferAttribute(ove,n);const i=new j,a=new j;Gu.distanceSqToSegment(Bo.start,Bo.end,a,i),a.distanceTo(i)<Vm*.5&&e.push({point:a,pointOnLine:i,distance:Gu.origin.distanceTo(a),object:t,face:null,faceIndex:n,uv:null,uv2:null})}}function WQe(t,e,n){const r=e.projectionMatrix,a=t.material.resolution,o=t.matrixWorld,s=t.geometry,l=s.attributes.instanceStart,c=s.attributes.instanceEnd,u=-e.near;Gu.at(1,Ou),Ou.w=1,Ou.applyMatrix4(e.matrixWorldInverse),Ou.applyMatrix4(r),Ou.multiplyScalar(1/Ou.w),Ou.x*=a.x/2,Ou.y*=a.y/2,Ou.z=0,TL.copy(Ou),OL.multiplyMatrices(e.matrixWorldInverse,o);for(let d=0,f=l.count;d<f;d++){if(vo.fromBufferAttribute(l,d),go.fromBufferAttribute(c,d),vo.w=1,go.w=1,vo.applyMatrix4(OL),go.applyMatrix4(OL),vo.z>u&&go.z>u)continue;if(vo.z>u){const x=vo.z-go.z,C=(vo.z-u)/x;vo.lerp(go,C)}else if(go.z>u){const x=go.z-vo.z,C=(go.z-u)/x;go.lerp(vo,C)}vo.applyMatrix4(r),go.applyMatrix4(r),vo.multiplyScalar(1/vo.w),go.multiplyScalar(1/go.w),vo.x*=a.x/2,vo.y*=a.y/2,go.x*=a.x/2,go.y*=a.y/2,Bo.start.copy(vo),Bo.start.z=0,Bo.end.copy(go),Bo.end.z=0;const m=Bo.closestPointToPointParameter(TL,!0);Bo.at(m,mZ);const y=Xy.lerp(vo.z,go.z,m),g=y>=-1&&y<=1,v=TL.distanceTo(mZ)<Vm*.5;if(g&&v){Bo.start.fromBufferAttribute(l,d),Bo.end.fromBufferAttribute(c,d),Bo.start.applyMatrix4(o),Bo.end.applyMatrix4(o);const x=new j,C=new j;Gu.distanceSqToSegment(Bo.start,Bo.end,C,x),n.push({point:C,pointOnLine:x,distance:Gu.origin.distanceTo(C),object:t,face:null,faceIndex:d,uv:null,uv2:null})}}}class sve extends Ur{constructor(e=new Jj,n=new e8({color:Math.random()*16777215})){super(e,n),this.isLineSegments2=!0,this.type="LineSegments2"}computeLineDistances(){const e=this.geometry,n=e.attributes.instanceStart,r=e.attributes.instanceEnd,i=new Float32Array(2*n.count);for(let o=0,s=0,l=n.count;o<l;o++,s+=2)pZ.fromBufferAttribute(n,o),hZ.fromBufferAttribute(r,o),i[s]=s===0?0:i[s-1],i[s+1]=i[s]+pZ.distanceTo(hZ);const a=new eh(i,2,1);return e.setAttribute("instanceDistanceStart",new sa(a,1,0)),e.setAttribute("instanceDistanceEnd",new sa(a,1,1)),this}raycast(e,n){const r=this.material.worldUnits,i=e.camera;i===null&&!r&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2 while worldUnits is set to false.');const a=e.params.Line2!==void 0&&e.params.Line2.threshold||0;Gu=e.ray;const o=this.matrixWorld,s=this.geometry,l=this.material;Vm=l.linewidth+a,Wz=s.attributes.instanceStart,ove=s.attributes.instanceEnd,s.boundingSphere===null&&s.computeBoundingSphere(),iP.copy(s.boundingSphere).applyMatrix4(o);let c;if(r)c=Vm*.5;else{const d=Math.max(i.near,iP.distanceToPoint(Gu.origin));c=vZ(i,d,l.resolution)}if(iP.radius+=c,Gu.intersectsSphere(iP)===!1)return;s.boundingBox===null&&s.computeBoundingBox(),rP.copy(s.boundingBox).applyMatrix4(o);let u;if(r)u=Vm*.5;else{const d=Math.max(i.near,rP.distanceToPoint(Gu.origin));u=vZ(i,d,l.resolution)}rP.expandByScalar(u),Gu.intersectsBox(rP)!==!1&&(r?GQe(this,n):WQe(this,i,n))}}class $Qe extends sve{constructor(e=new ave,n=new e8({color:Math.random()*16777215})){super(e,n),this.isLine2=!0,this.type="Line2"}}const vR=w.forwardRef(function({points:e,color:n="black",vertexColors:r,linewidth:i,lineWidth:a,segments:o,dashed:s,...l},c){const u=Tt(m=>m.size),d=w.useMemo(()=>o?new sve:new $Qe,[o]),[f]=w.useState(()=>new e8),p=w.useMemo(()=>{const m=o?new Jj:new ave,y=e.map(g=>{const v=Array.isArray(g);return g instanceof j?[g.x,g.y,g.z]:g instanceof Fe?[g.x,g.y,0]:v&&g.length===3?[g[0],g[1],g[2]]:v&&g.length===2?[g[0],g[1],0]:g});if(m.setPositions(y.flat()),r){const g=r.map(v=>v instanceof dt?v.toArray():v);m.setColors(g.flat())}return m},[e,o,r]);return w.useLayoutEffect(()=>{d.computeLineDistances()},[e,d]),w.useLayoutEffect(()=>{s?f.defines.USE_DASH="":delete f.defines.USE_DASH,f.needsUpdate=!0},[s,f]),w.useEffect(()=>()=>p.dispose(),[p]),w.createElement("primitive",ce({object:d,ref:c},l),w.createElement("primitive",{object:p,attach:"geometry"}),w.createElement("primitive",ce({object:f,attach:"material",color:n,vertexColors:!!r,resolution:[u.width,u.height],linewidth:i??a,dashed:s},l)))}),qQe="modulepreload",XQe=function(t){return"/"+t},gZ={},YQe=function(e,n,r){if(!n||n.length===0)return e();const i=document.getElementsByTagName("link");return Promise.all(n.map(a=>{if(a=XQe(a),a in gZ)return;gZ[a]=!0;const o=a.endsWith(".css"),s=o?'[rel="stylesheet"]':"";if(!!r)for(let u=i.length-1;u>=0;u--){const d=i[u];if(d.href===a&&(!o||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${a}"]${s}`))return;const c=document.createElement("link");if(c.rel=o?"stylesheet":qQe,o||(c.as="script",c.crossOrigin=""),c.href=a,document.head.appendChild(c),o)return new Promise((u,d)=>{c.addEventListener("load",u),c.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${a}`)))})})).then(()=>e()).catch(a=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=a,window.dispatchEvent(o),!o.defaultPrevented)throw a})},lve=w.forwardRef(({sdfGlyphSize:t=64,anchorX:e="center",anchorY:n="middle",font:r,fontSize:i=1,children:a,characters:o,onSync:s,...l},c)=>{const{Text:u,preloadFont:d}=MU(async()=>YQe(()=>import("./troika-three-text.esm-188d86b5.js"),[]),[]),f=Tt(({invalidate:g})=>g),[p]=w.useState(()=>new u),[m,y]=w.useMemo(()=>{const g=[];let v="";return w.Children.forEach(a,x=>{typeof x=="string"||typeof x=="number"?v+=x:g.push(x)}),[g,v]},[a]);return MU(()=>new Promise(g=>d({font:r,characters:o},g)),["troika-text",r,o]),w.useLayoutEffect(()=>void p.sync(()=>{f(),s&&s(p)})),w.useEffect(()=>()=>p.dispose(),[p]),w.createElement("primitive",ce({object:p,ref:c,font:r,text:y,anchorX:e,anchorY:n,fontSize:i,sdfGlyphSize:t},l),m)});function KQe(t,e,n,r){const i=class extends kn{constructor(o={}){const s=Object.entries(t);super({uniforms:s.reduce((l,[c,u])=>{const d=Xm.clone({[c]:{value:u}});return{...l,...d}},{}),vertexShader:e,fragmentShader:n}),this.key="",s.forEach(([l])=>Object.defineProperty(this,l,{get:()=>this.uniforms[l].value,set:c=>this.uniforms[l].value=c})),Object.assign(this,o),r&&r(this)}};return i.key=Xy.generateUUID(),i}const ZQe=()=>parseInt(md.replace(/\D+/g,"")),QQe=ZQe();function JQe(t,e,n){const r=Tt(f=>f.size),i=Tt(f=>f.viewport),a=typeof t=="number"?t:r.width*i.dpr,o=typeof e=="number"?e:r.height*i.dpr,s=(typeof t=="number"?n:t)||{},{samples:l=0,depth:c,...u}=s,d=w.useMemo(()=>{const f=new Vn(a,o,{minFilter:Zt,magFilter:Zt,type:hs,...u});return c&&(f.depthTexture=new Hw(a,o,Ii)),f.samples=l,f},[]);return w.useLayoutEffect(()=>{d.setSize(a,o),l&&(d.samples=l)},[l,d,a,o]),w.useEffect(()=>()=>d.dispose(),[]),d}const eJe=t=>typeof t=="function",tJe=w.forwardRef(({envMap:t,resolution:e=256,frames:n=1/0,children:r,makeDefault:i,...a},o)=>{const s=Tt(({set:g})=>g),l=Tt(({camera:g})=>g),c=Tt(({size:g})=>g),u=w.useRef(null),d=w.useRef(null),f=JQe(e);w.useLayoutEffect(()=>{a.manual||u.current.updateProjectionMatrix()},[c,a]),w.useLayoutEffect(()=>{u.current.updateProjectionMatrix()}),w.useLayoutEffect(()=>{if(i){const g=l;return s(()=>({camera:u.current})),()=>s(()=>({camera:g}))}},[u,i,s]);let p=0,m=null;const y=eJe(r);return lr(g=>{y&&(n===1/0||p<n)&&(d.current.visible=!1,g.gl.setRenderTarget(f),m=g.scene.background,t&&(g.scene.background=t),g.gl.render(g.scene,u.current),g.scene.background=m,g.gl.setRenderTarget(null),d.current.visible=!0,p++)}),w.createElement(w.Fragment,null,w.createElement("orthographicCamera",ce({left:c.width/-2,right:c.width/2,top:c.height/2,bottom:c.height/-2,ref:uk([u,o])},a),!y&&r),w.createElement("group",{ref:d},y&&r(f.texture)))});function nJe({defaultScene:t,defaultCamera:e,renderPriority:n=1}){const{gl:r,scene:i,camera:a}=Tt();let o;return lr(()=>{o=r.autoClear,n===1&&(r.autoClear=!0,r.render(t,e)),r.autoClear=!1,r.clearDepth(),r.render(i,a),r.autoClear=o},n),w.createElement("group",{onPointerOver:()=>null})}function rJe({children:t,renderPriority:e=1}){const{scene:n,camera:r}=Tt(),[i]=w.useState(()=>new ld);return w.createElement(w.Fragment,null,m6(w.createElement(w.Fragment,null,t,w.createElement(nJe,{defaultScene:n,defaultCamera:r,renderPriority:e})),i,{events:{priority:e+1}}))}const cve=w.createContext({}),t8=()=>w.useContext(cve),iJe=2*Math.PI,kL=new dr,yZ=new Je,[Pg,IL]=[new Jn,new Jn],xZ=new j,CZ=new j,aJe=t=>"minPolarAngle"in t,oJe=({alignment:t="bottom-right",margin:e=[80,80],renderPriority:n=1,onUpdate:r,onTarget:i,children:a})=>{const o=Tt(M=>M.size),s=Tt(M=>M.camera),l=Tt(M=>M.controls),c=Tt(M=>M.invalidate),u=w.useRef(null),d=w.useRef(null),f=w.useRef(!1),p=w.useRef(0),m=w.useRef(new j(0,0,0)),y=w.useRef(new j(0,0,0));w.useEffect(()=>{y.current.copy(s.up)},[s]);const g=w.useCallback(M=>{f.current=!0,(l||i)&&(m.current=(l==null?void 0:l.target)||(i==null?void 0:i())),p.current=s.position.distanceTo(xZ),Pg.copy(s.quaternion),CZ.copy(M).multiplyScalar(p.current).add(xZ),kL.lookAt(CZ),kL.up.copy(s.up),IL.copy(kL.quaternion),c()},[l,s,i,c]);lr((M,P)=>{if(d.current&&u.current){var A;if(f.current)if(Pg.angleTo(IL)<.01)f.current=!1,aJe(l)&&s.up.copy(y.current);else{const R=P*iJe;Pg.rotateTowards(IL,R),s.position.set(0,0,1).applyQuaternion(Pg).multiplyScalar(p.current).add(m.current),s.up.set(0,1,0).applyQuaternion(Pg).normalize(),s.quaternion.copy(Pg),r?r():l&&l.update(),c()}yZ.copy(s.matrix).invert(),(A=u.current)==null||A.quaternion.setFromRotationMatrix(yZ)}});const v=w.useMemo(()=>({tweenCamera:g}),[g]),[x,C]=e,b=t.endsWith("-center")?0:t.endsWith("-left")?-o.width/2+x:o.width/2-x,E=t.startsWith("center-")?0:t.startsWith("top-")?o.height/2-C:-o.height/2+C;return w.createElement(rJe,{renderPriority:n},w.createElement(cve.Provider,{value:v},w.createElement(tJe,{makeDefault:!0,ref:d,position:[0,0,200]}),w.createElement("group",{ref:u,position:[b,E,0]},a)))},Mb={bg:"#f0f0f0",hover:"#999",text:"black",stroke:"black"},sJe=["Right","Left","Top","Bottom","Front","Back"],uve=t=>new j(...t).multiplyScalar(.38),lJe=[[1,1,1],[1,1,-1],[1,-1,1],[1,-1,-1],[-1,1,1],[-1,1,-1],[-1,-1,1],[-1,-1,-1]].map(uve),cJe=[.25,.25,.25],dve=[[1,1,0],[1,0,1],[1,0,-1],[1,-1,0],[0,1,1],[0,1,-1],[0,-1,1],[0,-1,-1],[-1,1,0],[-1,0,1],[-1,0,-1],[-1,-1,0]].map(uve),uJe=dve.map(t=>t.toArray().map(e=>e==0?.5:.25)),dJe=({hover:t,index:e,font:n="20px Inter var, Arial, sans-serif",faces:r=sJe,color:i=Mb.bg,hoverColor:a=Mb.hover,textColor:o=Mb.text,strokeColor:s=Mb.stroke,opacity:l=1})=>{const c=Tt(d=>d.gl),u=w.useMemo(()=>{const d=document.createElement("canvas");d.width=128,d.height=128;const f=d.getContext("2d");return f.fillStyle=i,f.fillRect(0,0,d.width,d.height),f.strokeStyle=s,f.strokeRect(0,0,d.width,d.height),f.font=n,f.textAlign="center",f.fillStyle=o,f.fillText(r[e].toUpperCase(),64,76),new bT(d)},[e,r,n,i,o,s]);return w.createElement("meshBasicMaterial",{map:u,"map-anisotropy":c.capabilities.getMaxAnisotropy()||1,attach:`material-${e}`,color:t?a:"white",transparent:!0,opacity:l})},fJe=t=>{const{tweenCamera:e}=t8(),[n,r]=w.useState(null),i=s=>{s.stopPropagation(),r(null)},a=s=>{s.stopPropagation(),e(s.face.normal)},o=s=>{s.stopPropagation(),r(Math.floor(s.faceIndex/2))};return w.createElement("mesh",{onPointerOut:i,onPointerMove:o,onClick:t.onClick||a},[...Array(6)].map((s,l)=>w.createElement(dJe,ce({key:l,index:l,hover:n===l},t))),w.createElement("boxGeometry",null))},bZ=({onClick:t,dimensions:e,position:n,hoverColor:r=Mb.hover})=>{const{tweenCamera:i}=t8(),[a,o]=w.useState(!1),s=u=>{u.stopPropagation(),o(!1)},l=u=>{u.stopPropagation(),o(!0)},c=u=>{u.stopPropagation(),i(n)};return w.createElement("mesh",{scale:1.01,position:n,onPointerOver:l,onPointerOut:s,onClick:t||c},w.createElement("meshBasicMaterial",{color:a?r:"white",transparent:!0,opacity:.6,visible:a}),w.createElement("boxGeometry",{args:e}))},pJe=t=>w.createElement("group",{scale:[60,60,60]},w.createElement(fJe,t),dve.map((e,n)=>w.createElement(bZ,ce({key:n,position:e,dimensions:uJe[n]},t))),lJe.map((e,n)=>w.createElement(bZ,ce({key:n,position:e,dimensions:cJe},t))));function DL({scale:t=[.8,.05,.05],color:e,rotation:n}){return w.createElement("group",{rotation:n},w.createElement("mesh",{position:[.4,0,0]},w.createElement("boxGeometry",{args:t}),w.createElement("meshBasicMaterial",{color:e,toneMapped:!1})))}function Ag({onClick:t,font:e,disabled:n,arcStyle:r,label:i,labelColor:a,axisHeadScale:o=1,...s}){const l=Tt(y=>y.gl),c=w.useMemo(()=>{const y=document.createElement("canvas");y.width=64,y.height=64;const g=y.getContext("2d");return g.beginPath(),g.arc(32,32,16,0,2*Math.PI),g.closePath(),g.fillStyle=r,g.fill(),i&&(g.font=e,g.textAlign="center",g.fillStyle=a,g.fillText(i,32,41)),new bT(y)},[r,i,a,e]),[u,d]=w.useState(!1),f=(i?1:.75)*(u?1.2:1)*o,p=y=>{y.stopPropagation(),d(!0)},m=y=>{y.stopPropagation(),d(!1)};return w.createElement("sprite",ce({scale:f,onPointerOver:n?void 0:p,onPointerOut:n?void 0:t||m},s),w.createElement("spriteMaterial",{map:c,"map-anisotropy":l.capabilities.getMaxAnisotropy()||1,alphaTest:.3,opacity:i?1:.75,toneMapped:!1}))}const hJe=({hideNegativeAxes:t,hideAxisHeads:e,disabled:n,font:r="18px Inter var, Arial, sans-serif",axisColors:i=["#ff2060","#20df80","#2080ff"],axisHeadScale:a=1,axisScale:o,labels:s=["X","Y","Z"],labelColor:l="#000",onClick:c,...u})=>{const[d,f,p]=i,{tweenCamera:m}=t8(),y={font:r,disabled:n,labelColor:l,onClick:c,axisHeadScale:a,onPointerDown:n?void 0:g=>{m(g.object.position),g.stopPropagation()}};return w.createElement("group",ce({scale:40},u),w.createElement(DL,{color:d,rotation:[0,0,0],scale:o}),w.createElement(DL,{color:f,rotation:[0,0,Math.PI/2],scale:o}),w.createElement(DL,{color:p,rotation:[0,-Math.PI/2,0],scale:o}),!e&&w.createElement(w.Fragment,null,w.createElement(Ag,ce({arcStyle:d,position:[1,0,0],label:s[0]},y)),w.createElement(Ag,ce({arcStyle:f,position:[0,1,0],label:s[1]},y)),w.createElement(Ag,ce({arcStyle:p,position:[0,0,1],label:s[2]},y)),!t&&w.createElement(w.Fragment,null,w.createElement(Ag,ce({arcStyle:d,position:[-1,0,0]},y)),w.createElement(Ag,ce({arcStyle:f,position:[0,-1,0]},y)),w.createElement(Ag,ce({arcStyle:p,position:[0,0,-1]},y)))))},mJe=KQe({cellSize:.5,sectionSize:1,fadeDistance:100,fadeStrength:1,cellThickness:.5,sectionThickness:1,cellColor:new dt,sectionColor:new dt,infiniteGrid:!1,followCamera:!1,worldCamProjPosition:new j,worldPlanePosition:new j},`
4755
+ `,clipping:!0}),this.isLineMaterial=!0,Object.defineProperties(this,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(n){this.uniforms.diffuse.value=n}},worldUnits:{enumerable:!0,get:function(){return"WORLD_UNITS"in this.defines},set:function(n){n===!0?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(n){this.uniforms.linewidth.value=n}},dashed:{enumerable:!0,get:function(){return"USE_DASH"in this.defines},set(n){!!n!="USE_DASH"in this.defines&&(this.needsUpdate=!0),n===!0?this.defines.USE_DASH="":delete this.defines.USE_DASH}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(n){this.uniforms.dashScale.value=n}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(n){this.uniforms.dashSize.value=n}},dashOffset:{enumerable:!0,get:function(){return this.uniforms.dashOffset.value},set:function(n){this.uniforms.dashOffset.value=n}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(n){this.uniforms.gapSize.value=n}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(n){this.uniforms.opacity.value=n}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(n){this.uniforms.resolution.value.copy(n)}},alphaToCoverage:{enumerable:!0,get:function(){return"USE_ALPHA_TO_COVERAGE"in this.defines},set:function(n){!!n!="USE_ALPHA_TO_COVERAGE"in this.defines&&(this.needsUpdate=!0),n===!0?(this.defines.USE_ALPHA_TO_COVERAGE="",this.extensions.derivatives=!0):(delete this.defines.USE_ALPHA_TO_COVERAGE,this.extensions.derivatives=!1)}}}),this.setValues(e)}}const pZ=new j,hZ=new j,vo=new Fn,go=new Fn,Ou=new Fn,TL=new j,OL=new Je,Bo=new ZB,mZ=new j,rP=new Br,iP=new oo,ku=new Fn;let Gu,Wz,ove,Vm;function vZ(t,e,n){return ku.set(0,0,-e,1).applyMatrix4(t.projectionMatrix),ku.multiplyScalar(1/ku.w),ku.x=Vm/n.width,ku.y=Vm/n.height,ku.applyMatrix4(t.projectionMatrixInverse),ku.multiplyScalar(1/ku.w),Math.abs(Math.max(ku.x,ku.y))}function GQe(t,e){for(let n=0,r=Wz.count;n<r;n++){Bo.start.fromBufferAttribute(Wz,n),Bo.end.fromBufferAttribute(ove,n);const i=new j,a=new j;Gu.distanceSqToSegment(Bo.start,Bo.end,a,i),a.distanceTo(i)<Vm*.5&&e.push({point:a,pointOnLine:i,distance:Gu.origin.distanceTo(a),object:t,face:null,faceIndex:n,uv:null,uv2:null})}}function WQe(t,e,n){const r=e.projectionMatrix,a=t.material.resolution,o=t.matrixWorld,s=t.geometry,l=s.attributes.instanceStart,c=s.attributes.instanceEnd,u=-e.near;Gu.at(1,Ou),Ou.w=1,Ou.applyMatrix4(e.matrixWorldInverse),Ou.applyMatrix4(r),Ou.multiplyScalar(1/Ou.w),Ou.x*=a.x/2,Ou.y*=a.y/2,Ou.z=0,TL.copy(Ou),OL.multiplyMatrices(e.matrixWorldInverse,o);for(let d=0,f=l.count;d<f;d++){if(vo.fromBufferAttribute(l,d),go.fromBufferAttribute(c,d),vo.w=1,go.w=1,vo.applyMatrix4(OL),go.applyMatrix4(OL),vo.z>u&&go.z>u)continue;if(vo.z>u){const x=vo.z-go.z,C=(vo.z-u)/x;vo.lerp(go,C)}else if(go.z>u){const x=go.z-vo.z,C=(go.z-u)/x;go.lerp(vo,C)}vo.applyMatrix4(r),go.applyMatrix4(r),vo.multiplyScalar(1/vo.w),go.multiplyScalar(1/go.w),vo.x*=a.x/2,vo.y*=a.y/2,go.x*=a.x/2,go.y*=a.y/2,Bo.start.copy(vo),Bo.start.z=0,Bo.end.copy(go),Bo.end.z=0;const m=Bo.closestPointToPointParameter(TL,!0);Bo.at(m,mZ);const y=Xy.lerp(vo.z,go.z,m),g=y>=-1&&y<=1,v=TL.distanceTo(mZ)<Vm*.5;if(g&&v){Bo.start.fromBufferAttribute(l,d),Bo.end.fromBufferAttribute(c,d),Bo.start.applyMatrix4(o),Bo.end.applyMatrix4(o);const x=new j,C=new j;Gu.distanceSqToSegment(Bo.start,Bo.end,C,x),n.push({point:C,pointOnLine:x,distance:Gu.origin.distanceTo(C),object:t,face:null,faceIndex:d,uv:null,uv2:null})}}}class sve extends Ur{constructor(e=new Jj,n=new e8({color:Math.random()*16777215})){super(e,n),this.isLineSegments2=!0,this.type="LineSegments2"}computeLineDistances(){const e=this.geometry,n=e.attributes.instanceStart,r=e.attributes.instanceEnd,i=new Float32Array(2*n.count);for(let o=0,s=0,l=n.count;o<l;o++,s+=2)pZ.fromBufferAttribute(n,o),hZ.fromBufferAttribute(r,o),i[s]=s===0?0:i[s-1],i[s+1]=i[s]+pZ.distanceTo(hZ);const a=new eh(i,2,1);return e.setAttribute("instanceDistanceStart",new sa(a,1,0)),e.setAttribute("instanceDistanceEnd",new sa(a,1,1)),this}raycast(e,n){const r=this.material.worldUnits,i=e.camera;i===null&&!r&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2 while worldUnits is set to false.');const a=e.params.Line2!==void 0&&e.params.Line2.threshold||0;Gu=e.ray;const o=this.matrixWorld,s=this.geometry,l=this.material;Vm=l.linewidth+a,Wz=s.attributes.instanceStart,ove=s.attributes.instanceEnd,s.boundingSphere===null&&s.computeBoundingSphere(),iP.copy(s.boundingSphere).applyMatrix4(o);let c;if(r)c=Vm*.5;else{const d=Math.max(i.near,iP.distanceToPoint(Gu.origin));c=vZ(i,d,l.resolution)}if(iP.radius+=c,Gu.intersectsSphere(iP)===!1)return;s.boundingBox===null&&s.computeBoundingBox(),rP.copy(s.boundingBox).applyMatrix4(o);let u;if(r)u=Vm*.5;else{const d=Math.max(i.near,rP.distanceToPoint(Gu.origin));u=vZ(i,d,l.resolution)}rP.expandByScalar(u),Gu.intersectsBox(rP)!==!1&&(r?GQe(this,n):WQe(this,i,n))}}class $Qe extends sve{constructor(e=new ave,n=new e8({color:Math.random()*16777215})){super(e,n),this.isLine2=!0,this.type="Line2"}}const vR=w.forwardRef(function({points:e,color:n="black",vertexColors:r,linewidth:i,lineWidth:a,segments:o,dashed:s,...l},c){const u=Tt(m=>m.size),d=w.useMemo(()=>o?new sve:new $Qe,[o]),[f]=w.useState(()=>new e8),p=w.useMemo(()=>{const m=o?new Jj:new ave,y=e.map(g=>{const v=Array.isArray(g);return g instanceof j?[g.x,g.y,g.z]:g instanceof Fe?[g.x,g.y,0]:v&&g.length===3?[g[0],g[1],g[2]]:v&&g.length===2?[g[0],g[1],0]:g});if(m.setPositions(y.flat()),r){const g=r.map(v=>v instanceof dt?v.toArray():v);m.setColors(g.flat())}return m},[e,o,r]);return w.useLayoutEffect(()=>{d.computeLineDistances()},[e,d]),w.useLayoutEffect(()=>{s?f.defines.USE_DASH="":delete f.defines.USE_DASH,f.needsUpdate=!0},[s,f]),w.useEffect(()=>()=>p.dispose(),[p]),w.createElement("primitive",ce({object:d,ref:c},l),w.createElement("primitive",{object:p,attach:"geometry"}),w.createElement("primitive",ce({object:f,attach:"material",color:n,vertexColors:!!r,resolution:[u.width,u.height],linewidth:i??a,dashed:s},l)))}),qQe="modulepreload",XQe=function(t){return"/"+t},gZ={},YQe=function(e,n,r){if(!n||n.length===0)return e();const i=document.getElementsByTagName("link");return Promise.all(n.map(a=>{if(a=XQe(a),a in gZ)return;gZ[a]=!0;const o=a.endsWith(".css"),s=o?'[rel="stylesheet"]':"";if(!!r)for(let u=i.length-1;u>=0;u--){const d=i[u];if(d.href===a&&(!o||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${a}"]${s}`))return;const c=document.createElement("link");if(c.rel=o?"stylesheet":qQe,o||(c.as="script",c.crossOrigin=""),c.href=a,document.head.appendChild(c),o)return new Promise((u,d)=>{c.addEventListener("load",u),c.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${a}`)))})})).then(()=>e()).catch(a=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=a,window.dispatchEvent(o),!o.defaultPrevented)throw a})},lve=w.forwardRef(({sdfGlyphSize:t=64,anchorX:e="center",anchorY:n="middle",font:r,fontSize:i=1,children:a,characters:o,onSync:s,...l},c)=>{const{Text:u,preloadFont:d}=MU(async()=>YQe(()=>import("./troika-three-text.esm-6386308e.js"),[]),[]),f=Tt(({invalidate:g})=>g),[p]=w.useState(()=>new u),[m,y]=w.useMemo(()=>{const g=[];let v="";return w.Children.forEach(a,x=>{typeof x=="string"||typeof x=="number"?v+=x:g.push(x)}),[g,v]},[a]);return MU(()=>new Promise(g=>d({font:r,characters:o},g)),["troika-text",r,o]),w.useLayoutEffect(()=>void p.sync(()=>{f(),s&&s(p)})),w.useEffect(()=>()=>p.dispose(),[p]),w.createElement("primitive",ce({object:p,ref:c,font:r,text:y,anchorX:e,anchorY:n,fontSize:i,sdfGlyphSize:t},l),m)});function KQe(t,e,n,r){const i=class extends kn{constructor(o={}){const s=Object.entries(t);super({uniforms:s.reduce((l,[c,u])=>{const d=Xm.clone({[c]:{value:u}});return{...l,...d}},{}),vertexShader:e,fragmentShader:n}),this.key="",s.forEach(([l])=>Object.defineProperty(this,l,{get:()=>this.uniforms[l].value,set:c=>this.uniforms[l].value=c})),Object.assign(this,o),r&&r(this)}};return i.key=Xy.generateUUID(),i}const ZQe=()=>parseInt(md.replace(/\D+/g,"")),QQe=ZQe();function JQe(t,e,n){const r=Tt(f=>f.size),i=Tt(f=>f.viewport),a=typeof t=="number"?t:r.width*i.dpr,o=typeof e=="number"?e:r.height*i.dpr,s=(typeof t=="number"?n:t)||{},{samples:l=0,depth:c,...u}=s,d=w.useMemo(()=>{const f=new Vn(a,o,{minFilter:Zt,magFilter:Zt,type:hs,...u});return c&&(f.depthTexture=new Hw(a,o,Ii)),f.samples=l,f},[]);return w.useLayoutEffect(()=>{d.setSize(a,o),l&&(d.samples=l)},[l,d,a,o]),w.useEffect(()=>()=>d.dispose(),[]),d}const eJe=t=>typeof t=="function",tJe=w.forwardRef(({envMap:t,resolution:e=256,frames:n=1/0,children:r,makeDefault:i,...a},o)=>{const s=Tt(({set:g})=>g),l=Tt(({camera:g})=>g),c=Tt(({size:g})=>g),u=w.useRef(null),d=w.useRef(null),f=JQe(e);w.useLayoutEffect(()=>{a.manual||u.current.updateProjectionMatrix()},[c,a]),w.useLayoutEffect(()=>{u.current.updateProjectionMatrix()}),w.useLayoutEffect(()=>{if(i){const g=l;return s(()=>({camera:u.current})),()=>s(()=>({camera:g}))}},[u,i,s]);let p=0,m=null;const y=eJe(r);return lr(g=>{y&&(n===1/0||p<n)&&(d.current.visible=!1,g.gl.setRenderTarget(f),m=g.scene.background,t&&(g.scene.background=t),g.gl.render(g.scene,u.current),g.scene.background=m,g.gl.setRenderTarget(null),d.current.visible=!0,p++)}),w.createElement(w.Fragment,null,w.createElement("orthographicCamera",ce({left:c.width/-2,right:c.width/2,top:c.height/2,bottom:c.height/-2,ref:uk([u,o])},a),!y&&r),w.createElement("group",{ref:d},y&&r(f.texture)))});function nJe({defaultScene:t,defaultCamera:e,renderPriority:n=1}){const{gl:r,scene:i,camera:a}=Tt();let o;return lr(()=>{o=r.autoClear,n===1&&(r.autoClear=!0,r.render(t,e)),r.autoClear=!1,r.clearDepth(),r.render(i,a),r.autoClear=o},n),w.createElement("group",{onPointerOver:()=>null})}function rJe({children:t,renderPriority:e=1}){const{scene:n,camera:r}=Tt(),[i]=w.useState(()=>new ld);return w.createElement(w.Fragment,null,m6(w.createElement(w.Fragment,null,t,w.createElement(nJe,{defaultScene:n,defaultCamera:r,renderPriority:e})),i,{events:{priority:e+1}}))}const cve=w.createContext({}),t8=()=>w.useContext(cve),iJe=2*Math.PI,kL=new dr,yZ=new Je,[Pg,IL]=[new Jn,new Jn],xZ=new j,CZ=new j,aJe=t=>"minPolarAngle"in t,oJe=({alignment:t="bottom-right",margin:e=[80,80],renderPriority:n=1,onUpdate:r,onTarget:i,children:a})=>{const o=Tt(M=>M.size),s=Tt(M=>M.camera),l=Tt(M=>M.controls),c=Tt(M=>M.invalidate),u=w.useRef(null),d=w.useRef(null),f=w.useRef(!1),p=w.useRef(0),m=w.useRef(new j(0,0,0)),y=w.useRef(new j(0,0,0));w.useEffect(()=>{y.current.copy(s.up)},[s]);const g=w.useCallback(M=>{f.current=!0,(l||i)&&(m.current=(l==null?void 0:l.target)||(i==null?void 0:i())),p.current=s.position.distanceTo(xZ),Pg.copy(s.quaternion),CZ.copy(M).multiplyScalar(p.current).add(xZ),kL.lookAt(CZ),kL.up.copy(s.up),IL.copy(kL.quaternion),c()},[l,s,i,c]);lr((M,P)=>{if(d.current&&u.current){var A;if(f.current)if(Pg.angleTo(IL)<.01)f.current=!1,aJe(l)&&s.up.copy(y.current);else{const R=P*iJe;Pg.rotateTowards(IL,R),s.position.set(0,0,1).applyQuaternion(Pg).multiplyScalar(p.current).add(m.current),s.up.set(0,1,0).applyQuaternion(Pg).normalize(),s.quaternion.copy(Pg),r?r():l&&l.update(),c()}yZ.copy(s.matrix).invert(),(A=u.current)==null||A.quaternion.setFromRotationMatrix(yZ)}});const v=w.useMemo(()=>({tweenCamera:g}),[g]),[x,C]=e,b=t.endsWith("-center")?0:t.endsWith("-left")?-o.width/2+x:o.width/2-x,E=t.startsWith("center-")?0:t.startsWith("top-")?o.height/2-C:-o.height/2+C;return w.createElement(rJe,{renderPriority:n},w.createElement(cve.Provider,{value:v},w.createElement(tJe,{makeDefault:!0,ref:d,position:[0,0,200]}),w.createElement("group",{ref:u,position:[b,E,0]},a)))},Mb={bg:"#f0f0f0",hover:"#999",text:"black",stroke:"black"},sJe=["Right","Left","Top","Bottom","Front","Back"],uve=t=>new j(...t).multiplyScalar(.38),lJe=[[1,1,1],[1,1,-1],[1,-1,1],[1,-1,-1],[-1,1,1],[-1,1,-1],[-1,-1,1],[-1,-1,-1]].map(uve),cJe=[.25,.25,.25],dve=[[1,1,0],[1,0,1],[1,0,-1],[1,-1,0],[0,1,1],[0,1,-1],[0,-1,1],[0,-1,-1],[-1,1,0],[-1,0,1],[-1,0,-1],[-1,-1,0]].map(uve),uJe=dve.map(t=>t.toArray().map(e=>e==0?.5:.25)),dJe=({hover:t,index:e,font:n="20px Inter var, Arial, sans-serif",faces:r=sJe,color:i=Mb.bg,hoverColor:a=Mb.hover,textColor:o=Mb.text,strokeColor:s=Mb.stroke,opacity:l=1})=>{const c=Tt(d=>d.gl),u=w.useMemo(()=>{const d=document.createElement("canvas");d.width=128,d.height=128;const f=d.getContext("2d");return f.fillStyle=i,f.fillRect(0,0,d.width,d.height),f.strokeStyle=s,f.strokeRect(0,0,d.width,d.height),f.font=n,f.textAlign="center",f.fillStyle=o,f.fillText(r[e].toUpperCase(),64,76),new bT(d)},[e,r,n,i,o,s]);return w.createElement("meshBasicMaterial",{map:u,"map-anisotropy":c.capabilities.getMaxAnisotropy()||1,attach:`material-${e}`,color:t?a:"white",transparent:!0,opacity:l})},fJe=t=>{const{tweenCamera:e}=t8(),[n,r]=w.useState(null),i=s=>{s.stopPropagation(),r(null)},a=s=>{s.stopPropagation(),e(s.face.normal)},o=s=>{s.stopPropagation(),r(Math.floor(s.faceIndex/2))};return w.createElement("mesh",{onPointerOut:i,onPointerMove:o,onClick:t.onClick||a},[...Array(6)].map((s,l)=>w.createElement(dJe,ce({key:l,index:l,hover:n===l},t))),w.createElement("boxGeometry",null))},bZ=({onClick:t,dimensions:e,position:n,hoverColor:r=Mb.hover})=>{const{tweenCamera:i}=t8(),[a,o]=w.useState(!1),s=u=>{u.stopPropagation(),o(!1)},l=u=>{u.stopPropagation(),o(!0)},c=u=>{u.stopPropagation(),i(n)};return w.createElement("mesh",{scale:1.01,position:n,onPointerOver:l,onPointerOut:s,onClick:t||c},w.createElement("meshBasicMaterial",{color:a?r:"white",transparent:!0,opacity:.6,visible:a}),w.createElement("boxGeometry",{args:e}))},pJe=t=>w.createElement("group",{scale:[60,60,60]},w.createElement(fJe,t),dve.map((e,n)=>w.createElement(bZ,ce({key:n,position:e,dimensions:uJe[n]},t))),lJe.map((e,n)=>w.createElement(bZ,ce({key:n,position:e,dimensions:cJe},t))));function DL({scale:t=[.8,.05,.05],color:e,rotation:n}){return w.createElement("group",{rotation:n},w.createElement("mesh",{position:[.4,0,0]},w.createElement("boxGeometry",{args:t}),w.createElement("meshBasicMaterial",{color:e,toneMapped:!1})))}function Ag({onClick:t,font:e,disabled:n,arcStyle:r,label:i,labelColor:a,axisHeadScale:o=1,...s}){const l=Tt(y=>y.gl),c=w.useMemo(()=>{const y=document.createElement("canvas");y.width=64,y.height=64;const g=y.getContext("2d");return g.beginPath(),g.arc(32,32,16,0,2*Math.PI),g.closePath(),g.fillStyle=r,g.fill(),i&&(g.font=e,g.textAlign="center",g.fillStyle=a,g.fillText(i,32,41)),new bT(y)},[r,i,a,e]),[u,d]=w.useState(!1),f=(i?1:.75)*(u?1.2:1)*o,p=y=>{y.stopPropagation(),d(!0)},m=y=>{y.stopPropagation(),d(!1)};return w.createElement("sprite",ce({scale:f,onPointerOver:n?void 0:p,onPointerOut:n?void 0:t||m},s),w.createElement("spriteMaterial",{map:c,"map-anisotropy":l.capabilities.getMaxAnisotropy()||1,alphaTest:.3,opacity:i?1:.75,toneMapped:!1}))}const hJe=({hideNegativeAxes:t,hideAxisHeads:e,disabled:n,font:r="18px Inter var, Arial, sans-serif",axisColors:i=["#ff2060","#20df80","#2080ff"],axisHeadScale:a=1,axisScale:o,labels:s=["X","Y","Z"],labelColor:l="#000",onClick:c,...u})=>{const[d,f,p]=i,{tweenCamera:m}=t8(),y={font:r,disabled:n,labelColor:l,onClick:c,axisHeadScale:a,onPointerDown:n?void 0:g=>{m(g.object.position),g.stopPropagation()}};return w.createElement("group",ce({scale:40},u),w.createElement(DL,{color:d,rotation:[0,0,0],scale:o}),w.createElement(DL,{color:f,rotation:[0,0,Math.PI/2],scale:o}),w.createElement(DL,{color:p,rotation:[0,-Math.PI/2,0],scale:o}),!e&&w.createElement(w.Fragment,null,w.createElement(Ag,ce({arcStyle:d,position:[1,0,0],label:s[0]},y)),w.createElement(Ag,ce({arcStyle:f,position:[0,1,0],label:s[1]},y)),w.createElement(Ag,ce({arcStyle:p,position:[0,0,1],label:s[2]},y)),!t&&w.createElement(w.Fragment,null,w.createElement(Ag,ce({arcStyle:d,position:[-1,0,0]},y)),w.createElement(Ag,ce({arcStyle:f,position:[0,-1,0]},y)),w.createElement(Ag,ce({arcStyle:p,position:[0,0,-1]},y)))))},mJe=KQe({cellSize:.5,sectionSize:1,fadeDistance:100,fadeStrength:1,cellThickness:.5,sectionThickness:1,cellColor:new dt,sectionColor:new dt,infiniteGrid:!1,followCamera:!1,worldCamProjPosition:new j,worldPlanePosition:new j},`
4756
4756
  varying vec3 localPosition;
4757
4757
  varying vec4 worldPosition;
4758
4758
 
@@ -10911,7 +10911,7 @@ void main() {
10911
10911
  animation: none;
10912
10912
  }
10913
10913
  }
10914
- `,K5=new Set,F_t=(t,e)=>{e?K5.add(t):K5.delete(t)},Z5=t=>t!==void 0&&K5.has(t),U_t="/session",SCe=U_t.startsWith("/"),g4=(t,e)=>pe.jsxs("span",{className:"rcad-menu-tool",children:[pe.jsx("span",{children:t}),pe.jsxs("code",{children:[".",e]})]});function z_t(t){const e=h.useRef(),{saveFormats:n}=Sl.useSessionConfig(),r=h.useCallback(a=>{(async()=>{try{if(Sl.getInviteFromUrl()){const c=tt(t);await c.v1.common.clear(),a==="Assembly"?await c.v1.assembly.create({name:"Assembly"}):await c.v1.part.create({name:"Part"});return}const s=t,l=await Na.utils.connect(a);if(l){switch(a){case"Assembly":await tt(l).v1.assembly.create({name:"Assembly"});break;case"Part":default:await tt(l).v1.part.create({name:"Part"});break}Zi.getState().api.setActiveDrawing(l)}s&&Zi.getState().api.removeDrawing(s)}catch(s){console.error(s)}})()},[t]),i=h.useCallback(a=>{(async()=>{var s;try{let c=ne(t).name||"drawing";const u=c.lastIndexOf(".");c=c.substring(0,u>=0?u:c.length);const d=await tt(t).v1.common.save({format:a.toUpperCase(),encoding:"base64"}),f=(s=d==null?void 0:d.result)==null?void 0:s.content;if(f){const p=atob(f),m=document.createElement("a");m.href=window.URL.createObjectURL(new Blob([p],{type:"application/octet-stream"})),m.download=`${c}.${a}`,m.click()}}catch(l){console.error(l)}})()},[t]);return h.useMemo(()=>{const a={ofb:{caption:g4("ClassCAD","ofb"),callback:()=>i("ofb")},stp:{caption:g4("STEP","stp"),callback:()=>i("stp")},stl:{caption:g4("STL","stl"),callback:()=>i("stl")}},o=Object.fromEntries(Object.entries(a).filter(([s])=>!n||n.includes(s.toUpperCase())));return{new:{caption:"New",icon:pe.jsx(ut,{name:"plus",size:16}),children:{part:{caption:"Part",icon:pe.jsx(ut,{name:"part",size:16}),callback:()=>r("Part")},assembly:{caption:"Assembly",icon:pe.jsx(ut,{name:"assembly",size:16}),callback:()=>r("Assembly")}}},open:{caption:pe.jsxs(pe.Fragment,{children:["Open …",pe.jsx(Jxe,{ref:e,singleDrawingApp:!0})]}),icon:pe.jsx(ut,{name:"open",size:16}),callback:()=>e.current&&e.current.click()},save:{caption:"Save as",icon:pe.jsx(ut,{name:"download",size:16}),children:o}}},[r,i,n])}const ECe=(t,e)=>{if(e!=null&&e.captionMap){const n=Object.keys(e.captionMap).find(r=>e.captionMap[r].stateName===t);return n?e.captionMap[n].caption:"undefined caption"}return"undefined caption"},_Ce=(t,e)=>{if(e!=null&&e.captionMap){const n=Object.keys(e.captionMap).find(i=>e.captionMap[i].stateName===t),r=n?e.captionMap[n]:void 0;return r&&r.undoable?r.undoable:!1}return!1},MCe=t=>t.stack.filter(e=>Number.parseInt(e)<=t.current&&_Ce(e,t)),PCe=(t,e,n)=>{const r=n.indexOf(e.current.toString());if(r>-1){const i=n.at(r-1);i&&Na.utils.undo(t,i)}else Na.utils.undo(t)},B_t=(t,e)=>{let n=[],r;if(t&&e){r=MCe(e);const i=r.slice(1);n=i.length>0?i.map(a=>({label:ECe(a,e),stateId:a,command:()=>{const o=r.indexOf(a),s=r.at(o===0?0:o-1);s&&Na.utils.undo(t,s)}})):[]}return{label:"Undo",sub:[...n],icon:"undo",command:()=>t&&e&&PCe(t,e,r)}},ACe=t=>t.stack.filter(e=>Number.parseInt(e)>t.current&&_Ce(e,t)),RCe=(t,e)=>{e.length>0&&t&&Na.utils.redo(t,e[0])},V_t=(t,e)=>{let n=[],r;return t&&e&&(r=ACe(e),n=r.length>0?r.map(i=>({label:ECe(i,e),stateId:i,command:()=>{const a=r.indexOf(i),o=r.at(a);o&&Na.utils.redo(t,o)}})):[]),{label:"Redo",sub:[...n],icon:"redo",command:()=>t&&RCe(t,r)}},j_t=t=>`${t} is not available in WebAssembly for the moment. Coming soon.`,H_t=t=>`${t} is not available in a view-only session.`,pre=({command:t,off:e})=>{var o;const n=h.useCallback(s=>{if(t.sub){const l=t.sub.findIndex(u=>u.stateId===s.key);t.sub[l].command()}},[t]),i={items:((o=t.sub)==null?void 0:o.map(s=>({label:s.label,key:s.stateId})))||[],onClick:n},a=!!e||!(t.sub&&t.sub.length>0);return pe.jsxs("span",{className:"rcad-split",children:[pe.jsx(vc,{title:e??t.label,placement:"bottom",mouseEnterDelay:.35,children:pe.jsx("span",{style:{display:"inline-flex"},children:pe.jsx("button",{type:"button",className:"rcad-tool","aria-label":t.label,disabled:a,onClick:t.command,children:t.icon&&pe.jsx(ut,{name:t.icon,size:18})})})}),pe.jsx(DS,{disabled:a,menu:i,trigger:["click"],placement:"bottomLeft",children:pe.jsx("button",{type:"button",className:"rcad-caret","aria-label":`${t.label}: steps`,disabled:a,children:pe.jsx(ut,{name:"caret",size:12})})})]})},G_t=({drawingId:t})=>{const e=z_t(t),n=Sl.useSessionRole()==="view",r=ue(t,c=>c.cad.states),i=h.useMemo(()=>B_t(t,r),[t,r]),a=h.useMemo(()=>V_t(t,r),[t,r]),o=Z5(t),s=n?{save:e.save}:e,l=c=>n?H_t(c):o?j_t(c):void 0;return pe.jsxs(pe.Fragment,{children:[pe.jsx(PCt,{items:s,trigger:["click"],placement:"bottomLeft",children:pe.jsxs("button",{type:"button",className:"rcad-tool rcad-tool-text","aria-label":"File",children:[pe.jsx(ut,{name:"menu",size:18}),pe.jsx("span",{children:"File"})]})}),pe.jsx("span",{className:"rcad-tools-sep"}),pe.jsx(pre,{command:i,off:l("Undo")}),pe.jsx(pre,{command:a,off:l("Redo")})]})},W_t=({drawingId:t})=>{const e=!!Sl.getInviteFromUrl(),n=ue(t,o=>o.cad.connection.connected),r=h.useRef(!1),[i,a]=h.useState(!1);return h.useEffect(()=>{n?r.current=!0:r.current&&a(!0)},[n]),!e||!i?null:pe.jsx($_t,{className:"rcad",role:"alert","aria-live":"assertive",children:pe.jsxs(q_t,{children:[pe.jsx(Y_t,{children:"Session ended"}),pe.jsx("p",{children:"The host ended the shared session, moved it, or your access was revoked."}),pe.jsxs(X_t,{children:[pe.jsx("button",{type:"button",onClick:()=>window.location.reload(),children:"Join again"}),!SCe&&pe.jsx("button",{type:"button",onClick:()=>{window.location.href=`${window.location.origin}${window.location.pathname}`},children:"Leave"})]})]})})},$_t=tr.div`
10914
+ `,K5=new Set,F_t=(t,e)=>{e?K5.add(t):K5.delete(t)},Z5=t=>t!==void 0&&K5.has(t),U_t="/session",SCe=U_t.startsWith("/"),g4=(t,e)=>pe.jsxs("span",{className:"rcad-menu-tool",children:[pe.jsx("span",{children:t}),pe.jsxs("code",{children:[".",e]})]});function z_t(t){const e=h.useRef(),{saveFormats:n}=Sl.useSessionConfig(),r=h.useCallback(a=>{(async()=>{try{if(Sl.getInviteFromUrl()){const c=tt(t);await c.v1.common.clear(),a==="Assembly"?await c.v1.assembly.create({name:"Assembly"}):await c.v1.part.create({name:"Part"});return}const s=t,l=await Na.utils.connect(a);if(l){switch(a){case"Assembly":await tt(l).v1.assembly.create({name:"Assembly"});break;case"Part":default:await tt(l).v1.part.create({name:"Part"});break}Zi.getState().api.setActiveDrawing(l)}s&&Zi.getState().api.removeDrawing(s)}catch(s){console.error(s)}})()},[t]),i=h.useCallback(a=>{(async()=>{var s;try{let c=ne(t).name||"drawing";const u=c.lastIndexOf(".");c=c.substring(0,u>=0?u:c.length);const d=await tt(t).v1.common.save({format:a.toUpperCase(),encoding:"base64"}),f=(s=d==null?void 0:d.result)==null?void 0:s.content;if(f){const p=Uint8Array.from(atob(f),y=>y.charCodeAt(0)),m=document.createElement("a");m.href=window.URL.createObjectURL(new Blob([p],{type:"application/octet-stream"})),m.download=`${c}.${a}`,m.click()}}catch(l){console.error(l)}})()},[t]);return h.useMemo(()=>{const a={ofb:{caption:g4("ClassCAD","ofb"),callback:()=>i("ofb")},stp:{caption:g4("STEP","stp"),callback:()=>i("stp")},stl:{caption:g4("STL","stl"),callback:()=>i("stl")}},o=Object.fromEntries(Object.entries(a).filter(([s])=>!n||n.includes(s.toUpperCase())));return{new:{caption:"New",icon:pe.jsx(ut,{name:"plus",size:16}),children:{part:{caption:"Part",icon:pe.jsx(ut,{name:"part",size:16}),callback:()=>r("Part")},assembly:{caption:"Assembly",icon:pe.jsx(ut,{name:"assembly",size:16}),callback:()=>r("Assembly")}}},open:{caption:pe.jsxs(pe.Fragment,{children:["Open …",pe.jsx(Jxe,{ref:e,singleDrawingApp:!0})]}),icon:pe.jsx(ut,{name:"open",size:16}),callback:()=>e.current&&e.current.click()},save:{caption:"Save as",icon:pe.jsx(ut,{name:"download",size:16}),children:o}}},[r,i,n])}const ECe=(t,e)=>{if(e!=null&&e.captionMap){const n=Object.keys(e.captionMap).find(r=>e.captionMap[r].stateName===t);return n?e.captionMap[n].caption:"undefined caption"}return"undefined caption"},_Ce=(t,e)=>{if(e!=null&&e.captionMap){const n=Object.keys(e.captionMap).find(i=>e.captionMap[i].stateName===t),r=n?e.captionMap[n]:void 0;return r&&r.undoable?r.undoable:!1}return!1},MCe=t=>t.stack.filter(e=>Number.parseInt(e)<=t.current&&_Ce(e,t)),PCe=(t,e,n)=>{const r=n.indexOf(e.current.toString());if(r>-1){const i=n.at(r-1);i&&Na.utils.undo(t,i)}else Na.utils.undo(t)},B_t=(t,e)=>{let n=[],r;if(t&&e){r=MCe(e);const i=r.slice(1);n=i.length>0?i.map(a=>({label:ECe(a,e),stateId:a,command:()=>{const o=r.indexOf(a),s=r.at(o===0?0:o-1);s&&Na.utils.undo(t,s)}})):[]}return{label:"Undo",sub:[...n],icon:"undo",command:()=>t&&e&&PCe(t,e,r)}},ACe=t=>t.stack.filter(e=>Number.parseInt(e)>t.current&&_Ce(e,t)),RCe=(t,e)=>{e.length>0&&t&&Na.utils.redo(t,e[0])},V_t=(t,e)=>{let n=[],r;return t&&e&&(r=ACe(e),n=r.length>0?r.map(i=>({label:ECe(i,e),stateId:i,command:()=>{const a=r.indexOf(i),o=r.at(a);o&&Na.utils.redo(t,o)}})):[]),{label:"Redo",sub:[...n],icon:"redo",command:()=>t&&RCe(t,r)}},j_t=t=>`${t} is not available in WebAssembly for the moment. Coming soon.`,H_t=t=>`${t} is not available in a view-only session.`,pre=({command:t,off:e})=>{var o;const n=h.useCallback(s=>{if(t.sub){const l=t.sub.findIndex(u=>u.stateId===s.key);t.sub[l].command()}},[t]),i={items:((o=t.sub)==null?void 0:o.map(s=>({label:s.label,key:s.stateId})))||[],onClick:n},a=!!e||!(t.sub&&t.sub.length>0);return pe.jsxs("span",{className:"rcad-split",children:[pe.jsx(vc,{title:e??t.label,placement:"bottom",mouseEnterDelay:.35,children:pe.jsx("span",{style:{display:"inline-flex"},children:pe.jsx("button",{type:"button",className:"rcad-tool","aria-label":t.label,disabled:a,onClick:t.command,children:t.icon&&pe.jsx(ut,{name:t.icon,size:18})})})}),pe.jsx(DS,{disabled:a,menu:i,trigger:["click"],placement:"bottomLeft",children:pe.jsx("button",{type:"button",className:"rcad-caret","aria-label":`${t.label}: steps`,disabled:a,children:pe.jsx(ut,{name:"caret",size:12})})})]})},G_t=({drawingId:t})=>{const e=z_t(t),n=Sl.useSessionRole()==="view",r=ue(t,c=>c.cad.states),i=h.useMemo(()=>B_t(t,r),[t,r]),a=h.useMemo(()=>V_t(t,r),[t,r]),o=Z5(t),s=n?{save:e.save}:e,l=c=>n?H_t(c):o?j_t(c):void 0;return pe.jsxs(pe.Fragment,{children:[pe.jsx(PCt,{items:s,trigger:["click"],placement:"bottomLeft",children:pe.jsxs("button",{type:"button",className:"rcad-tool rcad-tool-text","aria-label":"File",children:[pe.jsx(ut,{name:"menu",size:18}),pe.jsx("span",{children:"File"})]})}),pe.jsx("span",{className:"rcad-tools-sep"}),pe.jsx(pre,{command:i,off:l("Undo")}),pe.jsx(pre,{command:a,off:l("Redo")})]})},W_t=({drawingId:t})=>{const e=!!Sl.getInviteFromUrl(),n=ue(t,o=>o.cad.connection.connected),r=h.useRef(!1),[i,a]=h.useState(!1);return h.useEffect(()=>{n?r.current=!0:r.current&&a(!0)},[n]),!e||!i?null:pe.jsx($_t,{className:"rcad",role:"alert","aria-live":"assertive",children:pe.jsxs(q_t,{children:[pe.jsx(Y_t,{children:"Session ended"}),pe.jsx("p",{children:"The host ended the shared session, moved it, or your access was revoked."}),pe.jsxs(X_t,{children:[pe.jsx("button",{type:"button",onClick:()=>window.location.reload(),children:"Join again"}),!SCe&&pe.jsx("button",{type:"button",onClick:()=>{window.location.href=`${window.location.origin}${window.location.pathname}`},children:"Leave"})]})]})})},$_t=tr.div`
10915
10915
  position: absolute;
10916
10916
  inset: 0;
10917
10917
  z-index: 100001;
@@ -1,4 +1,4 @@
1
- import{U as xn,M as kn,R as Fn,a as Cn,S as Dn,I as An,b as En,B as Mn,c as Pn,D as on,d as Gn,V as Vt,e as zr,C as yr,f as On,g as br,F as Bn,T as Ln,L as Vr,P as Ur,h as Rn,i as In,j as Wn,k as Nn,l as _r}from"./index-c650c783.js";function zn(){var c=Object.create(null);function r(t,e){var o=t.id,a=t.name,n=t.dependencies;n===void 0&&(n=[]);var i=t.init;i===void 0&&(i=function(){});var s=t.getTransferables;if(s===void 0&&(s=null),!c[o])try{n=n.map(function(l){return l&&l.isWorkerModule&&(r(l,function(h){if(h instanceof Error)throw h}),l=c[l.id].value),l}),i=u("<"+a+">.init",i),s&&(s=u("<"+a+">.getTransferables",s));var f=null;typeof i=="function"?f=i.apply(void 0,n):console.error("worker module init function failed to rehydrate"),c[o]={id:o,value:f,getTransferables:s},e(f)}catch(l){l&&l.noLog||console.error(l),e(l)}}function d(t,e){var o,a=t.id,n=t.args;(!c[a]||typeof c[a].value!="function")&&e(new Error("Worker module "+a+": not found or its 'init' did not return a function"));try{var i=(o=c[a]).value.apply(o,n);i&&typeof i.then=="function"?i.then(s,function(f){return e(f instanceof Error?f:new Error(""+f))}):s(i)}catch(f){e(f)}function s(f){try{var l=c[a].getTransferables&&c[a].getTransferables(f);(!l||!Array.isArray(l)||!l.length)&&(l=void 0),e(f,l)}catch(h){console.error(h),e(h)}}}function u(t,e){var o=void 0;self.troikaDefine=function(n){return o=n};var a=URL.createObjectURL(new Blob(["/** "+t.replace(/\*/g,"")+` **/
1
+ import{U as xn,M as kn,R as Fn,a as Cn,S as Dn,I as An,b as En,B as Mn,c as Pn,D as on,d as Gn,V as Vt,e as zr,C as yr,f as On,g as br,F as Bn,T as Ln,L as Vr,P as Ur,h as Rn,i as In,j as Wn,k as Nn,l as _r}from"./index-f84cd890.js";function zn(){var c=Object.create(null);function r(t,e){var o=t.id,a=t.name,n=t.dependencies;n===void 0&&(n=[]);var i=t.init;i===void 0&&(i=function(){});var s=t.getTransferables;if(s===void 0&&(s=null),!c[o])try{n=n.map(function(l){return l&&l.isWorkerModule&&(r(l,function(h){if(h instanceof Error)throw h}),l=c[l.id].value),l}),i=u("<"+a+">.init",i),s&&(s=u("<"+a+">.getTransferables",s));var f=null;typeof i=="function"?f=i.apply(void 0,n):console.error("worker module init function failed to rehydrate"),c[o]={id:o,value:f,getTransferables:s},e(f)}catch(l){l&&l.noLog||console.error(l),e(l)}}function d(t,e){var o,a=t.id,n=t.args;(!c[a]||typeof c[a].value!="function")&&e(new Error("Worker module "+a+": not found or its 'init' did not return a function"));try{var i=(o=c[a]).value.apply(o,n);i&&typeof i.then=="function"?i.then(s,function(f){return e(f instanceof Error?f:new Error(""+f))}):s(i)}catch(f){e(f)}function s(f){try{var l=c[a].getTransferables&&c[a].getTransferables(f);(!l||!Array.isArray(l)||!l.length)&&(l=void 0),e(f,l)}catch(h){console.error(h),e(h)}}}function u(t,e){var o=void 0;self.troikaDefine=function(n){return o=n};var a=URL.createObjectURL(new Blob(["/** "+t.replace(/\*/g,"")+` **/
2
2
 
3
3
  troikaDefine(
4
4
  `+e+`
@@ -9,7 +9,7 @@
9
9
  <link rel="manifest" href="/manifest.json" />
10
10
  <title>buerligons</title>
11
11
 
12
- <script type="module" crossorigin src="/assets/index-c650c783.js"></script>
12
+ <script type="module" crossorigin src="/assets/index-f84cd890.js"></script>
13
13
  <link rel="stylesheet" href="/assets/index-54a14bc0.css">
14
14
  </head>
15
15
  <body>
package/dist/client.js CHANGED
@@ -175,10 +175,12 @@ export async function connect(url = DEFAULT_URL, opts = {}) {
175
175
  * Keeps the accumulated graphic in step with one reply of the local engine,
176
176
  * whoever asked. The engine never announces that a body is gone, so
177
177
  * containers are dropped here: all of them when the drawing is emptied
178
- * (clear, load with doClear — a restored checkpoint included), and on every
179
- * pull those whose owner left the model tree (a deleted feature, a clear
180
- * that kept some ids). Without this a render shows bodies of earlier models
181
- * next to the current one.
178
+ * (clear, load with doClear — a restored checkpoint included), a body's
179
+ * earlier tessellation when a new one arrives (a recalc, an expression
180
+ * change: same owner, new container id), and on every pull those
181
+ * whose owner left the model tree (a deleted feature, a clear that kept some
182
+ * ids). Without this a render shows bodies of earlier models next to the
183
+ * current one, and scripts read stale face and edge ids.
182
184
  */
183
185
  function absorb(req, res) {
184
186
  if (res.decodeErrors?.length)
@@ -187,8 +189,15 @@ export async function connect(url = DEFAULT_URL, opts = {}) {
187
189
  containers.clear();
188
190
  for (const pkg of res.binaryMessages ?? []) {
189
191
  for (const c of pkg?.containers ?? []) {
190
- if (c && c.id != null)
191
- containers.set(String(c.id), c);
192
+ if (!c || c.id == null)
193
+ continue;
194
+ if (c.type === 1 && c.owner != null) {
195
+ for (const [key, old] of containers) {
196
+ if (key !== String(c.id) && old.type === 1 && old.owner === c.owner)
197
+ containers.delete(key);
198
+ }
199
+ }
200
+ containers.set(String(c.id), c);
192
201
  }
193
202
  }
194
203
  for (const m of res.messages ?? []) {
@@ -222,7 +231,7 @@ export async function connect(url = DEFAULT_URL, opts = {}) {
222
231
  if (req.command !== 'GetTree' && req.command !== 'Sync') {
223
232
  version++;
224
233
  if (touchesDatabaseSettings(req))
225
- ensuredGeneration = -1;
234
+ ensured = null;
226
235
  }
227
236
  absorb(req, res);
228
237
  for (const hear of replyListeners)
@@ -344,9 +353,12 @@ export async function connect(url = DEFAULT_URL, opts = {}) {
344
353
  const entry = pending.get(txId);
345
354
  if (!entry) {
346
355
  // A sibling's command (the server fans its frames out to everyone in the
347
- // session): whatever it was, the model may be another one now.
348
- if (frame.command === 'Result' && !READS.has(frame._from_))
356
+ // session, the request not among them): whatever it was, the model may be
357
+ // another one now, and so may the database settings.
358
+ if (frame.command === 'Result' && !READS.has(frame._from_)) {
349
359
  version++;
360
+ ensured = null;
361
+ }
350
362
  return;
351
363
  }
352
364
  if (frame.command !== 'Result')
@@ -526,11 +538,10 @@ export async function connect(url = DEFAULT_URL, opts = {}) {
526
538
  }
527
539
  if (!localEngine) {
528
540
  localEngine = await startLocalEngine({ ...opts.wasm, log });
529
- // A new engine has an empty drawing and default database settings.
530
- // Checkpoints (save payloads held here) stay valid: restore loads them
531
- // into this one.
541
+ // A new engine has an empty drawing (and default database settings:
542
+ // resetCaches). Checkpoints (save payloads held here) stay valid:
543
+ // restore loads them into this one.
532
544
  containers.clear();
533
- ensuredGeneration = -1;
534
545
  await bootstrapSession();
535
546
  for (const hear of engineStartListeners)
536
547
  hear();
@@ -580,10 +591,14 @@ export async function connect(url = DEFAULT_URL, opts = {}) {
580
591
  /**
581
592
  * Fill BOTH caches with one GetTree. Not tracked — it is not a mutation.
582
593
  * GetTree always returns the structure; inside a suppressed script the
583
- * kernel graphic is switched on around it and back to what it was.
594
+ * kernel graphic is switched on around it and back to what it was. The
595
+ * graphic comes under the database settings renders need (ensureGraphics).
584
596
  */
585
597
  async function pull() {
598
+ // Taken before the settings are ensured: a sibling's command that lands
599
+ // in between (its own settings, maybe) leaves this pull stale.
586
600
  const at = version;
601
+ await ensureGraphics();
587
602
  const toggle = graphics && knownKernel === false;
588
603
  const read = async () => {
589
604
  await request('GetTree', {}, { track: false });
@@ -603,26 +618,33 @@ export async function connect(url = DEFAULT_URL, opts = {}) {
603
618
  return (lastStructure?.tree ?? {});
604
619
  }
605
620
  // The engine omits brep EDGE data from graphic payloads until the graphic
606
- // database settings are enabled — ensure once per (re)connect generation.
607
- // Untracked: it changes engine settings, not the model.
608
- let ensuredGeneration = -1;
621
+ // database settings are enabled — ensured before a pull, once per engine
622
+ // link and (re)connect generation, and again after anyone else in the
623
+ // session ran a command: an app sets its own settings on every connect
624
+ // (doCurveTessellation off puts the edges into `lines`/`arcs`), and the
625
+ // fan-out of its command does not say which one it was. Untracked: it
626
+ // changes engine settings, not the model. Every reset comes with a stale
627
+ // graphic (version, resetCaches), so no graphic of other settings is kept.
628
+ let ensured = null;
609
629
  async function ensureGraphics() {
610
- if (ensuredGeneration === generation)
611
- return;
612
- ensuredGeneration = generation;
613
- try {
614
- await request('Execute', {
630
+ // Opened first: opening resets this and pulls, and that pull must not
631
+ // wait for settings that are waiting for the open.
632
+ await ensureOpen();
633
+ if (ensured?.generation !== generation) {
634
+ const done = request('Execute', {
615
635
  task: [
616
636
  { 'v1.common.setDatabaseSettings': [{ ...GRAPHIC_SETTINGS }] },
617
637
  ],
618
638
  options: { undoable: false },
619
- }, { track: false });
620
- }
621
- catch {
622
- /* older servers — proceed without edges */
639
+ }, { track: false }).then(() => { }, () => {
640
+ /* older servers — proceed without edges */
641
+ });
642
+ ensured = { generation, done };
623
643
  }
644
+ return ensured.done;
624
645
  }
625
646
  async function getGraphic(o) {
647
+ // Before the check: a connection opened here has pulled already.
626
648
  await ensureGraphics();
627
649
  // recalc is OPT-IN: it regenerates the whole model and DESTROYS
628
650
  // entity-injection bodies. The pull alone reflects the current model.
@@ -701,6 +723,8 @@ export async function connect(url = DEFAULT_URL, opts = {}) {
701
723
  treeVersion = -1;
702
724
  graphicVersion = -1;
703
725
  knownKernel = null;
726
+ // Another engine link: its database settings are not known to be ours.
727
+ ensured = null;
704
728
  }
705
729
  async function openWs(sessionId) {
706
730
  // Leaving the local engine for a worker: the engine stays warm in case
@@ -725,6 +749,7 @@ export async function connect(url = DEFAULT_URL, opts = {}) {
725
749
  treeVersion = -1;
726
750
  graphicVersion = -1;
727
751
  knownKernel = null;
752
+ ensured = null;
728
753
  const wsOpts = sessionId ? { headers: { 'ClassCAD-Session-Id': sessionId } } : {};
729
754
  const sock = new WebSocket(currentUrl, wsOpts);
730
755
  ws = sock;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC1G,yEAAyE;AACzE,EAAE;AACF,+EAA+E;AAC/E,sEAAsE;AACtE,EAAE;AACF,gFAAgF;AAChF,4EAA4E;AAC5E,2EAA2E;AAC3E,2EAA2E;AAC3E,2EAA2E;AAC3E,2EAA2E;AAC3E,0EAA0E;AAC1E,2EAA2E;AAC3E,2EAA2E;AAC3E,sCAAsC;AACtC,uEAAuE;AACvE,sEAAsE;AACtE,kEAAkE;AAClE,yEAAyE;AACzE,yEAAyE;AACzE,gDAAgD;AAChD,EAAE;AACF,+EAA+E;AAC/E,+DAA+D;AAC/D,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,wCAAwC;AACxC,6EAA6E;AAC7E,iEAAiE;AACjE,6EAA6E;AAC7E,8EAA8E;AAC9E,6EAA6E;AAC7E,+EAA+E;AAC/E,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,+EAA+E;AAE/E,OAAO,SAAS,MAAM,IAAI,CAAA;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,KAAK,CAAA;AAE3C,OAAO,EAAE,gBAAgB,EAAqE,MAAM,kBAAkB,CAAA;AAMtH,gFAAgF;AAChF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAA;AACvF,gGAAgG;AAChG,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAA;AAEpH,MAAM,WAAW,GAAG,oBAAoB,CAAA;AACxC,MAAM,eAAe,GAAG,MAAM,CAAA;AAC9B,MAAM,eAAe,GAAG,KAAK,CAAA;AAC7B,wFAAwF;AACxF,MAAM,eAAe,GAAG,KAAK,CAAA;AAE7B,iFAAiF;AACjF,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,IAAY,CAAA;IAChB,IAAI,IAAY,CAAA;IAChB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QACtB,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QACzC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACvC,MAAM,IAAI,GAAG,CAAC,EAAW,EAAE,EAAE;YAC3B,IAAI,CAAC,OAAO,EAAE,CAAA;YACd,OAAO,CAAC,EAAE,CAAC,CAAA;QACb,CAAC,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACtC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAA4B,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAA;AAoCpF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAA;AAuE7I,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAc,WAAW,EAAE,OAAuB,EAAE;IAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAA;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAA;IACjC,IAAI,cAAc,GAAG,KAAK,CAAA;IAC1B,MAAM,OAAO,GAAG,IAAI,eAAe,EAAa,CAAA;IAChD,4EAA4E;IAC5E,2EAA2E;IAC3E,6EAA6E;IAC7E,gFAAgF;IAChF,MAAM,OAAO,GAAG,GAAG,CAAA;IACnB,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,UAAU,GAAG,GAAG,CAAA;IAEpB,IAAI,WAAW,GAAmB,IAAI,CAAA;IACtC,IAAI,aAAa,GAAqB,IAAI,CAAA;IAC1C,2EAA2E;IAC3E,2EAA2E;IAC3E,qEAAqE;IACrE,sEAAsE;IACtE,gDAAgD;IAChD,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,WAAW,GAAG,CAAC,CAAC,CAAA;IACpB,IAAI,cAAc,GAAG,CAAC,CAAC,CAAA;IACvB,4EAA4E;IAC5E,oEAAoE;IACpE,kEAAkE;IAClE,IAAI,WAAW,GAAmB,IAAI,CAAA;IACtC,IAAI,EAAE,GAA0B,SAAS,CAAA;IACzC,4EAA4E;IAC5E,sEAAsE;IACtE,sEAAsE;IACtE,IAAI,gBAAgB,GAAkB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAA;IAC5D,uEAAuE;IACvE,IAAI,cAAc,GAAyB,IAAI,CAAA;IAE/C,IAAI,SAAS,GAAc,IAAI,CAAA;IAC/B,2CAA2C;IAC3C,0EAA0E;IAC1E,yEAAyE;IACzE,qEAAqE;IACrE,IAAI,WAAW,GAAuB,IAAI,CAAA;IAC1C,IAAI,MAAM,GAAiB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAA;IAChD,6EAA6E;IAC7E,4EAA4E;IAC5E,0EAA0E;IAC1E,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,eAAe,GAAG,CAAC,CAAA;IACvB,IAAI,mBAAmB,GAAG,KAAK,CAAA;IAC/B,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAClC,4EAA4E;IAC5E,IAAI,WAAW,GAAkB,IAAI,CAAA;IACrC,4EAA4E;IAC5E,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAe,CAAA;IAEzC,SAAS,IAAI,CAAC,GAA4B;QACxC,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,aAAa,CAAC,GAAG,CAAC,CAAA;YAClB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAC9C,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9B,CAAC;IAED,4EAA4E;IAC5E,SAAS,aAAa,CAAC,GAA4B;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QACtC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC/B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACpB,KAAK,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAA;YAC5D,OAAM;QACR,CAAC;QACD,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAC3B,GAAG,CAAC,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,EACpC,GAAG,CAAC,EAAE;YACJ,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC/B,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACpB,KAAK,CAAC,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACnE,CAAC;QACH,CAAC,CACF,CAAA;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,MAAM,CAAC,GAA4B,EAAE,GAAwB;QACpE,IAAI,GAAG,CAAC,YAAY,EAAE,MAAM;YAAE,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,wCAAwC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC/H,IAAI,cAAc,CAAC,GAAG,CAAC;YAAE,UAAU,CAAC,KAAK,EAAE,CAAA;QAC3C,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,IAAK,GAAW,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;gBAC/C,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI;oBAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YACxD,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,EAAE,OAAO,KAAK,QAAQ;gBAAE,SAAQ;YACrC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAA;YAC9C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM;gBAAE,SAAQ;YACnD,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAA;YAC5C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,SAAQ;YAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;gBAClC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;oBAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAChE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,GAAG,EAAuB,CAAA;IACrD,SAAS,aAAa,CAAC,QAA6B;QAClD,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC5B,OAAO,GAAG,EAAE,CAAC,KAAK,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACnD,CAAC;IAED,yEAAyE;IACzE,KAAK,UAAU,KAAK,CAAC,GAA4B;QAC/C,MAAM,UAAU,EAAE,CAAA;QAClB,IAAI,SAAS,KAAK,MAAM,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QAC/G,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1C,4EAA4E;QAC5E,wEAAwE;QACxE,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YACxD,OAAO,EAAE,CAAA;YACT,IAAI,uBAAuB,CAAC,GAAG,CAAC;gBAAE,iBAAiB,GAAG,CAAC,CAAC,CAAA;QAC1D,CAAC;QACD,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAChB,KAAK,MAAM,IAAI,IAAI,cAAc;YAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;QAC1D,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,oHAAoH;IACpH,SAAS,uBAAuB,CAAC,GAA4B;QAC3D,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,+BAA+B,IAAI,CAAC,CAAC,CAAA;IAC1H,CAAC;IAED,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAc,CAAA;IAClD,SAAS,aAAa,CAAC,QAAoB;QACzC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAClC,OAAO,GAAG,EAAE,CAAC,KAAK,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAiC,CAAA;IACjE,SAAS,cAAc,CAAC,QAAuC;QAC7D,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC9B,OAAO,GAAG,EAAE,CAAC,KAAK,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACrD,CAAC;IACD,SAAS,SAAS,CAAC,KAAmB;QACpC,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QAC/E,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,4FAA4F;IAC5F,SAAS,mBAAmB,CAAC,GAA4B,EAAE,GAAwB;QACjF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE;YAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC/B,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACpB,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC,CAAA;QACD,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAChB,KAAK,MAAM,IAAI,IAAI,cAAc;YAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;QACzD,8EAA8E;QAC9E,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,cAAc,IAAI,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;aACnF,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,YAAY,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC,CAAA;QAClJ,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ;gBAAE,SAAQ;YACpC,MAAM,KAAK,GAAwB;gBACjC,GAAG,CAAC;gBACJ,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO;gBACzC,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa;aAC3E,CAAA;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,uEAAuE;gBACvE,kEAAkE;gBAClE,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;oBACnD,IAAI,CAAC,uCAAuC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBACnE,OAAM;gBACR,CAAC;gBACD,8EAA8E;gBAC9E,MAAM,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;gBAChC,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;oBACpE,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAA;oBACnB,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,CAAA;gBAC5F,CAAC;YACH,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1D,0FAA0F;gBAC1F,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACnG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAA;oBAC9B,OAAO,KAAK,CAAC,MAAM,CAAA;gBACrB,CAAC;gBACD,yFAAyF;gBACzF,KAAK,CAAC,OAAO,GAAG,EAAE,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAA;YAC1D,CAAC;YACD,SAAS,GAAG,IAAI,CAAA;YAChB,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACxD,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAA;YAC/E,IAAI,CAAC,iCAAiC,eAAe,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAChH,CAAC;IACH,CAAC;IAED,8FAA8F;IAC9F,SAAS,cAAc,CAAC,GAA4B;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAyC,CAAC,CAAC,CAAC,SAAS,CAAA;QACvG,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QACvB,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,IAAI,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAwC,CAAA;QAC1I,IAAI,iBAAiB,IAAI,IAAI;YAAE,OAAO,CAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,OAAiC,EAAE,MAAM,CAAA;QAC3G,IAAI,gBAAgB,IAAI,IAAI;YAAE,OAAO,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAA;QAC9E,OAAO,KAAK,CAAA;IACd,CAAC;IAED,SAAS,eAAe,CAAC,GAA4B;QACnD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAyC,CAAC,CAAC,CAAC,SAAS,CAAA;QACvG,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACtD,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC1E,CAAC;IAED,SAAS,WAAW,CAAC,IAAuB,EAAE,QAAiB;QAC7D,IAAI,QAAQ;YAAE,OAAM;QACpB,IAAI,KAAU,CAAA;QACd,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAM;QACR,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,CAAA;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,8EAA8E;YAC9E,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;gBAAE,KAAK,MAAM,IAAI,IAAI,gBAAgB;oBAAE,IAAI,CAAC,KAAqB,CAAC,CAAA;YACxG,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,yEAAyE;YACzE,+DAA+D;YAC/D,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;gBAAE,OAAO,EAAE,CAAA;YACrE,OAAM;QACR,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAM;QACtC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAEpB,uEAAuE;QACvE,yEAAyE;QACzE,oEAAoE;QACpE,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;QACvC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAA;YAC9B,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;QACrD,CAAC;QACD,0EAA0E;QAC1E,IAAI,KAAK,CAAC,SAAS,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9F,aAAa,GAAG,KAAK,CAAC,SAAsB,CAAA;YAC5C,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;QAC/C,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,UAAU,OAAO,CAAc,OAAe,EAAE,QAAgB,EAAE,EAAE,IAAyB,EAAE;QAClG,IAAI,cAAc;YAAE,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAA;QACnH,MAAM,UAAU,EAAE,CAAA;QAClB,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO,EAAE,CAAA;QAChC,MAAM,aAAa,GAAG,UAAU,EAAE,CAAA;QAClC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,OAAiC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,eAAe,EAAE,SAAS,EAAE,GAAG,EAAE;oBACvM,qEAAqE;oBACrE,sEAAsE;oBACtE,qEAAqE;oBACrE,IAAI,SAAS,KAAK,MAAM,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;wBAC/D,GAAG,CAAC,oCAAoC,OAAO,mGAAmG,CAAC,CAAA;wBACnJ,WAAW,CAAC,KAAK,CAAC,kBAAkB,OAAO,6BAA6B,CAAC,CAAA;oBAC3E,CAAC;;wBAAM,cAAc,GAAG,IAAI,CAAA;gBAC9B,CAAC,EAAE,CAAC,CAAA;YACJ,sEAAsE;YACtE,oEAAoE;YACpE,IAAI,CAAC;gBAAC,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;YAAC,CAAC;YACxE,OAAO,KAAK,EAAE,CAAC;gBAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAAC,MAAM,CAAC,KAAc,CAAC,CAAA;YAAC,CAAC;QAEzE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,sCAAsC;IACtC,KAAK,UAAU,UAAU;QACvB,IAAI,SAAS,KAAK,MAAM,IAAI,WAAW,EAAE,MAAM,EAAE,CAAC;YAChD,IAAI,cAAc;gBAAE,OAAO,cAAc,CAAA;YACzC,cAAc,GAAG,kBAAkB,CAAC,WAAW,CAAC,WAAW,IAAI,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBACpF,cAAc,GAAG,IAAI,CAAA;YACvB,CAAC,CAAC,CAAA;YACF,OAAO,cAAc,CAAA;QACvB,CAAC;QACD,IAAI,SAAS,KAAK,MAAM,IAAI,WAAW,EAAE,CAAC;YACxC,wEAAwE;YACxE,wEAAwE;YACxE,IAAI,YAAY,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClD,OAAO,GAAG,IAAI,CAAA;gBACd,IAAI,CAAC;oBACH,MAAM,YAAY,EAAE,CAAA;gBACtB,CAAC;wBAAS,CAAC;oBACT,OAAO,GAAG,KAAK,CAAA;gBACjB,CAAC;YACH,CAAC;YACD,OAAM;QACR,CAAC;QACD,IAAI,SAAS,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;YAAE,OAAM;QACxE,IAAI,cAAc;YAAE,OAAO,cAAc,CAAA;QACzC,cAAc,GAAG,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACnE,cAAc,GAAG,IAAI,CAAA;QACvB,CAAC,CAAC,CAAA;QACF,OAAO,cAAc,CAAA;IACvB,CAAC;IAED;;;;;OAKG;IACH,KAAK,UAAU,YAAY,CAAC,GAAiB,EAAE,SAAwB;QACrE,YAAY,GAAG,KAAK,CAAA;QACpB,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,aAAa,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAA;YACtI,MAAM,QAAQ,EAAE,CAAA;YAChB,OAAM;QACR,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,SAAS,CAAC,CAAA;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,WAAW,GAAG,GAAG,YAAY,KAAK,IAAK,GAA4C,CAAC,cAAc,KAAK,IAAI,CAAA;YACjH,IAAI,GAAG,KAAK,MAAM,IAAI,WAAW,IAAI,CAAC,SAAS,IAAI,aAAa,EAAE,EAAE,CAAC;gBACnE,GAAG,CAAC,yBAAyB,UAAU,KAAM,GAAa,CAAC,OAAO,IAAK,GAAyB,CAAC,IAAI,IAAI,SAAS,iDAAiD,CAAC,CAAA;gBACpK,MAAM,QAAQ,EAAE,CAAA;gBAChB,YAAY,GAAG,IAAI,CAAA;gBACnB,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBAC5B,OAAM;YACR,CAAC;YACD,IAAI,WAAW,IAAI,GAAG,KAAK,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CACb,mCAAmC,UAAU,KAAM,GAAa,CAAC,OAAO,8DAA8D;oBACpI,gFAAgF,CACnF,CAAA;YACH,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,UAAU,YAAY;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,IAAI,GAAG,GAAG,eAAe,GAAG,eAAe;YAAE,OAAM;QACnD,eAAe,GAAG,GAAG,CAAA;QACrB,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;YAAE,OAAM;QAChD,IAAI,KAAK,GAAG,KAAK,CAAA;QACjB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7C,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,YAAY,CAAC,CAAA;QAC1E,CAAC;QAAC,MAAM,CAAC;YACP,OAAM;QACR,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,GAAG,CAAC,sBAAsB,UAAU,0IAA0I,CAAC,CAAA;gBAC/K,mBAAmB,GAAG,IAAI,CAAA;YAC5B,CAAC;YACD,YAAY,GAAG,KAAK,CAAA;YACpB,OAAM;QACR,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;YAClB,YAAY,GAAG,KAAK,CAAA;YACpB,GAAG,CAAC,sBAAsB,UAAU,oFAAoF,CAAC,CAAA;QAC3H,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,aAAa,UAAU,8BAA+B,GAAa,CAAC,OAAO,sCAAsC,CAAC,CAAA;YACtH,MAAM,QAAQ,EAAE,CAAA;QAClB,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,KAAK,UAAU,QAAQ;QACrB,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,EAAE,CAAC,KAAK,EAAE,CAAA;YACZ,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,EAAE,GAAG,SAAS,CAAA;QAChB,CAAC;QACD,WAAW,EAAE,CAAA;QACb,SAAS,GAAG,MAAM,CAAA;QAClB,gBAAgB,GAAG,IAAI,CAAA;QACvB,WAAW,GAAG,IAAI,CAAA;QAClB,wEAAwE;QACxE,oEAAoE;QACpE,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACvE,MAAM,GAAG,GAAG,WAAW,CAAC,WAAW,IAAI,+BAA+B,CAAA;YACtE,GAAG,CAAC,qBAAqB,GAAG,6CAA6C,CAAC,CAAA;YAC1E,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACtB,WAAW,GAAG,IAAI,CAAA;QACpB,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,WAAW,GAAG,MAAM,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,IAAK,EAAE,GAAG,EAAE,CAAC,CAAA;YAC5D,mEAAmE;YACnE,uEAAuE;YACvE,iBAAiB;YACjB,UAAU,CAAC,KAAK,EAAE,CAAA;YAClB,iBAAiB,GAAG,CAAC,CAAC,CAAA;YACtB,MAAM,gBAAgB,EAAE,CAAA;YACxB,KAAK,MAAM,IAAI,IAAI,oBAAoB;gBAAE,IAAI,EAAE,CAAA;QACjD,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,gBAAgB;YAAE,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;IACxF,CAAC;IAED,6EAA6E;IAC7E,KAAK,UAAU,kBAAkB,CAAC,GAAW;QAC3C,GAAG,CAAC,8BAA8B,GAAG,8CAA8C,CAAC,CAAA;QACpF,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QACvB,WAAW,GAAG,IAAI,CAAA;QAClB,MAAM,QAAQ,EAAE,CAAA;IAClB,CAAC;IAED,SAAS,OAAO,CAAc,IAAY;QACxC,OAAO,OAAO,CAAI,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;IAC9E,CAAC;IAED,SAAS,KAAK;QACZ,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI;YAAE,EAAE,CAAC,KAAK,EAAE,CAAA;QACrD,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,KAAK,EAAE,CAAA;YACnB,WAAW,GAAG,IAAI,CAAA;QACpB,CAAC;IACH,CAAC;IAED,SAAS,cAAc;QACrB,OAAO,WAAW,CAAA;IACpB,CAAC;IACD,SAAS,YAAY;QACnB,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,wEAAwE;IACxE,4EAA4E;IAC5E,0EAA0E;IAC1E,8DAA8D;IAC9D,SAAS,cAAc,CAAC,GAAwC;QAC9D,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,kBAAkB,KAAK,SAAS;YAAE,WAAW,GAAG,GAAG,CAAC,kBAAkB,CAAA;QAC5F,OAAO,GAA8B,CAAA;IACvC,CAAC;IACD,KAAK,UAAU,iBAAiB;QAC9B,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAiC,CAAC,CAAA;IACrH,CAAC;IACD,KAAK,UAAU,iBAAiB,CAAC,OAAgC;QAC/D,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAiC,CAAC,CAAA;IACtI,CAAC;IAED;;;;OAIG;IACH,KAAK,UAAU,IAAI;QACjB,MAAM,EAAE,GAAG,OAAO,CAAA;QAClB,MAAM,MAAM,GAAG,QAAQ,IAAI,WAAW,KAAK,KAAK,CAAA;QAChD,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACtB,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;YAC9C,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QAC/C,CAAC,CAAA;QACD,IAAI,MAAM;YAAE,MAAM,oBAAoB,CAAC,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,CAAA;;YAClG,MAAM,IAAI,EAAE,CAAA;IACnB,CAAC;IACD,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,WAAW,KAAK,OAAO,IAAI,aAAa,KAAK,IAAI,CAAA;IAC3E,iHAAiH;IACjH,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,cAAc,KAAK,OAAO,CAAA;IAEvD,KAAK,UAAU,OAAO,CAAC,CAAyB;QAC9C,IAAI,CAAC,EAAE,OAAO,IAAI,CAAC,WAAW,EAAE;YAAE,MAAM,IAAI,EAAE,CAAA;QAC9C,OAAO,CAAC,aAAa,EAAE,IAAI,IAAI,EAAE,CAAsB,CAAA;IACzD,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,wDAAwD;IACxD,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAA;IAC1B,KAAK,UAAU,cAAc;QAC3B,IAAI,iBAAiB,KAAK,UAAU;YAAE,OAAM;QAC5C,iBAAiB,GAAG,UAAU,CAAA;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,CACX,SAAS,EACT;gBACE,IAAI,EAAE;oBACJ,EAAE,+BAA+B,EAAE,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC,EAAE;iBAC/D;gBACD,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;aAC7B,EACD,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,CAAwB;QAChD,MAAM,cAAc,EAAE,CAAA;QACtB,gEAAgE;QAChE,sEAAsE;QACtE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC1D,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;QACpH,CAAC;QAED,IAAI,CAAC,cAAc,EAAE;YAAE,MAAM,IAAI,EAAE,CAAA;QACnC,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,KAAK,UAAU,WAAW;QACxB,IAAI,CAAC;YACH,MAAM,IAAI,EAAE,CAAA;QACd,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;QACvD,CAAC;QACD,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,oEAAoE;IACpE,iCAAiC;IACjC,yDAAyD;IACzD,uEAAuE;IACvE,4CAA4C;IAC5C,2EAA2E;IAC3E,2DAA2D;IAC3D,KAAK,UAAU,gBAAgB;QAC7B,IAAI,CAAC;YACH,MAAM,IAAI,EAAE,CAAA;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAM;QACR,CAAC;QACD,MAAM,CAAC,GAAG,aAAa,CAAA;QACvB,IAAI,CAAC,CAAC;YAAE,OAAM;QACd,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,CAAA;QAC1C,IAAI,GAAG;YAAE,OAAM;QACf,IAAI,MAAM,GAAc,IAAI,CAAA;QAC5B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/C,IAAI,IAAI,IAAK,IAA2B,CAAC,KAAK,KAAK,iBAAiB,EAAE,CAAC;gBACrE,MAAM,GAAI,IAAmB,CAAC,EAAE,CAAA;gBAChC,MAAK;YACP,CAAC;QACH,CAAC;QACD,IAAI,MAAM,IAAI,IAAI;YAAE,OAAM;QAC1B,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,SAAS,EAAE;gBACvB,IAAI,EAAE,CAAC,EAAE,gCAAgC,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBAC9D,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;aAC7B,CAAC,CAAA;YACF,MAAM,IAAI,EAAE,CAAA;QACd,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,yEAAyE;IACzE,sEAAsE;IACtE,SAAS,WAAW;QAClB,cAAc,GAAG,KAAK,CAAA;QACtB,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAA;YACnD,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,CAAA;QACf,WAAW,GAAG,IAAI,CAAA;QAClB,aAAa,GAAG,IAAI,CAAA;QACpB,WAAW,GAAG,CAAC,CAAC,CAAA;QAChB,cAAc,GAAG,CAAC,CAAC,CAAA;QACnB,WAAW,GAAG,IAAI,CAAA;IACpB,CAAC;IAED,KAAK,UAAU,MAAM,CAAC,SAAwB;QAC5C,uEAAuE;QACvE,8DAA8D;QAC9D,SAAS,GAAG,IAAI,CAAA;QAChB,UAAU,CAAC,KAAK,EAAE,CAAA;QAClB,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,EAAE,CAAC,KAAK,EAAE,CAAA;YACZ,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QACD,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAA;YACnD,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,CAAA;QACf,WAAW,GAAG,IAAI,CAAA;QAClB,aAAa,GAAG,IAAI,CAAA;QACpB,WAAW,GAAG,CAAC,CAAC,CAAA;QAChB,cAAc,GAAG,CAAC,CAAC,CAAA;QACnB,WAAW,GAAG,IAAI,CAAA;QAElB,MAAM,MAAM,GAA4B,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,qBAAqB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC1G,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QAC9C,EAAE,GAAG,IAAI,CAAA;QAET,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAE1E,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,KAAgD,CAAA;YACpD,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,IAAI,KAAK;oBAAE,YAAY,CAAC,KAAK,CAAC,CAAA;gBAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;gBACxB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACzB,CAAC,CAAA;YACD,MAAM,MAAM,GAAG,GAAG,EAAE;gBAClB,OAAO,EAAE,CAAA;gBACT,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,MAAM,IAAI,GAAG,CAAC,GAAU,EAAE,EAAE;gBAC1B,OAAO,EAAE,CACR;gBAAC,GAA4C,CAAC,cAAc,GAAG,IAAI,CAAA;gBACpE,IAAI,CAAC;oBACH,IAAI,CAAC,KAAK,EAAE,CAAA;gBACd,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;gBACV,MAAM,CAAC,GAAG,CAAC,CAAA;YACb,CAAC,CAAA;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACzB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACxB,IAAI,CAAC,KAAK;gBAAE,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,IAAI,eAAe,CAAC,CAAA;QACvH,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC/C,KAAK,MAAM,IAAI,IAAI,gBAAgB;YAAE,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACtF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACpB,IAAI,EAAE,KAAK,IAAI;gBAAE,OAAM;YACvB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE;gBAAE,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC,CAAA;YACxH,OAAO,CAAC,KAAK,EAAE,CAAA;QACjB,CAAC,CAAC,CAAA;QAGA,kEAAkE;QAClE,wEAAwE;QACxE,kEAAkE;QAClE,MAAM,gBAAgB,EAAE,CAAA;IAC1B,CAAC;IAED;;;OAGG;IACH,KAAK,UAAU,SAAS,CAAC,SAAwB,EAAE,MAAqB;QACtE,UAAU,EAAE,CAAA;QACZ,WAAW,GAAG,IAAI,CAAA;QAClB,qEAAqE;QACrE,yEAAyE;QACzE,cAAc,GAAG,IAAI,CAAA;QACrB,UAAU,GAAG,OAAO,CAAA;QACpB,gBAAgB,GAAG,SAAS,CAAA;QAC5B,IAAI,MAAM;YAAE,MAAM,GAAG,MAAM,CAAA;QAC3B,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC9D,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,MAAc;QACxC,UAAU,EAAE,CAAA;QACZ,wEAAwE;QACxE,cAAc,GAAG,IAAI,CAAA;QACrB,UAAU,GAAG,MAAM,CAAA;QACnB,gBAAgB,GAAG,IAAI,CAAA;QACvB,IAAI,CAAC;YACH,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,WAAW,GAAG,IAAI,CAAA;QACpB,CAAC;QACD,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;IACpB,CAAC;IAED,0EAA0E;IAC1E,qEAAqE;IACrE,2EAA2E;IAE3E,OAAO;QACL,OAAO;QACP,OAAO;QACP,KAAK;QACL,YAAY;QACZ,cAAc;QACd,OAAO;QACP,UAAU;QACV,IAAI;QACJ,iBAAiB;QACjB,iBAAiB;QACjB,WAAW;QACX,SAAS;QACT,YAAY;QACZ,IAAI,EAAE,UAAU;QAChB,KAAK;QACL,aAAa;QACb,aAAa;QACb,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;QAChD,cAAc;QACd,SAAS;QACT,IAAI,EAAE;YACJ,OAAO,EAAE,CAAA;QACX,CAAC;QACD,IAAI,SAAS;YACX,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,MAAM;YACR,OAAO,MAAM,CAAA;QACf,CAAC;QACD,IAAI,aAAa;YACf,OAAO,aAAa,EAAE,CAAA;QACxB,CAAC;QACD,IAAI,WAAW;YACb,OAAO,WAAW,CAAA;QACpB,CAAC;QACD,IAAI,UAAU;YACZ,OAAO,WAAW,CAAA;QACpB,CAAC;QACD,IAAI,SAAS;YACX,IAAI,SAAS,KAAK,MAAM;gBAAE,OAAO,WAAW,KAAK,IAAI,CAAA;YACrD,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,CAAA;QACjD,CAAC;QACD,IAAI,SAAS;YACX,OAAO,gBAAgB,CAAA;QACzB,CAAC;QACD,IAAI,GAAG;YACL,OAAO,UAAU,CAAA;QACnB,CAAC;QACD,IAAI,OAAO;YACT,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,IAAI,UAAU;YACZ,OAAO,UAAU,CAAA;QACnB,CAAC;QACD,IAAI,OAAO;YACT,OAAO,OAAO,CAAA;QAChB,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import { type Client, type EnginePolicy } from './client.js';
3
3
  import { type LocalWasmOptions } from './engine/wasm.js';
4
4
  import { type Show } from './share/session.js';
5
- export declare const VERSION = "0.3.3";
5
+ export declare const VERSION = "0.4.0";
6
6
  export declare const DEFAULT_WS_URL = "ws://0.0.0.0:9094/";
7
7
  export type McpServerOptions = {
8
8
  /** ClassCAD worker this instance connects to (lazily, on the first tool call). */
@@ -14,12 +14,13 @@ import { registerSnapshotTool } from './tools/snapshot.js';
14
14
  import { registerScriptTool } from './tools/script.js';
15
15
  import { serializeTools } from './queue.js';
16
16
  import { registerAuthTool, requireSignIn, SIGN_IN_NOTE } from './tools/auth.js';
17
+ import { registerAccountTool } from './tools/account.js';
17
18
  import { authStatus } from './auth.js';
18
19
  import { attachViewer, VIEWER_NOTE } from './tools/viewer.js';
19
20
  import { appNote, attachShare, registerSelectionTools, registerShareTool, registerViewTool } from './tools/share.js';
20
21
  import { appAvailable, joinedHere, listen as listenForApps, waitForPage, SESSION_PATH } from './share/server.js';
21
22
  import { sharingFromEnv, showFromEnv } from './share/session.js';
22
- export const VERSION = '0.3.3';
23
+ export const VERSION = '0.4.0';
23
24
  /** True for the address sessions are joined on on this machine (share/server.ts): an app's own engine, or another agent's. */
24
25
  const hostedOnThisMachine = (url) => {
25
26
  try {
@@ -60,6 +61,7 @@ export async function createMcpServer(opts) {
60
61
  // Registered after the queue patch, so the check runs before queueing.
61
62
  requireSignIn(server);
62
63
  registerAuthTool(server);
64
+ registerAccountTool(server);
63
65
  // The session's company: the app docked into it, whoever else is in it, and
64
66
  // what they have selected. Patched in last, so it sits innermost: it hears
65
67
  // of a change inside the queue, after the tool that made it.
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
package/dist/queue.js CHANGED
@@ -23,7 +23,7 @@
23
23
  /** Tools that only read package data (no engine access) and stay unqueued. */
24
24
  const busyChecks = new WeakMap();
25
25
  export function setDrawingBusy(server, check) { busyChecks.set(server, check); }
26
- export const UNQUEUED_TOOLS = new Set(['list_methods', 'describe_method', 'docs', 'session_info', 'view', 'share']);
26
+ export const UNQUEUED_TOOLS = new Set(['list_methods', 'describe_method', 'docs', 'session_info', 'view', 'share', 'account']);
27
27
  /**
28
28
  * Patches `server.registerTool` so every handler registered afterwards runs
29
29
  * through the shared queue (except the tools in `exclude`). Call it once,
package/dist/queue.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,EAAE;AACF,qEAAqE;AACrE,8EAA8E;AAC9E,4EAA4E;AAC5E,2EAA2E;AAC3E,8EAA8E;AAC9E,8EAA8E;AAC9E,0EAA0E;AAC1E,uDAAuD;AACvD,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,2EAA2E;AAC3E,kCAAkC;AAClC,EAAE;AACF,yEAAyE;AACzE,6EAA6E;AAC7E,2EAA2E;AAC3E,yEAAyE;AACzE,6EAA6E;AAC7E,sBAAsB;AAItB,8EAA8E;AAC9E,MAAM,UAAU,GAAG,IAAI,OAAO,EAA4B,CAAA;AAC1D,MAAM,UAAU,cAAc,CAAC,MAAiB,EAAE,KAAoB,IAAU,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA,CAAC,CAAC;AAE/G,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAEnH;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAiB,EAAE,UAAuB,cAAc;IACrF,8EAA8E;IAC9E,IAAI,IAAI,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAA;IAC9C,MAAM,IAAI,GAAG,CAAI,IAA0B,EAAc,EAAE;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3B,oEAAoE;QACpE,IAAI,GAAG,GAAG,CAAC,IAAI,CACb,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAA;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;IACD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACxB,MAAM,QAAQ,GAAI,MAAM,CAAC,YAAwC,CAAC,IAAI,CAAC,MAAM,CAAC,CAC7E;IAAC,MAAc,CAAC,YAAY,GAAG,CAAC,IAAY,EAAE,MAAe,EAAE,OAAgC,EAAE,EAAE;QAClG,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAC7D,MAAM,MAAM,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAChC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE;YACnC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,6FAA6F,EAAE,CAAC,EAAE;YACrJ,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QACvB,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC,CAAA;AACH,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,OAAO,EAA4D,CAAA;AAEtF;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAI,MAAiB,EAAE,IAA0B;IACtE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC/B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzD,CAAC"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,EAAE;AACF,qEAAqE;AACrE,8EAA8E;AAC9E,4EAA4E;AAC5E,2EAA2E;AAC3E,8EAA8E;AAC9E,8EAA8E;AAC9E,0EAA0E;AAC1E,uDAAuD;AACvD,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,2EAA2E;AAC3E,kCAAkC;AAClC,EAAE;AACF,yEAAyE;AACzE,6EAA6E;AAC7E,2EAA2E;AAC3E,yEAAyE;AACzE,6EAA6E;AAC7E,sBAAsB;AAItB,8EAA8E;AAC9E,MAAM,UAAU,GAAG,IAAI,OAAO,EAA4B,CAAA;AAC1D,MAAM,UAAU,cAAc,CAAC,MAAiB,EAAE,KAAoB,IAAU,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA,CAAC,CAAC;AAE/G,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;AAE9H;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAiB,EAAE,UAAuB,cAAc;IACrF,8EAA8E;IAC9E,IAAI,IAAI,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAA;IAC9C,MAAM,IAAI,GAAG,CAAI,IAA0B,EAAc,EAAE;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3B,oEAAoE;QACpE,IAAI,GAAG,GAAG,CAAC,IAAI,CACb,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAA;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;IACD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACxB,MAAM,QAAQ,GAAI,MAAM,CAAC,YAAwC,CAAC,IAAI,CAAC,MAAM,CAAC,CAC7E;IAAC,MAAc,CAAC,YAAY,GAAG,CAAC,IAAY,EAAE,MAAe,EAAE,OAAgC,EAAE,EAAE;QAClG,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAC7D,MAAM,MAAM,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAChC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE;YACnC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,6FAA6F,EAAE,CAAC,EAAE;YACrJ,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QACvB,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC,CAAA;AACH,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,OAAO,EAA4D,CAAA;AAEtF;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAI,MAAiB,EAAE,IAA0B;IACtE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC/B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzD,CAAC"}
package/dist/share/hub.js CHANGED
@@ -26,9 +26,10 @@
26
26
  // • Database settings are the engine's, shared by all: the ones the MCP's
27
27
  // renders need stay on, whatever a guest sets.
28
28
  //
29
- // A session that runs on a ClassCAD worker needs none of this: the server
30
- // speaks the protocol itself. Guests of such a session are piped through to
31
- // it (pipe()), so the app's link is the same for both engines.
29
+ // A session that runs on a ClassCAD worker needs none of this but the last
30
+ // point: the server speaks the protocol itself. Guests of such a session are
31
+ // piped through to it (pipe()), so the app's link is the same for both
32
+ // engines; their frames pass as they came, but for their database settings.
32
33
  //
33
34
  // An engine that runs in the page of an app is served the same way by that
34
35
  // page: session/host.ts in @buerli.io/classcad is this module's twin (the same
@@ -118,6 +119,23 @@ function keepGraphicSettings(req) {
118
119
  Object.assign(params, GRAPHIC_SETTINGS);
119
120
  }
120
121
  }
122
+ /**
123
+ * A piped guest's frame on its way to the server: a command that sets the
124
+ * database settings goes up with keepGraphicSettings applied, anything else
125
+ * (binary frames included) exactly as it came.
126
+ */
127
+ function upward(data, isBinary) {
128
+ if (isBinary || !Buffer.isBuffer(data) || !data.includes('v1.common.setDatabaseSettings'))
129
+ return data;
130
+ try {
131
+ const req = JSON.parse(data.toString());
132
+ keepGraphicSettings(req);
133
+ return JSON.stringify(req);
134
+ }
135
+ catch {
136
+ return data;
137
+ }
138
+ }
121
139
  /**
122
140
  * The sharing of one MCP session. Created with the session, before any engine
123
141
  * runs: an invite is good from then on, and the first guest that joins with it
@@ -373,7 +391,7 @@ export function createSessionHub(opts) {
373
391
  const upstream = new WebSocket(`${base}/?invite=${encodeURIComponent(token)}`);
374
392
  const forward = (data, isBinary) => {
375
393
  if (upstream.readyState === WebSocket.OPEN)
376
- upstream.send(data, { binary: isBinary });
394
+ upstream.send(upward(data, isBinary), { binary: isBinary });
377
395
  };
378
396
  upstream.on('open', () => {
379
397
  ws.off('message', buffer);
@@ -1 +1 @@
1
- {"version":3,"file":"hub.js","sourceRoot":"","sources":["../../src/share/hub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hub.js","sourceRoot":"","sources":["../../src/share/hub.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function registerAccountTool(server: McpServer): void;
@@ -0,0 +1,127 @@
1
+ // tools/account.ts — the `account` tool: what the signed-in classcad.ch account allows, read
2
+ // live from the plans backend with this machine's sign-in (GET /me, /domains, /tokens, /plans).
3
+ //
4
+ // It answers the questions an app needs before its first line: which plan, may it be used
5
+ // commercially, where may a web app built on it run (localhost always; registered https
6
+ // domains from the plan that has them), and the public access token that goes into the app's
7
+ // page. Read-only: tokens and domains are made by the user on classcad.ch/account.
8
+ import { request as httpRequest } from 'node:http';
9
+ import { request as httpsRequest } from 'node:https';
10
+ import { idToken } from '../auth.js';
11
+ import { AUTH_URL, KEY_URL } from '../backend.js';
12
+ const API = KEY_URL.replace(/\/key\/?$/, '');
13
+ /** The account page of the site this MCP signs in on (classcad.ch, or a develop/staging build). */
14
+ const ACCOUNT_PAGE = new URL('/account', AUTH_URL).href;
15
+ /**
16
+ * One GET to the plans backend. Plain node:http with a timer that keeps the
17
+ * process waiting (not fetch): on Node 20 a fetch to a peer that hangs up can
18
+ * stay unsettled forever, with AbortSignal.timeout's unref'd timer no help.
19
+ */
20
+ function get(path, bearer, timeoutMs = 15000) {
21
+ return new Promise(resolve => {
22
+ const url = new URL(`${API}${path}`);
23
+ const send = url.protocol === 'https:' ? httpsRequest : httpRequest;
24
+ const settle = (answer) => {
25
+ clearTimeout(timer);
26
+ resolve(answer);
27
+ };
28
+ const unreachable = (err) => settle({ ok: false, status: 0, message: `the ClassCAD account service cannot be reached (${err.message})` });
29
+ const req = send(url, { method: 'GET', agent: false, headers: { authorization: `Bearer ${bearer}`, accept: 'application/json' } }, res => {
30
+ const chunks = [];
31
+ res.on('data', (chunk) => chunks.push(chunk));
32
+ res.on('error', unreachable);
33
+ res.on('end', () => {
34
+ let body = null;
35
+ try {
36
+ body = JSON.parse(Buffer.concat(chunks).toString('utf8'));
37
+ }
38
+ catch {
39
+ /* not JSON */
40
+ }
41
+ const status = res.statusCode ?? 0;
42
+ if (status >= 200 && status < 300 && body)
43
+ settle({ ok: true, body });
44
+ else
45
+ settle({ ok: false, status, message: body?.message ?? res.statusMessage ?? 'no answer' });
46
+ });
47
+ });
48
+ const timer = setTimeout(() => req.destroy(new Error(`no answer within ${timeoutMs / 1000} s`)), timeoutMs);
49
+ req.on('error', unreachable);
50
+ req.end();
51
+ });
52
+ }
53
+ const day = (ms) => (typeof ms === 'number' ? new Date(ms).toISOString().slice(0, 10) : null);
54
+ /** The first public plan (GET /plans lists them from Free upwards) whose rights pass `has`. */
55
+ function firstPlanWith(plans, has) {
56
+ const hit = (plans ?? []).find(p => has(p));
57
+ return hit ? (hit.label ?? hit.id) : null;
58
+ }
59
+ export function registerAccountTool(server) {
60
+ server.registerTool('account', {
61
+ title: 'ClassCAD account and plan',
62
+ description: 'The signed-in classcad.ch account: its plan (and until when), whether it allows commercial use, which exports, ' +
63
+ 'and WHERE A WEB APP built with ClassCAD may run under it — localhost always (any port), public https domains only ' +
64
+ 'as registered on the account (from the plan that has them) — plus the public access token (ccpk_…) that goes into ' +
65
+ 'the app\'s page, or where to make one. Call it FIRST when the user wants their own app, website, configurator or ' +
66
+ 'deployment around a model; then follow docs(["recipes/buerli-app"]). Read-only: tokens and domains are made on the account page.',
67
+ inputSchema: {},
68
+ }, async () => {
69
+ const text = (o) => ({ content: [{ type: 'text', text: typeof o === 'string' ? o : JSON.stringify(o, null, 1) }] });
70
+ const bearer = await idToken(true);
71
+ if (!bearer)
72
+ return { isError: true, ...text('Sign-in required: call `login` first.') };
73
+ const [me, domains, tokens, plans] = await Promise.all([get('/me', bearer), get('/domains', bearer), get('/tokens', bearer), get('/plans', bearer)]);
74
+ if (!me.ok)
75
+ return { isError: true, ...text(`The account could not be read: ${me.message} (status ${me.status}).`) };
76
+ const rights = me.body.plan ?? {};
77
+ const ent = me.body.entitlement ?? {};
78
+ const trial = me.body.trial ?? {};
79
+ const allPlans = plans.ok ? plans.body.plans : undefined;
80
+ const domainPlan = firstPlanWith(allPlans, p => p.domainsPerSeat !== 0);
81
+ const wildcardPlan = firstPlanWith(allPlans, p => p.wildcards === true);
82
+ const nativePlan = firstPlanWith(allPlans, p => p.native === true);
83
+ const commercialPlan = firstPlanWith(allPlans, p => p.commercial === true);
84
+ const registered = domains.ok ? (domains.body.domains ?? []).filter((d) => d.active).map((d) => d.pattern) : [];
85
+ const domainsAllowed = rights.domainsPerSeat !== 0;
86
+ const publicTokens = tokens.ok ? (tokens.body.tokens ?? []).filter((t) => t.type === 'public' && t.token) : [];
87
+ const secretTokens = tokens.ok ? (tokens.body.tokens ?? []).filter((t) => t.type === 'secret').length : null;
88
+ const verified = me.body.emailVerified !== false;
89
+ const hosting = domainsAllowed
90
+ ? registered.length
91
+ ? `A web app may run on localhost (any port) and on these registered domains: ${registered.join(', ')}.`
92
+ : `A web app may run on localhost (any port). Public https domains: none registered yet — add them under Domains on ${ACCOUNT_PAGE}` +
93
+ (domains.ok && domains.body.limit != null ? ` (up to ${domains.body.limit})` : '') + '.'
94
+ : `${rights.label ?? rights.id} runs a web app on localhost only (any port, http or https).` +
95
+ (domainPlan ? ` Public domains come with ${domainPlan}.` : '');
96
+ return text({
97
+ email: me.body.email,
98
+ plan: {
99
+ id: rights.id,
100
+ label: rights.label,
101
+ source: ent.source ?? null, // subscription | trial | team | contract | role | free
102
+ until: day(ent.until) ?? (ent.source === 'trial' ? day(trial.endsAt) : null),
103
+ commercial: rights.commercial === true,
104
+ ...(rights.commercial === true || !commercialPlan ? {} : { commercialWith: commercialPlan }),
105
+ },
106
+ app: {
107
+ hosting,
108
+ runsOn: ['http(s)://localhost:<any port>', 'http(s)://127.0.0.1:<any port>', ...registered],
109
+ domains: domains.ok
110
+ ? { allowed: domains.body.allowed === true, limit: domains.body.limit ?? null, wildcards: domains.body.wildcards === true, registered, ...(domains.body.wildcards || !wildcardPlan ? {} : { wildcardsWith: wildcardPlan }) }
111
+ : { unavailable: domains.message },
112
+ engine: 'WASM in the browser, files from ClassCAD\'s CDN' + (rights.native ? '; the native engine on own servers is included' : nativePlan ? `; the native engine on own servers comes with ${nativePlan}` : ''),
113
+ exports: rights.exportFormats ?? [],
114
+ },
115
+ tokens: tokens.ok
116
+ ? {
117
+ public: publicTokens.map((t) => ({ name: t.name, token: t.token })),
118
+ secret: secretTokens,
119
+ ...(publicTokens.length ? {} : { make: `${ACCOUNT_PAGE} → Access tokens → New token, kind Public → Make token` }),
120
+ }
121
+ : { unavailable: tokens.message, ...(verified ? {} : { reason: 'confirm the account\'s email address first' }) },
122
+ next: 'The PUBLIC token goes into the app\'s page (secret ccsk_ tokens never do). ' +
123
+ 'Build steps: docs(["recipes/buerli-app"]); what plans enable: docs(["PLANS"]).',
124
+ });
125
+ });
126
+ }
127
+ //# sourceMappingURL=account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/tools/account.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,18 @@
1
1
  // Discovery tools: list_methods, describe_method — thin MCP wrappers around the
2
2
  // shared @classcad/skill/discovery module (the SAME search/describe logic as
3
3
  // buerli-ai): CAD-synonym-expanded ranked search, fuzzy method resolution, and
4
- // whole-document serving (skill bundle + @classcad/script data-contract docs).
4
+ // whole-document serving (the skill bundle, data-contract docs included).
5
5
  //
6
6
  // Dev override: with CLASSCAD_SKILL_PATH set, docs are read live from that
7
7
  // skill checkout instead of the built bundle — edits show up without a rebuild.
8
8
  import { z } from 'zod';
9
9
  import { existsSync, readFileSync } from 'fs';
10
10
  import { createRequire } from 'module';
11
- import { dirname, join } from 'path';
11
+ import { join } from 'path';
12
12
  import { fileURLToPath } from 'url';
13
13
  import { DEFAULT_DAEMON_PORT } from '../ports.js';
14
14
  import { RECIPES_POINTER, REFERENCE_IMAGE_POINTER } from '@classcad/skill/prompts';
15
15
  import { createDiscovery, DOCS_MAX_KEYS, DOCS_TOOL } from '@classcad/skill/discovery';
16
- import { docs as scriptDocs } from '@classcad/script/docs';
17
16
  // Loaded at runtime, NOT as static imports: tsc otherwise ingests the multi-MB
18
17
  // bundle.json as a literal type — observed to OOM the compiler on some setups.
19
18
  const requireJson = createRequire(import.meta.url);
@@ -21,22 +20,13 @@ const registry = requireJson('@classcad/skill/method-registry.json');
21
20
  const bundle = requireJson('@classcad/skill/bundle.json');
22
21
  // Live-doc override (development): resolve doc keys against a skill checkout.
23
22
  function diskResolver() {
24
- const override = process.env.CLASSCAD_SKILL_PATH;
25
- const root = override ??
26
- (() => {
27
- try {
28
- return dirname(createRequire(import.meta.url).resolve('@classcad/skill/package.json'));
29
- }
30
- catch {
31
- return undefined;
32
- }
33
- })();
34
- if (!override || !root)
23
+ const root = process.env.CLASSCAD_SKILL_PATH;
24
+ if (!root)
35
25
  return undefined; // no override → serve the built bundle
36
26
  return (key) => {
37
27
  const safe = key.replace(/[^a-zA-Z0-9/_-]/g, '');
38
- // Keys map to files: references/<domain>/<method>.md, or top-level dirs for
39
- // prefixed keys (recipes/<name>.md lives at the package root).
28
+ // Keys map to files: references/<domain>/<method>.md, recipes/<name>.md at
29
+ // the package root, topics (DATA, STRUCTURE, GRAPHICS) at references/<KEY>.md.
40
30
  for (const c of [
41
31
  join(root, 'references', `${safe}.md`),
42
32
  join(root, `${safe}.md`),
@@ -51,7 +41,6 @@ function diskResolver() {
51
41
  const discovery = createDiscovery({
52
42
  registry: registry,
53
43
  bundle: bundle,
54
- extraDocs: scriptDocs,
55
44
  resolveDoc: diskResolver(),
56
45
  });
57
46
  /** This install's CLI, so agents get a command that runs as written. */
@@ -77,7 +66,7 @@ export function serverInstructions() {
77
66
  'state persists between scripts — follow-up scripts ATTACH via api.tree(), never part.create twice). ' +
78
67
  'A NEW, unrelated model in the same session: call `clear` first, then part.create — the drawing outlives a request, and without clear the new model lands inside the old one. ' +
79
68
  'PLAN FIRST, THEN FETCH ONCE: decide the whole build, pick every method you will need from the index below, ' +
80
- 'then request ALL their docs in ONE docs([...]) call, recipes first — include "DATA" whenever a script reads api.tree()/api.graphic(). ' +
69
+ 'then request ALL their docs in ONE docs([...]) call, recipes first — include "DATA" whenever a script reads api.tree()/api.graphic() ("STRUCTURE" and "GRAPHICS" are the depth: history, sketches, assemblies, world transforms; the graphic payload). ' +
81
70
  'A docs response is size-capped: keys listed under "NOT included yet" at its top must be requested in a follow-up call before building. ' +
82
71
  RECIPES_POINTER +
83
72
  ' After that, build in a FEW substantial staged scripts — ' +
@@ -92,6 +81,10 @@ export function serverInstructions() {
92
81
  '"use WASM / local / offline" → engine "wasm"; "my Drogon/ClassCAD server" → "drogon". ' +
93
82
  'session_info shows what is in use.',
94
83
  '',
84
+ 'OWN APP: when the user wants their own app, website or configurator around the model (the session\'s scripts or a saved OFB), ' +
85
+ 'call `account` FIRST — the plan decides where the app may run (localhost on every plan; public domains only as registered on the account) ' +
86
+ 'and it hands over the public token for the page — then follow docs(["recipes/buerli-app"]).',
87
+ '',
95
88
  DAEMON_NOTE,
96
89
  '',
97
90
  'Method Index (v1) — every method, one line. Pick directly from here; use docs([...]) for exact parameters ' +
@@ -99,7 +92,8 @@ export function serverInstructions() {
99
92
  '',
100
93
  discovery.methodIndex(),
101
94
  '',
102
- 'Document Index — recipes (composed workflows) and guides (cross-cutting behavior), key — title. ' +
95
+ 'Document Index — the data contract (DATA, STRUCTURE, GRAPHICS: what api.tree()/api.graphic() return), ' +
96
+ 'recipes (composed workflows) and guides (cross-cutting behavior), key — title. ' +
103
97
  'Fetch with docs([...]); list_methods({ search }) also ranks these by topic:',
104
98
  '',
105
99
  discovery.docIndex(),
@@ -1 +1 @@
1
- {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/tools/docs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/tools/docs.ts"],"names":[],"mappings":"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"}
@@ -49,14 +49,14 @@ export function registerScriptTool(server, client) {
49
49
  'Returns a Promise: without await, Object.values(api.tree()) is silently [] (looks like an empty drawing).\n' +
50
50
  '• await api.graphic({ recalc? }) — the graphic payload (containers with face meshes, edges, vertices): ' +
51
51
  'find and FILTER GEOMETRY yourself — e.g. locate a bore wall by vertex radius, collect edge ids for a chamfer. ' +
52
- 'Exact shapes + selection idioms: describe_method("DATA").\n' +
52
+ 'Exact shapes + selection idioms: docs(["DATA"]).\n' +
53
53
  '• Math, full JS (variables, loops, functions); console.log/log(...) captured and returned.\n' +
54
54
  '• return <small summary> — results are size-capped; keep big data in the drawing, not the return value.\n' +
55
55
  'Compute coordinates IN the script (trigonometry, loops) instead of inlining hand-evaluated numbers. ' +
56
56
  'Pass recalc:false to api.graphic() in solid.*/entity-injection sessions (a recalc invalidates curve shape ids and can destroy injected bodies in complex cases). ' +
57
57
  'No DOM/network/filesystem access; awaited work times out (default 60s). ' +
58
58
  'Prefer several small verified scripts over one huge one — STATE PERSISTS in the drawing between ' +
59
- 'scripts: a follow-up script ATTACHES to the existing model (re-discover via await api.tree(); tree ids' +
59
+ 'scripts: a follow-up script ATTACHES to the existing model (re-discover via await api.tree(); tree ids ' +
60
60
  'are stable; NEVER part.create when a part already exists). Even a single operation is a run_script.',
61
61
  inputSchema: {
62
62
  script: z
@@ -1 +1 @@
1
- {"version":3,"file":"script.js","sourceRoot":"","sources":["../../src/tools/script.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"script.js","sourceRoot":"","sources":["../../src/tools/script.ts"],"names":[],"mappings":"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"}
@@ -242,7 +242,7 @@ export function registerSelectionTools(server, client, share) {
242
242
  title: 'What the user selected',
243
243
  description: 'What the user has selected in the app docked into this session: faces, edges and vertices of a body, or objects of the model tree (sketch entities, dimensions, features). Call it when the user points at something instead of naming it ("this face", "the selected edges", "here"). ' +
244
244
  'Each item has `kind` (face | edge | vertex | object) and `objectId` — the tree object: the picked object itself, or the solid a picked face, edge or vertex belongs to (`object` names its class). Geometry also has `graphicId`, the id API calls take for that face, edge or vertex (e.g. v1.sketch.create({ planeId })), its `type` (plane, cylinder, line, arc, …), `containerId` and `prodRefId`. ' +
245
- 'Geometry ids describe the model as it is now: a feature that rebuilds the body gives its faces and edges new ids. Read the selection right before you use it.',
245
+ 'A selection keeps the ids it was made with: after a feature rebuilds the body, its `containerId` and `objectId` name the old, consumed body (faces and edges the feature did not touch keep their `graphicId`; a recalc renumbers them all). Read the selection right before you use it.',
246
246
  inputSchema: {},
247
247
  }, async () => {
248
248
  if (!share.peers().length)
@@ -261,7 +261,7 @@ export function registerSelectionTools(server, client, share) {
261
261
  .array(z.object({
262
262
  graphicId: z.number().optional().describe('A face, edge or vertex: its element id.'),
263
263
  objectId: z.number().optional().describe('A tree object (sketch entity, dimension, feature) — or, with graphicId, the solid that owns the element.'),
264
- containerId: z.number().optional().describe('The body\'s graphic container, when known (the app finds it otherwise).'),
264
+ containerId: z.number().optional().describe('The body\'s current graphic container (the part\'s `solids`). Pass it after a rebuild: without it the app takes the first container holding the graphicId, which can be the old, consumed body\'s.'),
265
265
  prodRefId: z.number().optional().describe('The assembly instance, when the part is one (from get_selection).'),
266
266
  }))
267
267
  .describe('What to select.'),
@@ -1 +1 @@
1
- {"version":3,"file":"share.js","sourceRoot":"","sources":["../../src/tools/share.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,EAAE;AACF,4EAA4E;AAC5E,mEAAmE;AACnE,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,sEAAsE;AAGtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,SAAS,EAAuE,MAAM,qBAAqB,CAAA;AAIpH,+EAA+E;AAC/E,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAA;AAExF,mHAAmH;AACnH,MAAM,QAAQ,GAAG,wJAAwJ,CAAA;AAEzK,oIAAoI;AACpI,MAAM,KAAK,GAAyB;IAClC,IAAI,EACF,ktBAAktB;IACptB,OAAO,EACL,kPAAkP;IACpP,GAAG,EAAE,4HAA4H;CAClI,CAAA;AAED,wFAAwF;AACxF,MAAM,UAAU,GAA4B;IAC1C,GAAG,EACD,mSAAmS;IACrS,MAAM,EACJ,8qBAA8qB;IAChrB,GAAG,EAAE,EAAE;CACR,CAAA;AAED,2IAA2I;AAC3I,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAU,EAAE,UAAmB,KAAK,EAAU,EAAE,CACtE,sOAAsO;IACtO,KAAK,CAAC,IAAI,CAAC;IACX,gRAAgR;IAChR,UAAU,CAAC,OAAO,CAAC;IACnB,2LAA2L;IAC3L,0JAA0J,CAAA;AAE5J,+CAA+C;AAC/C,MAAM,SAAS,GAAG,CAAC,IAAU,EAAU,EAAE;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,CAAA;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAA;IAC9B,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,eAAe,CAAA;AACjG,CAAC,CAAA;AAED,iEAAiE;AACjE,MAAM,WAAW,GACf,mUAAmU,CAAA;AAErU,oEAAoE;AACpE,MAAM,QAAQ,GACZ,sPAAsP;IACtP,6IAA6I,CAAA;AAE/I,4FAA4F;AAC5F,MAAM,QAAQ,GAAG,8MAA8M,CAAA;AAE/N,4HAA4H;AAC5H,MAAM,SAAS,GAAG,CAAC,KAAY,EAAU,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAErI,MAAM,OAAO,GAAG,CAAC,KAAY,EAAU,EAAE;IACvC,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM;QACtB,OAAO,CACL,QAAQ,KAAK,CAAC,GAAG,IAAI;YACrB,+JAA+J,QAAQ,IAAI;YAC3K,oIAAoI;YACpI,2JAA2J,CAC5J,CAAA;IACH,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ;QACxB,OAAO,CACL,QAAQ,KAAK,CAAC,GAAG,IAAI;YACrB,uJAAuJ;YACvJ,yIAAyI,CAC1I,CAAA;IACH,OAAO,CACL,QAAQ,KAAK,CAAC,GAAG,IAAI;QACrB,gPAAgP,CACjP,CAAA;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAiB,EAAE,MAAc,EAAE,OAAe,EAAE,IAAU,EAAE,OAAgB,EAAE,GAA2B;IAC7I,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAA;IACxC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC;QAC5B,MAAM;QACN,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;QACpC,GAAG,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,UAAU;QAC1C,IAAI;QACJ,OAAO;QACP,QAAQ,EAAE,GAAG,EAAE;YACb,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAA;YACnD,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;QACnG,CAAC;QACD,GAAG;KACJ,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAI,MAAM,CAAC,YAAwC,CAAC,IAAI,CAAC,MAAM,CAAC,CAC7E;IAAC,MAAc,CAAC,YAAY,GAAG,CAAC,IAAY,EAAE,MAAe,EAAE,OAAgC,EAAE,EAAE;QAClG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QACpE,MAAM,OAAO,GAAG,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;YACvC,8GAA8G;YAC9G,KAAK,CAAC,IAAI,EAAE,CAAA;YACZ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;YACrC,2HAA2H;YAC3H,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,UAAW,GAAa,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;YACzG,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACnH,OAAO,MAAM,CAAA;QACf,CAAC,CAAA;QACD,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,CAAC,CAAA;IAED,qCAAqC;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CACtC;IAAC,MAAgC,CAAC,KAAK,GAAG,GAAG,EAAE;QAC9C,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,KAAK,EAAE,CAAA;IACT,CAAC,CAAA;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,gBAAgB,CAAC,MAAiB,EAAE,KAAY,EAAE,MAA4B;IAC5F,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,KAAK,IAAI,CAAA;IAC9B,MAAM,CAAC,YAAY,CACjB,MAAM,EACN;QACE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,kBAAkB;QAChD,WAAW,EAAE,GAAG;YACd,CAAC,CAAC,w1BAAw1B;YAC11B,CAAC,CAAC,yWAAyW;QAC7W,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sJAAsJ,CAAC;YAC7L,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iIAAiI,CAAC;SAC1K;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QACxB,8EAA8E;QAC9E,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAC3C,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,2DAA2D,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,+EAA+E;qBAC/L,CAAC;aACH,CAAA;QACH,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,MAAM,EAAE,GAAG,CAAA;QAC1E,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,4FAA4F,EAAE,CAAC,EAAE,CAAA;QAC5K,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAO,CAAC,IAAI,EAAE,CAAA;YACtD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,4BAA4B,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,qCAAqC,6BAA6B,EAAE,CAAC,EAAE,CAAA;QACvN,CAAC;QACD,8GAA8G;QAC9G,kFAAkF;QAClF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;QACzC,uEAAuE;QACvE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAClB,IAAI,KAAa,CAAA;QACjB,IAAI,IAAI,KAAK,IAAI;YAAE,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAAC,4DAA4D,CAAA;aAC3J,IAAI,IAAI,KAAK,KAAK;YAAE,KAAK,GAAG,8CAA8C,CAAA;aAC1E,IAAI,MAAM,GAAG,CAAC;YAAE,KAAK,GAAG,mDAAmD,CAAA;aAC3E,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,KAAK,GAAG,uDAAuD,QAAQ,6FAA6F,CAAA;aAC/L,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,KAAK,GAAG,oDAAoD,CAAA;;YAC7G,KAAK,GAAG,qCAAqC,CAAA;QAClD,0GAA0G;QAC1G,MAAM,QAAQ,GAAG,GAAG,KAAK,KAAK,CAAC,SAAS,CAAA;QACxC,MAAM,KAAK,GAAG,QAAQ;YACpB,CAAC,CAAC,6GAA6G;YAC/G,CAAC,CAAC,KAAK,CAAC,SAAS;gBACf,CAAC,CAAC,4BAA4B,KAAK,CAAC,SAAS,EAAE;gBAC/C,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ;oBAC1B,CAAC,CAAC,iGAAiG;oBACnG,CAAC,CAAC,EAAE,CAAA;QACV,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,wBAAwB,GAAG,KAAK,KAAK,yDAAyD,KAAK,EAAE,EAAE,CAAC,EAAE,CAAA;IAC9J,CAAC,CACF,CAAA;AACH,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,KAAY;IAC/D,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK;QAAE,OAAM;IACnC,MAAM,CAAC,YAAY,CACjB,OAAO,EACP;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,gTAAgT;YAChT,+TAA+T;YAC/T,+eAA+e;QACjf,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uEAAuE,CAAC;SAC/G;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACjB,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QACvI,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;YACjC,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC,6BAA6B,CAAC,CAAA;YACxD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,gCAAgC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;YACvK,kFAAkF;YAClF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,2HAA2H,CAAC,CAAC,CAAC,oCAAoC,CAAA;YAC7M,OAAO,IAAI,CAAC,+DAA+D,IAAI,IAAI,KAAK,EAAE,CAAC,CAAA;QAC7F,CAAC;QACD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,KAAK,IAAI,CAAA;YACtC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAA;YAClC,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC,eAAe,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,wFAAwF,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC,CAAA;YAClQ,6GAA6G;YAC7G,OAAO,IAAI,CACT,4EAA4E,IAAI,CAAC,OAAO,6CAA6C;gBACnI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,qCAAqC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,gGAAgG,CACnG,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAE,GAAa,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC,CACF,CAAA;AACH,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,MAAc,EAAE,KAAY;IACpF,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,KAAK,EAAE,UAA2B,EAAE,EAAE;QACrD,IAAI,IAAI,GAAwB,EAAE,CAAA;QAClC,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAwB,CAAA;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;QAC/C,CAAC;QACD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1B,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YACtB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACxB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;gBACxC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;YAClF,CAAC,CAAC;SACH,CAAC,CAAC,CAAA;IACL,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC;QACpB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,qCAAqC;oBAC5C,IAAI,EAAE,KAAK,CAAC,GAAG;wBACb,CAAC,CAAC,gFAAgF;wBAClF,CAAC,CAAC,2HAA2H;iBAChI,CAAC;aACH,CAAC;KACH,CAAC,CAAA;IAEF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,yRAAyR;YACzR,yYAAyY;YACzY,+JAA+J;QACjK,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM;YAAE,OAAO,MAAM,EAAE,CAAA;QAC1C,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAA;QACrD,IAAI,CAAC,UAAU,CAAC,MAAM;YAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,8CAA8C,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QAClL,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IAC5I,CAAC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,+BAA+B;QACtC,WAAW,EACT,gSAAgS;YAChS,2LAA2L;QAC7L,WAAW,EAAE;YACX,KAAK,EAAE,CAAC;iBACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;gBACpF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0GAA0G,CAAC;gBACpJ,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yEAAyE,CAAC;gBACtH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;aAC/G,CAAC,CACH;iBACA,QAAQ,CAAC,iBAAiB,CAAC;YAC9B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;SAC1G;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;QAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM;YAAE,OAAO,MAAM,EAAE,CAAA;QAC1C,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC,CAAA;QAC/E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IACjH,CAAC,CACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"share.js","sourceRoot":"","sources":["../../src/tools/share.ts"],"names":[],"mappings":"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"}
@@ -104,7 +104,7 @@ export function registerSnapshotTool(server, client) {
104
104
  frame: z.object({ scale: z.number(), midX: z.number(), midY: z.number() }).optional()
105
105
  .describe('Pin the frame reported by an earlier snapshot (same view/size) for pixel-comparable before/after.'),
106
106
  recalc: z.boolean().optional()
107
- .describe('Default false. Opt in only to regenerate; keep false for solid.*/entity-injection sessions — recalc destroys injected bodies.'),
107
+ .describe('Default false. Opt in only to regenerate; keep false for solid.*/entity-injection sessions — a recalc invalidates curve shape ids and can destroy injected bodies.'),
108
108
  source: z.enum(['graphic', 'stl']).optional()
109
109
  .describe('"stl": render the tessellated STL export instead of the engine graphic (explicit fallback; no brep edges).'),
110
110
  },
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/tools/snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/tools/snapshot.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@classcad/mcp",
3
- "version": "0.3.3",
3
+ "version": "0.4.0",
4
4
  "mcpName": "io.github.awv-informatik/classcad",
5
5
  "description": "ClassCAD MCP server: build, verify and export 3D CAD parts and assemblies with the ClassCAD engine, running locally",
6
6
  "homepage": "https://classcad.ai",
@@ -46,17 +46,17 @@
46
46
  "dev": "tsc --watch",
47
47
  "start": "node dist/server.js",
48
48
  "clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
49
- "postbuild": "node --test --test-timeout=180000 test/emission.mjs test/daemon.mjs test/auth.mjs test/share.mjs",
50
- "test": "npm run build && node --test test/key.mjs test/auth.mjs && node test/emission-live.mjs && node --test --test-timeout=300000 test/wasm-live.mjs"
49
+ "postbuild": "node --test --test-timeout=180000 test/emission.mjs test/daemon.mjs test/auth.mjs test/share.mjs test/account.mjs",
50
+ "test": "npm run build && node --test test/key.mjs test/auth.mjs && node test/emission-live.mjs && node --test test/share-live.mjs && node --test --test-timeout=300000 test/wasm-live.mjs"
51
51
  },
52
52
  "dependencies": {
53
- "@classcad/skill": "^0.0.6",
53
+ "@classcad/skill": "^0.0.7",
54
54
  "@modelcontextprotocol/sdk": "^1.29.0",
55
55
  "sharp": "^0.34.5",
56
56
  "ws": "^8.19.0",
57
57
  "zod": "^4.4.3",
58
58
  "@classcad/renderer": "^0.1.0",
59
- "@classcad/script": "^0.1.0"
59
+ "@classcad/script": "^0.2.0"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@types/node": "^22.0.0",