Add an "Initializing Renderer…" overlay when Vello shader compilation is slow on web

This commit is contained in:
Keavon Chambers
2026-05-23 01:07:26 -04:00
parent 62287d7893
commit 96be4ec351
2 changed files with 49 additions and 1 deletions
@@ -1,5 +1,15 @@
import type { EditorWrapper } from "/wrapper/pkg/graphite_wasm_wrapper";
// Tracks whether any document has produced its first frame of rendered artwork yet during this app session.
// Used to show the one-time "Initializing Renderer…" overlay only on the very first document open.
let firstArtworkEverReceived = false;
export function hasFirstArtworkBeenReceived(): boolean {
return firstArtworkEverReceived;
}
export function markFirstArtworkReceived(): void {
firstArtworkEverReceived = true;
}
export function setupViewportResizeObserver(editor: EditorWrapper): () => void {
const viewports = Array.from(window.document.querySelectorAll("[data-viewport-container]"));
if (viewports.length <= 0) return () => {};