385 lines
360 KiB
HTML
385 lines
360 KiB
HTML
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<title>Bundled Page</title>
|
||
<style>
|
||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||
body { background: #25252a; display: flex; align-items: center; justify-content: center; min-height: 100vh; font-family: -apple-system, BlinkMacSystemFont, sans-serif; }
|
||
#__bundler_loading { position: fixed; bottom: 20px; right: 20px; font: 13px/1.4 -apple-system, BlinkMacSystemFont, sans-serif; color: #666; background: #fff; padding: 8px 14px; border-radius: 8px; box-shadow: 0 1px 4px rgba(0,0,0,0.12); z-index: 10000; }
|
||
#__bundler_thumbnail { position: fixed; inset: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: #25252a; z-index: 9999; }
|
||
#__bundler_thumbnail svg { width: 100%; height: 100%; object-fit: contain; }
|
||
#__bundler_placeholder { color: #999; font-size: 14px; }
|
||
</style>
|
||
<noscript>
|
||
<style>#__bundler_loading { display: none; }</style>
|
||
<div style="position:fixed;bottom:12px;left:12px;font:13px/1.4 -apple-system,BlinkMacSystemFont,sans-serif;color:#999;background:rgba(255,255,255,0.9);padding:6px 12px;border-radius:6px;box-shadow:0 1px 4px rgba(0,0,0,0.08);z-index:10000;">
|
||
This page requires JavaScript to display.
|
||
</div>
|
||
</noscript>
|
||
</head>
|
||
<body>
|
||
<div id="__bundler_thumbnail"><svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><rect x="16" y="16" width="32" height="32" rx="7" fill="#a99af0"></rect><rect x="21.5" y="21" width="21" height="22" rx="5" fill="#2a2431"></rect><rect x="24.25" y="24" width="15.5" height="12.5" rx="3" fill="#a99af0"></rect><circle cx="28.75" cy="30.25" r="1.9" fill="#2a2431"></circle><path d="M32.5 30.75 Q35 28 37.5 30.75" fill="none" stroke="#2a2431" stroke-width="1.8" stroke-linecap="round"></path></svg></div>
|
||
<div id="__bundler_loading">Unpacking...</div>
|
||
|
||
<script>
|
||
|
||
document.addEventListener('DOMContentLoaded', async function() {
|
||
const loading = document.getElementById('__bundler_loading');
|
||
function setStatus(msg) { if (loading) loading.textContent = msg; }
|
||
|
||
const FONT_MIME = /^(font[/]|application[/](x-)?font-|application[/]vnd\.ms-fontobject)/i;
|
||
const MIME_TOKEN = /^[\w.+-]+[/][\w.+-]+$/;
|
||
function toBase64(bytes) {
|
||
let bin = '';
|
||
for (let i = 0; i < bytes.length; i += 0x8000) {
|
||
bin += String.fromCharCode.apply(null, bytes.subarray(i, i + 0x8000));
|
||
}
|
||
return btoa(bin);
|
||
}
|
||
|
||
// Error sink persists across replaceWith since it's on window, not the DOM.
|
||
window.addEventListener('error', function(e) {
|
||
// Failed resource loads (CSP-blocked links, scripts, images) fire plain
|
||
// events at the element — warn only; real JS errors carry message/error.
|
||
if (!e.message && !e.error && e.target && e.target !== window) {
|
||
console.warn('[bundle] resource failed to load:',
|
||
e.target.tagName, String(e.target.src || e.target.href || ''));
|
||
return;
|
||
}
|
||
var p = document.body || document.documentElement;
|
||
var d = document.getElementById('__bundler_err') || p.appendChild(document.createElement('div'));
|
||
d.id = '__bundler_err';
|
||
d.style.cssText = 'position:fixed;bottom:12px;left:12px;right:12px;font:12px/1.4 ui-monospace,monospace;background:#2a1215;color:#ff8a80;padding:10px 14px;border-radius:8px;border:1px solid #5c2b2e;z-index:99999;white-space:pre-wrap;max-height:40vh;overflow:auto';
|
||
d.textContent = (d.textContent ? d.textContent + String.fromCharCode(10) : '') +
|
||
'[bundle] ' + (e.message || e.type) +
|
||
(e.filename ? ' (' + e.filename.slice(0, 60) + ':' + e.lineno + ')' : '');
|
||
}, true);
|
||
|
||
try {
|
||
const manifestEl = document.querySelector('script[type="__bundler/manifest"]');
|
||
const templateEl = document.querySelector('script[type="__bundler/template"]');
|
||
if (!manifestEl || !templateEl) {
|
||
setStatus('Error: missing bundle data');
|
||
console.error('[bundler] Missing script tags — manifestEl:', !!manifestEl, 'templateEl:', !!templateEl);
|
||
return;
|
||
}
|
||
|
||
const manifest = JSON.parse(manifestEl.textContent);
|
||
let template = JSON.parse(templateEl.textContent);
|
||
|
||
// Nested page bundles (iframe targets). Each ships ONCE, in the ROOT
|
||
// document's manifest; frame srcs carry an about:blank#<uuid> marker
|
||
// instead of a substitutable uuid. Every document mints the blobs for
|
||
// its OWN frames — from local text at the root, or text obtained from
|
||
// its DIRECT parent over the relay protocol below — so each frame
|
||
// navigation stays same-origin with its initiator and a deduped page
|
||
// loads at any depth on any host, including a file:// download's
|
||
// opaque origins (where a blob minted by one document cannot be
|
||
// navigated to by another).
|
||
const pageOrderEl = document.querySelector('script[type="__bundler/page_order"]');
|
||
const pageOrder = pageOrderEl ? JSON.parse(pageOrderEl.textContent) : [];
|
||
const pageSet = new Set(pageOrder);
|
||
const pageTexts = {};
|
||
|
||
// ── Nested-page text protocol (parent-chain relay) ──
|
||
// Page bundles ship once, in the ROOT document's manifest. Every
|
||
// document mints the blobs for its OWN frames, obtaining page text
|
||
// through a strict parent-chain relay: a document only ever SENDS to
|
||
// its direct parent (which, for every document the publisher's own
|
||
// runtime minted, is another publisher document) and only ACCEPTS
|
||
// text from that direct parent; requests from below are honored only
|
||
// for the document's own child frames, and the ROOT never sends
|
||
// upward at all. That last rule is load-bearing: the artifact host's
|
||
// frame-ancestors allows claude.ai (and friends) to frame an
|
||
// artifact, so window.top can be a FOREIGN document — a top-addressed
|
||
// protocol would hand page uuids to that ancestor and accept forged
|
||
// "page text" from it, minting attacker HTML as an artifact-origin
|
||
// blob document. The chain never touches the ancestor: requests stop
|
||
// at the root, replies are origin-addressed per hop (never '*' when
|
||
// an origin exists), and both directions are origin-gated (on https
|
||
// a foreign sender's origin can never equal this document's; in
|
||
// opaque contexts — file:// — everything serializes as 'null', where
|
||
// an embedded EXTERNAL frame still fails the gate by carrying its
|
||
// own real origin, and a sandboxed child of such a frame is excluded
|
||
// by the own-child-frames check plus uuid unguessability). Shape is
|
||
// deny-by-default: one request form, one reply form, no error
|
||
// replies.
|
||
// window.origin is the SERIALIZED SECURITY origin ('null' in opaque
|
||
// contexts such as a sandboxed preview iframe) — location.origin is
|
||
// computed from the URL and stays 'https://…' even when the document
|
||
// is sandboxed, which would misgate every opaque chain.
|
||
const OWN_TARGET = /^https?:[/][/]/.test(window.origin || '')
|
||
? window.origin
|
||
: '*';
|
||
function trustedOrigin(e) {
|
||
if (e.origin === window.origin) return true; // https chains; opaque==opaque
|
||
// file:// trees: Chrome serializes the file document's origin as
|
||
// 'file://' while the blob: documents it mints serialize as 'null',
|
||
// so the two legitimate shapes can never string-match — accept the
|
||
// pair in both directions. https origins never serialize as either,
|
||
// and sender identity (own child frame / direct parent) is checked
|
||
// separately.
|
||
return (
|
||
(e.origin === 'null' &&
|
||
(window.origin === 'file://' ||
|
||
window.location.protocol === 'file:')) ||
|
||
(/^file:/.test(e.origin) && window.origin === 'null')
|
||
);
|
||
}
|
||
// Non-empty only in the root document (nested bundles ship an empty
|
||
// island), so it doubles as the root marker: the root answers from
|
||
// local text and treats a miss as authoritative — never relaying to
|
||
// its (possibly foreign) parent.
|
||
const isPageRoot = pageOrder.length > 0;
|
||
const blobUrls = {};
|
||
const resourceBlobs = {};
|
||
const UUID_SHAPE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
|
||
const pendingFrames = {}; // uuid -> [{el, frag}] awaiting text for own frames
|
||
const pendingRelays = {}; // uuid -> [childWindow] awaiting text to pass down
|
||
function mountPage(el, frag, text) {
|
||
const pageBlob = new Blob([text], { type: 'text/html' });
|
||
const u = URL.createObjectURL(pageBlob);
|
||
resourceBlobs[u] = pageBlob;
|
||
el.src = u + frag;
|
||
}
|
||
function deliverPage(uuid, text) {
|
||
const frames = pendingFrames[uuid];
|
||
delete pendingFrames[uuid];
|
||
if (frames) for (const f of frames) mountPage(f.el, f.frag, text);
|
||
const relays = pendingRelays[uuid];
|
||
delete pendingRelays[uuid];
|
||
if (relays) {
|
||
for (const cw of relays) {
|
||
try { cw.postMessage({ __bundler_page: uuid, __bundler_text: text }, OWN_TARGET); } catch (err) { /* gone */ }
|
||
}
|
||
}
|
||
}
|
||
function ownFrameWindows() {
|
||
const out = [];
|
||
for (const f of Array.from(document.querySelectorAll('iframe'))) {
|
||
try { if (f.contentWindow) out.push(f.contentWindow); } catch (err) { /* detached */ }
|
||
}
|
||
return out;
|
||
}
|
||
window.addEventListener('message', function (e) {
|
||
const d = e.data;
|
||
if (!d || typeof d !== 'object' || !e.source) return;
|
||
// Origin gate first; the structural checks below (own-child-frames
|
||
// for requests, direct-parent + solicited-uuid for replies, the
|
||
// root's never-relay rule) are what hold in fully opaque chains
|
||
// where origin strings can't discriminate — a sandboxed root's
|
||
// FOREIGN wrapper still fails all three even though both serialize
|
||
// as real-vs-'null' rather than matching.
|
||
if (!trustedOrigin(e)) return;
|
||
if (typeof d.__bundler_need === 'string' && UUID_SHAPE.test(d.__bundler_need)) {
|
||
// Requests are honored only for this document's own child frames.
|
||
if (ownFrameWindows().indexOf(e.source) < 0) return;
|
||
const uuid = d.__bundler_need;
|
||
const text = pageTexts[uuid];
|
||
if (typeof text === 'string') {
|
||
try { e.source.postMessage({ __bundler_page: uuid, __bundler_text: text }, OWN_TARGET); } catch (err) { /* gone */ }
|
||
return;
|
||
}
|
||
if (isPageRoot || window.parent === window) return; // authoritative miss
|
||
const waiting = pendingRelays[uuid];
|
||
if (waiting) {
|
||
if (waiting.indexOf(e.source) < 0) waiting.push(e.source);
|
||
return;
|
||
}
|
||
// Never-answered uuids would otherwise accumulate forever under a
|
||
// request spray; past the cap (far above any real page count) new
|
||
// relays are dropped rather than remembered.
|
||
if (Object.keys(pendingRelays).length >= 128) return;
|
||
pendingRelays[uuid] = [e.source];
|
||
window.parent.postMessage({ __bundler_need: uuid }, OWN_TARGET);
|
||
} else if (
|
||
typeof d.__bundler_page === 'string' &&
|
||
UUID_SHAPE.test(d.__bundler_page) &&
|
||
typeof d.__bundler_text === 'string'
|
||
) {
|
||
// The shape test is load-bearing beyond tidiness: the solicited
|
||
// check below uses the in operator, which matches prototype keys
|
||
// ('__proto__', 'constructor') — an unshaped key would reach
|
||
// deliverPage and throw, painting the error banner.
|
||
// Text is accepted only from the direct parent — the document
|
||
// that minted this one.
|
||
if (e.source !== window.parent || window.parent === window) return;
|
||
if (!(d.__bundler_page in pendingFrames) && !(d.__bundler_page in pendingRelays)) return;
|
||
deliverPage(d.__bundler_page, d.__bundler_text);
|
||
}
|
||
});
|
||
|
||
const uuids = Object.keys(manifest);
|
||
setStatus('Unpacking ' + uuids.length + ' assets...');
|
||
|
||
await Promise.all(uuids.map(async (uuid) => {
|
||
const entry = manifest[uuid];
|
||
try {
|
||
const binaryStr = atob(entry.data);
|
||
const bytes = new Uint8Array(binaryStr.length);
|
||
for (let i = 0; i < binaryStr.length; i++) bytes[i] = binaryStr.charCodeAt(i);
|
||
|
||
let finalBytes = bytes;
|
||
if (entry.compressed) {
|
||
if (typeof DecompressionStream !== 'undefined') {
|
||
const ds = new DecompressionStream('gzip');
|
||
const writer = ds.writable.getWriter();
|
||
const reader = ds.readable.getReader();
|
||
writer.write(bytes);
|
||
writer.close();
|
||
const chunks = [];
|
||
let totalLen = 0;
|
||
while (true) {
|
||
const { done, value } = await reader.read();
|
||
if (done) break;
|
||
chunks.push(value);
|
||
totalLen += value.length;
|
||
}
|
||
finalBytes = new Uint8Array(totalLen);
|
||
let offset = 0;
|
||
for (const chunk of chunks) { finalBytes.set(chunk, offset); offset += chunk.length; }
|
||
} else {
|
||
console.warn('DecompressionStream not available, asset ' + uuid + ' may not render');
|
||
}
|
||
}
|
||
|
||
if (pageSet.has(uuid)) {
|
||
pageTexts[uuid] = new TextDecoder().decode(finalBytes);
|
||
return;
|
||
}
|
||
if (FONT_MIME.test(entry.mime) && MIME_TOKEN.test(entry.mime)) {
|
||
// Strict artifact hosts allow font-src data: but not blob:.
|
||
blobUrls[uuid] = 'data:' + entry.mime + ';base64,' +
|
||
(entry.compressed ? toBase64(finalBytes) : entry.data);
|
||
} else {
|
||
const blob = new Blob([finalBytes], { type: entry.mime });
|
||
blobUrls[uuid] = URL.createObjectURL(blob);
|
||
resourceBlobs[blobUrls[uuid]] = blob;
|
||
}
|
||
} catch (err) {
|
||
console.error('Failed to decode asset ' + uuid + ':', err);
|
||
const blob = new Blob([], { type: entry.mime });
|
||
blobUrls[uuid] = URL.createObjectURL(blob);
|
||
resourceBlobs[blobUrls[uuid]] = blob;
|
||
}
|
||
}));
|
||
|
||
const extResEl = document.querySelector('script[type="__bundler/ext_resources"]');
|
||
const extResources = extResEl ? JSON.parse(extResEl.textContent) : [];
|
||
const resourceMap = {};
|
||
for (const entry of extResources) {
|
||
if (blobUrls[entry.uuid]) resourceMap[entry.id] = blobUrls[entry.uuid];
|
||
}
|
||
|
||
// Artifact-host CSP (connect-src 'self') refuses fetch() of blob: URLs —
|
||
// consumers read these Blobs directly. Survives the swap like the error sink.
|
||
window.__resourceBlobs = resourceBlobs;
|
||
|
||
setStatus('Rendering...');
|
||
// Page uuids have no blob here — they ride inside about:blank#<uuid>
|
||
// frame markers the pass below resolves after the swap.
|
||
for (const uuid of uuids) {
|
||
if (pageSet.has(uuid)) continue;
|
||
template = template.split(uuid).join(blobUrls[uuid]);
|
||
}
|
||
|
||
// Strip integrity + crossorigin — blob URLs from a file:// document inherit
|
||
// a null origin, so crossorigin forces a CORS fetch that SRI then rejects.
|
||
// The manifest bytes are ours; SRI protects against CDN compromise, not this.
|
||
template = template.replace(/\s+integrity="[^"]*"/gi, '').replace(/\s+crossorigin="[^"]*"/gi, '');
|
||
|
||
const resourceScript = '<script>window.__resources = ' +
|
||
JSON.stringify(resourceMap).replace(/<\//g, '<\\/') +
|
||
';</' + 'script>';
|
||
// Inject after <head> so the DOCTYPE stays first; prepending the script
|
||
// would push the parser into quirks mode. DOMParser always emits a <head>
|
||
// (synthesizing one if the source HTML omitted it) but may carry
|
||
// attributes through, so match the full opening tag. slice() rather than
|
||
// replace() keeps us clear of $-pattern substitution in resourceScript.
|
||
const headOpen = template.match(/<head[^>]*>/i);
|
||
if (headOpen) {
|
||
const i = headOpen.index + headOpen[0].length;
|
||
template = template.slice(0, i) + resourceScript + template.slice(i);
|
||
}
|
||
|
||
// Parse the template and swap the root element. Scripts inserted via
|
||
// DOMParser/replaceWith are inert per spec — re-create each with
|
||
// createElement so they execute, awaiting onload for src scripts to
|
||
// preserve ordering (React before ReactDOM before Babel before text/babel).
|
||
const doc = new DOMParser().parseFromString(template, 'text/html');
|
||
document.documentElement.replaceWith(doc.documentElement);
|
||
|
||
// Resolve page-frame markers: mint this document's own blob for each
|
||
// framed page — from local text when this is the root, otherwise by
|
||
// asking the direct parent over the relay protocol above. An
|
||
// unanswered request leaves the frame on about:blank, the same
|
||
// degraded state as a refused embed.
|
||
{
|
||
const MARKER = /^about:blank#([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(#.*)?$/;
|
||
const needed = [];
|
||
for (const el of Array.from(document.querySelectorAll('iframe'))) {
|
||
const m = MARKER.exec(el.getAttribute('src') || '');
|
||
if (!m) continue;
|
||
const text = pageTexts[m[1]];
|
||
if (typeof text === 'string') {
|
||
mountPage(el, m[2] || '', text);
|
||
} else if (window.parent !== window && !isPageRoot) {
|
||
const had = pendingFrames[m[1]];
|
||
(pendingFrames[m[1]] = had || []).push({ el: el, frag: m[2] || '' });
|
||
if (!had) needed.push(m[1]);
|
||
}
|
||
}
|
||
for (const uuid of needed) {
|
||
window.parent.postMessage({ __bundler_need: uuid }, OWN_TARGET);
|
||
}
|
||
}
|
||
|
||
const dead = Array.from(document.scripts);
|
||
for (const old of dead) {
|
||
const s = document.createElement('script');
|
||
for (const a of old.attributes) s.setAttribute(a.name, a.value);
|
||
s.textContent = old.textContent;
|
||
// text/babel scripts with a src: read and inline. transformScriptTags
|
||
// does XHR against the src, but blob:null/ from a file:// origin is
|
||
// silently dropped. Inlining makes it a plain inline babel script,
|
||
// which transformScriptTags handles unconditionally.
|
||
if ((s.type === 'text/babel' || s.type === 'text/jsx') && s.src) {
|
||
const pre = resourceBlobs[s.src.split('#')[0]];
|
||
s.textContent = pre ? await pre.text() : await (await fetch(s.src)).text();
|
||
s.removeAttribute('src');
|
||
}
|
||
const p = s.src ? new Promise(function(r) { s.onload = s.onerror = r; }) : null;
|
||
old.replaceWith(s);
|
||
if (p) await p;
|
||
}
|
||
// Babel standalone auto-transforms type=text/babel on DOMContentLoaded,
|
||
// which fired before we swapped the document. Trigger manually if present.
|
||
if (window.Babel && typeof window.Babel.transformScriptTags === 'function') {
|
||
window.Babel.transformScriptTags();
|
||
}
|
||
} catch (err) {
|
||
setStatus('Error unpacking: ' + err.message);
|
||
console.error('Bundle unpack error:', err);
|
||
}
|
||
});
|
||
|
||
</script>
|
||
|
||
<script type="__bundler/manifest">
|
||
{"723bf167-d3b9-44f3-ad11-ab2224e60afd":{"mime":"application/javascript","compressed":true,"data":"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"},"bc1e6809-d059-4c97-a856-4fc54536960c":{"mime":"text/javascript","compressed":true,"data":"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"},"399d0226-5d97-4ce7-9356-2c8292f30acc":{"mime":"text/javascript","compressed":true,"data":"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"},"75a821eb-1d88-477e-be9c-b5bcb35d458c":{"mime":"text/javascript","compressed":true,"data":"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"},"b001cfb2-efa5-4eb0-b9db-0d034b17d7a2":{"mime":"font/woff2","compressed":false,"data":"d09GMgABAAAAAAaAABIAAAAADMwAAAYdAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVIEgJx4AdC9MEQgKhGSEAAsgADCDOgE2AiQDOgQgBYdGB4EUGw8LIxEmZHIexT8PYyJTH6s540K0vrtCWaIRpUzRCqKVgSh/33L3iSgiBkN7EeGRTTw85UW9X5WkwZF7tJBx0g3Cac+S8lfO/UPNN4h5WrZiW1TT4nbixDB3vt1UJciEG0hoUc5XuE5OKAqYvtaSRANO3rv/tVb/oBJpOuAlQEikTDqxv3uuFVOLvC6aVeM2NBS8cplGyFpZ1RkosWs55KTlc8eza3siAl1ACKUQAiHQNt10sd4GuaWgrYCaBYG2BSwg+XhrehjdJgND8D69SDvFvJJ0SaoENkV7xx5CYy2QaJlypoYnsMkAPC/FV/nf/18l/xv+I3HLBzdAWiC9jZFSCE0J41WYJ514oKBNBfgC5g2oGAkHKYX4m64rCymGIJCRooirSE8jQTTyiPQ9eWRhKi992skqVhXL+JV4UY6QEupjD/kvCxDK5z0YGrfsUuYfjQABEjLGywLjFfYCxhrKkp6RtW15IVJxX/GqZtFR9xYv+VOTr9mDrLim6l1byfqVJkoNXD8wlMSObPvNzPMA8Z3LC1Fgye9EyU1t3ajeKV/0ouFvFf28Uc0aAFTMxI2vwyuYB/LI0nGFPCarIoFtH26NnJutwaDVGtvSGVcYdspesU+v3O/QbmfPzu7tHdrb7drZ4XZNXOZIT22Xzs43p62V1+jtlPa+RKF29nemThriq+VTHyptQ6/tohdnqz1JbrycqAhyXp5FwA7W7VX2SKwGSG1E8pK76a3obHdqBHfonTUF3dXlucvtvs1Ut/Riq65Z+8UuZplnbnU/fatmyRfuLTahevtXfMialNlPz9X/YX3InZN1V/ntv2xl9fH+Gb86qqYJLNra50g5J2upIRzN0xyo0D3qQtfKj1t9XaT8rESJ6ybu9LkNJawTt6qkiGNea49QPzW14hy0e31NVBe27G5oFYUxg8LWJGts5vWrF0paN+m3r3OTKE3cKtUl/f/Q7mGP2k5J586AC0sfsZ/fJqmhuexCb91FDp6iZVMw9iWPzIoCKsOr9vYZLLghRbwLVBcQqPRmiqA+W6WAF7VYHpYhLZAfRTC38fLpba1zkz3/fkJgOQOwAphoujlWtLr9iCy7Y75/D3hxLRCa5o4YDnxx12XKnZdW8xwffa+T/9X0zlV0njyBweD9owcOHTh2n2FAHud8JQFzrt7/+PFb/z9+gWrZar9mPtORGfJlWLMw08XUJbNw2BcFN+w8BazvOcvp4+Mp5iNjx1grXfjjDbHQaFsg8w865aWZ4azb//nbiNW3z4b6lWXDvMxevjRbMMxufnvrnJ7/1lsG0vtsanX9+SbPe/OT9sQyyFJH9kETE422CTL/oF3y9OVK9Wbrjx9/R6z//fyuo5Ut5m+n812WtPPX1f3j+dVpxvMf596UQ+OTJw8cE9QsU6n8/++JyywnhmlHJyTGRcv8uMT4qDEJzQr540cu0xiSTHmWWpVIKad0lsb3l+Z/vrOp/vwBvcnwHyCQVlAf85sVNRjFf9NWy18C3rm8vQl45/bFz16aW+emiPwoKgkEn2Z12skn6P/wOYSJ9u20WvUMBf5uUN0zHgEAfC7Aq05gYJ5slpyeTTp6nK8bR9HC08mZwDA9FZj043fMVosnsbBYXIGlqXEcVhaJTRL7VojxmYJuNLHQj9+x1PUvVpp+xYaxPsaO5dyLXcs4DXuWsAX2rWQiDnS1/+ZQG9sgpGgyWdrQJIS4smFtkrWgCcm0ykPIEFb5AOvr0ua5EZIREk3sruRYNoeLhRBqJ+XBNpRfUAk5TouzilHr9FBRXohPoA3witRyrWIt+TU8FlcLIbk2rQIdS0gi0JFa8AXZUrrcE7Z9rvxyWEuqjyJknC1jCctY2tKFyllm49ySS1ct2WTYJedoTXV87+YpCLluLW8kODW7FLCMbEcD7sTpLVtpQfkiGDeJbW3tb20lWvzntJB3tx1I6Gdpx+lWty9CKmivAQbdPJ+PZMptjYUi3PMA87wcyWqRo4gyqmjI0YxWtKNTrb1PC+7AWu1HCIOXWzsNhawfzSf908vHlAfuLZXShddLrR2c1t3GkN63vQ3/MIvgz1kYfbtt2aVWaAAAAAA="},"e3840408-9f11-434e-b639-1bdd07ce5f04":{"mime":"font/woff2","compressed":false,"data":"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"},"3c8bdbd0-9a3e-4e93-b98b-fd5534aefc92":{"mime":"font/woff2","compressed":false,"data":"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"},"90fd077f-92c6-4381-b3dc-f085d2dfa575":{"mime":"font/woff2","compressed":false,"data":"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"},"20c7bc0a-e082-484d-b41d-b58be8815639":{"mime":"font/woff2","compressed":false,"data":"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"},"b4f4838b-fbdb-4531-9ef3-3b8094a3b4b9":{"mime":"font/woff2","compressed":false,"data":"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"}}
|
||
</script>
|
||
|
||
<script type="__bundler/ext_resources">
|
||
[{"id":"https://unpkg.com/react@18.3.1/umd/react.production.min.js","uuid":"399d0226-5d97-4ce7-9356-2c8292f30acc"},{"id":"https://unpkg.com/react-dom@18.3.1/umd/react-dom.production.min.js","uuid":"75a821eb-1d88-477e-be9c-b5bcb35d458c"}]
|
||
</script>
|
||
|
||
<script type="__bundler/page_order">
|
||
[]
|
||
</script>
|
||
|
||
<script type="__bundler/template">
|
||
"<!DOCTYPE html>\n<html><head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<script src=\"bc1e6809-d059-4c97-a856-4fc54536960c\"><\u002Fscript>\n<\u002Fhead>\n<body>\n\n<x-dc>\n<helmet><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"><link rel=\"preconnect\" href=\"https://fonts.googleapis.com\"><style>/* cyrillic-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(\"b001cfb2-efa5-4eb0-b9db-0d034b17d7a2\") format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(\"e3840408-9f11-434e-b639-1bdd07ce5f04\") format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(\"3c8bdbd0-9a3e-4e93-b98b-fd5534aefc92\") format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(\"90fd077f-92c6-4381-b3dc-f085d2dfa575\") format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(\"20c7bc0a-e082-484d-b41d-b58be8815639\") format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(\"b4f4838b-fbdb-4531-9ef3-3b8094a3b4b9\") format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(\"b001cfb2-efa5-4eb0-b9db-0d034b17d7a2\") format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(\"e3840408-9f11-434e-b639-1bdd07ce5f04\") format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(\"3c8bdbd0-9a3e-4e93-b98b-fd5534aefc92\") format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(\"90fd077f-92c6-4381-b3dc-f085d2dfa575\") format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(\"20c7bc0a-e082-484d-b41d-b58be8815639\") format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(\"b4f4838b-fbdb-4531-9ef3-3b8094a3b4b9\") format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(\"b001cfb2-efa5-4eb0-b9db-0d034b17d7a2\") format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(\"e3840408-9f11-434e-b639-1bdd07ce5f04\") format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(\"3c8bdbd0-9a3e-4e93-b98b-fd5534aefc92\") format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(\"90fd077f-92c6-4381-b3dc-f085d2dfa575\") format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(\"20c7bc0a-e082-484d-b41d-b58be8815639\") format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(\"b4f4838b-fbdb-4531-9ef3-3b8094a3b4b9\") format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 800;\n font-display: swap;\n src: url(\"b001cfb2-efa5-4eb0-b9db-0d034b17d7a2\") format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 800;\n font-display: swap;\n src: url(\"e3840408-9f11-434e-b639-1bdd07ce5f04\") format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 800;\n font-display: swap;\n src: url(\"3c8bdbd0-9a3e-4e93-b98b-fd5534aefc92\") format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 800;\n font-display: swap;\n src: url(\"90fd077f-92c6-4381-b3dc-f085d2dfa575\") format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 800;\n font-display: swap;\n src: url(\"20c7bc0a-e082-484d-b41d-b58be8815639\") format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 800;\n font-display: swap;\n src: url(\"b4f4838b-fbdb-4531-9ef3-3b8094a3b4b9\") format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n<\u002Fstyle><script src=\"723bf167-d3b9-44f3-ad11-ab2224e60afd\"><\u002Fscript><style>html,body{margin:0;background:#1c1c20;color:#f4f4f6;font-family:'JetBrains Mono',ui-monospace,monospace}*{box-sizing:border-box}a{color:#a99af0}a:hover{color:#f4f4f6}h1,h2,h3,p{margin:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid #f4f4f6;outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#3d3d44;border-radius:3px}<\u002Fstyle><\u002Fhelmet>\n<div id=\"proto-root\" style=\"min-height:100vh;display:flex;flex-direction:column;gap:16px;padding:20px 24px 40px;font-size:14px;line-height:1.5\">\n<header style=\"display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px\">\n<div style=\"display:flex;flex-direction:column;gap:2px\"><span style=\"font-size:11px;font-weight:700;letter-spacing:.14em;color:#b2b2ba\">EXTRUDEX · FARM FLOWS · v1.0 · OCT 14 2026<\u002Fspan><span style=\"font-size:20px;font-weight:800\">Readiness, dispatch, commands and recovery<\u002Fspan><\u002Fdiv>\n<nav aria-label=\"Deliverables\" style=\"display:flex;flex-wrap:wrap;gap:6px;margin-left:auto\"><sc-for list=\"{{ tabs }}\" as=\"t\" hint-placeholder-count=\"4\"><button sc-camel-on-click=\"{{ t.on }}\" aria-pressed=\"{{ t.sel }}\" style=\"min-height:40px;padding:0 14px;border-radius:12px;background:{{ t.bg }};color:{{ t.c }};border:1px solid {{ t.b }};font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer\">{{ t.l }}<\u002Fbutton><\u002Fsc-for><\u002Fnav>\n<\u002Fheader>\n<sc-if value=\"{{ tProto }}\" hint-placeholder-val=\"{{ true }}\">\n<div style=\"display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:12px 14px;border:1px dashed rgba(255,255,255,.18);border-radius:14px;font-size:12px\">\n<span style=\"font-size:11px;font-weight:700;letter-spacing:.14em;color:#e8c170\">PROTOTYPE CONTROLS<\u002Fspan>\n<div role=\"group\" aria-label=\"Viewport\" style=\"display:flex;gap:4px\"><sc-for list=\"{{ vps }}\" as=\"t\" hint-placeholder-count=\"3\"><button sc-camel-on-click=\"{{ t.on }}\" aria-pressed=\"{{ t.sel }}\" style=\"min-height:36px;padding:0 10px;border-radius:10px;background:{{ t.bg }};color:{{ t.c }};border:1px solid {{ t.b }};font-family:inherit;font-size:12px;cursor:pointer\">{{ t.l }}<\u002Fbutton><\u002Fsc-for><\u002Fdiv>\n<div role=\"group\" aria-label=\"Acting as\" style=\"display:flex;gap:4px;align-items:center\"><span style=\"color:#b2b2ba\">Acting as<\u002Fspan><sc-for list=\"{{ whos }}\" as=\"t\" hint-placeholder-count=\"2\"><button sc-camel-on-click=\"{{ t.on }}\" aria-pressed=\"{{ t.sel }}\" style=\"min-height:36px;padding:0 10px;border-radius:10px;background:{{ t.bg }};color:{{ t.c }};border:1px solid {{ t.b }};font-family:inherit;font-size:12px;cursor:pointer\">{{ t.l }}<\u002Fbutton><\u002Fsc-for><\u002Fdiv>\n<div style=\"display:flex;gap:6px;align-items:center\"><span style=\"color:#b2b2ba\">Clock {{ clockTxt }}<\u002Fspan><button sc-camel-on-click=\"{{ jumpBtn.on }}\" aria-disabled=\"{{ jumpBtn.ad }}\" style=\"min-height:36px;padding:0 10px;border-radius:10px;background:{{ jumpBtn.bbg }};color:{{ jumpBtn.bc }};border:{{ jumpBtn.bb }};font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:{{ jumpBtn.cur }}\">{{ jumpBtn.l }}<\u002Fbutton><button sc-camel-on-click=\"{{ tickBtn.on }}\" style=\"min-height:36px;padding:0 10px;border-radius:10px;background:transparent;color:#f4f4f6;border:{{ tickBtn.bb }};font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">{{ tickBtn.l }}<\u002Fbutton><\u002Fdiv>\n<label style=\"display:flex;gap:6px;align-items:center\"><span style=\"color:#b2b2ba\">Printer answers start with<\u002Fspan><sc-raw-select value=\"{{ respVal }}\" sc-camel-on-change=\"{{ onResp }}\" style=\"min-height:36px;background:#232327;color:#f4f4f6;border:1px solid #85858f;border-radius:10px;font-family:inherit;font-size:12px;padding:0 8px\"><sc-for list=\"{{ resps }}\" as=\"r\" hint-placeholder-count=\"4\"><option value=\"{{ r.k }}\">{{ r.l }}<\u002Foption><\u002Fsc-for><\u002Fsc-raw-select><\u002Flabel>\n<div style=\"display:flex;gap:6px;margin-left:auto\"><button sc-camel-on-click=\"{{ staleBtn.on }}\" style=\"min-height:36px;padding:0 10px;border-radius:10px;background:transparent;color:#f4f4f6;border:{{ staleBtn.bb }};font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">{{ staleBtn.l }}<\u002Fbutton><button sc-camel-on-click=\"{{ notesBtn.on }}\" style=\"min-height:36px;padding:0 10px;border-radius:10px;background:transparent;color:#f4f4f6;border:{{ notesBtn.bb }};font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">{{ notesBtn.l }}<\u002Fbutton><button sc-camel-on-click=\"{{ resetBtn.on }}\" style=\"min-height:36px;padding:0 10px;border-radius:10px;background:transparent;color:#b2b2ba;border:{{ resetBtn.bb }};font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">{{ resetBtn.l }}<\u002Fbutton><\u002Fdiv>\n<\u002Fdiv>\n<nav aria-label=\"Jump to screen\" style=\"display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px\"><span style=\"color:#85858f\">Jump to<\u002Fspan><sc-for list=\"{{ jumps }}\" as=\"j\" hint-placeholder-count=\"8\"><button sc-camel-on-click=\"{{ j.on }}\" style=\"background:none;border:0;padding:4px 0;color:{{ j.c }};font-family:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer\">{{ j.l }}<\u002Fbutton><\u002Fsc-for><\u002Fnav>\n<div style=\"display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start\">\n<div style=\"width:{{ frameW }};height:{{ frameH }};flex:none;position:relative;border-radius:{{ frameR }};overflow:hidden;border:1px solid rgba(255,255,255,.16);background:radial-gradient(640px 460px at 16% 10%,rgba(169,154,240,.22),transparent 70%),radial-gradient(560px 420px at 84% 80%,rgba(143,195,240,.10),transparent 70%),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px) 0 0/32px 32px,linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px) 0 0/32px 32px,#25252a;color:#f4f4f6\">\n<div id=\"app-scroll\" style=\"position:absolute;inset:0;overflow:auto;display:flex;align-items:flex-start\">\n<sc-if value=\"{{ isDesk }}\" hint-placeholder-val=\"{{ true }}\"><nav aria-label=\"Extrudex\" style=\"position:sticky;top:0;flex:none;width:236px;margin:16px;padding:16px;min-height:calc(100% - 32px);background:rgba(60,60,68,.36);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 36px rgba(0,0,0,.40);border-radius:20px;display:flex;flex-direction:column;gap:14px\">\n<div style=\"display:flex;align-items:center;gap:8px;padding:4px 6px\"><svg width=\"30\" height=\"30\" sc-camel-view-box=\"0 0 64 64\" style=\"display:block;flex:none\" aria-hidden=\"true\"><rect width=\"64\" height=\"64\" rx=\"14.3\" fill=\"#a99af0\"><\u002Frect><rect x=\"11\" y=\"10\" width=\"42\" height=\"44\" rx=\"10\" fill=\"#2a2431\"><\u002Frect><rect x=\"16.5\" y=\"16\" width=\"31\" height=\"25\" rx=\"6\" fill=\"#a99af0\"><\u002Frect><circle cx=\"25.5\" cy=\"28.5\" r=\"3.8\" fill=\"#2a2431\"><\u002Fcircle><path d=\"M33 29.5 Q38 24 43 29.5\" fill=\"none\" stroke=\"#2a2431\" stroke-width=\"3.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\u002Fpath><rect x=\"21\" y=\"46.5\" width=\"22\" height=\"2.8\" rx=\"1.4\" fill=\"#a99af0\"><\u002Frect><\u002Fsvg><span style=\"font-weight:800;font-size:18px\">Extrudex<\u002Fspan><\u002Fdiv>\n<div style=\"display:flex;flex-direction:column;gap:3px\"><sc-for list=\"{{ nav }}\" as=\"n\" hint-placeholder-count=\"9\"><button sc-camel-on-click=\"{{ n.on }}\" aria-current=\"{{ n.cur }}\" style=\"display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border-radius:12px;border:1px solid {{ n.bc }};background:{{ n.bg }};color:{{ n.c }};font-family:inherit;font-size:13px;font-weight:{{ n.w }};text-align:left;cursor:pointer\"><span>{{ n.l }}<\u002Fspan><span style=\"margin-left:auto;display:{{ n.td }};font-size:10px;padding:0 7px;border-radius:999px;border:1px {{ n.ts }} #a99af0;color:#a99af0\">{{ n.tag }}<\u002Fspan><\u002Fbutton><\u002Fsc-for><\u002Fdiv>\n<div style=\"display:flex;flex-direction:column;gap:3px\"><span style=\"padding:4px 12px 0;font-size:11px;font-weight:700;letter-spacing:.14em;color:#b2b2ba\">MANAGE<\u002Fspan><sc-for list=\"{{ manage }}\" as=\"n\" hint-placeholder-count=\"2\"><button sc-camel-on-click=\"{{ n.on }}\" aria-current=\"{{ n.cur }}\" style=\"display:flex;align-items:center;min-height:40px;padding:0 12px;border-radius:12px;border:1px solid {{ n.bc }};background:{{ n.bg }};color:{{ n.c }};font-family:inherit;font-size:13px;font-weight:{{ n.w }};text-align:left;cursor:pointer\">{{ n.l }}<\u002Fbutton><\u002Fsc-for><\u002Fdiv>\n<\u002Fnav><\u002Fsc-if>\n<main style=\"flex:1;min-width:0;padding:{{ mainPad }};display:flex;flex-direction:column;gap:16px\">\n<sc-if value=\"{{ isPhone }}\"><div style=\"display:flex;align-items:center;gap:10px;padding:6px 6px 6px 12px;border-radius:16px;background:rgba(60,60,68,.36);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.10)\"><svg width=\"26\" height=\"26\" sc-camel-view-box=\"0 0 64 64\" style=\"display:block;flex:none\" aria-hidden=\"true\"><rect width=\"64\" height=\"64\" rx=\"14.3\" fill=\"#a99af0\"><\u002Frect><rect x=\"11\" y=\"10\" width=\"42\" height=\"44\" rx=\"10\" fill=\"#2a2431\"><\u002Frect><rect x=\"16.5\" y=\"16\" width=\"31\" height=\"25\" rx=\"6\" fill=\"#a99af0\"><\u002Frect><circle cx=\"25.5\" cy=\"28.5\" r=\"3.8\" fill=\"#2a2431\"><\u002Fcircle><path d=\"M33 29.5 Q38 24 43 29.5\" fill=\"none\" stroke=\"#2a2431\" stroke-width=\"3.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\u002Fpath><\u002Fsvg><span style=\"font-weight:800\">Extrudex<\u002Fspan><button sc-camel-on-click=\"{{ toggleNav }}\" aria-expanded=\"{{ navOpen }}\" style=\"margin-left:auto;min-height:44px;min-width:72px;padding:0 12px;border-radius:12px;background:transparent;color:#f4f4f6;border:1px solid #85858f;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">{{ navBtnL }}<\u002Fbutton><\u002Fdiv><\u002Fsc-if>\n<div style=\"display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px\"><h1 id=\"app-h\" sc-camel-tab-index=\"-1\" style=\"font-size:22px;font-weight:800\">{{ title }}<\u002Fh1><span style=\"font-size:12px;color:{{ pollC }}\"><span aria-hidden=\"true\">{{ pollG }}<\u002Fspan> {{ lastPoll }}<\u002Fspan><span style=\"font-size:12px;color:#b2b2ba;margin-left:auto\">Signed in · {{ who }} · operator<\u002Fspan><\u002Fdiv>\n<sc-if value=\"{{ stale }}\"><div role=\"alert\" style=\"display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 16px;border-radius:14px;border:1.5px solid #e8c170;background:rgba(232,193,112,.10)\"><span style=\"font-weight:700;color:#e8c170\">◌ Showing last loaded data from 2:39 PM<\u002Fspan><span style=\"font-size:13px;color:#f4f4f6;flex:1 1 220px\">The last poll failed. States below may be out of date. Retrying every 10 s.<\u002Fspan><button sc-camel-on-click=\"{{ retry }}\" style=\"min-height:44px;padding:0 14px;border-radius:12px;background:transparent;color:#f4f4f6;border:1px solid #85858f;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">RETRY NOW<\u002Fbutton><\u002Fdiv><\u002Fsc-if>\n<sc-if value=\"{{ vFleet }}\" hint-placeholder-val=\"{{ true }}\">\n<div style=\"display:flex;flex-direction:column;gap:16px\">\n<div style=\"display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:12px 14px;background:rgba(60,60,68,.36);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 28px rgba(0,0,0,.32);border-radius:18px\">\n<span style=\"font-size:11px;font-weight:700;letter-spacing:.14em;color:#b2b2ba;margin-right:4px\">NEEDS ATTENTION<\u002Fspan>\n<sc-for list=\"{{ attnStrip }}\" as=\"a\" hint-placeholder-count=\"4\"><button sc-camel-on-click=\"{{ a.on }}\" style=\"min-height:44px;padding:0 12px;border-radius:12px;background:rgba(18,18,22,.35);border:{{ a.bs }};color:{{ a.c }};font-family:inherit;font-size:12px;font-weight:700;display:flex;align-items:center;gap:6px;cursor:pointer\"><span aria-hidden=\"true\">{{ a.g }}<\u002Fspan>{{ a.l }}<\u002Fbutton><\u002Fsc-for>\n<sc-if value=\"{{ noAttn }}\"><span style=\"font-size:13px;color:#b2b2ba\">Nothing needs you right now.<\u002Fspan><\u002Fsc-if>\n<\u002Fdiv>\n<section aria-labelledby=\"h-pr\" style=\"padding:16px;display:flex;flex-direction:column;background:rgba(60,60,68,.36);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 28px rgba(0,0,0,.32);border-radius:18px\">\n<div style=\"display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding-bottom:10px\"><h2 id=\"h-pr\" style=\"font-size:16px;font-weight:700\">Printers and automatic dispatch<\u002Fh2><span style=\"font-size:12px;color:#b2b2ba\">Off by default per printer. Times in CDT; stored in UTC.<\u002Fspan><sc-if value=\"{{ notes }}\"><span style=\"padding:1px 8px;border-radius:999px;border:1px dashed #e8c170;color:#e8c170;font-size:11px\">unconfirmed default · window picker<\u002Fspan><\u002Fsc-if><\u002Fdiv>\n<sc-for list=\"{{ prows }}\" as=\"p\" hint-placeholder-count=\"6\">\n<div style=\"display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:12px 0;border-top:1px solid rgba(255,255,255,.08)\">\n<div style=\"flex:1 1 230px;min-width:0;display:flex;flex-direction:column;gap:6px\">\n<div style=\"display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline\"><span style=\"font-weight:800;font-size:15px\">{{ p.id }}<\u002Fspan><span style=\"font-size:12px;color:#b2b2ba\">{{ p.model }}<\u002Fspan><\u002Fdiv>\n<div style=\"display:flex;flex-wrap:wrap;gap:6px;align-items:center\"><span style=\"display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;border:{{ p.obs.bs }};color:{{ p.obs.c }};font-size:12px;font-weight:700\"><span aria-hidden=\"true\">{{ p.obs.g }}<\u002Fspan>{{ p.obs.l }}<\u002Fspan><span style=\"font-size:12px;color:#b2b2ba\">{{ p.fresh }}<\u002Fspan><sc-for list=\"{{ p.flags }}\" as=\"x\"><span style=\"display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;border:{{ x.bs }};color:{{ x.c }};font-size:12px;font-weight:700\"><span aria-hidden=\"true\">{{ x.g }}<\u002Fspan>{{ x.l }}<\u002Fspan><\u002Fsc-for><\u002Fdiv>\n<\u002Fdiv>\n<div style=\"flex:1 1 280px;min-width:0;display:flex;align-items:center;gap:10px\">\n<button role=\"switch\" aria-checked=\"{{ p.autoOn }}\" aria-label=\"{{ p.autoAria }}\" sc-camel-on-click=\"{{ p.onToggle }}\" style=\"flex:none;width:52px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0;cursor:pointer\"><span style=\"width:46px;height:26px;border-radius:999px;background:{{ p.swBg }};border:{{ p.swB }};position:relative;display:block\"><span style=\"position:absolute;top:3px;left:{{ p.swX }};width:17px;height:17px;border-radius:999px;background:{{ p.swK }}\"><\u002Fspan><\u002Fspan><\u002Fbutton>\n<div style=\"display:flex;flex-direction:column;gap:2px;min-width:0\"><span style=\"font-weight:700;font-size:13px\">{{ p.autoL }}<\u002Fspan><span style=\"font-size:12px;color:#b2b2ba;text-wrap:pretty\">{{ p.autoTxt }}<\u002Fspan><\u002Fdiv>\n<\u002Fdiv>\n<div style=\"display:flex;flex-wrap:wrap;gap:8px\"><sc-for list=\"{{ p.acts }}\" as=\"b\"><button sc-camel-on-click=\"{{ b.on }}\" aria-disabled=\"{{ b.ad }}\" style=\"min-height:44px;padding:0 14px;border-radius:12px;background:{{ b.bbg }};color:{{ b.bc }};border:{{ b.bb }};font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:{{ b.cur }}\">{{ b.l }}<\u002Fbutton><\u002Fsc-for><\u002Fdiv>\n<\u002Fdiv>\n<\u002Fsc-for>\n<\u002Fsection>\n<section aria-labelledby=\"h-q\" style=\"padding:16px;display:flex;flex-direction:column;gap:14px;background:rgba(60,60,68,.36);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 28px rgba(0,0,0,.32);border-radius:18px\">\n<div style=\"display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px\"><h2 id=\"h-q\" style=\"font-size:16px;font-weight:700\">Queue<\u002Fh2><span style=\"font-size:12px;color:#b2b2ba\">Grouped by printer. Rows hold their place when states change.<\u002Fspan><sc-if value=\"{{ notes }}\"><span style=\"padding:1px 8px;border-radius:999px;border:1px dashed #e8c170;color:#e8c170;font-size:11px\">unconfirmed default · expiry format<\u002Fspan><\u002Fsc-if><\u002Fdiv>\n<sc-for list=\"{{ qgroups }}\" as=\"g\" hint-placeholder-count=\"5\">\n<div style=\"display:flex;flex-direction:column;gap:8px\">\n<span style=\"font-size:11px;font-weight:700;letter-spacing:.14em;color:#b2b2ba\">{{ g.label }}<\u002Fspan>\n<sc-for list=\"{{ g.items }}\" as=\"e\" hint-placeholder-count=\"2\">\n<div style=\"padding:12px 14px;border-radius:14px;background:rgba(18,18,22,.38);border:1px solid {{ e.bc }};display:flex;flex-direction:column;gap:8px\">\n<div style=\"display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center\"><span style=\"font-weight:800\">{{ e.id }}<\u002Fspan><span style=\"font-weight:700\">{{ e.job }}<\u002Fspan><span style=\"font-size:12px;color:#b2b2ba\">{{ e.artTxt }} · {{ e.mat }}<\u002Fspan><span style=\"margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;border:{{ e.qs.bs }};color:{{ e.qs.c }};font-size:12px;font-weight:700\"><span aria-hidden=\"true\">{{ e.qs.g }}<\u002Fspan>{{ e.qs.l }}<\u002Fspan><\u002Fdiv>\n<sc-if value=\"{{ e.hasAttn }}\"><div style=\"padding:10px 12px;border-radius:12px;border:1.5px solid #f08b93;background:rgba(240,139,147,.08);font-size:13px;display:flex;flex-direction:column;gap:2px\"><span style=\"font-weight:700;color:#f08b93\">! Needs attention<\u002Fspan><span style=\"text-wrap:pretty\">{{ e.attn }}<\u002Fspan><\u002Fdiv><\u002Fsc-if>\n<sc-if value=\"{{ e.hasHold }}\"><div style=\"display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center\"><button sc-camel-on-click=\"{{ e.holdOn }}\" aria-label=\"{{ e.holdLbl }}\" style=\"min-height:36px;padding:0 10px;border-radius:10px;background:rgba(232,193,112,.10);border:1px solid #e8c170;color:#e8c170;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;text-align:left\">‖ {{ e.hold }} →<\u002Fbutton><span style=\"font-size:12px;color:#b2b2ba\">{{ e.holdHint }}<\u002Fspan><\u002Fdiv><\u002Fsc-if>\n<sc-if value=\"{{ e.hasAuth }}\"><div style=\"display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:12px\"><span style=\"display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;border:{{ e.auth.bs }};color:{{ e.auth.c }};font-weight:700\">readiness <span aria-hidden=\"true\">{{ e.auth.g }}<\u002Fspan>{{ e.auth.l }}<\u002Fspan><span>covers {{ e.covers }}<\u002Fspan><span style=\"color:#b2b2ba\">{{ e.authLine }}<\u002Fspan><\u002Fdiv><\u002Fsc-if>\n<sc-if value=\"{{ e.hasGuide }}\"><div style=\"padding:10px 12px;border-radius:12px;border:1px dashed #e8c170;font-size:13px;text-wrap:pretty\"><strong style=\"color:#e8c170\">Inspect the physical printer.<\u002Fstrong> {{ e.guide }}<\u002Fdiv><\u002Fsc-if>\n<div style=\"display:flex;flex-wrap:wrap;gap:8px;align-items:center\"><sc-for list=\"{{ e.acts }}\" as=\"b\"><button sc-camel-on-click=\"{{ b.on }}\" aria-disabled=\"{{ b.ad }}\" style=\"min-height:44px;padding:0 14px;border-radius:12px;background:{{ b.bbg }};color:{{ b.bc }};border:{{ b.bb }};font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:{{ b.cur }}\">{{ b.l }}<\u002Fbutton><\u002Fsc-for><span style=\"font-size:12px;color:#b2b2ba;flex:1 1 180px\">{{ e.why }}<\u002Fspan><\u002Fdiv>\n<\u002Fdiv>\n<\u002Fsc-for>\n<\u002Fdiv>\n<\u002Fsc-for>\n<\u002Fsection>\n<section aria-labelledby=\"h-lk\" style=\"padding:16px;display:flex;flex-direction:column;gap:10px;background:rgba(60,60,68,.36);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.10);border-radius:18px\">\n<h2 id=\"h-lk\" style=\"font-size:16px;font-weight:700\">Command lookup<\u002Fh2>\n<form sc-camel-on-submit=\"{{ doLookup }}\" style=\"display:flex;flex-wrap:wrap;gap:8px\"><label style=\"display:flex;flex-direction:column;gap:4px;flex:1 1 180px;font-size:12px;color:#b2b2ba\">Command ID<input value=\"{{ lookup }}\" sc-camel-on-change=\"{{ onLookup }}\" style=\"min-height:44px;padding:0 12px;border-radius:12px;background:rgba(18,18,22,.55);border:1px solid #85858f;color:#f4f4f6;font-family:inherit;font-size:14px\"><\u002Flabel><button type=\"submit\" style=\"align-self:flex-end;min-height:44px;padding:0 14px;border-radius:12px;background:transparent;color:#f4f4f6;border:1px solid #85858f;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">LOOK UP<\u002Fbutton><\u002Fform>\n<sc-if value=\"{{ hasLk }}\"><div style=\"display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:13px\"><span style=\"font-weight:800\">{{ lk.id }}<\u002Fspan><span style=\"display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;border:{{ lk.pill.bs }};color:{{ lk.pill.c }};font-size:12px;font-weight:700\"><span aria-hidden=\"true\">{{ lk.pill.g }}<\u002Fspan>{{ lk.pill.l }}<\u002Fspan><span style=\"color:#b2b2ba\">{{ lk.type }} · {{ lk.eid }} on {{ lk.pid }} · by {{ lk.by }} at {{ lk.at }}<\u002Fspan><button sc-camel-on-click=\"{{ lk.go }}\" style=\"min-height:44px;padding:0 12px;border-radius:12px;background:transparent;color:#a99af0;border:1px solid rgba(255,255,255,.10);font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">OPEN PRINTER<\u002Fbutton><\u002Fdiv><\u002Fsc-if>\n<sc-if value=\"{{ lkMiss }}\"><span style=\"font-size:13px;color:#b2b2ba\">No command with ID {{ lkShown }}.<\u002Fspan><\u002Fsc-if>\n<\u002Fsection>\n<\u002Fdiv>\n<\u002Fsc-if>\n<sc-if value=\"{{ vPrinter }}\">\n<div style=\"display:flex;flex-direction:column;gap:16px\">\n<div style=\"display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px\"><button sc-camel-on-click=\"{{ backFleet }}\" style=\"min-height:44px;padding:0 12px;border-radius:12px;background:transparent;color:#a99af0;border:1px solid rgba(255,255,255,.10);font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">← FLEET<\u002Fbutton><span style=\"font-size:13px;color:#b2b2ba\">{{ pd.model }}<\u002Fspan><span style=\"display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;border:{{ pd.obs.bs }};color:{{ pd.obs.c }};font-size:12px;font-weight:700\"><span aria-hidden=\"true\">{{ pd.obs.g }}<\u002Fspan>{{ pd.obs.l }}<\u002Fspan><span style=\"font-size:12px;color:#b2b2ba\">{{ pd.fresh }}<\u002Fspan><\u002Fdiv>\n<span style=\"font-size:12px;color:#b2b2ba;margin-top:-8px\">{{ pd.caps }}<\u002Fspan>\n<sc-if value=\"{{ pd.hasAttn }}\"><sc-for list=\"{{ pd.attn }}\" as=\"a\">\n<div role=\"region\" aria-label=\"Needs attention\" style=\"padding:14px 16px;border-radius:16px;border:1.5px solid #f08b93;background:rgba(240,139,147,.09);display:flex;flex-direction:column;gap:8px\">\n<div style=\"display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center\"><span style=\"font-weight:800;color:#f08b93\">! Needs attention · {{ a.st }}<\u002Fspan><span style=\"font-weight:700\">{{ a.id }} · {{ a.job }}<\u002Fspan><sc-if value=\"{{ notes }}\"><span style=\"padding:1px 8px;border-radius:999px;border:1px dashed #e8c170;color:#e8c170;font-size:11px\">unconfirmed default · banner placement<\u002Fspan><\u002Fsc-if><\u002Fdiv>\n<span style=\"font-size:13px;text-wrap:pretty\">{{ a.reason }} Start dispatch is blocked on this printer until it is resolved or cancelled.<\u002Fspan>\n<div style=\"display:flex;flex-wrap:wrap;gap:8px\"><button sc-camel-on-click=\"{{ a.onRes }}\" style=\"min-height:44px;padding:0 14px;border-radius:12px;background:#a99af0;color:#2a2431;border:1px solid #a99af0;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">RESOLVE<\u002Fbutton><button sc-camel-on-click=\"{{ a.onCan }}\" style=\"min-height:44px;padding:0 14px;border-radius:12px;background:transparent;color:#f08b93;border:1px solid #f08b93;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">CANCEL ENTRY<\u002Fbutton><span style=\"font-size:12px;color:#b2b2ba;flex:1 1 200px\">Resolve needs evidence and a recent IDLE or FINISH report. Cancel needs neither.<\u002Fspan><\u002Fdiv>\n<\u002Fdiv>\n<\u002Fsc-for><\u002Fsc-if>\n<sc-if value=\"{{ pd.faultMat }}\"><div role=\"region\" aria-label=\"Material fault\" style=\"padding:14px 16px;border-radius:16px;border:1.5px dashed #e8c170;background:rgba(232,193,112,.09);display:flex;flex-direction:column;gap:6px\"><span style=\"font-weight:800;color:#e8c170\">◌ Material runout · FAILED reported {{ pd.faultAt }}<\u002Fspan><span style=\"font-size:13px;text-wrap:pretty\">Filament ran out in AMS lite slot 2 (PLA Teal). The printer paused the print. Load filament at the printer, then resume.<\u002Fspan><span style=\"font-size:12px;color:#b2b2ba\">Blocks start dispatch. Pause, resume and cancel stay available. Clears automatically on the next non-fault report.<\u002Fspan><\u002Fdiv><\u002Fsc-if>\n<sc-if value=\"{{ pd.faultHw }}\"><div role=\"region\" aria-label=\"Hardware fault\" style=\"padding:14px 16px;border-radius:16px;border:1.5px solid #f08b93;background:rgba(240,139,147,.09);display:flex;flex-direction:column;gap:6px\"><span style=\"font-weight:800;color:#f08b93\">✗ Hardware fault · FAILED reported {{ pd.faultAt }}<\u002Fspan><span style=\"font-size:13px;text-wrap:pretty\">Hotend temperature dropped out of range (HMS 0300-0100). Check the heater and thermistor wiring at the printer.<\u002Fspan><span style=\"font-size:12px;color:#b2b2ba\">Blocks start dispatch. Pause, resume and cancel stay available. Clears automatically on the next non-fault report.<\u002Fspan><\u002Fdiv><\u002Fsc-if>\n<sc-if value=\"{{ pd.hasFault }}\"><div style=\"display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 10px;border:1px dashed rgba(255,255,255,.18);border-radius:12px\"><span style=\"font-size:11px;font-weight:700;letter-spacing:.14em;color:#e8c170\">PROTOTYPE<\u002Fspan><button sc-camel-on-click=\"{{ pd.simFresh }}\" style=\"min-height:36px;padding:0 10px;border-radius:10px;background:transparent;color:#f4f4f6;border:1px solid #85858f;font-family:inherit;font-size:11px;font-weight:700;cursor:pointer\">SIMULATE FRESH NON-FAULT REPORT<\u002Fbutton><button sc-camel-on-click=\"{{ pd.faultToggle }}\" style=\"min-height:36px;padding:0 10px;border-radius:10px;background:transparent;color:#f4f4f6;border:1px solid #85858f;font-family:inherit;font-size:11px;font-weight:700;cursor:pointer\">{{ pd.faultToggleL }}<\u002Fbutton><\u002Fdiv><\u002Fsc-if>\n<div style=\"display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start\">\n<div style=\"flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:16px\">\n<section aria-labelledby=\"h-now\" style=\"padding:16px;display:flex;flex-direction:column;gap:10px;background:rgba(60,60,68,.36);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 28px rgba(0,0,0,.32);border-radius:18px\">\n<h2 id=\"h-now\" style=\"font-size:16px;font-weight:700\">Now<\u002Fh2>\n<sc-if value=\"{{ pd.hasRun }}\"><div style=\"display:flex;flex-direction:column;gap:8px\"><span style=\"font-weight:700\">{{ pd.runJob }}<\u002Fspan><span style=\"font-size:12px;color:#b2b2ba\">{{ pd.runSub }}<\u002Fspan><div style=\"display:flex;flex-wrap:wrap;gap:8px;align-items:center\"><sc-for list=\"{{ pd.runActs }}\" as=\"b\"><button sc-camel-on-click=\"{{ b.on }}\" aria-disabled=\"{{ b.ad }}\" style=\"min-height:44px;padding:0 14px;border-radius:12px;background:{{ b.bbg }};color:{{ b.bc }};border:{{ b.bb }};font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:{{ b.cur }}\">{{ b.l }}<\u002Fbutton><\u002Fsc-for><button sc-camel-on-click=\"{{ pd.simFinish }}\" style=\"min-height:44px;padding:0 12px;border-radius:12px;background:transparent;color:#e8c170;border:1px dashed rgba(232,193,112,.6);font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">PROTOTYPE · PRINT FINISHES<\u002Fbutton><\u002Fdiv><span style=\"font-size:12px;color:#b2b2ba\">Not gated by faults or the maintenance lock.<\u002Fspan><\u002Fdiv><\u002Fsc-if>\n<sc-if value=\"{{ pd.plateDirty }}\"><div style=\"display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:12px;border-radius:12px;border:1px solid #e8c170\"><span style=\"font-weight:700;color:#e8c170\">□ Plate needs clearing<\u002Fspan><span style=\"font-size:13px;flex:1 1 200px\">A finished print never re-arms the printer. Extrudex cannot sense the plate.<\u002Fspan><button sc-camel-on-click=\"{{ pd.onPlate }}\" style=\"min-height:44px;padding:0 14px;border-radius:12px;background:transparent;color:#f4f4f6;border:1px solid #85858f;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">MARK PLATE CLEARED<\u002Fbutton><\u002Fdiv><\u002Fsc-if>\n<sc-if value=\"{{ pd.idleEmpty }}\"><span style=\"font-size:13px;color:#b2b2ba\">{{ pd.idleTxt }}<\u002Fspan><\u002Fsc-if>\n<\u002Fsection>\n<sc-if value=\"{{ pd.hasCmd }}\"><section aria-labelledby=\"h-cmd\" style=\"padding:16px;display:flex;flex-direction:column;gap:12px;background:rgba(60,60,68,.36);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 28px rgba(0,0,0,.32);border-radius:18px\">\n<div style=\"display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center\"><h2 id=\"h-cmd\" style=\"font-size:16px;font-weight:700\">Latest command · {{ pd.cmd.id }}<\u002Fh2><span style=\"display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;border:{{ pd.cmd.pill.bs }};color:{{ pd.cmd.pill.c }};font-size:12px;font-weight:700\"><span aria-hidden=\"true\">{{ pd.cmd.pill.g }}<\u002Fspan>{{ pd.cmd.pill.l }}<\u002Fspan><sc-if value=\"{{ notes }}\"><span style=\"padding:1px 8px;border-radius:999px;border:1px dashed #e8c170;color:#e8c170;font-size:11px\">unconfirmed default · inline, not modal<\u002Fspan><\u002Fsc-if><\u002Fdiv>\n<span style=\"font-size:12px;color:#b2b2ba\">{{ pd.cmd.type }} · requested by {{ pd.cmd.by }} at {{ pd.cmd.at }}<\u002Fspan>\n<ol aria-label=\"Command progress\" style=\"list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px\">\n<sc-for list=\"{{ pd.steps }}\" as=\"t\" hint-placeholder-count=\"4\"><li aria-current=\"{{ t.aria }}\" style=\"flex:1 1 120px;min-width:0;padding:10px;border-radius:12px;border:{{ t.bs }};background:{{ t.bg }};opacity:{{ t.op }};display:flex;flex-direction:column;gap:2px\"><span style=\"font-size:11px;color:#b2b2ba\">{{ t.n }}<\u002Fspan><span style=\"font-weight:700;color:{{ t.c }};font-size:13px\"><span aria-hidden=\"true\">{{ t.g }}<\u002Fspan> {{ t.l }}<\u002Fspan><span style=\"font-size:11px;color:#b2b2ba\">{{ t.exp }}<\u002Fspan><span style=\"font-size:11px;color:#b2b2ba\">{{ t.sub }}<\u002Fspan><\u002Fli><\u002Fsc-for>\n<\u002Fol>\n<span style=\"font-size:13px;color:#d4d4d8;text-wrap:pretty\">{{ pd.cmd.detail }}<\u002Fspan>\n<\u002Fsection><\u002Fsc-if>\n<sc-if value=\"{{ pd.hasUnres }}\"><section aria-labelledby=\"h-res\" style=\"padding:16px;display:flex;flex-direction:column;gap:12px;border-radius:18px;border:1.5px dashed #e8c170;background:rgba(40,38,34,.72)\">\n<div style=\"display:flex;flex-direction:column;gap:2px\"><span style=\"font-size:11px;font-weight:700;letter-spacing:.14em;color:#e8c170\">? OUTCOME UNKNOWN · NOT A SUCCESS, NOT A FAILURE<\u002Fspan><h2 id=\"h-res\" style=\"font-size:16px;font-weight:700\">Resolve {{ pd.u.id }}<\u002Fh2><\u002Fdiv>\n<span style=\"font-size:13px;text-wrap:pretty\">Start for {{ pd.u.eid }} · {{ pd.u.job }}. Sent {{ pd.u.sentAt }}. Retries stay blocked until this is resolved. Check the printer screen and the plate before you choose.<\u002Fspan>\n<label style=\"display:flex;flex-direction:column;gap:4px;font-size:12px;color:#b2b2ba\">Evidence (what you saw, 20–2048 characters)<sc-if value=\"{{ notes }}\"><span style=\"align-self:flex-start;padding:1px 8px;border-radius:999px;border:1px dashed #e8c170;color:#e8c170;font-size:11px\">unconfirmed default · input sizing<\u002Fspan><\u002Fsc-if><textarea rows=\"6\" value=\"{{ res.ev }}\" sc-camel-on-change=\"{{ onResEv }}\" aria-describedby=\"ev-hint\" placeholder=\"e.g. H2C screen shows speed_cube_stand_x4, layer 12/180. Plate had 4 stands starting.\" style=\"width:100%;padding:10px 12px;border-radius:12px;background:rgba(18,18,22,.6);border:1px solid #85858f;color:#f4f4f6;font-family:inherit;font-size:14px;line-height:1.5;resize:vertical\"><\u002Ftextarea><span id=\"ev-hint\" style=\"display:flex;justify-content:space-between;gap:8px;color:{{ pd.evC }}\"><span>{{ pd.evHint }}<\u002Fspan><span>{{ pd.evCount }}<\u002Fspan><\u002Fspan><\u002Flabel>\n<fieldset style=\"border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:6px\"><legend style=\"font-size:12px;color:#b2b2ba;padding:0 0 6px\">Outcome (audited)<\u002Flegend>\n<sc-for list=\"{{ pd.choices }}\" as=\"o\" hint-placeholder-count=\"3\"><label style=\"display:flex;gap:10px;align-items:flex-start;min-height:44px;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.12);cursor:pointer\"><input type=\"radio\" name=\"cmd-res\" checked=\"{{ o.on }}\" sc-camel-on-change=\"{{ o.pick }}\" style=\"width:20px;height:20px;margin:2px 0 0;accent-color:#a99af0;flex:none\"><span style=\"display:flex;flex-direction:column;gap:2px\"><span style=\"font-weight:700\">{{ o.l }}<\u002Fspan><span style=\"font-size:12px;color:#b2b2ba\">{{ o.d }}<\u002Fspan><\u002Fspan><\u002Flabel><\u002Fsc-for>\n<\u002Ffieldset>\n<div style=\"display:flex;flex-wrap:wrap;gap:8px;align-items:center\"><button sc-camel-on-click=\"{{ pd.resBtn.on }}\" aria-disabled=\"{{ pd.resBtn.ad }}\" style=\"min-height:44px;padding:0 14px;border-radius:12px;background:{{ pd.resBtn.bbg }};color:{{ pd.resBtn.bc }};border:{{ pd.resBtn.bb }};font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:{{ pd.resBtn.cur }}\">{{ pd.resBtn.l }}<\u002Fbutton><span style=\"font-size:12px;color:#b2b2ba\">{{ pd.resBtn.why }} · recorded as {{ who }}<\u002Fspan><\u002Fdiv>\n<sc-if value=\"{{ pd.hasNotes }}\"><div style=\"display:flex;flex-direction:column;gap:4px;font-size:12px\"><span style=\"font-weight:700;color:#b2b2ba\">Investigation notes<\u002Fspan><sc-for list=\"{{ pd.u.notes }}\" as=\"n\"><span>{{ n.t }} · {{ n.who }} · {{ n.ev }}<\u002Fspan><\u002Fsc-for><\u002Fdiv><\u002Fsc-if>\n<\u002Fsection><\u002Fsc-if>\n<\u002Fdiv>\n<div style=\"flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:16px\">\n<section aria-labelledby=\"h-lock\" style=\"padding:16px;display:flex;flex-direction:column;gap:10px;background:rgba(60,60,68,.36);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.10);border-radius:18px\">\n<h2 id=\"h-lock\" style=\"font-size:16px;font-weight:700\">Maintenance lock<\u002Fh2>\n<sc-if value=\"{{ pd.locked }}\"><div style=\"display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;border:1.5px solid #f4f4f6\"><span style=\"font-weight:800\">■ Locked by {{ pd.lockBy }} at {{ pd.lockAt }}<\u002Fspan><span style=\"font-size:13px\">{{ pd.lockReason }}<\u002Fspan><span style=\"font-size:12px;color:#b2b2ba\">Blocks every new command, start dispatch and queue release. Does not block pause, resume or cancel of an active print.<\u002Fspan><button sc-camel-on-click=\"{{ pd.onUnlock }}\" style=\"align-self:flex-start;min-height:44px;padding:0 14px;border-radius:12px;background:transparent;color:#f4f4f6;border:1px solid #85858f;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">UNLOCK<\u002Fbutton><\u002Fdiv><\u002Fsc-if>\n<sc-if value=\"{{ pd.unlocked }}\"><span style=\"font-size:13px;color:#b2b2ba\">Not locked. Lock before hands-on work so nothing dispatches here.<\u002Fspan><button sc-camel-on-click=\"{{ pd.onLock }}\" style=\"align-self:flex-start;min-height:44px;padding:0 14px;border-radius:12px;background:transparent;color:#f4f4f6;border:1px solid #85858f;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">LOCK FOR MAINTENANCE<\u002Fbutton><\u002Fsc-if>\n<\u002Fsection>\n<sc-if value=\"{{ pd.hasNext }}\"><section aria-labelledby=\"h-next\" style=\"padding:16px;display:flex;flex-direction:column;gap:8px;background:rgba(60,60,68,.36);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.10);border-radius:18px\">\n<h2 id=\"h-next\" style=\"font-size:16px;font-weight:700\">Next on {{ pd.id }}<\u002Fh2>\n<div style=\"display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center\"><span style=\"font-weight:800\">{{ pd.next.id }}<\u002Fspan><span style=\"font-weight:700\">{{ pd.next.job }}<\u002Fspan><span style=\"display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;border:{{ pd.next.qs.bs }};color:{{ pd.next.qs.c }};font-size:12px;font-weight:700\"><span aria-hidden=\"true\">{{ pd.next.qs.g }}<\u002Fspan>{{ pd.next.qs.l }}<\u002Fspan><\u002Fdiv>\n<span style=\"font-size:12px;color:#b2b2ba\">{{ pd.next.artTxt }} · {{ pd.next.mat }}<\u002Fspan>\n<sc-if value=\"{{ pd.next.hasHold }}\"><button sc-camel-on-click=\"{{ pd.next.holdOn }}\" aria-label=\"{{ pd.next.holdLbl }}\" style=\"align-self:flex-start;min-height:36px;padding:0 10px;border-radius:10px;background:rgba(232,193,112,.10);border:1px solid #e8c170;color:#e8c170;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;text-align:left\">‖ {{ pd.next.hold }} →<\u002Fbutton><\u002Fsc-if>\n<sc-if value=\"{{ pd.next.hasAuth }}\"><span style=\"font-size:12px\"><span style=\"color:{{ pd.next.auth.c }};font-weight:700\">readiness {{ pd.next.auth.g }} {{ pd.next.auth.l }}<\u002Fspan> · {{ pd.next.authLine }}<\u002Fspan><\u002Fsc-if>\n<sc-if value=\"{{ pd.next.hasGuide }}\"><span style=\"font-size:13px;padding:10px 12px;border-radius:12px;border:1px dashed #e8c170;text-wrap:pretty\"><strong style=\"color:#e8c170\">Inspect the physical printer.<\u002Fstrong> {{ pd.next.guide }}<\u002Fspan><\u002Fsc-if>\n<div style=\"display:flex;flex-wrap:wrap;gap:8px;align-items:center\"><sc-for list=\"{{ pd.next.acts }}\" as=\"b\"><button sc-camel-on-click=\"{{ b.on }}\" aria-disabled=\"{{ b.ad }}\" style=\"min-height:44px;padding:0 14px;border-radius:12px;background:{{ b.bbg }};color:{{ b.bc }};border:{{ b.bb }};font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:{{ b.cur }}\">{{ b.l }}<\u002Fbutton><\u002Fsc-for><\u002Fdiv>\n<span style=\"font-size:12px;color:#b2b2ba\">{{ pd.next.why }}<\u002Fspan>\n<\u002Fsection><\u002Fsc-if>\n<section aria-labelledby=\"h-hist\" style=\"padding:16px;display:flex;flex-direction:column;gap:6px;background:rgba(60,60,68,.36);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.10);border-radius:18px\">\n<h2 id=\"h-hist\" style=\"font-size:16px;font-weight:700\">Command history<\u002Fh2>\n<sc-for list=\"{{ pd.hist }}\" as=\"h\" hint-placeholder-count=\"3\"><div style=\"display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;padding:8px 0;border-top:1px solid rgba(255,255,255,.08);font-size:12px\"><span style=\"font-weight:800;font-size:13px\">{{ h.id }}<\u002Fspan><span>{{ h.type }} · {{ h.entry }}<\u002Fspan><span style=\"display:inline-flex;align-items:center;gap:6px;padding:1px 8px;border-radius:999px;border:{{ h.pill.bs }};color:{{ h.pill.c }};font-weight:700\"><span aria-hidden=\"true\">{{ h.pill.g }}<\u002Fspan>{{ h.pill.l }}<\u002Fspan><span style=\"color:#b2b2ba;margin-left:auto\">{{ h.at }} · {{ h.by }}<\u002Fspan><span style=\"flex-basis:100%;color:#b2b2ba\">{{ h.res }}<\u002Fspan><\u002Fdiv><\u002Fsc-for>\n<\u002Fsection>\n<section aria-labelledby=\"h-act\" style=\"padding:16px;display:flex;flex-direction:column;gap:6px;background:rgba(60,60,68,.36);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.10);border-radius:18px\">\n<h2 id=\"h-act\" style=\"font-size:16px;font-weight:700\">Activity<\u002Fh2>\n<sc-for list=\"{{ pd.act }}\" as=\"a\" hint-placeholder-count=\"3\"><div style=\"display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;padding:6px 0;border-top:1px solid rgba(255,255,255,.08);font-size:12px\"><span style=\"color:#b2b2ba\">{{ a.t }}<\u002Fspan><span><strong>{{ a.who }}<\u002Fstrong> · {{ a.what }}<\u002Fspan><\u002Fdiv><\u002Fsc-for>\n<\u002Fsection>\n<\u002Fdiv>\n<\u002Fdiv>\n<\u002Fdiv>\n<\u002Fsc-if>\n<sc-if value=\"{{ isFil }}\"><div role=\"tablist\" aria-label=\"Filament views\" style=\"display:flex;gap:6px\"><sc-for list=\"{{ filTabs }}\" as=\"t\" hint-placeholder-count=\"2\"><button role=\"tab\" aria-selected=\"{{ t.sel }}\" sc-camel-on-click=\"{{ t.on }}\" style=\"min-height:44px;padding:0 14px;border-radius:12px;background:{{ t.bg }};color:{{ t.c }};border:1px solid {{ t.b }};font-family:inherit;font-size:13px;font-weight:700;cursor:pointer\">{{ t.l }}<\u002Fbutton><\u002Fsc-for><\u002Fdiv><\u002Fsc-if>\n<sc-if value=\"{{ vExisting }}\"><div style=\"padding:24px;border-radius:18px;border:1px dashed rgba(255,255,255,.22);display:flex;flex-direction:column;gap:6px\"><span style=\"font-size:11px;font-weight:700;letter-spacing:.14em;color:#b2b2ba\">EXISTING PAGE · UNCHANGED<\u002Fspan><span style=\"font-size:14px\">{{ existTxt }}<\u002Fspan><span style=\"font-size:12px;color:#b2b2ba\">Not redesigned in this pass. Kept in navigation as built.<\u002Fspan><\u002Fdiv><\u002Fsc-if>\n<sc-if value=\"{{ vRes }}\">\n<div style=\"display:flex;flex-direction:column;gap:14px\">\n<div style=\"display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:#b2b2ba;align-items:center\"><span>Weight provenance:<\u002Fspan><span style=\"padding:1px 8px;border-radius:999px;border:1px solid #f4f4f6;color:#f4f4f6\">▣ measured<\u002Fspan><span style=\"padding:1px 8px;border-radius:999px;border:1px dashed #f4f4f6;color:#f4f4f6\">≈ estimated<\u002Fspan><span style=\"padding:1px 8px;border-radius:999px;border:1px dotted #f4f4f6;color:#f4f4f6\">? unknown<\u002Fspan><span>Expired holds wait for your decision; nothing auto-releases.<\u002Fspan><\u002Fdiv>\n<sc-for list=\"{{ spools }}\" as=\"sp\" hint-placeholder-count=\"5\">\n<section style=\"padding:16px;display:flex;flex-direction:column;gap:10px;background:rgba(60,60,68,.36);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.10);border-radius:18px\">\n<div style=\"display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center\"><span style=\"font-weight:800\">{{ sp.id }}<\u002Fspan><span style=\"font-weight:700\">{{ sp.name }}<\u002Fspan><span style=\"font-size:12px;color:#b2b2ba\">{{ sp.loc }}<\u002Fspan><span style=\"margin-left:auto;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:13px\"><span>{{ sp.wt }}<\u002Fspan><span style=\"display:inline-flex;align-items:center;gap:5px;padding:1px 8px;border-radius:999px;border:{{ sp.prov.bs }};color:{{ sp.prov.c }};font-size:12px\"><span aria-hidden=\"true\">{{ sp.prov.g }}<\u002Fspan>{{ sp.prov.l }}<\u002Fspan><span style=\"color:#a99af0;font-weight:700\">{{ sp.held }}<\u002Fspan><span style=\"color:#b2b2ba\">{{ sp.avail }}<\u002Fspan><\u002Fspan><\u002Fdiv>\n<sc-if value=\"{{ sp.empty }}\"><span style=\"font-size:12px;color:#b2b2ba\">No reservations on this spool.<\u002Fspan><\u002Fsc-if>\n<sc-for list=\"{{ sp.holds }}\" as=\"h\">\n<div style=\"display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(18,18,22,.38);border:1px solid rgba(255,255,255,.08);font-size:13px\">\n<span style=\"font-weight:800;min-width:48px\">{{ h.g }}<\u002Fspan><span>{{ h.handle }}<\u002Fspan><span style=\"display:inline-flex;align-items:center;gap:5px;padding:1px 8px;border-radius:999px;border:{{ h.pill.bs }};color:{{ h.pill.c }};font-size:12px;font-weight:700\"><span aria-hidden=\"true\">{{ h.pill.g }}<\u002Fspan>{{ h.pill.l }}<\u002Fspan><span style=\"font-size:12px;color:{{ h.whenC }}\">{{ h.when }}<\u002Fspan><span style=\"font-size:11px;color:#85858f\">{{ h.id }}<\u002Fspan>\n<sc-if value=\"{{ h.isUnc }}\"><div style=\"flex-basis:100%;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px\"><span style=\"text-wrap:pretty;flex:1 1 220px\">Caused by start {{ h.cmd }} with an unknown outcome. Reconcile: resolve {{ h.cmd }} on the printer. Observed applied keeps the hold for the print; never delivered releases it.<\u002Fspan><button sc-camel-on-click=\"{{ h.goCmd }}\" style=\"min-height:44px;padding:0 12px;border-radius:12px;background:transparent;color:#f4f4f6;border:1px solid #85858f;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">OPEN {{ h.cmd }}<\u002Fbutton><\u002Fdiv><\u002Fsc-if>\n<sc-if value=\"{{ h.isExp }}\"><div style=\"flex-basis:100%;display:flex;flex-wrap:wrap;gap:8px;align-items:center\"><button sc-camel-on-click=\"{{ h.onRel }}\" style=\"min-height:44px;padding:0 12px;border-radius:12px;background:transparent;color:#f4f4f6;border:1px solid #85858f;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">RELEASE GRAMS<\u002Fbutton><button sc-camel-on-click=\"{{ h.onRenew }}\" style=\"min-height:44px;padding:0 12px;border-radius:12px;background:transparent;color:#f4f4f6;border:1px solid #85858f;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">RENEW 4 H<\u002Fbutton><\u002Fdiv><\u002Fsc-if>\n<\u002Fdiv>\n<\u002Fsc-for>\n<\u002Fsection>\n<\u002Fsc-for>\n<\u002Fdiv>\n<\u002Fsc-if>\n<sc-if value=\"{{ vArt }}\">\n<div style=\"display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start\">\n<section aria-labelledby=\"h-up\" style=\"flex:1 1 400px;min-width:0;padding:16px;display:flex;flex-direction:column;gap:12px;background:rgba(60,60,68,.36);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 28px rgba(0,0,0,.32);border-radius:18px\">\n<h2 id=\"h-up\" style=\"font-size:16px;font-weight:700\">Upload a revision<\u002Fh2>\n<div style=\"display:flex;flex-direction:column;gap:4px;font-size:12px;color:#b2b2ba\"><label for=\"up-file\">File (.3mf or .gcode.3mf)<\u002Flabel><div style=\"display:flex;flex-wrap:wrap;gap:8px;align-items:center\"><input id=\"up-file\" type=\"file\" accept=\".3mf\" sc-camel-on-change=\"{{ onFile }}\" style=\"min-height:44px;color:#f4f4f6;font-family:inherit;font-size:12px;max-width:100%\"><button sc-camel-on-click=\"{{ sample }}\" style=\"min-height:44px;padding:0 12px;border-radius:12px;background:transparent;color:#e8c170;border:1px dashed rgba(232,193,112,.6);font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">PROTOTYPE · SAMPLE FILE<\u002Fbutton><\u002Fdiv><span style=\"color:#f4f4f6\">{{ up.file }} {{ up.size }}<\u002Fspan><\u002Fdiv>\n<div style=\"display:flex;flex-direction:column;gap:4px;font-size:12px;color:#b2b2ba\"><span>Computed checksum (SHA-256, in your browser)<\u002Fspan><sc-if value=\"{{ art.busy }}\"><span style=\"color:#f4f4f6\">Computing…<\u002Fspan><\u002Fsc-if><sc-if value=\"{{ art.hasSum }}\"><code title=\"{{ art.sum }}\" style=\"padding:8px 10px;border-radius:10px;background:rgba(18,18,22,.6);color:#f4f4f6;font-size:12px;word-break:break-all\">{{ art.sumShort }}<\u002Fcode><\u002Fsc-if><\u002Fdiv>\n<label style=\"display:flex;flex-direction:column;gap:4px;font-size:12px;color:#b2b2ba\">Expected checksum from the slicer (optional)<input value=\"{{ up.expect }}\" sc-camel-on-change=\"{{ onExpect }}\" placeholder=\"sha256:…\" style=\"min-height:44px;padding:0 12px;border-radius:12px;background:rgba(18,18,22,.55);border:1px solid #85858f;color:#f4f4f6;font-family:inherit;font-size:13px\"><\u002Flabel>\n<button sc-camel-on-click=\"{{ sampleBad }}\" style=\"align-self:flex-start;min-height:36px;padding:0 10px;border-radius:10px;background:transparent;color:#e8c170;border:1px dashed rgba(232,193,112,.6);font-family:inherit;font-size:11px;font-weight:700;cursor:pointer\">PROTOTYPE · PASTE A MISMATCHED CHECKSUM<\u002Fbutton>\n<sc-if value=\"{{ art.mismatch }}\"><div role=\"alert\" style=\"padding:12px 14px;border-radius:12px;border:2px solid #f08b93;background:rgba(240,139,147,.12);display:flex;flex-direction:column;gap:4px\"><span style=\"font-weight:800;color:#f08b93\">✗ Checksum mismatch. Upload refused.<\u002Fspan><span style=\"font-size:13px\">The file you chose is not the file the slicer exported. Re-export from the slicer or pick the right file.<\u002Fspan><\u002Fdiv><\u002Fsc-if>\n<sc-if value=\"{{ art.matchOk }}\"><span style=\"font-size:12px;color:#a9d88b\">✓ Checksum matches the slicer export.<\u002Fspan><\u002Fsc-if>\n<div style=\"display:flex;flex-wrap:wrap;gap:10px\">\n<label style=\"flex:1 1 180px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:#b2b2ba\">Artifact key<sc-raw-select value=\"{{ up.key }}\" sc-camel-on-change=\"{{ onKey }}\" style=\"min-height:44px;padding:0 10px;border-radius:12px;background:#232327;border:1px solid #85858f;color:#f4f4f6;font-family:inherit;font-size:13px\"><sc-for list=\"{{ art.keys }}\" as=\"k\"><option value=\"{{ k.k }}\">{{ k.k }}<\u002Foption><\u002Fsc-for><option value=\"__new\">New key…<\u002Foption><\u002Fsc-raw-select><\u002Flabel>\n<div style=\"flex:0 1 120px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:#b2b2ba\"><span>Revision<\u002Fspan><span style=\"min-height:44px;display:flex;align-items:center;font-size:15px;font-weight:800;color:#f4f4f6\">{{ art.nextRev }}<\u002Fspan><\u002Fdiv>\n<\u002Fdiv>\n<sc-if value=\"{{ art.keyNew }}\"><label style=\"display:flex;flex-direction:column;gap:4px;font-size:12px;color:#b2b2ba\">New key (lowercase, digits, underscore; 3–40)<input value=\"{{ up.newKey }}\" sc-camel-on-change=\"{{ onNewKey }}\" placeholder=\"e.g. lid_v2\" style=\"min-height:44px;padding:0 12px;border-radius:12px;background:rgba(18,18,22,.55);border:1px solid #85858f;color:#f4f4f6;font-family:inherit;font-size:13px\"><sc-if value=\"{{ art.keyBad }}\"><span style=\"color:#f08b93\">✗ Use 3–40 characters: a–z, 0–9, underscore.<\u002Fspan><\u002Fsc-if><\u002Flabel><\u002Fsc-if>\n<fieldset style=\"border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:6px\"><legend style=\"font-size:12px;color:#b2b2ba;padding:0 0 4px\">Compatible printers<\u002Flegend><div style=\"display:flex;flex-wrap:wrap;gap:4px 14px\"><sc-for list=\"{{ art.compat }}\" as=\"c\" hint-placeholder-count=\"6\"><label style=\"display:flex;gap:8px;align-items:center;min-height:44px;cursor:pointer\"><input type=\"checkbox\" checked=\"{{ c.on }}\" sc-camel-on-change=\"{{ c.onC }}\" style=\"width:20px;height:20px;accent-color:#a99af0\"><span>{{ c.id }}<\u002Fspan><\u002Flabel><\u002Fsc-for><\u002Fdiv><\u002Ffieldset>\n<div style=\"display:flex;flex-wrap:wrap;gap:10px\">\n<label style=\"flex:1 1 90px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:#b2b2ba\">Yield per plate<input type=\"number\" min=\"1\" value=\"{{ up.yld }}\" sc-camel-on-change=\"{{ onYld }}\" style=\"min-height:44px;padding:0 12px;border-radius:12px;background:rgba(18,18,22,.55);border:1px solid #85858f;color:#f4f4f6;font-family:inherit;font-size:13px\"><\u002Flabel>\n<label style=\"flex:1 1 140px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:#b2b2ba\">Plate type<sc-raw-select value=\"{{ up.plateT }}\" sc-camel-on-change=\"{{ onPlateT }}\" style=\"min-height:44px;padding:0 10px;border-radius:12px;background:#232327;border:1px solid #85858f;color:#f4f4f6;font-family:inherit;font-size:13px\"><option>Textured PEI<\u002Foption><option>Smooth PEI<\u002Foption><option>Engineering<\u002Foption><\u002Fsc-raw-select><\u002Flabel>\n<label style=\"flex:1 1 110px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:#b2b2ba\">Nozzle<sc-raw-select value=\"{{ up.noz }}\" sc-camel-on-change=\"{{ onNoz }}\" style=\"min-height:44px;padding:0 10px;border-radius:12px;background:#232327;border:1px solid #85858f;color:#f4f4f6;font-family:inherit;font-size:13px\"><option>0.2 mm<\u002Foption><option>0.4 mm<\u002Foption><option>0.6 mm<\u002Foption><\u002Fsc-raw-select><\u002Flabel>\n<\u002Fdiv>\n<fieldset style=\"border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px\"><legend style=\"font-size:12px;color:#b2b2ba;padding:0 0 4px\">Material mapping · format check only, no grams reserved (later phase)<\u002Flegend>\n<sc-for list=\"{{ art.maps }}\" as=\"m\" hint-placeholder-count=\"1\"><div style=\"display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;padding:10px;border-radius:12px;background:rgba(18,18,22,.38)\">\n<span style=\"font-weight:700;font-size:12px;min-width:60px;align-self:center\">{{ m.lbl }}<\u002Fspan>\n<label style=\"flex:1 1 100px;display:flex;flex-direction:column;gap:4px;font-size:11px;color:#b2b2ba\">Slot<sc-raw-select value=\"{{ m.slot }}\" sc-camel-on-change=\"{{ m.onSlot }}\" style=\"min-height:44px;padding:0 8px;border-radius:10px;background:#232327;border:1px solid #85858f;color:#f4f4f6;font-family:inherit;font-size:13px\"><option>AMS 1<\u002Foption><option>AMS 2<\u002Foption><option>AMS 3<\u002Foption><option>AMS 4<\u002Foption><option>External<\u002Foption><\u002Fsc-raw-select><\u002Flabel>\n<label style=\"flex:1 1 100px;display:flex;flex-direction:column;gap:4px;font-size:11px;color:#b2b2ba\">Spool ID<input value=\"{{ m.spool }}\" sc-camel-on-change=\"{{ m.onSpool }}\" placeholder=\"S-014\" style=\"min-height:44px;padding:0 10px;border-radius:10px;background:rgba(18,18,22,.55);border:1px solid #85858f;color:#f4f4f6;font-family:inherit;font-size:13px\"><\u002Flabel>\n<label style=\"flex:1 1 110px;display:flex;flex-direction:column;gap:4px;font-size:11px;color:#b2b2ba\">Color<span style=\"display:flex;gap:6px;align-items:center\"><span aria-hidden=\"true\" style=\"width:18px;height:18px;border-radius:5px;border:1px solid #85858f;background:{{ m.sw }};flex:none\"><\u002Fspan><input value=\"{{ m.color }}\" sc-camel-on-change=\"{{ m.onColor }}\" placeholder=\"#RRGGBB\" style=\"min-height:44px;width:100%;padding:0 10px;border-radius:10px;background:rgba(18,18,22,.55);border:1px solid #85858f;color:#f4f4f6;font-family:inherit;font-size:13px\"><\u002Fspan><\u002Flabel>\n<button sc-camel-on-click=\"{{ m.onRm }}\" aria-label=\"Remove mapping\" style=\"min-height:44px;padding:0 10px;border-radius:10px;background:transparent;color:#b2b2ba;border:1px solid rgba(255,255,255,.12);font-family:inherit;font-size:11px;font-weight:700;cursor:pointer\">REMOVE<\u002Fbutton>\n<sc-if value=\"{{ m.spoolBad }}\"><span style=\"flex-basis:100%;font-size:12px;color:#f08b93\">✗ Spool ID format is S- followed by three digits.<\u002Fspan><\u002Fsc-if>\n<sc-if value=\"{{ m.colorBad }}\"><span style=\"flex-basis:100%;font-size:12px;color:#f08b93\">✗ Color format is # followed by six hex digits.<\u002Fspan><\u002Fsc-if>\n<\u002Fdiv><\u002Fsc-for>\n<button sc-camel-on-click=\"{{ addMap }}\" style=\"align-self:flex-start;min-height:44px;padding:0 12px;border-radius:12px;background:transparent;color:#f4f4f6;border:1px solid #85858f;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">ADD PLATE MAPPING<\u002Fbutton>\n<\u002Ffieldset>\n<div style=\"display:flex;flex-wrap:wrap;gap:8px;align-items:center\"><button sc-camel-on-click=\"{{ art.upBtn.on }}\" aria-disabled=\"{{ art.upBtn.ad }}\" style=\"min-height:44px;padding:0 14px;border-radius:12px;background:{{ art.upBtn.bbg }};color:{{ art.upBtn.bc }};border:{{ art.upBtn.bb }};font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:{{ art.upBtn.cur }}\">{{ art.upBtn.l }}<\u002Fbutton><span style=\"font-size:12px;color:#b2b2ba\">{{ art.upWhy }}<\u002Fspan><\u002Fdiv>\n<span role=\"status\" style=\"font-size:13px;color:#a9d88b\">{{ up.msg }}<\u002Fspan>\n<\u002Fsection>\n<section aria-labelledby=\"h-revs\" style=\"flex:1 1 360px;min-width:0;padding:16px;display:flex;flex-direction:column;gap:14px;background:rgba(60,60,68,.36);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.10);border-radius:18px\">\n<h2 id=\"h-revs\" style=\"font-size:16px;font-weight:700\">Revisions · immutable<\u002Fh2>\n<sc-for list=\"{{ art.list }}\" as=\"k\" hint-placeholder-count=\"3\"><div style=\"display:flex;flex-direction:column;gap:4px\"><span style=\"font-size:11px;font-weight:700;letter-spacing:.14em;color:#a99af0\">{{ k.k }}<\u002Fspan>\n<sc-for list=\"{{ k.revs }}\" as=\"r\"><div style=\"display:flex;flex-wrap:wrap;gap:2px 10px;padding:8px 0;border-top:1px solid rgba(255,255,255,.08);font-size:12px\"><span style=\"font-weight:800;font-size:13px;min-width:30px\">{{ r.rev }}<\u002Fspan><span>{{ r.at }} · {{ r.by }}<\u002Fspan><span title=\"{{ r.full }}\" style=\"color:#b2b2ba\">{{ r.sum }}<\u002Fspan><span style=\"color:#b2b2ba;flex-basis:100%\">for {{ r.compat }}<\u002Fspan><\u002Fdiv><\u002Fsc-for>\n<\u002Fdiv><\u002Fsc-for>\n<\u002Fsection>\n<\u002Fdiv>\n<\u002Fsc-if>\n<sc-if value=\"{{ vInbox }}\">\n<div style=\"display:flex;flex-direction:column;gap:12px;font-size:13px\">\n<div style=\"display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:10px 12px;border:1px dashed #85858f;border-radius:12px;color:#b2b2ba\"><span style=\"font-size:11px;font-weight:700;letter-spacing:.14em;color:#f4f4f6\">WIREFRAME · PHASE 1<\u002Fspan><span>Work requests arrive from CubeOps, a separate project. Grayscale on purpose.<\u002Fspan><\u002Fdiv>\n<div style=\"display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start\">\n<div role=\"list\" aria-label=\"Work requests\" style=\"flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:8px\">\n<sc-for list=\"{{ inbox }}\" as=\"w\" hint-placeholder-count=\"4\"><button role=\"listitem\" sc-camel-on-click=\"{{ w.on }}\" aria-pressed=\"{{ w.sel }}\" style=\"text-align:left;padding:12px;border-radius:10px;border:{{ w.bw }};background:transparent;color:#f4f4f6;font-family:inherit;font-size:13px;display:flex;flex-direction:column;gap:4px;cursor:pointer;min-height:44px\"><span style=\"display:flex;flex-wrap:wrap;gap:4px 10px\"><strong>{{ w.id }}<\u002Fstrong><span style=\"color:#b2b2ba\">{{ w.v }}<\u002Fspan><span style=\"padding:0 8px;border:1px solid #b2b2ba;border-radius:999px;font-size:12px\">{{ w.st }}<\u002Fspan><span style=\"margin-left:auto;color:#b2b2ba;font-size:12px\">{{ w.at }}<\u002Fspan><\u002Fspan><span style=\"color:#b2b2ba\">{{ w.ref }} · {{ w.maps }}<\u002Fspan><\u002Fbutton><\u002Fsc-for>\n<\u002Fdiv>\n<div style=\"flex:1 1 360px;min-width:0;padding:16px;border:1px dashed #85858f;border-radius:12px;display:flex;flex-direction:column;gap:10px\">\n<sc-if value=\"{{ selConflict }}\">\n<span style=\"font-weight:800\">{{ selW.id }} · {{ selW.v }} · conflict<\u002Fspan><span style=\"color:#b2b2ba\">{{ selW.ref }}. CubeOps sent v2 while Q-43 was held. Check each fact before retrying or cancelling.<\u002Fspan>\n<sc-for list=\"{{ facts }}\" as=\"f\" hint-placeholder-count=\"4\"><label style=\"display:flex;gap:10px;align-items:flex-start;min-height:44px;padding:8px 10px;border:1px solid #4a4a52;border-radius:8px;cursor:pointer\"><input type=\"checkbox\" checked=\"{{ f.on }}\" sc-camel-on-change=\"{{ f.t }}\" style=\"width:20px;height:20px;margin:1px 0 0;accent-color:#b2b2ba\"><span style=\"display:flex;flex-direction:column\"><strong>{{ f.l }}<\u002Fstrong><span style=\"color:#b2b2ba\">{{ f.v }}<\u002Fspan><\u002Fspan><\u002Flabel><\u002Fsc-for>\n<div style=\"display:flex;flex-wrap:wrap;gap:8px\"><button sc-camel-on-click=\"{{ retryBtn.on }}\" aria-disabled=\"{{ retryBtn.ad }}\" style=\"min-height:44px;padding:0 14px;border-radius:8px;background:transparent;color:{{ retryBtn.bc }};border:{{ retryBtn.bb }};font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:{{ retryBtn.cur }}\">{{ retryBtn.l }}<\u002Fbutton><button sc-camel-on-click=\"{{ cancelReqBtn.on }}\" aria-disabled=\"{{ cancelReqBtn.ad }}\" style=\"min-height:44px;padding:0 14px;border-radius:8px;background:transparent;color:{{ cancelReqBtn.bc }};border:{{ cancelReqBtn.bb }};font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:{{ cancelReqBtn.cur }}\">{{ cancelReqBtn.l }}<\u002Fbutton><\u002Fdiv>\n<\u002Fsc-if>\n<sc-if value=\"{{ selOther }}\"><span style=\"font-weight:800\">{{ selW.id }} · {{ selW.v }} · {{ selW.st }}<\u002Fspan><span style=\"color:#b2b2ba\">{{ selW.ref }}<\u002Fspan><span>Queue: {{ selW.maps }}<\u002Fspan><span style=\"color:#b2b2ba\">No action needed. Detail layout for accepted and rejected requests comes with phase 1 build.<\u002Fspan><\u002Fsc-if>\n<\u002Fdiv>\n<\u002Fdiv>\n<\u002Fdiv>\n<\u002Fsc-if>\n<div role=\"status\" aria-live=\"polite\" style=\"position:sticky;bottom:0;margin-top:auto;padding:10px 14px;border-radius:12px;background:rgba(28,28,32,.88);border:1px solid rgba(255,255,255,.12);font-size:12px;color:#b2b2ba\"><span style=\"color:#a99af0;font-weight:700\">status<\u002Fspan> {{ live }}<\u002Fdiv>\n<\u002Fmain>\n<\u002Fdiv>\n<sc-if value=\"{{ navOpen }}\"><nav aria-label=\"Extrudex\" style=\"position:absolute;left:12px;right:12px;top:76px;z-index:15;max-height:calc(100% - 96px);overflow:auto;padding:12px;border-radius:18px;background:rgba(40,40,46,.96);border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 40px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:3px\"><sc-for list=\"{{ nav }}\" as=\"n\" hint-placeholder-count=\"9\"><button sc-camel-on-click=\"{{ n.on }}\" aria-current=\"{{ n.cur }}\" style=\"display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:12px;border:1px solid {{ n.bc }};background:{{ n.bg }};color:{{ n.c }};font-family:inherit;font-size:14px;font-weight:{{ n.w }};text-align:left;cursor:pointer\"><span>{{ n.l }}<\u002Fspan><span style=\"margin-left:auto;display:{{ n.td }};font-size:10px;padding:0 7px;border-radius:999px;border:1px {{ n.ts }} #a99af0;color:#a99af0\">{{ n.tag }}<\u002Fspan><\u002Fbutton><\u002Fsc-for><sc-for list=\"{{ manage }}\" as=\"n\" hint-placeholder-count=\"2\"><button sc-camel-on-click=\"{{ n.on }}\" aria-current=\"{{ n.cur }}\" style=\"display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:12px;border:1px solid {{ n.bc }};background:{{ n.bg }};color:{{ n.c }};font-family:inherit;font-size:14px;font-weight:{{ n.w }};text-align:left;cursor:pointer\">{{ n.l }}<\u002Fbutton><\u002Fsc-for><\u002Fnav><\u002Fsc-if>\n<sc-if value=\"{{ hasDlg }}\"><div sc-camel-on-key-down=\"{{ dlgKey }}\" style=\"position:absolute;inset:0;z-index:20;background:rgba(10,10,14,.62);display:flex;align-items:{{ dlgAlign }};justify-content:center;padding:{{ dlgPad }}\">\n<div role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"dlg-h\" style=\"width:100%;max-width:560px;max-height:100%;overflow:auto;padding:20px;border-radius:{{ dlgR }};background:rgba(44,44,50,.97);border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 60px rgba(0,0,0,.55);display:flex;flex-direction:column;gap:14px\">\n<h2 id=\"dlg-h\" sc-camel-tab-index=\"-1\" style=\"font-size:18px;font-weight:800\">{{ dlg.title }}<\u002Fh2>\n<sc-if value=\"{{ stale }}\"><span role=\"alert\" style=\"font-size:12px;color:#e8c170;padding:8px 10px;border:1px solid #e8c170;border-radius:10px\">◌ Data is stale (last loaded 2:39 PM). Confirm the printer state before you continue.<\u002Fspan><\u002Fsc-if>\n<dl style=\"margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;font-size:13px;padding:12px;border-radius:12px;background:rgba(18,18,22,.5)\"><sc-for list=\"{{ dlg.targets }}\" as=\"t\"><dt style=\"color:#b2b2ba\">{{ t.k }}<\u002Fdt><dd style=\"margin:0;font-weight:700\">{{ t.v }}<\u002Fdd><\u002Fsc-for><\u002Fdl>\n<sc-if value=\"{{ dlg.hasSup }}\"><span style=\"font-size:13px\">Supersedes <strong>{{ dlg.sup }}<\u002Fstrong>. It stays in history marked superseded. Fields are pre-filled from it.<\u002Fspan><\u002Fsc-if>\n<sc-if value=\"{{ dlg.isStart }}\"><span style=\"font-size:13px\">Authorization: {{ dlg.authTxt }}. Sends one start command. A sent start is never replayed after a timeout or restart.<\u002Fspan><\u002Fsc-if>\n<sc-if value=\"{{ dlg.isCanP }}\"><span style=\"font-size:13px\">Sends a cancel command. Available even when the printer is locked or reports a fault. The plate will need clearing.<\u002Fspan><\u002Fsc-if>\n<sc-if value=\"{{ dlg.isCanE }}\"><span style=\"font-size:13px\">The entry leaves the queue and its reserved grams are released. No readiness authorization is needed. Recorded as {{ who }}.<\u002Fspan><\u002Fsc-if>\n<sc-if value=\"{{ dlg.isPlate }}\"><span style=\"font-size:13px\">You confirm the plate is clear and installed; Extrudex cannot sense it. {{ dlg.plateNext }}<\u002Fspan><\u002Fsc-if>\n<sc-if value=\"{{ dlg.isLock }}\"><ul style=\"margin:0;padding-left:18px;font-size:13px;display:flex;flex-direction:column;gap:4px\"><sc-for list=\"{{ dlg.lockEffects }}\" as=\"x\"><li>{{ x }}<\u002Fli><\u002Fsc-for><\u002Ful><\u002Fsc-if>\n<sc-if value=\"{{ dlg.isUnlock }}\"><ul style=\"margin:0;padding-left:18px;font-size:13px;display:flex;flex-direction:column;gap:4px\"><sc-for list=\"{{ dlg.unlockEffects }}\" as=\"x\"><li>{{ x }}<\u002Fli><\u002Fsc-for><\u002Ful><\u002Fsc-if>\n<sc-if value=\"{{ dlg.isRelease }}\"><ul aria-label=\"Release re-checks\" style=\"list-style:none;margin:0;padding:0;font-size:13px;display:flex;flex-direction:column;gap:4px\"><sc-for list=\"{{ dlg.relChecks }}\" as=\"x\"><li style=\"color:{{ x.c }}\"><span aria-hidden=\"true\">{{ x.g }}<\u002Fspan> {{ x.t }}<\u002Fli><\u002Fsc-for><\u002Ful><span style=\"font-size:12px;color:#b2b2ba\">{{ dlg.relTail }}<\u002Fspan><\u002Fsc-if>\n<sc-if value=\"{{ dlg.isResA }}\"><span style=\"font-size:13px;text-wrap:pretty\">{{ dlg.attnReason }}<\u002Fspan><span style=\"font-size:13px;font-weight:700;color:{{ dlg.obsC }}\">{{ dlg.obsTxt }}<\u002Fspan><label style=\"display:flex;flex-direction:column;gap:4px;font-size:12px;color:#b2b2ba\">Evidence (20–2048 characters)<textarea rows=\"6\" value=\"{{ f.ev }}\" sc-camel-on-change=\"{{ onEv }}\" placeholder=\"e.g. Checked the printer: the touchscreen job was a test cube, plate now clear.\" style=\"width:100%;padding:10px 12px;border-radius:12px;background:rgba(18,18,22,.6);border:1px solid #85858f;color:#f4f4f6;font-family:inherit;font-size:14px;resize:vertical\"><\u002Ftextarea><span style=\"color:{{ dlg.evC }}\">{{ dlg.evCount }}<\u002Fspan><\u002Flabel><span style=\"font-size:12px;color:#b2b2ba\">The entry returns to held. Release it to requeue.<\u002Fspan><\u002Fsc-if>\n<sc-if value=\"{{ dlg.isWin }}\">\n<div style=\"display:flex;flex-wrap:wrap;gap:12px\">\n<div role=\"group\" aria-label=\"Window start\" style=\"flex:1 1 200px;display:flex;flex-direction:column;gap:6px\"><span style=\"font-size:12px;color:#b2b2ba\">Start (local)<\u002Fspan><div style=\"display:flex;align-items:center;gap:8px\"><button sc-camel-on-click=\"{{ wsDown }}\" aria-label=\"Start 30 minutes earlier\" style=\"width:44px;height:44px;border-radius:12px;background:transparent;color:#f4f4f6;border:1px solid #85858f;font-family:inherit;font-size:18px;cursor:pointer\">−<\u002Fbutton><output aria-live=\"polite\" style=\"flex:1;text-align:center;font-weight:800;font-size:16px\">{{ dlg.wsL }}<\u002Foutput><button sc-camel-on-click=\"{{ wsUp }}\" aria-label=\"Start 30 minutes later\" style=\"width:44px;height:44px;border-radius:12px;background:transparent;color:#f4f4f6;border:1px solid #85858f;font-family:inherit;font-size:18px;cursor:pointer\">+<\u002Fbutton><\u002Fdiv><\u002Fdiv>\n<div role=\"group\" aria-label=\"Window end\" style=\"flex:1 1 200px;display:flex;flex-direction:column;gap:6px\"><span style=\"font-size:12px;color:#b2b2ba\">End (local)<\u002Fspan><div style=\"display:flex;align-items:center;gap:8px\"><button sc-camel-on-click=\"{{ weDown }}\" aria-label=\"End 30 minutes earlier\" style=\"width:44px;height:44px;border-radius:12px;background:transparent;color:#f4f4f6;border:1px solid #85858f;font-family:inherit;font-size:18px;cursor:pointer\">−<\u002Fbutton><output aria-live=\"polite\" style=\"flex:1;text-align:center;font-weight:800;font-size:16px\">{{ dlg.weL }}<\u002Foutput><button sc-camel-on-click=\"{{ weUp }}\" aria-label=\"End 30 minutes later\" style=\"width:44px;height:44px;border-radius:12px;background:transparent;color:#f4f4f6;border:1px solid #85858f;font-family:inherit;font-size:18px;cursor:pointer\">+<\u002Fbutton><\u002Fdiv><\u002Fdiv>\n<\u002Fdiv>\n<div style=\"display:flex;flex-wrap:wrap;gap:6px\"><sc-for list=\"{{ dlg.presets }}\" as=\"x\"><button sc-camel-on-click=\"{{ x.on }}\" style=\"min-height:44px;padding:0 10px;border-radius:12px;background:transparent;color:#f4f4f6;border:1px solid rgba(255,255,255,.16);font-family:inherit;font-size:12px;cursor:pointer\">{{ x.l }}<\u002Fbutton><\u002Fsc-for><\u002Fdiv>\n<span style=\"font-size:13px;padding:10px 12px;border-radius:12px;background:rgba(18,18,22,.5)\">{{ dlg.winSum }}<\u002Fspan>\n<span style=\"font-size:12px;color:#b2b2ba\">Automatic starts only use an active readiness authorization. Active prints are never affected.<\u002Fspan>\n<sc-if value=\"{{ notes }}\"><span style=\"align-self:flex-start;padding:1px 8px;border-radius:999px;border:1px dashed #e8c170;color:#e8c170;font-size:11px\">unconfirmed default · window picker<\u002Fspan><\u002Fsc-if>\n<\u002Fsc-if>\n<sc-if value=\"{{ dlg.needsReason }}\"><label style=\"display:flex;flex-direction:column;gap:4px;font-size:12px;color:#b2b2ba\">{{ dlg.reasonLbl }}<input value=\"{{ f.reason }}\" sc-camel-on-change=\"{{ onReason }}\" placeholder=\"{{ dlg.reasonPh }}\" style=\"min-height:44px;padding:0 12px;border-radius:12px;background:rgba(18,18,22,.55);border:1px solid #85858f;color:#f4f4f6;font-family:inherit;font-size:14px\"><\u002Flabel><\u002Fsc-if>\n<sc-if value=\"{{ dlg.isReady }}\">\n<label style=\"display:flex;flex-direction:column;gap:4px;font-size:12px;color:#b2b2ba\">Expires after (max 24 h)<sc-raw-select value=\"{{ f.exp }}\" sc-camel-on-change=\"{{ onExp }}\" style=\"min-height:44px;padding:0 10px;border-radius:12px;background:#232327;border:1px solid #85858f;color:#f4f4f6;font-family:inherit;font-size:14px\"><option value=\"1\">1 h<\u002Foption><option value=\"2\">2 h<\u002Foption><option value=\"4\">4 h<\u002Foption><option value=\"8\">8 h<\u002Foption><option value=\"12\">12 h<\u002Foption><option value=\"24\">24 h<\u002Foption><\u002Fsc-raw-select><span style=\"color:#f4f4f6\">{{ dlg.expTxt }}<\u002Fspan><\u002Flabel>\n<sc-if value=\"{{ notes }}\"><span style=\"align-self:flex-start;padding:1px 8px;border-radius:999px;border:1px dashed #e8c170;color:#e8c170;font-size:11px\">unconfirmed default · expiry display format<\u002Fspan><\u002Fsc-if>\n<label style=\"display:flex;gap:10px;align-items:flex-start;min-height:44px;cursor:pointer;font-size:13px\"><input type=\"checkbox\" checked=\"{{ f.ok }}\" sc-camel-on-change=\"{{ onOk }}\" style=\"width:20px;height:20px;margin:1px 0 0;accent-color:#a99af0;flex:none\"><span>Plate is cleared and installed, the loaded material matches, and nothing obstructs the bed. Extrudex cannot sense these.<\u002Fspan><\u002Flabel>\n<span style=\"font-size:12px;color:#b2b2ba\">Covers one start of this job on this printer. Consumed by dispatch; does not carry over.<\u002Fspan>\n<\u002Fsc-if>\n<div style=\"display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;padding-top:4px\"><span style=\"font-size:12px;color:#b2b2ba;margin-right:auto\">{{ dlg.okBtn.why }}<\u002Fspan><button sc-camel-on-click=\"{{ close }}\" style=\"min-height:44px;padding:0 14px;border-radius:12px;background:transparent;color:#f4f4f6;border:1px solid rgba(255,255,255,.16);font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">BACK<\u002Fbutton><button sc-camel-on-click=\"{{ dlg.okBtn.on }}\" aria-disabled=\"{{ dlg.okBtn.ad }}\" style=\"min-height:44px;padding:0 14px;border-radius:12px;background:{{ dlg.okBtn.bbg }};color:{{ dlg.okBtn.bc }};border:{{ dlg.okBtn.bb }};font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:{{ dlg.okBtn.cur }}\">{{ dlg.okBtn.l }}<\u002Fbutton><\u002Fdiv>\n<\u002Fdiv>\n<\u002Fdiv><\u002Fsc-if>\n<\u002Fdiv>\n<sc-if value=\"{{ notes }}\" hint-placeholder-val=\"{{ true }}\"><aside aria-label=\"Annotations\" style=\"flex:1 1 320px;max-width:440px;display:flex;flex-direction:column;gap:14px;font-size:12px;line-height:1.65\">\n<div style=\"display:flex;flex-direction:column;gap:2px\"><span style=\"font-size:11px;font-weight:700;letter-spacing:.14em;color:#b2b2ba\">ANNOTATIONS<\u002Fspan><span style=\"font-size:16px;font-weight:800\">{{ notesVM.scr }}<\u002Fspan><\u002Fdiv>\n<sc-for list=\"{{ notesVM.rows }}\" as=\"r\" hint-placeholder-count=\"5\"><div style=\"display:flex;flex-direction:column;gap:3px;padding-top:10px;border-top:1px solid rgba(255,255,255,.10)\"><span style=\"font-size:11px;font-weight:700;letter-spacing:.14em;color:#a99af0\">{{ r.k }}<\u002Fspan><span style=\"color:#d4d4d8;text-wrap:pretty\">{{ r.v }}<\u002Fspan><\u002Fdiv><\u002Fsc-for>\n<sc-if value=\"{{ notesVM.hasDefaults }}\"><div style=\"display:flex;flex-direction:column;gap:6px;padding:12px;border:1px dashed #e8c170;border-radius:12px\"><span style=\"font-size:11px;font-weight:700;letter-spacing:.14em;color:#e8c170\">UNCONFIRMED DEFAULTS<\u002Fspan><sc-for list=\"{{ notesVM.defaults }}\" as=\"x\"><span style=\"color:#f4f4f6\">{{ x }}<\u002Fspan><\u002Fsc-for><\u002Fdiv><\u002Fsc-if>\n<\u002Faside><\u002Fsc-if>\n<\u002Fdiv>\n<\u002Fsc-if>\n<sc-if value=\"{{ tInv }}\">\n<div style=\"display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;max-width:1400px\">\n<section style=\"flex:1 1 420px;display:flex;flex-direction:column;gap:4px\"><h2 style=\"font-size:16px;font-weight:800;padding-bottom:6px\">Reused from Extrudex and CubeCraftLabs<\u002Fh2><sc-for list=\"{{ inv.reused }}\" as=\"r\" hint-placeholder-count=\"8\"><div style=\"display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,.10);font-size:13px\"><strong>{{ r.k }}<\u002Fstrong><span style=\"color:#d4d4d8\">{{ r.v }}<\u002Fspan><\u002Fdiv><\u002Fsc-for><\u002Fsection>\n<section style=\"flex:1 1 420px;display:flex;flex-direction:column;gap:4px\"><h2 style=\"font-size:16px;font-weight:800;padding-bottom:6px\">New in this pass<\u002Fh2><sc-for list=\"{{ inv.added }}\" as=\"r\" hint-placeholder-count=\"12\"><div style=\"display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,.10);font-size:13px\"><strong style=\"color:#a99af0\">{{ r.k }}<\u002Fstrong><span style=\"color:#d4d4d8\">{{ r.v }}<\u002Fspan><\u002Fdiv><\u002Fsc-for><\u002Fsection>\n<\u002Fdiv>\n<\u002Fsc-if>\n<sc-if value=\"{{ tJourney }}\">\n<div style=\"display:flex;flex-direction:column;gap:12px;max-width:1200px\">\n<div style=\"display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center\"><h2 style=\"font-size:16px;font-weight:800\">Mark ready → auto-dispatch → running → finished → clear plate → next job<\u002Fh2><span style=\"font-size:12px;color:#b2b2ba\">Keyboard only, phone width. {{ jCount }}<\u002Fspan><button sc-camel-on-click=\"{{ runAt320 }}\" style=\"margin-left:auto;min-height:44px;padding:0 14px;border-radius:12px;background:#a99af0;color:#2a2431;border:1px solid #a99af0;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer\">RUN IT AT 320 PX<\u002Fbutton><\u002Fdiv>\n<span style=\"font-size:12px;color:#b2b2ba\">In the prototype: Mark ready Q-41 → turn on dispatch for P1S → JUMP TO 10:00 PM → SCHEDULER TICK → open P1S → PRINT FINISHES → MARK PLATE CLEARED → Mark ready Q-49.<\u002Fspan>\n<sc-for list=\"{{ journey }}\" as=\"j\" hint-placeholder-count=\"7\"><div style=\"display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,1.6fr);gap:14px;padding:12px 0;border-top:1px solid rgba(255,255,255,.10);font-size:13px;align-items:start\">\n<label style=\"display:flex;align-items:center;justify-content:center;min-height:44px;cursor:pointer\"><input type=\"checkbox\" checked=\"{{ j.on }}\" sc-camel-on-change=\"{{ j.tg }}\" aria-label=\"Step checked\" style=\"width:20px;height:20px;accent-color:#a99af0\"><\u002Flabel>\n<div style=\"display:flex;flex-direction:column;gap:4px\"><strong>{{ j.n }} · {{ j.t }}<\u002Fstrong><span style=\"color:#b2b2ba\"><span style=\"font-size:11px;font-weight:700;letter-spacing:.14em\">BEFORE<\u002Fspan> {{ j.b }}<\u002Fspan><\u002Fdiv>\n<span style=\"color:#d4d4d8;text-wrap:pretty\"><span style=\"font-size:11px;font-weight:700;letter-spacing:.14em;color:#a99af0\">AFTER<\u002Fspan> {{ j.a }}<\u002Fspan>\n<\u002Fdiv><\u002Fsc-for>\n<\u002Fdiv>\n<\u002Fsc-if>\n<sc-if value=\"{{ tAssume }}\">\n<div style=\"display:flex;flex-direction:column;gap:4px;max-width:1100px\">\n<div style=\"display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding-bottom:8px\"><h2 style=\"font-size:16px;font-weight:800\">Assumptions register<\u002Fh2><span style=\"padding:1px 8px;border-radius:999px;border:1px solid #a9d88b;color:#a9d88b;font-size:12px\">Stated<\u002Fspan><span style=\"padding:1px 8px;border-radius:999px;border:1px solid #8fc3f0;color:#8fc3f0;font-size:12px\">Inferred<\u002Fspan><span style=\"padding:1px 8px;border-radius:999px;border:1px dashed #e8c170;color:#e8c170;font-size:12px\">Unconfirmed default<\u002Fspan><\u002Fdiv>\n<sc-for list=\"{{ assume }}\" as=\"a\" hint-placeholder-count=\"12\"><div style=\"display:grid;grid-template-columns:56px 170px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,.10);font-size:13px;align-items:baseline\"><strong>{{ a.id }}<\u002Fstrong><span style=\"justify-self:start;padding:1px 8px;border-radius:999px;border:1px {{ a.st }} {{ a.c }};color:{{ a.c }};font-size:12px\">{{ a.src }}<\u002Fspan><span style=\"color:#d4d4d8;text-wrap:pretty\">{{ a.a }}<\u002Fspan><\u002Fdiv><\u002Fsc-for>\n<\u002Fdiv>\n<\u002Fsc-if>\n<\u002Fdiv>\n<\u002Fx-dc>\n<script type=\"text/x-dc\" data-dc-script=\"\">\nclass Component extends DCLogic {\n T = { tx:'#f4f4f6', se:'#b2b2ba', ac:'#a99af0', onf:'#2a2431', inset:'#232327', ctl:'#85858f', g:'#a9d88b', r:'#f08b93', a:'#e8c170', b:'#8fc3f0' };\n seq = 1192; rseq = 82; tm = [];\n state = this.init();\n init() {\n const P = (id, model, obs, age, o = {}) => ({ id, model, obs, age, auto:false, ws:180, we:720, caps:{ auto:true, pause:true, cam:true }, lock:null, fault:null, plate:'clear', ...o });\n const E = (id, job, art, rev, pid, st, o = {}) => ({ id, job, art, rev, pid, st, hold:null, cmd:null, auth:null, mat:'', ...o });\n const C = (id, pid, eid, type, reached, term, by, at, o = {}) => ({ id, pid, eid, type, reached, term, by, at, times:[at, reached>=1?at:'', reached>=2?at:'', reached>=3?at:''], notes:[], res:null, live:false, detail:'', ...o });\n const sum = s => { let h = 2166136261, out = ''; for (let k = 0; k < 8; k++) { for (const ch of s + k) { h ^= ch.charCodeAt(0); h = Math.imul(h, 16777619) >>> 0; } out += h.toString(16).padStart(8, '0'); } return out; };\n const R = (key, rev, at, by, compat) => ({ key, rev, at, by, sum: sum(key + rev), compat });\n return {\n tab:'proto', vp:'desk', who:'Joshua', notes:true, stale:false, navOpen:false,\n view:'fleet', pid:'P1S', filTab:'res', now:880, inWin:false, simResp:'ok',\n dlg:null, f:{ reason:'', exp:'12', ok:false, ev:'', ws:180, we:720 }, res:{ ev:'', choice:'' },\n live:'Live · all six printers reporting', lookup:'C-1191', lookupShown:'C-1191', jdone:{}, inSel:'WR-1044', inAck:{},\n up:{ file:'', size:'', sum:'', expect:'', key:'blue_dragon', newKey:'', yld:'3', plateT:'Textured PEI', noz:'0.4 mm', compat:{ P1S:true, 'A1-1':true, 'A1-2':true }, maps:[{ plate:'1', slot:'AMS 1', spool:'S-014', color:'#2F6FD6' }], msg:'', busy:false },\n printers:[\n P('P1S','Bambu Lab P1S','IDLE','12 s',{ auto:true }),\n P('A1-1','Bambu Lab A1','RUNNING','8 s',{ auto:true, plate:'in use' }),\n P('H2C','Bambu Lab H2C','RUNNING','5 s',{ auto:true, ws:120, we:660, plate:'in use', caps:{ auto:true, pause:true, cam:false } }),\n P('A1-2','Bambu Lab A1','IDLE','20 s',{ auto:true, lock:{ by:'Polly', at:'1:15 PM', reason:'Nozzle swap to 0.4 mm hardened steel. Back by 4 PM.' } }),\n P('A1 mini','Bambu Lab A1 mini','FAILED','4 m',{ auto:true, plate:'in use', fault:{ kind:'material', at:'2:36 PM' } }),\n P('CC','Elegoo Centauri Carbon','FINISH','3 m',{ plate:'needs clearing', caps:{ auto:false, pause:false, cam:false } })\n ],\n entries:[\n E('Q-41','J-318 Blue dragon ×3','blue_dragon',2,'P1S','queued',{ mat:'PLA Basic Blue · AMS 1 · 186 g' }),\n E('Q-45','J-330 Hinge test ×2','hinge_test',4,'P1S','held',{ hold:'auto: readiness authorization used', cmd:'C-1188', auth:'R-80', mat:'PETG Black · AMS 3 · 38 g' }),\n E('Q-49','J-333 Lid ×10','lid',1,'P1S','queued',{ mat:'PLA Basic Blue · AMS 1 · 120 g' }),\n E('Q-38','J-316 Keychain ×12','keychain',3,'A1-1','running',{ mat:'PLA White · AMS lite 1 · 96 g', cmd:'C-1185' }),\n E('Q-42','J-322 Dragon ×4','dragon',5,'A1-1','held',{ hold:'auto: readiness authorization expired', auth:'R-77', mat:'PLA White · AMS lite 1 · 140 g' }),\n E('Q-40','J-320 Speed cube stand ×4','speed_cube_stand',3,'H2C','held',{ hold:'auto: readiness authorization used', cmd:'C-1191', auth:'R-81', mat:'PETG Gray · AMS 2 Pro 1 · 212 g' }),\n E('Q-43','J-324 Coaster ×8','coaster',2,'H2C','held',{ hold:'auto: start command conflict', cmd:'C-1191', mat:'PETG Gray · AMS 2 Pro 1 · 160 g' }),\n E('Q-44','J-327 Fidget cube ×6','fidget_cube',6,'A1-2','held',{ hold:'auto: maintenance lock', mat:'PLA Black · AMS lite 1 · 54 g' }),\n E('Q-47','J-329 Cable clip ×30','cable_clip',2,'A1 mini','running',{ paused:true, cmd:'C-1186', mat:'PLA Teal · slot 2 · 48 g' }),\n E('Q-48','J-332 Badge ×6','badge',1,'A1 mini','held',{ hold:'auto: fault', mat:'PLA White · slot 1 · 30 g' }),\n E('Q-46','J-331 Workshop bin ×2','workshop_bin',1,'CC','manual_takeover',{ attn:'A print was started at the printer touchscreen at 11:02 AM, outside Extrudex. The service cannot tell whether it is this job.', mat:'PLA Black · external · 210 g' })\n ],\n auths:[\n { id:'R-77', eid:'Q-42', pid:'A1-1', st:'expired', by:'Polly', at:'Oct 13, 9:10 PM', expAt:550, reason:'Plate cleared. PLA White loaded, 312 g measured.' },\n { id:'R-80', eid:'Q-45', pid:'P1S', st:'consumed', by:'Joshua', at:'1:50 PM', cmd:'C-1188', reason:'Plate cleared, PETG Black in AMS 3.' },\n { id:'R-81', eid:'Q-40', pid:'H2C', st:'consumed', by:'Polly', at:'2:20 PM', cmd:'C-1191', reason:'Plate cleared, PETG Gray in AMS 2 Pro slot 1.' }\n ],\n cmds:[\n C('C-1191','H2C','Q-40','start',1,'Outcome unknown','scheduler','2:31 PM',{ times:['2:31:01 PM','2:31:02 PM','',''], detail:'Sent 2:31:02 PM over LAN MQTT. No acknowledgment within 90 s. H2C has reported RUNNING since 2:31 PM; this model does not report the job name.' }),\n C('C-1188','P1S','Q-45','start',1,'Rejected','scheduler','2:05 PM',{ times:['2:05:00 PM','2:05:01 PM','',''], detail:'P1S refused the start: plate type mismatch (file expects Textured PEI).' }),\n C('C-1186','A1 mini','Q-47','start',3,null,'Polly','12:40 PM'),\n C('C-1185','A1-1','Q-38','start',3,null,'Joshua','1:05 PM'),\n C('C-1183','P1S','Q-35','start',3,null,'scheduler','7:12 AM'),\n C('C-1179','A1-2','Q-36','cancel',3,null,'Polly','9:30 AM'),\n C('C-1176','H2C','Q-34','start',3,null,'scheduler','4:02 AM')\n ],\n spools:[\n { id:'S-014', name:'PLA Basic Blue', loc:'P1S · AMS 1', wt:640, prov:'estimated' },\n { id:'S-021', name:'PETG Gray', loc:'H2C · AMS 2 Pro 1', wt:820, prov:'measured' },\n { id:'S-009', name:'PLA White', loc:'A1-1 · AMS lite 1', wt:312, prov:'measured' },\n { id:'S-030', name:'PLA Teal', loc:'A1 mini · slot 2', wt:null, prov:'unknown' },\n { id:'S-002', name:'PLA Black', loc:'A1-2 · AMS lite 1', wt:905, prov:'measured' }\n ],\n holds:[\n { id:'H-31', spool:'S-014', g:186, eid:'Q-41', st:'active', expAt:1480 },\n { id:'H-26', spool:'S-009', g:140, eid:'Q-42', st:'active', expAt:915 },\n { id:'H-27', spool:'S-009', g:96, eid:'Q-38', st:'active', cmd:'C-1185', expAt:990 },\n { id:'H-28', spool:'S-021', g:212, eid:'Q-40', st:'uncertain', cmd:'C-1191' },\n { id:'H-29', spool:'S-030', g:48, eid:'Q-47', st:'active', cmd:'C-1186', expAt:1080 },\n { id:'H-25', spool:'S-030', g:30, eid:'Q-48', st:'active', expAt:860 }\n ],\n revs:[\n R('blue_dragon',1,'Sep 30, 4:12 PM','Polly',['P1S','A1-1','A1-2']), R('blue_dragon',2,'Oct 9, 10:03 AM','Joshua',['P1S','A1-1','A1-2']),\n R('speed_cube_stand',1,'Sep 2, 3:40 PM','Joshua',['H2C']), R('speed_cube_stand',2,'Sep 18, 9:15 AM','Joshua',['H2C']), R('speed_cube_stand',3,'Oct 11, 6:22 PM','Polly',['H2C','P1S']),\n R('hinge_test',1,'Aug 21, 2:00 PM','Polly',['P1S']), R('hinge_test',2,'Aug 22, 11:31 AM','Polly',['P1S']), R('hinge_test',3,'Sep 4, 5:47 PM','Joshua',['P1S','H2C']), R('hinge_test',4,'Oct 13, 8:05 PM','Joshua',['P1S','H2C'])\n ],\n audit:[\n { t:'2:36 PM', who:'A1 mini', what:'Reported FAILED: filament runout, AMS lite slot 2. Print paused by the printer.', pid:'A1 mini' },\n { t:'2:31 PM', who:'scheduler', what:'Sent start C-1191 for Q-40, consuming R-81. No acknowledgment.', pid:'H2C' },\n { t:'2:20 PM', who:'Polly', what:'Marked Q-40 ready (R-81).', pid:'H2C' },\n { t:'2:05 PM', who:'scheduler', what:'Start C-1188 for Q-45 rejected by P1S. Q-45 held.', pid:'P1S' },\n { t:'1:50 PM', who:'Joshua', what:'Marked Q-45 ready (R-80).', pid:'P1S' },\n { t:'1:15 PM', who:'Polly', what:'Locked A1-2 for maintenance: nozzle swap.', pid:'A1-2' },\n { t:'11:02 AM', who:'CC', what:'Print started at the touchscreen. Q-46 moved to manual_takeover.', pid:'CC' }\n ]\n };\n }\n componentWillUnmount() { this.tm.forEach(clearTimeout); }\n componentDidUpdate(pp, ps) {\n if (this.state.dlg && !(ps && ps.dlg)) { this.opener = document.activeElement; setTimeout(() => { const h = document.getElementById('dlg-h'); if (h) h.focus(); }, 40); }\n if (!this.state.dlg && ps && ps.dlg) { setTimeout(() => { const o = this.opener; if (o && document.contains(o)) o.focus(); else { const h = document.getElementById('app-h'); if (h) h.focus(); } }, 40); }\n }\n lt(m) { m = ((Math.round(m) % 1440) + 1440) % 1440; let h = Math.floor(m / 60); const mm = m % 60, ap = h >= 12 ? 'PM' : 'AM'; h = h % 12 || 12; return `${h}:${String(mm).padStart(2,'0')} ${ap}`; }\n ut(m) { m = ((m % 1440) + 1440) % 1440; return `${String(Math.floor(m / 60)).padStart(2,'0')}:${String(m % 60).padStart(2,'0')}`; }\n dur(m) { m = Math.max(0, Math.round(m)); const h = Math.floor(m / 60), mm = m % 60; return h ? `${h} h ${mm} m` : `${mm} m`; }\n winTxt(ws, we) { const span = ((we - ws) + 1440) % 1440 || 1440; return `${this.lt(ws - 300)} – ${this.lt(we - 300)} CDT · ${this.ut(ws)}–${this.ut(we)} UTC · ${this.dur(span).replace(' 0 m','')}`; }\n say(live) { this.setState({ live }); }\n log(what, pid, who) { this.setState(s => ({ audit:[{ t:this.lt(s.now), who: who || s.who, what, pid }, ...s.audit] })); }\n later(fn, ms) { this.tm.push(setTimeout(fn, ms)); }\n P(s, id) { return s.printers.find(p => p.id === id); }\n E(s, id) { return s.entries.find(e => e.id === id); }\n unres(s, pid) { return s.cmds.find(c => c.pid === pid && c.term === 'Outcome unknown' && !c.res); }\n attn(s, pid) { return s.entries.find(e => e.pid === pid && (e.st === 'interrupted' || e.st === 'manual_takeover')); }\n aAuth(s, pid) { return s.auths.find(a => a.pid === pid && a.st === 'active'); }\n readyBlock(s, e, sup) {\n const p = this.P(s, e.pid), u = this.unres(s, p.id), at = this.attn(s, p.id), aa = this.aAuth(s, p.id);\n if (p.lock) return `${p.id} is locked for maintenance`;\n if (p.fault) return `${p.id} reports FAILED`;\n if (u) return `Command ${u.id} on ${p.id} is unresolved`;\n if (at && at.id !== e.id) return `${at.id} on ${p.id} needs attention`;\n if (aa && aa.eid !== e.id) return `${p.id} already has an active authorization (${aa.id} for ${aa.eid})`;\n if (p.plate === 'needs clearing') return `Plate on ${p.id} is not marked cleared`;\n if (!sup) { const head = s.entries.find(x => x.pid === e.pid && x.st === 'queued'); if (head && head.id !== e.id) return `Waits behind ${head.id}`; }\n return '';\n }\n startBlock(s, e) {\n const p = this.P(s, e.pid), b = this.readyBlock(s, e, true);\n if (b) return b;\n if (!(p.obs === 'IDLE' || p.obs === 'FINISH')) return `${p.id} is ${p.obs}`;\n return '';\n }\n go(view, pid) { this.setState(s => ({ view, pid: pid || s.pid, navOpen:false })); this.later(() => { const sc = document.getElementById('app-scroll'); if (sc) sc.scrollTop = 0; const h = document.getElementById('app-h'); if (h) h.focus(); }, 60); }\n openDlg(d) { this.setState(s => ({ dlg:d, f:{ reason:d.reason || '', exp:'12', ok:false, ev:'', ws:d.ws ?? 180, we:d.we ?? 720 } })); }\n close() { this.setState({ dlg:null }); }\n setF(k, v) { this.setState(s => ({ f:{ ...s.f, [k]:v } })); }\n createAuth() {\n const s = this.state, d = s.dlg, e = this.E(s, d.eid), id = 'R-' + (this.rseq++);\n this.setState(st => ({\n auths: st.auths.map(a => d.sup && a.id === d.sup ? { ...a, st:'superseded', supBy:id } : a).concat([{ id, eid:e.id, pid:e.pid, st:'active', by:st.who, at:this.lt(st.now), expAt: st.now + (+st.f.exp) * 60, reason: st.f.reason.trim() }]),\n entries: st.entries.map(x => x.id === e.id ? { ...x, st:'queued', hold:null, auth:id, cmd:null } : x),\n holds: st.holds.map(h => h.eid === e.id && h.st === 'active' ? { ...h, expAt: Math.max(h.expAt || 0, st.now + (+st.f.exp) * 60) } : h),\n dlg:null, live:`${id} active: ${e.job} on ${e.pid}${d.sup ? `, supersedes ${d.sup}` : ''}.`\n }));\n this.log(`${d.sup ? 'Superseded ' + d.sup + ' with' : 'Created'} readiness ${id} for ${e.id} (${e.job}). Expires in ${s.f.exp} h. Reason: ${s.f.reason.trim()}`, e.pid);\n }\n issue(eid, type, actor) {\n const s = this.state, e = this.E(s, eid), id = 'C-' + (this.seq++), a = type === 'start' ? s.auths.find(x => x.eid === eid && x.st === 'active') : null;\n this.setState(st => ({\n cmds:[{ id, pid:e.pid, eid, type, reached:0, term:null, by:actor, at:this.lt(st.now), times:[this.lt(st.now),'','',''], notes:[], res:null, live:true, detail:'' }, ...st.cmds],\n auths: a ? st.auths.map(x => x.id === a.id ? { ...x, st:'consumed', cmd:id } : x) : st.auths,\n entries: type === 'start' ? st.entries.map(x => x.id === eid ? { ...x, cmd:id } : x) : st.entries,\n live:`${id} Requested: ${type} ${e.job} on ${e.pid}.`\n }));\n this.log(`${type === 'start' ? 'Start' : type[0].toUpperCase() + type.slice(1)} ${id} requested for ${eid}${a ? `, consuming ${a.id}` : ''}.`, e.pid, actor);\n const resp = type === 'start' ? s.simResp : 'ok';\n this.later(() => {\n if (resp === 'rejectBefore') return this.finish(id, 0, 'Rejected', 'auto: start rejected before send', 'Rejected before send: artifact checksum re-check failed for this revision.');\n this.upCmd(id, 1, 'Sent');\n this.later(() => {\n if (resp === 'reject') return this.finish(id, 1, 'Rejected', 'auto: readiness authorization used', 'Printer refused the start: plate type mismatch.');\n if (resp === 'noack') return this.finish(id, 1, 'Outcome unknown', 'auto: readiness authorization used', 'Sent over LAN MQTT. No acknowledgment within 90 s.');\n this.upCmd(id, 2, 'Acknowledged');\n this.later(() => this.applied(id), 1100);\n }, 1100);\n }, 900);\n }\n upCmd(id, i, label) { this.setState(st => ({ cmds: st.cmds.map(c => c.id === id ? { ...c, reached:i, times:c.times.map((t, k) => k === i ? this.lt(st.now) : t) } : c), live:`${id} ${label}.` })); }\n finish(id, reached, term, hold, detail) {\n this.setState(st => {\n const c = st.cmds.find(x => x.id === id);\n return {\n cmds: st.cmds.map(x => x.id === id ? { ...x, reached, term, live:false, detail } : x),\n entries: st.entries.map(e => e.id === c.eid ? { ...e, st:'held', hold } : e),\n holds: term === 'Outcome unknown' ? st.holds.map(h => h.eid === c.eid && h.st === 'active' ? { ...h, st:'uncertain', cmd:id } : h) : st.holds,\n live:`${id} ${term}. ${c.eid} held: ${hold}.`\n };\n });\n this.log(`${id} ${term}. Entry held: ${hold}.`, this.state.cmds.find(x => x.id === id).pid, 'scheduler');\n }\n applied(id) {\n this.setState(st => {\n const c = st.cmds.find(x => x.id === id), t = c.type;\n const cmds = st.cmds.map(x => x.id === id ? { ...x, reached:3, live:false, times:x.times.map((v, k) => k === 3 ? this.lt(st.now) : v) } : x);\n let entries = st.entries, printers = st.printers, holds = st.holds, live = `${id} Observed applied.`;\n if (t === 'start') { entries = entries.map(e => e.id === c.eid ? { ...e, st:'running', paused:false } : e); printers = printers.map(p => p.id === c.pid ? { ...p, obs:'RUNNING', age:'2 s', plate:'in use' } : p); holds = holds.map(h => h.eid === c.eid && h.st === 'active' ? { ...h, cmd:id } : h); live += ` ${c.eid} running on ${c.pid}.`; }\n if (t === 'pause') { entries = entries.map(e => e.id === c.eid ? { ...e, paused:true } : e); printers = printers.map(p => p.id === c.pid && !p.fault ? { ...p, obs:'PAUSE', age:'2 s' } : p); }\n if (t === 'resume') { entries = entries.map(e => e.id === c.eid ? { ...e, paused:false } : e); const had = this.P(st, c.pid).fault; printers = printers.map(p => p.id === c.pid ? { ...p, obs:'RUNNING', age:'2 s', fault:null } : p); if (had) live += ` Fresh RUNNING report cleared the fault on ${c.pid}.`; }\n if (t === 'cancel') { entries = entries.map(e => e.id === c.eid ? { ...e, st:'canceled', paused:false } : e); printers = printers.map(p => p.id === c.pid ? { ...p, obs:'IDLE', age:'2 s', plate:'needs clearing' } : p); holds = holds.map(h => h.eid === c.eid && (h.st === 'active' || h.st === 'uncertain') ? { ...h, st:'released', relTxt:'released (cancelled)' } : h); }\n return { cmds, entries, printers, holds, live };\n });\n }\n tick() {\n const s = this.state;\n if (!s.inWin) return this.say('Scheduler tick: every printer is outside its operating window. Next window opens 10:00 PM CDT.');\n const start = [], held = [], wait = [];\n s.printers.forEach(p => {\n if (!p.auto || !p.caps.auto) return;\n const a = this.aAuth(s, p.id); if (!a) return;\n const e = this.E(s, a.eid); if (!e || e.st !== 'queued') return;\n const r = p.lock ? 'auto: maintenance lock' : p.fault ? 'auto: fault' : this.unres(s, p.id) ? 'auto: start command conflict' : '';\n if (r) held.push([e.id, r]); else if ((p.obs === 'IDLE' || p.obs === 'FINISH') && p.plate === 'clear') start.push(e.id); else wait.push(`${e.id} waits: ${p.id} is ${p.obs === 'RUNNING' ? 'busy' : p.obs}`);\n });\n if (held.length) { this.setState(st => ({ entries: st.entries.map(e => { const h = held.find(x => x[0] === e.id); return h ? { ...e, st:'held', hold:h[1] } : e; }) })); held.forEach(h => this.log(`Dispatch check failed for ${h[0]}. Held: ${h[1]}.`, this.E(s, h[0]).pid, 'scheduler')); }\n start.forEach(eid => this.issue(eid, 'start', 'scheduler'));\n if (!start.length) this.say(`Scheduler tick: nothing started. ${[...held.map(h => h[0] + ' held (' + h[1] + ')'), ...wait].join('; ') || 'No active authorizations.'}`);\n }\n jump() {\n this.setState(st => {\n const now = 1320, exp = st.auths.filter(a => a.st === 'active' && a.expAt <= now).map(a => a.id);\n return { now, inWin:true,\n auths: st.auths.map(a => exp.includes(a.id) ? { ...a, st:'expired' } : a),\n entries: st.entries.map(e => e.st === 'queued' && exp.includes(e.auth) ? { ...e, st:'held', hold:'auto: readiness authorization expired' } : e),\n live:`Clock moved to 10:00 PM CDT. Operating windows open.${exp.length ? ` ${exp.join(', ')} expired before the window.` : ''}` };\n });\n }\n resolveCmd() {\n const s = this.state, c = this.unres(s, s.pid), ch = s.res.choice, ev = s.res.ev.trim();\n if (!c) return;\n if (ch === 'investigating') {\n this.setState(st => ({ cmds: st.cmds.map(x => x.id === c.id ? { ...x, notes:[{ t:this.lt(st.now), who:st.who, ev }, ...x.notes] } : x), res:{ ev:'', choice:'' }, live:`${c.id} still Outcome unknown. Note recorded.` }));\n return this.log(`${c.id}: still investigating. Evidence: ${ev}`, c.pid);\n }\n this.setState(st => {\n const r = { choice:ch, by:st.who, at:this.lt(st.now), ev };\n if (ch === 'observed') return {\n cmds: st.cmds.map(x => x.id === c.id ? { ...x, reached:3, term:null, res:r, times:x.times.map((v, k) => k >= 2 && !v ? this.lt(st.now) + ' (resolved)' : v) } : x),\n entries: st.entries.map(e => e.id === c.eid ? { ...e, st:'running', hold:null } : e),\n printers: st.printers.map(p => p.id === c.pid ? { ...p, plate:'in use' } : p),\n holds: st.holds.map(h => h.cmd === c.id && h.st === 'uncertain' ? { ...h, st:'active', expAt: st.now + 240 } : h),\n res:{ ev:'', choice:'' }, live:`${c.id} resolved as Observed applied by ${st.who}. ${c.eid} running.` };\n return {\n cmds: st.cmds.map(x => x.id === c.id ? { ...x, res:r } : x),\n holds: st.holds.map(h => h.cmd === c.id && h.st === 'uncertain' ? { ...h, st:'released', relTxt:'released (never_delivered)' } : h),\n res:{ ev:'', choice:'' }, live:`${c.id} resolved as never delivered by ${st.who}. ${c.eid} can be superseded.` };\n });\n this.log(`Resolved ${c.id} as ${ch === 'observed' ? 'Observed applied' : 'never delivered'}. Evidence: ${ev}`, c.pid);\n }\n confirm() {\n const s = this.state, d = s.dlg, f = s.f, r = f.reason.trim();\n if (!d) return;\n if (d.t === 'ready') return this.createAuth();\n if (d.t === 'start') { this.close(); return this.issue(d.eid, 'start', s.who); }\n if (d.t === 'cancelP') { this.close(); return this.issue(d.eid, 'cancel', s.who); }\n if (d.t === 'win') {\n this.setState(st => ({ printers: st.printers.map(p => p.id === d.pid ? { ...p, ws:f.ws, we:f.we, auto: d.enable ? true : p.auto } : p), dlg:null, live:`${d.pid}: automatic dispatch ${d.enable ? 'on' : 'window saved'}. ${this.winTxt(f.ws, f.we)}.` }));\n return this.log(`${d.enable ? 'Enabled automatic dispatch' : 'Changed operating window'} on ${d.pid}: ${this.winTxt(f.ws, f.we)}.`, d.pid);\n }\n if (d.t === 'lock') { this.setState(st => ({ printers: st.printers.map(p => p.id === d.pid ? { ...p, lock:{ by:st.who, at:this.lt(st.now), reason:r } } : p), dlg:null, live:`${d.pid} locked by ${st.who}.` })); return this.log(`Locked ${d.pid} for maintenance. Reason: ${r}`, d.pid); }\n if (d.t === 'unlock') { this.setState(st => ({ printers: st.printers.map(p => p.id === d.pid ? { ...p, lock:null } : p), dlg:null, live:`${d.pid} unlocked by ${st.who}. Held entries need release.` })); return this.log(`Unlocked ${d.pid}. Reason: ${r}`, d.pid); }\n if (d.t === 'release') {\n this.setState(st => { const e = this.E(st, d.eid), rest = st.entries.filter(x => x.id !== d.eid); return { entries:[...rest, { ...e, st:'queued', hold:null }], dlg:null, live:`${d.eid} released to the end of the ${e.pid} queue.` }; });\n return this.log(`Released ${d.eid}. Re-checks passed. Reason: ${r}`, d.pid);\n }\n if (d.t === 'resolveA') {\n this.setState(st => ({ entries: st.entries.map(e => e.id === d.eid ? { ...e, st:'held', hold:'attention resolved', attnBy:st.who } : e), dlg:null, live:`${d.eid} attention resolved by ${st.who}. Entry held.` }));\n return this.log(`Resolved attention on ${d.eid}. Evidence: ${f.ev.trim()}`, d.pid);\n }\n if (d.t === 'cancelE') {\n this.setState(st => ({ entries: st.entries.map(e => e.id === d.eid ? { ...e, st:'canceled', hold:null } : e), holds: st.holds.map(h => h.eid === d.eid && (h.st === 'active' || h.st === 'uncertain') ? { ...h, st:'released', relTxt:'released (cancelled)' } : h), dlg:null, live:`${d.eid} cancelled by ${st.who}.` }));\n return this.log(`Cancelled ${d.eid}.${r ? ' Reason: ' + r : ''}`, d.pid);\n }\n if (d.t === 'plate') { this.setState(st => ({ printers: st.printers.map(p => p.id === d.pid ? { ...p, plate:'clear', obs:'IDLE', age:'1 s' } : p), dlg:null, live:`Plate on ${d.pid} marked cleared by ${st.who}.` })); return this.log(`Marked plate cleared on ${d.pid}.`, d.pid); }\n }\n simFinish(pid) {\n const s = this.state, e = s.entries.find(x => x.pid === pid && x.st === 'running');\n if (!e) return;\n this.setState(st => ({ entries: st.entries.map(x => x.id === e.id ? { ...x, st:'completed', paused:false } : x), printers: st.printers.map(p => p.id === pid ? { ...p, obs:'FINISH', age:'1 s', plate:'needs clearing' } : p), holds: st.holds.map(h => h.eid === e.id && h.st === 'active' ? { ...h, st:'settled' } : h), live:`${pid} reported FINISH. ${e.id} completed. Plate needs clearing.` }));\n this.log(`Reported FINISH. ${e.id} completed; reservation settled.`, pid, pid);\n }\n simFresh(pid) {\n this.setState(st => { const e = st.entries.find(x => x.pid === pid && x.st === 'running'); const obs = e ? (e.paused ? 'PAUSE' : 'RUNNING') : 'IDLE'; return { printers: st.printers.map(p => p.id === pid ? { ...p, fault:null, obs, age:'1 s' } : p), live:`Fresh ${obs} report from ${pid}. Fault cleared.` }; });\n this.log('Fresh non-fault report. Fault cleared automatically.', pid, pid);\n }\n async onFile(ev) {\n const file = ev.target.files && ev.target.files[0]; if (!file) return;\n this.setState(s => ({ up:{ ...s.up, busy:true, file:file.name, size:(file.size / 1024).toFixed(0) + ' KB', sum:'', msg:'' } }));\n try { const buf = await file.arrayBuffer(); const h = await crypto.subtle.digest('SHA-256', buf); const hex = [...new Uint8Array(h)].map(b => b.toString(16).padStart(2, '0')).join(''); this.setState(s => ({ up:{ ...s.up, sum:hex, busy:false } })); }\n catch (e) { this.setState(s => ({ up:{ ...s.up, busy:false, msg:'Could not read the file. Choose it again.' } })); }\n }\n setUp(k, v) { this.setState(s => ({ up:{ ...s.up, [k]:v, msg: k === 'msg' ? v : '' } })); }\n renderVals() {\n const s = this.state, T = this.T, lt = m => this.lt(m), dur = m => this.dur(m);\n const pill = (l, g, c, st = 'solid') => ({ l, g, c, bs:`1px ${st} ${c}` });\n const btn = (k, l, on, why) => { const dis = !!why, kk = dis ? 'd' : k; const sty = kk === 'p' ? { bbg:T.ac, bc:T.onf, bb:`1px solid ${T.ac}` } : kk === 'd' ? { bbg:'transparent', bc:T.se, bb:`1px dashed ${T.ctl}` } : kk === 'w' ? { bbg:'transparent', bc:T.r, bb:`1px solid ${T.r}` } : kk === 'g' ? { bbg:'transparent', bc:T.se, bb:'1px solid rgba(255,255,255,.10)' } : { bbg:'transparent', bc:T.tx, bb:`1px solid ${T.ctl}` }; return { l, on: dis ? () => this.say(`${l} unavailable: ${why}.`) : on, ad: dis ? 'true' : 'false', cur: dis ? 'not-allowed' : 'pointer', why: why || '', ...sty }; };\n const QS = { queued:['○',T.se], held:['‖',T.a], running:['▶',T.g], completed:['✓',T.g], canceled:['✗',T.se], interrupted:['!',T.r], manual_takeover:['!',T.r] };\n const OBS = { IDLE:['○',T.se], RUNNING:['▶',T.g], PAUSE:['‖',T.a], FINISH:['✓',T.b], FAILED:['✗',T.r] };\n const AU = { active:['●',T.ac,'solid'], consumed:['◉',T.se,'solid'], expired:['◌',T.a,'dashed'], superseded:['↷',T.se,'dashed'] };\n const CS = { 'Requested':['○',T.se,'solid'], 'Sent':['→',T.b,'solid'], 'Acknowledged':['✓',T.b,'solid'], 'Observed applied':['✓',T.g,'solid'], 'Rejected':['✗',T.r,'solid'], 'Outcome unknown':['?',T.a,'dashed'], 'Never delivered':['∅',T.se,'dotted'] };\n const STEPS = ['Requested','Sent','Acknowledged','Observed applied'];\n const cst = c => c.term === 'Outcome unknown' && c.res && c.res.choice === 'never' ? 'Never delivered' : c.term || STEPS[c.reached];\n const cpill = c => { const k = cst(c), v = CS[k]; return pill(c.live ? k + ' …' : k, v[0], v[1], v[2]); };\n const isPhone = s.vp !== 'desk';\n const PM = Object.fromEntries(s.printers.map(p => [p.id, p]));\n const fresh = p => s.stale ? `last report ${p.age} before 2:39 PM · stale` : `last report ${p.age} ago`;\n const authLine = a => a.st === 'active' ? `${a.id} · marked by ${a.by} at ${a.at} · expires ${lt(a.expAt)}${a.expAt >= 1440 ? ' tomorrow' : ''} (in ${dur(a.expAt - s.now)})` : a.st === 'expired' ? `${a.id} · marked by ${a.by} at ${a.at} · expired ${lt(a.expAt)}` : a.st === 'consumed' ? `${a.id} · marked by ${a.by} at ${a.at} · consumed by ${a.cmd}` : `${a.id} · marked by ${a.by} at ${a.at} · superseded by ${a.supBy}`;\n const go = (v, pid) => () => this.go(v, pid);\n const flags = p => {\n const f = [], u = this.unres(s, p.id), at = this.attn(s, p.id);\n if (p.lock) f.push(pill('locked · maintenance', '■', T.tx));\n if (p.fault) f.push(p.fault.kind === 'material' ? pill('fault · material runout', '◌', T.a) : pill('fault · hardware', '✗', T.r));\n if (at) f.push(pill(`needs attention · ${at.st}`, '!', T.r));\n if (u) f.push(pill(`outcome unknown · ${u.id}`, '?', T.a, 'dashed'));\n if (p.plate === 'needs clearing') f.push(pill('plate needs clearing', '□', T.a));\n return f;\n };\n const entryVM = e => {\n const p = PM[e.pid], q = QS[e.st];\n const auth = s.auths.find(a => a.eid === e.id && a.st === 'active') || (e.auth ? s.auths.find(a => a.id === e.auth) : null);\n const cmd = e.cmd ? s.cmds.find(c => c.id === e.cmd) : null;\n const isAttn = e.st === 'interrupted' || e.st === 'manual_takeover';\n const acts = []; let why = '', guide = '', holdHint = '', holdOn = go('printer', e.pid);\n const supersede = () => this.openDlg({ t:'ready', eid:e.id, sup:auth ? auth.id : null, reason:auth ? auth.reason : '' });\n const release = () => this.openDlg({ t:'release', eid:e.id, pid:e.pid });\n if (e.st === 'queued') {\n if (auth && auth.st === 'active') { const b = this.startBlock(s, e); acts.push(btn('p', 'START NOW', () => this.openDlg({ t:'start', eid:e.id }), b)); why = b ? '' : p.auto && p.caps.auto ? `Or starts automatically inside ${this.winTxt(p.ws, p.we).split(' · ')[0]}.` : `Automatic dispatch is off for ${p.id}. Start manually.`; }\n else { const b = this.readyBlock(s, e, false); acts.push(btn('p', 'MARK READY', () => this.openDlg({ t:'ready', eid:e.id }), b)); why = b; }\n }\n if (e.st === 'held') {\n const h = e.hold;\n if (h === 'auth' || h === 'auto: readiness authorization expired' || h === 'auto: start rejected before send') { const b = this.readyBlock(s, e, true); acts.push(btn('p', 'SUPERSEDE', supersede, b)); why = b; holdOn = b ? go('printer', e.pid) : supersede; holdHint = 'Supersede opens the readiness form pre-filled.'; }\n else if (h === 'auto: readiness authorization used') {\n const sendFailed = cmd && (cmd.term === 'Rejected' || (cmd.res && cmd.res.choice === 'never'));\n if (sendFailed) { const b = this.readyBlock(s, e, true); acts.push(btn('p', 'SUPERSEDE', supersede, b)); why = b; holdOn = b ? go('printer', e.pid) : supersede; holdHint = `${cmd.id} ${cst(cmd)}. Nothing printed, so a new authorization is safe.`; }\n else { guide = `${cmd ? cmd.id : 'The start'} was sent and its outcome is not confirmed. Inspect the physical printer before anything else: check the plate and the printer screen, then resolve the command on ${e.pid}.`; acts.push(btn('s', `OPEN ${cmd ? cmd.id : 'COMMAND'}`, go('printer', e.pid))); acts.push(btn('p', 'SUPERSEDE', null, `${cmd ? cmd.id : 'the start'} was sent`)); holdHint = 'Recovery: resolve the command.'; }\n }\n else if (h === 'auto: start command conflict') { const u = this.unres(s, e.pid); if (u) { acts.push(btn('s', `RESOLVE ${u.id}`, go('printer', e.pid))); acts.push(btn('p', 'RELEASE', null, `${u.id} is unresolved`)); holdHint = `Waiting on ${u.id}.`; } else { acts.push(btn('p', 'RELEASE', release)); holdHint = 'Conflict cleared. Release re-checks and requeues.'; holdOn = release; } }\n else if (h === 'auto: maintenance lock') { if (p.lock) { acts.push(btn('s', 'OPEN LOCK', go('printer', e.pid))); acts.push(btn('p', 'RELEASE', null, 'queue release is blocked by the maintenance lock')); holdHint = `Locked by ${p.lock.by}.`; } else { acts.push(btn('p', 'RELEASE', release)); holdHint = 'Lock removed. Release re-checks and requeues.'; holdOn = release; } }\n else if (h === 'auto: fault') { if (p.fault) { acts.push(btn('s', 'OPEN FAULT', go('printer', e.pid))); acts.push(btn('p', 'RELEASE', null, `${p.id} reports FAILED`)); holdHint = 'Clears on a fresh non-fault report.'; } else { acts.push(btn('p', 'RELEASE', release)); holdHint = 'Fault cleared. Release re-checks and requeues.'; holdOn = release; } }\n else if (h === 'attention resolved') { const b = p.lock ? 'queue release is blocked by the maintenance lock' : ''; acts.push(btn('p', 'RELEASE', release, b)); holdHint = `Resolved by ${e.attnBy}.`; holdOn = release; }\n }\n if (isAttn) { acts.push(btn('p', 'RESOLVE', () => this.openDlg({ t:'resolveA', eid:e.id, pid:e.pid }))); acts.push(btn('w', 'CANCEL ENTRY', () => this.openDlg({ t:'cancelE', eid:e.id, pid:e.pid }))); }\n else if (e.st === 'queued' || e.st === 'held') acts.push(btn('g', 'CANCEL', () => this.openDlg({ t:'cancelE', eid:e.id, pid:e.pid })));\n if (e.st === 'running') { acts.push(btn('s', 'OPEN PRINTER', go('printer', e.pid))); why = e.paused ? 'Paused.' : `Printing on ${e.pid}.`; }\n return { id:e.id, job:e.job, artTxt:`${e.art} r${e.rev}`, mat:e.mat, qs:pill(e.st, q[0], q[1]),\n bc: isAttn ? T.r : e.hold ? 'rgba(232,193,112,.35)' : 'rgba(255,255,255,.08)',\n hasAttn:isAttn, attn:e.attn || '', hasHold:!!e.hold, hold:e.hold || '', holdHint, holdOn, holdLbl:`Hold reason: ${e.hold}. Open recovery.`,\n hasAuth:!!auth, auth: auth ? pill(auth.st, AU[auth.st][0], AU[auth.st][1], AU[auth.st][2]) : null, covers:`${e.job} on ${e.pid}`, authLine: auth ? authLine(auth) : '',\n hasGuide:!!guide, guide, acts, why };\n };\n const prows = s.printers.map(p => {\n const on = p.auto && p.caps.auto;\n return { id:p.id, model:p.model, obs:pill(p.obs, OBS[p.obs][0], OBS[p.obs][1]), fresh:fresh(p), flags:flags(p),\n autoOn: on ? 'true' : 'false', autoAria:`Automatic dispatch for ${p.id}`,\n swBg: on ? T.ac : 'transparent', swB: p.caps.auto ? `1.5px solid ${on ? T.ac : T.ctl}` : `1.5px dashed ${T.ctl}`, swX: on ? '23px' : '3px', swK: on ? T.onf : (p.caps.auto ? T.ctl : '#4a4a52'),\n autoL: !p.caps.auto ? 'Automatic dispatch unavailable' : on ? 'Automatic dispatch on' : 'Automatic dispatch off',\n autoTxt: !p.caps.auto ? 'Start over SDCP is not validated for this model. Start jobs at the printer or manually.' : on ? this.winTxt(p.ws, p.we) : 'Off by default. Turning it on asks for an operating window.',\n onToggle: !p.caps.auto ? () => this.say(`Automatic dispatch unavailable on ${p.id}: start over SDCP is not validated for this model.`) : on ? () => { this.setState(st => ({ printers: st.printers.map(x => x.id === p.id ? { ...x, auto:false } : x), live:`Automatic dispatch off for ${p.id}. Active prints keep running.` })); this.log(`Disabled automatic dispatch on ${p.id}.`, p.id); } : () => this.openDlg({ t:'win', pid:p.id, enable:true, ws:p.ws, we:p.we }),\n acts:[ ...(on ? [btn('g', 'EDIT WINDOW', () => this.openDlg({ t:'win', pid:p.id, enable:false, ws:p.ws, we:p.we }))] : []), btn('s', 'OPEN', go('printer', p.id)) ] };\n });\n const qgroups = s.printers.map(p => ({ label:`${p.id} · ${p.model}`, items: s.entries.filter(e => e.pid === p.id && e.st !== 'completed' && e.st !== 'canceled').map(entryVM) })).filter(g => g.items.length);\n const attnStrip = [];\n s.printers.forEach(p => { const at = this.attn(s, p.id), u = this.unres(s, p.id);\n if (at) attnStrip.push({ ...pill(`${p.id} · ${at.st}`, '!', T.r), on:go('printer', p.id) });\n if (u) attnStrip.push({ ...pill(`${p.id} · outcome unknown`, '?', T.a, 'dashed'), on:go('printer', p.id) });\n if (p.fault) attnStrip.push({ ...pill(`${p.id} · ${p.fault.kind === 'material' ? 'runout' : 'hardware fault'}`, p.fault.kind === 'material' ? '◌' : '✗', p.fault.kind === 'material' ? T.a : T.r), on:go('printer', p.id) });\n if (p.lock) attnStrip.push({ ...pill(`${p.id} · locked`, '■', T.tx), on:go('printer', p.id) });\n });\n const lk = s.cmds.find(c => c.id.toLowerCase() === s.lookupShown.trim().toLowerCase());\n\n // printer detail\n const p = PM[s.pid] || s.printers[0];\n const pe = s.entries.filter(e => e.pid === p.id);\n const run = pe.find(e => e.st === 'running');\n const atE = pe.filter(e => e.st === 'interrupted' || e.st === 'manual_takeover');\n const latest = s.cmds.find(c => c.pid === p.id);\n const steps = latest ? STEPS.map((l, i) => {\n const c = latest, termHere = c.term && i === c.reached + 1, after = c.term && i > c.reached + 1;\n const tl = termHere ? cst(c) : l, done = i <= c.reached && !termHere, cur = c.live && i === c.reached + 1;\n const v = termHere ? CS[tl] : done ? CS[l] : null;\n return { n:String(i + 1), l:tl, exp: termHere ? `expected: ${l}` : '', sub: done ? (c.times[i] || '') : termHere ? (tl === 'Outcome unknown' ? 'no confirmation' : tl === 'Never delivered' ? 'resolved' : 'stopped here') : cur ? 'waiting…' : after ? 'not reached' : 'pending',\n g: v ? v[0] : cur ? '…' : '·', c: v ? v[1] : T.se, bs: v ? `1.5px ${v[2]} ${v[1]}` : `1.5px dashed ${T.ctl}`, bg: termHere ? 'rgba(232,193,112,.08)' : 'transparent', aria: (termHere || (done && !c.term && i === c.reached)) ? 'step' : 'false', op: after ? '.55' : '1' };\n }) : [];\n const u = this.unres(s, p.id);\n const evLen = s.res.ev.trim().length;\n const resOk = evLen >= 20 && evLen <= 2048 && !!s.res.choice;\n const choices = [['observed','Observed applied','The printer is running this job. Entry moves to running; the reservation stays held.'],['never','Never delivered','The printer never started it. The reservation is released; the entry can be superseded.'],['investigating','Still investigating','Records a note. The command stays Outcome unknown and keeps blocking retries.']]\n .map(([k, l, d]) => ({ k, l, d, on: s.res.choice === k, pick: () => this.setState(st => ({ res:{ ...st.res, choice:k } })) }));\n const runActs = run ? [\n run.paused ? btn('p', 'RESUME', () => this.issue(run.id, 'resume', s.who), p.caps.pause ? '' : 'remote resume is not validated for this model') : btn('s', 'PAUSE', () => this.issue(run.id, 'pause', s.who), p.caps.pause ? '' : 'remote pause is not validated for this model'),\n btn('w', 'CANCEL PRINT', () => this.openDlg({ t:'cancelP', eid:run.id, pid:p.id }), p.caps.pause ? '' : 'remote cancel is not validated for this model')\n ] : [];\n const nextE = pe.find(e => e.st === 'queued' || e.st === 'held');\n const pd = {\n id:p.id, model:p.model, obs:pill(p.obs, OBS[p.obs][0], OBS[p.obs][1]), fresh:fresh(p), flags:flags(p),\n caps:[`Camera: ${p.caps.cam ? 'snapshot' : 'not supported'}`, `Automatic dispatch: ${p.caps.auto ? (p.auto ? 'on' : 'off') : 'unavailable'}`, `Remote pause/resume/cancel: ${p.caps.pause ? 'yes' : 'not validated'}`].join(' · '),\n hasFault:!!p.fault, faultMat: p.fault && p.fault.kind === 'material', faultHw: p.fault && p.fault.kind !== 'material',\n faultAt: p.fault ? p.fault.at : '', faultToggle: () => this.setState(st => ({ printers: st.printers.map(x => x.id === p.id && x.fault ? { ...x, fault:{ ...x.fault, kind: x.fault.kind === 'material' ? 'hardware' : 'material' } } : x) })),\n faultToggleL: p.fault && p.fault.kind === 'material' ? 'SHOW AS HARDWARE FAULT' : 'SHOW AS MATERIAL RUNOUT',\n simFresh: () => this.simFresh(p.id), simFault: () => { this.setState(st => ({ printers: st.printers.map(x => x.id === p.id ? { ...x, obs:'FAILED', age:'1 s', fault:{ kind:'material', at:this.lt(st.now) } } : x), live:`${p.id} reported FAILED.` })); this.log('Reported FAILED: filament runout.', p.id, p.id); },\n locked:!!p.lock, unlocked:!p.lock, lockBy: p.lock ? p.lock.by : '', lockAt: p.lock ? p.lock.at : '', lockReason: p.lock ? p.lock.reason : '',\n onLock: () => this.openDlg({ t:'lock', pid:p.id }), onUnlock: () => this.openDlg({ t:'unlock', pid:p.id }),\n attn: atE.map(e => ({ id:e.id, job:e.job, st:e.st, reason:e.attn, onRes: () => this.openDlg({ t:'resolveA', eid:e.id, pid:p.id }), onCan: () => this.openDlg({ t:'cancelE', eid:e.id, pid:p.id }) })), hasAttn: atE.length > 0,\n hasRun:!!run, runJob: run ? `${run.id} · ${run.job}` : '', runSub: run ? `${run.art} r${run.rev} · ${run.mat}${run.paused ? ' · paused' : ''}` : '', runActs, simFinish: () => this.simFinish(p.id),\n plateDirty: p.plate === 'needs clearing', onPlate: () => this.openDlg({ t:'plate', pid:p.id }),\n idleEmpty: !run && p.plate !== 'needs clearing',\n idleTxt: p.obs === 'FAILED' ? 'No active print. Printer reports a fault.' : `No active print. ${p.id} is connected and reports ${p.obs}.`,\n hasCmd:!!latest, cmd: latest ? { id:latest.id, type:latest.type, by:latest.by, at:latest.at, pill:cpill(latest), detail:latest.detail || (latest.live ? 'In progress. Updates arrive here without moving focus.' : '') } : null, steps,\n hasUnres:!!u, u: u ? { id:u.id, eid:u.eid, job:(this.E(s, u.eid) || {}).job, detail:u.detail, sentAt:u.times[1], notes:u.notes } : null, hasNotes: u ? u.notes.length > 0 : false,\n evCount:`${evLen} / 2048`, evHint: evLen === 0 ? 'Minimum 20 characters.' : evLen < 20 ? `${20 - evLen} more characters needed.` : evLen > 2048 ? `${evLen - 2048} characters over the limit.` : 'Length OK.', evC: evLen > 0 && (evLen < 20 || evLen > 2048) ? T.r : T.se,\n choices, resBtn: btn('p', 'RECORD RESOLUTION', () => this.resolveCmd(), !s.res.choice ? 'choose an outcome' : evLen < 20 ? 'evidence needs at least 20 characters' : evLen > 2048 ? 'evidence is over 2048 characters' : ''),\n hasNext:!!nextE, next: nextE ? entryVM(nextE) : null,\n hist: s.cmds.filter(c => c.pid === p.id).map(c => ({ id:c.id, type:c.type, pill:cpill(c), at:c.at, by:c.by, entry:c.eid, res: c.res ? `resolved by ${c.res.by} at ${c.res.at}` : '' })),\n act: s.audit.filter(a => a.pid === p.id).slice(0, 8)\n };\n\n // reservations\n const spools = s.spools.map(sp => {\n const hs = s.holds.filter(h => h.spool === sp.id);\n const live = hs.filter(h => h.st === 'active' || h.st === 'uncertain');\n const held = live.reduce((a, h) => a + h.g, 0);\n const prov = sp.prov === 'measured' ? pill('measured', '▣', T.tx) : sp.prov === 'estimated' ? pill('estimated', '≈', T.tx, 'dashed') : pill('unknown', '?', T.tx, 'dotted');\n return { id:sp.id, name:sp.name, loc:sp.loc, prov, wt: sp.wt == null ? '— g' : `${sp.wt} g`, held:`${held} g held`, avail: sp.wt == null ? 'available unknown' : `${sp.wt - held} g available`, empty: hs.length === 0,\n holds: hs.map(h => {\n const e = this.E(s, h.eid) || {}; const expired = h.st === 'active' && h.expAt <= s.now;\n const st = expired ? 'expired' : h.st;\n const pl = st === 'active' ? pill('active', '●', T.ac) : st === 'uncertain' ? pill('uncertain', '?', T.a, 'dashed') : st === 'expired' ? pill('expired · needs disposition', '◌', T.r, 'dashed') : st === 'settled' ? pill('settled', '✓', T.g) : pill(h.relTxt || 'released', '↺', T.se, 'dotted');\n const mins = h.expAt - s.now;\n return { id:h.id, g:`${h.g} g`, handle:`${h.eid} · ${e.job || ''}`, pill:pl,\n when: st === 'active' ? `expires ${lt(h.expAt)}${h.expAt >= 1440 ? ' tomorrow' : ''} · in ${dur(mins)}${mins <= 60 ? ' · soon' : ''}` : st === 'expired' ? `expired ${lt(h.expAt)}. Held until you choose.` : st === 'uncertain' ? `held until ${h.cmd} is resolved` : st === 'settled' ? 'consumption recorded' : 'no longer held',\n whenC: st === 'active' && mins <= 60 ? T.a : T.se,\n isUnc: st === 'uncertain', cmd:h.cmd || '', goCmd: go('printer', (s.cmds.find(c => c.id === h.cmd) || {}).pid),\n isExp: st === 'expired',\n onRel: () => { this.setState(x => ({ holds: x.holds.map(y => y.id === h.id ? { ...y, st:'released', relTxt:`released (expired) by ${x.who}` } : y), live:`${h.id} released by ${x.who}.` })); this.log(`Released expired reservation ${h.id} (${h.g} g ${sp.name}).`); },\n onRenew: () => { this.setState(x => ({ holds: x.holds.map(y => y.id === h.id ? { ...y, expAt: x.now + 240 } : y), live:`${h.id} renewed for 4 h by ${x.who}.` })); this.log(`Renewed reservation ${h.id} for 4 h.`); } };\n }) };\n });\n\n // artifacts\n const up = s.up, keys = [...new Set(s.revs.map(r => r.key))];\n const keyName = up.key === '__new' ? up.newKey.trim() : up.key;\n const keyBad = up.key === '__new' && !/^[a-z0-9_]{3,40}$/.test(keyName);\n const nextRev = s.revs.filter(r => r.key === keyName).length + 1;\n const expN = up.expect.trim().toLowerCase().replace(/^sha256:/, '');\n const mismatch = !!(up.sum && expN && expN !== up.sum);\n const mapsVM = up.maps.map((m, i) => ({ ...m, i, spoolBad: m.spool && !/^S-\\d{3}$/.test(m.spool), colorBad: m.color && !/^#[0-9A-Fa-f]{6}$/.test(m.color), sw: /^#[0-9A-Fa-f]{6}$/.test(m.color) ? m.color : 'transparent',\n onSlot: ev => this.setUp('maps', up.maps.map((x, k) => k === i ? { ...x, slot:ev.target.value } : x)), onSpool: ev => this.setUp('maps', up.maps.map((x, k) => k === i ? { ...x, spool:ev.target.value.toUpperCase() } : x)), onColor: ev => this.setUp('maps', up.maps.map((x, k) => k === i ? { ...x, color:ev.target.value } : x)), onRm: () => this.setUp('maps', up.maps.filter((x, k) => k !== i)), lbl:`Plate ${m.plate}` }));\n const mapBad = mapsVM.some(m => m.spoolBad || m.colorBad);\n const compatSel = s.printers.filter(x => up.compat[x.id]).map(x => x.id);\n const upBlock = !up.file ? 'choose a file' : up.busy ? 'checksum still computing' : mismatch ? 'checksum mismatch' : keyBad || !keyName ? 'artifact key is invalid' : !compatSel.length ? 'select at least one compatible printer' : !(+up.yld >= 1) ? 'yield must be 1 or more' : mapBad ? 'fix the material mapping' : '';\n const artifacts = {\n keys: keys.map(k => ({ k, sel: up.key === k })), keyNew: up.key === '__new', keyName, keyBad, nextRev:`r${nextRev}`, hasSum:!!up.sum, sum:up.sum, sumShort: up.sum ? `sha256:${up.sum.slice(0, 16)}…${up.sum.slice(-8)}` : '', busy:up.busy,\n mismatch, matchOk: !!(up.sum && expN && !mismatch),\n compat: s.printers.map(x => ({ id:x.id, on:!!up.compat[x.id], onC: () => this.setUp('compat', { ...up.compat, [x.id]: !up.compat[x.id] }) })),\n maps: mapsVM, upBtn: btn('p', 'UPLOAD REVISION', () => {\n this.setState(st => ({ revs:[...st.revs, { key:keyName, rev:nextRev, at:`Oct 14, ${lt(st.now)}`, by:st.who, sum:up.sum, compat:compatSel }], up:{ ...st.up, file:'', size:'', sum:'', expect:'', msg:`${keyName} r${nextRev} uploaded by ${st.who}. Revisions are immutable.` }, live:`${keyName} r${nextRev} uploaded.` }));\n this.log(`Uploaded ${keyName} r${nextRev} (${up.file}).`);\n }, upBlock), upWhy: upBlock,\n list: [...new Set(s.revs.map(r => r.key))].map(k => ({ k, revs: s.revs.filter(r => r.key === k).slice().reverse().map(r => ({ rev:`r${r.rev}`, at:r.at, by:r.by, sum:`sha256:${r.sum.slice(0, 12)}…${r.sum.slice(-6)}`, full:r.sum, compat:r.compat.join(', '), latest: r.rev === s.revs.filter(x => x.key === k).length })) }))\n };\n\n // inbox\n const inbox = [\n { id:'WR-1042', v:'v3', st:'accepted', ref:'Woo #2201 · Blue dragon ×3', at:'1:58 PM', maps:'Q-41' },\n { id:'WR-1043', v:'v1', st:'rejected', ref:'Etsy #880 · Lamp shade', at:'12:10 PM', maps:'— no compatible printer for PETG-CF' },\n { id:'WR-1044', v:'v2', st:'conflict', ref:'Woo #2207 · Coaster ×8', at:'2:33 PM', maps:'Q-43' },\n { id:'WR-1039', v:'v4', st:'accepted', ref:'Market stall · Fidget cube ×6', at:'Oct 13', maps:'Q-44' }\n ].map(w => ({ ...w, sel: s.inSel === w.id, on: () => this.setState({ inSel:w.id }), bw: s.inSel === w.id ? '2px solid #b2b2ba' : '1px dashed #85858f' }));\n const facts = [['queue','Queue','Q-43 held · auto: start command conflict'],['command','Command','C-1191 ' + (this.unres(s, 'H2C') ? 'Outcome unknown' : 'resolved')],['ready','Print readiness','No active authorization for Q-43'],['print','Print facts','H2C reports RUNNING since 2:31 PM; job name not reported']]\n .map(([k, l, v]) => ({ k, l, v, on: !!s.inAck[k], t: () => this.setState(st => ({ inAck:{ ...st.inAck, [k]: !st.inAck[k] } })) }));\n const allAck = facts.every(f => f.on);\n const selW = inbox.find(w => w.sel);\n\n // dialog\n const d = s.dlg; let dv = null;\n if (d) {\n const e = d.eid ? this.E(s, d.eid) : null, dp = PM[d.pid || (e && e.pid)];\n const tg = e ? [{ k:'Printer', v:`${dp.id} · ${dp.model}` }, { k:'Job', v:`${e.id} · ${e.job}` }, { k:'Artifact', v:`${e.art} r${e.rev}` }, { k:'Material', v:e.mat }] : [{ k:'Printer', v:`${dp.id} · ${dp.model}` }];\n const r = s.f.reason.trim(), evl = s.f.ev.trim().length;\n const waiting = s.entries.filter(x => x.pid === dp.id && (x.st === 'queued' || x.st === 'held'));\n const runE = s.entries.find(x => x.pid === dp.id && x.st === 'running');\n const M = {\n ready: { title: d.sup ? `Supersede readiness ${d.sup}` : 'Mark ready', ok:'CREATE AUTHORIZATION', why: !r ? 'enter a reason' : !s.f.ok ? 'confirm the plate and material' : '' },\n start: { title:'Start this job now?', ok:'SEND START', why:'' },\n win: { title: d.enable ? `Turn on automatic dispatch · ${dp.id}` : `Operating window · ${dp.id}`, ok: d.enable ? 'SAVE AND TURN ON' : 'SAVE WINDOW', why: s.f.ws === s.f.we ? 'start and end are the same' : '' },\n lock: { title:`Lock ${dp.id} for maintenance`, ok:'LOCK PRINTER', why: !r ? 'enter a reason' : '' },\n unlock: { title:`Unlock ${dp.id}`, ok:'UNLOCK PRINTER', why: !r ? 'enter a reason' : '' },\n release: { title:`Release ${d.eid}`, ok:'RELEASE TO QUEUE', why: !r ? 'enter a reason' : '' },\n resolveA:{ title:`Resolve attention · ${d.eid}`, ok:'RESOLVE TO HELD', why: !(dp.obs === 'IDLE' || dp.obs === 'FINISH') ? `${dp.id} has not recently reported IDLE or FINISH` : evl < 20 ? 'evidence needs at least 20 characters' : evl > 2048 ? 'evidence is over 2048 characters' : '' },\n cancelE: { title:`Cancel ${d.eid}?`, ok:'CANCEL ENTRY', why:'' },\n cancelP: { title:`Cancel the print on ${dp.id}?`, ok:'SEND CANCEL', why:'' },\n plate: { title:`Plate cleared on ${dp.id}?`, ok:'CONFIRM PLATE CLEARED', why:'' }\n }[d.t];\n const nxt = s.entries.find(x => x.pid === dp.id && x.st === 'queued');\n const aa = d.t === 'start' && e ? s.auths.find(a => a.eid === e.id && a.st === 'active') : null;\n dv = { ...M, t:d.t, targets: d.t === 'plate' || d.t === 'lock' || d.t === 'unlock' || d.t === 'win' ? [{ k:'Printer', v:`${dp.id} · ${dp.model}` }] : tg,\n okBtn: btn(d.t === 'cancelE' || d.t === 'cancelP' ? 'w' : 'p', M.ok, () => this.confirm(), M.why),\n isReady:d.t === 'ready', isStart:d.t === 'start', isWin:d.t === 'win', isLock:d.t === 'lock', isUnlock:d.t === 'unlock', isRelease:d.t === 'release', isResA:d.t === 'resolveA', isCanE:d.t === 'cancelE', isCanP:d.t === 'cancelP', isPlate:d.t === 'plate',\n needsReason: ['ready','lock','unlock','release','cancelE'].includes(d.t), reasonOpt: d.t === 'cancelE', reasonLbl: d.t === 'ready' ? 'Reason (required)' : d.t === 'cancelE' ? 'Reason (optional, recorded in activity)' : 'Reason (required, recorded in activity)',\n reasonPh: d.t === 'ready' ? 'e.g. Plate cleared, PLA Blue loaded in AMS 1' : d.t === 'lock' ? 'e.g. Nozzle swap, back by 4 PM' : d.t === 'unlock' ? 'e.g. Nozzle swapped and test print passed' : d.t === 'release' ? 'e.g. Lock removed after nozzle swap' : '',\n hasSup:!!d.sup, sup:d.sup || '',\n expTxt:`Expires ${lt(s.now + (+s.f.exp) * 60)}${s.now + (+s.f.exp) * 60 >= 1440 ? ' tomorrow' : ' today'} · in ${s.f.exp} h · single use`,\n plateWarn: dp.plate === 'needs clearing',\n authTxt: aa ? `${aa.id} · marked by ${aa.by} at ${aa.at} · consumed by this start` : '',\n wsL:lt(s.f.ws - 300), weL:lt(s.f.we - 300), winSum:this.winTxt(s.f.ws, s.f.we),\n lockEffects:[ runE ? `${runE.id} keeps printing. Pause, resume and cancel stay available.` : 'No active print.', `Automatic dispatch skips ${dp.id}.`, waiting.length ? `${waiting.map(x => x.id).join(', ')} cannot start or be released.` : 'No waiting entries.' ],\n unlockEffects:[ `${waiting.filter(x => x.hold === 'auto: maintenance lock').map(x => x.id).join(', ') || 'No entries'} stay held until released. Release re-checks the artifact and printer.`, 'Automatic dispatch resumes inside the operating window.' ],\n relChecks:[ `Artifact checksum matches ${e ? e.art + ' r' + e.rev : ''}`, `${dp.id} is compatible with this revision`, dp.lock ? `${dp.id} is locked` : 'No maintenance lock', dp.fault ? `${dp.id} reports FAILED` : 'No fault reported' ].map((t, i) => ({ t, ok: i < 2 || (i === 2 ? !dp.lock : !dp.fault) })).map(c => ({ ...c, g: c.ok ? '✓' : '✗', c: c.ok ? T.g : T.r })),\n relTail:`Moves to the end of the ${dp.id} queue. It will need a new readiness authorization.`,\n obsOk: dp.obs === 'IDLE' || dp.obs === 'FINISH', obsTxt: dp.obs === 'IDLE' || dp.obs === 'FINISH' ? `✓ ${dp.id} reported ${dp.obs} ${dp.age} ago` : `✗ ${dp.id} reports ${dp.obs}. Needs a recent IDLE or FINISH.`, obsC: dp.obs === 'IDLE' || dp.obs === 'FINISH' ? T.g : T.r,\n attnReason: e ? e.attn || '' : '', evCount:`${evl} / 2048 · min 20`, evC: evl > 0 && (evl < 20 || evl > 2048) ? T.r : T.se,\n plateNext: nxt ? `${nxt.id} (${nxt.job}) becomes eligible for Mark ready.` : 'No queued entry waits on this printer.',\n presets:[['Overnight', 180, 720], ['Workday', 780, 1320], ['All day', 0, 1440]].map(([l, a, b]) => ({ l: l === 'All day' ? 'All day · 24 h' : `${l} · ${lt(a - 300)} – ${lt(b - 300)}`, on: () => this.setState(st => ({ f:{ ...st.f, ws:a, we:b % 1440 === a ? (a + 1439) % 1440 : b % 1440 } })) }))\n };\n }\n const adj = (k, n) => () => this.setState(st => ({ f:{ ...st.f, [k]: ((st.f[k] + n) % 1440 + 1440) % 1440 } }));\n\n const NAV = [['dashboard','Dashboard'],['filament','Filament'],['printers','Printers'],['printlog','Print Log'],['attribution','Attribution Queue'],['labels','Labels'],['fleet','Fleet'],['artifacts','Artifacts'],['inbox','Work requests']];\n const TAG = { fleet:['extended','solid'], artifacts:['new','dashed'], inbox:['wireframe','dashed'] };\n const navItem = ([k, l]) => { const on = s.view === k || (k === 'fleet' && s.view === 'printer'); const t = TAG[k]; return { l, on: go(k), cur: on ? 'page' : 'false', bg: on ? 'rgba(169,154,240,.12)' : 'transparent', bc: on ? T.ac : 'transparent', c: on ? T.ac : T.tx, w: on ? 700 : 500, tag: t ? t[0] : '', td: t ? 'inline-block' : 'none', ts: t ? t[1] : 'solid' }; };\n const EXIST = { dashboard:'Stock summary and recent prints.', filament:'Full inventory: add, edit, delete, search, QR labels, weigh-ins.', printers:'Printer cards with connection state, TLS-pinned camera snapshots, fault text, last-report age.', printlog:'Print history with per-color attribution, cost, weight provenance.', attribution:'Multi-color spool attribution.', labels:'QR label generation and batch printing.', system:'Diagnostics, backup and restore status, low-filament webhook admin.', access:'Auth status and management.' };\n const TITLES = { fleet:'Fleet', printer:`Fleet · ${p.id}`, artifacts:'Artifacts', inbox:'Work requests', filament:'Filament', dashboard:'Dashboard', printers:'Printers', printlog:'Print Log', attribution:'Attribution Queue', labels:'Labels', system:'System', access:'Access' };\n const vExisting = !!EXIST[s.view] && !(s.view === 'filament' && s.filTab === 'res');\n\n const NOTES = {\n fleet:{ scr:'Screen 1 · Fleet', rows:[\n ['States','Queue entry: queued → held → running → completed | canceled | interrupted | manual_takeover. Readiness authorization: active → consumed | expired | superseded.'],\n ['Roles','Mark ready, supersede, release, cancel, dispatch toggle and window edit need the operator role. Joshua and Polly both hold it; nothing is admin-only.'],\n ['Audit','Each authorization names who marked it and when. Superseded ones keep their author and point to the replacement. Toggles and window edits write an activity line.'],\n ['Errors','Every failed scheduler check becomes a visible auto: hold that links to its recovery. Supersede is disabled with the reason when the start was actually sent. CC renders a disabled switch with the reason.'],\n ['Keyboard and phone','Rows never reorder on live updates; a released entry moves to its printer’s tail and focus returns to the page heading. The switch is role=switch (Space or Enter). The window uses −/+ steppers and presets; no drag. Disabled actions stay focusable and announce why.']],\n defaults:['Operating-window picker: two 30-minute steppers plus three presets, local time with UTC beside it.','Readiness expiry format: absolute local time plus time remaining, e.g. \"expires 2:40 AM tomorrow (in 12 h 0 m)\".'] },\n printer:{ scr:'Screens 2–4 · Printer detail', rows:[\n ['States','Command: Requested → Sent → Acknowledged → Observed applied | Rejected | Outcome unknown. Printer reports IDLE, RUNNING, PAUSE, FINISH, FAILED. Queue entry attention states: interrupted, manual_takeover.'],\n ['Roles','Outcome resolution uses the role-gated endpoint and needs the command in Sent, Acknowledged or Outcome unknown. Lock, unlock, resolve and cancel need the operator role; both owners have it.'],\n ['Audit','Resolutions record choice, evidence, actor and time. The lock shows who, when and why. Command history names Joshua, Polly or scheduler on every row.'],\n ['Errors','Evidence under 20 or over 2048 characters blocks submit and shows the count. Resolve attention is disabled unless the printer recently reported IDLE or FINISH. A fault clears only on a fresh non-fault report. Outcome unknown uses an amber dashed \"?\" so it never reads as success (green ✓) or failure (red ✗).'],\n ['Keyboard and phone','The stepper is an ordered list with aria-current on the step reached. Updates go to a polite status line and never move focus. Dialogs close on Esc and return focus to the button that opened them. Steps wrap to two rows at 320 px.']],\n defaults:['Command progress indicator: inline on printer detail, not a modal.','Attention banner placement: top of printer detail, plus inline on the Fleet queue row.','Resolution-evidence input: 6-row textarea with a live counter below.'] },\n artifacts:{ scr:'Screen 5 · Artifacts', rows:[\n ['States','Revisions are immutable. Each upload adds the next revision number for its key; nothing is overwritten.'],\n ['Roles','Upload needs the operator role.'],\n ['Audit','Every revision shows uploader, time and checksum.'],\n ['Errors','SHA-256 is computed in the browser. If you paste the slicer’s checksum and it differs, the form shows a red banner and refuses the upload. Key, spool ID (S-###) and color (#RRGGBB) are format-checked inline.'],\n ['Keyboard and phone','Native file input, checkboxes and selects. Fields stack in one column at phone width.']], defaults:[] },\n filament:{ scr:'Screen 6 · Filament › Reservations', rows:[\n ['States','Reservation: active → uncertain → settled | released (cancelled, expired).'],\n ['Roles','Release and renew need the operator role.'],\n ['Audit','Releasing or renewing an expired reservation records who did it.'],\n ['Errors','An uncertain hold points to the command that caused it and to the reconciliation step. Expired holds stay until someone chooses Release or Renew; nothing auto-releases.'],\n ['Keyboard and phone','Weight provenance uses a named label and a distinct border style (solid, dashed, dotted), never color alone.']], defaults:[] },\n inbox:{ scr:'Screen 7 · Work requests (wireframe)', rows:[\n ['States','Request status: accepted, rejected, conflict. Each request carries its CubeOps version and business reference.'],\n ['Errors','A conflict can only be retried or cancelled after the operator checks queue, command, print readiness and print facts.'],\n ['Scope','Wireframe-level. CubeOps is a separate project; this is phase 1 of the integration.']], defaults:[] },\n other:{ scr:'Existing page', rows:[['Scope','Unchanged in this pass. Shown so the existing navigation is preserved.']], defaults:[] }\n };\n const nk = s.view === 'printer' ? 'printer' : s.view === 'fleet' ? 'fleet' : s.view === 'artifacts' ? 'artifacts' : s.view === 'inbox' ? 'inbox' : s.view === 'filament' && s.filTab === 'res' ? 'filament' : 'other';\n const notesVM = { ...NOTES[nk], rows: NOTES[nk].rows.map(([k, v]) => ({ k, v })), hasDefaults: NOTES[nk].defaults.length > 0 };\n\n const JOURNEY = [\n ['Mark ready','Not possible in the UI. Fleet is read-only; readiness exists only in the API.','Fleet › Queue › P1S › Q-41. Tab to MARK READY, Enter. Focus lands on the dialog heading. Tab through reason, expiry (arrow keys), plate checkbox (Space), then CREATE AUTHORIZATION (Enter). The chip reads \"active\".'],\n ['Turn on automatic dispatch','Off by default and no UI to change it.','Printers › P1S switch (Space). Window dialog: −/+ steppers or a preset (Enter). SAVE AND TURN ON. The row shows local time with UTC beside it.'],\n ['Auto-dispatch','Scheduler outcome visible only as hold text on Fleet.','When the window opens the scheduler consumes the authorization; the chip flips to \"consumed\". The status line announces each step. Focus does not move.'],\n ['Running','Read-only state on Printers.','Open P1S: Requested → Sent → Acknowledged → Observed applied. Entry shows running. PAUSE and CANCEL PRINT are next in tab order.'],\n ['Finished','Print Log entry appears; nothing prompts the next step.','P1S reports FINISH; entry completed; reservation settled; \"plate needs clearing\" flag. Mark ready on the next job is disabled with that reason.'],\n ['Clear plate','No UI. A finished print never re-arms a printer.','MARK PLATE CLEARED (Enter). The dialog names the printer and the next job. CONFIRM PLATE CLEARED.'],\n ['Next job','Repeat via the API.','Q-49 becomes head of the P1S queue and MARK READY is enabled. Back to step 1.']\n ].map(([t, b, a], i) => ({ n:String(i + 1), t, b, a, on: !!s.jdone[i], tg: () => this.setState(st => ({ jdone:{ ...st.jdone, [i]: !st.jdone[i] } })) }));\n\n const INV = {\n reused:[\n ['JetBrains Mono type scale','Display 800, headings 700, body 400. Eyebrows uppercase 0.14em, buttons uppercase 0.08em.'],\n ['Extrudex glass surface','Panel recipe from the Extrudex dashboard (turn 3): translucent panel, 12 px blur, top highlight. Not Labs-square; see assumptions A-14.'],\n ['Status tokens','Green, red, amber, blue and violet accent from the Extrudex dark theme.'],\n ['Button','Primary, secondary, ghost, destructive. 44 px min height. Labs Button behavior, Extrudex radius.'],\n ['Badge → status pill','Named label plus glyph. Border style carries meaning too (solid, dashed, dotted).'],\n ['Switch','Labs Switch semantics (role=switch), Extrudex rounded track.'],\n ['Field, Input, Textarea, Select, Checkbox, Radio','Labs form semantics: label above, hint and error below.'],\n ['Sidebar nav, page header, freshness line','From the existing Extrudex shell. Fleet gets an \"extended\" tag; new pages get \"new\".'],\n ['Printer row (from Fleet read-only)','Gains the dispatch switch, flags and OPEN.']],\n added:[\n ['Readiness authorization chip','State pill + covers (job on printer) + author and expiry line.'],\n ['auto: hold badge','Exact hold reason in mono. A button that opens the matching recovery.'],\n ['Command stepper','Four steps; Rejected or Outcome unknown replaces the step where it stopped.'],\n ['Outcome resolution panel','Command ID, evidence textarea with counter, three audited choices.'],\n ['Operating-window stepper','−/+ 30-minute steppers, presets, local and UTC readout.'],\n ['Maintenance lock banner','Who, when, why. Lists what is blocked and what is not.'],\n ['Attention banner','Reason plus Resolve and Cancel paths.'],\n ['Fault banner','Material runout (amber ◌) vs hardware (red ✗).'],\n ['Stale-data banner','\"Showing last loaded data from 2:39 PM\" with retry.'],\n ['Capability-disabled control','Dashed, focusable, states why.'],\n ['Confirm-target dialog','Printer, job, artifact revision and material before every consequential action.'],\n ['Reservation row','Held grams, work handle, countdown, disposition actions.'],\n ['Provenance label','measured ▣ solid · estimated ≈ dashed · unknown ? dotted.'],\n ['Revision list and checksum readout','Immutable versions, SHA-256, mismatch banner.'],\n ['Material mapping row','Plate, slot, spool ID, color, with format validation.'],\n ['Work request row (wireframe)','Status, version, business reference.']]\n };\n const inv = { reused: INV.reused.map(([k, v]) => ({ k, v })), added: INV.added.map(([k, v]) => ({ k, v })) };\n const ASSUME = [\n ['A-01','Stated','Six printers: H2C, P1S, two A1s, A1 mini, Centauri Carbon. Same-model units are separate resources.'],\n ['A-02','Stated','Command states, queue states, readiness states and reservation states use the backend names verbatim.'],\n ['A-03','Stated','Evidence is 20–2048 characters. Readiness expiry is at most 24 h and single use.'],\n ['A-04','Stated','Locks block start dispatch and queue release, not cancel, pause or resume. Faults block start dispatch only.'],\n ['A-05','Stated','Automatic dispatch is off by default per printer.'],\n ['A-06','Inferred','Operator time zone is America/Chicago (CDT, UTC−5). Windows are stored in UTC and shown locally.'],\n ['A-07','Inferred','Window granularity is 30 minutes. A window may cross midnight.'],\n ['A-08','Inferred','Both owners hold the operator role, so every role-gated action is available to both.'],\n ['A-09','Inferred','Centauri Carbon has no validated remote start, pause or cancel and no camera. H2C has no camera snapshot.'],\n ['A-10','Inferred','Mark ready does not require the printer to be idle; the scheduler checks that at dispatch. One active authorization per printer.'],\n ['A-11','Inferred','Plate clearing is an explicit operator action that gates Mark ready.'],\n ['A-12','Inferred','\"Still investigating\" records a note and leaves the command Outcome unknown.'],\n ['A-13','Inferred','Expired reservations offer Release or Renew 4 h. Checksums are SHA-256.'],\n ['A-14','Inferred','Visual direction follows the Extrudex frosted-glass treatment from turn 3, which departs from the Labs square, flat rules.'],\n ['A-15','Inferred','A released entry needs a new readiness authorization.'],\n ['D-1','Unconfirmed default','Operating-window picker: steppers plus presets.'],\n ['D-2','Unconfirmed default','Readiness expiry format: absolute local time plus time remaining.'],\n ['D-3','Unconfirmed default','Attention banner placement: top of printer detail and inline on the Fleet row.'],\n ['D-4','Unconfirmed default','Resolution-evidence input: 6-row textarea, live counter.'],\n ['D-5','Unconfirmed default','Command progress indicator: inline, not modal.']\n ].map(([id, src, a]) => ({ id, src, a, c: src === 'Stated' ? T.g : src === 'Inferred' ? T.b : T.a, st: src === 'Unconfirmed default' ? 'dashed' : 'solid' }));\n\n const tabs = [['proto','Prototype'],['inv','Component inventory'],['journey','Journey checklist'],['assume','Assumptions register']].map(([k, l]) => ({ l, on: () => this.setState({ tab:k }), sel: s.tab === k ? 'true' : 'false', bg: s.tab === k ? T.ac : 'transparent', c: s.tab === k ? T.onf : T.tx, b: s.tab === k ? T.ac : 'rgba(255,255,255,.16)' }));\n const seg = (cur, list, set) => list.map(([k, l]) => ({ l, on: () => set(k), sel: cur === k ? 'true' : 'false', bg: cur === k ? 'rgba(169,154,240,.18)' : 'transparent', c: cur === k ? T.ac : T.tx, b: cur === k ? T.ac : 'rgba(255,255,255,.16)' }));\n const jumps = [['1 · Fleet','fleet','P1S'],['2 · Command · H2C','printer','H2C'],['3 · Lock · A1-2','printer','A1-2'],['3 · Attention · CC','printer','CC'],['4 · Fault · A1 mini','printer','A1 mini'],['5 · Artifacts','artifacts'],['6 · Reservations','filament'],['7 · Work requests','inbox']]\n .map(([l, v, pid]) => ({ l, on: () => { if (v === 'filament') this.setState({ filTab:'res' }); this.setState({ tab:'proto' }); this.go(v, pid); }, c: (s.view === v && (!pid || s.pid === pid)) ? T.ac : T.se }));\n\n return {\n s, isPhone, isDesk:!isPhone, notes:s.notes, stale:s.stale, live:s.live, who:s.who,\n frameW: s.vp === 'desk' ? '1280px' : s.vp === 'p390' ? '390px' : '320px', frameH: s.vp === 'desk' ? '860px' : s.vp === 'p390' ? '820px' : '720px', frameR: isPhone ? '34px' : '16px',\n mainPad: isPhone ? '12px' : '20px 24px 28px 8px', dlgAlign: isPhone ? 'flex-end' : 'center', dlgPad: isPhone ? '0' : '24px', dlgR: isPhone ? '22px 22px 0 0' : '20px',\n tProto:s.tab === 'proto', tInv:s.tab === 'inv', tJourney:s.tab === 'journey', tAssume:s.tab === 'assume', tabs,\n vps: seg(s.vp, [['desk','Desktop 1280'],['p390','Phone 390'],['p320','Phone 320']], k => this.setState({ vp:k, navOpen:false })),\n whos: seg(s.who, [['Joshua','Joshua'],['Polly','Polly']], k => this.setState({ who:k, live:`Acting as ${k}. Same navigation and capabilities.` })),\n resps: [['ok','OK'],['noack','No ack'],['reject','Rejected'],['rejectBefore','Rejected before send']].map(([k, l]) => ({ k, l })), respVal:s.simResp, onResp: ev => this.setState({ simResp:ev.target.value }),\n clockTxt: `${lt(s.now)} CDT`, jumpBtn: btn('s', s.inWin ? 'WINDOW OPEN' : 'JUMP TO 10:00 PM', () => this.jump(), s.inWin ? 'the clock is already at 10:00 PM' : ''), tickBtn: btn('s', 'SCHEDULER TICK', () => this.tick()),\n staleBtn: btn('s', s.stale ? 'RESTORE POLLING' : 'FAIL POLLING', () => this.setState(st => ({ stale:!st.stale, live: st.stale ? 'Polling restored.' : 'Poll failed. Showing last loaded data from 2:39 PM.' }))),\n notesBtn: btn('s', s.notes ? 'HIDE NOTES' : 'SHOW NOTES', () => this.setState(st => ({ notes:!st.notes }))), resetBtn: btn('g', 'RESET', () => { this.tm.forEach(clearTimeout); const k = { tab:s.tab, vp:s.vp, notes:s.notes }; this.setState({ ...this.init(), ...k }); }),\n jumps, nav: NAV.map(navItem), manage: [['system','System'],['access','Access']].map(navItem),\n navOpen: s.navOpen, toggleNav: () => this.setState(st => ({ navOpen:!st.navOpen })), navBtnL: s.navOpen ? 'CLOSE' : 'MENU',\n title: TITLES[s.view], vFleet:s.view === 'fleet', vPrinter:s.view === 'printer', vArt:s.view === 'artifacts', vInbox:s.view === 'inbox', vRes:s.view === 'filament' && s.filTab === 'res', vExisting, existTxt: EXIST[s.view] || '', isFil: s.view === 'filament',\n filTabs: seg(s.filTab, [['inv','Inventory'],['res','Reservations']], k => this.setState({ filTab:k })),\n lastPoll: s.stale ? 'Showing last loaded data from 2:39 PM' : `Live · updated ${lt(s.now)}`, pollC: s.stale ? T.a : T.g, pollG: s.stale ? '◌' : '●', retry: () => this.setState({ stale:false, live:'Polling restored.' }),\n backFleet: go('fleet'),\n attnStrip, noAttn: attnStrip.length === 0, prows, qgroups,\n lookup:s.lookup, onLookup: ev => this.setState({ lookup:ev.target.value }), doLookup: ev => { ev.preventDefault(); this.setState(st => ({ lookupShown:st.lookup })); },\n hasLk:!!lk, lkMiss: !lk && !!s.lookupShown.trim(), lk: lk ? { id:lk.id, pid:lk.pid, type:lk.type, eid:lk.eid, by:lk.by, at:lk.at, pill:cpill(lk), go:go('printer', lk.pid) } : null, lkShown:s.lookupShown,\n pd, res:s.res, onResEv: ev => { const v = ev.target.value; this.setState(st => ({ res:{ ...st.res, ev:v } })); },\n spools,\n art:artifacts, up, onKey: ev => this.setUp('key', ev.target.value), onNewKey: ev => this.setUp('newKey', ev.target.value), onExpect: ev => this.setUp('expect', ev.target.value), onYld: ev => this.setUp('yld', ev.target.value), onPlateT: ev => this.setUp('plateT', ev.target.value), onNoz: ev => this.setUp('noz', ev.target.value),\n onFile: ev => this.onFile(ev), sample: () => { const hex = Array.from({ length:64 }, (_, i) => '0123456789abcdef'[(i * 7 + 3) % 16]).join(''); this.setState(st => ({ up:{ ...st.up, file:'blue_dragon_v5.3mf', size:'4,812 KB', sum:hex, msg:'' } })); },\n sampleBad: () => this.setState(st => ({ up:{ ...st.up, expect:'sha256:5f1e0c9a2b7d4e3f8a6c1b0d9e2f7a4c' } })),\n addMap: () => this.setUp('maps', [...up.maps, { plate:String(up.maps.length + 1), slot:'AMS 2', spool:'', color:'' }]),\n inbox, facts, allAck, selW, selConflict: selW && selW.st === 'conflict', selOther: selW && selW.st !== 'conflict',\n retryBtn: btn('s', 'RETRY REQUEST', () => this.say('WR-1044 retry sent to CubeOps (wireframe).'), allAck ? '' : 'check all four facts first'), cancelReqBtn: btn('w', 'CANCEL REQUEST', () => this.say('WR-1044 cancelled (wireframe).'), allAck ? '' : 'check all four facts first'),\n hasDlg:!!dv, dlg:dv, f:s.f, close: () => this.close(), dlgKey: ev => { if (ev.key === 'Escape') this.close(); },\n onReason: ev => this.setF('reason', ev.target.value), onExp: ev => this.setF('exp', ev.target.value), onOk: ev => this.setF('ok', ev.target.checked), onEv: ev => this.setF('ev', ev.target.value),\n wsDown: adj('ws', -30), wsUp: adj('ws', 30), weDown: adj('we', -30), weUp: adj('we', 30),\n notesVM, journey:JOURNEY, runAt320: () => { this.setState({ tab:'proto', vp:'p320' }); this.go('fleet'); }, jCount:`${Object.values(s.jdone).filter(Boolean).length} / 7 checked`,\n inv, assume:ASSUME\n };\n }\n}\n<\u002Fscript>\n\n\n<\u002Fbody><\u002Fhtml>"
|
||
</script>
|
||
</body>
|
||
</html> |