Skip to content

Commit 9619f2d

Browse files
committed
docs(x265): scope PROBE-GPU-LUT WebGL2 claim to shader-compat (codex P2)
Mirrors the a2ui-rs code fix: the probe is HEADLESS (surface-less adapter), so its GPU execution validates on WebGPU + native/software GL (lavapipe); the WGSL is WebGL2-compatible (GLES3-core) but wgpu's WebGL backend needs a canvas-bound compatible_surface, so the wasm32 WebGL2 backend is out of scope for this headless probe. §1 receipt + Wave-3 table both scoped. Guard test 117/117 green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K3RyLEbuNSHxxB3NTTrGki
1 parent 01f8f1b commit 9619f2d

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

.claude/knowledge/pr-x12-h268-morton-wgpu-synergies.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ track (`pr-x12-x266-3dgs-spacetime-upscaling.md`).
4343
| **Morton 2bit×2bit primitives exist** — lance-graph `FacetTier::morton` (4⁴ nibble ancestry), symbiont `morton4`, perturbation-sim cascade keys; OGAR 3×4 canon pins tier-of-level = `>>2` shift [G] | FINDING (primitives); the CTU codec does NOT use them (see §3 row 1) | lance-graph facet/symbiont sources; OGAR `CLAUDE.md` §3×4 |
4444
| **Certificate-gated cascade** — splat3d `depth_cascade.rs`/`depth_cert.rs`: HEEL→HIP→TWIG→LEAF preselection with Reject/KeepCoarse/Refine/ProjectExact/RenderExact actions | FINDING — but it gates **render** work on decoded data, not decode work | `src/hpc/splat3d/depth_cascade.rs:1-65` |
4545
| **Deterministic phase generator** — helix `CurveRuler` stride-4-over-17 coprime walk (bit-exact integer, full-17 permutation tests) | FINDING (the generator leg of the pyramid) | lance-graph `crates/helix` |
46-
| **wgpu in the workspace** — a2ui-paint only: **off-by-default** feature; the PRODUCTION path is still a constant-color quad pipeline with no textures/bind groups. **Updated (wave 3, PROBE-GPU-LUT):** a `#[cfg(test)]` probe (`gpu_lut_probe.rs`) now adds a texture + bind-group + R16Uint→R32Uint `textureLoad` path that COMPILES under wgpu 22 — so "no textures/bind groups" no longer holds for the TEST surface. Still-true negatives: wgpu's `webgl` cargo feature is NOT enabled (the wasm32 WebGL2 backend is unwired; the probe's WebGL2 claim is a shader-SURFACE property — integer texture + `textureLoad` are GLES3-core — not a wired wasm backend), the path is **adapter-untested** (skips where no adapter), and the production render tier is unchanged. ndarray itself: **zero wgpu by design** ("no GPU, no wgpu", splat3d) | FINDING (negative, wave-3-amended) | a2ui-rs `a2ui-paint` manifest+src + `gpu_lut_probe.rs` (wave 3); ndarray `Cargo.lock` (0 matches), `src/hpc/splat3d/mod.rs:7-9` |
46+
| **wgpu in the workspace** — a2ui-paint only: **off-by-default** feature; the PRODUCTION path is still a constant-color quad pipeline with no textures/bind groups. **Updated (wave 3, PROBE-GPU-LUT):** a `#[cfg(test)]` probe (`gpu_lut_probe.rs`) now adds a texture + bind-group + R16Uint→R32Uint `textureLoad` path that COMPILES under wgpu 22 — so "no textures/bind groups" no longer holds for the TEST surface. Still-true negatives: wgpu's `webgl` cargo feature is NOT enabled (the wasm32 WebGL2 backend is unwired; the probe's WebGL2 claim is a shader-SURFACE property — integer texture + `textureLoad` are GLES3-core — not a wired wasm backend, and the HEADLESS probe cannot obtain a WebGL2 canvas adapter anyway: wgpu's WebGL backend requires a `compatible_surface` — codex P2), the path is **adapter-untested** (skips where no surface-less adapter), and the production render tier is unchanged. ndarray itself: **zero wgpu by design** ("no GPU, no wgpu", splat3d) | FINDING (negative, wave-3-amended) | a2ui-rs `a2ui-paint` manifest+src + `gpu_lut_probe.rs` (wave 3); ndarray `Cargo.lock` (0 matches), `src/hpc/splat3d/mod.rs:7-9` |
4747
| **Perturbation pyramid + two-algebra rule** — D-PHASE and D-WHP are operator-pinned **[H] hypotheses with named unrun probes** (PHASE-1, PERT-RHO, PYR-1; WHP-1..4), CANON-pin not CODED; losslessness fenced to *synthesis* (dither/anti-moiré grade) with quorum-certificate escalation | CONJECTURE [H], probe-gated | OGAR `docs/DISCOVERY-MAP.md:249-250`, `CLAUDE.md` fences; J2 kill condition |
4848

