Fixed some major bugs: the WebGPU cache should store loaded images and text, never GPU resource handles; renamed renderer "formulate" to "configure"; WebGPU renderer's configure function needs early returns after each major await, in case there's a new config; the render loops are now locally stored closures; renderers now have start and stop functions; fixed bugs in the REGL and WebGPU mirror passes; WebGPU bloom pass now enforces texture dimensions are greater than zero; the react component now stores the renderer type in a useRef and returns early from renderer init awaits to prevent multiple renderers from instantiating.

This commit is contained in:
Rezmason
2025-05-25 03:30:26 -07:00
parent 1da1feb356
commit b6570de106
15 changed files with 405 additions and 351 deletions

View File

@@ -1,22 +1,16 @@
TODO:
WebGPU formulate is expensive
Mirror pass clicks bug
Minimum react requirement?
Minify bundles
Naming "matrix" for the github repo, "digital-rain" and "DigitalRain" for everything else
Minimum react requirement?
Retire fetchLibraries?
Preserve time across configure calls, move times into renderer and uniforms
Move off of regl
Unify implementations?
Responsive changes
Move start time to rain object
Matrix component should record, then overwrite it
Reshape all passes to react to config changes, ie. "configure"
main.js "formulate" --> "configure"
simple deltas only require updating the uniforms
return boolean of whether all deltas are simple
Resource changes are simple if they're cached and loaded, false otherwise
remake the pipeline if anything returns false
Reshape all passes to react to config changes, ie. "configure"
simple deltas only require updating the uniforms
return boolean of whether all deltas are simple
Resource changes are simple if they're cached and loaded, false otherwise
remake the pipeline if anything returns false
Core vs full
core
One embedded MSDF, combined from the two main glyph sets and their configs