shaders 2.5.132 → 2.5.134

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -639,7 +639,7 @@ function createUniformsMap(component, reactiveProps, instanceId) {
639
639
  });
640
640
  uniformValue = 0;
641
641
  }
642
- const uniformNode = uniform(uniformValue).setName(`${propName}_${instanceId}`);
642
+ const uniformNode = uniform(uniformValue).setName(`${propName}_${instanceId}`.replace(/[^a-zA-Z0-9_]/g, "_"));
643
643
  if (typeof uniformValue === "string" && uniformNode.value === null) uniformNode.value = uniformValue;
644
644
  uniformsMap[propName] = {
645
645
  uniform: uniformNode,
@@ -1976,20 +1976,24 @@ function shaderRenderer() {
1976
1976
  }
1977
1977
  if (wasAnimating) startAnimation();
1978
1978
  };
1979
- const renderFrame = () => {
1979
+ const renderFrameInternal = (overrideDeltaTime) => {
1980
1980
  if (pendingNodeRemoval) return;
1981
1981
  if (!canRender()) return;
1982
1982
  const frameStartTime = enablePerformanceTracking ? performance.now() : 0;
1983
1983
  const currentTime = frameStartTime || performance.now();
1984
- const deltaTime = lastRenderTime > 0 ? (currentTime - lastRenderTime) / 1e3 : .016;
1985
- const OFF_SCREEN_FPS_INTERVAL = 1e3;
1986
- const MIN_FRAME_INTERVAL = 1e3 / 60 - 1;
1987
- if (lastRenderTime > 0) {
1988
- const timeSinceLastRender = currentTime - lastRenderTime;
1989
- if (!isVisible && !forceFullFrameRate && timeSinceLastRender < OFF_SCREEN_FPS_INTERVAL) return;
1990
- if ((isVisible || forceFullFrameRate) && timeSinceLastRender < MIN_FRAME_INTERVAL) return;
1991
- }
1992
- const cappedDeltaTime = Math.min(deltaTime, .1);
1984
+ let cappedDeltaTime;
1985
+ if (overrideDeltaTime !== void 0) cappedDeltaTime = overrideDeltaTime;
1986
+ else {
1987
+ const deltaTime = lastRenderTime > 0 ? (currentTime - lastRenderTime) / 1e3 : .016;
1988
+ const OFF_SCREEN_FPS_INTERVAL = 1e3;
1989
+ const MIN_FRAME_INTERVAL = 1e3 / 60 - 1;
1990
+ if (lastRenderTime > 0) {
1991
+ const timeSinceLastRender = currentTime - lastRenderTime;
1992
+ if (!isVisible && !forceFullFrameRate && timeSinceLastRender < OFF_SCREEN_FPS_INTERVAL) return;
1993
+ if ((isVisible || forceFullFrameRate) && timeSinceLastRender < MIN_FRAME_INTERVAL) return;
1994
+ }
1995
+ cappedDeltaTime = Math.min(deltaTime, .1);
1996
+ }
1993
1997
  lastRenderTime = currentTime;
1994
1998
  if (enablePerformanceTracking) performance.mark("shader-cpu-start");
1995
1999
  frameParams.deltaTime = cappedDeltaTime;
@@ -2055,6 +2059,14 @@ function shaderRenderer() {
2055
2059
  console.error("Render frame error:", error);
2056
2060
  }
2057
2061
  };
2062
+ const renderFrame = () => renderFrameInternal(void 0);
2063
+ const renderSyntheticFrame = async (deltaSeconds) => {
2064
+ renderFrameInternal(deltaSeconds);
2065
+ if (renderer instanceof WebGPURenderer) {
2066
+ const backend = renderer.backend;
2067
+ if (backend?.device) await backend.device.queue.onSubmittedWorkDone();
2068
+ }
2069
+ };
2058
2070
  const updatePerformanceNodeCounts = () => {
2059
2071
  const nodeCount = Math.max(0, nodeRegistry.nodes.size - 1);
2060
2072
  const rttNodeCount = actualRTTOperations;
@@ -2481,6 +2493,7 @@ function shaderRenderer() {
2481
2493
  startAnimation,
2482
2494
  stopAnimation,
2483
2495
  renderAndWait,
2496
+ renderSyntheticFrame,
2484
2497
  getPerformanceStats,
2485
2498
  getNodeRegistry: () => ({ nodes: new Map(nodeRegistry.nodes) }),
2486
2499
  getRendererType,
@@ -2570,7 +2583,7 @@ function createRendererFromJSON(preset, options) {
2570
2583
  console.warn(`[createRendererFromJSON] Unknown component type: ${component.type}`);
2571
2584
  return;
2572
2585
  }
2573
- const nodeId = component.id || `${component.type}_${Date.now()}_${Math.random()}`;
2586
+ const nodeId = component.id || `${component.type}_${Date.now()}_${Math.random().toString(36).slice(2, 9)}`;
2574
2587
  nodeIdMap.set(nodeId, component.type);
2575
2588
  const uniforms = createUniformsMap(componentDef, Object.fromEntries(Object.entries(componentDef.props).map(([key, propConfig]) => [key, component.props?.[key] !== void 0 ? component.props[key] : propConfig.default])), nodeId);
2576
2589
  const metadata = {
@@ -191,6 +191,7 @@ export declare function shaderRenderer(): {
191
191
  startAnimation: () => void;
192
192
  stopAnimation: () => void;
193
193
  renderAndWait: () => Promise<void>;
194
+ renderSyntheticFrame: (deltaSeconds: number) => Promise<void>;
194
195
  getPerformanceStats: () => PerformanceStats;
195
196
  getNodeRegistry: () => {
196
197
  nodes: ReadonlyMap<string, NodeInfo>;
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"uniforms.d.ts","sourceRoot":"","sources":["../../src/utilities/uniforms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAUhE,wBAAgB,iBAAiB,CAC7B,SAAS,EAAE,mBAAmB,EAC9B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAClC,UAAU,EAAE,MAAM,GACnB,WAAW,CAuDb;AAED,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAC5B,QAAQ,EAAE,GAAG,GACd,IAAI,CA6BN"}
1
+ {"version":3,"file":"uniforms.d.ts","sourceRoot":"","sources":["../../src/utilities/uniforms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAUhE,wBAAgB,iBAAiB,CAC7B,SAAS,EAAE,mBAAmB,EAC9B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAClC,UAAU,EAAE,MAAM,GACnB,WAAW,CAyDb;AAED,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAC5B,QAAQ,EAAE,GAAG,GACd,IAAI,CA6BN"}