betterwithage commited on
Commit
9c55944
·
verified ·
1 Parent(s): ab626bf

Mirror web/holo.html from GitHub main (unblock Docker build: COPY web/holo.html not found)

Browse files

web/holo.html (Lane F1 2026-06-14) was added on GitHub+Dockerfile but never mirrored to the Space; build failed at COPY web/holo.html. Pushing authoritative copy to converge.

Files changed (1) hide show
  1. web/holo.html +171 -0
web/holo.html ADDED
@@ -0,0 +1,171 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <!-- SPDX-License-Identifier: Apache-2.0 © 2026 SZL Holdings
3
+ /holo — SZL 3D HOLOGRAPHIC SUBSTRATE demo (a11oy).
4
+ Proves the shared kit (/static/shared/szl_holo3d.js) works:
5
+ - holographic dark-glass scene shell
6
+ - sample proof-DAG graph (node/edge renderer)
7
+ - Λ-driven TRUST SPHERE (Conjecture 1, < 1.0)
8
+ - SIGNED-PULSE edge animation (light flows when a receipt is signed)
9
+ - time-slider replay hook
10
+ - WebGL2 baseline / WebGPU feature-detect (ROADMAP) / honest 2D fallback
11
+ DOCTRINE: 0 runtime CDN (all assets same-origin) · honest SAMPLE labels ·
12
+ trust < 100% · 0 visible codenames · never claims live data. -->
13
+ <html lang="en">
14
+ <head>
15
+ <meta charset="utf-8">
16
+ <meta name="viewport" content="width=device-width,initial-scale=1">
17
+ <title>SZL · Holographic Substrate</title>
18
+ <style>
19
+ :root{--bg:#03060d;--panel:#0a1326;--ink:#cfe6ff;--mut:#86a4c9;--line:rgba(120,170,230,.18);}
20
+ *{box-sizing:border-box}
21
+ html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);
22
+ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}
23
+ header{padding:14px 20px;border-bottom:1px solid var(--line);display:flex;
24
+ align-items:center;gap:14px;flex-wrap:wrap;}
25
+ header h1{font-size:15px;margin:0;letter-spacing:.06em;font-weight:600;}
26
+ header .sub{font-size:11px;color:var(--mut);}
27
+ .wrap{display:grid;grid-template-columns:1fr;gap:14px;padding:16px 20px;max-width:1200px;margin:0 auto;}
28
+ .stage{height:62vh;min-height:360px;border:1px solid var(--line);border-radius:14px;overflow:hidden;
29
+ box-shadow:0 0 60px rgba(40,90,160,.12) inset;}
30
+ .grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
31
+ .card{border:1px solid var(--line);border-radius:14px;height:42vh;min-height:280px;overflow:hidden;position:relative;}
32
+ .panel{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:rgba(10,19,38,.5);}
33
+ .panel h2{font-size:12px;margin:0 0 8px;letter-spacing:.06em;color:#bfe0ff;}
34
+ .btn{background:rgba(70,150,230,.16);border:1px solid rgba(120,180,240,.4);color:#cfe6ff;
35
+ border-radius:8px;padding:6px 12px;font:inherit;font-size:12px;cursor:pointer;}
36
+ .btn:hover{background:rgba(70,150,230,.3);}
37
+ .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
38
+ .mut{color:var(--mut);font-size:11px;}
39
+ a{color:#7fd4ff;}
40
+ @media(max-width:760px){.grid2{grid-template-columns:1fr;}}
41
+ </style>
42
+ </head>
43
+ <body>
44
+ <header>
45
+ <h1>SZL · 3D HOLOGRAPHIC SUBSTRATE</h1>
46
+ <span class="sub">vendored locally · 0 runtime CDN · WebGL2 baseline · honest 2D fallback</span>
47
+ <span id="caps" class="sub"></span>
48
+ </header>
49
+
50
+ <div class="wrap">
51
+ <div class="panel">
52
+ <h2>WHAT THIS PROVES</h2>
53
+ <div class="mut">The shared kit <code>/static/shared/szl_holo3d.js</code> renders a defense-grade
54
+ holographic shell with a proof-DAG graph, a Λ-driven trust sphere, and a signed-pulse edge animation.
55
+ All data shown is <strong>SAMPLE</strong> (illustrative fixtures, not a live feed). Λ is
56
+ <strong>Conjecture 1</strong> — a bounded score &lt; 1.0, not a theorem. Trust is never 100%.</div>
57
+ </div>
58
+
59
+ <!-- main stage: graph + trust sphere + signed pulses + time slider -->
60
+ <div id="stage" class="stage"></div>
61
+
62
+ <div class="panel">
63
+ <div class="row">
64
+ <button class="btn" id="signBtn">SIGN A RECEIPT → pulse</button>
65
+ <button class="btn" id="lamUp">Λ +</button>
66
+ <button class="btn" id="lamDn">Λ −</button>
67
+ <span id="lamReadout" class="mut"></span>
68
+ </div>
69
+ </div>
70
+
71
+ <div class="grid2">
72
+ <div id="globeCard" class="card"></div>
73
+ <div id="sphereCard" class="card"></div>
74
+ </div>
75
+
76
+ <div class="panel mut">
77
+ Build references (no runtime calls): three.js / React-Three-Fiber
78
+ (<a href="https://github.com/pmndrs/react-three-fiber">pmndrs/react-three-fiber</a>),
79
+ deck.gl (<a href="https://github.com/visgl/deck.gl">visgl/deck.gl</a>),
80
+ CesiumJS (<a href="https://github.com/CesiumGS/cesium">CesiumGS/cesium</a>).
81
+ The globe shown is a procedural <strong>SAMPLE</strong> wireframe, not a CesiumJS tile basemap
82
+ (a 0-CDN local-tile basemap is ROADMAP).
83
+ </div>
84
+ </div>
85
+
86
+ <!-- shared honesty helpers + the kit, all SAME-ORIGIN (0 CDN) -->
87
+ <script src="/static/shared/szl_label_engine.js"></script>
88
+ <script src="/static/shared/szl_holo3d.js"></script>
89
+ <script>
90
+ (function () {
91
+ if (!window.SZLHolo) {
92
+ document.getElementById("stage").innerHTML =
93
+ '<div style="padding:20px;color:#ffd9a8">SZLHolo failed to load.</div>';
94
+ return;
95
+ }
96
+ var caps = window.SZLHolo.capabilities();
97
+ document.getElementById("caps").textContent =
98
+ "renderer: " + caps.mode.toUpperCase() +
99
+ (caps.webgpu ? " · WebGPU detected (ROADMAP)" : " · WebGPU not present");
100
+
101
+ // ---- main stage: sample proof-DAG + trust sphere + signed pulse + replay ----
102
+ var scene = window.SZLHolo.createScene(document.getElementById("stage"), {
103
+ title: "PROOF-DAG ORGANISM", lambda: 0.38
104
+ });
105
+ var graph = scene.addGraph({
106
+ nodes: [
107
+ { id: "ingest", label: "INGEST", pos: [-1.4, 0.9, 0] },
108
+ { id: "verify", label: "VERIFY", pos: [-0.4, 0.4, 0.5], locked: true },
109
+ { id: "policy", label: "POLICY", pos: [0.6, 0.8, -0.3], lambda: 0.3 },
110
+ { id: "classify",label: "CLASSIFY",pos: [0.2, -0.4, 0.6], lambda: 0.45 },
111
+ { id: "sign", label: "SIGN", pos: [1.3, -0.2, -0.2], locked: true },
112
+ { id: "receipt", label: "RECEIPT", pos: [1.5, 0.9, 0.4], lambda: 0.25 }
113
+ ],
114
+ edges: [
115
+ { id: "e1", from: "ingest", to: "verify" },
116
+ { id: "e2", from: "verify", to: "policy" },
117
+ { id: "e3", from: "policy", to: "classify" },
118
+ { id: "e4", from: "classify", to: "sign" },
119
+ { id: "e5", from: "sign", to: "receipt" }
120
+ ]
121
+ });
122
+ scene.addTrustSphere({ center: [-1.1, -0.7, 0.2], radius: 0.45, label: "ESTATE TRUST" });
123
+ scene.signPulse("e5", { loop: true, duration: 1600 });
124
+ scene.signPulse("e2", { loop: true, duration: 2100 });
125
+ scene.timeSlider({ from: 0, to: 100, onTime: function () {} });
126
+ scene.start();
127
+
128
+ function syncLam() {
129
+ document.getElementById("lamReadout").textContent =
130
+ "Λ = " + scene.lambda.toFixed(3) + " (Conjecture 1, < 1.0; trust < 100%)";
131
+ }
132
+ syncLam();
133
+ document.getElementById("signBtn").addEventListener("click", function () {
134
+ scene.signPulse("e4", { duration: 1200, color: "#aef6ff" });
135
+ });
136
+ document.getElementById("lamUp").addEventListener("click", function () { scene.setLambda(scene.lambda + 0.08); syncLam(); });
137
+ document.getElementById("lamDn").addEventListener("click", function () { scene.setLambda(scene.lambda - 0.08); syncLam(); });
138
+
139
+ // ---- globe card (procedural SAMPLE globe) ----
140
+ var gscene = window.SZLHolo.createScene(document.getElementById("globeCard"), {
141
+ title: "GLOBE · SAMPLE", lambda: 0.5
142
+ });
143
+ gscene.addGlobe({
144
+ radius: 1.0,
145
+ points: [
146
+ { lat: 25.3, lon: 55.3, label: "node-A", lambda: 0.3 },
147
+ { lat: 1.3, lon: 103.8, label: "node-B", lambda: 0.6 },
148
+ { lat: 51.5, lon: -0.12, label: "node-C", lambda: 0.42 },
149
+ { lat: 37.8, lon: -122.4, label: "node-D", lambda: 0.2 }
150
+ ]
151
+ });
152
+ gscene.start();
153
+
154
+ // ---- trust sphere card (morphs with Λ) ----
155
+ var sscene = window.SZLHolo.createScene(document.getElementById("sphereCard"), {
156
+ title: "TRUST SPHERE · Λ-MORPH", lambda: 0.3
157
+ });
158
+ sscene.addTrustSphere({ center: [0, 0, 0], radius: 0.8, label: "Λ" });
159
+ sscene.start();
160
+ // gentle Λ oscillation so the morph is visible (SAMPLE animation, not live data)
161
+ var k = 0;
162
+ setInterval(function () {
163
+ k += 0.04;
164
+ sscene.setLambda(0.45 + 0.35 * Math.sin(k));
165
+ }, 90);
166
+
167
+ window.__SZL_HOLO_READY = true;
168
+ })();
169
+ </script>
170
+ </body>
171
+ </html>