a11oy / pages /benchmark.html
betterwithage's picture
deploy(hf): sync szl-holdings/a11oy@ac02db5a10e5b3d4c9b2260674111ff2335888bf derived COPY set
55e5019 verified
Raw
History Blame
23.6 kB
<!doctype html><html lang="en"><head><meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>a11oy · Verifiable-AI Benchmark — 3-way MEASURED PINN (SZL vs DeepXDE vs NVIDIA PhysicsNeMo)</title>
<meta name="description" content="An honest, measured 3-way physics-informed-neural-network benchmark: SZL governed spectral (CPU) vs DeepXDE (GPU) vs NVIDIA PhysicsNeMo/Modulus (GPU). Every number carries its provenance label; the artifact passes the a11oy honesty gate in CI.">
<!-- SPDX-License-Identifier: Apache-2.0 · © 2026 SZL Holdings · Doctrine v11 · Signed: Forge -->
<style>
:root{--bg:#0a0b10;--panel:#12141d;--panel2:#171a25;--ink:#e8eaf0;--mut:#9aa0b4;--gold:#d9b35c;--line:#252938;--grn:#3fb950;--amb:#d29922;--red:#f85149;--blu:#5cc4bf;}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}
header{border-bottom:1px solid var(--line);padding:14px 22px;display:flex;align-items:center;gap:14px;background:linear-gradient(180deg,#10121b,#0a0b10)}
header .brand{font-weight:700;letter-spacing:.5px;color:var(--gold);font-size:18px}
header .tag{color:var(--mut);font-size:12px}
nav{display:flex;flex-wrap:wrap;gap:8px;padding:10px 22px;border-bottom:1px solid var(--line);background:var(--panel)}
nav a{font-size:12.5px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;color:var(--mut)}
nav a:hover{border-color:var(--gold);color:var(--gold);text-decoration:none}
nav a.active{background:var(--gold);color:#0a0b10;border-color:var(--gold);font-weight:600}
main{max-width:1080px;margin:0 auto;padding:28px 22px 60px}
h1{font-size:27px;margin:0 0 6px;color:#fff}h2{font-size:18px;margin:30px 0 10px;color:var(--gold)}
.sub{color:var(--mut);margin:0 0 18px;font-size:13.5px}
.hero{background:linear-gradient(180deg,#141826,#0e1119);border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin:14px 0 8px}
.hero .lede{font-size:15.5px;color:#d8dbe6;max-width:80ch}
.badges{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 2px}
.badge{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:600;border:1px solid var(--line);background:var(--panel2)}
.badge .dot{width:8px;height:8px;border-radius:50%}
.badge.ok{border-color:rgba(63,185,80,.5);color:var(--grn)}.badge.ok .dot{background:var(--grn)}
.badge.info{border-color:rgba(92,196,191,.5);color:var(--blu)}.badge.info .dot{background:var(--blu)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:14px 0}
.meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:12px 0}
.meta .m{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:11px 13px}
.meta .m .k{color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:.4px}
.meta .m .v{color:var(--ink);font-size:13.5px;margin-top:3px}
table{width:100%;border-collapse:collapse;margin:10px 0;font-size:13.5px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--mut);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px}
td .fw{font-weight:600;color:#fff}td .mc{color:var(--mut);font-size:12px}
.num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600}
.g{background:rgba(63,185,80,.15);color:var(--grn)}.a{background:rgba(210,153,34,.15);color:var(--amb)}.r{background:rgba(248,81,73,.15);color:var(--red)}.n{background:#1c2030;color:var(--mut)}.b{background:rgba(92,196,191,.14);color:var(--blu)}
.note{border-left:3px solid var(--gold);padding:9px 14px;background:rgba(217,179,92,.06);color:#d8dbe6;font-size:13px;margin:12px 0;border-radius:0 8px 8px 0}
.warn{border-left:3px solid var(--amb);background:rgba(210,153,34,.07)}
code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}
pre{background:#0d0f17;border:1px solid var(--line);border-radius:10px;padding:14px;overflow:auto;color:#cdd3e3}
footer{border-top:1px solid var(--line);color:var(--mut);font-size:11.5px;padding:18px 22px;line-height:1.7;margin-top:30px}
.eq{color:var(--blu)}
.small{font-size:12px;color:var(--mut)}
</style> <link rel="stylesheet" href="/assets/szl-flow.css" data-szl-flow-asset="style" />
<link rel="stylesheet" href="/assets/szl-holo-v2.css" data-szl-holo-asset="style-v2" />
</head><body>
<header><span class="brand">a11oy</span><span class="tag">Verifiable AI · every number carries its proof</span></header>
<nav>
<a href="/console">← Console</a><a href="/pinn-console">PINN Console</a>
<a href="/benchmark" class="active">Benchmark</a><a href="/hologram">Command Bridge</a>
<a href="/verify">Verify</a><a href="/assurance">Assurance</a><a href="/company">Company</a>
</nav>
<main>
<div class="hero">
<h1>One of one — the only governed PDE solver here that actually ships</h1>
<p class="lede">Three arms, three problems, all <b>MEASURED</b> against exact closed forms or synthetic
ground truth: SZL's governed classical spectral solver versus two neural physics-informed networks —
<b>DeepXDE</b> and <b>NVIDIA PhysicsNeMo / Modulus</b>. We publish the config, the seeds, the license
of every dependency, and — most importantly — <b>where this suite does <i>not</i> let us claim
victory.</b> That honesty is the moat.</p>
<p class="lede" style="margin-top:12px;color:#fff">SZL leads the field on the axis that decides real
deployments — <b>verifiable, deployable governed solving</b>. It is the <b>only</b> arm that actually
ships in the product, the <b>only</b> one that is license-clean (Apache-2.0, not LGPL), the
<b>only</b> one re-derived from source in CI on every commit, and it reaches <b>machine precision</b>
where the problem admits it — all measured on <b>our own metal</b>, not a rented cloud GPU farm.</p>
<div class="badges">
<span class="badge ok"><span class="dot"></span>One of one · only shipped arm</span>
<span class="badge ok"><span class="dot"></span>Apache-2.0 · deployable</span>
<span class="badge ok"><span class="dot"></span>Reproduced from source in CI</span>
<span class="badge info"><span class="dot"></span><span id="metalBadge">Run on our own metal</span></span>
<span class="badge ok"><span class="dot"></span><a href="https://github.com/szl-holdings/a11oy/actions/workflows/pinn-honesty-gate.yml" style="color:inherit">Honesty gate: PASS in CI</a></span>
<span class="badge info"><span class="dot"></span>Doctrine v11 labels</span>
<span class="badge info"><span class="dot"></span>Live artifact · <a href="/api/a11oy/v1/pinn/bench" style="color:inherit">/api/a11oy/v1/pinn/bench</a></span>
</div>
<p class="small" style="margin:10px 0 0">This page renders directly from the committed benchmark artifact — no numbers are typed into the page,
so it cannot drift from the source of truth. The same artifact must pass
<code>benchmarks/pinn/honesty_guard.py</code> before it can ship.</p>
</div>
<section class="card" id="holoWrap" style="padding:0;overflow:hidden;position:relative">
<div style="padding:16px 20px 6px">
<h2 style="margin:0">Holographic showcase — the measured field, in 3D</h2>
<p class="small" style="margin:6px 0 0">A live hologram of the artifact: each bar is <b>−log₁₀(error)</b> pulled straight from
<code>/api/a11oy/v1/pinn/bench</code> — taller means more accurate. Gold = SZL governed spectral · muted = the neural PINNs.
No heights are hard-coded; if the numbers change, the hologram changes.</p>
</div>
<canvas id="holo" style="display:block;width:100%;height:420px;background:radial-gradient(circle at 50% 38%,#0e1322,#070810)"></canvas>
<div id="holoLegend" class="small" style="padding:9px 20px 16px;color:var(--mut)">Materialising the measured field…</div>
<noscript><div class="note" style="margin:0 20px 16px">The 3D showcase needs JavaScript; the measured tables below are fully static and complete.</div></noscript>
</section>
<div id="status" class="note">Loading measured results from <code>/api/a11oy/v1/pinn/bench</code></div>
<div id="report" hidden>
<h2 id="benchTitle"></h2>
<p class="sub" id="overallLabel"></p>
<div class="meta" id="meta"></div>
<div id="problems"></div>
<h2>How to read this</h2>
<div class="card" id="interpretation"></div>
<h2>What we are <span style="color:var(--red)">not</span> claiming</h2>
<div class="note warn" id="scopeLimits"></div>
<div class="note" id="honesty"></div>
<h2>Reproduce it yourself</h2>
<p class="sub">Nothing here is take-our-word-for-it. The exact commands that produced the artifact:</p>
<pre id="reproduce"></pre>
<p class="small" id="doctrine"></p>
</div>
<h2>Why this benchmark is different</h2>
<div class="card">
<p style="margin:0 0 10px">Content-provenance tools prove where a <i>file</i> came from. Governance platforms document a
<i>process</i>. Evaluation suites <i>score</i> a model. None of them <b>break the build when a result
overclaims.</b> a11oy does:</p>
<ul style="margin:0;color:#d8dbe6">
<li>Every reported number is stamped <span class="pill g">MEASURED</span> / <span class="pill b">MODELED</span> /
<span class="pill n">NOT-RUN</span> / <span class="pill n">NOT-MEASURED</span> / <span class="pill n">NOT-TESTED</span>.</li>
<li>A <b>measured</b> number with no evidence, or a <b>not-run</b> arm carrying a value, fails the honesty gate — the artifact cannot ship.</li>
<li>Our advantages are <b>disclosed</b>: e.g. the Poisson solution lives inside SZL's trial basis, so that near-machine-precision result is by construction, not a general-accuracy claim.</li>
</ul>
</div>
<h2>Verify the source</h2>
<div class="card">
<p style="margin:0 0 10px">This page is public and so is everything behind it. Inspect the code that
produces — and polices — these numbers on the public
<a href="https://github.com/szl-holdings/a11oy">szl-holdings/a11oy</a> repository:</p>
<ul style="margin:0;color:#d8dbe6">
<li>The measured artifact —
<a href="https://github.com/szl-holdings/a11oy/blob/main/benchmarks/pinn/results.json"><code>benchmarks/pinn/results.json</code></a>,
served read-only at <a href="/api/a11oy/v1/pinn/bench"><code>/api/a11oy/v1/pinn/bench</code></a> (this page renders it — no numbers are typed in).</li>
<li>The benchmark harness —
<a href="https://github.com/szl-holdings/a11oy/blob/main/benchmarks/pinn/run_bench.py"><code>benchmarks/pinn/run_bench.py</code></a>.
The SZL arm is NumPy-only; the DeepXDE / PhysicsNeMo arms are lazy-imported and never shipped.</li>
<li>The honesty gate —
<a href="https://github.com/szl-holdings/a11oy/blob/main/benchmarks/pinn/honesty_guard.py"><code>benchmarks/pinn/honesty_guard.py</code></a>
over the reusable
<a href="https://github.com/szl-holdings/a11oy/tree/main/verifiable-ai"><code>verifiable-ai/</code></a>
core: a MEASURED number with no evidence, or a NOT-RUN arm carrying a value, fails the build.</li>
<li>The reproducibility gate —
<a href="https://github.com/szl-holdings/a11oy/blob/main/benchmarks/pinn/reproduce_szl_guard.py"><code>benchmarks/pinn/reproduce_szl_guard.py</code></a>:
CI re-derives the SZL classical-spectral arm from source and asserts it still matches the published numbers.</li>
<li>The CI itself —
<a href="https://github.com/szl-holdings/a11oy/blob/main/.github/workflows/pinn-honesty-gate.yml"><code>pinn-honesty-gate.yml</code></a>
· <a href="https://github.com/szl-holdings/a11oy/actions/workflows/pinn-honesty-gate.yml">live runs on GitHub Actions</a>.</li>
</ul>
<p class="small" style="margin:10px 0 0">Both gates run on every change before it can reach <code>main</code>:
the labels cannot overclaim, and the classical-arm numbers cannot drift from source. That is what
<b>verifiable</b> means here — not a promise, a build check.</p>
</div>
</main>
<footer>
SPDX-License-Identifier: Apache-2.0 · © 2026 SZL Holdings · a11oy — governed, verifiable AI · Doctrine v11.<br>
Data source: the committed <code>benchmarks/pinn/results.json</code>, served read-only at <code>/api/a11oy/v1/pinn/bench</code>.
DeepXDE (LGPL-2.1) and NVIDIA PhysicsNeMo/Modulus (Apache-2.0) are benchmark-only dev dependencies — never imported by shipped code.
</footer>
<script src="/vendor/three.min.js"></script>
<script>
(function(){
var FW = {
szl: {name:"SZL", cls:"spectral collocation · CPU", tag:"b"},
deepxde: {name:"DeepXDE", cls:"neural PINN · GPU", tag:"n"},
modulus_physicsnemo: {name:"NVIDIA PhysicsNeMo / Modulus", cls:"neural PINN · GPU", tag:"n"}
};
function esc(s){return String(s==null?"":s).replace(/[&<>]/g,function(c){return {"&":"&amp;","<":"&lt;",">":"&gt;"}[c];});}
function fnum(v){
if(v==null) return "—";
if(typeof v!=="number") return esc(v);
var a=Math.abs(v);
if(a!==0 && (a<1e-2 || a>=1e4)) return v.toExponential(2);
return (Math.round(v*1e4)/1e4).toString();
}
function metricCell(arm,metric){
var v=arm[metric];
if(v==null) return '<span class="num">—</span>';
if(typeof v==="object"){
var m=fnum(v.median), lo=fnum(v.min), hi=fnum(v.max);
return '<span class="num">'+m+'</span> <span class="mc">('+lo+'–'+hi+', n='+esc(v.n)+')</span>';
}
return '<span class="num">'+fnum(v)+'</span>';
}
function wallCell(arm){
var w=arm.wall_s;
if(w==null) return '<span class="mc">—</span>';
if(typeof w==="object") return '<span class="num">'+fnum(w.median)+'s</span> <span class="mc">('+fnum(w.min)+'–'+fnum(w.max)+')</span>';
return '<span class="num">'+fnum(w)+'s</span>';
}
function labelPill(lbl){
if(!lbl) return '';
var head=String(lbl).split(" ")[0];
var cls = head.indexOf("MEASURED")===0?"g":head.indexOf("MODELED")===0?"b":"n";
return '<span class="pill '+cls+'">'+esc(head)+'</span>';
}
function render(d){
document.getElementById("status").hidden=true;
var rep=document.getElementById("report"); rep.hidden=false;
document.getElementById("benchTitle").textContent=d.title||"PINN benchmark";
document.getElementById("overallLabel").textContent=d.overall_label||"";
var hw=d.hardware||{};
var neuralDevice="";
(d.problems||[]).forEach(function(p){(p.arms||[]).forEach(function(a){
if(a.framework!=="szl" && a.device && /gpu|rtx|cuda|geforce|a100|h100|radeon/i.test(a.device) && !neuralDevice) neuralDevice=a.device;
});});
var shortDev=neuralDevice.replace(/^NVIDIA GeForce /,"");
var mb=document.getElementById("metalBadge");
if(mb) mb.textContent = shortDev ? ("Our own metal · "+shortDev) : "Run on our own metal";
var meta=[
["Assembled at", d.ran_at||"—"],
["SZL arm (shipped)", "CPU-only — no GPU required"],
["Neural competitors", neuralDevice ? ("our own "+neuralDevice) : "a CUDA GPU host (see each arm)"],
["Our metal", neuralDevice ? "SZL-owned hardware — not a rented cloud GPU" : "see each arm"],
["Assemble host", (hw.cpus||"?")+" CPU · "+(hw.ram_gib||"?")+" GiB · GPU: "+(hw.gpu||"none")],
["Doctrine", "v11 — labelled numbers only"]
];
document.getElementById("meta").innerHTML=meta.map(function(m){
return '<div class="m"><div class="k">'+esc(m[0])+'</div><div class="v">'+esc(m[1])+'</div></div>';}).join("");
try{ renderHologram(d, neuralDevice); }catch(e){
var hl=document.getElementById("holoLegend");
if(hl) hl.textContent="(3D showcase unavailable in this browser — the measured tables below are complete.)";
}
var out="";
(d.problems||[]).forEach(function(p){
var metric=p.metric||"rel_l2_vs_exact";
out+='<div class="card"><h3 style="margin:0 0 4px;color:#fff">'+esc(p.id)+'</h3>';
out+='<p class="small" style="margin:0 0 2px"><span class="eq">'+esc(p.pde)+'</span></p>';
out+='<p class="small" style="margin:0 0 8px">exact: '+esc(p.exact)+' · metric: <b>'+esc(metric)+'</b></p>';
out+='<table><thead><tr><th>Framework</th><th>Method</th><th>'+esc(metric)+'</th><th>wall</th><th>seeds</th><th>device</th><th>label</th></tr></thead><tbody>';
(p.arms||[]).forEach(function(a){
var fw=FW[a.framework]||{name:a.framework,cls:a.method_class||""};
var method=a.method||a.method_class||fw.cls||"";
out+='<tr><td><span class="fw">'+esc(fw.name)+'</span><br><span class="mc">'+esc(fw.cls)+'</span></td>'
+'<td class="mc">'+esc(method)+'</td>'
+'<td>'+metricCell(a,metric)+'</td>'
+'<td>'+wallCell(a)+'</td>'
+'<td class="mc">'+esc(a.seeds_run||(typeof a[metric]==="object"?a[metric].n:1))+'</td>'
+'<td class="mc">'+esc(a.device||(a.framework==="szl"?"CPU":"—"))+'</td>'
+'<td>'+labelPill(a.label)+'</td></tr>';
var extra=a.caveat||a.disclosure;
if(a.caveat) out+='<tr><td colspan="7" class="mc" style="border-bottom:1px solid var(--line);padding-top:0"><span class="pill a">caveat</span> '+esc(a.caveat)+'</td></tr>';
});
out+='</tbody></table>';
if(p.disclosure&&p.disclosure.note) out+='<div class="note">Disclosure: '+esc(p.disclosure.note)+'</div>';
out+='</div>';
});
document.getElementById("problems").innerHTML=out;
var interp=d.interpretation||{};
document.getElementById("interpretation").innerHTML=Object.keys(interp).map(function(k){
return '<p style="margin:6px 0"><b style="color:var(--gold)">'+esc(k)+':</b> '+esc(interp[k])+'</p>';}).join("");
document.getElementById("scopeLimits").innerHTML="<b>Scope limits.</b> "+esc(d.scope_limits||"");
document.getElementById("honesty").innerHTML="<b>Honesty.</b> "+esc(d.honesty||"");
var rep2=d.reproduce||{};
document.getElementById("reproduce").textContent=Object.keys(rep2).map(function(k){return "# "+k+"\n"+rep2[k];}).join("\n\n");
document.getElementById("doctrine").textContent=d.doctrine||"";
}
function renderHologram(d, neuralDevice){
if(!window.THREE) throw new Error("three unavailable");
var canvas=document.getElementById("holo"); if(!canvas) return;
var probs=(d.problems||[]).slice(0,6);
if(!probs.length) return;
function metricVal(a,metric){
var v=a[metric];
if(v==null){["rel_l2_vs_exact","rel_l2","abs_err","rel_l2_vs_truth","alpha_abs_err","err"].some(function(k){if(a[k]!=null){v=a[k];return true;}return false;});}
if(v&&typeof v==="object") v=(v.median!=null?v.median:(v.min!=null?v.min:null));
return (typeof v==="number")?v:null;
}
var COL={szl:0xe6c169, deepxde:0x5cc4bf, modulus_physicsnemo:0x9fe870};
var NAME={szl:"SZL", deepxde:"DeepXDE", modulus_physicsnemo:"PhysicsNeMo"};
var scene=new THREE.Scene(); scene.fog=new THREE.FogExp2(0x070810,0.055);
var W=canvas.clientWidth||900, Hh=canvas.clientHeight||420;
var cam=new THREE.PerspectiveCamera(46, W/Hh, 0.1, 100);
cam.position.set(6.6,5.4,8.6); cam.lookAt(0,1.7,0);
var rnd=new THREE.WebGLRenderer({canvas:canvas,antialias:true,alpha:true});
rnd.setPixelRatio(Math.min(window.devicePixelRatio||1,2)); rnd.setSize(W,Hh,false);
scene.add(new THREE.AmbientLight(0x8899bb,0.65));
var key=new THREE.PointLight(0xffffff,0.9); key.position.set(6,11,6); scene.add(key);
scene.add(new THREE.GridHelper(15,30,0x2a3350,0x161d30));
var group=new THREE.Group(); scene.add(group);
var nP=probs.length, gap=3.0, barW=0.58, armGap=0.74;
function label(text,color,scale){
var c=document.createElement("canvas"); c.width=256; c.height=64;
var g=c.getContext("2d"); g.font="bold 30px -apple-system,Segoe UI,Roboto,sans-serif";
g.fillStyle=color||"#e8eaf0"; g.textAlign="center"; g.textBaseline="middle"; g.fillText(text,128,34);
var tex=new THREE.CanvasTexture(c); tex.minFilter=THREE.LinearFilter;
var sp=new THREE.Sprite(new THREE.SpriteMaterial({map:tex,transparent:true,depthTest:false}));
sp.scale.set(scale||2.4,(scale||2.4)/4,1); return sp;
}
probs.forEach(function(p,pi){
var metric=p.metric||"rel_l2_vs_exact", arms=(p.arms||[]);
var x0=(pi-(nP-1)/2)*gap;
arms.forEach(function(a,ai){
var err=metricVal(a,metric);
var h=(err!=null&&err>0)?Math.max(0.15,-Math.log(err)/Math.LN10):(err===0?16:0.15);
h=h*0.42; if(h>7)h=7;
var z=(ai-(arms.length-1)/2)*armGap;
var col=(COL[a.framework]!=null)?COL[a.framework]:0x8899bb, isSZL=(a.framework==="szl");
var geo=new THREE.BoxGeometry(barW,h,barW);
var bar=new THREE.Mesh(geo,new THREE.MeshStandardMaterial({color:col,emissive:col,emissiveIntensity:isSZL?0.55:0.28,metalness:0.3,roughness:0.35,transparent:true,opacity:isSZL?0.96:0.8}));
bar.position.set(x0+z,h/2,0); group.add(bar);
var wf=new THREE.LineSegments(new THREE.EdgesGeometry(geo),new THREE.LineBasicMaterial({color:col,transparent:true,opacity:0.55}));
wf.position.copy(bar.position); group.add(wf);
});
var pl=label(String(p.id||("problem "+(pi+1))).split("_")[0],"#d9b35c",2.7);
pl.position.set(x0,-0.55,1.25); group.add(pl);
});
(function(){
var arms0=(probs[0].arms||[]);
arms0.forEach(function(a,ai){
var z=(ai-(arms0.length-1)/2)*armGap;
var hex="#"+("000000"+((COL[a.framework]||0x8899bb)>>>0).toString(16)).slice(-6);
var sp=label(NAME[a.framework]||a.framework,hex,1.9);
sp.position.set(((-(nP-1)/2)*gap)+z-3.2,0.45,0); group.add(sp);
});
})();
var lg=document.getElementById("holoLegend");
if(lg){
lg.innerHTML='<b style="color:#e6c169">■ SZL</b> governed spectral · '
+'<b style="color:#5cc4bf">■ DeepXDE</b> · <b style="color:#9fe870">■ PhysicsNeMo</b>'
+' &nbsp;·&nbsp; height = −log₁₀(error), taller = more accurate.'
+(neuralDevice?(' &nbsp;·&nbsp; neural arms measured on our own <b>'+esc(neuralDevice)+'</b>.'):'')
+' The Poisson tower is machine-precision <b>by construction</b> (disclosed above), not a general-accuracy claim.';
}
var t0=Date.now();
(function loop(){
var t=(Date.now()-t0)/1000;
group.rotation.y=Math.sin(t*0.16)*0.5+t*0.05;
rnd.render(scene,cam); requestAnimationFrame(loop);
})();
window.addEventListener("resize",function(){
var w=canvas.clientWidth||900,h2=canvas.clientHeight||420;
cam.aspect=w/h2; cam.updateProjectionMatrix(); rnd.setSize(w,h2,false);
});
}
fetch("/api/a11oy/v1/pinn/bench",{headers:{accept:"application/json"}})
.then(function(r){ if(!r.ok) throw new Error("HTTP "+r.status); return r.json(); })
.then(render)
.catch(function(e){
document.getElementById("status").innerHTML=
'Live benchmark data is not reachable right now (<code>'+esc(e.message)+'</code>). '+
'The measured artifact is served at <a href="/api/a11oy/v1/pinn/bench">/api/a11oy/v1/pinn/bench</a> — '+
'this page intentionally shows no numbers it cannot fetch from that source.';
});
})();
</script>
<script src="/assets/szl-flow.js" defer data-szl-flow-asset="script"></script>
<script src="/assets/szl-holo-v2.js" defer data-szl-holo-asset="script-v2"></script>
</body></html>