@miravo/cli-linux-arm64-musl 0.9.0 → 0.11.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/console-dist/assets/{AnimatePresence-CPmH1DMY.js → AnimatePresence-BSSlw02V.js} +1 -1
- package/console-dist/assets/api-B2QJEzbS.js +1 -0
- package/console-dist/assets/api-Vq4lny_H.js +1 -0
- package/console-dist/assets/arrow-up-right-CwPw_2U1.js +1 -0
- package/console-dist/assets/asset-detail-E-TllNHT.js +1 -0
- package/console-dist/assets/asset-detail-actions-jjbvaDES.js +1 -0
- package/console-dist/assets/asset-panel-DDziFlFl.js +1 -0
- package/console-dist/assets/{auth-screen-backdrop-CgwRhIbi.js → auth-screen-backdrop-CEykEbfF.js} +1 -1
- package/console-dist/assets/backup-power-BDMAO2bO.js +1 -0
- package/console-dist/assets/{badge-DuuEINVl.js → badge-Bk1DaL6C.js} +1 -1
- package/console-dist/assets/boiler-CWAR1Nq2.js +1 -0
- package/console-dist/assets/by-path-VBqTBdlG.js +1 -0
- package/console-dist/assets/catalog-BlkPPAWE.js +1 -0
- package/console-dist/assets/catalog-CQopEu5C.js +1 -0
- package/console-dist/assets/catalog-source-B4L5N-a1.js +1 -0
- package/console-dist/assets/catalog-template-icons-BOSywIKV.js +1 -0
- package/console-dist/assets/check-B-yvIfMj.js +1 -0
- package/console-dist/assets/checkbox-DEAkDfFr.js +1 -0
- package/console-dist/assets/chevron-down-x70Pto6j.js +1 -0
- package/console-dist/assets/chevron-left-XHFooLn1.js +1 -0
- package/console-dist/assets/chevron-right-CMSQPSEo.js +1 -0
- package/console-dist/assets/chiller-BSx8eUMN.js +1 -0
- package/console-dist/assets/circle-x-_o0nl0Rg.js +1 -0
- package/console-dist/assets/combobox-B8h0-NHs.js +1 -0
- package/console-dist/assets/commercial-building-CNvi6IZK.js +1 -0
- package/console-dist/assets/compressor-D63w6Ir2.js +1 -0
- package/console-dist/assets/console-panel-CMDoBJiO.js +1 -0
- package/console-dist/assets/control-CBviLxJB.js +1 -0
- package/console-dist/assets/control-jNqzZWa9.js +1 -0
- package/console-dist/assets/copy-button-CSUP1VjU.js +1 -0
- package/console-dist/assets/dialog-B5PqrKVw.js +1 -0
- package/console-dist/assets/district-heating-Cr4CrgCA.js +1 -0
- package/console-dist/assets/dom-Cm_OH5jc.js +1 -0
- package/console-dist/assets/dropdown-menu-B_MMNbTy.js +1 -0
- package/console-dist/assets/events-D531_1EZ.js +1 -0
- package/console-dist/assets/events-RmbRTKFV.js +1 -0
- package/console-dist/assets/events-format-C5HTkIsC.js +1 -0
- package/console-dist/assets/export-tab-fZDO4r2u.js +1 -0
- package/console-dist/assets/factory-C2OucdpQ.js +1 -0
- package/console-dist/assets/factory-CgSIjU5V.js +1 -0
- package/console-dist/assets/factory-DLE12zAd.js +1 -0
- package/console-dist/assets/floor-page-D0mX5OuA.js +1 -0
- package/console-dist/assets/floor-page-E-0txA4z.css +1 -0
- package/console-dist/assets/format-Bx7DF-TB.js +1 -0
- package/console-dist/assets/genset-BRgqR1AT.js +1 -0
- package/console-dist/assets/{get-error-message-BowDodwy.js → get-error-message-dM0BMfdP.js} +1 -1
- package/console-dist/assets/index-CrLa65Ur.css +2 -0
- package/console-dist/assets/index-CvuwOe37.js +12 -0
- package/console-dist/assets/integration-api-D2tA69Yb.js +2 -0
- package/console-dist/assets/integration-targets-Byvdd3Or.js +1 -0
- package/console-dist/assets/integrations-BLG4PT3c.js +1 -0
- package/console-dist/assets/integrations-iAjWxaDS.js +1 -0
- package/console-dist/assets/{label-DTHSKF2S.js → label-2sIXTEUK.js} +1 -1
- package/console-dist/assets/loader-circle-DjgHgHHl.js +1 -0
- package/console-dist/assets/{login-O9dnrHI9.js → login-DpNKicxy.js} +1 -1
- package/console-dist/assets/minus-CaT9UaQx.js +1 -0
- package/console-dist/assets/model-schemas-3w38IPdc.js +1 -0
- package/console-dist/assets/models-CMN9Eppf.js +1 -0
- package/console-dist/assets/models-I_V8J5Y0.js +1 -0
- package/console-dist/assets/not-found-C4YVKP97.js +1 -0
- package/console-dist/assets/pause-CqW7v5Dc.js +1 -0
- package/console-dist/assets/pharma-cleanroom-ClJRwROz.js +1 -0
- package/console-dist/assets/play-kg50os4l.js +1 -0
- package/console-dist/assets/plus-Cl4Ay5Ry.js +1 -0
- package/console-dist/assets/protocol-card-ARSwIjkN.js +1 -0
- package/console-dist/assets/{proxy-Be4WzmcS.js → proxy-CWZabK8f.js} +1 -1
- package/console-dist/assets/query-fetch-error-CWLZA2L5.js +1 -0
- package/console-dist/assets/radio-BxpVYiyS.js +1 -0
- package/console-dist/assets/registry-Dau_GjK6.js +2 -0
- package/console-dist/assets/rocket-KZ5oHK1G.js +1 -0
- package/console-dist/assets/rtu-D-1lltcO.js +1 -0
- package/console-dist/assets/select-BWlrSYlA.js +1 -0
- package/console-dist/assets/{select-display-items-BEVMAho-.js → select-display-items-DN2G8DNG.js} +1 -1
- package/console-dist/assets/server-BVem_egD.js +1 -0
- package/console-dist/assets/sliders-horizontal-BNKmYQgd.js +1 -0
- package/console-dist/assets/smart-factory-cem4tLAv.js +1 -0
- package/console-dist/assets/source-host-miravo-B8eM2IHw.js +1 -0
- package/console-dist/assets/stages-hidkaJPI.js +1 -0
- package/console-dist/assets/status-CZFZLqVk.js +1 -0
- package/console-dist/assets/tabs-BbQkzBZZ.js +1 -0
- package/console-dist/assets/tags-BBz30-eV.js +4 -0
- package/console-dist/assets/tags-K96jT8PY.js +1 -0
- package/console-dist/assets/tank-THHXGdzg.js +1 -0
- package/console-dist/assets/{tooltip-D1ydB4g3.js → tooltip-B3vOB1Vu.js} +1 -1
- package/console-dist/assets/{transition-nav-link-Crj9XTbK.js → transition-nav-link-B11-gXld.js} +1 -1
- package/console-dist/assets/trash-2-BH9HDsZv.js +1 -0
- package/console-dist/assets/use-engine-command-mutation-CHqjOqfS.js +1 -0
- package/console-dist/assets/use-transition-navigate-B-nk4aWh.js +2 -0
- package/console-dist/assets/useQuery-M9KTdi7Q.js +1 -0
- package/console-dist/assets/validation-BkfmaBBi.js +1 -0
- package/console-dist/assets/vendor-ui-D8j69UH4.js +1 -0
- package/console-dist/assets/water-treatment-CfVR0p0L.js +1 -0
- package/console-dist/index.html +65 -46
- package/miravo +2 -2
- package/package.json +1 -1
- package/console-dist/assets/api-0DOQsu1W.js +0 -1
- package/console-dist/assets/api-DdyA1QMC.js +0 -1
- package/console-dist/assets/arrow-right-BjBb4z7g.js +0 -1
- package/console-dist/assets/arrow-up-down-C1oJAmrw.js +0 -1
- package/console-dist/assets/asset-detail-D-coMgED.js +0 -1
- package/console-dist/assets/catalog-Ca9rhNLN.js +0 -1
- package/console-dist/assets/catalog-CdbAE0Ki.js +0 -1
- package/console-dist/assets/catalog-source-CPFWtBJF.js +0 -1
- package/console-dist/assets/catalog-template-icons-aec8m5-A.js +0 -1
- package/console-dist/assets/checkbox-BL44aFel.js +0 -1
- package/console-dist/assets/circle-question-mark-CJvcT6V6.js +0 -1
- package/console-dist/assets/combobox-B5iFVe7N.js +0 -1
- package/console-dist/assets/control-CtvncuAA.js +0 -1
- package/console-dist/assets/control-DYdEZmP0.js +0 -1
- package/console-dist/assets/copy-button-RVCJ3aqM.js +0 -1
- package/console-dist/assets/dropdown-menu-82O7jPU6.js +0 -1
- package/console-dist/assets/events-Bp3BqWYo.js +0 -1
- package/console-dist/assets/events-D5uZ2cwr.js +0 -1
- package/console-dist/assets/fleet-CBXZ0Xts.js +0 -1
- package/console-dist/assets/fleet-CRB8-QDg.js +0 -1
- package/console-dist/assets/format-6q8Tnwmn.js +0 -1
- package/console-dist/assets/index-BPmjm3uU.css +0 -2
- package/console-dist/assets/index-Chh5Cd8X.js +0 -12
- package/console-dist/assets/integration-targets-ChYQ8POe.js +0 -1
- package/console-dist/assets/integrations-BrZWbG5Q.js +0 -1
- package/console-dist/assets/integrations-D4x6ee5M.js +0 -1
- package/console-dist/assets/layers-1figUpjG.js +0 -1
- package/console-dist/assets/models-BDeOqKQk.js +0 -1
- package/console-dist/assets/models-CgWCVmnx.js +0 -1
- package/console-dist/assets/not-found-Dw4OTZHH.js +0 -1
- package/console-dist/assets/query-fetch-error-ytmF7SP9.js +0 -1
- package/console-dist/assets/select-Cg2u0NQI.js +0 -1
- package/console-dist/assets/shallow-Cin0mLuv.js +0 -1
- package/console-dist/assets/spawn-protocol-scope-picker-DDi-hZwj.js +0 -1
- package/console-dist/assets/tabs-BJs5Kci7.js +0 -1
- package/console-dist/assets/tags-CcmWc8Xj.js +0 -1
- package/console-dist/assets/tags-DnyhyxDB.js +0 -4
- package/console-dist/assets/use-engine-command-mutation-OZ8_Roso.js +0 -1
- package/console-dist/assets/use-integration-stream-CFkuEB9r.js +0 -2
- package/console-dist/assets/use-transition-navigate-BBXUEW59.js +0 -2
- package/console-dist/assets/validation-BvXCKp12.js +0 -1
- package/console-dist/assets/vendor-ui-CWUk2ulb.js +0 -1
- /package/console-dist/assets/{download-DmUZKo9N.js → download-i8CTJ7oi.js} +0 -0
- /package/console-dist/assets/{runtime-link-D-uJbw97.js → runtime-link-vBANRqcD.js} +0 -0
- /package/console-dist/assets/{transition-types-CPlGtM8w.js → transition-types-BKZuWApE.js} +0 -0
- /package/console-dist/assets/{triangle-alert-BXrJNk3g.js → triangle-alert-DoAwrRgk.js} +0 -0
- /package/console-dist/assets/{vendor-table-BAHQgdwg.js → vendor-table-B0Z9e_sn.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ot as e}from"./vendor-ui-D8j69UH4.js";import{C as t}from"./format-Bx7DF-TB.js";import{n,t as r}from"./utils-XFKvwlFT.js";var i=n(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),a=e();function o({role:e=`status`,"aria-live":n=`polite`,"aria-atomic":i=!0,className:o,eyebrow:s,stamp:c,title:l,children:u,detailLabel:d=`Technical detail`,detail:f,primaryLabel:p,onPrimary:m,primaryIcon:h,primaryDisabled:g,primaryBusy:_,secondaryLabel:v,onSecondary:y}){return(0,a.jsx)(`div`,{role:e,"aria-live":n,"aria-atomic":i,className:r(`relative overflow-hidden rounded-[var(--miravo-radius-stadium-lg)] border border-primary/20 bg-transparent`,o),children:(0,a.jsx)(`div`,{className:`p-5 sm:p-6`,children:(0,a.jsxs)(`div`,{className:`min-w-0 space-y-4`,children:[(0,a.jsxs)(`div`,{className:`space-y-3`,children:[(0,a.jsx)(`p`,{className:`font-mono text-[0.65rem] uppercase tracking-[0.38em] text-muted-foreground`,children:s}),(0,a.jsxs)(`div`,{className:`flex items-end gap-3`,children:[(0,a.jsx)(`span`,{className:`font-heading text-3xl font-black leading-none tracking-[-0.06em] text-transparent [-webkit-text-stroke:1px_color-mix(in_srgb,var(--primary)_50%,transparent)] sm:text-4xl`,"aria-hidden":!0,children:c}),(0,a.jsx)(`div`,{className:`mb-1.5 h-px min-w-8 flex-1 bg-linear-to-r from-primary/55 to-transparent`})]}),(0,a.jsx)(`h2`,{className:`text-lg font-semibold tracking-[-0.03em] text-foreground sm:text-xl`,children:l}),u?(0,a.jsx)(`div`,{className:`space-y-2 text-sm leading-relaxed text-muted-foreground`,children:u}):null]}),(0,a.jsxs)(`div`,{className:`rounded-[var(--miravo-radius-stadium-sm)] border border-border/80 bg-background/55 p-4 backdrop-blur-sm`,children:[(0,a.jsx)(`div`,{className:`mb-2 font-mono text-[0.65rem] uppercase tracking-[0.28em] text-muted-foreground`,children:d}),(0,a.jsx)(`p`,{className:`wrap-break-word font-mono text-sm leading-relaxed text-primary`,children:f})]}),(0,a.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:flex-wrap`,children:[(0,a.jsxs)(t,{type:`button`,onClick:m,disabled:!!(g||_),"aria-busy":_,className:r(`inline-flex w-full items-center justify-center gap-2 rounded-[var(--miravo-radius-stadium-sm)] border border-foreground/15 bg-foreground px-4 py-2.5 font-medium text-background shadow-none transition hover:bg-foreground/90 sm:w-auto`,_&&`pointer-events-none opacity-90`),children:[h,p]}),v&&y?(0,a.jsx)(t,{type:`button`,variant:`ghost`,size:`sm`,className:`sm:self-center`,onClick:y,children:v}):null]})]})})})}function s({message:e,onRetry:t,isRetrying:n}){return(0,a.jsxs)(o,{role:`alert`,eyebrow:`Data link fault`,stamp:`ERR`,title:`Couldn't reach Miravo`,detail:e,primaryLabel:`Retry request`,onPrimary:t,primaryBusy:!!n,primaryIcon:(0,a.jsx)(i,{className:r(`size-4 shrink-0`,n&&`animate-spin`),"aria-hidden":!0}),children:[(0,a.jsxs)(`p`,{children:[(0,a.jsx)(`span`,{className:`text-foreground`,children:`Most often:`}),` the Miravo admin server isn't running, or this browser can't reach it (wrong host, port, or firewall).`]}),(0,a.jsx)(`p`,{children:`Start or restart Miravo if needed, use the correct link to the Miravo Console, then try again.`})]})}export{o as n,i as r,s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./utils-XFKvwlFT.js";var t=e(`radio`,[[`path`,{d:`M16.247 7.761a6 6 0 0 1 0 8.478`,key:`1fwjs5`}],[`path`,{d:`M19.075 4.933a10 10 0 0 1 0 14.134`,key:`ehdyv1`}],[`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`,key:`1q22gi`}],[`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`,key:`r2q7qm`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]);export{t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/smart-factory-cem4tLAv.js","assets/rolldown-runtime-COnpUsM8.js","assets/vendor-ui-D8j69UH4.js","assets/vendor-charts-95ykyDlI.js","assets/chiller-BSx8eUMN.js","assets/status-CZFZLqVk.js","assets/dom-Cm_OH5jc.js","assets/compressor-D63w6Ir2.js","assets/water-treatment-CfVR0p0L.js","assets/tank-THHXGdzg.js","assets/by-path-VBqTBdlG.js","assets/api-B2QJEzbS.js","assets/utils-XFKvwlFT.js","assets/chevron-right-CMSQPSEo.js","assets/asset-panel-DDziFlFl.js","assets/chunk-OE4NN4TA-DBWZidbW.js","assets/useQuery-M9KTdi7Q.js","assets/format-Bx7DF-TB.js","assets/arrow-up-right-CwPw_2U1.js","assets/chevron-left-XHFooLn1.js","assets/console-panel-CMDoBJiO.js","assets/use-engine-command-mutation-CHqjOqfS.js","assets/dialog-B5PqrKVw.js","assets/runtime-link-vBANRqcD.js","assets/asset-detail-actions-jjbvaDES.js","assets/circle-x-_o0nl0Rg.js","assets/loader-circle-DjgHgHHl.js","assets/play-kg50os4l.js","assets/trash-2-BH9HDsZv.js","assets/triangle-alert-DoAwrRgk.js","assets/badge-Bk1DaL6C.js","assets/validation-BkfmaBBi.js","assets/tooltip-B3vOB1Vu.js","assets/model-schemas-3w38IPdc.js","assets/district-heating-Cr4CrgCA.js","assets/boiler-CWAR1Nq2.js","assets/stages-hidkaJPI.js","assets/pharma-cleanroom-ClJRwROz.js","assets/rtu-D-1lltcO.js","assets/commercial-building-CNvi6IZK.js","assets/genset-BRgqR1AT.js","assets/backup-power-BDMAO2bO.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{d as e}from"./chunk-OE4NN4TA-DBWZidbW.js";var t=new Map([[`smart-factory`,()=>e(()=>import(`./smart-factory-cem4tLAv.js`).then(e=>e.smartFactoryFloor),__vite__mapDeps([0,1,2,3,4,5,6,7]))],[`water-treatment`,()=>e(()=>import(`./water-treatment-CfVR0p0L.js`).then(e=>e.waterFloor),__vite__mapDeps([8,1,2,3,7,5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33]))],[`district-heating`,()=>e(()=>import(`./district-heating-Cr4CrgCA.js`).then(e=>e.heatingFloor),__vite__mapDeps([34,1,2,3,35,5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,36]))],[`pharma-cleanroom`,()=>e(()=>import(`./pharma-cleanroom-ClJRwROz.js`).then(e=>e.pharmaFloor),__vite__mapDeps([37,1,2,3,38,5,6,35,4,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,36]))],[`commercial-building`,()=>e(()=>import(`./commercial-building-CNvi6IZK.js`).then(e=>e.buildingFloor),__vite__mapDeps([39,1,2,3,38,5,6,35,4,40,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,36]))],[`backup-power`,()=>e(()=>import(`./backup-power-BDMAO2bO.js`).then(e=>e.backupFloor),__vite__mapDeps([41,1,2,3,4,5,6,7,40,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,36]))]]);function n(e){return t.has(e)}function r(e){return`/floor/${encodeURIComponent(e)}`}var i=new Map;function a(e){let n=i.get(e);if(!n){let r=t.get(e);if(!r)throw Error(`No floor for template '${e}'. Add it to FLOORS in layouts/registry.ts.`);n=r(),i.set(e,n)}return n}export{n,a as r,r as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./utils-XFKvwlFT.js";var t=e(`rocket`,[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`,key:`u4xsad`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`,key:`676m9`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`,key:`92ym6u`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e,n as t,s as n}from"./dom-Cm_OH5jc.js";import{C as r,I as i,_ as a,c as o,d as s,g as c,h as l,s as u,w as d,y as f}from"./status-CZFZLqVk.js";var p=15,m=3,h=28,g=m+h,_=[0,.18,.4,.6,.74,1],v=34;function y(e,t=4){let n=t=>-e/2+e*t,r=e=>(n(_[e]??0)+n(_[e+1]??0))/2;return{intake:[r(0),-p,m+14],chwSupply:[r(2)-t,-6,g+4],chwReturn:[r(2)+t,-6,g+4],steam:[r(3),-6,g+4],discharge:[r(4),p+3,g-9]}}var b=(e,t=!1)=>({x:-e/2,y:-p-1,w:e+(t?v:0),d:p*2+2,r:2});function x(e,t){let{G:n,P:r,S:i,slab:a}=e,o=t/2-1,s=m+14,c=n.frameAlong([o,0,s],[1,0,0]),l=n.frameAlong([o+10,0,s],[1,0,0]);return[a({x:o,y:-12,w:v,d:24,r:1},0,m,{tone:`lo`},2,0),a({x:o+12,y:-9,w:17,d:18,r:1},m,s-7.4-m,{tone:`lo`},2,0),i(n.disc(0,9.5,4.6,c,r),{tone:`mid`,crease:`lo`}),i(n.solidOf([[0,6.2],[1.6,7.4],[21,7.4],[22.6,6.2]],l,r),{tone:`mid`,inner:e.k.fadedSvg(n.ribsOf(l,1.6,21,7.4,16,r,{fade:[.1,.55],seams:!0}),{tone:`lo`})}),i(n.disc(22.6,26.4,5.6,l,r),{tone:`mid`}),a({x:o+17,y:-4.2,w:9,d:8.4,r:.8},s+7,4.4,{tone:`mid`},2,.3)].join(``)}function S(e,t,n,r={}){let{k:a,G:o,P:s,S:c,L:l,D:u,slab:d,cyl:f,hmi:v,at:b}=e,{stubHalf:S=4,humidifier:C=!0,filterGauge:w=!0,fanHook:T=`data-fan`,motor:E=!1}=r,D=e=>-n/2+n*e,O=y(n,S),k=[];k.push(d({x:-n/2,y:-p-1,w:n,d:p*2+2,r:1},0,m,{tone:`lo`},2,0));let A={x:-n/2+1,y:-p,w:n-2,d:p*2,r:1.2},j=_.slice(1,-1).map(e=>a.segment([D(e),p,m],[D(e),p,g],s)+a.segment([D(e),p,g],[D(e),-p,g],s)).join(``);k.push(c(a.slabOf(A,m,h,s,2,.5),{tone:`mid`,inner:l(j,{tone:`faint`})}));let M=e.front(p),[N,P]=[D(_[1])+2,D(_[2])-2];if(k.push(`<g transform="${M}"><path class="iso-line" data-tone="lo" fill="none" d="M${N} ${-(m+3)}H${P}V${-(g-3)}H${N}Z"/><path class="sf-grime" data-foul="" style="opacity:0" d="M${N+.5} ${-(m+3.5)}H${P-.5}V${-(g-3.5)}H${N+.5}Z"/></g>`),k.push(u([m+9,g-9].map(e=>b([P-2,p,e])),{size:.4})),w&&k.push(i(M,`${t}:hepa`,(N+P)/2-2,g-9,3)),C){let e=b([O.steam[0],p,m+8]);k.push(`<circle class="cr-lamp" data-hum="" cx="${e[0].toFixed(2)}" cy="${e[1].toFixed(2)}" r="${(.8*s.scale).toFixed(2)}"/>`)}k.push(v(t,p,D(_[2])+2,D(_[3])-2,m+4,g-4));let F=(e,t)=>{let n=o.frameAlong([e[0],e[1],g],[0,0,1]);return c(o.disc(0,e[2]-g-1.4,t,n,s),{tone:`mid`})+c(o.disc(e[2]-g-1.4,e[2]-g,t+1.2,n,s),{tone:`mid`})};k.push(F(O.chwSupply,1.8),F(O.chwReturn,1.8)),C&&k.push(F(O.steam,1.6));let I=(D(_[4])+D(_[5]))/2,L=Math.min(10,(D(_[5])-D(_[4]))/2-3);k.push(f(I,0,L+1,g,1.4,{tone:`mid`},40)),k.push(l(a.ring(I,0,L-1,g+1.4,s,40),{tone:`lo`}));let R=`${n/2+14},0,${m+14}`,z=T===`data-vfan`?` data-axis="z" data-top="${n/2+18},0,${m+22}" data-bearing="${R}"`:``;k.push(`<path class="iso-line" data-tone="mid" ${T}="${I},0,${g+1.4},${L-1}"${z} d=""/>`),k.push(l(a.ring(I,0,2,g+1.4,s,16),{tone:`mid`}));let[B,V,H]=O.discharge,U=o.frameAlong([B,p,H],[0,1,0]);return k.push(c(o.disc(0,V-p-1.4,3,U,s),{tone:`mid`}),c(o.disc(V-p-1.4,V-p,4.2,U,s),{tone:`mid`})),E&&k.push(x(e,n)),k.join(``)}var C=46,w=20,T=4,E=32,D=[-32,0,E+4],O={x:-C,y:-w,w:C*2,d:w*2,r:2};function k(e,t,n=`top`){let{k:r,G:i,P:a,S:o,L:s,D:c,slab:l,cyl:u,hmi:d,screws:f}=e,p=[];p.push(l({x:-C+2,y:-w+2,w:C*2-4,d:w*2-4,r:1},0,T,{tone:`lo`},2,0));let m={x:-C,y:-w,w:C*2,d:w*2,r:1.5},h=[];for(let e=-w+3;e<=w-3;e+=2)h.push(r.segment([C,e,T+4],[C,e,E-4],a));let g=r.segment([4,w,T],[4,w,E],a)+r.segment([4,w,E],[4,-w,E],a);p.push(o(r.slabOf(m,T,E-T,a,3,.6),{tone:`mid`,inner:s(h.join(``),{tone:`faint`})+s(g,{tone:`lo`})}));let _=e.front(w);p.push(l({x:-C+3,y:w,w:18,d:5,r:.6},T+10,16,{tone:`mid`},2,.3));let v=[16,19.5,23,26.5].map(e=>`M${-C+5} ${-e}H${-C+19}`).join(``);if(p.push(`<g transform="${e.front(w+5)}"><path class="iso-line" data-tone="lo" d="${v}"/></g>`),p.push(`<g transform="${_}"><path class="iso-line" data-tone="lo" fill="none" d="M-24 ${-(T+3)}H-6V${-(E-3)}H-24Z"/><path class="sf-grime" data-foul="" style="opacity:0" d="M-23.5 ${-(T+3.5)}H-6.5V${-(E-3.5)}H-23.5Z"/><path class="iso-line" data-tone="lo" fill="none" d="M24 ${-(T+3)}H42V${-(E-3)}H24Z"/></g>`),p.push(c([T+8,E-8].flatMap(t=>[e.at([-8,w,t]),e.at([40,w,t])]),{size:.4})),p.push(`<path class="iso-line" data-rtu="33,${w},${E-8}" d=""/>`),p.push(d(t,w,7,21,T+5,E-5)),n===`top`){let e=i.frameAlong([D[0],D[1],E],[0,0,1]);p.push(o(i.disc(0,2.6,5,e,a),{tone:`mid`}),o(i.disc(2.6,4,6.2,e,a),{tone:`mid`}))}for(let e of[16,34])p.push(u(e,0,9.5,E,2,{tone:`mid`},40)),p.push(s(r.ring(e,0,8,E+2,a,40),{tone:`lo`})),p.push(`<path class="iso-line" data-tone="mid" data-fan="${e},0,${E+2},8" d=""/>`),p.push(s(r.ring(e,0,1.6,E+2,a,16),{tone:`mid`}));return p.push(f(r.corners(m,2.5),E)),p.join(``)}function A(i,p){let{svg:m,P:h,feed:g}=i,_=(e,t)=>g.num(e,t),v=t(m,`[data-rtu]`).map(e=>{let i=u(e),a=e=>t(m,`[data-asset="${i}"] ${e}`);return{id:i,leak:o(e.dataset.rtu),fans:a(`[data-fan]`).map(e=>({el:e,at:n(e.dataset.fan)})),foul:a(`[data-foul]`),hiss:f(r(m,i),`frost`),rate:0,spin:0}}),y=new Map(v.map(e=>[e.id,e])),b=e=>c(_(e,`supply_airflow_cfm`)/g.param(e,`rated_airflow_cfm`,12e3));return{draw(t,n,r){let o=i.reducedMotion();for(let i of v){let c=_(i.id,`compressor_stage2_active`)>0?1.4:_(i.id,`compressor_stage1_active`)>0?.9:0;i.rate=a(i.rate,c,t,1.2,o),o||(i.spin+=i.rate*l*t);for(let{el:t,at:n}of i.fans)e(t,`d`,s(h,n,i.spin));let u=e=>r&&d(g,i.id,e);i.hiss.draw(u(`refrigerant_leak`)&&!o,n,h,i.leak,[.3,1]);let f=u(`dirty_filter`)?`0.85`:`0`;for(let e of i.foul)e.style.opacity=f;p(i.id,o?0:u(`compressor_failure`)?.3:0,n)}},bar(e){return y.has(e)?b(e):void 0},airPu:b}}export{b as a,k as i,O as n,y as o,D as r,S as s,A as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,c as t,d as n,f as r,i,l as a,m as o,n as s,o as c,ot as l,p as u,r as d,s as f,t as p,u as m}from"./vendor-ui-D8j69UH4.js";import{t as h}from"./utils-XFKvwlFT.js";import{t as g}from"./check-B-yvIfMj.js";import{t as _}from"./chevron-down-x70Pto6j.js";var v=l(),y=o;function b({className:e,...t}){return(0,v.jsx)(d,{"data-slot":`select-group`,className:h(`scroll-my-1 p-1`,e),...t})}function x({className:e,...t}){return(0,v.jsx)(r,{"data-slot":`select-value`,className:h(`flex flex-1 text-left`,e),...t})}function S({className:e,size:t=`default`,children:r,...i}){return(0,v.jsxs)(u,{"data-slot":`select-trigger`,"data-size":t,className:h(`flex w-fit min-w-0 items-center justify-between gap-1.5 rounded-[var(--miravo-radius-stadium-sm)] border border-input bg-input/30 px-2.5 text-xs whitespace-nowrap transition-colors outline-none select-none hover:bg-input/50 focus-visible:border-primary/35 focus-visible:ring-2 focus-visible:ring-primary/22 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[var(--miravo-radius-stadium-sm)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...i,children:[r,(0,v.jsx)(n,{render:(0,v.jsx)(_,{className:`pointer-events-none size-4 text-muted-foreground`})})]})}function C({className:e,children:n,side:r=`bottom`,sideOffset:i=6,align:o=`center`,alignOffset:s=0,alignItemWithTrigger:c=!1,...l}){return(0,v.jsx)(m,{children:(0,v.jsx)(a,{side:r,sideOffset:i,align:o,alignOffset:s,alignItemWithTrigger:c,className:`isolate z-50`,children:(0,v.jsx)(t,{"data-slot":`select-content`,"data-align-trigger":c,className:h(`relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-[var(--miravo-radius-tight)] bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 motion-reduce:data-open:animate-none motion-reduce:data-closed:animate-none motion-reduce:data-open:duration-0 motion-reduce:data-closed:duration-0`,e),...l,children:(0,v.jsx)(f,{children:n})})})})}function w({className:e,...t}){return(0,v.jsx)(s,{"data-slot":`select-label`,className:h(`px-2 py-1.5 text-xs text-muted-foreground`,e),...t})}var T=`relative flex w-full cursor-pointer items-center gap-1.5 rounded-[var(--miravo-radius-tight)] py-1 pr-8 pl-1.5 text-xs text-muted-foreground outline-hidden select-none data-[highlighted]:bg-sidebar-accent data-[highlighted]:text-sidebar-accent-foreground not-data-[variant=destructive]:data-[highlighted]:**:text-sidebar-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`;function E({className:t,children:n,...r}){return(0,v.jsxs)(c,{"data-slot":`select-item`,className:h(T,t),...r,children:[(0,v.jsx)(i,{"data-slot":`select-item-text`,className:`flex min-w-0 flex-1 gap-2 whitespace-nowrap`,children:n}),(0,v.jsx)(e,{render:(0,v.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex size-4 items-center justify-center`}),children:(0,v.jsx)(g,{className:`pointer-events-none`})})]})}function D({className:e,...t}){return(0,v.jsx)(p,{"data-slot":`select-separator`,className:h(`pointer-events-none -mx-1 my-1 h-px bg-border`,e),...t})}export{w as a,x as c,E as i,C as n,D as o,b as r,S as s,y as t};
|
package/console-dist/assets/{select-display-items-BEVMAho-.js → select-display-items-DN2G8DNG.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{ot as e}from"./vendor-ui-D8j69UH4.js";import{t}from"./utils-XFKvwlFT.js";var n=e();function r({className:e,...r}){return(0,n.jsx)(`div`,{className:`relative w-full overflow-x-auto`,children:(0,n.jsx)(`table`,{"data-slot":`table`,className:t(`min-w-full caption-bottom text-sm`,e),...r})})}function i({className:e,...r}){return(0,n.jsx)(`thead`,{"data-slot":`table-header`,className:t(`[&_tr]:border-b`,e),...r})}function a({className:e,...r}){return(0,n.jsx)(`tbody`,{"data-slot":`table-body`,className:t(`[&_tr:last-child]:border-0`,e),...r})}function o({className:e,...r}){return(0,n.jsx)(`tr`,{"data-slot":`table-row`,className:t(`border-b transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground data-[state=selected]:bg-sidebar-accent data-[state=selected]:text-sidebar-accent-foreground`,e),...r})}function s({className:e,...r}){return(0,n.jsx)(`th`,{"data-slot":`table-head`,className:t(`h-10 px-1.5 text-left align-middle font-medium whitespace-nowrap text-foreground sm:px-2 [&:has([role=checkbox])]:pr-0`,e),...r})}function c({className:e,...r}){return(0,n.jsx)(`td`,{"data-slot":`table-cell`,className:t(`p-1.5 align-middle whitespace-nowrap sm:p-2 [&:has([role=checkbox])]:pr-0`,e),...r})}var l=[{value:`all`,label:`All events`},{value:`fault:triggered`,label:`Fault Triggered`},{value:`fault:cleared`,label:`Fault Cleared`},{value:`lifecycle:changed`,label:`Lifecycle Changed`},{value:`asset:maintenance`,label:`Maintenance`},{value:`asset:created`,label:`Asset Created`},{value:`asset:removed`,label:`Asset Removed`},{value:`engine:state-changed`,label:`Engine State`}],u=[{value:`all`,label:`All status`},{value:`healthy`,label:`Healthy`},{value:`faulted`,label:`Faulted`},{value:`quarantined`,label:`Quarantined`}];export{c as a,o as c,a as i,u as n,s as o,r,i as s,l as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./utils-XFKvwlFT.js";var t=e(`arrow-right`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),n=e(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),r=e(`server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]);export{n,t as r,r as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./utils-XFKvwlFT.js";var t=e(`gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),n=e(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]);export{t as n,n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{c as t}from"./vendor-charts-95ykyDlI.js";import{ot as n}from"./vendor-ui-D8j69UH4.js";import{C as r,F as i,I as a,N as o,T as s,_ as c,a as l,b as u,c as d,d as f,f as p,l as m,m as h,n as g,o as _,p as v,s as y,t as b,v as x,x as S,y as C,z as w}from"./dom-Cm_OH5jc.js";import{B as T,C as E,D,E as O,F as k,G as A,H as j,I as M,J as N,K as P,L as ee,M as te,P as ne,R as F,S as re,T as I,U as ie,V as ae,W as oe,X as se,Y as ce,_ as L,a as le,b as ue,g as de,h as fe,i as pe,j as me,l as he,m as ge,n as _e,o as ve,p as ye,q as R,r as be,t as xe,u as Se,v as z,w as Ce,x as we,y as Te,z as Ee}from"./status-CZFZLqVk.js";import{n as De,r as Oe,t as ke}from"./chiller-BSx8eUMN.js";import{n as Ae,t as je}from"./compressor-D63w6Ir2.js";var Me=7.2,B=-156,V=4.8,H=33.6,Ne=H+4.4,Pe=59,Fe=[[B,28.4,V],[B,H+2.4,V]],Ie=[[B,Ne,V+4.2],[B,Ne,Pe],[B,22,Pe],[-112,22,Pe]],Le=1.2,Re=1.6,ze=4;function Be(e){let t=(t,n,r,i)=>({id:t,medium:`water`,r,path:e.G.fillet(n,i,12,{P:e.P,tube:r}),reverse:!1,capped:[!0,!0],slots:[],group:t});return[t(`wash-suction`,Fe,Le,2),t(`wash-spray`,Ie,Re,ze)]}function Ve(e,t,n){let{k:r,G:i,P:a,at:o,S:s,L:c,slab:l,cyl:u,hmi:d,andon:f,screws:p,conveyor:m}=e,h=m(-176,92,4,24,23),g={x:-150,y:0,w:42,d:32,r:2},_=[0,1,2,3].map(e=>r.pathOf(r.roundedPlan({x:g.y+6+e*5.4,y:35,w:1.8,d:14,r:.9},3).map(([e,t])=>o([g.x+g.w,e,t])),!0)).join(``),v={x:-168,y:5,w:74,d:22,r:1},y=i.frameAlong([-98,34.5,10],[0,1,0]);return[l(v,0,Me,{tone:`lo`},2,0),`<path class="sf-void" d="${r.pathOf(r.roundedPlan(r.insetPlan(v,1),2).map(([e,t])=>o([e,t,Me])),!0)}"/>`,`<path class="sf-water" d="${r.pathOf(r.roundedPlan(r.insetPlan(v,3),2).map(([e,t])=>o([e,t,Me])),!0)}"/>`,h.back,h.belt,l({x:-85,y:8,w:4,d:14,r:.3},23.4,.6,{tone:`mid`},2,0),`<g data-belt="wash" data-x0="-175" data-x1="-86" data-y0="4" data-y1="28" data-z="${h.top}"><path class="iso-line" data-tone="faint" data-cleats="" d=""/><g data-parts-back=""></g></g>`,`<g data-robot-late="1" data-asset="${n}" class="sf-robot"></g>`,s(r.slabOf(g,24,30,a,3,.8),{tone:`mid`,inner:c(r.sideSeam(g,43,a,3)+r.sideSeam(g,27,a,3),{tone:`faint`})+c(_,{tone:`lo`})}),p(r.corners(g,2.2),54),u(-121,10,4,54,10,{tone:`mid`,inner:c(r.sideArc(-121,10,4,59,a,24),{tone:`faint`})},24),u(-121,10,5.2,64,1.6,{tone:`mid`},24),`<g data-steam="-121,10,66"></g>`,f(t,-144,6,54),u(-128,22,1.4,54,4,{tone:`mid`},12),u(-117,22,1.4,54,4,{tone:`mid`},12),d(t,32,-146,-112,28,49),`<path class="sf-void" d="${r.pathOf([[-108,5,24.2],[-108,27,24.2],[-108,27,33.4],[-108,5,33.4]].map(e=>o(e)),!0)}"/>`,`<path class="sf-flaps" data-flaps="" d=""/>`,l({x:-104,y:.4,w:2,d:2,r:.4},27,11,{tone:`mid`},2,0),l({x:-104,y:29.6,w:2,d:2,r:.4},27,11,{tone:`mid`},2,0),s(i.solidOf([[0,1.3],[31.2,1.3]],i.frameAlong([-103,.4,37.4],[0,1,0]),a),{tone:`mid`,crease:`none`}),`<g class="sf-fx" data-airknife="-103,16,35.4"></g>`,`<g data-parts-front="wash"></g>`,`<g class="sf-fx" data-drips=""></g>`,h.front,l({x:-103,y:30.5,w:10,d:4,r:.8},4,12,{tone:`mid`},2,.3),s(i.solidOf([[0,3.6],[.6,4.2],[9,4.2],[9.6,3.6]],y,a),{tone:`mid`,inner:r.fadedSvg(i.ribsOf(i.frameAlong([-98,34.5,10],[0,1,0]),.6,9,4.2,14,a,{fade:[.1,.55],seams:!0}),{tone:`lo`})}),s(i.disc(9.6,11,2.8,y,a),{tone:`mid`}),He(e)].join(``)}function He(e){let{k:t,G:n,P:r,S:i,D:a,slab:o,cyl:s,screws:c}=e,l=n.frameAlong([B,H,V],[0,1,0]);return[i(n.disc(0,1.2,2.2,n.frameAlong([B,27,V],[0,1,0]),r),{tone:`mid`}),T(e,Fe,Le,`mid`,2,`water`,[!1,!1]),`<g data-glints="wash-suction"></g>`,o({x:B-5,y:H+1,w:10,d:18,r:.8},0,1.2,{tone:`lo`},2,.3),c([[B-3.6,H+2.4],[B+3.6,H+2.4],[B-3.6,H+17.6],[B+3.6,H+17.6]],1.2),i(n.disc(2.4,6.4,3.6,l,r),{tone:`mid`,crease:`lo`}),i(n.disc(6.4,8,2.2,l,r),{tone:`mid`}),i(n.solidOf([[8,2.8],[8.4,3.2],[16.4,3.2],[16.8,2.8]],l,r),{tone:`mid`,inner:t.fadedSvg(n.ribsOf(l,8.4,16.4,3.2,12,r,{fade:[.1,.55],seams:!0}),{tone:`lo`})}),i(n.disc(16.8,18,2.6,l,r),{tone:`mid`}),a(n.dotsOf(n.frameAlong([B,H+18,V],[0,1,0]),0,1.6,6,r,{all:!0}),{size:.35}),s(B,Ne,2.4,V+3,1.2,{tone:`mid`},20),T(e,Ie,Re,`mid`,ze,`water`,[!1,!1]),`<g data-glints="wash-spray"></g>`,i(n.disc(0,1.2,2.2,n.frameAlong([-112,22,Pe],[1,0,0]),r),{tone:`mid`})].join(``)}var Ue=[[`cnc`,`cnc-spindle`],[`robot`,`industrial-robot`],[`wash`,`belt-conveyor`],[`press`,`hydraulic-press`],[`test`,`belt-conveyor`],[`packer`,`industrial-robot`]],We=[[`chiller`,`industrial-chiller`],[`comp`,`air-compressor`],[`pump`,`centrifugal-pump`],[`amr`,`industrial-robot`]];function Ge({template:e,assets:t,line:n}){if(n===void 0)return{status:`pending`};let r=new Set(e.assetIds),i=new Map(t.filter(e=>r.has(e.id)).map(e=>[e.id,e.model])),a=new Map;for(let[e,[t,r]]of Ue.entries()){let o=n.stations[e]?.id;if(!o||i.get(o)!==r)return{status:`mismatch`};a.set(t,o)}let o=new Set(a.values());for(let[e,t]of We){let n=[...i].filter(([e,n])=>n===t&&!o.has(e)),r=n.length===1?n[0]?.[0]:void 0;if(!r)return{status:`mismatch`};a.set(e,r)}let s=e=>a.get(e)??``;return{status:`ready`,ids:{cnc:s(`cnc`),robot:s(`robot`),wash:s(`wash`),press:s(`press`),test:s(`test`),packer:s(`packer`),chiller:s(`chiller`),comp:s(`comp`),pump:s(`pump`),amr:s(`amr`)}}}function Ke(e){return[{key:e.cnc,assetId:e.cnc,name:`CNC machining centre`,kind:`station`},{key:e.robot,assetId:e.robot,name:`Unload robot`,kind:`station`},{key:e.wash,assetId:e.wash,name:`Parts washer`,kind:`station`},{key:e.press,assetId:e.press,name:`Hydraulic press`,kind:`station`},{key:e.test,assetId:e.test,name:`Inspection conveyor`,kind:`station`},{key:e.packer,assetId:e.packer,name:`Packing robot`,kind:`station`},{key:e.chiller,assetId:e.chiller,name:`Process chiller`,kind:`utility`},{key:e.comp,assetId:e.comp,name:`Air compressor`,kind:`utility`},{key:e.pump,assetId:e.pump,name:`Coolant pump`,kind:`utility`},{key:e.amr,assetId:e.amr,name:`AMR tote shuttle`,kind:`utility`}]}var qe=9.5,Je=162,Ye=176.8;function Xe(e,t){let n=e.id===`wash`?t.wash:e.id===`test`?t.test:null;return{...e,station:n,phase:0,speed:0,items:[],good:-1,scrap:-1,starved:0}}var Ze=(e,t)=>!e.items.some(e=>!e.push&&Math.abs(e.x-t)<9.5),U=(e,t)=>e.find(e=>e.id===t),Qe=(e,t)=>{e.items.push({x:t,push:0,out:!1})};function $e(e,t,n,r,i,a){let o=e.id===`feed`?e.items.some(t=>t.x<e.x1-6.5):n?.state===`running`;if(e.speed=L(e.speed,o?7*a:0,t,.4,i),e.phase=(e.phase+e.speed*t)%6,n){if(e.starved=n.state===`starved`?e.starved+t:0,e.starved>3)for(let t of e.items)t.push||(t.out=!0);if(e.good>=0&&n.good>e.good)for(let t=n.good-e.good;t>0;t--){let t=e.items.filter(e=>!e.out&&!e.push).sort((e,t)=>t.x-e.x)[0];t&&(t.out=!0)}if(e.scrap>=0&&n.scrap>e.scrap){let t=e.items.filter(e=>!e.out&&!e.push).sort((e,t)=>Math.abs(e.x-Je)-Math.abs(t.x-Je))[0];t&&(t.push=.001,t.x0=t.x)}e.good=n.good,e.scrap=n.scrap}let s=e.id===`test`?Ye:e.x1-6,c=e.id===`wash`&&r!==void 0&&!Ze(r,e.x1+3),l=s,u=c?e.x1+2.9:1/0;for(let n of[...e.items].sort((e,t)=>t.x-e.x)){if(n.push){n.push+=t/1.1,n.x=(n.x0??n.x)+(Je-(n.x0??n.x))*Math.min(1,n.push*3);continue}if(n.out){e.id===`test`?n.x=Math.min(n.x+Math.max(e.speed,5)*t,l,Ye):n.x=Math.max(n.x,Math.min(n.x+Math.max(e.speed,5)*t,u)),l=u=n.x-qe;continue}n.x=Math.min(n.x+e.speed*t,l),l=u=n.x-qe}if(e.id===`wash`&&r)for(let t of e.items)!t.push&&t.x>=e.x1+3&&r.items.push({x:t.x,push:0,out:!1});e.items=e.items.filter(t=>t.push?t.push<1:t.x<e.x1+3)}function et(e,t,n,r,i){let a=U(e,`feed`);for(let o of e)$e(o,t,o.station?n(o.station):void 0,a,r,o.station?i(o.station):1)}function tt(e,t){for(let[n,r]of t){let t=e.get(n);if(t&&r.good+r.scrap-t.good-t.scrap>2)return!0}return!1}var nt=42.4,rt=3.6,it=5.8,at=41,ot=50.9,st=18.9,ct=[32,83],lt=87,ut=e=>{let t=1.5/it,n=2.3/it,r=4.3/it;return e<t?.85*z(e/t):e<n?.85+.15*((e-t)/(n-t)):e<r?1:1-z((e-r)/(1-r))},dt=e=>-((e-28)/56)*2.6,ft=e=>Math.min(3,Math.max(1,e/3));function pt(){return{stroke:{t:-1},ram:0,die:{has:!1,pressed:!1,done:0,good:-1,h:null,hit:!1,jolt:0},loader:{phase:`idle`,t:0,x:0,lead:!1},unloader:{phase:`idle`,t:0,x:0,z:6},chute:{x:null,v:0},counts:{strokes:0,loads:0,unloads:0}}}function mt(e){Object.assign(e.die,{has:!1,done:0,good:-1}),e.chute.x=null}var ht=(e,t)=>e.ram<20&&(t.simSpeed>=5?e.stroke.t<0:t.phase===0||t.phase===6),gt=e=>70-Math.max(0,Math.min(278,e))/278*nt;function _t(e,t,n){e.stroke.t<0&&e.die.has&&!e.die.pressed&&e.loader.phase===`idle`&&(n.simSpeed>=5||n.phase>=1&&n.phase<=4)&&(e.stroke.t=0,e.counts.strokes++),e.stroke.t>=0?(e.stroke.t+=t/Math.max(1.2,it/n.simSpeed),e.ram=278*ut(Math.min(1,e.stroke.t)),e.stroke.t>=1&&(e.stroke.t=-1)):e.ram=L(e.ram,0,t,.3,n.still)}var W=(e,t,n,r)=>(e.t+=n/(r.still?.01:t/ft(r.simSpeed)),z(Math.min(1,e.t)));function vt(e,t,n,r,i){let{die:a,loader:o,unloader:s,chute:c}=e;n.pressGood!==void 0&&(a.good>=0&&n.pressGood>a.good&&(a.done=Math.min(a.done+n.pressGood-a.good,3)),a.good=n.pressGood);let l=r.items.find(e=>e.x>=-41.5);o.lead=!!l,l&&o.phase===`idle`&&s.phase===`idle`&&!a.has&&ht(e,n)&&(r.items.splice(r.items.indexOf(l),1),o.phase=`push`,o.t=0),o.phase===`push`?(o.x=W(o,1.5,t,n)*at,o.t>=1&&(a.has=!0,a.pressed=!1,a.h=null,e.counts.loads++,o.phase=`back`,o.t=0)):o.phase===`back`&&(o.x=(1-W(o,.9,t,n))*at,o.t>=1&&(o.phase=`idle`,o.t=0)),s.phase===`idle`&&o.phase===`idle`&&a.has&&a.pressed&&a.done>0&&c.x===null&&ht(e,n)&&(s.phase=`lower`,s.t=0),s.phase===`lower`?(s.z=6*(1-W(s,.25,t,n)),s.t>=1&&(s.phase=`push`,s.t=0,a.has=!1,a.done--,e.counts.unloads++)):s.phase===`push`?(s.x=W(s,1.4,t,n)*ot,s.t>=1&&(s.phase=`lift`,s.t=0,c.x=ct[0],c.v=0)):s.phase===`lift`?(s.z=6*W(s,.2,t,n),s.t>=1&&(s.phase=`back`,s.t=0)):s.phase===`back`&&(s.x=(1-W(s,.9,t,n))*ot,s.t>=1&&(s.phase=`idle`,s.t=0)),c.x!==null&&(c.v=Math.min(14,c.v+16*t),c.x=Math.min(ct[1],c.x+c.v*t),c.x>=ct[1]&&(c.v=0,Ze(i,lt)&&(Qe(i,lt),c.x=null)));let u=gt(e.ram);if(a.has){o.phase===`push`&&(a.pressed=!1);let e=a.pressed?rt:Math.max(rt,Math.min(5,u-24));e<=3.75&&(a.pressed=!0);let t=e.toFixed(2);a.h!==t&&(a.h=t),u<27.900000000000002&&!a.hit&&(a.hit=!0,a.jolt=.22),u>40&&(a.hit=!1)}a.jolt=Math.max(0,a.jolt-t)}function yt(e){return g(e,`[data-belt]`).map(e=>({id:e.dataset.belt??``,x0:+(e.dataset.x0??0),x1:+(e.dataset.x1??0),y0:+(e.dataset.y0??0),y1:+(e.dataset.y1??0),z:+(e.dataset.z??0)}))}var bt=new Map([[`wash`,[-152,-106]]]),G=-108,xt=129;function St(e,t){let{svg:n,P:i}=e,o=i.scale,c=t.map(e=>{let t=b(n,`[data-belt="${e.id}"]`),r=t?b(t,`[data-parts-back]`):null,a=b(n,`[data-parts-front="${e.id}"]`),o=ge(he,e.z,e.id===`test`?rt:5,i),s=Array.from({length:7},()=>{let e=_(`g`,{}),t=_(`g`,{});return e.innerHTML=t.innerHTML=o,e.style.display=t.style.display=`none`,r?.append(e),a?.append(t),{back:e,front:t}});return{b:e,cleats:t?b(t,`[data-cleats]`):null,pool:s}}),u=b(n,`[data-flaps]`),f=b(n,`[data-airknife]`),p=y(f?.dataset.airknife),m=Array.from({length:10},(e,t)=>({el:_(`circle`,{class:`sf-hiss`,style:`display:none`},f),seed:t*.618%1})),h=b(n,`[data-drips]`),g=Array.from({length:10},(e,t)=>({el:_(`ellipse`,{class:`sf-drip-w`,rx:`0.4`,ry:`0.7`,style:`display:none`},h),seed:t*.382%1})),v=b(n,`[data-eye="test"]`);function x(e,n){let a=U(t,`wash`);if(!a)return;let s=0;for(let e of a.items)s=Math.max(s,Math.exp(-(((e.x-G)/3.2)**2)));let c=``;for(let t=0;t<7;t++){let n=6.2+t*3.25,a=s*3.4+Math.sin(e*6+t)*.12,[o,l]=r([G,n,33.2],i),[u,d]=r([G+a,n,24.6+s*1.2],i);c+=`M${o.toFixed(2)} ${l.toFixed(2)}L${u.toFixed(2)} ${d.toFixed(2)}`}d(u,`d`,c);let f=a.items.filter(e=>e.x>G&&e.x<G+12);g.forEach((t,a)=>{let o=f[a%Math.max(1,f.length)];if(!o||n){l(t.el,`0`);return}let s=(e*1.4+t.seed)%1,c=24-s*s*(24-Me),[u,d]=r([o.x-3+t.seed*6,10+t.seed*7%1*12,c],i);t.el.setAttribute(`cx`,u.toFixed(1)),t.el.setAttribute(`cy`,d.toFixed(1)),l(t.el,((1-(o.x-G)/12)*.85).toFixed(2))});let h=a.items.some(e=>Math.abs(e.x-(p[0]??0))<4.5)&&!n;for(let t of m){if(!h){l(t.el,`0`);continue}let n=(e*3+t.seed)%1,[a,s]=r([(p[0]??0)-1-n*5,(p[1]??0)-11+t.seed*22,(p[2]??0)-n*6],i);t.el.setAttribute(`cx`,a.toFixed(1)),t.el.setAttribute(`cy`,s.toFixed(1)),t.el.setAttribute(`r`,((.4+n*1.4)*o*.5).toFixed(2)),l(t.el,(Math.sin(Math.PI*n)*.4).toFixed(2))}}return{draw(t){x(t,e.reducedMotion());let n=!1;for(let{b:e,cleats:t,pool:r}of c){let o=``;for(let t=e.x0+2+e.phase;t<e.x1-1;t+=6)o+=s([t,e.y0+.6],[t,e.y1-.6],e.z,i);d(t,`d`,o);let c=bt.get(e.id);r.forEach((t,r)=>{let o=e.items[r],s=!!o,l=0,u=0;if(o?.push){let e=Math.max(0,(o.push-.3)/.7);l=Math.min(1,e*1.6)*24,u=e>.62?-(((e-.62)/.38)**2)*16:0}let d=o?a(i,[o.x,l,u]):``,f=s&&!!c&&o.x<c[0],p=s&&(!c||o.x>c[1]);d&&(t.back.setAttribute(`transform`,d),t.front.setAttribute(`transform`,d)),t.back.style.display=f?``:`none`,t.front.style.display=p?``:`none`,e.id===`test`&&o&&!o.push&&Math.abs(o.x-xt)<5&&(n=!0)})}return d(v,`data-on`,n?``:null),n}}}var Ct=(e,t)=>[e[0],e[1],e[2]+t],wt=e=>[e.base[0],e.base[1],e.shoulder];function Tt(e,t){let n=wt(e),r=[t[0],t[1],t[2]+e.tool],i=r[0]-n[0],a=r[1]-n[1],o=Math.hypot(i,a)||1e-6,s=r[2]-n[2],c=[i/o,a/o],l=Math.min(e.L1+e.L2-.01,Math.hypot(o,s)),u=Math.atan2(s,o)+Math.acos(Math.max(-1,Math.min(1,(e.L1*e.L1+l*l-e.L2*e.L2)/(2*e.L1*l))));return{E:[n[0]+c[0]*e.L1*Math.cos(u),n[1]+c[1]*e.L1*Math.cos(u),n[2]+e.L1*Math.sin(u)],W:r,n:[-c[1],c[0],0],yaw:Math.atan2(a,i)}}var Et=(e,t)=>[Math.atan2(t[1]-e.base[1],t[0]-e.base[0]),Math.hypot(t[0]-e.base[0],t[1]-e.base[1]),t[2]],Dt=(e,[t,n,r])=>[e.base[0]+Math.cos(t)*n,e.base[1]+Math.sin(t)*n,r];function Ot(e,t,n,r,i=0){let a=Et(e,t),o=Et(e,n),s=Math.atan2(Math.sin(o[0]-a[0]),Math.cos(o[0]-a[0]));if(i){let e=s-Math.sign(s)*2*Math.PI;Math.sin(a[0]+e/2)>Math.sin(a[0]+s/2)&&(s=e)}let c=a[1]+(o[1]-a[1])*r-i*Math.sin(Math.PI*r)*Math.min(1,Math.abs(s)/1.5);return Dt(e,[a[0]+s*r,c,a[2]+(o[2]-a[2])*r])}function kt(e,t,n,r,i){let a=Math.max(t[2],n[2])+r,o=Ot(e,t,n,z(de((i-.16)/.68)),e.tuck),s=i<.5?t[2]+(a-t[2])*z(de(i/.34)):a+(n[2]-a)*z(de((i-.66)/.34));return[o[0],o[1],s]}function At(e,t,n){return[{arc:Ct(e.pick,12),lift:4,s:1},{wait:`pick`},{lin:e.pick,s:.5},{grip:!0,s:.28},{pause:.12},{wait:`place`},{arc:t,lift:12,s:1.7},{grip:!1,s:.26},{lin:Ct(t,n?14:9),s:.32},{arc:e.home,lift:0,s:1.1,home:!0}]}function jt(e,t){let n=e.place??t.placeAt?.();if(!n)throw Error(`Robot ${e.id} has no place point. Give its RobotSpec a 'place' or its hooks a 'placeAt'.`);return{spec:e,hooks:t,state:{id:e.id,tip:e.home,from:e.home,step:-1,t:0,holding:!1,grip:0,queue:0,last:-1,dirty:!0,moved:0,eject:void 0,nestLast:-1,onNest:!1},plan:At(e,n,!!t.placeAt)}}function Mt(e){e.state.queue=0,e.state.last=-1,e.state.nestLast=-1,e.state.onNest=!1}function Nt(e,t){if(t===`pick`)return e.hooks.pending?.()??!0;if(e.hooks.canPlace)return e.hooks.canPlace();let n=e.spec.place;return!e.hooks.belt||!n?!0:Ze(e.hooks.belt,n[0])}function Pt(e,t,{own:n,nest:r,halted:i},a,o){let{spec:s,hooks:c,state:l}=e;if(n&&(l.last>=0&&n.good>l.last&&(l.queue=Math.min(2,l.queue+n.good-l.last)),l.last=n.good),r&&(l.nestLast>=0&&r.good>l.nestLast&&(l.eject=0,l.onNest=!0),l.nestLast=r.good),s.nestSel&&l.eject!==void 0&&(l.eject=Math.min(1,l.eject+t/(a?.01:.7))),!i&&(l.step<0&&l.queue>0&&o&&(l.step=0,l.t=0,l.from=l.tip,c.placeAt&&(e.plan=At(s,c.placeAt(),!0))),l.step>=0)){let n=e.plan[l.step];if(!n)throw Error(`Robot ${s.id} stepped past its plan (step ${l.step}). Plans are rebuilt on cycle start.`);let r=!1;if(n.wait)r=Nt(e,n.wait);else{l.t+=t/(a?.01:n.s??n.pause??1);let e=Math.min(1,l.t);n.arc?l.tip=kt(s,l.from,n.arc,n.lift??0,e):n.lin?l.tip=Ot(s,l.from,n.lin,z(e)):n.grip!==void 0&&(l.grip=n.grip?z(e):1-z(e)),r=l.t>=1,n.home&&l.queue>0&&e>.35&&(r=!0,l.step=-1)}r&&(n.grip===!0&&(l.holding=!0,l.onNest=!1,l.queue=Math.max(0,l.queue-1),c.onPick?.()),n.grip===!1&&(l.holding=!1,c.onPlace?c.onPlace():c.belt&&s.place&&Qe(c.belt,s.place[0]),l.moved++),l.step=l.step>=0&&l.step+1<e.plan.length?l.step+1:l.queue>0&&l.step===-1?0:-1,l.step===0&&c.placeAt&&(e.plan=At(s,c.placeAt(),!0)),l.t=0,l.from=l.tip),l.dirty=!0}}var Ft=[[`bearing_failure`,.3],[`belt_misalignment`,.15],[`belt_slip`,.1]];function It(e,t,n){let{svg:i,P:a,feed:o,ids:s}=e,c=a.scale,u=(e,...t)=>Ce(o,e,...t),f=e=>E(i,e),p=ue(i),m=f(s.press),h={age:0,puddle:_(`path`,{class:`sf-puddle`},m),sheen:_(`path`,{class:`sf-puddle-sheen`},m),drops:I(m,3,`ellipse`,`sf-drip`),splash:_(`path`,{class:`sf-splash`},m)},g=[{at:[70,-19,19],dir:[.6,1],on:()=>u(s.press,`air_pressure_loss`),hiss:Te(f(s.press))},{at:[56,-24,22],dir:[.4,-.5],on:()=>u(s.press,`overpressure`),hiss:Te(f(s.press))}],v=we(m,3,4),x=e=>e.id===`wash`?[-98,40,14]:[e.x1-3,e.y1,e.z],S=n.flatMap(e=>e.station?[{id:e.station,at:x(e),smoke:Te(f(e.station)),heat:we(f(e.station),2,3)}]:[]),C=f(s.cnc),w=[-266,30,34],T=I(C,24,`path`,`sf-spark`),D=we(C),O=b(i,`[data-spark="${s.cnc}"]`)?.parentElement?.querySelector(`.sf-hmi-head`),k=t.map(({id:e,motion:t})=>({id:e,motion:t,bleed:Te(f(e)),heat:we(f(e),3,3),hit:-1})),A=b(i,`[data-drain]`),j=y(A?.dataset.drain),M=A?I(A,9,`circle`,`sf-hiss`):[],N=b(i,`[data-drain-led]`);return{shake:p,draw(t,n,i,o){if(!o)return;let f=e.reducedMotion(),m=n%24/24,_=m<.035&&!f;d(N,`data-on`,m<.06?``:null);for(let e of M){if(!_){l(e.el,`0`);continue}let t=(m/.035+e.seed)%1,[n,i]=r([(j[0]??0)+t*6+Math.sin(e.seed*30)*1.5,(j[1]??0)+Math.cos(e.seed*20)*2,(j[2]??0)-t*t*4],a);re(e.el,n,i),e.el.setAttribute(`r`,((.4+t*1.8)*c*.5).toFixed(2)),l(e.el,(Math.sin(Math.PI*t)*.5).toFixed(2))}let y=u(s.press,`seal_leak`);h.age=y?Math.min(h.age+t,90):Math.max(0,h.age-t*.5);let b=h.age>0?4+5*(1-Math.exp(-h.age/12)):0,x=b*.62;d(h.puddle,`d`,b?Se([8,29],x,19.05,a,36):``),d(h.sheen,`d`,x>2?Se([7.4,28.4],x*.45,19.1,a,24):``);let C=76-Math.max(0,Math.min(278,i))/278*nt,E=``;for(let e of h.drops){if(!y||f){l(e.el,`0`);continue}let t=(n*.55+e.seed)%1,i=t<.35?0:((t-.35)/.65)**2,[o,s]=r([8,32.2,C-.4-i*(C-19.4)],a);re(e.el,o,s),e.el.setAttribute(`rx`,`0.55`),e.el.setAttribute(`ry`,(t<.35?.4+t*1.6:.95).toFixed(2)),l(e.el,`0.95`),t>.96&&(E=Se([8,32.2],.8+(t-.96)*40,19.1,a,16))}d(h.splash,`d`,E);for(let e of g)e.hiss.draw(e.on()&&!f,n,a,e.at,e.dir);let A=u(s.cnc,`tool_breakage`,`spindle_seizure`);for(let e of T){let t=(n*1.3+e.seed*.3)%1;if(!A||f||t>.45){l(e.el,`0`);continue}let i=t/.45,o=e.seed*6.283+Math.floor(n*1.3)*2.1,s=10+e.seed*9,c=e=>r([w[0]+Math.cos(o)*s*e,w[1]+Math.sin(o)*s*e,w[2]+7*e-24*e*e],a),[u,d]=c(Math.max(0,i-.08)),[p,m]=c(i);e.el.setAttribute(`d`,`M${u.toFixed(1)} ${d.toFixed(1)}L${p.toFixed(1)} ${m.toFixed(1)}`),l(e.el,(1-i).toFixed(2))}d(O,`data-s`,u(s.cnc,`coolant_sensor_failure`)&&(f||Math.sin(n*6)>0)?`a`:null),D.draw(u(s.cnc,`thermal_overload`,`spindle_seizure`)&&!f,n,a,[-294,-12,116]),v.draw(u(s.press,`pump_failure`)&&!f,n,a,[38,-14,22]);for(let e of S)e.smoke.draw(u(e.id,`belt_slip`)&&!f,n,a,e.at,[.5,-.3]),e.heat.draw(u(e.id,`drive_failure`)&&!f,n,a,e.at);for(let e of k){e.bleed.draw(u(e.id,`gripper_misgrip`)&&!f,n,a,e.motion.state.tip,[.4,1]);let t=wt(e.motion.spec);e.heat.draw(u(e.id,`joint_overtemp`)&&!f,n,a,[t[0]-3,t[1],t[2]+6]),u(e.id,`collision_stop`)?e.hit<0&&(e.hit=n):e.hit=-1}let P=+!f;p(s.cnc,P*(u(s.cnc,`spindle_seizure`)?.5:u(s.cnc,`bearing_wear`)?.2:0),n);for(let e of[s.wash,s.test])p(e,P*(Ft.find(([t])=>u(e,t))?.[1]??0),n);for(let e of k)p(e.id,e.hit<0?0:P*.8*Math.exp(-(n-e.hit)*4),n);u(s.press,`valve_stuck`)&&p(s.press,P*.12,n)}}}var K={x:189.6,y:1.6,cols:3,rows:3,layers:4,w:7,d:10,h:3.6,gap:.9},Lt={w:22.8,d:31.8};function Rt(e){let t=[];for(let n=0;n<K.layers;n++){let r=[];for(let e=0;e<K.rows;e++)for(let t=0;t<K.cols;t++)r.push([K.x+t*(K.w+K.gap),K.y+e*(K.d+K.gap)]);r.sort((t,n)=>e([t[0],t[1],0])-e([n[0],n[1],0]));for(let[e,i]of r){let r=1+n*K.h;t.push({cx:e,cy:i,x:e+K.w/2,y:i+K.d/2,z:r,top:r+K.h})}}return t}var zt=(e,t)=>{let n=e[Math.min(t,e.length-1)];if(!n)throw Error(`Tote has no slots. Build them with buildToteSlots() before placing.`);return[n.x,n.y,n.top]},Bt=[[`out`,[0,-143]],[`out`,[60,-143]],[`away`,[60,-143]],[`in`,[0,-143]],[`dock`,[0,0]]],Vt=8;function Ht(){return{count:-1,swap:{t:-1,pending:!1},lane:{has:!1,t:-1},amr:{leg:-1,t:0,at:[0,0],from:[0,0],carrying:!1,trips:0},lastScrap:-1,pusher:{ext:0,until:0}}}function Ut(e){e.lastScrap=-1}var Wt=e=>{e.swap.pending=!0},Gt=(e,t)=>e.swap.t<0&&e.count>=0&&e.count<t;function Kt(e,t){e.count++,e.count>=t&&Wt(e)}function qt(e,t,n){return t>K.x&&t<K.x+Lt.w&&n>K.y&&n<K.y+Lt.d?1+Math.floor(Math.max(0,e.count)/(K.cols*K.rows))*K.h:null}function Jt(e,t,n,{test:r,packer:i,amrMoving:a},o,s){i&&e.count<0&&(e.count=i.good%o),r&&(e.lastScrap>=0&&r.scrap>e.lastScrap&&(e.pusher.until=n+.6),e.lastScrap=r.scrap),e.swap.pending&&e.swap.t<0&&!e.lane.has&&(e.swap.pending=!1,e.swap.t=0,e.count=0),e.swap.t>=0&&(e.swap.t+=t/(s?.01:1),e.swap.t>=2&&(e.swap.t=-1,e.lane.has=!0)),e.lane.has&&e.amr.leg<0&&!e.amr.carrying&&e.lane.t<0&&a&&(e.lane.t=0),e.lane.t>=0&&(e.lane.t+=t/(s?.01:1.4),e.lane.t>=1&&(e.lane.t=-1,e.lane.has=!1,e.amr.carrying=!0,e.amr.leg=0,e.amr.t=0,e.amr.from=[...e.amr.at]));let c=e.amr,l=c.leg>=0&&a?Bt[c.leg]:void 0;if(l){let[e,n]=l,r=Math.hypot(n[0]-c.from[0],n[1]-c.from[1]);c.t+=t/(s?.01:e===`away`?Vt:Math.max(.6,r/16));let i=z(Math.min(1,c.t));c.at=[c.from[0]+(n[0]-c.from[0])*i,c.from[1]+(n[1]-c.from[1])*i],c.t>=1&&(e===`away`&&c.carrying&&(c.carrying=!1,c.trips++),c.leg=c.leg+1<Bt.length?c.leg+1:-1,c.t=0,c.from=[...c.at])}e.pusher.ext=L(e.pusher.ext,n<e.pusher.until?24:0,t,n<e.pusher.until?.06:.22,s)}function Yt(e){let{ids:t}=e,n=e.belts.map(e=>Xe(e,t)),r=pt(),i=Ht(),a=Rt(e.depth),o=U(n,`test`),s=U(n,`wash`),c=()=>o?.items.find(e=>e.out&&!e.push&&e.x>=176.60000000000002);return{ids:t,belts:n,press:r,pack:i,slots:a,robots:e.robots.map(e=>e.pack?jt(e,{station:t.packer,pending:()=>!!c(),placeAt:()=>zt(a,Math.max(0,i.count)),canPlace:()=>Gt(i,a.length),onPick:()=>{let e=c();o&&e&&o.items.splice(o.items.indexOf(e),1)},onPlace:()=>Kt(i,a.length),floorAt:(e,t)=>qt(i,e,t)}):jt(e,{station:t.robot,nest:t.cnc,belt:s})),readings:new Map,introDone:!0}}function Xt(e){for(let t of e.belts)t.items=[],t.good=t.scrap=-1;for(let t of e.robots)Mt(t);mt(e.press),Ut(e.pack)}var Zt=e=>[e.cnc,e.robot,e.wash,e.press,e.test,e.packer];function Qt(e,t){let n=new Map;for(let r of Zt(e.ids)){let e=t.station(r);e&&n.set(r,e)}let r=tt(e.readings,n);e.readings.clear();for(let[t,r]of n)e.readings.set(t,r);return r&&Xt(e),r}function $t(e,t,n,r,i){let{ids:a,press:o,pack:s}=e;Qt(e,t);let c={simSpeed:t.simSpeed(),phase:Math.round(t.num(a.press,`press_phase`)),pressGood:t.station(a.press)?.good,still:i};_t(o,n,c);let l=i?.85:.6+.4*Math.abs(Math.sin(r*4));et(e.belts,n,e=>t.station(e),i,e=>t.faults(e).includes(`belt_slip`)?l:1),Jt(s,n,r,{test:t.station(a.test),packer:t.station(a.packer),amrMoving:t.num(a.amr,`running`)>0},e.slots.length,i);for(let r of e.robots){let a=t.station(r.hooks.station);Pt(r,n,{own:a,nest:r.hooks.nest?t.station(r.hooks.nest):void 0,halted:a?.state===`down_unplanned`},i,e.introDone)}let u=U(e.belts,`feed`),d=U(e.belts,`test`);u&&d&&vt(o,n,c,u,d)}function en(e){let{svg:t,feed:n,ids:r}=e,i=b(t,`[data-work="cnc"]`);return{draw(){n.buffers().forEach((e,n)=>{for(let r of g(t,`[data-slot^="b${n}:"]`))d(r,`data-on`,+(r.dataset.slot?.split(`:`)[1]??0)<e.level?``:null)}),d(i,`data-on`,n.station(r.cnc)?.state===`running`?``:null)}}}function tn(e){let{svg:t,P:n,feed:i,ids:s}=e,c=n.scale,u=(e,t,n=0)=>i.num(e,t,n),f={cncSpin:0,cncHead:0,cncRpm:0,washing:0,flash:0},p=b(t,`[data-move="cnc-head"]`),m=b(t,`[data-spin="cnc"]`),h=b(t,`[data-carousel]`),[v=0,x=0,S=0,C=0]=y(h?.dataset.carousel),w={rings:Array.from({length:12},()=>_(`path`,{class:`iso-line`,"data-tone":`lo`},h)),tools:Array.from({length:12},()=>_(`path`,{class:`iso-line`,"data-tone":`mid`},h)),angle:0,target:0},T=-1,E=b(t,`[data-mist]`),D=y(E?.dataset.mist),O=Array.from({length:14},(e,t)=>({el:_(`circle`,{class:`sf-mist`,style:`display:none`},E),seed:t*1.37})),k=b(t,`[data-steam]`),A=y(k?.dataset.steam),j=Array.from({length:7},(e,t)=>({el:_(`circle`,{class:`sf-steam`,style:`display:none`},k),seed:t/7})),M=g(t,`[data-beam]`),N=b(t,`[data-oil]`),P=y(N?.dataset.oil),ee=b(t,`[data-flash]`);return{resync(){T=-1},draw(t,h,g){let _=e.reducedMotion(),y=i.station(s.cnc),b=y?.state===`running`;f.cncRpm=L(f.cncRpm,u(s.cnc,`spindle_speed_feedback`),t,.8,_),_||(f.cncSpin+=f.cncRpm/8500*2.4*fe*t),f.cncHead=L(f.cncHead,b?-3.2-.8*Math.sin(h*.8)*Math.min(1,u(s.cnc,`feed_rate`)/1750):2,t,.5,_),d(p,`transform`,a(n,[0,0,f.cncHead])),d(m,`d`,ye(n,`z`,[-266,30,0],4.2,44.3,49.7,f.cncSpin,8)),y&&(T>=0&&y.good>T&&(w.target+=fe/12),T=y.good),w.angle=L(w.angle,w.target,t,.35,_),w.rings.forEach((e,t)=>{let r=w.angle+t*fe/12,i=[v,x+C*Math.cos(r),S+C*Math.sin(r)];d(e,`d`,o(i,1.5,`x`,n)),d(w.tools[t],`d`,o(i,.6,`x`,n)),d(e,`data-tone`,Math.abs(Math.sin(r/2-Math.PI/4))<.14?`lit`:`lo`)});let E=+!!b;for(let e of O){let t=(h*1.7+e.seed)%1,i=e.seed*4.1+h*.6,a=1.6+t*5,[o,s]=r([(D[0]??0)+Math.cos(i)*a,(D[1]??0)+Math.sin(i)*a,(D[2]??0)-2+t*3-t*t*5],n);re(e.el,o,s),e.el.setAttribute(`r`,(.25+t*.5).toFixed(2)),l(e.el,(E*Math.sin(Math.PI*t)*.7).toFixed(2))}f.washing=L(f.washing,+(i.station(s.wash)?.state===`running`),t,2.5,_);for(let e of j){let t=(h*.22+e.seed)%1,[i,a]=r([(A[0]??0)+t*6+Math.sin(h+e.seed*9)*1.5,(A[1]??0)-t*3,(A[2]??0)+t*26],n);re(e.el,i,a),e.el.setAttribute(`r`,((1.6+t*6)*c*.6).toFixed(2)),l(e.el,(f.washing*Math.sin(Math.PI*t)**1.5*.16).toFixed(3))}let k=i.station(s.press),te=k&&k.state!==`off_shift`?Math.floor(h*14)%(M.length+6):-1;for(let[e,t]of M.entries())d(t,`data-on`,e===te?``:null);let ne=de(u(s.press,`oil_level`,90)/100),[F=0,I=0,ie=0,ae=0]=P;d(N,`d`,`M${F} ${-(I+(ae-I)*ne)}H${ie}V${-I}H${F}Z`),f.flash=g?1:f.flash*Math.exp(-t/.25),ee&&(ee.style.opacity=(f.flash*.55).toFixed(2))}}}var nn=[[162,37,0],[167.6,38.4,0],[163.4,40.6,0],[168.8,36.6,1],[161.8,39,1],[166,41,1],[164.6,37.4,2],[169,40,2],[162.6,40.8,2],[166.4,38.6,3]],rn=55,an=`M246 4H258V4.6H246Z`,on=`M246 4H249V4.6H246Z`,q=[272,17.5,-14],sn=22,cn=.9;function ln(e,t,n){let{svg:o,P:s}=e,c=b(o,`[data-move="pusher"]`),u=b(o,`[data-rod="pusher"]`),f=b(o,`[data-tote]`),p=f?b(f,`[data-tote-parts]`):null,m=b(o,`[data-tote-over]`),h=b(o,`[data-tote-full]`),g=h?b(h,`[data-tote-parts]`):null,v=b(o,`[data-amr]`),y=_(`g`,{transform:a(s,[rn,0,0])},v?b(v,`[data-tote-parts]`):null),x=b(o,`[data-tote-amr]`),S=b(o,`[data-amr-led]`),C=_(`path`,{class:`sf-scan`},v),T=_(`path`,{class:`sf-scan-beam`},v),E=(()=>{let e=Array.from({length:13},(e,t)=>{let n=-cn+t/12*2*cn;return r([q[0]+Math.cos(n)*sn,q[1]+Math.sin(n)*sn,q[2]],s)}),[t,n]=r(q,s);return`M${t.toFixed(1)} ${n.toFixed(1)}${e.map(([e,t])=>`L${e.toFixed(1)} ${t.toFixed(1)}`).join(``)}Z`})(),D=b(o,`[data-scrap]`),O=nn.map(([e,t,n])=>{let r=_(`g`,{class:`sf-part`},D);return r.innerHTML=ge({x:e,y:t,w:5,d:3.6,r:.6},5.4+n*1.6,2.4,s),r}),k=n.map(e=>{let t=ge({x:e.cx,y:e.cy,w:K.w,d:K.d,r:.8},e.z,K.h,s),n=_(`g`,{class:`sf-part`},p);n.innerHTML=t;for(let e of[g,y])_(`g`,{class:`sf-part`,"data-on":``},e).innerHTML=t;return n}),A=!1,j=!1;return{draw(e,n,o,p){let{swap:g,lane:_,amr:y}=t;if(g.t>=0){let e=z(Math.min(1,g.t/1.1)),t=z(Math.max(0,Math.min(1,(g.t-1.1)/.9)));d(h,`data-on`,``),h?.setAttribute(`transform`,a(s,[e*27,0,0]));let n=a(s,[0,(1-t)*44,0]),r=g.t>1.1?`1`:`0`;for(let e of[f,m])e?.setAttribute(`transform`,n),e&&(e.style.opacity=r)}else if(A){h?.setAttribute(`transform`,a(s,[27,0,0]));for(let e of[f,m])e&&(e.style.opacity=``),e?.removeAttribute(`transform`)}A=g.t>=0,_.t>=0?h?.setAttribute(`transform`,a(s,[27+z(Math.min(1,_.t))*28,0,0])):j&&(d(h,`data-on`,null),h?.removeAttribute(`transform`)),j=_.t>=0,v?.setAttribute(`transform`,a(s,[y.at[0],y.at[1],0])),v&&(v.style.opacity=(1-Math.max(0,Math.min(1,(y.at[0]-20)/30))).toFixed(2)),d(x,`data-on`,y.carrying?``:null);let b=n.includes(`low_battery`),D=n.includes(`nav_blocked`),M=p||Math.sin(o*6)>0;d(S,`d`,b?on:an),d(S,`data-s`,b||D?M?`warn`:null:n.length?`fault`:y.leg<0&&_.has?`warn`:`live`),d(C,`d`,D?E:``),l(C,D?p?`0.5`:(.35+.25*Math.sin(o*6)).toFixed(2):`0`);let N=``;if(D&&!p){let e=-cn+(Math.sin(o*2.4)+1)/2*2*cn,[t,n]=r(q,s),[i,a]=r([q[0]+Math.cos(e)*sn,q[1]+Math.sin(e)*sn,q[2]],s);N=`M${t.toFixed(1)} ${n.toFixed(1)}L${i.toFixed(1)} ${a.toFixed(1)}`}if(d(T,`d`,N),e!==void 0)for(let[t,n]of O.entries())d(n,`data-on`,t<e?``:null);for(let[e,n]of k.entries())d(n,`data-on`,e<t.count?``:null);c?.setAttribute(`transform`,a(s,[0,t.pusher.ext,0])),u&&(u.innerHTML=w(i({x:161.2,y:-4.4,w:1.6,d:1.2+t.pusher.ext,r:.6},25.6,1.6,s,2),{tone:`hi`,crease:`none`}))}}}var un={x:-3.5,y:10,w:7,d:10,r:1},dn=24;function fn(e,t,n){let{svg:r,P:i}=e,o=g(r,`[data-move="press-ram"]`),s=g(r,`[data-colstub]`),c=b(r,`[data-rod="press"]`),l=b(r,`[data-work="press"]`),u=b(r,`[data-move="loader"]`),f=b(r,`[data-push-part]`),p=b(r,`[data-feed-eye]`),m=b(r,`[data-move="unloader"]`),h=m?b(m,`[data-lift]`):null,_=b(r,`[data-pull-part]`),v=b(r,`[data-chute-part]`),S=null;return{draw(r){let{ram:g,loader:b,unloader:C,chute:T,die:E}=t,D=-(Math.max(0,Math.min(278,g))/278)*nt;for(let e of o)d(e,`transform`,a(i,[0,0,D]));let O=84+D;for(let e of s){let[t=0,n=0]=y(e.dataset.colstub);e.innerHTML=w(x(t,n,3.2,O,92-O,i,20),{tone:`mid`,crease:`none`})}c&&(c.innerHTML=w(x(0,15,4.6,O,92-O,i,28),{tone:`hi`,crease:`none`})),d(p,`data-s`,b.lead?`g`:null),d(u,`transform`,b.x?a(i,[b.x,0,0]):null),d(f,`data-on`,b.phase===`push`?``:null),d(f,`transform`,a(i,[-41+b.x,0,0])),d(m,`transform`,a(i,[C.x,0,0])),d(h,`transform`,a(i,[0,0,C.z]));let k=C.phase===`push`;d(_,`data-on`,k?``:null),d(_,`transform`,a(i,[Math.max(0,C.x-st),0,0])),d(v,`data-on`,T.x===null?null:``),T.x!==null&&d(v,`transform`,a(i,[T.x,0,dt(T.x)])),d(l,`data-on`,E.has&&b.phase!==`push`&&!k?``:null),E.has&&E.h!==null&&l&&S!==E.h&&(S=E.h,l.innerHTML=ge(un,dn,Math.max(rt,+E.h),i)),n(e.ids.press,e.reducedMotion()?0:E.jolt*2.2,r)}}}var pn=e=>`<g class="sf-steel">${e}</g>`;function mn(e,t,n){let{svg:o,P:c}=e,{spec:l,state:u}=t,f=wt(l),p=b(o,`[data-robot="${l.id}"]`),m=l.late==null?null:b(o,`[data-robot-late="${l.id}"]`),h=l.nestSel?b(o,l.nestSel):null,g=b(o,`[data-work="cnc"]`),[_,v,y]=l.part,x=e=>ge({x:e[0]-_/2,y:e[1]-v/2,w:_,d:v,r:1},e[2]-y,y,c);function S(e,r){if(Math.abs(e-l.pick[0])<_&&Math.abs(r-l.pick[1])<v)return l.pick[2]-y;let i=t.hooks.floorAt?.(e,r);if(i!=null)return i;for(let t of n)if(e>t.x0&&e<t.x1&&r>t.y0&&r<t.y1)return t.z;return 0}function T(){let{E:e,W:t,n,yaw:a}=Tt(l,u.tip),o=[],d=(e,t,n)=>{o.push({key:n??C(e,c),x:e[0],svg:t})},h=(e,t)=>ce(N(t,e)),g=S(u.tip[0],u.tip[1]),b=u.tip[2]-(u.holding?y:0)-g,T=.5*Math.exp(-Math.max(0,b)/16);T>.03&&d([u.tip[0],u.tip[1],g],`<path class="sf-shadow" style="opacity:${T.toFixed(2)}" d="${Se([u.tip[0],u.tip[1]],(u.holding?Math.max(_,v)*.5:2.6)+b*.04,g+.06,c,24)}"/>`,-1e9),d(f,`<path class="sf-j1" d="${s([l.base[0]+Math.cos(a)*2.2,l.base[1]+Math.sin(a)*2.2],[l.base[0]+Math.cos(a)*5.6,l.base[1]+Math.sin(a)*5.6],14.45,c)}"/>`,-1e8),d(f,w(ie(-5.4,5.4,6.2,P(f,n),c),{tone:`mid`})),d(A(f,R(n,5.6)),w(ie(5.4,6.4,3.4,P(f,n),c),{tone:`mid`}));let E=R(A(f,e),.5);d(E,w(oe([[0,3.6],[l.L1,2.9]],P(f,h(f,e)),c),{tone:`mid`})),d(e,w(ie(-4.2,4.2,4.4,P(e,n),c),{tone:`mid`})),d(R(A(e,t),.5),w(oe([[0,2.7],[l.L2,2.1]],P(e,h(e,t)),c),{tone:`mid`})),d(t,w(ie(-3,3,2.8,P(t,n),c),{tone:`mid`})),d(A(t,[0,0,-1]),pn(w(oe([[0,2.2],[1.6,2.2]],P(A(t,[0,0,-.2]),[0,0,-1]),c),{tone:`mid`,crease:`lo`}))),d(A(t,[0,0,-3.6]),w(i({x:t[0]-3,y:t[1]-2.4,w:6,d:4.8,r:.8},t[2]-5.6,4,c,2,.3),{tone:`mid`}));let[D,O]=r([t[0]+1.6,t[1]+2.45,t[2]-3.2],c);if(d(A(t,[.5,2.6,-3.2]),`<circle class="sf-gled" data-s="${u.holding?`g`:u.step>=0?`a`:``}" cx="${D.toFixed(2)}" cy="${O.toFixed(2)}" r="0.42"/>`),l.vacuum){let e=t[2]-5.6,n=u.tip[2]+.8;d([t[0],t[1],(e+n)/2],pn(w(oe([[0,.8],[e-n,.8]],P([t[0],t[1],e],[0,0,-1]),c),{tone:`mid`,crease:`none`}))),d([u.tip[0],u.tip[1],u.tip[2]+.4],w(oe([[0,1.1],[.8,2.3]],P([u.tip[0],u.tip[1],n],[0,0,-1]),c),{tone:`lo`}))}else{let e=_/2+.6+(1-u.grip)*1.8;d(A(t,[0,0,-6.2]),pn(w(i({x:t[0]-e-1.2,y:t[1]-1.6,w:2*e+2.4,d:3.2,r:.6},t[2]-6.8,1.2,c,2,.2),{tone:`mid`})));let n=u.tip[2]-y*.7;for(let r of[-1,1]){let a=t[0]+r*(e+.6);d([a,t[1],(n+t[2]-6.8)/2],pn(w(i({x:a-.6,y:t[1]-1.6,w:1.2,d:3.2,r:.3},n,t[2]-6.8-n,c,2),{tone:`mid`,crease:`lo`}))),d([a-r*.7,t[1],n+1.2],w(i({x:a-r*.6-(r>0?.35:0),y:t[1]-1.3,w:.35,d:2.6,r:.1},n+.2,2,c,2),{tone:`lo`,crease:`none`}))}}let k=(e,t)=>A(e,R(n,t)),j=[k([f[0],f[1],12],6.9),k(f,6.6),k(A(f,R(h(f,e),l.L1*.5)),3.9),k(e,4.8),k(A(e,R(h(e,t),6)),3.2)],M=e=>e.map((e,t)=>{let[n,i]=r(e,c);return`${t?`L`:`M`}${n.toFixed(2)} ${i.toFixed(2)}`}).join(``),ee=M(j),te=[j[2],j[4]].map(e=>r(e,c));d(k(E,5),`<path class="sf-cable" d="${ee}"/><path class="sf-cable-hi" d="${ee}"/>${te.map(([e,t])=>`<circle class="sf-clip" cx="${e.toFixed(1)}" cy="${t.toFixed(1)}" r="0.9"/>`).join(``)}`);let ne=k(A(e,R(h(e,t),l.L2*.72)),2.6);for(let[e,n]of[[2.2,-2.2],[2.8,-3.8]]){let r=k(A(t,[0,0,n]),e),i=A(R(A(r,ne),.5),[0,0,1.8]);d(A(r,[0,0,2]),`<path class="sf-hose" d="${M([r,k(A(t,[0,0,n+2.4]),e+.6),i,ne])}"/>`)}u.holding&&d(A(u.tip,[0,0,-y/2]),x(u.tip)),o.sort((e,t)=>e.key-t.key);let F=e=>!!m&&l.late!==void 0&&e.x>=l.late&&e.key>-1e8;m&&(m.innerHTML=o.filter(F).map(e=>e.svg).join(``)),p&&(p.innerHTML=o.filter(e=>!F(e)).map(e=>e.svg).join(``))}return{draw(){h&&(d(h,`data-on`,u.onNest?``:null),d(h,`transform`,u.eject!==void 0&&u.eject<1?a(c,[-(1-z(u.eject))*10,0,0]):null),u.eject!==void 0&&u.eject<1&&d(g,`data-on`,null)),u.dirty&&=(T(),!1)}}}var hn=1e3,gn={x:-318,y:-32,w:540,d:96,r:8},_n={x:-262,y:-176,w:410,d:92,r:8},J=[60,-90,0],vn={..._n,x:_n.x+J[0],y:_n.y+J[1]},Y={x:-338,y:-286,w:660,d:368,r:16},yn=u([...h(Y,-21,-14),...h(gn,-14,0),...h(vn,-14,0),[-288,-12,122],[0,15,134],[-200+J[0],-150+J[1],60]],hn,470,{pad:26,azimuth:60}),bn=[{id:`1`,base:[-205,-12],shoulder:20,L1:38,L2:34,tool:9,pick:[-244.5,29,29],place:[-166,15,29],home:[-206,8,52],part:[7,10,5],nestSel:`[data-nest]`,tuck:12,late:-182},{id:`2`,pack:!0,vacuum:!0,base:[198,-12],shoulder:20,L1:30,L2:28,tool:24,pick:[176.8,15,24.6],home:[194,6,44],part:[7,10,3.6],tuck:0}],xn=[94,-130,0],Sn=[-84,-130,0],Cn=.5625,wn=[-68,-128,0],Tn=[52,-128,0],En=e=>[Sn[0]+J[0]+(e[0]-xn[0])*Cn,Sn[1]+J[1]+(e[1]-xn[1])*Cn,e[2]*Cn],Dn=En(ne),On=En(te),X=2.2,kn=-182,An=-176.5,jn=-268,Mn=-256,Nn=[De[0]+J[0],De[1]+J[1],De[2]],Pn=Dn[0]+8,Fn={z:X,flowAloftBeforeY:-174,routes:[{id:`supply`,medium:`coolant`,r:1.8,pts:[[-176,-188.4,40],[-176,-182,40],[-176,kn,X],[jn,kn,X],[jn,-22,X]]},{id:`return`,medium:`coolant`,r:1.8,reverse:!0,pts:[Dn,[Pn,Dn[1],Dn[2]],[Pn,Dn[1],X],[Pn,An,X],[Mn,An,X],[Mn,-22,X]]},{id:`discharge`,medium:`coolant`,r:1.8,pts:[On,[On[0],On[1],Nn[2]],Nn]},{id:`air`,medium:`air`,r:1.2,pts:[[70,-204,24],[70,-192,24],[70,-192,X],[70,-24,X]]}],posts:[[-236,kn,1.8],[jn,-130,1.8],[jn,-80,1.8],[Mn,-110,1.8],[Mn,-60,1.8],[-110,An,1.8],[-40,An,1.8],[70,-150,1.2],[70,-106,1.2],[70,-62,1.2]]};function In(e){let{L:t,screws:n}=e,r=[ee(e,Y)],i=Y.x+6,a=Y.x+Y.w-6;r.push(t([-150,-146.6,-106,-102.6].map(e=>s([i,e],[a,e],-14,yn)).join(``),{className:`sf-aisle`}));let o=[];for(let e=Y.x+40;e<Y.x+Y.w-20;e+=40)o.push(s([e,Y.y+6],[e,Y.y+Y.d-6],-14,yn));return r.push(t(o.join(``),{className:`sf-joint`})),r.push(n(c(Y,12),-14)),r.join(``)}var Ln=e=>{let{svg:t,P:n,feed:r,ids:i}=e,a=Yt({ids:i,robots:bn,belts:yt(t),depth:e=>C(e,n)}),o=[i.robot,i.packer],s=It(e,a.robots.map((e,t)=>({id:o[t]??``,motion:e})),a.belts),c=be(e,s.shake),l=je(e,s.shake),u=ke(e,s.shake),d=new Set([i.cnc,i.robot,i.wash,i.press,i.test,i.packer]),f=(e,t,n=0)=>r.num(e,t,n),p=new Map([[i.cnc,()=>f(i.cnc,`spindle_load`)/100],[i.wash,()=>f(i.wash,`motor_current`)/12],[i.press,()=>f(i.press,`system_pressure`)/315],[i.test,()=>{let e=r.station(i.test);return e?e.good/Math.max(1,e.good+e.scrap):0}]]),m=new Map([[`press`,()=>f(i.press,`system_pressure`)/315],[`frl`,()=>f(i.press,`clamp_pressure`,f(i.comp,`header_pressure`))/10]]),h=ve(e,{needle:e=>l.needle(e)??u.needle(e)??m.get(e)?.()??0,bar:e=>c.bar(e)??l.bar(e)??u.bar(e)??p.get(e)?.()??0,alertsHigh:e=>e!==i.test,ready:()=>!!r.station(i.cnc)}),g=e=>r.station(e)?.state===`running`,_=le(e,e=>e.id===`air`?g(i.press)?6+26*f(i.press,`clamping_demand`):0:e.id.startsWith(`wash-`)?g(i.wash)?12:0:g(i.cnc)?f(i.chiller,`coolant_flow_rate`)/4:0),v=e=>d.has(e)&&!r.station(e)&&!r.faults(e).length?``:_e(r,e,`run_command`),y=pe(e,v),b=tn(e),x=en(e),S=St(e,a.belts),w=fn(e,a.press,s.shake),T=ln(e,a.pack,a.slots),E=a.robots.map(t=>mn(e,t,a.belts));return{data(e){y.draw(e),x.draw()},draw({sdt:e,t,still:n,introDone:o}){a.introDone=o,$t(a,r,e,t,n);let d=S.draw(t);w.draw(t),b.draw(e,t,d),_.draw(e),h.draw(e,t),c.draw(e,t,o),l.draw(e,t,o),u.draw(e,t,o),T.draw(r.station(i.test)?.scrap,r.faults(i.amr),t,n);for(let e of E)e.draw();s.draw(e,t,a.press.ram,o)},resync(){Xt(a),b.resync()},status(e){return d.has(e)&&!r.faults(e).length?[r.station(e)?.state??`--`,v(e)]:xe(r,e,`run_command`)},debug:{robots:a.robots.map(e=>e.state),belts:a.belts,loader:a.press.loader,unloader:a.press.unloader,chute:a.press.chute,die:a.press.die,tote:{fill:e=>{a.pack.count=e},swap:a.pack.swap,lane:a.pack.lane,amr:a.pack.amr},sim:a}}},Z=e(t(),1);function Rn(e,t){let{k:n,P:r,L:i,slab:a,screws:o}=e,s=t.x+5,c=t.x+t.w-5,l=[-284,-136,112].map(e=>a({x:e,y:49.6,w:12,d:3.6,r:.6},0,.5,{tone:`lo`,crease:`none`},2,0)+i(n.lineOnTop([e+1.6,51.4],[e+7.6,51.4],.5,r),{tone:`mid`,free:!0})+o([[e+10.4,51.4]],.5)).join(``);return i([55,57.4].map(e=>n.lineOnTop([s,e],[c,e],0,r)).join(``),{className:`sf-walk`})+l}var Q=n();function zn(e){return(0,Q.jsx)(m,{...e,draw:Ae})}function Bn(e,t){let{k:n,P:r,at:i,S:a,L:o,front:s,faceRule:c}=e,l={x:243,y:-1,w:28,d:37,r:3},u={x:243.6,y:-.4,w:26.8,d:35.8,r:1.2},d=Array.from({length:7},(e,t)=>n.lineOnTop([u.x+1.8+t*3.9,u.y+.4],[u.x+1.8+t*3.9,u.y+u.d-.4],0,r)).join(``),f={x:243,y:0,w:26,d:35,r:1.6},p=n.pathOf(n.roundedPlan(n.insetPlan(f,1.6),3).map(([e,t])=>i([e,t,16])),!0),m=`<g data-tote-amr="">${a(n.slabOf(f,0,16,r,3,.4),{tone:`mid`,inner:o(n.sideSeam(f,12,r,3),{tone:`faint`})})}<path class="sf-void" d="${p}"/><clipPath id="tote-open-amr"><path d="${p}"/></clipPath><g clip-path="url(#tote-open-amr)" data-tote-parts=""></g>${o(n.planOutline(n.insetPlan(f,1.6),16,r,3),{tone:`lo`})}${c(35,246,4,14,5)}</g>`;return`<g data-amr="" data-asset="${t}"><path class="iso-halo sf-contact" d="${n.haloOf(l,-14,1,r)}"/><path class="sf-alarm" data-alarm="${t}" d="${n.haloOf(l,-14,1,r)}"/>${a(n.slabOf(l,-13.2,10.8,r,3,.6),{tone:`mid`,inner:o(n.sideSeam(l,-10,r,3),{tone:`faint`})})}${Ee(e,l.y+l.d,262,-11,268,-8.8,`sf-void`)}<g transform="${s(l.y+l.d)}"><path class="sf-amr-led" data-amr-led="" d="M246 4H258V4.6H246Z"/></g>${a(n.slabOf(u,-2.4,2.4,r,2,.3),{tone:`lo`,inner:o(d,{tone:`mid`})})}${m}</g>`}function Vn({id:e,intro:t}){let n=p();return(0,Q.jsx)(f,{html:(0,Z.useMemo)(()=>Bn(n,e),[n,e]),intro:t})}function Hn({name:e,at:t,capacity:n,intro:r}){let i=p(),[a,o]=t;return(0,Q.jsx)(f,{html:(0,Z.useMemo)(()=>i.buffer(e,a,o,n),[i,e,a,o,n]),intro:r})}function Un(e,t){let{k:n,G:r,P:i,S:a,L:o,slab:s,cyl:c,andon:l,screws:u,faceRule:d,workpiece:f}=e,p=[],m={x:-304,y:-22,w:74,d:70,r:3};p.push(a(n.slabOf(m,0,12,i,3,.8),{tone:`mid`,inner:o(n.sideSeam(m,3,i,3),{tone:`faint`})})),p.push(d(48,-298,4.6,20,5.6));let h={x:-296,y:-20,w:32,d:26,r:2};p.push(a(n.slabOf(h,12,90,i,3,.8),{tone:`mid`,inner:o([30,34,38,42,46,50,54,58].map(e=>n.sideSeam(h,e,i,3)).join(``),{tone:`faint`})}));let g=r.frameAlong([-264,-8,80],[1,0,0]);p.push(a(r.disc(0,2,12.4,g,i),{tone:`mid`}),a(r.disc(2,3.6,11,g,i),{tone:`mid`}),a(r.disc(3.6,5,3,g,i),{tone:`mid`})),p.push(`<g data-carousel="-260.4,-8,80,8.4"></g>`),p.push(l(t,-290,-14,102)),p.push(s({x:-300,y:14,w:64,d:30,r:2},12,6,{tone:`mid`},3,.4)),p.push(s({x:-302,y:16,w:68,d:26,r:1.5},18,4,{tone:`lo`},3,.4)),p.push(o([21,26,31,36].map(e=>n.lineOnTop([-302,e],[-234,e],22,i)).join(``),{tone:`faint`})),p.push(s({x:-282,y:20,w:4,d:18,r:.6},22,6,{tone:`mid`},2,.3)),p.push(s({x:-258,y:20,w:4,d:18,r:.6},22,6,{tone:`mid`},2,.3)),p.push(c(-256,40,1.2,24,2,{tone:`mid`},12)),p.push(`<g class="sf-work" data-work="cnc">${f({x:-276,y:22,w:16,d:14,r:1},22,8)}</g>`);let _=[s({x:-280,y:6,w:28,d:32,r:3},62,18,{tone:`mid`},3,.8),c(-266,18,6.4,80,14,{tone:`mid`,inner:n.fadedSvg([82,84,86,88,90].map(e=>({d:n.sideArc(-266,18,6.4,e,i,24),alpha:.7})),{tone:`lo`})}),c(-266,18,4,94,1.6,{tone:`mid`},20),c(-266,30,7,50,12,{tone:`mid`,inner:o(n.sideArc(-266,30,7,56,i,32),{tone:`faint`})},36),c(-266,30,4.2,44,6,{tone:`mid`,crease:`lo`},28),`<path class="iso-line" data-tone="lo" data-spin="cnc" d=""/>`,c(-266,30,1.5,34,10,{tone:`hi`,lit:!0,crease:`none`},14),`<g data-mist="-266,30,36"></g>`,c(-255,34,1.5,60.4,1.6,{tone:`mid`},12),T(e,[[-255,34,60.6],[-255,34,52],[-261,32,41.5]],.8,`mid`,4,`coolant`,[!1,!0]),c(-261.6,32,1.1,40,1.6,{tone:`mid`},10)].join(``);return p.push(`<g data-move="cnc-head">${_}</g>`),p.push(s({x:-249,y:23,w:9,d:12,r:.8},22,2,{tone:`mid`},2,.3)),p.push(u([[-247.6,24.4],[-241.4,33.6]],24)),p.push(`<g class="sf-part" data-nest="">${f({x:-248,y:24,w:7,d:10,r:1},24,5)}</g>`),p.join(``)}function Wn(e,t){let{slab:n,hmi:r,screws:i}=e;return[n({x:-226,y:30,w:4,d:4,r:.8},0,36,{tone:`mid`},2,.3),n({x:-230,y:34,w:26,d:6,r:1},30,18,{tone:`mid`},2,.4),r(t,40,-228,-206,32,47),i([[-228.6,39.6],[-205.4,39.6]],47.4),F(e,-217,40,48)].join(``)}function Gn(e){return(0,Q.jsx)(m,{...e,draw:Un})}function Kn({id:e,intro:t}){let n=p();return(0,Q.jsx)(f,{html:(0,Z.useMemo)(()=>Wn(n,e),[n,e]),asset:e,intro:t})}function qn(e){let{at:t,cyl:n,conveyor:r}=e,i=r(-82,44,8,14,23),a=t([-44,26.6,27.6]);return[i.back,i.belt,`<g data-belt="feed" data-x0="-81" data-x1="-35" data-y0="8" data-y1="22" data-z="${i.top}"><path class="iso-line" data-tone="faint" data-cleats="" d=""/><g data-parts-back=""></g></g>`,`<g data-parts-front="feed"></g>`,n(-44,25.5,1,24,4.4,{tone:`mid`,crease:`none`},12),`<circle class="sf-gled" data-feed-eye="" cx="${a[0].toFixed(2)}" cy="${a[1].toFixed(2)}" r="0.5"/>`,i.front].join(``)}function Jn({intro:e}){return(0,Q.jsx)(f,{html:v(qn),intro:e})}var Yn=e=>24-(e-28)/56*2.6,Xn=(()=>{let e=Math.hypot(56,2.6);return[56/e,0,-2.6/e]})();function Zn(e){let{G:t,P:n,S:r,cyl:i}=e,a=[];for(let[e,t]of[[40,8.2],[72,8.2]])a.push(i(e,t,.9,0,Yn(e)-2.2,{tone:`mid`,crease:`none`},12));a.push(r(t.solidOf([[0,.8],[57,.8]],t.frameAlong([28,8.2,25],Xn),n),{tone:`mid`,crease:`none`}));for(let e=30;e<=82;e+=3.5)a.push(r(t.solidOf([[0,.9],[12.4,.9]],t.frameAlong([e,8.8,Yn(e)-.9],[0,1,0]),n),{tone:`mid`,crease:`none`}));return a.join(``)}function Qn(e){let{G:t,P:n,S:r,cyl:i,workpiece:a}=e,o=[`<g class="sf-work" data-chute-part="">${a({x:-3.5,y:10,w:7,d:10,r:1},24,3.6)}</g>`];for(let[e,t]of[[40,21.8],[72,21.8]])o.push(i(e,t,.9,0,Yn(e)-2.2,{tone:`mid`,crease:`none`},12));return o.push(r(t.solidOf([[0,.8],[57,.8]],t.frameAlong([28,21.8,25],Xn),n),{tone:`mid`,crease:`none`})),o.join(``)}function $n(e,t,n){let{k:r,P:i,S:a,L:o,cyl:s}=e,c=[`<path class="iso-halo sf-contact" d="${r.haloOf({x:t-4,y:n-4,w:8,d:8,r:4},0,.5,i)}"/>`];c.push(s(t,n,3.2,0,1,{tone:`lo`},20),s(t,n,1.2,1,24,{tone:`mid`,crease:`none`},12));let l={x:t-11,y:n-3,w:22,d:6,r:1};c.push(a(r.slabOf(l,25,4,i,2,.4),{tone:`mid`,inner:o(r.sideSeam(l,26.4,i,2),{tone:`faint`})}));for(let e of[t-7,t+7])c.push(s(e,n,2.2,29,.6,{tone:`mid`},18),`<g class="sf-green">${s(e,n,1.7,29.6,1.2,{tone:`mid`},18)}</g>`);return c.push(F(e,t,n,29)),c.join(``)}var er=[[-5,54,93],[-1.8,57.5,101]];function tr(e,t){let{k:n,G:r,P:i,at:a,S:o,L:s,D:c,slab:l,cyl:u,hmi:d,andon:f,dial:p,screws:m,faceRule:h,front:g,workpiece:_}=e,v=[],y={x:34,y:-28,w:26,d:30,r:1.6};v.push(o(n.slabOf(y,0,22,i,3,.6),{tone:`mid`,inner:s(n.sideSeam(y,4,i,3),{tone:`faint`})})),v.push(`<g transform="${g(y.y+y.d)}"><path class="sf-hmi" d="M48 -19H51V-4H48Z"/><path class="sf-oil" data-oil="48,4,51,19" d=""/><path class="iso-line" data-tone="lo" d="M48 -19H51V-4H48Z"/></g>`),v.push(h(y.y+y.d,36,12,12,5)),v.push(M(g(y.y+y.d),`press`,42,7,4.2));let b=r.frameAlong([37,-13,29.4],[1,0,0]);v.push(l({x:38,y:-18,w:12,d:10,r:1},22,2,{tone:`lo`},2,0)),v.push(o(r.solidOf([[0,4.6],[.5,5.2],[12,5.2],[12.5,4.6]],b,i),{tone:`mid`,inner:n.fadedSvg(r.ribsOf(b,.5,12,5.2,14,i,{fade:[.1,.55],seams:!0}),{tone:`lo`})})),v.push(o(r.disc(12.5,16,3.4,b,i),{tone:`mid`}),o(r.disc(16,21,4.2,b,i),{tone:`mid`})),v.push(u(55,-22,2,22,3,{tone:`mid`},14)),v.push(o(r.disc(0,.8,1.8,r.frameAlong([60,-19,15.5],[1,0,0]),i),{tone:`mid`}),T(e,[[60.8,-19,15.5],[66.8,-19,15.5]],.8,`mid`,2.2,`air`,[!1,!1])),v.push(l({x:64,y:-24,w:12,d:10,r:1},0,6,{tone:`mid`},2,.3)),v.push(u(70,-19,2.6,6,8,{tone:`mid`,inner:s(n.sideArc(70,-19,2.6,9,i,16),{tone:`faint`})},20),u(70,-19,3.2,14,4,{tone:`mid`},20)),v.push(p(`frl`,70,-19,18,3)),v.push(l({x:-30,y:-12,w:60,d:54,r:3},0,16,{tone:`mid`},3,1)),v.push(l({x:-22,y:-4,w:44,d:38,r:1.5},16,3,{tone:`lo`},3,.4)),v.push(m([[-20.4,-2.4],[20.4,-2.4],[-20.4,32.4],[20.4,32.4]],19)),v.push(l({x:-18,y:-3.5,w:36,d:37,r:1.2},19,2.5,{tone:`mid`},2,.4));for(let e of[-14.5,14.5])v.push(u(e,-.5,1.3,21.5,11.5,{tone:`mid`,crease:`none`},14));v.push(l({x:-10,y:6,w:20,d:18,r:1},21.5,2.5,{tone:`mid`},2,.4)),v.push(s(n.planOutline({x:-4.4,y:9.1,w:8.8,d:11.8,r:1.2},24,i,3),{tone:`lo`})),v.push(`<g class="sf-work" data-work="press">${_({x:-3.5,y:10,w:7,d:10,r:1},24,5)}</g>`,`<g class="sf-fx" data-fx-slot="${t}"></g>`);for(let e of[-24,24])v.push(u(e,-6,3.2,19,73,{tone:`mid`,crease:`none`},20));v.push(l({x:-36,y:11,w:3,d:8,r:.5},0,23,{tone:`lo`},2,.2)),v.push(l({x:-16,y:11,w:3,d:8,r:.5},21.5,1.5,{tone:`lo`},2,0)),v.push(l({x:-38,y:9,w:28,d:12,r:.6},23,1,{tone:`mid`},2,.2)),v.push(l({x:-50,y:2.6,w:4,d:4.8,r:.6},0,29,{tone:`mid`},2,.3)),v.push(l({x:-50,y:3.4,w:46,d:3.2,r:1},25.6,2.8,{tone:`mid`,inner:s(n.lineOnTop([-48,5],[-6,5],28.4,i),{tone:`faint`})},2,.3)),v.push(l({x:-51,y:3,w:2.4,d:4,r:.4},25,4,{tone:`mid`},2,0),l({x:-5,y:3,w:2.4,d:4,r:.4},25,4,{tone:`mid`},2,0)),v.push(`<g data-move="loader">${l({x:-48.6,y:2.8,w:5,d:4.4,r:.6},26.2,3.6,{tone:`mid`},2,.3)}${l({x:-46.4,y:6.6,w:1.6,d:13,r:.4},24.4,3.4,{tone:`mid`},2,.2)}</g>`),v.push(`<g class="sf-work" data-push-part="">${_({x:-3.5,y:10,w:7,d:10,r:1},24,5)}</g>`),v.push(l({x:-27,y:-3,w:6,d:6.6,r:.6},33,2.8,{tone:`mid`},2,.3)),v.push(l({x:31.4,y:3.2,w:3.6,d:3.6,r:.6},0,33,{tone:`mid`},2,.3)),v.push(l({x:-28,y:3.6,w:62,d:2.8,r:1},33,2.8,{tone:`mid`,inner:s(n.lineOnTop([-26,5],[32,5],35.8,i),{tone:`faint`})},2,.3)),v.push(l({x:-29,y:3.2,w:2.4,d:3.6,r:.4},32.4,4,{tone:`mid`},2,0),l({x:33,y:3.2,w:2.4,d:3.6,r:.4},32.4,4,{tone:`mid`},2,0));let x=l({x:-24,y:7,w:1.6,d:1.8,r:.3},24.4,11.6,{tone:`mid`},2,0)+l({x:-24,y:8.6,w:1.6,d:12.8,r:.4},24.4,6,{tone:`mid`},2,.2);v.push(`<g data-move="unloader">${l({x:-26,y:3,w:5,d:4,r:.6},32.6,4,{tone:`mid`},2,.3)}${l({x:-25,y:7,w:3,d:2,r:.4},33,3.4,{tone:`lo`},2,0)}<g data-lift="">${x}</g></g>`),v.push(Zn(e)),v.push(`<g class="sf-work" data-pull-part="">${_({x:-3.5,y:10,w:7,d:10,r:1},24,3.6)}</g>`),v.push(Qn(e));for(let e of[-14.5,14.5])v.push(u(e,30.5,1.3,21.5,11.5,{tone:`mid`,crease:`none`},14));let S=[...[-24,24].map(e=>u(e,-6,4.6,76,8,{tone:`mid`},28)),...[-14.5,14.5].map(e=>u(e,-.5,2.2,65,11,{tone:`mid`},18)),l({x:-4.4,y:9.1,w:8.8,d:11.8,r:1.2},70,2,{tone:`hi`,lit:!0},2,.2),l({x:-12,y:4,w:24,d:22,r:1},72,4,{tone:`mid`},2,.4),...[-14.5,14.5].map(e=>u(e,30.5,2.2,65,11,{tone:`mid`},18)),l({x:-19,y:-4,w:38,d:36,r:2},76,8,{tone:`mid`},3,.6),m([[-15,0],[15,0],[-15,28],[15,28]],84)].join(``);v.push(`<g data-move="press-ram">${S}</g>`),v.push(`<g data-colstub="-24,-6"></g><g data-colstub="24,-6"></g>`),v.push(`<g data-rod="press"></g>`);for(let e of[-24,24])v.push(u(e,36,3.2,19,73,{tone:`mid`,crease:`none`},20));v.push(`<g data-move="press-ram">${[-24,24].map(e=>u(e,36,4.6,76,8,{tone:`mid`},28)).join(``)}</g>`),v.push(`<g data-colstub="-24,36"></g><g data-colstub="24,36"></g>`),v.push(l({x:-30,y:-12,w:60,d:54,r:3},92,14,{tone:`mid`},3,1)),v.push(m([[-24,-6],[24,-6],[-24,36],[24,36]],106)),v.push(u(0,15,12,106,22,{tone:`mid`,inner:s(n.sideArc(0,15,12,110,i,40)+n.sideArc(0,15,12,124,i,40),{tone:`faint`})},48)),v.push(u(0,15,13,128,3,{tone:`mid`},48)),v.push(c(r.dotsOf(r.frameAlong([0,15,131],[0,0,1]),0,10.6,8,i,{all:!0}),{size:.45})),v.push(u(0,15,3,131,2,{tone:`mid`},16)),v.push(f(t,-24,-6,106));for(let[e,,t]of er)v.push(o(r.disc(0,1.2,2.4,r.frameAlong([30,e,t],[1,0,0]),i),{tone:`mid`}));for(let[t,n,r]of er)v.push(u(n,t,2.1,22,.9,{tone:`mid`},16),T(e,[[n,t,22.9],[n,t,r],[31.2,t,r]],1.3,`mid`,5,`hyd`));v.push(d(t,42,-24,16,2.4,14));let C={x0:-28,x1:28,y0:48.6,y1:53},w=[];for(let e=C.x0-(C.y1-C.y0);e<C.x1;e+=3){let t=[Math.max(C.x0,e),0],r=[Math.min(C.x1,e+(C.y1-C.y0)),0];t[1]=C.y1-(t[0]-e),r[1]=C.y1-(r[0]-e),w.push(n.lineOnTop(t,r,0,i))}v.push(s(w.join(``),{className:`sf-hatch`}),s(n.onTop([[C.x0,C.y0],[C.x1,C.y0],[C.x1,C.y1],[C.x0,C.y1]],0,i,!0),{className:`sf-hatch-edge`}));for(let e of[-31,29])v.push(l({x:e,y:44.4,w:2.6,d:2.6,r:.5},0,60,{tone:`mid`},2,.2)),v.push(l({x:e-.4,y:44,w:3.4,d:3.4,r:.6},0,1.2,{tone:`lo`},2,0));v.push($n(e,-44,47));let E=[];for(let e=0,t=22;t<=56;t+=3.4,e++)E.push(`<path class="sf-beam" data-beam="${e}" d="${n.segment([-28.4,45.7,t],[29,45.7,t],i)}"/>`);let D=[];for(let e=22;e<=56;e+=3.4)D.push(a([-28.4,45.7,e]));return v.push(`<g class="sf-curtain">${E.join(``)}${D.map(([e,t])=>`<circle class="sf-led" cx="${e.toFixed(1)}" cy="${t.toFixed(1)}" r="0.55"/>`).join(``)}</g>`),v.join(``)}function nr(e){return(0,Q.jsx)(m,{...e,draw:tr})}var rr=26,ir=35;function ar(e){let t=[...e].sort((e,t)=>e[0]-t[0]||e[1]-t[1]),n=(e,t,n)=>(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0]),r=e=>{let t=[];for(let r of e){for(;t.length>=2&&n(t[t.length-2],t[t.length-1],r)<=0;)t.pop();t.push(r)}return t.pop(),t};return[...r(t),...r([...t].reverse())]}var or=e=>`M${e.map(([e,t])=>`${e.toFixed(2)} ${t.toFixed(2)}`).join(`L`)}Z`;function sr(e,t,n){let{k:r,G:i,P:a,at:o,S:s,L:c,slab:l,cyl:u,hmi:d,andon:f,screws:p,conveyor:m,faceRule:h}=e,g=m(84,100,4,24,20),_=[g.back,g.belt,`<g data-belt="test" data-x0="85" data-x1="182" data-y0="4" data-y1="28" data-z="${g.top}"><path class="iso-line" data-tone="faint" data-cleats="" d=""/><g data-parts-back=""></g></g>`],v=i.frameAlong([162,-14,26.4],[0,1,0]);_.push(l({x:158,y:-16,w:8,d:4,r:.6},0,24,{tone:`mid`},2,.3)),_.push(s(i.solidOf([[0,2.6],[10,2.6]],v,a),{tone:`mid`,inner:c(i.arcOf(v,2,2.6,a)+i.arcOf(v,8,2.6,a),{tone:`faint`})})),_.push(`<g data-rod="pusher"></g><g data-move="pusher">${l({x:156,y:-3.4,w:12,d:1.6,r:.4},23.6,6,{tone:`mid`},2,.2)}</g>`),_.push(l({x:126,y:-4,w:6,d:4,r:.8},0,54,{tone:`mid`},2,.3)),_.push(l({x:124,y:-5,w:10,d:39,r:1.5},54,6,{tone:`mid`},3,.5)),_.push(p([[126,-3],[132,-3],[126,32],[132,32]],60)),_.push(f(t,129,-1,60)),_.push(u(129,16,4,42,12,{tone:`mid`,inner:c(r.sideArc(129,16,4,48,a,24),{tone:`faint`})},24)),_.push(u(129,16,5.6,40.4,1.6,{tone:`mid`},28)),_.push(`<g class="sf-eye" data-eye="test">${u(129,16,2.6,38,2.4,{tone:`hi`,lit:!0},20)}</g>`),_.push(`<path class="sf-flash" data-flash="" d="${r.pathOf(r.circleRing(129,16,9,40).map(([e,t])=>o([e,t,21.2])),!0)}"/>`),_.push(`<g data-parts-front="test"></g>`),_.push(l({x:180.4,y:4.2,w:1,d:23.6,r:.3},21.6,4,{tone:`mid`},2,0)),_.push(g.front);let y=o([183.4,31,27]),b=l({x:180,y:1,w:2,d:30,r:.4},24,1.4,{tone:`mid`},2,.2)+u(183.4,30,.9,25.4,2.6,{tone:`mid`,crease:`none`},12)+`<circle class="sf-gled" data-pack-eye="" cx="${y[0].toFixed(2)}" cy="${y[1].toFixed(2)}" r="0.45"/>`;_.push(b),_.push(l({x:126,y:30,w:6,d:4,r:.8},0,54,{tone:`mid`},2,.3)),_.push(l({x:134,y:31,w:26,d:4,r:1},28,18,{tone:`mid`},2,.4)),_.push(d(t,35,135.2,158.8,29.4,45.4)),_.push(F(e,155,33,46));let x={x:160,y:35,w:16,d:11,r:1.2};_.push(l(x,0,11,{tone:`mid`},3,.3));let S=r.pathOf(r.roundedPlan(r.insetPlan(x,1.2),3).map(([e,t])=>o([e,t,11])),!0);_.push(`<path class="sf-void" d="${S}"/>`),_.push(`<clipPath id="bin-open"><path d="${S}"/></clipPath><g clip-path="url(#bin-open)" data-scrap=""></g>`),_.push(c(r.planOutline(r.insetPlan(x,1.2),11,a,3),{tone:`lo`})),_.push(h(x.y+x.d,x.x+2,3,12,4.4));let C=e=>({x:e,y:0,w:rr,d:ir,r:1.6}),w=e=>s(r.slabOf(C(e),0,16,a,3,.4),{tone:`mid`,inner:c(r.sideSeam(C(e),12,a,3),{tone:`faint`})}),T=e=>r.pathOf(r.roundedPlan(r.insetPlan(C(e),1.6),3).map(([e,t])=>o([e,t,16])),!0),E=e=>c(r.planOutline(r.insetPlan(C(e),1.6),16,a,3),{tone:`lo`})+h(ir,e+3,4,14,5),D=(e,t,n)=>`<g ${n}>${w(e)}<path class="sf-void" d="${T(e)}"/><clipPath id="${t}"><path d="${T(e)}"/></clipPath><g clip-path="url(#${t})" data-tote-parts=""></g>${E(e)}</g>`;_.push(D(188,`tote-open`,`data-tote=""`));let O={x:214,y:-1,w:28,d:37,r:1};_.push(l({x:239,y:0,w:2.4,d:2.4,r:.4},-14,12.4,{tone:`lo`},2,0),l({x:239,y:33.6,w:2.4,d:2.4,r:.4},-14,12.4,{tone:`lo`},2,0)),_.push(s(r.slabOf(O,-1.6,1.6,a,2,.3),{tone:`mid`,inner:c([0,1,2,3,4,5,6].map(e=>r.lineOnTop([O.x+2+e*3.9,O.y+.3],[O.x+2+e*3.9,O.y+O.d-.3],0,a)).join(``),{tone:`lo`})})),_.push(D(188,`tote-open-full`,`data-tote-full=""`)),_.push(`<g data-robot="2" data-asset="${n}" class="sf-robot"></g>`);let k=[[189.6,1.6],[188+rr-1.6,1.6],[188+rr-1.6,ir-1.6],[189.6,ir-1.6]].map(([e,t])=>o([e,t,16])),A=k.reduce((e,t)=>t[0]<e[0]?t:e),j=k.reduce((e,t)=>t[0]>e[0]?t:e),M=k.reduce((e,t)=>t[1]>e[1]?t:e),N=[[A[0]-30,A[1]-.6],[A[0],A[1]-.6],[M[0],M[1]-.6],[j[0],j[1]-.6],[j[0]+30,j[1]-.6],[j[0]+30,4e3],[A[0]-30,4e3]];_.push(`<g data-tote-over=""><clipPath id="tote-over-clip"><path d="${or(N)}"/></clipPath><g clip-path="url(#tote-over-clip)">${w(188)}${E(188)}</g></g>`);let P=ar([166,186].flatMap(e=>[-2,34].flatMap(t=>[14,48].map(n=>o([e,t,n])))));return _.push(`<clipPath id="pick-clip"><path d="${or(P)}"/></clipPath><g clip-path="url(#pick-clip)">${g.front}${b}</g>`),_.join(``)}function cr({packer:e,...t}){let n=(0,Z.useCallback)((t,n)=>sr(t,n,e),[e]);return(0,Q.jsx)(m,{...t,draw:n})}function lr(e,t,n,r){let{k:i,G:a,P:o,D:s,L:c,slab:l,cyl:u,screws:d,andon:f}=e,p=[`<path class="iso-halo sf-contact" d="${i.haloOf({x:t-10,y:n-10,w:20,d:20,r:10},0,.5,o)}"/>`];return p.push(l({x:t-11,y:n-11,w:22,d:22,r:3},0,2.4,{tone:`lo`},3,.4)),p.push(d(i.corners({x:t-11,y:n-11,w:22,d:22},2.4),2.4)),p.push(u(t,n,8.4,2.4,3,{tone:`mid`},40)),p.push(s(a.dotsOf(a.frameAlong([t,n,5.4],[0,0,1]),0,7,10,o,{all:!0}),{size:.4})),p.push(`<g class="sf-robot">${u(t,n,6.4,5.4,9,{tone:`mid`,inner:c(i.sideArc(t,n,6.4,9,o,32),{tone:`faint`})},36)}</g>`),p.push(l({x:t-9,y:n+7,w:6,d:3,r:.6},2.4,5,{tone:`mid`},2,.3)),p.push(f(r,t+8,n-8,2.4)),p.join(``)}function ur({id:e,base:t,intro:n}){let r=p(),[i,a]=t;return(0,Q.jsx)(f,{html:(0,Z.useMemo)(()=>`<path class="sf-alarm" data-alarm="${e}" d="${S({x:i-14,y:a-14,w:28,d:28,r:8},0,1,r.P)}"/>${lr(r,i,a,e)}`,[r,i,a,e]),asset:e,intro:n})}function dr({id:e,robot:t,intro:n}){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`g`,{"data-robot":t,"data-asset":e,"data-intro":n,className:`sf-robot`}),(0,Q.jsx)(`g`,{"data-fx-slot":e})]})}var $=-14;function fr(e){let{k:t,P:n,at:r,S:i,slab:a,front:o,faceRule:s,screws:c}=e,l=[],u={x:-322,y:-262,w:96,d:26,r:1};l.push(`<path class="iso-halo sf-contact" d="${t.haloOf(u,$,1,n)}"/>`),l.push(a(u,$,4,{tone:`lo`},2,.3));let d=u.y+u.d-1;[0,1,2].forEach(e=>{let f=u.x+1+e*31.4,p={x:f,y:u.y+1,w:31,d:u.d-2,r:.8},m=$+4+54,h=[];for(let e=$+10;e<$+20;e+=2.2)h.push(`M${f+5} ${-e}H${f+26}`);h.push(`M${f+5} ${-($+8.8)}H${f+26}V${-($+20)}H${f+5}Z`);let g=`<g transform="${o(d)}"><path class="iso-line" data-tone="lo" d="M${f+2} ${-(m-2)}H${f+29}V${-($+6)}H${f+2}Z"/><path class="iso-line" data-tone="faint" d="${h.join(``)}"/></g>`;l.push(i(t.slabOf(p,$+4,54,n,2,.6),{tone:`mid`,inner:g})),l.push(a({x:f+25.4,y:d,w:1.6,d:1.2,r:.4},$+30,8,{tone:`mid`},2,0));let _=r([f+7,d,m-7]),v=r([f+10.5,d,m-7]);l.push(`<circle class="sf-pilot" data-pilot="${e}" cx="${_[0].toFixed(1)}" cy="${_[1].toFixed(1)}" r="0.9"/>`),l.push(`<circle class="sf-pilot sf-pilot-off" cx="${v[0].toFixed(1)}" cy="${v[1].toFixed(1)}" r="0.9"/>`),l.push(s(d,f+15,m-10,11,5)),l.push(c([[f+3,p.y+3],[f+28,p.y+3]],m))});let f={x:u.x+70,y:u.y+4,w:14,d:8,r:.4};return l.push(a(f,$+58,4,{tone:`lo`},2,0)),l.join(``)}function pr(e,t,n){let{k:r,P:i,L:a,slab:o,cyl:s,front:c}=e,l=[];return l.push(`<path class="iso-halo sf-contact" d="${r.haloOf({x:t-5,y:n-5,w:10,d:10,r:5},$,1,i)}"/>`),l.push(o({x:t-4,y:n-8,w:8,d:2,r:.4},$,40,{tone:`mid`},2,.2)),l.push(`<g transform="${c(n-6)}"><path class="sf-sign" d="M${t-3.4} ${-($+38)}H${t+3.4}V${-($+30)}H${t-3.4}Z"/><path class="sf-sign-mark" d="M${t-1.2} ${-($+31.6)}H${t+1.2}V${-($+36.4)}H${t-1.2}Z"/></g>`),l.push(`<g class="sf-red">${s(t,n-2.6,2.6,$+6,13,{tone:`mid`,inner:a(r.sideArc(t,n-2.6,2.6,$+15,i,20),{tone:`faint`})},24)}${s(t,n-2.6,1.2,$+19,2,{tone:`mid`},14)}</g>`),l.push(o({x:t-1.6,y:n-3.6,w:3.2,d:2,r:.4},$+21,1.2,{tone:`mid`},2,0)),l.push(o({x:t-3.4,y:n-6.2,w:6.8,d:1.2,r:.3},$+4.4,1.4,{tone:`lo`},2,0)),l.join(``)}function mr(e){let{k:t,P:n,at:r,L:i}=e;return[[-120,-126],[120,-126]].map(([e,a])=>{let o={x:e-10,y:a-3,w:20,d:6,r:1},s=[];for(let e=1;e<10;e++)s.push(t.lineOnTop([o.x+e*2,o.y+1],[o.x+e*2,o.y+5],$,n));return`<path class="sf-void" d="${t.pathOf(t.roundedPlan(o,2).map(([e,t])=>r([e,t,$])),!0)}"/>`+i(t.planOutline(o,$,n,2),{tone:`mid`})+i(s.join(``),{tone:`lo`})}).join(``)}function hr(e,t,n){let{k:r,P:i,at:a,L:o}=e,s=17.6,c=19.6,l=e=>r.pathOf(r.circleRing(t,n,e,56).map(([e,t])=>a([e,t,0])),!0),u=[];for(let e=0;e<28;e++){let a=e/28*Math.PI*2;u.push(r.lineOnTop([t+Math.cos(a)*s,n+Math.sin(a)*s],[t+Math.cos(a+.12)*c,n+Math.sin(a+.12)*c],0,i))}return`<path class="sf-hatch-edge" d="${l(s)+l(c)}" fill="none"/>`+o(u.join(``),{className:`sf-hatch`})}function gr(e,t,n){let{k:r,P:i,at:a,S:o,L:s,slab:c,workpiece:l}=e,u=[],d={x:t,y:n,w:54,d:37,r:.6};u.push(`<path class="iso-halo sf-contact" d="${r.haloOf(d,$,1,i)}"/>`);for(let e of[n+1,n+17,n+33])for(let n of[t+1,t+25,t+49])u.push(c({x:n,y:e,w:4,d:3,r:.3},$,2.4,{tone:`lo`},2,0));let f=[];for(let e=1;e<9;e++)f.push(r.lineOnTop([t+e*6,n+.6],[t+e*6,n+36.4],$+4,i));u.push(o(r.slabOf(d,$+2.4,1.6,i,2,.2),{tone:`lo`,inner:s(f.join(``),{tone:`faint`})}));let p=0;for(let e of[0,1])for(let c of[t+.5,t+27.5]){let t={x:c,y:n+1,w:26,d:35,r:1.6},d=$+4+e*16;if(u.push(o(r.slabOf(t,d,16,i,3,.4),{tone:`mid`,inner:s(r.sideSeam(t,d+12,i,3),{tone:`faint`})})),!e)continue;let f=r.pathOf(r.roundedPlan(r.insetPlan(t,1.6),3).map(([e,t])=>a([e,t,d+16])),!0),m=[];for(let e=0;e<3;e++)for(let t=0;t<3;t++)m.push([c+1.6+t*7.9,n+2.6+e*10.9]);m.sort((e,t)=>r.depthOf([e[0],e[1],0],i)-r.depthOf([t[0],t[1],0],i)),u.push(`<path class="sf-void" d="${f}"/><clipPath id="pallet-tote-${p}"><path d="${f}"/></clipPath><g clip-path="url(#pallet-tote-${p++})">${m.map(([e,t])=>l({x:e,y:t,w:7,d:10,r:.8},d+1+3*3.6,3.6)).join(``)}</g>`),u.push(s(r.planOutline(r.insetPlan(t,1.6),d+16,i,3),{tone:`lo`}))}return u.join(``)}function _r(e,t,n){let{G:r,P:i,S:a,slab:o,cyl:s}=e,c=[];c.push(o({x:t,y:n-4,w:6,d:8,r:1},$,4,{tone:`mid`},2,.3)),c.push(s(t+3,n,2.2,$+4,5,{tone:`mid`},18));let l=r.frameAlong([t+3,n,$+8.6],[.48,0,.88]);c.push(a(r.solidOf([[0,.7],[22,.7]],l,i),{tone:`mid`,crease:`none`}));let u=r.frameAlong([t+3+.48*22,n-3.2,$+8.6+.88*22],[0,1,0]);return c.push(a(r.solidOf([[0,.8],[6.4,.8]],u,i),{tone:`mid`,crease:`none`})),`<g class="sf-yellow">${c.join(``)}</g>`}function vr(e,t,n){let{k:r,P:i,L:a,cyl:o}=e;return`<path class="iso-halo sf-contact" d="${r.haloOf({x:t-3,y:n-3,w:6,d:6,r:3},$,1,i)}"/><g class="sf-yellow">${o(t,n,3.2,$,1,{tone:`mid`},20)}${o(t,n,2.2,$+1,20,{tone:`mid`,inner:a(r.sideArc(t,n,2.2,$+12,i,20)+r.sideArc(t,n,2.2,$+15,i,20),{tone:`faint`})},22)}</g>${o(t,n,2.3,$+21,1.4,{tone:`mid`},22)}`}function yr(e,t){let n=p(),[r,i]=t;return(0,Z.useMemo)(()=>e(n,r,i),[n,e,r,i])}function br({intro:e}){return(0,Q.jsx)(f,{html:v(fr),intro:e})}function xr(){return v(mr)}function Sr({at:e,intro:t}){return(0,Q.jsx)(f,{html:yr(pr,e),intro:t})}function Cr({at:e,intro:t}){let n=p();return(0,Q.jsx)(f,{html:(0,Z.useMemo)(()=>e.map(([e,t])=>vr(n,e,t)).join(``),[n,e]),intro:t})}function wr({pallet:e,jack:t,intro:n}){return(0,Q.jsx)(f,{html:yr(gr,e)+yr(_r,t),intro:n})}function Tr(e){return yr(hr,e)}function Er({robot:e,...t}){let n=(0,Z.useCallback)((t,n)=>Ve(t,n,e),[e]);return(0,Q.jsx)(m,{...t,draw:n})}var Dr={chiller:{x:-248,y:-164,w:92,d:58,r:3},comp:{x:-132,y:-150,w:128,d:44,r:3},cnc:{x:-304,y:-22,w:74,d:70,r:3},wash:{x:-176,y:1,w:92,d:30,r:3},press:{x:-30,y:-12,w:60,d:54,r:3},test:{x:84,y:1,w:100,d:30,r:3}},Or=(e,t)=>k(e,t,`coolant`,!0),kr=(e,t)=>Oe(e,t,!0),Ar=[[-326,-42],[230,-42]],jr=bn[0],Mr=bn[1];function Nr({ids:e}){if(!jr||!Mr)throw Error(`Smart Factory layout needs two robots in ROBOTS.`);let t=p(),n=xr(),r=O(Fn,gn.y),i=Tr(jr.base),o=Tr(Mr.base),s=(0,Z.useMemo)(()=>In(t),[t]),c=(0,Z.useMemo)(()=>t.plinth(_n),[t]),l=(0,Z.useMemo)(()=>t.plinth(gn)+Rn(t,gn),[t]);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(f,{html:s+n,data:{plinth:``}}),(0,Q.jsx)(br,{intro:0}),(0,Q.jsxs)(`g`,{transform:a(yn,J),children:[(0,Q.jsx)(f,{html:c,data:{plinth:``}}),(0,Q.jsx)(m,{id:e.chiller,plan:Dr.chiller,intro:1,draw:kr}),(0,Q.jsx)(D,{from:xn,to:Sn,scale:Cn,children:(0,Q.jsx)(m,{id:e.pump,plan:me,intro:2,draw:Or})}),(0,Q.jsx)(D,{from:wn,to:Tn,children:(0,Q.jsx)(zn,{id:e.comp,plan:Dr.comp,intro:3})})]}),(0,Q.jsx)(f,{html:`${r.off}<g data-flows=""></g>`,data:{pipes:``}}),(0,Q.jsx)(Sr,{at:[-328,54],intro:4}),(0,Q.jsx)(Cr,{at:Ar,intro:5}),(0,Q.jsx)(wr,{pallet:[100,-98],jack:[155,-79.5],intro:6}),(0,Q.jsx)(f,{html:l+i+o,data:{plinth:``}}),(0,Q.jsx)(f,{html:r.on,data:{pipes:``}}),(0,Q.jsx)(Gn,{id:e.cnc,plan:Dr.cnc,intro:7}),(0,Q.jsx)(ur,{id:e.robot,base:jr.base,intro:8}),(0,Q.jsx)(Hn,{name:`b0`,at:[-220,2],capacity:10,intro:9}),(0,Q.jsx)(dr,{id:e.robot,robot:jr.id,intro:8}),(0,Q.jsx)(Kn,{id:e.cnc,intro:10}),(0,Q.jsx)(Hn,{name:`b1`,at:[-78,-28],capacity:5,intro:11}),(0,Q.jsx)(Er,{id:e.wash,robot:e.robot,plan:Dr.wash,intro:12}),(0,Q.jsx)(Jn,{intro:13}),(0,Q.jsx)(nr,{id:e.press,plan:Dr.press,intro:14}),(0,Q.jsx)(Hn,{name:`b2`,at:[40,46],capacity:5,intro:15}),(0,Q.jsx)(ur,{id:e.packer,base:Mr.base,intro:16}),(0,Q.jsx)(cr,{id:e.test,packer:e.packer,plan:Dr.test,intro:17}),(0,Q.jsx)(`g`,{"data-fx-slot":e.packer}),(0,Q.jsx)(Vn,{id:e.amr,intro:18})]})}var Pr=ae(yn),Fr=j(Pr,Fn,gn.y),Ir=se({layout:{width:hn,height:470,label:`Isometric model of the Smart Factory: a machining line of CNC, wash conveyor, hydraulic press and inspection conveyor with buffers between them, and a utilities plinth behind with a chiller, an air compressor and a centrifugal pump, joined to the line by a coolant loop and an air line. Every moving part follows live values from the running engine.`,kit:Pr,flows:[...Fr.flows,...Be(Pr)],joints:Fr.joints,Scene:Nr,compose:Ln},resolve:Ge,things:Ke,caption:`production · utilities`,mismatch:`This floor expects the Smart Factory line (CNC, washer, press, inspection) and its utilities.`,statusBasis:`run_command`});export{Ir as smartFactoryFloor};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./utils-XFKvwlFT.js";var t=e(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),n=`Source host (Miravo)`,r=`Address Litmus Edge uses to reach your running Miravo factory.`;export{n,t as r,r as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{y as e}from"./dom-Cm_OH5jc.js";function t(t,n){let r=t=>e([t[0],t[1],0],n),i=[...t].sort((e,t)=>r(e.at)-r(t.at));return{order:i,slotDepths:i.map(e=>r(e.at)),depth:{layer:([t,a,o])=>{let s=i.findIndex(i=>r(i.at)>e([t,a,o>i.h?Math.max(0,o-12):0],n));return s<0?i.length:s},glide:()=>!0}}}export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,r as t}from"./rolldown-runtime-COnpUsM8.js";import{c as n}from"./vendor-charts-95ykyDlI.js";import{ot as r}from"./vendor-ui-D8j69UH4.js";import{A as i,C as a,D as o,E as s,F as c,L as l,M as u,N as d,O as f,P as p,R as m,S as h,T as g,_,a as v,c as y,d as b,f as x,g as S,h as C,j as w,k as T,n as E,o as D,s as O,t as k,v as A,w as ee,x as j,y as M,z as te}from"./dom-Cm_OH5jc.js";function ne(e){return e}var N=Math.PI*2,re=1.2,ie=[0,.2,.42,.62],P=(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2],F=(e,t)=>[e[0]+t[0],e[1]+t[1],e[2]+t[2]],I=(e,t)=>[e[0]-t[0],e[1]-t[1],e[2]-t[2]],L=(e,t)=>[e[0]*t,e[1]*t,e[2]*t],R=e=>Math.hypot(e[0],e[1],e[2]),z=e=>{let t=R(e)||1;return[e[0]/t,e[1]/t,e[2]/t]},B=(e,t)=>[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]],V=(e,t,n)=>[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n,e[2]+(t[2]-e[2])*n];function H(e){let{sinA:t,cosA:n,sinE:r,cosE:i}=C(e);return[n*i,t*i,r]}function ae(e){let{sinA:t,cosA:n}=C(e);return z([-t,n,re])}var U=e=>C(e).k;function oe(e){let t=0;for(;t<ie.length&&e>=ie[t];)t++;return t}function se(e,t){let n=z(t),r=z(B(Math.abs(n[2])>.9?[1,0,0]:[0,0,1],n));return{o:e,a:n,u:r,v:B(n,r)}}function W(e,t,n,r){let i=Math.cos(r),a=Math.sin(r);return[e.o[0]+e.a[0]*t+n*(i*e.u[0]+a*e.v[0]),e.o[1]+e.a[1]*t+n*(i*e.u[1]+a*e.v[1]),e.o[2]+e.a[2]*t+n*(i*e.u[2]+a*e.v[2])]}var ce=(e,t)=>{let n=Math.cos(t),r=Math.sin(t);return[n*e.u[0]+r*e.v[0],n*e.u[1]+r*e.v[1],n*e.u[2]+r*e.v[2]]},le=(e,t)=>Math.atan2(P(t,e.v),P(t,e.u));function ue(e){let t=[...e].sort((e,t)=>e.p[0]-t.p[0]||e.p[1]-t.p[1]);if(t.length<3)return t;let n=(e,t,n)=>(t.p[0]-e.p[0])*(n.p[1]-e.p[1])-(t.p[1]-e.p[1])*(n.p[0]-e.p[0]),r=[];for(let e of t){for(;r.length>=2&&n(r[r.length-2],r[r.length-1],e)<=1e-9;)r.pop();r.push(e)}let i=[];for(let e=t.length-1;e>=0;e--){let r=t[e];for(;i.length>=2&&n(i[i.length-2],i[i.length-1],r)<=1e-9;)i.pop();i.push(r)}return[...r.slice(0,-1),...i.slice(0,-1)]}var de=e=>ue(e.map(e=>({p:e}))).map(({p:e})=>e);function fe(e){let t=e.length,n=[],r=e.findIndex((n,r)=>n!==e[(r+t-1)%t]);if(r<0){let r=e[0];return r!=null&&n.push({key:r,run:Array.from({length:t+1},(e,n)=>n%t)}),n}let i=null,a=e=>{e&&e.key!==null&&n.push({key:e.key,run:e.run})};for(let n=0;n<t;n++){let o=(r+n)%t,s=e[o]??null;if(i&&i.key===s){i.run.push((o+1)%t);continue}a(i),i={key:s,run:[o,(o+1)%t]}}return a(i),n}var pe=(e,t=16,n=112,r=0)=>Math.max(t,Math.min(n,r?Math.ceil(N*e*r/3):Math.round(e*1.3/4)*4)),me=e=>e.reduce((t,[n,r],i)=>{let[a,o]=e[(i+1)%e.length];return t+n*o-a*r},0),he=e=>me(e)<0?[...e].reverse():[...e],G=(e,t)=>e[t],ge=e=>(e%N+N)%N;function _e(e,t,n,r,i,a){let o=[];if(Math.abs(i)>1e-9){let e=-(a*n.a)/(i*n.flat);if(e>-1&&e<1){let t=Math.acos(e);o.push(n.phi-t,n.phi+t)}}if(Math.abs(e)>1e-9)for(let n of ie){let i=(n-t*r.a)/(e*r.flat);if(i>-1&&i<1){let e=Math.acos(i);o.push(r.phi-e,r.phi+e)}}let s=[...new Set(o.map(e=>Math.round(ge(e)*1e9)/1e9))].sort((e,t)=>e-t),c=o=>i*n.flat*Math.cos(o-n.phi)+a*n.a<=1e-9?-1:oe(e*r.flat*Math.cos(o-r.phi)+t*r.a);if(!s.length){let e=c(0);return e<0?[]:[{tone:e,from:0,to:N}]}let l=s.map((e,t)=>{let n=t+1<s.length?G(s,t+1):G(s,0)+N;return{tone:c((e+n)/2),from:e,to:n}}),u=[];for(let e of l){let t=u[u.length-1];t&&t.tone===e.tone&&Math.abs(t.to-e.from)<1e-9?t.to=e.to:u.push({...e})}let d=u[0],f=u[u.length-1];return d&&f&&u.length>1&&d.tone===f.tone&&Math.abs(f.to-N-d.from)<1e-9&&(u.pop(),d.from=f.from-N),u.filter(e=>e.tone>=0)}function ve(e){let t=e.length-1,n=Array.from({length:t},(t,n)=>G(e,n+1)[0]-G(e,n)[0]),r=n.map((t,n)=>(G(e,n+1)[1]-G(e,n)[1])/t),i=Array(t+1).fill(0),a=(e,t,n,r)=>{let i=((2*e+t)*n-e*r)/(e+t);return Math.sign(i)===Math.sign(n)?Math.sign(n)!==Math.sign(r)&&Math.abs(i)>Math.abs(3*n)&&(i=3*n):i=0,i};t===1?(i[0]=G(r,0),i[1]=G(r,0)):(i[0]=a(G(n,0),G(n,1),G(r,0),G(r,1)),i[t]=a(G(n,t-1),G(n,t-2),G(r,t-1),G(r,t-2)));for(let e=1;e<t;e++){if(G(r,e-1)*G(r,e)<=0)continue;let t=2*G(n,e)+G(n,e-1),a=G(n,e)+2*G(n,e-1);i[e]=(t+a)/(t/G(r,e-1)+a/G(r,e))}return i}function ye(e){let t=e.length,n=Array(t-1).fill(null),r=0;for(;r<t-1;){let i=r+1;for(;i<t-1&&G(e,i)[2]&&Math.abs(G(e,i+1)[0]-G(e,i)[0])>1e-9&&Math.abs(G(e,i)[0]-G(e,i-1)[0])>1e-9;)i++;let a=e.slice(r,i+1).map(([e,t])=>[e,t]),o=a.length-1;if(o>=2&&a.every((e,t)=>t===0||Math.abs(e[0]-G(a,t-1)[0])>1e-9)){let e=ve(a);for(let t=0;t<o;t++){let[i,o]=G(a,t),[s,c]=G(a,t+1),l=s-i,u=G(e,t),d=G(e,t+1),f=e=>{let t=(e-i)/l;return(2*t**3-3*t**2+1)*o+(t**3-2*t**2+t)*l*u+(-2*t**3+3*t**2)*c+(t**3-t**2)*l*d},p=e=>{let t=(e-i)/l;return((6*t**2-6*t)*o+(6*t-6*t**2)*c)/l+(3*t**2-4*t+1)*u+(3*t**2-2*t)*d};n[r+t]={radius:f,slope:p}}}r=i}return n}function be(e,t,n){let r=U(t),i=[G(e,0)];for(let t=0;t<e.length-1;t++){let a=n[t];if(a){let n=(e,t,o)=>{let s=(e+t)/2,c=(a.radius(e)+a.radius(t))/2;o<6&&Math.abs(a.radius(s)-c)*r>.2&&(n(e,s,o+1),i.push([s,a.radius(s),1]),n(s,t,o+1))};n(G(e,t)[0],G(e,t+1)[0],0)}i.push(G(e,t+1))}return i}var xe=6,Se=.35,Ce=8,we=.1;function Te(e,t,n,r){let i=H(n),o=ae(n),c={a:P(t.a,i),flat:Math.hypot(P(t.u,i),P(t.v,i)),phi:Math.atan2(P(t.v,i),P(t.u,i))},l={a:P(t.a,o),flat:Math.hypot(P(t.u,o),P(t.v,o)),phi:Math.atan2(P(t.v,o),P(t.u,o))},u=e.length,d=[];for(let t=0;t<u-1;t++){let n=G(e,t+1)[0]-G(e,t)[0],r=G(e,t+1)[1]-G(e,t)[1],i=Math.hypot(n,r)||1;d.push([n/i,-r/i])}let f=ye(e),p=(t,n)=>{if(t<=0||t>=u-1||!G(e,t)[2])return n;let r=G(d,t-1),i=G(d,t),a=r[0]+i[0],o=r[1]+i[1],s=Math.hypot(a,o)||1;return[a/s,o/s]},m=(t,n)=>{let r=G(e,t)[0],i=G(e,t+1)[0],a=r+(i-r)*n,o=Math.sign(i-r)||1,s=f[t];if(s){let e=Math.hypot(1,s.slope(a));return[o/e,-o*s.slope(a)/e]}let c=p(t,G(d,t)),l=p(t+1,G(d,t)),u=c[0]+(l[0]-c[0])*n,m=c[1]+(l[1]-c[1])*n,h=Math.hypot(u,m)||1;return[u/h,m/h]},h=(r,i,o)=>{let[s,c]=G(e,r),[l,u]=G(e,r+1),d=s+(l-s)*i,p=f[r];return a(W(t,d,p?p.radius(d):c+(u-c)*i,o),n)},g=[[],[],[],[],[]],_=N/Math.max(24,Math.min(192,r*1.5)),v=(e,t,n,r)=>{let i=Math.max(1,Math.ceil((r-n)/_));return Array.from({length:i+1},(a,o)=>h(e,t,n+(r-n)*o/i))},y=(e,t)=>(((e.from+e.to)/2-t)%N+N)%N,b=(e,t)=>{let[n,r]=m(e,t),i=new Map,a=G(d,e);for(let e of _e(n,r,c,l,a[0],a[1])){let t=i.get(e.tone);t?t.push(e):i.set(e.tone,[e])}for(let e of i.values())e.sort((e,t)=>y(e,l.phi)-y(t,l.phi));return{i:e,u:t,groups:i}},x=(e,t)=>{if(e.groups.size!==t.groups.size)return!1;for(let[n,r]of e.groups)if((t.groups.get(n)??[]).length!==r.length)return!1;return!0},S=(e,t)=>{let n={...t},r=(e.from+e.to)/2;for(;(n.from+n.to)/2-r>Math.PI;)n.from-=N,n.to-=N;for(;r-(n.from+n.to)/2>Math.PI;)n.from+=N,n.to+=N;return n},C=(e,t,n)=>G(e.groups.get(t),n),w=(e,t,n,r)=>{let i=0;for(let[a,o]of n.groups)o.forEach((o,s)=>{let c=S(o,C(t,a,s)),l=S(o,C(r,a,s));for(let a of[`from`,`to`]){let s=h(e,n.u,o[a]),u=h(e,t.u,c[a]),d=h(e,r.u,l[a]);i=Math.max(i,Math.hypot(s[0]-(u[0]+d[0])/2,s[1]-(u[1]+d[1])/2))}});return i},T=(e,t)=>{let n=G(t,0),r=t.length-1,i=G(t,r);for(let[a,o]of n.groups.get(e).entries()){let c=[o];for(let n=1;n<t.length;n++)c.push(S(G(c,n-1),C(G(t,n),e,a)));let l=G(c,r),u=[...v(n.i,n.u,o.from,o.to)];for(let e=1;e<r;e++){let n=G(t,e);u.push(h(n.i,n.u,G(c,e).to))}u.push(...v(i.i,i.u,l.from,l.to).reverse());for(let e=r-1;e>=1;e--){let n=G(t,e);u.push(h(n.i,n.u,G(c,e).from))}G(g,e).push(s(he(u),!0))}},E=(e,t,n)=>{let r=t.groups.get(e)??[],i=(n.groups.get(e)??[]).map(e=>({arc:e,used:!1})),a=(r,i)=>{let a=[...v(t.i,t.u,r.from,r.to),...v(n.i,n.u,i.from,i.to).reverse()];G(g,e).push(s(he(a),!0))};for(let e of r){let t=null,n=-1/0;for(let r of i){if(r.used)continue;let i=S(e,r.arc),a=Math.min(e.to,i.to)-Math.max(e.from,i.from);a>n&&(n=a,t=r)}if(t&&n>-.05)t.used=!0,a(e,S(e,t.arc));else{let t=(e.from+e.to)/2;a(e,{from:t,to:t})}}for(let e of i){if(e.used)continue;let t=(e.arc.from+e.arc.to)/2;a({from:t,to:t},e.arc)}},D=U(n),O=[],k=()=>{let e=[...new Set(O.flatMap(e=>[...e.groups.keys()]))].sort((e,t)=>e-t);for(let t of e){let e=e=>(e.groups.get(t)??[]).length,n=0;for(let r=1;r<=O.length;r++)r<O.length&&e(G(O,r-1))===e(G(O,r))||(r-1>n&&e(G(O,n))&&T(t,O.slice(n,r)),r<O.length&&E(t,G(O,r-1),G(O,r)),n=r)}O=[]};for(let t=0;t<u-1;t++){let n=G(e,t+1)[0]-G(e,t)[0];if(Math.abs(n)<1e-9){k();continue}let r=Math.hypot(n,G(e,t+1)[1]-G(e,t)[1])*D/xe,i=Math.max(1,Math.min(Ce,Math.ceil(Math.log2(Math.max(2,r/we))))),a=Array.from({length:xe+1},(e,n)=>b(t,n/xe));O.push(G(a,0));let o=(e,n,r)=>{let a=b(t,(e.u+n.u)/2);if(!(r<i&&(!x(e,n)||!x(e,a)||r<6&&w(t,e,a,n)>Se))){O.push(n);return}o(e,a,r+1),o(a,n,r+1)};for(let e=1;e<=xe;e++)o(G(a,e-1),G(a,e),0)}return k(),g}var K=(e,t)=>e[t],Ee=e=>(e%N+N)%N,De=e=>Math.max(...e.map(([,e])=>e)),Oe=e=>e.some(e=>!!e[2]);function ke(e){let t=e.length,n=+(K(e,0)[1]<=1e-9),r=K(e,t-1)[1]<=1e-9?t-2:t-1,i=e.slice(n,r+1);for(let e=1;e<i.length;e++)if(K(i,e)[0]-K(i,e-1)[0]<=1e-9)return null;return i.length>=3?i:null}function Ae(e,t,n,r){let i=H(n),a=P(t.a,i),o=P(t.u,i),s=P(t.v,i),c=Math.atan2(s,o),l=Math.hypot(o,s)||1e-9,u=K(e,0)[0],d=K(e,e.length-1)[0],f=t=>{let n=1;for(;n<e.length-1&&K(e,n)[0]<t;)n++;let[r,i]=K(e,n-1),[a,o]=K(e,n);return i+(o-i)*(t-r)/(a-r||1)},p=e=>{let n=[];for(let i=0;i<=r;i++){let o=u+(d-u)*i/r,s=(d-u)/r/2||.01,p=(f(Math.min(d,o+s))-f(Math.max(u,o-s)))/(Math.min(d,o+s)-Math.max(u,o-s)||1)*a/l;Math.abs(p)>1||n.push(W(t,o,f(o),c+e*Math.acos(p)))}return n};return[p(1),p(-1)]}function je(e,t,n){let r=H(n),i=P(t.a,r),o=Math.atan2(P(t.v,r),P(t.u,r)),[c,l]=Ae(e,t,n,96);if(c.length<=96||l.length<=96)return null;let u=K(e,0)[0],d=K(e,e.length-1)[0],f=e=>le(t,I(e,F(t.o,L(t.a,P(I(e,t.o),t.a))))),p=(e,r,i,o,s)=>{let c=Ee(o-i);Ee(s-i)>c&&(c-=N);let l=Math.max(4,Math.ceil(Math.abs(c)/(N/96)),Math.ceil(Math.abs(c)*r*U(n)/1.5));return Array.from({length:l+1},(o,s)=>a(W(t,e,r,i+c*s/l),n))},m=K(e,0)[1],h=K(e,e.length-1)[1],g=-i>0?o+Math.PI:o,_=i>0?o+Math.PI:o,v=c.map(e=>a(e,n)),y=l.map(e=>a(e,n)),b=p(d,h,f(K(c,c.length-1)),f(K(l,l.length-1)),_),x=p(u,m,f(K(l,0)),f(K(c,0)),g),S=s([...v,...b,...[...y].reverse(),...x],!0),C=[s(v),s(y),s(b),s(x)].join(``),w=de([...p(u,m,0,N-1e-6,Math.PI),...p(d,h,0,N-1e-6,Math.PI),...v,...y]),T=0;for(let e of[...v,...y]){let t=1/0;for(let n=0;n<w.length;n++){let r=K(w,n),i=K(w,(n+1)%w.length),a=i[0]-r[0],o=i[1]-r[1],s=Math.max(0,Math.min(1,((e[0]-r[0])*a+(e[1]-r[1])*o)/(a*a+o*o||1)));t=Math.min(t,Math.hypot(e[0]-r[0]-a*s,e[1]-r[1]-o*s))}T=Math.max(T,t)}return{fill:S,outline:C,gap:T}}function Me(e,t,n,r,i){let o=i?ye(e):null,c=o?.some(Boolean)?be(e,n,o):e,l=ke(c),u=l?je(l,t,n):null;if(u&&u.gap>.5)return{fill:u.fill,outline:u.outline};let d=Math.min(320,Math.max(r,Math.ceil(N*De(c)*U(n)/1.5))),f=[];for(let[e,r]of c)for(let i=0;i<d;i++)f.push({p:a(W(t,e,r,i/d*N),n)});let p=s(ue(f).map(({p:e})=>e),!0);return{fill:p,outline:p}}function Ne(e,t,n,r=pe(De(e),32,160,U(n))){let i=Oe(e),o=H(n),c=ae(n),l=P(t.a,o),u=P(t.u,o),d=P(t.v,o),f=P(t.a,c),p=P(t.u,c),m=P(t.v,c),h=r,g=e.length,_=e.map(([e,r])=>Array.from({length:h},(i,o)=>a(W(t,e,r,o/h*N),n))),v=[],y=[];for(let e=0;e<h;e++){let t=(e+.5)/h*N;v.push(Math.cos(t)),y.push(Math.sin(t))}let b=[],x=[];for(let t=0;t<g-1;t++){let n=K(e,t+1)[0]-K(e,t)[0],r=K(e,t+1)[1]-K(e,t)[1],i=Math.hypot(n,r),a=[],o=[];for(let e=0;e<h;e++){if(i<1e-9){a.push(!1),o.push(0);continue}let t=K(v,e),s=K(y,e);a.push(n*(t*u+s*d)-r*l>1e-6*i),o.push(oe((n*(t*p+s*m)-r*f)/i))}b.push(a),x.push(o)}let S=[[],[],[],[],[]],C=i?Te(e,t,n,r):null;for(let[e,t]of(C??[]).entries())K(S,e).push(...t);for(let t=0;t<g-1;t++){if(C&&Math.abs(K(e,t+1)[0]-K(e,t)[0])>1e-9)continue;let n=K(b,t).map((e,n)=>e?K(K(x,t),n):null);for(let{key:e,run:r}of fe(n)){let n=r.map(e=>K(K(_,t),e)),i=r.map(e=>K(K(_,t+1),e)).reverse();K(S,e).push(s(he([...n,...i]),!0))}}let w=Math.atan2(d,u),T=Math.hypot(u,d),E=t=>{let n=K(e,t+1)[0]-K(e,t)[0],r=K(e,t+1)[1]-K(e,t)[1];if(Math.hypot(n,r)<1e-9)return null;if(Math.abs(n)<1e-9||T<1e-9)return-r*l>1e-9?[-1,1]:null;let i=r*l/(n*T);return n>0?[Math.max(-1,i),1]:[-1,Math.min(1,i)]},D=e=>{let t=e.filter(e=>e!==null);if(t.length<e.length)return[];let n=Math.max(...t.map(([e])=>e)),r=Math.min(...t.map(([,e])=>e));if(n>=r-1e-9)return[];let i=Math.acos(Math.min(1,r)),a=Math.acos(Math.max(-1,n));return r>=1&&n<=-1?[[w,w+N]]:r>=1?[[w-a,w+a]]:n<=-1?[[w+i,w+N-i]]:[[w+i,w+a],[w-a,w-i]]},O=[];for(let r=1;r<g-1;r++){let[i,o,c]=K(e,r);if(!(c||o<=1e-9))for(let[e,c]of D([E(r-1),E(r)])){let r=Math.max(2,Math.ceil((c-e)*Math.max(o,1e-6)*U(n)/1.5));O.push(s(Array.from({length:r+1},(s,l)=>a(W(t,i,o,e+(c-e)*l/r),n))))}}let{fill:k,outline:A}=Me(e,t,n,h,i);return{fill:k,outline:A,crease:O.join(``),top:K(S,4).join(``),shades:S.slice(0,4).map(e=>e.join(``)),seamless:!!C}}var Pe=(e,t,n,r,i)=>Ne([[e,0],[e,n],[t,n],[t,0]],r,i,pe(n,32,160,U(i)));function Fe(e,t,n){let r=K(e,0),i=K(e,e.length-1);return Ne([[r[0],0],...e,[i[0],0]],t,n,pe(De(e),32,160,U(n)))}var Ie=t({add3:()=>F,arcOf:()=>Re,cross3:()=>B,cut:()=>J,disc:()=>Pe,dot3:()=>P,dotsOf:()=>Be,fillet:()=>Ve,frameAlong:()=>se,len3:()=>R,mul3:()=>L,pathLength:()=>Ue,pointAlong:()=>We,resample:()=>He,ribsOf:()=>ze,scaleOf:()=>U,solidOf:()=>Fe,sub3:()=>I,unit3:()=>z,viewOf:()=>H}),q=(e,t)=>e[t],Le=(e,[t,n])=>{let r=Math.max(0,Math.min(1,(e-t)/(n-t||1e-9)));return r*r*(3-2*r)};function Re(e,t,n,r,{slope:i=0,steps:o=0,least:c=.02,inward:l=!1,from:u=0,to:d=N,trim:f=.3}={}){let p=H(r),m=P(e.a,p),h=P(e.u,p),g=P(e.v,p),_=Math.hypot(h,g),v=Math.atan2(g,h),y=Math.hypot(1,i),b=Math.abs(d-u-N)<1e-9,x;if(_<1e-9)x=(l?i*m/y>c:-i*m/y>c)?[[v,v+N]]:[];else if(l){let e=(i*m-c*y)/_;x=e<=-1?[]:e>=1?[[v,v+N]]:[[v+Math.acos(e),v+N-Math.acos(e)]]}else{let e=(c*y+i*m)/_;x=e>=1?[]:e<=-1?[[v,v+N]]:[[v-Math.acos(e),v+Math.acos(e)]]}let S=i=>a(W(e,t,n,i),r),C=e=>{let t=S(e-.001),n=S(e+.001);return Math.hypot(n[0]-t[0],n[1]-t[1])/.002},w=e=>Math.max(2,Math.ceil((o||pe(n,24,112))*e/N),Math.ceil(e*n*U(r)/1.5)),T=[];for(let[e,t]of x){if(t-e>=N-1e-9&&b){let e=w(N);T.push(s(Array.from({length:e},(t,n)=>S(u+n/e*N)),!0));continue}let n=b?[[e,t,!0,!0]]:[];if(!b)for(let r=-2;r<=2;r++){let i=Math.max(e+r*N,u),a=Math.min(t+r*N,d);a-i>1e-6&&n.push([i,a,i>u+1e-9,a<d-1e-9])}for(let[e,t,r,i]of n){let n=t-e,a=r&&f>0?Math.min(n*.25,f/(C(e)||1)):0,o=i&&f>0?Math.min(n*.25,f/(C(t)||1)):0,c=e+a,l=t-o,u=w(l-c);T.push(s(Array.from({length:u+1},(e,t)=>S(c+(l-c)*t/u))))}}return T.join(``)}function ze(e,t,n,r,i,o,{phase:c=0,twist:l=0,r1:u=r,fade:d,seams:f=!1}){let p=H(o),m=[],h=(u-r)/(n-t||1);for(let f=0;f<i;f++){let g=c+f/i*N,_=ce(e,g+l/2),v=P(z([_[0]-h*e.a[0],_[1]-h*e.a[1],_[2]-h*e.a[2]]),p),y=s([a(W(e,t,r,g),o),a(W(e,n,u,g+l),o)]),b=Le(v,d);b>.02&&m.push({d:y,alpha:b})}let g=f?[f===`last`?``:Re(e,t,r,o,{slope:h}),f===`first`?``:Re(e,n,u,o,{slope:h})].filter(Boolean):[];return[...m,...g.map(e=>({d:e,alpha:1}))]}function Be(e,t,n,r,i,{phase:o=0,slope:s=0,least:c=.08,all:l=!1,fade:u=null}={}){let d=H(i),f=[];for(let p=0;p<r;p++){let m=o+p/r*N,h=1;if(!l){let t=ce(e,m),n=P(z([t[0]-s*e.a[0],t[1]-s*e.a[1],t[2]-s*e.a[2]]),d);if(u)h=Le(n,u);else if(n<c)continue;if(h<=.02)continue}let[g,_]=a(W(e,t,n,m),i);f.push(h<1?[g,_,h]:[g,_])}return f}function Ve(e,t,n=7,{P:r=null,tube:i=0,margin:a=1.3}={}){if(e.length<3)return e.map(e=>[e[0],e[1],e[2]]);let o=r&&i?H(r):null,s=e=>[e[0],e[1],e[2]],c=[s(q(e,0))];for(let r=1;r<e.length-1;r++){let l=q(e,r-1),u=q(e,r),d=q(e,r+1),f=z(I(u,l)),p=z(I(d,u)),m=Math.max(-1,Math.min(1,P(f,p))),h=Math.acos(m);if(h<.001){c.push(s(u));continue}let g=Math.min(R(I(u,l)),R(I(d,u)))*.48,_=o?Math.abs(P(z(B(f,p)),o)):1,v=o?Math.max(t,a*i/(.7*Math.max(.05,_)**2)):t,y=Math.min(v*Math.tan(h/2),g),b=I(u,L(f,y)),x=F(u,L(p,y)),S=Math.max(2,Math.ceil(n*h/(Math.PI/2)));for(let e=0;e<=S;e++){let t=e/S;c.push(V(V(b,u,t),V(u,x,t),t))}}return c.push(s(q(e,e.length-1))),c}function He(e,t){let n=[0];for(let t=1;t<e.length;t++)n.push(q(n,t-1)+R(I(q(e,t),q(e,t-1))));let r=q(n,n.length-1),i=Math.max(1,Math.round(r/t)),a=[],o=1;for(let t=0;t<=i;t++){let s=r*t/i;for(;o<e.length-1&&q(n,o)<s;)o++;let c=q(e,o-1),l=q(e,o),u=q(n,o)-q(n,o-1)||1;a.push(V(c,l,Math.min(1,Math.max(0,(s-q(n,o-1))/u))))}return a}function Ue(e){let t=0;for(let n=1;n<e.length;n++)t+=R(I(q(e,n),q(e,n-1)));return t}function J(e,t,n){let r=[],i=0;for(let a=1;a<e.length;a++){let o=q(e,a-1),s=q(e,a),c=R(I(s,o)),l=i,u=i+c;if(u>=t&&l<=n){let e=Math.max(0,(t-l)/(c||1)),i=Math.min(1,(n-l)/(c||1));r.length||r.push(V(o,s,e)),r.push(V(o,s,i))}i=u}return r}var We=(e,t)=>J(e,t,t+.01)[0]??q(e,e.length-1),Ge=(()=>{let e=Math.hypot(-.55,-.835);return[-.55/e,-.835/e]})(),Ke=(e,t=!0)=>s(e,t),Y=(e,t)=>e[t],qe=e=>e.reduce((t,[n,r],i)=>{let[a,o]=Y(e,(i+1)%e.length);return t+n*o-a*r},0);function Je(e){let t={left:[],right:[],shineA:[],shineB:[],shadeA:[],shadeB:[]};for(let{p:n,nx:r,ny:i,half:a}of e){t.left.push([n[0]+r*a,n[1]+i*a]),t.right.push([n[0]-r*a,n[1]-i*a]);let e=r*Ge[0]+i*Ge[1],o=a*.44*e,s=a*.24;t.shineA.push([n[0]+r*(o+s),n[1]+i*(o+s)]),t.shineB.push([n[0]+r*(o-s),n[1]+i*(o-s)]);let c=-a*.62*e,l=a*.2;t.shadeA.push([n[0]+r*(c+l),n[1]+i*(c+l)]),t.shadeB.push([n[0]+r*(c-l),n[1]+i*(c-l)])}return t}function Ye(e,t,n,r){let i=(e,t)=>{for(let i=0;i<n.flat.length;i++){if(Math.abs(Y(n.along,i)-t)<=r)continue;let a=Y(n.flat,i);if(Math.hypot(e[0]-a[0],e[1]-a[1])<Y(n.half,i)*.9)return!0}return!1},a=``,o=[];return e.forEach((e,n)=>{i(e,Y(t,n))?(o.length>1&&(a+=s(o)),o=[]):o.push(e)}),o.length>1&&(a+=s(o)),a}function Xe(e,t,n,r,i){let o=B(t,H(i));R(o)<1e-6&&(o=se([0,0,0],t).u),o=z(o);let s=z(B(t,o)),c=Array.from({length:28},(t,r)=>{let c=r/28*Math.PI*2;return a(F(e,F(L(o,n*Math.cos(c)),L(s,n*Math.sin(c)))),i)}),l=a(e,i),u=a(F(e,s),i),d=(u[0]-l[0])*r[0]+(u[1]-l[1])*r[1]>0?28/2:0,f=e=>Array.from({length:15},(t,n)=>Y(c,(e+n)%28));return{ring:c,arc:f(d),inner:f((d+28/2)%28)}}function Ze(e,t,n,r,i,a){let o=e=>(e[0]-t[0])*n+(e[1]-t[1])*r,s=e.map(o),c=Math.min(i,a),l=Math.max(i,a),u=[],d=(t,n)=>{let r=(n-Y(s,t))/(Y(s,t+1)-Y(s,t)||1e-9),i=Y(e,t),a=Y(e,t+1);return[i[0]+(a[0]-i[0])*r,i[1]+(a[1]-i[1])*r]};for(let t=0;t<e.length;t++){let n=Y(s,t);if(n>=c&&n<=l&&u.push(Y(e,t)),t<e.length-1)for(let e of[c,l])(n-e)*(Y(s,t+1)-e)<0&&u.push(d(t,e))}return u.map(e=>[e,o(e)]).sort((e,t)=>i>a?t[1]-e[1]:e[1]-t[1]).map(([e])=>e)}function Qe(e,t,n,r,i){let a=t.map(([t,n])=>[Math.max(0,Math.min(t,n)),Math.min(e,Math.max(t,n))]).filter(([e,t])=>t-e>1e-6).sort((e,t)=>e[0]-t[0]),o=[],s=0;for(let[e,t]of a)e>s+1e-6&&o.push([s,e,s>0,!0]),s=Math.max(s,t);let c=a[a.length-1];e>s+1e-6&&o.push([s,e,s>0,a.length>0&&c[1]>=e-1e-6]);let l=[];for(let[e,t,i,a]of o){let o=[e,...n.filter(n=>n>e+1e-6&&n<t-1e-6).sort((e,t)=>e-t),t];for(let e=0;e<o.length-1;e++){let t=Y(o,e),n=Y(o,e+1),s=Math.max(1,Math.ceil((n-t)/r-1e-9));for(let r=0;r<s;r++)l.push({from:t+(n-t)*r/s,to:t+(n-t)*(r+1)/s,open0:!(e===0&&r===0),open1:!(e===o.length-2&&r===s-1),gap0:e===0&&r===0&&i,gap1:e===o.length-2&&r===s-1&&a})}}let u=l[0],d=l[l.length-1];return i&&!a.length&&u&&d&&(u.open0=!0,d.open1=!0),l}function $e(e,t,n,{maxLength:r=30,spacing:i=2.2,closed:o=!1,breaks:c=[],gaps:l=[],caps:u=!0,stripes:d=`auto`}={}){let f=He(e,i),p=Ue(f),m=typeof t==`function`?t:()=>t,h=U(n),g=d===`auto`?Math.max(...Array.from({length:33},(e,t)=>m(t/32)))*h>1.3:!!d,_=.5,v=[],y=o&&!l.length,b=e=>y?(e%p+p)%p:Math.max(0,Math.min(p,e)),x=Math.max(.05,Math.min(i,p/4)*.5),S=(e,t,r)=>{let i=a(We(f,b(e-x)),n),o=a(We(f,b(e+x)),n),s=o[0]-i[0],c=o[1]-i[1],l=Math.hypot(s,c)||1;return s/=l,c/=l,{p:t,nx:-c,ny:s,half:r}},C=(e,t)=>{let r=J(f,Math.max(0,e),Math.min(p,t));y&&e<0&&(r=[...J(f,p+e,p),...r.slice(1)]),y&&t>p&&(r=[...r,...J(f,0,t-p).slice(1)]);let i=y?e:Math.max(0,e),o=r.map((e,t)=>(t>0&&(i+=R(I(e,Y(r,t-1)))),i)),s=r.map(e=>a(e,n)),c=o.map(e=>m(y?b(e)/p:Math.min(1,Math.max(0,e/p)))*h),l=s.map((e,t)=>S(Y(o,t),e,Y(c,t)));return{points:r,flat:s,widths:c,frames:l,along:o}},w=C(0,p),T={flat:w.flat,half:w.widths,along:w.along},E=Math.max(...w.widths)/h*1.5,D=Array.isArray(u)?u:[!!u,!!u];for(let e of Qe(p,l,c,r,o)){let t=e.open0&&(e.from>0||y),r=e.open1&&(e.to<p||y),i=C(t?e.from-_:e.from,r?e.to+_:e.to);if(i.points.length<2)continue;let a=t||r?C(t?e.from-2*_:e.from,r?e.to+2*_:e.to):i,{points:o,flat:c,widths:l,frames:u,along:d}=i,m=Je(u),b=a===i?m:Je(a.frames),x=Ke([...m.left,...m.right.slice().reverse()]),S=y?s(m.left)+s(m.right):Ye(m.left,d,T,E)+Ye(m.right,d,T,E),w=[!e.open0&&!y&&(e.from<=1e-6||e.gap0),!e.open1&&!y&&(e.to>=p-1e-6||e.gap1)],O=[w[0]&&(e.gap0||D[0]),w[1]&&(e.gap1||D[1])],k=Math.sign(qe([...m.left,...m.right.slice().reverse()])),A=[null,null];[0,1].forEach(e=>{if(!O[e])return;let t=e?o.length-1:0,r=e?o.length-2:1,i=z(I(Y(o,e?t:r),Y(o,e?r:t))),a=e?i:L(i,-1),d=[Y(c,r)[0]-Y(c,t)[0],Y(c,r)[1]-Y(c,t)[1]],{ring:f,arc:p,inner:m}=Xe(Y(o,t),i,Y(l,t)/h,d,n),g=Math.sign(qe(f))===k?f:f.slice().reverse();x+=Ke(g),S+=s(p);let _=P(a,H(n))>0;_&&(S+=s(m)),A[e]={half:_?m:p,frame:Y(u,t)}});let ee=(e,t,n)=>{let[r,i]=A,a=i?Ze(...et(i,n,!1)):[],o=r?Ze(...et(r,n,!0)):[];return Ke([...e,...a,...t.slice().reverse(),...o])},j=({nx:e,ny:t})=>e*Ge[0]+t*Ge[1];v.push({mid:We(f,(e.from+e.to)/2),body:x,shine:ee(b.shineA,b.shineB,e=>[e.half*.44*j(e)+e.half*.24,e.half*.44*j(e)-e.half*.24]),shade:ee(b.shadeA,b.shadeB,e=>[-e.half*.62*j(e)+e.half*.2,-e.half*.62*j(e)-e.half*.2]),edges:S,wide:g,points:o,radii:l.map(e=>e/h),ends:w,from:e.from,to:e.to})}return v}function et(e,t,n){let[r,i]=t(e.frame);return[e.half,e.frame.p,e.frame.nx,e.frame.ny,n?i:r,n?r:i]}function tt(e,{tone:t=`hi`}={}){let n=e.wide?`<path class="tb-shine" d="${e.shine}"/><path class="tb-shade" d="${e.shade}"/>`:``;return`<g class="tb"><path class="tb-body" d="${e.body}"/>${n}<path class="iso-line tb-edge" data-tone="${t}" d="${e.edges}"/></g>`}var nt=e(n(),1),rt=r();function it(e,t){let n=[];for(let r=1;r<t.length;r++){let i=t[r-1],a=t[r],o=[a[0]-i[0],a[1]-i[1],a[2]-i[2]],s=Math.hypot(...o);if(!s)continue;let c=Math.max(0,Math.min(1,((e[0]-i[0])*o[0]+(e[1]-i[1])*o[1]+(e[2]-i[2])*o[2])/s**2));Math.hypot(i[0]+o[0]*c-e[0],i[1]+o[1]*c-e[1],i[2]+o[2]*c-e[2])<.05&&n.push([o[0]/s,o[1]/s,o[2]/s])}return n}function at(e,t){let n=[t[0]-e[0],t[1]-e[1],t[2]-e[2]],r=Math.hypot(...n)||1;return[n[0]/r,n[1]/r,n[2]/r]}function ot(e,t){for(let n=1;n<t.length;n++){let r=t[n-1],i=t[n],a=[i[0]-r[0],i[1]-r[1],i[2]-r[2]],o=a[0]**2+a[1]**2+a[2]**2,s=o?Math.max(0,Math.min(1,((e[0]-r[0])*a[0]+(e[1]-r[1])*a[1]+(e[2]-r[2])*a[2])/o)):0;if(Math.hypot(r[0]+a[0]*s-e[0],r[1]+a[1]*s-e[1],r[2]+a[2]*s-e[2])<.1)return!0}return!1}function st(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n,e[2]+(t[2]-e[2])*n]}function ct(e,t,n){let r=[],i=0,a=n(e);for(let o=1;o<=16;o++){let s=o/16,c=n(st(e,t,s));if(c!==a){let[o,c]=[i,s];for(let r=0;r<24;r++){let r=(o+c)/2;n(st(e,t,r))===a?o=r:c=r}r.push([o,c])}[i,a]=[s,c]}return r}function lt(e,t,n){let{G:r,P:i,S:a,cyl:o}=e,{routes:s,posts:c,z:l,flowFromY:u=-1/0,flowAloftBeforeY:d=-1/0}=t,{slot:f,glide:p}=typeof n==`number`?{slot:(e,t)=>t&&e[1]>=n?1:0,glide:e=>e[1]>u&&e[1]<n-2&&(e[2]<3||e[1]<d)}:{slot:e=>n.layer(e),glide:n.glide},m=e=>e.flatMap((t,n)=>{let r=e[n-1];return r?[...ct(r,t,p).map(([e,n])=>st(r,t,p(st(r,t,e))?e:n)),t]:[t]}),h=e=>{let t=[],n=0;return e.forEach((r,i)=>{let a=e[i-1];if(!a)return;let o=Math.hypot(r[0]-a[0],r[1]-a[1],r[2]-a[2]);for(let[e,i]of ct(a,r,e=>f(e,!0)))t.push(n+o*((e+i)/2));n+=o}),t},g=[[]],_=(e,t,n=!1)=>{for(;g.length<=e;)g.push([]);n?g[e]?.unshift(t):g[e]?.push(t)};for(let[e,t,n,r=l,i=-14]of c)_(f([e,t,Math.max(i,0)],!1),o(e,t,2.6,i,1,{tone:`lo`},18)+o(e,t,.9,i+1,r-n-2-i,{tone:`mid`,crease:`none`},12)+o(e,t,1.8,r-n-1,1,{tone:`mid`},16));let v=[],y=(e,t)=>{let n=e.pts.length,r=e.pts[t?n-1:0],i=at(r,e.pts[t?n-2:1]),a=0;for(let t of s)if(t!==e)for(let e of it(r,t.pts)){if(Math.abs(e[0]*i[0]+e[1]*i[1]+e[2]*i[2])>.99)return{kind:`on`};a=Math.max(a,t.r)}return a?{kind:`tee`,run:a}:{kind:`free`}},b=new Map(s.map(e=>[e,[y(e,0),y(e,1)]])),x=s.flatMap(e=>[0,1].flatMap(t=>b.get(e)?.[t].kind===`tee`?[e.pts[t?e.pts.length-1:0]]:[])),S=e=>f(x.find(t=>ot(t,e.points))??e.mid,!0);for(let e of s){let n=b.get(e),o=[!e.fromStub&&n[0].kind===`free`,n[1].kind===`free`],s=[...e.pts],c=[n[0].kind===`tee`,n[1].kind===`tee`],l=r.fillet(s,e.bend??4.5,8,{P:i,tube:e.r}),u=$e(l,e.r,i,{maxLength:24,caps:o,breaks:h(l)}),d=t=>`<g class="sf-pipe" data-medium="${e.medium}" data-route="${e.id}">${t}</g>`;if(t.flanged)for(let t of[0,1]){let n=t?u[u.length-1]:u[0];if(!n||!o[t]||e.bare?.[t]||e.blind?.[t])continue;let s=l[t?l.length-1:0],c=l[t?l.length-2:1],p=r.frameAlong(s,[c[0]-s[0],c[1]-s[1],c[2]-s[2]]);_(f(n.mid,!0),d(a(r.disc(0,1.6,e.r+2,p,i),{tone:`mid`})))}u.forEach((t,n)=>{let r=[0,1].filter(e=>n===(e?u.length-1:0)),i=S(t);_(i,`${d(tt(t,{tone:`mid`}))}<g data-fl="${e.id}" data-fs="${i}"></g>`,r.some(e=>c[e]))});for(let t of[0,1]){let n=t?u[u.length-1]:u[0];if(!n||!e.blind?.[t])continue;let o=l[t?l.length-1:0],s=l[t?l.length-2:1],c=r.frameAlong(o,[s[0]-o[0],s[1]-o[1],s[2]-o[2]]);_(f(n.mid,!0),d(a(r.disc(-1.2,1.6,e.r+2,c,i),{tone:`mid`})),M(o,i)<M(s,i))}let g=m(l).filter(p);v.push({id:e.id,medium:e.medium,r:e.r,path:g,reverse:e.reverse??!1,capped:[o[0]&&g[0]===l[0],o[1]&&g.at(-1)===l.at(-1)],slots:u.map(e=>[e.to,S(e)])})}for(let t of s){let n=null;for(let e=1;e<t.pts.length;e++){let r=t.pts[e-1],i=t.pts[e],a=Math.hypot(i[0]-r[0],i[1]-r[1],i[2]-r[2]);r[2]<3&&i[2]<3&&(!n||a>n.len)&&(n={a:r,b:i,len:a})}if(!n)continue;let r=[(n.b[0]-n.a[0])/n.len,(n.b[1]-n.a[1])/n.len,0];t.reverse&&(r=[-r[0],-r[1],-r[2]]);let a=[-r[1],r[0],0];for(let o of[.3,.62]){let s=[n.a[0]+(n.b[0]-n.a[0])*o,n.a[1]+(n.b[1]-n.a[1])*o,n.a[2]+(n.b[2]-n.a[2])*o];s[2]+=t.r*.98;let c=(t,n)=>e.k.iso([s[0]+r[0]*t+a[0]*n,s[1]+r[1]*t+a[1]*n,s[2]],i),l=[c(1.8,0),c(-1.2,t.r*.75),c(-.4,0),c(-1.2,-t.r*.75)];_(f(s,!1),`<path class="sf-chevron" d="M${l.map(([e,t])=>`${e.toFixed(2)} ${t.toFixed(2)}`).join(`L`)}Z"/>`)}}let C=new Map;for(let t of s)t.pts.forEach((n,r)=>{let[a,o]=e.k.iso(n,i),s=r===0?`start`:r===t.pts.length-1?`end`:`bend${r}`,c=`${Math.round(a/3)},${Math.round(o/3)}`;C.has(c)||C.set(c,{name:`${t.id}-${s}`,x:a,y:o})});let w=g.map(e=>e.join(``));return typeof n==`number`?{off:w[0]??``,on:w[1]??``,layers:[],flows:v,joints:[...C.values()]}:{off:w[0]??``,on:``,layers:w,flows:v,joints:[...C.values()]}}function ut(e){let t=t=>a(t,e),n=(e,t)=>te(e,t),r=(e,t)=>m(e,t),p=(e,t)=>l(e,t),g=(t,r,i,a={tone:`mid`},o=3,s=.5)=>n(c(t,r,i,e,o,s),a),v=(t,r,i,a,o,s={tone:`mid`},c=28)=>n(A(t,r,i,a,o,e,c),s),y=t=>[...t].sort((t,n)=>M([t[0],t[1],0],e)-M([n[0],n[1],0],e)),b=t=>u([0,t],0,e,`left`),x=(e,n)=>p(e.map(([e,r])=>t([e,r,n])),{size:.45}),C=(e,t,n,r,a)=>s(i({x:e,y:t,w:n-e,d:r-t,r:a},4).map(([e,t])=>[e,-t]),!0);function w(r,i,a){let o=r.x+r.w/2,l=r.y+r.d/2,u=Math.min(r.w,r.d)*.2;return n(c(r,i,a,e,2,.3),{tone:`hi`,lit:!0})+`<path class="sf-bore" d="${s(S(o,l,u,20).map(([e,n])=>t([e,n,i+a])),!0)}"/>`}function E(e,t,n,r,i,a){let o=C(n,i,r,a,1.2),s=`<path class="sf-hmi-head" d="M${n} ${-a}H${r}V${-(a-2.6)}H${n}Z"/><path class="sf-hmi-tick" d="M${n+1.6} ${-(a-1.3)}H${n+Math.min(10,(r-n)*.4)}"/>`,c=[.33,.66].map(e=>`<path class="sf-hmi-grid" d="M${n+1.4} ${-(i+3.4+(a-i-6.6)*e)}H${r-1.4}"/>`).join(``),l=`<path class="sf-spark-fill" data-spark-fill="${e}" d=""/><path class="sf-spark" data-spark="${e}" data-box="${n+1.4},${r-1.4},${i+3.4},${a-3.4}" d=""/>`,u=`<path class="sf-bar-track" d="M${n+1.4} ${-(i+2.2)}H${r-1.4}V${-(i+1.2)}H${n+1.4}Z"/><path class="sf-bar" data-bar="${e}" data-x="${n+1.4},${r-1.4},${i+1.2},${i+2.2}" d=""/>`,d=`<circle class="sf-hmi-dot" data-state-dot="${e}" cx="${r-1.6}" cy="${-(a-1.3)}" r="0.75"/>`;return`<g transform="${b(t)}"><clipPath id="clip-${e}"><path d="${o}"/></clipPath><path class="sf-hmi" d="${o}"/><g clip-path="url(#clip-${e})">${s}${c}${l}${u}${d}</g><path class="iso-line" data-tone="lo" d="${o}"/></g>`}function D(e,n,r,i){let a=[`<path class="sf-glow" data-glow="${e}" d="${s(S(n,r,9,40).map(([e,n])=>t([e,n,i])),!0)}"/>`,v(n,r,2.6,i,1.4,{tone:`mid`},20),v(n,r,1,i+1.4,3,{tone:`mid`,crease:`none`},14)];return[`g`,`a`,`r`].reverse().forEach((t,o)=>{a.push(`<g class="sf-lamp" data-andon="${e}" data-c="${t}">${v(n,r,2.4,i+4.4+o*3.6,3.6,{tone:`mid`},20)}</g>`)}),a.push(v(n,r,2.6,i+15.2,1,{tone:`mid`},20)),a.join(``)}function O(t,i=10){let a=[`<path class="iso-halo" d="${j(t,-i-4,i,e)}"/>`];for(let[e,n]of y(_(t,18)))a.push(v(e,n,6,-i-4,1.4,{tone:`lo`}),v(e,n,4.6,-i-2.6,2.6,{tone:`mid`}));a.push(n(c(t,-i,i,e,8,1.4),{tone:`mid`})),a.push(r(o(h(t,5),0,e,8),{tone:`lo`}));let s=_(t,10);return a.push(r(s.map(([t,n])=>T(t,n,2,0,e,16)).join(``),{tone:`lo`}),x(s,0)),a.join(``)}function k(t,n,i,a,s=5){let c=Math.ceil(a/s),l={x:n,y:i,w:s*7+4,d:c*12+4,r:1.5},u=[g(l,0,5,{tone:`mid`},3,.4)],d=[];for(let e=0;e<a;e++){let t=e%s,r=Math.floor(e/s);d.push({i:e,plan:{x:n+2+t*7+.6,y:i+2+r*12+.6,w:5.8,d:10.8,r:.6}})}u.push(r(d.map(t=>o(t.plan,5,e,2)).join(``),{tone:`faint`}));let f=[...d].sort((t,n)=>M([t.plan.x,t.plan.y,0],e)-M([n.plan.x,n.plan.y,0],e));for(let e of f)u.push(`<g class="sf-part" data-slot="${t}:${e.i}">${w(h(e.plan,.8),5,4)}</g>`);return u.push(x([[l.x+1.4,l.y+1.4],[l.x+l.w-1.4,l.y+1.4]],5)),u.join(``)}function ne(t,i,a,o,s=20){let c=[],l=[],u={x:t,y:a-3,w:i,d:3,r:.8},f={x:t,y:a+o,w:i,d:3,r:.8};for(let e of[t+5,t+i-8])c.push(g({x:e,y:a-2.5,w:3,d:3,r:.6},0,s,{tone:`mid`},2,0));c.push(g({x:t+5,y:a-2.5,w:i-10,d:2,r:.4},4,2,{tone:`lo`},2,0)),c.push(g(u,s-2,6,{tone:`mid`},2,.3));let p=t=>n(Pe(0,o,1.5,se([t,a,s-.5],[0,1,0]),e),{tone:`mid`});c.push(p(t+2.5));let m=g({x:t+1,y:a,w:i-2,d:o,r:1},s-2,3,{tone:`lo`,crease:`faint`},3,0)+p(t+i-2.5);l.push(g(f,s-2,6,{tone:`mid`},2,.3));for(let e of[t+5,t+i-8])l.push(g({x:e,y:a+o+.5,w:3,d:3,r:.6},0,s-2,{tone:`mid`},2,0));l.push(g({x:t+5,y:a+o+1,w:i-10,d:2,r:.4},4,2,{tone:`lo`},2,0)),l.push(x([[t+4,a+o+1.5],[t+i/2,a+o+1.5],[t+i-4,a+o+1.5]],s+4));let h=[];for(let n=t+6;n<=t+i-6;n+=6)h.push(d([n,a+o+3,s+1],.7,`y`,e));return l.push(r(h.join(``),{tone:`lo`})),{back:c.join(``),belt:m,front:l.join(``),top:s+1}}function N(t,n,i,o,c=8){let l=o+4,u=f(n,i,c*.78,c>5?40:16,c>5?5:4,l,[c*.12,c*.27],e,-Math.PI*.75,Math.PI*1.5);return[v(n,i,c,o,4,{tone:`mid`,crease:`lo`},48),`<path class="sf-dial-face" d="${s(S(n,i,c*.86,48).map(([t,n])=>a([t,n,l],e)),!0)}"/>`,r(T(n,i,c*.82,l,e,48),{tone:`lo`}),r(u.minor,{tone:`lo`}),r(u.major,{tone:`mid`}),r(T(n,i,1,l,e,12),{tone:`mid`}),`<path class="iso-line sf-needle" data-tone="lit" data-free="start" data-needle="${t}" data-at="${n},${i},${l},${c}" d=""/>`].join(``)}function re(e,t,n,r,i){let a=C(t,n,t+r,n+i,.6),o=[.62,.3].map((e,a)=>`<path class="iso-line" data-tone="lo" data-free="" d="M${t+2.4} ${-(n+i*e)}H${t+r*(a?.55:.8)}"/>`).join(``);return`<g transform="${b(e)}"><path class="sf-plate" d="${a}"/>${o}<path class="iso-line" data-tone="lo" d="${a}"/><circle class="sf-screw" cx="${t+r-1.2}" cy="${-(n+i/2)}" r="0.4"/></g>`}return{k:ee,G:Ie,P:e,at:t,S:n,L:r,D:p,slab:g,cyl:v,byDepth:y,front:b,screws:x,workpiece:w,faceRule:re,hmi:E,andon:D,plinth:O,buffer:k,conveyor:ne,dial:N}}function dt(e,t,n,r=`mid`,i=3,a=``,o=!0){return`<g class="sf-pipe" data-medium="${a}">${$e(e.G.fillet(t,i,12,{P:e.P,tube:n}),n,e.P,{maxLength:400,caps:o}).map(e=>tt(e,{tone:r})).join(``)}</g>`}function ft(e,t,n,r,i,a,o,s=``){return`<g transform="${e.front(t)}"><path class="${o}" ${s} d="M${n} ${-a}H${i}V${-r}H${n}Z"/></g>`}function pt(e,t,n,r){let{cyl:i}=e;return`<g class="sf-yellow">${i(t,n,2.4,r,.8,{tone:`mid`},20)}</g><g class="sf-red">${i(t,n,1.3,r+.8,1,{tone:`mid`},14)}${i(t,n,1.9,r+1.8,1.2,{tone:`mid`},18)}</g>`}function mt(e,t){let{P:n,L:r}=e;return[`<path class="iso-halo" d="${j(t,-21,7,n)}" style="opacity:.7"/>`,e.S(c(t,-21,7,n,10,1.6),{tone:`lo`,inner:r(p(t,-17,n,10),{tone:`faint`})}),r(o(h(t,6),-14,n,10),{tone:`faint`})].join(``)}function ht(e,t,n,r){return e.cyl(t,n,r+2.2,0,.8,{tone:`mid`},24)+e.screws([0,1,2,3].map(e=>[t+Math.cos(e*1.571+.785)*(r+1.3),n+Math.sin(e*1.571+.785)*(r+1.3)]),.8)}function gt(e,t,n,r){let{P:i,k:a,L:o,cyl:s}=e,c=[s(t,n,3.8,r,6,{tone:`mid`,inner:o(a.sideArc(t,n,3.8,r+3,i,20),{tone:`faint`})},24)];return c.push(s(t,n,4.6,r-.8,.8,{tone:`mid`},24),s(t,n,4.6,r+6,.8,{tone:`mid`},24)),c.join(``)}function _t(e,t,n,r){let{k:i,G:a,P:o,S:s,L:c}=e,l=a.frameAlong([t,n,r+3],[0,1,0]),u=[];u.push(s(a.disc(3.6,5.8,2.6,l,o),{tone:`mid`}),s(a.disc(5.8,10.6,.9,l,o),{tone:`mid`}),s(a.disc(10.6,12.2,1.7,l,o),{tone:`mid`}),s(a.disc(11.2,12,4.4,l,o),{tone:`lo`}));let d=n+11.4,f=[t,d,r+3],p=[0,1,2].map(e=>i.segment(f,[t+Math.cos(e*2.094)*4.2,d,r+3+Math.sin(e*2.094)*4.2],o)).join(``);return u.push(`<g class="sf-wheel">${c(i.sideRing(f,4.4,`y`,o)+i.sideRing(f,3.8,`y`,o)+p,{tone:`mid`})}</g>`),u.join(``)}function vt(e,t,n,r,i){let a=Array.from({length:7},(e,t)=>{let a=-Math.PI*.75+t/6*Math.PI*1.5,o=e=>`${(n+Math.sin(a)*i*e).toFixed(2)} ${(-r-Math.cos(a)*i*e).toFixed(2)}`;return`M${o(5/7)}L${o(.881)}`}).join(``);return`<g transform="${e}"><circle class="sf-dial-face" cx="${n}" cy="${-r}" r="${i}"/><circle class="iso-line" data-tone="mid" fill="none" cx="${n}" cy="${-r}" r="${(i*1.095).toFixed(2)}"/><path class="iso-line" data-tone="lo" d="${a}"/><path class="iso-line sf-needle" data-tone="lit" data-needle="${t}" data-face="${n},${r},${i}" d=""/><circle class="iso-line" data-tone="mid" cx="${n}" cy="${-r}" r="0.5"/></g>`}var yt=[140,-130,22],bt=[126,-130,64],xt=[126,-130,56.8],X=3.2,St={x:46,y:-150,w:96,d:40,r:3};function Ct(e,t,n=`coolant`,r=!1){let{k:i,G:a,P:o,S:s,L:c,D:l,slab:u,cyl:d,hmi:f,screws:p,faceRule:m}=e,h=[],g=-130,_=49.2,v={x:46,y:g-20,w:96,d:40,r:2},y=g-24;if(r||h.push(s(a.disc(-1.6,0,X+2,a.frameAlong([126,y,70],[0,1,0]),o),{tone:`mid`}),dt(e,[bt,[126,g,70],[126,y,70]],X,`mid`,6,n,[!1,!1])),h.push(u(v,0,5,{tone:`mid`},3,.5)),h.push(c(i.planOutline(i.insetPlan(v,2.4),5,o,3),{tone:`faint`}),p(i.corners(v,4),5)),!r){let e=70-X;h.push(d(126,y+7,2.4,5,1,{tone:`lo`},18),d(126,y+7,1.2,6,e-7,{tone:`mid`,crease:`none`},12),d(126,y+7,1.8,e-1,1,{tone:`mid`},16))}let b=a.frameAlong([52,g,20],[1,0,0]);h.push(u({x:56,y:g-10,w:30,d:20,r:1},5,6,{tone:`lo`},2,0)),h.push(s(a.solidOf([[0,10],[2,11],[36,11],[38,10]],b,o),{tone:`mid`,inner:i.fadedSvg(a.ribsOf(b,2,36,11,22,o,{fade:[.1,.55],seams:!0}),{tone:`lo`})})),h.push(u({x:64,y:g+8,w:10,d:6,r:1},24,6,{tone:`mid`},2,.3)),h.push(s(a.disc(38,42,3,b,o),{tone:`mid`})),h.push(s(a.disc(42,52,6.5,b,o),{tone:`mid`,crease:`lo`})),h.push(`<path class="iso-line" data-tone="lo" data-spin="pump" data-shaft="52,${g},20" data-radius="6.5" data-span="94.3,103.7" data-vapour="136,${g},22" data-bearing="86,${g},32" d=""/>`),h.push(u({x:112,y:g-10,w:16,d:20,r:1},5,4,{tone:`lo`},2,0));let x=a.frameAlong([116,g-8,22],[0,1,0]);h.push(s(a.solidOf([[0,14],[16,14]],x,o),{tone:`mid`,inner:c(a.arcOf(x,8,14,o),{tone:`faint`})})),h.push(s(a.disc(-2,0,15.4,x,o),{tone:`mid`})),h.push(l(a.dotsOf(x,16,12.2,10,o,{fade:[.04,.42]}),{size:.4})),h.push(d(126,g,5,32,14,{tone:`mid`},24)),h.push(d(126,g,7.4,46,2.4,{tone:`mid`},28)),h.push(l(a.dotsOf(a.frameAlong([126,g,48.4],[0,0,1]),0,5.8,6,o,{all:!0}),{size:.45}));let S=a.frameAlong([132,g-0,22],[1,0,0]);return h.push(s(a.disc(0,6,5,S,o),{tone:`mid`}),s(a.disc(6,8,7.4,S,o),{tone:`mid`})),h.push(l(a.dotsOf(S,8,5.9,6,o,{all:!0}),{size:.4})),h.push(gt(e,126,g,_)),h.push(d(126,g,4.6,_+6.8,.8,{tone:`mid`},24),dt(e,[xt,[126,g,bt[2]]],X,`mid`,2,n,[!1,!1]),_t(e,126,g,_)),r||(h.push(ht(e,150,g,3.4)),h.push(dt(e,[[140,g,22],[150,g,22],[150,g,.8]],3.4,`mid`,5,n))),h.push(u({x:58,y:g+22,w:38,d:8,r:1},0,24,{tone:`mid`},2,.4)),h.push(f(t,g+30,60,94,7,22)),h.push(m(g+30,60,3,22,2.4)),h.join(``)}function wt(e,t,n,r=1){let[i,o]=a(t,e),[s,c]=a(n,e),l=e=>(Math.round(e*1e3)/1e3).toString();return`translate(${l(s-r*i)} ${l(c-r*o)}) scale(${l(r)})`}var Tt=e=>[e[0],e[1],0];function Et({from:e=[0,0,0],to:t,scale:n=1,children:r}){let{P:i}=x();return(0,rt.jsx)(`g`,{transform:wt(i,e,t,n),children:r})}function Dt({build:e,intro:t}){let n=x();return(0,rt.jsx)(b,{html:(0,nt.useMemo)(()=>e(n),[n,e]),intro:t})}function Ot(e,t){let n=x();return(0,nt.useMemo)(()=>lt(n,e,t),[n,e,t])}var Z=(e,t,...n)=>e.faults(t).some(e=>n.includes(e));function kt(e,t){let n=k(e,`[data-fx-slot="${t}"]`);if(n)return n;let r=E(e,`[data-asset="${t}"]`);return D(`g`,{class:`sf-fx`},r[r.length-1])}function At(e,t,n,r){return Array.from({length:t},(t,i)=>({el:D(n,{class:r},e),seed:i*.618%1}))}function jt(e){for(let t of e)v(t.el,`0`)}function Mt(e,t,n){e.setAttribute(`cx`,t.toFixed(1)),e.setAttribute(`cy`,n.toFixed(1))}function Nt(e){let t=new Map;return(n,r,i)=>{let a=t.get(n);a||(a=E(e,`[data-asset="${n}"] > *:not(.iso-halo):not(.sf-alarm):not(.sf-fx)`),t.set(n,a));let o=r?`${(Math.sin(i*71)*r).toFixed(2)}px ${(Math.cos(i*53)*r*.6).toFixed(2)}px`:``;for(let e of a)e.style.translate!==o&&(e.style.translate=o)}}function Pt(e,t=`hiss`){let n=t!==`hiss`,r=At(e,8,`circle`,t===`smoke`?`sf-hiss sf-smoke`:`sf-hiss`);return{draw(e,i,o,s,c){if(!e){jt(r);return}for(let e of r){let r=(i*(n?.9:2.2)+e.seed)%1,l=Math.sin(i*7+e.seed*20)*.8,[u,d]=a([s[0]+c[0]*r*10+l,s[1]+c[1]*r*8,s[2]+r*(n?5:2)],o);Mt(e.el,u,d),e.el.setAttribute(`r`,((.5+r*2.6)*o.scale*.5).toFixed(2)),v(e.el,(Math.sin(Math.PI*r)*(n?.6:.55)).toFixed(2)),e.el.classList.toggle(`sf-frost`,t===`frost`)}}}}function Ft(e,t=4,n=5){let r=At(e,t,`path`,`sf-heat`);return{draw(e,t,i,o){r.forEach((s,c)=>{if(!e){v(s.el,`0`);return}let l=(t*.35+c/r.length)%1,u=o[0]+c*n,d=o[2]+l*22,f=Array.from({length:7},(e,n)=>a([u+Math.sin(t*3+n*.9+c)*1.4,o[1],d+n*2.2],i));s.el.setAttribute(`d`,`M${f.map(([e,t])=>`${e.toFixed(1)} ${t.toFixed(1)}`).join(`L`)}`),v(s.el,(Math.sin(Math.PI*l)*.55).toFixed(2))})}}}var Q=Math.PI*2,It=e=>e*e*(3-2*e),$=e=>Math.max(0,Math.min(1,e));function Lt(e,t,n,r,i){return i?t:e+(t-e)*(1-Math.exp(-n/r))}function Rt(e,t,n,r){let i=s(S(e.x+e.w/2,e.y+e.d/2,Math.min(e.w,e.d)*.2,20).map(([e,i])=>a([e,i,t+n],r)),!0);return`${te(c(e,t,n,r,2,.3),{tone:`hi`,lit:!0})}<path class="sf-bore" d="${i}"/>`}function zt(e,t,n,r,i=28){return`M${Array.from({length:i},(o,s)=>{let c=s/i*Math.PI*2,[l,u]=a([e[0]+Math.cos(c)*t,e[1]+Math.sin(c)*t,n],r);return`${l.toFixed(1)} ${u.toFixed(1)}`}).join(`L`)}Z`}var Bt={x:-3.5,y:10,w:7,d:10,r:1},Vt=new WeakMap;function Ht(e){let t=Vt.get(e);if(!t){let n=M([0,0,0],e);t=[M([1,0,0],e)-n,M([0,1,0],e)-n,M([0,0,1],e)-n],Vt.set(e,t)}return t}function Ut(e,t,n,r,i,a,o,s){let c=Ht(e),l=``;for(let u=0;u<s;u++){let d=o+u*Q/s,f=t===`z`?[Math.cos(d),Math.sin(d),0]:[0,Math.cos(d),Math.sin(d)];if((f[0]??0)*c[0]+(f[1]??0)*c[1]+(f[2]??0)*c[2]<.15)continue;let p=e=>t===`z`?[n[0]+r*(f[0]??0),n[1]+r*(f[1]??0),e]:[e,n[1]+r*(f[1]??0),n[2]+r*(f[2]??0)];l+=w(p(i),p(a),e)}return l}function Wt(e,[t=0,n=0,r=0,i=0],a){let o=``;for(let s=0;s<5;s++){let c=a+s*Q/5;o+=g([t+Math.cos(c)*2.4,n+Math.sin(c)*2.4],[t+Math.cos(c+.35)*i,n+Math.sin(c+.35)*i],r,e)}return o}function Gt(e,[t=0,n=0,r=0,i=0],o,s,c=6){let l=(i,o,c)=>{let l=Math.cos(c)*i-Math.sin(c)*o,u=Math.sin(c)*i+Math.cos(c)*o,[d,f]=a(s===`x`?[t,n+l,r+u]:s===`y`?[t+l,n,r+u]:[t+l,n+u,r],e);return`${d.toFixed(1)} ${f.toFixed(1)}`},u=``;for(let e=0;e<c;e++){let t=o+e*Q/c;u+=`M${l(3.4,1.8,t)}L${l(i,3.4,t)}L${l(i,-1.4,t)}L${l(3.4,-1.8,t)}Z`}return u}function Kt(e){return e.closest(`[data-asset]`)?.dataset.asset??``}function qt(e){let[t=0,n=0,r=0]=O(e);return[t,n,r]}var Jt=new Set([`press`]);function Yt(e,t){let{svg:n,P:r,feed:i}=e,a=(e,t,n,i,a)=>{let o=-Math.PI*.75+$(a)*Math.PI*1.5;return g([e-Math.sin(o)*i*.22,t+Math.cos(o)*i*.22],[e+Math.sin(o)*i*.7,t-Math.cos(o)*i*.7],n+.2,r)},o=E(n,`[data-needle]`).map(e=>({n:e,id:e.dataset.needle??``,asset:Kt(e),at:O(e.dataset.at),face:e.dataset.face?O(e.dataset.face):null,v:0,rate:0})),s=E(n,`[data-bar]`).map(e=>({n:e,id:e.dataset.bar??``,box:O(e.dataset.x),v:0})),c=E(n,`[data-spark]`).map(e=>({n:e,id:e.dataset.spark??``,fill:k(n,`[data-spark-fill="${e.dataset.spark}"]`),box:O(e.dataset.box),hist:[]})),l=NaN;return{draw(n,r){let u=e.reducedMotion();for(let e of o){let i=$(t.needle(e.id,e.asset));e.rate+=((i-e.v)*90-e.rate*13)*n,e.v+=e.rate*n,u&&(e.v=i);let o=Jt.has(e.id)?Math.sin(r*31+e.id.length)*.003:0;if(e.face){let[t=0,n=0,r=0]=e.face,i=-Math.PI*.75+$(e.v+o)*Math.PI*1.5;y(e.n,`d`,`M${(t-Math.sin(i)*r*.2).toFixed(2)} ${(-n+Math.cos(i)*r*.2).toFixed(2)}L${(t+Math.sin(i)*r*.74).toFixed(2)} ${(-n-Math.cos(i)*r*.74).toFixed(2)}`)}else{let[t=0,n=0,r=0,i=0]=e.at;y(e.n,`d`,a(t,n,r,i,e.v+o))}}for(let e of s){e.v=Lt(e.v,$(t.bar(e.id)),n,.5,u);let[r=0,i=0,a=0,o=0]=e.box;y(e.n,`d`,`M${r} ${-o}H${(r+(i-r)*e.v).toFixed(2)}V${-a}H${r}Z`),y(e.n,`data-s`,e.v>.9&&t.alertsHigh(e.id)?`hi`:null)}let d=i.simTime();if(d!==l&&t.ready()){l=d;for(let e of c){let n=$(t.bar(e.id));if(!e.hist.length)for(let t=0;t<27;t++)e.hist.push(n);e.hist.push(n),e.hist.length>28&&e.hist.shift();let[r=0,i=0,a=0,o=0]=e.box,s=e.hist.map((t,n)=>[r+(i-r)*(n+28-e.hist.length)/27,-(a+.4+t*(o-a-.8))]),c=s.map(([e,t],n)=>`${n?`L`:`M`}${e.toFixed(2)} ${t.toFixed(2)}`).join(``);y(e.n,`d`,c);let l=s[s.length-1],u=s[0];y(e.fill,`d`,l&&u&&s.length>1?`${c}L${l[0].toFixed(2)} ${-a}L${u[0].toFixed(2)} ${-a}Z`:``)}}}}}var Xt=0;function Zt(e,t){let{svg:n,P:r}=e,i=r.scale,o=E(n,`[data-flows]`).map(e=>({el:e,from:Number(e.dataset.depth??-1/0)})).sort((e,t)=>e.from-t.from),s=new Map(E(n,`[data-flows]`).map(e=>[Number(e.dataset.flows),e])),c=new Map;for(let e of E(n,`[data-fl]`))c.set(`${e.dataset.fl}|${e.dataset.fs}`,e);let l=o.length>1&&[...s.keys()].every(Number.isFinite),u=(e,t)=>(e.find(([e])=>t<=e)??e[e.length-1])?.[1]??0,d=(e,t,n,i,a)=>{if(l&&n.length){let t=Math.max(...[i-a,i,i+a].map(e=>u(n,e)));return c.get(`${e}|${t}`)??s.get(t)??o[o.length-1]?.el}let d=M(t,r),f=o[0]?.el;for(let e of o)e.from<=d&&(f=e.el);return f},f=(e,t,n)=>{let i=1;for(;i<e.length-1&&(e[i]??0)<n;)i++;let o=e[i-1]??0,s=(n-o)/((e[i]??0)-o||1),c=t[i-1],l=t[i],[u,d]=a(c,r),[f,p]=a(l,r),m=Math.atan2(p-d,f-u)*180/Math.PI;return m>90&&(m-=180),m<=-90&&(m+=180),[[c[0]+(l[0]-c[0])*s,c[1]+(l[1]-c[1])*s,c[2]+(l[2]-c[2])*s],m]},p=e.flows.filter(e=>e.path.length>1).map(e=>{let t=[0];for(let n=1;n<e.path.length;n++){let r=e.path[n-1],i=e.path[n];t.push((t[n-1]??0)+Math.hypot(i[0]-r[0],i[1]-r[1],i[2]-r[2]))}let r=t[t.length-1]??0;return{f:e,lens:t,L:r,phase:0,speed:0,glints:Array.from({length:Math.max(2,Math.round(r/22))},()=>D(`ellipse`,{class:`sf-glint`,"data-medium":e.medium},(e.group?k(n,`[data-glints="${e.group}"]`):void 0)??o[0]?.el))}}),m=k(n,`defs`)??D(`defs`,{},n),h=new Map;for(let e of p){let t=e.glints[0];if(!t||h.has(e.f.medium))continue;let n=`sf-glint-${Xt++}`,r=getComputedStyle(t).fill,i=D(`radialGradient`,{id:n},m);for(let[e,t]of[[`0`,`0.85`],[`0.45`,`0.5`],[`1`,`0`]]){let n=D(`stop`,{offset:e,"stop-opacity":t},i);n.style.stopColor=r}h.set(e.f.medium,`url(#${n})`)}for(let e of p)for(let t of e.glints)t.style.fill=h.get(e.f.medium)??``;return{draw(n){let s=e.reducedMotion();for(let e of p)e.speed=Lt(e.speed,t(e.f),n,.8,s),s||(e.phase=(e.phase+e.speed*n)%e.L),e.glints.forEach((t,n)=>{let s=(e.phase+n*e.L/e.glints.length)%e.L,c=e.f.reverse?e.L-s:s,[l,u]=f(e.lens,e.f.path,c),[p,m]=a(l,r),[h,g]=e.f.reverse?[e.f.capped[1],e.f.capped[0]]:e.f.capped,_=Math.max(0,Math.min(1,(s-(h?e.f.r:0))/8,(e.L-s-(g?e.f.r:0))/8)),v=e.f.r*i*.35*Math.cos(u*Math.PI/180),y=p+v*Math.sin(u*Math.PI/180),b=m-v*Math.cos(u*Math.PI/180);t.setAttribute(`cx`,y.toFixed(2)),t.setAttribute(`cy`,b.toFixed(2)),t.setAttribute(`rx`,(e.f.r*i*1.35).toFixed(2)),t.setAttribute(`ry`,(e.f.r*i*.55).toFixed(2)),t.setAttribute(`transform`,`rotate(${u.toFixed(2)} ${y.toFixed(2)} ${b.toFixed(2)})`),t.style.opacity=(_*.9*Math.min(1,e.speed/3)).toFixed(2);let x=o.length>1&&!e.f.group?d(e.f.id,l,e.f.slots,c,e.f.r):void 0;x&&t.parentNode!==x&&x.append(t)})}}}function Qt(e,t){let{svg:n}=e,r=E(n,`[data-alarm]`).map(e=>{let t=e.dataset.alarm??``;return{id:t,alarm:e,andon:E(n,`[data-andon="${t}"]`),glow:k(n,`[data-glow="${t}"]`),dot:k(n,`[data-state-dot="${t}"]`)}});return{draw(e){for(let n of r){let r=t(n.id);if(!e)for(let e of n.andon)y(e,`data-on`,e.dataset.c===r?``:null);y(n.alarm,`data-on`,r===`r`?``:null),y(n.glow,`data-c`,e?null:r||null),y(n.dot,`data-s`,r||null)}}}}function $t(e,t){let{svg:n,P:r,feed:i}=e,o=(e,t)=>i.num(e,t),s=e=>{let t=kt(n,e);return{bubbles:At(t,10,`circle`,`sf-bubble`),heat:Ft(t)}},c=E(n,`[data-spin="pump"]`).map(e=>{let t=Kt(e),[n=0,r=0]=O(e.dataset.span);return{el:e,id:t,at:qt(e.dataset.shaft),eye:qt(e.dataset.vapour),r:Number(e.dataset.radius)||0,s0:n,s1:r,rpm:0,spin:0,bearing:qt(e.dataset.bearing),...s(t)}}),l=new Map(c.map(e=>[e.id,e])),u=e=>{let t=i.param(e,`rated_flow`,0);return t>0?$(o(e,`flow_rate`)/t):0};return{draw(n,s,l){let u=e.reducedMotion();for(let e of c){if(e.rpm=Lt(e.rpm,o(e.id,`speed_feedback`),n,.8,u),u||(e.spin+=e.rpm/i.param(e.id,`rated_rpm`,1500)*1.6*Q*n),y(e.el,`d`,Ut(r,`x`,e.at,e.r,e.s0,e.s1,e.spin,8)),!l)continue;let c=Z(i,e.id,`cavitation`);for(let t of e.bubbles){if(!c||u){v(t.el,`0`);continue}let n=(s*1.6+t.seed)%1,[i,o,l]=e.eye,[d,f]=a([i+n*6,o+Math.sin(t.seed*40)*3,l+Math.cos(t.seed*30)*3],r);Mt(t.el,d,f),t.el.setAttribute(`r`,(.35+Math.sin(Math.PI*n)*.6).toFixed(2)),v(t.el,(n<.85?.8:0).toFixed(2))}e.heat.draw(Z(i,e.id,`bearing_wear`,`bearing_seizure`)&&!u,s,r,e.bearing),t(e.id,u?0:Z(i,e.id,`bearing_seizure`)?.7:Z(i,e.id,`cavitation`,`impeller_imbalance`,`bearing_wear`)?.35:0,s)}},flowPu:u,bar(e){return l.has(e)?u(e):void 0}}}function en(e){return e===`off_shift`?``:e===`running`?`g`:e===`down`||e===`fault`||e===`failed`?`r`:`a`}function tn(e,t,n){if(e.faults(t).length)return[`fault`,`r`];let r=e.station(t);if(r)return[r.state,en(r.state)];if(n===`availability`){let n=e.text(t,`availability_state`);if(n!==void 0)return[n,n===`stopped`?``:n===`faulted`?`r`:`g`]}return e.num(t,`run_command`,1)===0?[`stopped`,``]:[`running`,`g`]}function nn(e,t,n){return tn(e,t,n)[1]}export{bt as A,dt as B,kt as C,Et as D,Ot as E,Ct as F,F as G,lt as H,vt as I,I as J,se as K,mt as L,xt as M,X as N,Dt as O,yt as P,pt as R,Mt as S,At as T,Pe as U,ut as V,Fe as W,ne as X,z as Y,Lt as _,Zt as a,Nt as b,qt as c,Wt as d,Gt as f,$ as g,Q as h,Qt as i,St as j,Tt as k,Bt as l,Rt as m,nn as n,Yt as o,Ut as p,L as q,$t as r,Kt as s,tn as t,zt as u,It as v,Z as w,Ft as x,Pt as y,ft as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,D as t,O as n,k as r,ot as i}from"./vendor-ui-D8j69UH4.js";import{E as a}from"./format-Bx7DF-TB.js";import{t as o}from"./utils-XFKvwlFT.js";var s=i();function c({className:t,orientation:n=`horizontal`,...r}){return(0,s.jsx)(e,{"data-slot":`tabs`,"data-orientation":n,className:o(`group/tabs flex gap-2 data-horizontal:flex-col`,t),...r})}var l=a(`group/tabs-list inline-flex w-fit items-center justify-center rounded-[var(--miravo-radius-stadium-sm)] p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-0 border-b border-border/50 bg-transparent p-0 shadow-none group-data-horizontal/tabs:h-auto group-data-horizontal/tabs:min-h-8`}},defaultVariants:{variant:`default`}});function u({className:e,variant:n=`default`,...r}){return(0,s.jsx)(t,{"data-slot":`tabs-list`,"data-variant":n,className:o(l({variant:n}),e),...r})}function d({className:e,...t}){return(0,s.jsx)(r,{"data-slot":`tabs-trigger`,className:o(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-[var(--miravo-radius-tight)] border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-muted-foreground transition-[color,box-shadow,transform] duration-200 ease-out group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:font-heading group-data-[variant=line]/tabs-list:tracking-tight group-data-[variant=line]/tabs-list:text-sm group-data-[variant=line]/tabs-list:text-muted-foreground group-data-[variant=line]/tabs-list:hover:text-foreground group-data-[variant=line]/tabs-list:data-active:font-semibold group-data-[variant=line]/tabs-list:data-active:text-foreground`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent group-data-[variant=line]/tabs-list:data-active:border-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent`,`group-data-[variant=line]/tabs-list:rounded-none group-data-[variant=line]/tabs-list:px-3 group-data-[variant=line]/tabs-list:py-2`,`data-active:bg-background data-active:text-foreground data-active:border-input data-active:bg-input/30 data-active:text-foreground`,`after:pointer-events-none after:absolute after:bg-foreground after:opacity-0 after:transition-[opacity,transform] after:duration-300 after:ease-out group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5`,`group-data-[variant=line]/tabs-list:after:bg-primary group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:after:bottom-0 group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:after:h-[2px] group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:after:rounded-sm group-data-[variant=line]/tabs-list:data-active:after:opacity-100 group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:data-active:after:shadow-[0_0_14px_-3px_color-mix(in_srgb,var(--primary)_50%,transparent)]`,e),...t})}function f({className:e,...t}){return(0,s.jsx)(n,{"data-slot":`tabs-content`,className:o(`flex-1 text-sm outline-none py-2`,e),...t})}export{d as i,f as n,u as r,c as t};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{c as t}from"./vendor-charts-95ykyDlI.js";import{ot as n}from"./vendor-ui-D8j69UH4.js";import{S as r,gt as i,o as a,ot as o,v as s}from"./api-B2QJEzbS.js";import{t as c}from"./useQuery-M9KTdi7Q.js";import{i as l,n as u,t as d}from"./dist-xY0pK9Wy.js";import{n as f}from"./chunk-OE4NN4TA-DBWZidbW.js";import{a as p,i as m,n as h,o as g,r as _,t as v}from"./dialog-B5PqrKVw.js";import{C as y,S as b,T as x,s as S,u as C,v as ee,y as te}from"./format-Bx7DF-TB.js";import{n as w,t as ne}from"./utils-XFKvwlFT.js";import{a as re,c as ie,i as ae,n as oe,o as se,r as ce,s as le,t as ue}from"./dropdown-menu-B_MMNbTy.js";import{t as de}from"./chevron-down-x70Pto6j.js";import{t as fe}from"./chevron-left-XHFooLn1.js";import{t as pe}from"./chevron-right-CMSQPSEo.js";import{t as T}from"./copy-button-CSUP1VjU.js";import{t as me}from"./download-i8CTJ7oi.js";import{t as he}from"./query-fetch-error-CWLZA2L5.js";import{i as E,n as D,t as O}from"./tooltip-B3vOB1Vu.js";import{n as ge}from"./auth-screen-backdrop-CEykEbfF.js";import{t as k}from"./label-2sIXTEUK.js";import{n as _e}from"./get-error-message-dM0BMfdP.js";import{a as A,i as j,n as M,o as ve,r as N,s as ye,t as P}from"./combobox-B8h0-NHs.js";import{c as F,i as I,n as L,s as R,t as z}from"./select-BWlrSYlA.js";import{n as B,r as V}from"./integration-targets-Byvdd3Or.js";import{a as be,i as xe,n as Se,o as Ce,r as we,t as Te}from"./vendor-table-B0Z9e_sn.js";var Ee=w(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),De=w(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),Oe=w(`braces`,[[`path`,{d:`M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1`,key:`ezmyqa`}],[`path`,{d:`M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1`,key:`e1hn23`}]]),ke=w(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),Ae=w(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),je=w(`table-2`,[[`path`,{d:`M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18`,key:`gugj83`}]]),H=e(t(),1),Me={mqtt:`MQTT Client`,opcua:`OPC UA Client Advanced`,modbus:`Modbus TCP`},U={Boolean:`bool`,Int32:`int32`,UInt16:`uint16`,UInt32:`uint32`,Float:`float32`,Double:`float64`,String:`string`},W={float32:`float32`,int32:`int32`,uint32:`uint32`,uint16:`word`,boolean:`word`},Ne=`deviceId,deviceName,driverName,name,tagName,description,valueType,registerId,publishCoV,tagFormula,metaData,Retain,Qos,address,count,pollingInterval,endianness`;function Pe(e,t,n){let r=[Ne];for(let i of n){let n=Me[i]??i;for(let a of e){let e=a.protocols[i];e&&r.push(G(i,{deviceName:t,driverName:n,memberName:a.member,browsePath:a.browsePath,dataType:a.dataType,protocolData:e,unit:a.unit,euRange:a.euRange,model:a.model,asset:a.asset,access:a.access}))}}return`${r.join(`
|
|
2
|
+
`)}\n`}function G(e,t){switch(e){case`mqtt`:return K(t);case`opcua`:return Fe(t);case`modbus`:return Ie(t);default:throw Error(`Unsupported LE export protocol: "${e}"`)}}function K(e){let t=typeof e.protocolData?.topic==`string`?e.protocolData.topic:`${e.browsePath}/${e.memberName}`;return[``,q(e.deviceName),q(e.driverName),q(t),q(e.memberName),``,`string`,``,`false`,``,J(e),`Disable`,`0`,``,``,``,``].join(`,`)}function Fe(e){let t=typeof e.protocolData?.nodeId==`string`?e.protocolData.nodeId:`ns=1;s=${e.browsePath}/${e.memberName}`,n=U[e.dataType]??`string`;return[``,q(e.deviceName),q(e.driverName),q(t),q(e.memberName),``,n,``,`false`,``,J(e),``,``,``,``,``,``].join(`,`)}function Ie(e){let t=W[String(e.protocolData?.registerType??``)]??Le(e.dataType),n=e.protocolData?.address;return[``,q(e.deviceName),q(e.driverName),`H`,q(e.memberName),``,t,``,`false`,``,J(e),``,``,typeof n==`number`?String(n):`0`,`1`,`1.0000000000`,`AB CD`].join(`,`)}function Le(e){switch(e){case`Double`:case`Float`:return`float32`;case`Int32`:return`int32`;case`UInt32`:return`uint32`;case`Boolean`:case`UInt16`:return`word`;default:return`float32`}}function q(e){return e.includes(`,`)||e.includes(`"`)||e.includes(`
|
|
3
|
+
`)?`"${e.replace(/"/g,`""`)}"`:e}function J(e){let t={uns_path:e.browsePath?`${e.browsePath}/${e.memberName}`:e.memberName,model:e.model,asset:e.asset,access:e.access};return e.unit!=null&&(t.unit=e.unit),e.euRange!=null&&(t.eu_range_min=String(e.euRange[0]),t.eu_range_max=String(e.euRange[1])),q(JSON.stringify(t))}var Y=n(),Re={mqtt:`MQTT`,opcua:`OPC UA`,modbus:`Modbus`},ze=[{id:V.id,label:V.label}];function Be({open:e,onOpenChange:t,tags:n,totalTags:r,enabledProtocols:i,selectedAsset:a}){let[o,s]=(0,H.useState)(`litmus-edge`),[c,l]=(0,H.useState)(``),[u,d]=(0,H.useState)(``),f=(0,H.useRef)(null),x=(0,H.useRef)(!1);(0,H.useEffect)(()=>{e&&!x.current&&(s(V.id),l(a??``),d(i[0]??``),setTimeout(()=>f.current?.focus(),80)),x.current=e},[e,i,a]);let S=c.trim()!==``&&u!==``,C=o===V.id?S:!1,ee=(0,H.useCallback)(()=>{if(o===V.id){let e=Pe(n,c.trim(),[u]),r=new Blob([e],{type:`text/csv`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`${c.trim()}-litmus-edge-tags.csv`,a.click(),URL.revokeObjectURL(i),t(!1)}},[o,c,n,u,t]),te=n.length<r,w=(0,H.useMemo)(()=>[...ze.map(e=>({value:e.id,label:e.label})),...B.map(e=>({value:e.id,label:e.label}))],[]),ne=(0,H.useMemo)(()=>i.map(e=>({value:e,label:Re[e]??e.toUpperCase()})),[i]);return(0,Y.jsx)(v,{open:e,onOpenChange:t,children:(0,Y.jsxs)(h,{className:`sm:max-w-lg`,children:[(0,Y.jsxs)(p,{children:[(0,Y.jsx)(g,{children:`Export for Integration`}),(0,Y.jsx)(_,{children:te?`Exporting ${n.length} of ${r} tags based on current table filters.`:`Exporting all ${n.length} tags. Use table filters to narrow scope.`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4 py-1`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Y.jsx)(k,{className:`text-sm`,children:`Integration`}),(0,Y.jsxs)(z,{value:o,onValueChange:e=>e&&s(e),items:w,children:[(0,Y.jsx)(R,{className:`w-full text-sm`,children:(0,Y.jsx)(F,{placeholder:`Select integration`})}),(0,Y.jsxs)(L,{children:[ze.map(e=>(0,Y.jsx)(I,{value:e.id,children:e.label},e.id)),B.map(e=>(0,Y.jsx)(I,{value:e.id,disabled:!0,children:e.label},e.id))]})]})]}),o===V.id&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Y.jsxs)(k,{htmlFor:`device-name`,className:`text-sm`,children:[`Device name `,(0,Y.jsx)(`span`,{className:`text-destructive`,children:`*`})]}),(0,Y.jsx)(b,{id:`device-name`,ref:f,placeholder:`e.g. smart_factory_cnc_001`,value:c,onChange:e=>l(e.target.value),onKeyDown:e=>e.key===`Enter`&&C&&ee(),className:`font-mono text-sm`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Y.jsx)(k,{className:`text-sm`,children:`Protocol`}),(0,Y.jsxs)(z,{value:u||void 0,onValueChange:e=>e&&d(e),items:ne,children:[(0,Y.jsx)(R,{className:`w-full text-sm`,children:(0,Y.jsx)(F,{placeholder:`Select a protocol`})}),(0,Y.jsx)(L,{children:i.map(e=>(0,Y.jsx)(I,{value:e,children:Re[e]??e.toUpperCase()},e))})]})]})]})]}),(0,Y.jsxs)(m,{children:[(0,Y.jsx)(y,{variant:`outline`,size:`sm`,onClick:()=>t(!1),children:`Cancel`}),(0,Y.jsxs)(y,{size:`sm`,className:`gap-1.5`,disabled:!C,onClick:ee,children:[(0,Y.jsx)(me,{className:`size-3.5`}),`Download CSV`]})]})]})})}var Ve=`border-border/70 bg-popover/98 font-body text-sm shadow-xl ring-1 ring-foreground/12 backdrop-blur-sm supports-backdrop-filter:bg-popover/90 p-1.5`,He=`px-2 pb-1 font-heading text-[9px] font-semibold tracking-[0.14em] text-muted-foreground uppercase`,Ue=`h-8 gap-1.5 border-border/80 bg-background/80 text-xs font-medium shadow-sm transition-colors hover:border-primary/35 hover:bg-accent/40`,We=`gap-2.5 rounded-[var(--miravo-radius-tight)] py-2 pl-2 pr-2 text-[13px] data-[highlighted]:bg-sidebar-accent data-[highlighted]:text-sidebar-accent-foreground`;function Ge({protocol:e,asset:t,model:n,member:r,enabledProtocols:i,hasFilters:a,memberSearchRef:o,onProtocolChange:s,onAssetChange:c,onModelChange:l,onMemberChange:u,onClearFilters:d,onAssetSearch:f,onModelSearch:p,filteredAssetOptions:m,filteredModelOptions:h}){let g=(0,H.useMemo)(()=>[{value:`all`,label:`All protocols`},...i.map(e=>({value:e,label:e.toUpperCase()}))],[i]);return(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsxs)(z,{value:e||`all`,onValueChange:e=>s(!e||e===`all`?``:e),items:g,children:[(0,Y.jsx)(R,{className:`h-8 w-[140px]`,"aria-label":`Protocol filter`,children:(0,Y.jsx)(F,{placeholder:`All protocols`})}),(0,Y.jsxs)(L,{alignItemWithTrigger:!1,align:`start`,children:[(0,Y.jsx)(I,{value:`all`,children:`All protocols`}),i.map(e=>(0,Y.jsx)(I,{value:e,children:e.toUpperCase()},e))]})]}),(0,Y.jsxs)(P,{value:t?{value:t,label:S(t)}:null,onValueChange:e=>c(e?.value??``),isItemEqualToValue:(e,t)=>e?.value===t?.value,onInputValueChange:f,children:[(0,Y.jsx)(N,{placeholder:`All assets`,className:`h-8 w-[200px]`,showClear:!!t}),(0,Y.jsx)(M,{children:(0,Y.jsxs)(A,{children:[m.map(([e,t])=>(0,Y.jsxs)(j,{value:{value:e,label:S(e)},children:[(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:`${S(e)} (${e})`,children:S(e)}),(0,Y.jsxs)(`span`,{className:`shrink-0 tabular-nums text-muted-foreground`,children:[`(`,t,`)`]})]},e)),m.length===0&&(0,Y.jsx)(`p`,{className:`py-2 text-center text-xs text-muted-foreground`,children:`No assets found`})]})})]}),(0,Y.jsxs)(P,{value:n?{value:n,label:C(n)}:null,onValueChange:e=>l(e?.value??``),isItemEqualToValue:(e,t)=>e?.value===t?.value,onInputValueChange:p,children:[(0,Y.jsx)(N,{placeholder:`All models`,className:`h-8 w-[200px]`,showClear:!!n}),(0,Y.jsx)(M,{children:(0,Y.jsxs)(A,{children:[h.map(([e,t])=>(0,Y.jsxs)(j,{value:{value:e,label:C(e)},children:[(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:C(e)}),(0,Y.jsxs)(`span`,{className:`shrink-0 tabular-nums text-muted-foreground`,children:[`(`,t,`)`]})]},e)),h.length===0&&(0,Y.jsx)(`p`,{className:`py-2 text-center text-xs text-muted-foreground`,children:`No models found`})]})})]}),(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(b,{ref:o,placeholder:`Search member…`,className:`h-8 w-[160px] pr-7`,value:r,onChange:e=>u(e.target.value)}),!r&&(0,Y.jsx)(`kbd`,{className:`pointer-events-none absolute top-1/2 right-2 -translate-y-1/2 rounded-[var(--miravo-radius-tight)] border border-border bg-muted px-1 font-mono text-[10px] text-muted-foreground`,children:`/`})]}),a&&(0,Y.jsxs)(y,{variant:`ghost`,size:`sm`,className:`h-8 gap-1 text-xs`,onClick:d,children:[(0,Y.jsx)(x,{className:`size-3`}),`Clear`]})]})}function X({sorted:e}){return e===`asc`?(0,Y.jsx)(De,{className:`ml-1 inline size-3`}):e===`desc`?(0,Y.jsx)(Ee,{className:`ml-1 inline size-3`}):(0,Y.jsx)(ie,{className:`ml-1 inline size-3 opacity-30`})}function Ke(e,t=1,n=2){let r=e.split(`/`);return r.length<=t+n+1?e:[...r.slice(0,t),`...`,...r.slice(-n)].join(`/`)}function Z({label:e,value:t,collapsible:n}){let r=n?Ke(t):t;return(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`p`,{className:`text-[10px] uppercase tracking-wider text-muted-foreground`,children:e}),(0,Y.jsx)(T,{value:t,label:`Copy ${e}`,tooltipSide:`top`,render:({icon:e})=>(0,Y.jsxs)(`button`,{type:`button`,className:`mt-0.5 flex items-start gap-1 font-mono text-xs hover:text-foreground`,children:[n?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{className:`break-all lg:hidden`,children:r}),(0,Y.jsx)(`span`,{className:`hidden break-all lg:inline`,children:t})]}):(0,Y.jsx)(`span`,{className:`break-all`,children:t}),(0,Y.jsx)(`span`,{className:`mt-0.5 shrink-0 text-muted-foreground`,children:e})]})})]})}function qe({tag:e,enabledProtocols:t}){let n=`${e.browsePath}/${e.member}`,r=e.protocols.opcua,i=e.protocols.modbus,a=e.access===`readwrite`?`rw`:e.access;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 text-xs`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-x-10 gap-y-2.5`,children:[(0,Y.jsx)(Z,{label:`Topic / UNS`,value:n,collapsible:!0}),t.includes(`opcua`)&&typeof r?.nodeId==`string`&&(0,Y.jsx)(Z,{label:`OPC UA NodeId`,value:r.nodeId,collapsible:!0}),t.includes(`modbus`)&&i?.address!=null&&(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`p`,{className:`text-[10px] uppercase tracking-wider text-muted-foreground`,children:`Modbus`}),(0,Y.jsxs)(`p`,{className:`mt-0.5 font-mono`,children:[`addr=`,String(i.address),` regs=`,String(i.count),` `,String(i.registerType)]})]})]}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-4 gap-y-1 text-muted-foreground`,children:[(0,Y.jsxs)(O,{children:[(0,Y.jsx)(E,{className:`font-mono`,render:(0,Y.jsx)(`span`,{}),children:e.dataType}),(0,Y.jsx)(D,{side:`top`,children:`Data type`})]}),e.unit&&(0,Y.jsxs)(O,{children:[(0,Y.jsx)(E,{className:`font-mono`,render:(0,Y.jsx)(`span`,{}),children:e.unit}),(0,Y.jsx)(D,{side:`top`,children:`Unit`})]}),(0,Y.jsxs)(O,{children:[(0,Y.jsx)(E,{className:`font-mono`,render:(0,Y.jsx)(`span`,{}),children:a}),(0,Y.jsx)(D,{side:`top`,children:`Access: r / w / rw`})]}),e.euRange&&(0,Y.jsxs)(O,{children:[(0,Y.jsxs)(E,{className:`font-mono`,render:(0,Y.jsx)(`span`,{}),children:[`[`,e.euRange[0],`, `,e.euRange[1],`]`]}),(0,Y.jsx)(D,{side:`top`,children:`EU range (min, max)`})]}),(0,Y.jsxs)(O,{children:[(0,Y.jsxs)(E,{render:(0,Y.jsx)(f,{to:`/asset/${e.asset}`,className:`inline-flex items-center gap-1 text-primary underline-offset-4 hover:underline`,"aria-label":`Open asset`}),children:[`View asset`,(0,Y.jsx)(Ae,{className:`size-3`})]}),(0,Y.jsx)(D,{side:`top`,children:`Open asset`})]})]})]})}var Je=[{id:`expand`,meta:{cellClass:`!pl-2 !pr-0 w-0`},header:()=>(0,Y.jsx)(`span`,{className:`sr-only`,children:`Expand row`}),enableSorting:!1,cell:({row:e})=>(0,Y.jsx)(`button`,{type:`button`,className:`inline-flex size-5 items-center justify-center rounded-[var(--miravo-radius-tight)] text-muted-foreground hover:text-foreground`,"aria-label":e.getIsExpanded()?`Collapse row`:`Expand row`,"aria-expanded":e.getIsExpanded(),onClick:t=>{t.stopPropagation(),e.toggleExpanded()},children:(0,Y.jsx)(de,{className:`size-3.5 transition-transform ${e.getIsExpanded()?`rotate-0`:`-rotate-90`}`})})},{accessorKey:`asset`,header:({column:e})=>(0,Y.jsxs)(`button`,{type:`button`,className:`inline-flex items-center`,onClick:e.getToggleSortingHandler(),children:[`Asset`,(0,Y.jsx)(X,{sorted:e.getIsSorted()})]}),cell:({getValue:e})=>(0,Y.jsx)(`span`,{className:`block max-w-[18rem] truncate font-mono text-xs`,title:e(),children:e()})},{accessorKey:`member`,header:({column:e})=>(0,Y.jsxs)(`button`,{type:`button`,className:`inline-flex items-center`,onClick:e.getToggleSortingHandler(),children:[`Member`,(0,Y.jsx)(X,{sorted:e.getIsSorted()})]}),cell:({getValue:e})=>(0,Y.jsx)(`span`,{className:`block max-w-[20rem] truncate font-mono text-xs`,title:e(),children:e()})},{accessorKey:`model`,header:({column:e})=>(0,Y.jsxs)(`button`,{type:`button`,className:`inline-flex items-center`,onClick:e.getToggleSortingHandler(),children:[`Model`,(0,Y.jsx)(X,{sorted:e.getIsSorted()})]}),cell:({getValue:e})=>(0,Y.jsx)(`span`,{className:`block max-w-[18rem] truncate text-xs`,title:e(),children:e()})},{accessorKey:`dataType`,meta:{hideClass:`hidden lg:table-cell`},header:({column:e})=>(0,Y.jsxs)(`button`,{type:`button`,className:`inline-flex items-center`,onClick:e.getToggleSortingHandler(),children:[`Type`,(0,Y.jsx)(X,{sorted:e.getIsSorted()})]}),cell:({getValue:e})=>(0,Y.jsx)(`span`,{className:`font-mono text-xs`,children:e()})},{accessorKey:`unit`,meta:{hideClass:`hidden lg:table-cell`},header:`Unit`,enableSorting:!1,cell:({getValue:e})=>(0,Y.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e()??`—`})},{accessorKey:`access`,meta:{hideClass:`hidden lg:table-cell`},header:`Access`,enableSorting:!1,cell:({getValue:e})=>{let t=e();return(0,Y.jsx)(`span`,{className:`font-mono text-xs`,children:t===`readwrite`?`rw`:t})}}];function Ye(e,t){let n=new Blob([e],{type:`text/csv`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=t,i.click(),URL.revokeObjectURL(r)}var Xe=[10,15,25,50,100],Ze=15,Qe=100;function $e(e){return Xe.includes(e)?e:Ze}function et(e){return/[",\r\n]/.test(e)?`"${e.replaceAll(`"`,`""`)}"`:e}function Q(){let[e,t]=(0,H.useState)(!1),n=(0,H.useRef)(null);(0,H.useEffect)(()=>{let e=e=>{if(e.key!==`/`||e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target.tagName;t===`INPUT`||t===`TEXTAREA`||t===`SELECT`||(e.preventDefault(),n.current?.focus())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let[p,m]=l(`protocol`,u.withDefault(``)),[h,g]=l(`asset`,u.withDefault(``)),[_,v]=l(`model`,u.withDefault(``)),[b,x]=l(`member`,u.withDefault(``)),[S,C]=l(`perPage`,d.withDefault(Ze)),w=$e(S),ie=o(e=>e.assetCount),T=c({queryKey:s.tags.manifest(ie),queryFn:()=>a(`/manifest`,r.manifest),placeholderData:i}),E=T.data??null,D=T.isError,O=T.isPending&&!E&&!D,k=_e(T.error,`Failed to fetch manifest.`),A=E?.tags??[],j=E?.summary?.enabledProtocols??[],M=(0,H.useDeferredValue)(b),N=(0,H.useMemo)(()=>A.filter(e=>e.kind===`variable`),[A]),P=(0,H.useMemo)(()=>{let e=new Map;for(let t of N)e.set(t.asset,(e.get(t.asset)??0)+1);return[...e.entries()].sort((e,t)=>e[0].localeCompare(t[0]))},[N]),B=(0,H.useMemo)(()=>{let e=new Map;for(let t of N)e.set(t.model,(e.get(t.model)??0)+1);return[...e.entries()].sort((e,t)=>e[0].localeCompare(t[0]))},[N]),V=(0,H.useMemo)(()=>{let e=M.trim().toLowerCase();if(!p&&!h&&!_&&!e)return N;let t=[];for(let n of N)p&&n.protocols[p]==null||h&&n.asset!==h||_&&n.model!==_||e&&!n.member.toLowerCase().includes(e)||t.push(n);return t},[N,p,h,_,M]),[Ee,De]=(0,H.useState)([]),[Ae,Me]=(0,H.useState)({}),[U,W]=(0,H.useState)(0),Ne=p!==``||h!==``||_!==``||b!==``,Pe=(0,H.useCallback)(()=>{m(``),g(``),v(``),x(``),W(0)},[m,g,v,x]),G=Se({data:V,columns:Je,getCoreRowModel:we(),getSortedRowModel:Ce(),getExpandedRowModel:xe(),getRowCanExpand:()=>!0,getPaginationRowModel:be(),onSortingChange:De,onExpandedChange:Me,onPaginationChange:e=>{let t=typeof e==`function`?e({pageIndex:U,pageSize:w}):e;W(t.pageIndex),C(t.pageSize)},state:{sorting:Ee,expanded:Ae,pagination:{pageIndex:U,pageSize:w}}}),K=Math.ceil(V.length/w);(0,H.useEffect)(()=>{S!==w&&C(w)},[w,S,C]),(0,H.useEffect)(()=>{K>0&&U>=K&&W(K-1)},[K,U]);let Fe=(0,H.useCallback)(e=>{W(0),C(e)},[C]),Ie=(0,H.useCallback)(e=>{W(0),m(e)},[m]),Le=(0,H.useCallback)(e=>{W(0),g(e)},[g]),q=(0,H.useCallback)(e=>{W(0),v(e)},[v]),J=(0,H.useCallback)(e=>{W(0),x(e)},[x]),[Re,ze]=(0,H.useState)(``),[X,Ke]=(0,H.useState)(``),Z=(0,H.useDeferredValue)(Re),Q=(0,H.useDeferredValue)(X),tt=(0,H.useMemo)(()=>(Z?P.filter(([e])=>ee(e,Z)):P).slice(0,Qe),[P,Z]),nt=(0,H.useMemo)(()=>(Q?B.filter(([e])=>te(e,Q)):B).slice(0,Qe),[B,Q]),rt=G.getRowModel().rows,$=rt.length,it=$===0||V.length===0?0:U*w+1,at=$===0||V.length===0?0:U*w+$,ot=K,st=V.length===0||ot===0?0:U+1,ct=(0,H.useCallback)(()=>{let e=p?[p]:j,t=[`asset`,`member`,`model`,`dataType`,`unit`,`access`,`browsePath`,...e.includes(`mqtt`)?[`mqtt_topic`]:[],...e.includes(`opcua`)?[`opcua_nodeId`]:[],...e.includes(`modbus`)?[`modbus_address`,`modbus_count`,`modbus_encoding`]:[]],n=V.map(t=>{let n=t.protocols.mqtt,r=t.protocols.opcua,i=t.protocols.modbus;return[t.asset,t.member,t.model,t.dataType,t.unit??``,t.access,t.browsePath,...e.includes(`mqtt`)?[String(n?.topic??``)]:[],...e.includes(`opcua`)?[String(r?.nodeId??``)]:[],...e.includes(`modbus`)?[String(i?.address??``),String(i?.count??``),String(i?.registerType??``)]:[]]});Ye([t.map(et).join(`,`),...n.map(e=>e.map(et).join(`,`))].join(`
|
|
4
|
+
`),`miravo-tags.csv`)},[V,p,j]);return D&&!E?(0,Y.jsx)(ge,{className:`min-h-full`,children:(0,Y.jsx)(`div`,{className:`flex min-h-[40vh] flex-col items-center justify-center p-6 sm:p-12`,children:(0,Y.jsx)(`div`,{className:`w-full max-w-md`,children:(0,Y.jsx)(he,{message:k,onRetry:()=>void T.refetch(),isRetrying:T.isFetching})})})}):(0,Y.jsxs)(`div`,{className:`mx-auto flex w-full max-w-screen-2xl flex-col gap-5 p-4 sm:gap-6 sm:p-6`,children:[D&&E?(0,Y.jsx)(he,{message:`${k} Showing cached tags.`,onRetry:()=>void T.refetch(),isRetrying:T.isFetching}):null,(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Y.jsx)(`h1`,{className:`font-heading text-2xl font-semibold tracking-tight`,children:`Tag Explorer`}),(0,Y.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:O?`Loading tag manifest...`:`${E?.summary?.totalAssets??0} assets · ${j.length} protocols`})]}),(0,Y.jsxs)(ue,{children:[(0,Y.jsxs)(le,{render:(0,Y.jsx)(y,{variant:`outline`,size:`sm`,className:ne(Ue,`px-3`)}),children:[(0,Y.jsx)(me,{className:`size-3.5 opacity-90`,"aria-hidden":!0}),`Export`,(0,Y.jsx)(de,{className:`size-3 opacity-60`,"aria-hidden":!0})]}),(0,Y.jsx)(oe,{align:`end`,sideOffset:6,className:ne(`min-w-[13.5rem]`,Ve),children:(0,Y.jsxs)(ce,{children:[(0,Y.jsx)(re,{className:He,children:`Export`}),(0,Y.jsx)(se,{className:`bg-border/60`}),(0,Y.jsxs)(ae,{onClick:ct,className:We,children:[(0,Y.jsx)(je,{className:`size-3.5 shrink-0 text-primary`,"aria-hidden":!0}),`Download CSV`]}),(0,Y.jsxs)(ae,{onClick:()=>t(!0),className:We,children:[(0,Y.jsx)(Oe,{className:`size-3.5 shrink-0 text-primary`,"aria-hidden":!0}),`Export for Integration…`]})]})})]})]}),(0,Y.jsx)(Ge,{protocol:p,asset:h,model:_,member:b,enabledProtocols:j,hasFilters:Ne,memberSearchRef:n,onProtocolChange:Ie,onAssetChange:Le,onModelChange:q,onMemberChange:J,onClearFilters:Pe,onAssetSearch:ze,onModelSearch:Ke,filteredAssetOptions:tt,filteredModelOptions:nt}),V.length!==N.length&&N.length>0&&(0,Y.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Showing`,` `,(0,Y.jsx)(`span`,{className:`font-medium tabular-nums text-foreground`,children:V.length}),` of`,` `,(0,Y.jsx)(`span`,{className:`tabular-nums`,children:N.length}),` tags`]}),(0,Y.jsx)(ve,{className:`min-w-0 py-0`,children:(0,Y.jsx)(ye,{className:`p-0`,children:(0,Y.jsx)(`div`,{className:`min-w-0 overflow-auto`,children:(0,Y.jsxs)(`table`,{className:`w-full caption-bottom text-sm`,children:[(0,Y.jsx)(`thead`,{className:`sticky top-0 z-10 border-b bg-background [&_tr]:border-b`,children:G.getHeaderGroups().map(e=>(0,Y.jsx)(`tr`,{className:`border-b transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,children:e.headers.map(e=>{let t=e.column.columnDef.meta;return(0,Y.jsx)(`th`,{className:`h-10 whitespace-nowrap px-1.5 text-left text-xs font-medium text-muted-foreground sm:px-4 ${t?.hideClass??``} ${t?.cellClass??``}`,children:e.isPlaceholder?null:Te(e.column.columnDef.header,e.getContext())},e.id)})},e.id))}),(0,Y.jsx)(`tbody`,{className:`[&_tr:last-child]:border-0`,children:O?null:rt.length>0?rt.map(e=>{let t=e.getIsExpanded(),n=e.getVisibleCells();return(0,Y.jsxs)(H.Fragment,{children:[(0,Y.jsx)(`tr`,{tabIndex:0,className:`cursor-pointer border-b transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:bg-sidebar-accent focus-visible:outline-none`,onClick:()=>e.toggleExpanded(),onKeyDown:t=>{t.key!==`Enter`&&t.key!==` `||(t.preventDefault(),e.toggleExpanded())},children:n.map(e=>{let t=e.column.columnDef.meta;return(0,Y.jsx)(`td`,{className:`whitespace-nowrap px-1.5 py-1.5 text-left sm:px-4 ${t?.hideClass??``} ${t?.cellClass??``}`,children:Te(e.column.columnDef.cell,e.getContext())},e.id)})}),t&&(0,Y.jsx)(`tr`,{children:(0,Y.jsx)(`td`,{colSpan:n.length,className:`p-0`,children:(0,Y.jsx)(`div`,{className:`border-b`,children:(0,Y.jsx)(`div`,{className:`px-1.5 py-3 pl-6 sm:px-4 sm:pl-10`,children:(0,Y.jsx)(qe,{tag:e.original,enabledProtocols:j})})})})})]},e.id)}):(0,Y.jsx)(`tr`,{children:(0,Y.jsx)(`td`,{colSpan:Je.length,className:`h-32 px-2 text-center sm:px-4`,children:N.length===0?(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,Y.jsx)(ke,{className:`size-8 text-muted-foreground`}),(0,Y.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No tags available`}),(0,Y.jsx)(f,{to:`/catalog`,className:`text-xs text-primary underline-offset-4 hover:underline`,children:`Start a factory from the Catalog to generate tags`})]}):(0,Y.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`No matching tags.`,` `,(0,Y.jsx)(`span`,{className:`text-xs`,children:`Try adjusting your filters.`})]})})})})]})})})}),(0,Y.jsx)(`div`,{className:`px-3 py-2 text-xs text-muted-foreground`,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between sm:gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3 sm:justify-start sm:gap-5`,children:[(0,Y.jsxs)(`p`,{className:`min-w-0 leading-tight`,children:[(0,Y.jsx)(`span`,{className:`font-medium tabular-nums text-foreground`,children:it===0?`0`:`${it}\u2013${at}`}),` `,(0,Y.jsxs)(`span`,{className:`text-muted-foreground`,children:[`of `,V.length,` tags`]})]}),(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5 whitespace-nowrap`,children:[(0,Y.jsxs)(z,{value:String(w),onValueChange:e=>e&&Fe(Number(e)),children:[(0,Y.jsx)(R,{className:`h-8 w-[4.25rem]`,"aria-label":`Rows per page`,children:(0,Y.jsx)(F,{})}),(0,Y.jsx)(L,{children:Xe.map(e=>(0,Y.jsx)(I,{value:String(e),children:e},e))})]}),(0,Y.jsx)(`span`,{className:`hidden text-muted-foreground sm:inline`,children:`per page`})]})]}),(0,Y.jsxs)(`nav`,{className:`flex items-center justify-center gap-2 border-border/60 border-t pt-2 sm:justify-end sm:border-0 sm:pt-0`,"aria-label":`Table pages`,children:[(0,Y.jsx)(y,{variant:`outline`,size:`sm`,className:`h-8 w-8 shrink-0 p-0`,disabled:!G.getCanPreviousPage(),onClick:()=>G.previousPage(),"aria-label":`Previous page`,children:(0,Y.jsx)(fe,{className:`size-3.5`})}),(0,Y.jsxs)(`span`,{className:`min-w-[5ch] text-center text-sm font-medium tabular-nums whitespace-nowrap text-foreground`,children:[st,` / `,ot]}),(0,Y.jsx)(y,{variant:`outline`,size:`sm`,className:`h-8 w-8 shrink-0 p-0`,disabled:!G.getCanNextPage(),onClick:()=>G.nextPage(),"aria-label":`Next page`,children:(0,Y.jsx)(pe,{className:`size-3.5`})})]})]})}),(0,Y.jsx)(Be,{open:e,onOpenChange:t,tags:V,totalTags:A.length,enabledProtocols:j,selectedAsset:h||void 0})]})}export{Q as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./tags-BBz30-eV.js";export{e as TagsPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,a as t,c as n,g as r,n as i,o as a,s as o,t as s}from"./dom-Cm_OH5jc.js";import{C as c,S as l,T as u,_ as d,c as f,g as p,s as m,u as h,w as g}from"./status-CZFZLqVk.js";var _=7,v=Math.PI/180,y=3.4,b=_-1.7;function x(e,t){if(t.roof)return[t.roof[0],t.roof[1],e.h+y+b];let n=e.r+b;return[Math.cos(t.angle*v)*n,Math.sin(t.angle*v)*n,t.z]}function S(e){return{x:-e.r,y:-e.r,w:e.r*2,d:e.r*2,r:e.r}}function C(e){return[6,e.h-3]}function w(e,t,n){let{k:r,G:i,P:a,at:o,S:s,L:c,slab:l,cyl:u,hmi:d,screws:f}=e,{r:p,h:m}=n,h=[],g=(e,t)=>r.pathOf(r.circleRing(0,0,e,72).map(([e,n])=>o([e,n,t])),!0),{cosA:b,sinA:S}=r.cameraOf(a),w=e=>{let t=[];for(let r of n.nozzles){if(r.roof)continue;let n=r.angle*v;if(Math.cos(n)*b+Math.sin(n)*S<-.7!==e)continue;let o=i.frameAlong([Math.cos(n)*(p-.5),Math.sin(n)*(p-.5),r.z],[Math.cos(n),Math.sin(n),0]);t.push(s(i.disc(0,_-1.6,r.r+.5,o,a),{tone:`mid`}),s(i.disc(_-3,_-1.2,r.r+2,o,a),{tone:`mid`}))}return t};h.push(...w(!0)),h.push(u(0,0,p+2.4,0,1.6,{tone:`lo`},64)),h.push(u(0,0,p,1.6,m-1.6,{tone:`mid`},72));for(let e of[.34,.68])h.push(c(r.sideArc(0,0,p,m*e,a,48),{tone:`faint`}));let T=[];for(let e=0;e<14;e++){let t=e/14*Math.PI*2;T.push([Math.cos(t)*(p+1.2),Math.sin(t)*(p+1.2)])}h.push(f(T,1.6));let E=[];for(let e of n.nozzles){if(!e.roof)continue;let t=m+y;E.push(u(e.roof[0],e.roof[1],e.r+.5,t,_-1.6,{tone:`mid`},16),u(e.roof[0],e.roof[1],e.r+2,t+_-3,1.8,{tone:`mid`},20))}h.push(...w(!1));let D=(e,t,n)=>{let[r,i]=o(t);return`<circle class="sf-gled" data-lamp="${e}" data-s="" cx="${r.toFixed(2)}" cy="${i.toFixed(2)}" r="${n}"/>`};if(n.open){let e=p-3.2;h.push(c(g(p-.6,m),{tone:`lo`}),`<path class="tk-bore" d="${g(e,m)}"/>`);let[r,i]=C(n);if(h.push(`<clipPath id="bore-${t}"><path d="${g(e,m)}"/></clipPath><path class="tk-water" data-surface="0,0,${e},${r},${i}" clip-path="url(#bore-${t})" d=""/><g data-ripples clip-path="url(#bore-${t})"></g>`),h.push(c(g(e,m),{tone:`lo`})),h.push(u(0,0,5,m-6,6,{tone:`mid`},20)),n.spout){let[e,t,r]=n.spout;h.push(`<path class="tk-stream" data-inlet="${e},${t},${r}" d=""/>`,u(e,t,2.2,r-.6,.6,{tone:`mid`},14))}}else{h.push(u(0,0,p-2,m,2.2,{tone:`mid`},64),u(0,0,p*.62,m+2.2,1.2,{tone:`mid`},48)),h.push(c(g(p*.4,m+3.4),{tone:`faint`})),h.push(u(p*.2,-p*.45,3.6,m+2.2,2,{tone:`mid`},16),u(p*.2,-p*.45,1.6,m+4.2,4,{tone:`mid`},12));let t=-p*.3,r=p*.12;h.push(u(t,r,2.6,m+2.2,5,{tone:`mid`},16),u(t,r,1.4,m+7.2,7,{tone:`lo`},12)),h.push(D(`level`,[t,r,m+14.4],1));let i=p*.55,a=p*.6;h.push(u(i,a,1.2,m+2.2,3,{tone:`mid`,crease:`none`},12),u(i,a,2.2,m+5.2,4,{tone:`mid`},16)),h.push(D(`high`,[i,a,m+10],1.2));let o=52*v,s=Math.cos(o)*p,d=Math.sin(o)*p;h.push(l({x:s-2.4,y:d-1,w:4.8,d:5,r:.8},m*.62,6,{tone:`mid`},2,.2)),h.push(D(`temp`,[s,d+4.2,m*.62+4.6],.9));let f=n.windowX??-16,_=p+2,y=m-10;h.push(l({x:f-6,y:p-3-.8,w:12,d:5.4,r:1},6,y-8+4,{tone:`lo`},2,.3));let b=[0,25,50,75,100].map(e=>{let t=8+(y-8)*e/100;return`M${f+3.2} ${-t}H${f+5.2}`}).join(``);h.push(`<g transform="${e.front(_)}"><path class="tk-glass" d="M${f-2.4} ${-y}H${f+2.4}V-8H${f-2.4}Z"/><path class="tk-level" data-level="${f-2.4},${f+2.4},8,${y}" d=""/><path class="iso-line" data-tone="mid" d="${b}"/></g>`)}h.push(...E);let O=[];for(let e=0;e<=8;e++){let t=(62+e*6)*v;O.push([Math.cos(t)*(p+.4),Math.sin(t)*(p+.4),m])}let k=O.map(([e,t])=>[e*1.02,t*1.02,3]).reverse();h.push(`<path class="tk-sheet" data-sheet="" d="${r.pathOf([...O,...k].map(e=>o(e)),!0)}"/>`);let A=n.nozzles.find(e=>e.role===`inlet`),j=n.nozzles.find(e=>e.role===`outlet`);if(n.spout){let[e,t,r]=n.spout;h.push(D(`inlet`,[e,t,r+12],1))}else if(A){let[e,t,r]=x(n,A);h.push(D(`inlet`,[e,t,r+A.r+4],1))}if(j){let[e,t,r]=x(n,j);h.push(`<g data-leak="${e.toFixed(1)},${t.toFixed(1)},${(r-j.r).toFixed(1)}"></g>`)}let M=28*v,N=Math.cos(M)*(p+3.4),P=Math.sin(M)*(p+3.4),F=[[N-Math.sin(M)*2.6,P+Math.cos(M)*2.6],[N+Math.sin(M)*2.6,P-Math.cos(M)*2.6]],I=[];for(let[e,t]of F)I.push(r.segment([e,t,2],[e,t,m+8],a));for(let e=6;e<m+6;e+=6)I.push(r.segment([F[0]?.[0]??0,F[0]?.[1]??0,e],[F[1]?.[0]??0,F[1]?.[1]??0,e],a));h.push(c(I.join(``),{tone:`lo`}));let L=n.panelX??26,R=p+10;return h.push(l({x:L-15,y:R-3,w:30,d:6,r:1},0,2,{tone:`lo`},2,.3),u(L-9,R,1,2,12,{tone:`mid`,crease:`none`},10),u(L+9,R,1,2,12,{tone:`mid`,crease:`none`},10),l({x:L-13,y:R-1.2,w:26,d:3.2,r:.8},12,18,{tone:`mid`},2,.3),d(t,R+2,L-11.5,L+11.5,14.4,26.6)),h.join(``)}var T=72;function E(_){let{svg:v,P:y,feed:b}=_,x=(e,t)=>b.num(e,t),S=new Set;for(let e of i(v,`[data-level], [data-surface]`))S.add(m(e));let C=[...S].map(e=>{let t=t=>s(v,`[data-asset="${e}"] ${t}`),n=c(v,e),r=f(t(`[data-leak]`)?.dataset.leak),l=t(`[data-inlet]`),d=t(`[data-surface]`);return{id:e,level:0,seen:!1,window:t(`[data-level]`),box:o(t(`[data-level]`)?.dataset.level),surface:d,range:o(d?.dataset.surface),inlet:l,inletAt:f(l?.dataset.inlet),sheet:t(`[data-sheet]`),lamps:new Map(i(v,`[data-asset="${e}"] [data-lamp]`).map(e=>[e.dataset.lamp??``,e])),leakAt:r,puddle:a(`path`,{class:`tk-puddle`},n),drips:u(n,3,`ellipse`,`tk-drip`),ripples:l?u(t(`[data-ripples]`)??n,2,`path`,`tk-ripple`):[],age:0}}),w=new Map(C.map(e=>[e.id,e]));return{draw(i,a,o){let s=_.reducedMotion();for(let c of C){let u=p(x(c.id,`level_percent`)/100);if(c.level=c.seen?d(c.level,u,i,.8,s):u,c.seen=c.seen||Number.isFinite(u),c.window){let[e=0,t=0,r=0,i=0]=c.box,a=r+(i-r)*c.level;n(c.window,`d`,`M${e} ${-a}H${t}V${-r}H${e}Z`)}let f=0;if(c.surface){let[t=0,i=0,a=0,o=0,s=0]=c.range;f=o+(s-o)*c.level;let l=r(t,i,a,T).map(([t,n])=>e([t,n,f],y));n(c.surface,`d`,`M${l.map(([e,t])=>`${e.toFixed(1)} ${t.toFixed(1)}`).join(`L`)}Z`)}if(!o)continue;let m=x(c.id,`inflow_rate`)>.02;if(c.inlet){let[i,o,l]=c.inletAt,[u,d]=e([i,o,l-.6],y),[p,h]=e([i,o,f],y),[g]=e([i+1,o,l],y),_=Math.abs(g-u),v=1.7*_,b=1.1*_,x=e=>e.toFixed(1);n(c.inlet,`d`,m?`M${x(u-v)} ${x(d)}L${x(u+v)} ${x(d)}L${x(p+b)} ${x(h)}L${x(p-b)} ${x(h)}Z`:``);for(let[n,l]of c.ripples.entries()){if(!m||s){t(l.el,`0`);continue}let c=(a*.7+n/2)%1,u=r(i,o,1+c*7,28).map(([t,n])=>e([t,n,f],y));l.el.setAttribute(`d`,`M${u.map(([e,t])=>`${e.toFixed(1)} ${t.toFixed(1)}`).join(`L`)}Z`),t(l.el,((1-c)*.7).toFixed(2))}}let _=Math.floor(a*2)%2==0,v=(e,t)=>n(c.lamps.get(e),`data-s`,t||null);v(`level`,g(b,c.id,`level_sensor_drift`)?_?`a`:``:`g`),v(`temp`,g(b,c.id,`temperature_transmitter_failure`)?`r`:`g`),v(`inlet`,g(b,c.id,`inlet_valve_stuck`)?`a`:``),v(`high`,x(c.id,`level_switch_high`)>0?`r`:``);let S=g(b,c.id,`overflow`);n(c.sheet,`data-on`,S?``:null);let C=g(b,c.id,`outlet_leak`)||S;c.age=C?Math.min(c.age+i,90):Math.max(0,c.age-i*.5);let w=c.age>0?3+7*(1-Math.exp(-c.age/12)):0,[E,D,O]=c.leakAt;n(c.puddle,`d`,w?h([E,D+3],w,.6,y,32):``);for(let n of c.drips){if(!C||s){t(n.el,`0`);continue}let r=(a*.9+n.seed)%1,[i,o]=e([E,D,O-r*r*O],y);l(n.el,i,o),n.el.setAttribute(`rx`,`0.5`),n.el.setAttribute(`ry`,(.45+r*.5).toFixed(2)),t(n.el,`0.9`)}}},bar(e){return w.get(e)?.level},level(e){return w.get(e)?.level}}}export{w as i,S as n,x as r,E as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{G as e,H as t,K as n,U as r,V as i,W as a,ot as o,q as s}from"./vendor-ui-D8j69UH4.js";import{t as c}from"./utils-XFKvwlFT.js";var l=o();function u({delay:e=0,...t}){return(0,l.jsx)(i,{"data-slot":`tooltip-provider`,delay:e,...t})}function d({...e}){return(0,l.jsx)(s,{"data-slot":`tooltip`,...e})}function f({...e}){return(0,l.jsx)(n,{"data-slot":`tooltip-trigger`,...e})}function p({className:n,side:i=`top`,sideOffset:o=3,align:s=`center`,alignOffset:u=0,children:d,...f}){return(0,l.jsx)(e,{children:(0,l.jsx)(a,{align:s,alignOffset:u,side:i,sideOffset:o,className:`isolate z-50`,children:(0,l.jsxs)(r,{"data-slot":`tooltip-content`,className:c(`z-50 inline-flex w-fit max-w-[min(18rem,85vw)] origin-(--transform-origin) items-center gap-1 rounded-[var(--miravo-radius-tight)] bg-tooltip px-2 py-1 text-[11px] leading-tight text-tooltip-foreground shadow-md shadow-black/25 has-data-[slot=kbd]:pr-1 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-[var(--miravo-radius-tight)] data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,n),...f,children:[d,(0,l.jsx)(t,{className:`z-50 size-2 translate-y-[calc(-50%-1px)] rotate-45 rounded-[1px] bg-tooltip fill-tooltip data-[side=bottom]:top-0.5 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-0.5 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-0.5 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-0.5 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-0.5 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2`})]})})})}export{f as i,p as n,u as r,d as t};
|
package/console-dist/assets/{transition-nav-link-Crj9XTbK.js → transition-nav-link-B11-gXld.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{ot as e}from"./vendor-ui-D8j69UH4.js";import{r as t}from"./chunk-OE4NN4TA-DBWZidbW.js";import{n,t as r}from"./use-transition-navigate-B-nk4aWh.js";var i=e();function a(e){return e.button===0&&!e.metaKey&&!e.altKey&&!e.ctrlKey&&!e.shiftKey}function o({to:e,transitionType:o,preloadOnIntent:s=!0,onClick:c,...l}){let u=r();return(0,i.jsx)(t,{...l,to:e,onMouseEnter:t=>{l.onMouseEnter?.(t),s&&n(e)},onFocus:t=>{l.onFocus?.(t),s&&n(e)},onClick:t=>{c?.(t),!t.defaultPrevented&&(l.reloadDocument||l.target&&l.target!==`_self`||l.download||a(t)&&(t.preventDefault(),u(e,{transitionType:o})))}})}export{o as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./utils-XFKvwlFT.js";var t=e(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]);export{t};
|