4949
## 2. The industry walls (from `pr-x12-h266-h267-standards-landscape.md`, sourced)
@@ -143,7 +143,7 @@ harness is now confirmed real and the LUT-gather is proven buildable.
143143

144144
| Probe | Verdict | Numbers | Consequence |
145145
|---|---|---|---|
146-
| PROBE-GPU-LUT | HARNESS-REAL / CPU-primitive GREEN / GPU-exec COMPILED+SHIPPED, execution-parity adapter-deferred; KILL did not fire | CPU-ref: 65536/65536 gather == row-major index, symmetric + zero-diagonal, deterministic, 256² u16 = 128 KiB (the §10(i) figure). GPU-exec: full 256×256 R16Uint→R32Uint `textureLoad` parity path compiles clean under wgpu 22 (WebGPU + WebGL2 via glow) and SKIPS-green here (measured: libvulkan loader present, **0 ICDs** → no adapter). `clippy --features wgpu -D warnings` clean; fmt clean | The bgz17 256²-u16 palette-distance table IS gatherable through a real in-scope wgpu texture (R16Uint sampled, `textureLoad`, integer render target — all WebGL2-core), so the GPU LUT lane is **not** abandoned. Falsifiable core (the gather arithmetic) proven bit-exact; the GPU merely executes it, and does so wherever a WebGPU/WebGL2 adapter exists (lavapipe CI / browser). This structurally un-gates §Decode tiers (c) + the `a2ui N2` row: harness capability proven; only runtime-execution parity awaits an adapter environment. **CAVEAT (honesty):** the GPU-exec *execution* was NOT run in this sandbox (no adapter) — "GPU-exec green" means COMPILES + SKIPS-cleanly, not that 65536 texels were compared on silicon here; the CPU-reference is the leg that actually ran. No bgz17 dep (harness-capability probe; the 256² table is built deterministically with bgz17's table STRUCTURE, keeping the a2ui-paint crate boundary clean) |
146+
| PROBE-GPU-LUT | HARNESS-REAL / CPU-primitive GREEN / GPU-exec COMPILED+SHIPPED, execution-parity adapter-deferred; KILL did not fire | CPU-ref: 65536/65536 gather == row-major index, symmetric + zero-diagonal, deterministic, 256² u16 = 128 KiB (the §10(i) figure). GPU-exec: full 256×256 R16Uint→R32Uint `textureLoad` parity path compiles clean under wgpu 22 (GL backend via glow builds) and SKIPS-green here (measured: libvulkan loader present, **0 ICDs** → no adapter). `clippy --features wgpu -D warnings` clean; fmt clean | The bgz17 256²-u16 palette-distance table IS gatherable through a real in-scope wgpu texture (R16Uint sampled, `textureLoad`, integer render target — all WebGL2-core), so the GPU LUT lane is **not** abandoned. Falsifiable core (the gather arithmetic) proven bit-exact; the GPU merely executes it. **Backend scope (codex P2, headless):** the probe requests a **surface-less** adapter, so its execution validates on **WebGPU** (native/browser) + native/software GL (lavapipe CI); the WGSL is WebGL2-**compatible** (GLES3-core), but wgpu's WebGL backend needs a canvas-bound `compatible_surface`, so the wasm32 WebGL2 backend is OUT OF SCOPE for this headless probe — "WebGL2" is a shader-surface property, not a validated execution backend here. This structurally un-gates §Decode tiers (c) + the `a2ui N2` row: harness capability proven; only runtime-execution parity awaits an adapter environment. **CAVEAT (honesty):** the GPU-exec *execution* was NOT run in this sandbox (no adapter) — "GPU-exec green" means COMPILES + SKIPS-cleanly, not that 65536 texels were compared on silicon here; the CPU-reference is the leg that actually ran. No bgz17 dep (harness-capability probe; the 256² table is built deterministically with bgz17's table STRUCTURE, keeping the a2ui-paint crate boundary clean) |
147147

148148
## 7. Comma closure — the replayable irrational (constants correction folded in)
149149

0 commit comments

Comments
 (0)