Spaces:
Running
Running
deploy(hf): sync szl-holdings/a11oy@main derived COPY set
Browse filesReusable Dockerfile-COPY-derived deploy from szl-holdings/a11oy main.
Files: 826 Pruned: 0
Derived from Dockerfile COPY sources (NO hand-maintained allowlist).
Signed-off-by: SZL Holdings <noreply@szlholdings.ai>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- a11oy_landing.html +1 -1
- web/living-anatomy.html +63 -3
a11oy_landing.html
CHANGED
|
@@ -680,7 +680,7 @@
|
|
| 680 |
if(bl){ bl.addEventListener("click", function(){
|
| 681 |
const wrap = $("body-embed");
|
| 682 |
const f = document.createElement("iframe");
|
| 683 |
-
f.src = "https://szlholdings-anatomy.hf.space";
|
| 684 |
f.title = "a11oy living body — 3D governed organism (V10 · Estate + Ayllu wirings)";
|
| 685 |
f.loading = "lazy"; f.referrerPolicy = "no-referrer";
|
| 686 |
wrap.innerHTML = ""; wrap.appendChild(f);
|
|
|
|
| 680 |
if(bl){ bl.addEventListener("click", function(){
|
| 681 |
const wrap = $("body-embed");
|
| 682 |
const f = document.createElement("iframe");
|
| 683 |
+
f.src = "https://szlholdings-anatomy.hf.space#estate";
|
| 684 |
f.title = "a11oy living body — 3D governed organism (V10 · Estate + Ayllu wirings)";
|
| 685 |
f.loading = "lazy"; f.referrerPolicy = "no-referrer";
|
| 686 |
wrap.innerHTML = ""; wrap.appendChild(f);
|
web/living-anatomy.html
CHANGED
|
@@ -48,7 +48,7 @@ h1{font-size:1.7rem;font-weight:600;margin:.2rem 0 .3rem;letter-spacing:-.01em;}
|
|
| 48 |
.panel{border:1px solid var(--gold-line);background:var(--panel);border-radius:10px;padding:1rem 1.1rem;margin-bottom:1.1rem;}
|
| 49 |
.panel h2{font-size:1.05rem;font-weight:600;margin:0 0 .4rem;display:flex;align-items:center;justify-content:space-between;}
|
| 50 |
.panel h2 .meta{font-family:var(--mono);font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;}
|
| 51 |
-
.embed{width:100%;height:
|
| 52 |
.embed iframe{width:100%;height:100%;border:0;display:block;}
|
| 53 |
.organs{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:.4rem;}
|
| 54 |
.organ{border:1px solid var(--gold-line);background:var(--rail);border-radius:8px;padding:.7rem .9rem;}
|
|
@@ -59,6 +59,31 @@ h1{font-size:1.7rem;font-weight:600;margin:.2rem 0 .3rem;letter-spacing:-.01em;}
|
|
| 59 |
.footnote{margin-top:1.2rem;font-family:var(--mono);font-size:10.5px;color:var(--muted);line-height:1.7;border-top:1px solid var(--gold-line);padding-top:.9rem;}
|
| 60 |
.footnote b{color:var(--cream);}
|
| 61 |
@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr);}.organs{grid-template-columns:1fr;}}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 62 |
</style>
|
| 63 |
</head>
|
| 64 |
<body>
|
|
@@ -81,8 +106,33 @@ h1{font-size:1.7rem;font-weight:600;margin:.2rem 0 .3rem;letter-spacing:-.01em;}
|
|
| 81 |
<div class="card"><div class="lbl">Consensus mesh</div><div class="big" id="c_mesh" style="color:var(--teal)">—</div><div class="sub">Byzantine = Conjecture 2 OPEN</div></div>
|
| 82 |
</div>
|
| 83 |
<div class="panel">
|
| 84 |
-
<h2>Living anatomy (live 3D)<span class="meta">szlholdings-anatomy.hf.space</span></h2>
|
| 85 |
-
<div class="
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 86 |
</div>
|
| 87 |
<div class="panel">
|
| 88 |
<h2>Proven formulas living in the organs<span class="meta">theorem_ref + honest maturity</span></h2>
|
|
@@ -102,6 +152,16 @@ h1{font-size:1.7rem;font-weight:600;margin:.2rem 0 .3rem;letter-spacing:-.01em;}
|
|
| 102 |
<script>
|
| 103 |
const A="/api/a11oy";
|
| 104 |
const $=id=>document.getElementById(id);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 105 |
async function getJSON(u){try{const r=await fetch(u);if(!r.ok)return null;return await r.json();}catch(e){return null;}}
|
| 106 |
async function load(){
|
| 107 |
// mesh / consensus from killinchu uds healthz (cross-app, one organism)
|
|
|
|
| 48 |
.panel{border:1px solid var(--gold-line);background:var(--panel);border-radius:10px;padding:1rem 1.1rem;margin-bottom:1.1rem;}
|
| 49 |
.panel h2{font-size:1.05rem;font-weight:600;margin:0 0 .4rem;display:flex;align-items:center;justify-content:space-between;}
|
| 50 |
.panel h2 .meta{font-family:var(--mono);font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;}
|
| 51 |
+
.embed{width:100%;height:78vh;min-height:560px;border:1px solid var(--gold-line);border-radius:8px;background:#05070c;overflow:hidden;position:relative;}
|
| 52 |
.embed iframe{width:100%;height:100%;border:0;display:block;}
|
| 53 |
.organs{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:.4rem;}
|
| 54 |
.organ{border:1px solid var(--gold-line);background:var(--rail);border-radius:8px;padding:.7rem .9rem;}
|
|
|
|
| 59 |
.footnote{margin-top:1.2rem;font-family:var(--mono);font-size:10.5px;color:var(--muted);line-height:1.7;border-top:1px solid var(--gold-line);padding-top:.9rem;}
|
| 60 |
.footnote b{color:var(--cream);}
|
| 61 |
@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr);}.organs{grid-template-columns:1fr;}}
|
| 62 |
+
.hud{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;}
|
| 63 |
+
.chip{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--gold-line);background:var(--rail);padding:.32rem .62rem;border-radius:6px;cursor:pointer;transition:.15s;}
|
| 64 |
+
.chip:hover{color:var(--cream);border-color:var(--teal-line);}
|
| 65 |
+
.chip.active{color:var(--ground);background:var(--teal);border-color:var(--teal);font-weight:600;}
|
| 66 |
+
.chip .k{opacity:.6;margin-left:.35rem;}
|
| 67 |
+
.iconbtn{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-line);background:var(--gold-soft);padding:.32rem .62rem;border-radius:6px;cursor:pointer;transition:.15s;}
|
| 68 |
+
.iconbtn:hover{color:var(--cream);border-color:var(--gold);}
|
| 69 |
+
.hint{font-family:var(--mono);font-size:10px;color:var(--dim);margin:.55rem 0 0;line-height:1.6;}
|
| 70 |
+
.views{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:.4rem;}
|
| 71 |
+
.view{border:1px solid var(--gold-line);background:var(--rail);border-radius:8px;padding:.7rem .9rem;}
|
| 72 |
+
.view .vh{font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:.45rem;}
|
| 73 |
+
.view .vg{font-family:var(--mono);font-size:9.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;margin-left:auto;}
|
| 74 |
+
.view .vd{font-size:.8rem;color:var(--paragraph);line-height:1.5;margin-top:.3rem;}
|
| 75 |
+
.view .vd code{font-family:var(--mono);color:var(--teal);font-size:.74rem;}
|
| 76 |
+
.view .vd b{color:var(--cream);}
|
| 77 |
+
.links{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.3rem;}
|
| 78 |
+
.linkcard{flex:1 1 240px;border:1px solid var(--gold-line);background:var(--rail);border-radius:8px;padding:.7rem .9rem;transition:.15s;}
|
| 79 |
+
.linkcard:hover{border-color:var(--teal-line);background:var(--teal-soft);}
|
| 80 |
+
.linkcard .lt{font-weight:600;font-size:.9rem;}
|
| 81 |
+
.linkcard .ls{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:.2rem;}
|
| 82 |
+
.nav-item{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--gold-line);background:var(--rail);padding:.3rem .62rem;border-radius:6px;margin:.6rem .4rem 0 0;transition:.15s;cursor:pointer;}
|
| 83 |
+
.nav-item:first-of-type{margin-left:1.4rem;}
|
| 84 |
+
.nav-item:hover{color:var(--cream);border-color:var(--teal-line);}
|
| 85 |
+
.nav-item .ico{opacity:.85;}
|
| 86 |
+
@media(max-width:980px){.views{grid-template-columns:1fr;}}
|
| 87 |
</style>
|
| 88 |
</head>
|
| 89 |
<body>
|
|
|
|
| 106 |
<div class="card"><div class="lbl">Consensus mesh</div><div class="big" id="c_mesh" style="color:var(--teal)">—</div><div class="sub">Byzantine = Conjecture 2 OPEN</div></div>
|
| 107 |
</div>
|
| 108 |
<div class="panel">
|
| 109 |
+
<h2>Living anatomy (live 3D) — opens zoomed OUT to the whole estate<span class="meta">szlholdings-anatomy.hf.space</span></h2>
|
| 110 |
+
<div class="hud" style="margin:.15rem 0 .7rem">
|
| 111 |
+
<button class="chip active" data-view="estate" onclick="setView('estate',this)">⤢ Estate<span class="k">zoom-out</span></button>
|
| 112 |
+
<button class="chip" data-view="council" onclick="setView('council',this)">◎ Ayllu council</button>
|
| 113 |
+
<button class="chip" data-view="organism" onclick="setView('organism',this)">◉ Organism</button>
|
| 114 |
+
<span style="flex:1"></span>
|
| 115 |
+
<button class="iconbtn" onclick="goFs()">⛶ Fullscreen</button>
|
| 116 |
+
<a class="iconbtn" href="https://szlholdings-anatomy.hf.space#estate" target="_blank" rel="noopener">Open scene ↗</a>
|
| 117 |
+
</div>
|
| 118 |
+
<div class="embed" id="embed"><iframe id="scene" src="https://szlholdings-anatomy.hf.space#estate" title="SZL Living Anatomy (a11oy + killinchu)" loading="lazy" referrerpolicy="no-referrer" allowfullscreen allow="fullscreen"></iframe></div>
|
| 119 |
+
<p class="hint">Opens on the <b style="color:var(--cream)">estate</b> zoom-out so the whole estate & its wirings are visible at a glance. Inside the scene: drag to orbit · scroll to zoom · ⟲ resets · ▦ estate lens toggles the honesty panel.</p>
|
| 120 |
+
</div>
|
| 121 |
+
<div class="panel">
|
| 122 |
+
<h2>Estate & Ayllu views<span class="meta">v10 · camera presets</span></h2>
|
| 123 |
+
<div class="views">
|
| 124 |
+
<div class="view"><div class="vh">⤢ Estate<span class="vg">zoom-out</span></div><div class="vd">Zoom OUT to the whole estate — hardware & stack (<b>declared</b>, no live probe). Gold labels mark each estate node.</div></div>
|
| 125 |
+
<div class="view"><div class="vh">◎ Ayllu council<span class="vg">live roster</span></div><div class="vd">Zoom to the Ayllu council — the live persona roster, read from <code>/v1/ayllu/roster</code>. An empty live roster is shown as a declared snapshot, never faked.</div></div>
|
| 126 |
+
<div class="view"><div class="vh">◉ Organism<span class="vg">home</span></div><div class="vd">The home view of the single governed organism (a11oy + killinchu) — the default when no view is requested.</div></div>
|
| 127 |
+
<div class="view"><div class="vh">▦ Estate lens<span class="vg">honesty panel</span></div><div class="vd">Toggles the estate/council honesty panel: council source (live vs declared), the PhysicsNeMo PINN lab (measured), and the declared hardware & stack.</div></div>
|
| 128 |
+
</div>
|
| 129 |
+
</div>
|
| 130 |
+
<div class="panel">
|
| 131 |
+
<h2>The same organism — the other two surfaces<span class="meta">one anatomy, cross-linked</span></h2>
|
| 132 |
+
<div class="links">
|
| 133 |
+
<a class="linkcard" href="https://szlholdings-anatomy.hf.space#estate" target="_blank" rel="noopener"><div class="lt">Standalone anatomy scene ↗</div><div class="ls">szlholdings-anatomy.hf.space · full-screen 3D (opens zoomed-out)</div></a>
|
| 134 |
+
<a class="linkcard" href="https://szlholdings-killinchu.hf.space" target="_blank" rel="noopener"><div class="lt">killinchu — the field-node body ↗</div><div class="ls">szlholdings-killinchu.hf.space · counter-UAS twin (same organism)</div></a>
|
| 135 |
+
</div>
|
| 136 |
</div>
|
| 137 |
<div class="panel">
|
| 138 |
<h2>Proven formulas living in the organs<span class="meta">theorem_ref + honest maturity</span></h2>
|
|
|
|
| 152 |
<script>
|
| 153 |
const A="/api/a11oy";
|
| 154 |
const $=id=>document.getElementById(id);
|
| 155 |
+
function setView(v,btn){
|
| 156 |
+
var f=document.getElementById('scene'); if(!f) return;
|
| 157 |
+
f.src="https://szlholdings-anatomy.hf.space#"+v; // hash-only change = in-place camera move, no reload
|
| 158 |
+
var chips=document.querySelectorAll('.chip'); for(var i=0;i<chips.length;i++){ chips[i].classList.toggle('active', chips[i]===btn); }
|
| 159 |
+
}
|
| 160 |
+
function goFs(){
|
| 161 |
+
var e=document.getElementById('embed'); if(!e) return;
|
| 162 |
+
if(document.fullscreenElement){ if(document.exitFullscreen) document.exitFullscreen(); return; }
|
| 163 |
+
var rq=e.requestFullscreen||e.webkitRequestFullscreen||e.msRequestFullscreen; if(rq) rq.call(e);
|
| 164 |
+
}
|
| 165 |
async function getJSON(u){try{const r=await fetch(u);if(!r.ok)return null;return await r.json();}catch(e){return null;}}
|
| 166 |
async function load(){
|
| 167 |
// mesh / consensus from killinchu uds healthz (cross-app, one organism)
|