killinchu / cathedral.html
betterwithage's picture
chore(align): sync locked-8 merged files (Dockerfile, a11oy_code_engine, cathedral, elite console) byte-identical to GitHub main
fbbedc9 verified
Raw
History Blame
8.14 kB
<!doctype html>
<!-- ======================================================================
killinchu · Front Door — cathedral-style sovereign 3D hero.
Field node (killinchu, edge) tethered to the a11oy brain-sun upstream.
Sovereign: Three.js r160 (MIT) VENDORED under /static/vendor3d, NO CDN.
Honesty: locked proven = 8 {F1,F4,F7,F11,F12,F18,F19,F22}; experimental main 1304/22; Λ = Conjecture 1;
Trust Gate = Conjecture; SLSA L1 honest / L2 roadmap. Live /healthz + ledger.
"Enter Field Console" -> /elite (Counter-UAS Governance command deck).
Vessels CONSOLIDATED into killinchu (/elite fleet group).
Signed-off-by: Stephen P. Lutar Jr. <stephenlutar2@gmail.com>
====================================================================== -->
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<meta name="theme-color" content="#0a0e14" />
<title>killinchu · Maritime + Drone C2 (Field Node)</title>
<meta name="description" content="killinchu front door: cinematic sovereign 3D field node tethered to the a11oy substrate, live edge Λ verdicts. Vendored Three.js, no CDN. Trust Gate = Conjecture; locked proven 8." />
<!-- SOVEREIGN: 0 runtime CDN. System font stacks only. -->
<style>
:root{
--hatun-300:#e6c875; --hatun-400:#d7b96b; --hatun-500:#c08f2f;
--yawar-500:#c0392b; --yuyay-300:#5cc4bf; --yuyay-500:#168f89;
--indigo-900:#070815; --indigo-800:#0e1024; --indigo-700:#16183a;
--green:#4fd18b; --amber:#d7b96b; --red:#c0392b; --steel:#8fb6e6;
--ink:#f3ecdc; --ink-dim:#aba287;
--hud-bg:rgba(9,10,26,0.82); --hud-border:rgba(143,182,230,0.30);
--mono:ui-monospace,'JetBrains Mono',Menlo,Consolas,monospace;
--sans:'Inter',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--indigo-900);overflow:hidden;color:var(--ink);font-family:var(--sans)}
#scene{position:fixed;inset:0;z-index:0;display:block}
.hud{position:fixed;z-index:10;background:var(--hud-bg);border:1px solid var(--hud-border);border-radius:12px;
backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);box-shadow:0 10px 34px rgba(0,0,0,0.5)}
.plaque{top:16px;left:16px;max-width:min(52ch,84vw);padding:14px 16px}
.plaque .title{color:var(--steel);font-weight:700;letter-spacing:.05em;font-size:13px;text-transform:uppercase;margin-bottom:6px}
.plaque .line{font:12px/1.55 var(--mono);color:var(--ink)}
.plaque .line b{color:var(--hatun-400)}
.plaque .sha{color:var(--yuyay-300)}
.status{top:16px;right:16px;padding:12px 14px;min-width:230px}
.status .h{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.row{display:flex;align-items:center;gap:8px;font:12px var(--mono);padding:3px 0}
.dot{width:9px;height:9px;border-radius:50%;flex:none}
.dot.live{background:var(--green);box-shadow:0 0 9px var(--green)}
.dot.off{background:var(--red);box-shadow:0 0 9px var(--red)}
.dot.seed{background:var(--hatun-400);box-shadow:0 0 9px var(--hatun-400)}
.row .meta{margin-left:auto;color:var(--ink-dim);font-size:11px}
.feed{margin-top:8px;font:11px var(--mono);color:var(--yuyay-300)}
.legend{bottom:16px;left:16px;padding:12px 14px;font-size:11px;max-width:48ch}
.legend .h{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}
.legend .hint{color:var(--ink-dim);margin-top:4px}
.enter{position:fixed;z-index:14;left:50%;bottom:80px;transform:translateX(-50%);display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.enter a{font:700 13px var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
padding:13px 26px;border-radius:11px;border:1px solid var(--steel);color:var(--indigo-900);
background:linear-gradient(180deg,#bcd4f2,#5c8fd1);box-shadow:0 10px 30px rgba(92,143,209,0.35);
transition:transform .15s ease, box-shadow .15s ease}
.enter a.ghost{background:transparent;color:var(--steel);border-color:var(--hud-border)}
.enter a:hover{transform:translateY(-2px);box-shadow:0 14px 38px rgba(92,143,209,0.5)}
.enter a.ghost:hover{color:var(--ink)}
#inspector{position:fixed;z-index:20;top:50%;right:-420px;transform:translateY(-50%);
width:380px;max-width:88vw;max-height:80vh;overflow:auto;padding:18px 20px;
background:var(--hud-bg);border:1px solid var(--hud-border);border-radius:14px;
backdrop-filter:blur(10px);box-shadow:0 16px 48px rgba(0,0,0,0.6);transition:right .35s cubic-bezier(.2,.8,.2,1)}
#inspector.show{right:16px}
#inspector .ititle{color:var(--steel);font-weight:700;font-size:16px;margin-bottom:4px}
#inspector .iplain{color:var(--ink);font-size:13px;line-height:1.5;margin-bottom:12px}
#inspector .ih{font:11px var(--mono);color:var(--ink-dim);text-transform:uppercase;letter-spacing:.07em;margin:12px 0 5px}
#inspector ul{margin:0;padding-left:18px}
#inspector li{font:12px/1.55 var(--mono);color:var(--ink);margin-bottom:3px}
#inspector li.proof{color:var(--yuyay-300)}
#inspector .close{position:absolute;top:12px;right:14px;cursor:pointer;color:var(--ink-dim);font-size:18px;background:none;border:0}
#inspector .close:hover{color:var(--steel)}
#boot{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;flex-direction:column;
background:var(--indigo-900);text-align:center;transition:opacity .6s ease}
#boot.hide{opacity:0;pointer-events:none}
#boot .b1{font:700 20px var(--mono);color:var(--steel);letter-spacing:.08em}
#boot .b2{color:var(--ink-dim);font-size:13px;margin-top:10px}
.title-card{position:fixed;z-index:8;left:50%;bottom:32px;transform:translateX(-50%);text-align:center;pointer-events:none}
.title-card .t1{font:700 15px var(--mono);color:var(--steel);letter-spacing:.18em;text-transform:uppercase}
.title-card .t2{color:var(--ink-dim);font-size:12px;margin-top:4px}
@media(max-width:680px){.legend{display:none}.status{min-width:160px}.plaque{max-width:78vw}.enter{bottom:96px}}
</style>
</head>
<body>
<canvas id="scene" aria-label="3D scene: killinchu field node tethered to the a11oy substrate"></canvas>
<div id="boot"><div class="b1">killinchu</div><div class="b2">vendoring sovereign 3D · no CDN…</div></div>
<div class="hud plaque" aria-live="polite">
<div class="title">killinchu · Maritime + Drone C2 (Field Node)</div>
<div class="line">Doctrine <b>v11 LOCKED</b> · <b>749/14/163</b> · <span class="sha">c7c0ba17</span></div>
<div class="line" style="margin-top:5px">Λ = <b>Conjecture 1</b> · Trust Gate = <b>Conjecture</b> · locked proven <b>8</b> {F1,F4,F7,F11,F12,F18,F19,F22}</div>
<div class="line" style="margin-top:5px">Vessels <b>consolidated</b> into killinchu (/elite) · /wave910 (6 cards) · SLSA <b>L1 honest / L2 roadmap</b></div>
<div class="line" style="margin-top:5px;color:var(--ink-dim)">Field node (edge) tethered to the a11oy substrate upstream</div>
</div>
<div class="hud status">
<div class="h">Live mesh · /healthz</div>
<div id="status-rows"></div>
<div class="feed">feed · <span id="feed-src">connecting…</span></div>
</div>
<div class="hud legend">
<div class="h">killinchu front door</div>
<div class="hint">Click the field node or the substrate to inspect. Live Track Board · counter-UAS A-gate · tactical routing · /wave910 all live inside the /elite field console.</div>
</div>
<div class="enter">
<a href="/elite">Enter Field Console →</a>
<a class="ghost" href="/operator">UDS operator</a>
</div>
<div id="inspector" role="dialog" aria-modal="false">
<button class="close" id="insp-close" aria-label="Close">×</button>
<div class="ititle" id="insp-title"></div>
<div class="iplain" id="insp-plain"></div>
<div id="insp-body"></div>
</div>
<div class="title-card"><div class="t1">killinchu</div><div class="t2">drag to orbit · scroll to zoom · click a body to inspect</div></div>
<script type="importmap">
{ "imports": { "three": "/hero/vendor3d/three.module.min.js", "three/addons/": "/hero/vendor3d/" } }
</script>
<script type="module" src="/hero/killinchu_cathedral.js"></script>
</body>
</html>