The gate-1 diagnosis the sprint chartered, inverted by measurement: the shadow geometry is exact (probe2: raycast and rasteriser agree 1.0000/1.0000), the canonical measuring lines just don't cover the bed against vertical hail, and site_02's tr1+q1+q3+q4 at exactly $80 already separates 91.5 FULL vs 35.7 bare (sep 55.8, 0/4 lost) with no model change. Full findings + separation-target proposal in THREADS. Re-verified after the authoring session died un-pushed: all headline numbers reproduce; the bench drives RiggingSession.commit(rig) -> rig.attach(), not the bypassed-attach seam D's landmine names; balance.test's canonical shade-cloth peaks reproduce per-anchor to the last digit. One fix over the original staging: probe3/probe4 labelled per-corner peaks in plan order, but rig.corners is ring order — labels now come from corners[k].anchorId (values were always true; the $80 line's two RATED corners read swapped). Selftest 335/0/0. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
40 lines
1.4 KiB
HTML
40 lines
1.4 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>garden bench — where does the protection go?</title>
|
|
<style>
|
|
body { background:#11161a; color:#dde5ea; font:13px/1.45 ui-monospace, Menlo, monospace; padding:18px; }
|
|
h1 { font-size:15px; color:#7ee0ff; margin:0 0 4px; }
|
|
p.sub { color:#8ba0ad; margin:0 0 14px; }
|
|
pre { white-space:pre; margin:0; }
|
|
.sep { color:#ffb1ab; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>GARDEN BENCH — Lane C, Sprint 13 gate 1</h1>
|
|
<p class="sub">Real yard, real rig, real skyfx exposure, main.js's exact drain. Held honest quad vs bare bed, both yards, five storms. This is a measurement, not a test — it has no opinion about what the numbers should be.</p>
|
|
<pre id="out">running… (builds two yards and flies ten storms twice — give it a few seconds)</pre>
|
|
<script type="importmap">
|
|
{ "imports": {
|
|
"three": "../../web/world/vendor/three.module.js",
|
|
"three/addons/": "../../web/world/vendor/addons/"
|
|
} }
|
|
</script>
|
|
<script type="module">
|
|
import { runBench } from './bench.js';
|
|
const el = document.getElementById('out');
|
|
const lines = [];
|
|
const log = (s) => { lines.push(s); el.textContent = lines.join('\n'); };
|
|
el.textContent = '';
|
|
try {
|
|
await runBench(log);
|
|
document.title = 'garden bench — done';
|
|
} catch (e) {
|
|
log('\n\nBENCH THREW: ' + (e && e.stack || e));
|
|
document.title = 'garden bench — THREW';
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|