Fix blocky WebGPU sky: view inputs refresh when the camera moves (t91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+11
-7
@@ -79,17 +79,21 @@ checks waking within eight ticks separately from the probabilistic consumption o
|
||||
`shots/play/`. Pixel look by default; `python3 test/play.py shots/play smooth` uses the smooth
|
||||
look.
|
||||
- `test/t_smooth.py` checks WebGPU smooth shapes, seams, joins, fog and the thermal lens.
|
||||
- `test/t_gpu_golden.py` compares 28 cropped legacy reference PNGs (384x288, under
|
||||
- `test/t_gpu_golden.py` compares 28 cropped frozen reference PNGs (384x288, under
|
||||
`test/fixtures/golden/`) against WebGPU: renderer, joins, sky and four light scenes,
|
||||
both looks at zoom 12 and 2. ImageMagick decodes RGB; the per-channel tolerance is 8,
|
||||
mean RGB error must stay below 0.5/255 and fewer than 0.3% of pixels may exceed 8
|
||||
(smooth AO/edge rounding). These are frozen pre-removal legacy images, not generated
|
||||
from the new renderer. The compressed `golden-world-640x*.json.gz` fixtures retain the
|
||||
Phase 2 world bytes that produced them, isolating renderer checks from worldgen RNG changes. Inspect the matching `shots/golden-*.png` after visible changes.
|
||||
(smooth AO/edge rounding). Seven smooth crops were refreshed for t91 (renderer 12/2,
|
||||
joins 2, sky 12/2, lamp 12, magma 12): the old noise had seams in the references too.
|
||||
The remaining crops are frozen pre-removal legacy images. The compressed
|
||||
`golden-world-640x*.json.gz` fixtures retain the Phase 2 world bytes that produced them,
|
||||
isolating renderer checks from worldgen RNG changes. Inspect the matching
|
||||
`shots/golden-*.png` after visible changes.
|
||||
- `test/t_gpu.py` checks default limits (four storage textures per stage), dirty-upload
|
||||
readback after 240 busy ticks with scrolling and both looks, exact dirty/full image equality
|
||||
with a frozen clock, world replacement, transparent overlays, drill contours, shader compilation timing, successful device recreation and failed recovery with
|
||||
an autosave and Reload. `gpuCheckUploads()` reads actual resident GPU texture bytes and
|
||||
readback after 240 busy ticks with scrolling and both looks, exact dirty/full image equality,
|
||||
noise continuity and pan/zoom equality against fresh view textures/full uploads with a
|
||||
frozen clock, world replacement, transparent overlays, drill contours, shader compilation
|
||||
timing, successful device recreation and failed recovery with an autosave and Reload. `gpuCheckUploads()` reads actual resident GPU texture bytes and
|
||||
compares them to the full CPU arrays, including Float32 temperatures, machine and block data.
|
||||
- `test/t_render_dirty.js` checks invalidation of sleeping chunks, heat edges, swaps, fog and trees.
|
||||
- The old CPU light checks now run as `test/t_gpu_light.py` / `test/light-cases.js`, reading the
|
||||
|
||||
Reference in New Issue
Block a user