File size: 4,403 Bytes
96d1644
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PINN · Physical-Bounds Certifier — a11oy</title>
<!--
  Dedicated PINN surface — NOT the generic Command Center. Boots the shared szl3d
  stage and mounts ONLY the PINN physical-bounds surface (static/3d/surfaces/pinn.js),
  which renders its own 3D scene + interactive cert HUD bound LIVE to
  /api/a11oy/v1/pinn/certificate (+ /pinn/residual, /pnt/limits). The certificate is
  the HONEST INVERSE of a free-energy claim: it proves a real compute job sits FAR
  BELOW the fundamental compute/energy ceilings (Landauer / Margolus-Levitin /
  Bremermann / Bekenstein), with DSSE/cosign verify badges and a residual plot.

  Doctrine v11 (HARD): MEASURED inputs (watts × seconds) → DERIVED joules via CITED
  physics; UNSIGNED == STRUCTURAL-ONLY (never a false green). The surface renders
  exactly the honesty label + signature state the JSON carries. 0 runtime CDN — all
  3D libs vendored same-origin via the importmap. System fonts only. WebGL2 default.
-->
<script type="importmap">
{
  "imports": {
    "three": "/static/3d/vendor/three/three.module.min.js",
    "three/webgpu": "/static/3d/vendor/three/three.webgpu.min.js",
    "three/addons/": "/static/3d/vendor/three/addons/"
  }
}
</script>
<style>
 :root{--bg:#05070d;--line:#1b2734;--teal:#39d3c4;--gold:#e8c074;--cream:#eef3f6;--para:#9fb1bf}
 *{box-sizing:border-box}
 html,body{margin:0;height:100%}
 body{background:var(--bg);color:var(--cream);
  font:14px/1.5 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial;overflow:hidden}
 header{padding:10px 16px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#08101a,#05070d);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
 h1{font-size:16px;margin:0;letter-spacing:.4px}
 .badge{display:inline-block;font:10.5px ui-monospace,Menlo,monospace;padding:2px 7px;border-radius:6px;
  border:1px solid var(--line);color:var(--gold);background:#10171f}
 #backend{color:var(--teal)}
 .nav{margin-left:auto;display:flex;gap:12px;font:11px ui-monospace,Menlo,monospace}
 a{color:var(--teal);text-decoration:none}
 #stage-wrap{position:relative;width:100vw;height:calc(100vh - 52px)}
 #stage{position:absolute;inset:0}
 #stage canvas{display:block;width:100%;height:100%}
 #fallback{position:absolute;inset:0;display:none;align-items:center;justify-content:center;
  text-align:center;color:var(--para);padding:24px;font:13px ui-monospace,Menlo,monospace}
</style>
</head>
<body>
<header>
 <h1>◇ PINN · Physical-Bounds Certifier</h1>
 <span class="badge" id="backend">renderer: …</span>
 <span class="badge">three r<span id="three-rev"></span></span>
 <span class="badge">0 runtime CDN</span>
 <span class="badge">MEASURED → DERIVED</span>
 <span class="badge">Λ = Conjecture 1</span>
 <nav class="nav">
   <a href="/holographic#pinn">all surfaces</a>
   <a href="/pnt">PNT →</a>
   <a href="/">← a11oy</a>
 </nav>
</header>
<div id="stage-wrap">
 <div id="stage"></div>
 <div id="fallback">3D unavailable on this device — the PINN certifier surface needs a WebGL2 or WebGPU canvas.<br>
  The signed physical-bounds certificate is still available as JSON at /api/a11oy/v1/pinn/certificate.</div>
</div>
<script type="module">
import szl3d from "/static/3d/szl3d/szl3d_boot.js";
import * as live from "/static/3d/szl3d/szl3d_live.js";
import * as label from "/static/3d/szl3d/szl3d_label.js";
import * as THREE from "three";
import surface from "/static/3d/surfaces/pinn.js";

const $ = (id) => document.getElementById(id);
$("three-rev").textContent = THREE.REVISION;

(async function main() {
  try {
    const wantWebGPU = /[?&]webgpu=1\b/.test(location.search);
    const stage = await szl3d.boot($("stage"), {
      bloom: { strength: 0.85, radius: 0.5, threshold: 0.18 },
      cameraPos: [0, 4, 16],
      forceWebGL: !wantWebGPU,
    });
    $("backend").textContent = "renderer: " + stage.backend.toUpperCase();
    stage.start();
    const ctx = { stage, container: $("stage"), live, label, THREE, szl3d };
    surface.mount(ctx);
    window.__SZL3D_PINN__ = { stage, surface };
  } catch (e) {
    $("fallback").style.display = "flex";
    $("backend").textContent = "renderer: UNAVAILABLE";
    console.error("[pinn] stage boot failed:", e);
  }
})();
</script>
</body>
</html>