Repository navigation
Commit 9ea4e93
committed
[act.viz.sigma.D7~] the composite renderer is wired into the app end to end, and it still draws the wrong picture
Ivan asked to replace the field engine with the composite from the design
study. The plumbing is done and proven; the image is not. Both halves stated,
because a renderer that is installed and a renderer that works are different
claims and only one of them is true here.
WHAT STANDS
- volume-overlay.ts: WebGL2 raymarcher over mol*'s own Volume, camera driven by
canvas3d.didDraw + camera.state, placement from Grid.getGridToCartesianTransform
so no unit or axis convention can drift. R16F, so the app renders real values
and never re-opens the 8-bit clamp argument.
- Four channels as switches in the panel (shape · steepness · direction · sign),
a Style select (ink · wash · contour · blueprint), and a Renderer select whose
`both` setting is the ALIGNMENT INSTRUMENT: the two renderers must trace the
same level set, and drift is visible without instrumentation.
- Every existing guard untouched: fetch, cache, refusals, budgets, producer
identity, baked, meta, isovalue.
- Compositing proven end to end: a flat probe fills 985,504 of 985,504 viewport
pixels.
WHAT DOES NOT WORK, MEASURED
- The field renders as an unstructured mass over the volume's footprint.
- The sign channel never produces a positive lobe: blue = 0 px in every shot.
- All four styles come out pixel-indistinguishable in pairs.
So the DEFAULT IS BACK TO THE LEGACY SHELLS. Not a retreat from the plan --
shipping a measured-broken default over a working renderer is the one outcome
worse than not shipping. Composite is one dropdown away.
THE DEBUGGING IS THE PART WORTH KEEPING, because five of the six failures were
INSTRUMENTS, not the renderer, and each one produced a confident wrong reading:
1. z-index 2 put the overlay UNDER mol*'s canvas. Correct rect, correct parent,
visible, drawing every frame, contributing exactly zero pixels. Everything I
"fixed" for hours upstream of this was fixed blind.
2. elementFromPoint said mol*'s canvas was on top -- but pointer-events:none
makes elementFromPoint SKIP the element. The instrument could not see the
thing it was asked about, and answered anyway.
3. drawImage+getImageData read all zeros because preserveDrawingBuffer was off.
A readback that cannot succeed is not evidence of an empty canvas.
4. The staging dir had a stale dirac.js: I overwrote index.html each round and
never re-copied the bundle, so several rounds of diagnosis described code
that was not running. Third stale-artifact bug today.
5. grep for "zIndex: '40'" found 0 in a minified bundle and I read it as "the
change did not build". It had built, as zIndex:"40".
6. And the one real early bug: the miss path wrote OPAQUE WHITE, left over from
the multiply-filter model where white is the identity. Under alpha
compositing it painted the whole viewport, and the box-shaped hole showing
mol* underneath was the "brown blob" I rewrote the shader three times to fix.
It was never my renderer. Proven, not guessed: all-channels-ON and
all-channels-OFF differed by exactly ZERO pixels.
The pattern in all six: I kept adjusting the SUBJECT while the INSTRUMENT was
lying, and every instrument failed toward a plausible reading rather than an
obviously broken one.
Harness fixes that outlive this: it now proves it is serving the current build
via a per-run nonce and aborts otherwise (a server from an earlier SESSION held
the port and two rounds of screenshots were of a stale app), it no longer leaks
its server, and it reports which renderer drew, computed blend mode, and the
overlay's own error.
NEXT: the field content. Steepness still integrates where the field is
negligible; sign is sampled at the first contour crossing and that crossing is
negative on essentially every ray, which is a suspicious enough claim about
retinoic acid that the sampling locus is the thing to attack first.1 parent ad6d55f commit 9ea4e93
4 files changed
Lines changed: 513 additions & 285 deletions
File tree
- scripts
- src/app.frontend.facets.molstar-rdkit.editable
- facets/field-wells
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| 54 | + | |
54 | 55 | | |
55 | 56 | | |
56 | 57 | | |
| |||
132 | 133 | | |
133 | 134 | | |
134 | 135 | | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
135 | 147 | | |
136 | 148 | | |
137 | 149 | | |
| |||
163 | 175 | | |
164 | 176 | | |
165 | 177 | | |
166 | | - | |
| 178 | + | |
167 | 179 | | |
168 | 180 | | |
169 | 181 | | |
| |||
184 | 196 | | |
185 | 197 | | |
186 | 198 | | |
187 | | - | |
| 199 | + | |
188 | 200 | | |
189 | 201 | | |
190 | 202 | | |
| |||
0 commit comments