Skip to content

Extract ScalarRasterLayer base (refc + cape) [skip release]#18

Merged
johncarmack1984 merged 1 commit into
mainfrom
audit/scalar-raster
Jun 27, 2026
Merged

Extract ScalarRasterLayer base (refc + cape) [skip release]#18
johncarmack1984 merged 1 commit into
mainfrom
audit/scalar-raster

Conversation

@johncarmack1984

Copy link
Copy Markdown
Owner

From the audit (architecture / gpu-shaders lanes). Internal refactor — cape and precip render identically — hence [skip release].

refcRasterLayer and capeRasterLayer were ~95% identical. Extract a ScalarRasterLayer base owning the mesh, texture lifecycle, and draw; refc and cape become a few lines of config (name, colormap, threshold, bounds). Wind stays its own 2-channel layer.

The base derives the UBO block name as ${name}Uniforms from the single name field, so the module-name/block-name mismatch that silently blanked these layers (and shipped that way in prod, fixed in #13) is now unrepresentable — there's one source for module name, block name, sampler, and setProps key.

Verified: cape + precip-forecast still render (headless on a real GPU), zero luma binding warnings. tsc, biome, build all pass.

Docs & attribution

  • N/A — internal refactor, no behavior/source change.

…m name

refcRasterLayer and capeRasterLayer were ~95% identical. Extract a
ScalarRasterLayer base owning the mesh, texture lifecycle, and draw; refc and
cape become a few lines of config (name, colormap, threshold, bounds). Wind
stays its own 2-channel layer.

The base derives the UBO block name as `${name}Uniforms` from the single `name`
field, so the module-name/block-name mismatch that silently blanked these
layers (and shipped that way in prod) is now unrepresentable.

Verified: cape + precip-forecast still render (headless, real GPU), no luma
binding warnings.
@johncarmack1984 johncarmack1984 merged commit dd7b951 into main Jun 27, 2026
7 checks passed
@johncarmack1984 johncarmack1984 deleted the audit/scalar-raster branch June 27, 2026 04:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant