Added cache check to WebGPU renderer's loadShader method. Un-commented entries into config.js. Inclusions are now explicit dynamic import lambdas, so the cache functions can detect and call them; however, webpack and rollup seem to use them differently.

This commit is contained in:
Rezmason
2025-05-20 07:57:27 -07:00
parent 24e939008e
commit f61a4e29c9
20 changed files with 268 additions and 160 deletions

View File

@@ -112,7 +112,9 @@ export const Matrix = memo((props) => {
const [rRenderer, setRenderer] = useState(null);
const [rRain, setRain] = useState(null);
const configProps = Object.fromEntries(Object.entries(rawConfigProps).filter(([_, value]) => value != null));
const configProps = Object.fromEntries(
Object.entries(rawConfigProps).filter(([_, value]) => value != null),
);
const supportsWebGPU = () => {
return (
@@ -155,7 +157,12 @@ export const Matrix = memo((props) => {
setCanvas(canvas);
const loadRain = async () => {
const renderer = await import(`./${useWebGPU ? "webgpu" : "regl"}/main.js`);
let renderer;
if (useWebGPU) {
renderer = await import("./webgpu/main.js");
} else {
renderer = await import("./regl/main.js");
}
setRenderer(renderer);
const rain = await renderer.init(canvas);
setRain(rain);