AdvancedOptions for the overlay
StaticdefaultDefaults for every new GraphDebugOverlay; an option passed as undefined keeps its default
Sets whether refresh() runs after each screen render
true to refresh after each one
The renderer whose screen renders run refresh() while
autoUpdate is on; null leaves refresh() to the caller
Sets the renderer to follow; ignored once the overlay is destroyed
The renderer to follow, or null for none
Stops following the renderer and removes the overlay from the DOM
Captures the frame just rendered while a recording runs; outside one it only updates the panel, enabling Record once the view has rendered
Runs after every screen render while autoUpdate is on and a renderer is set. Otherwise call it yourself after each render.
HTML panel for recording a view's frames and reviewing how each one was drawn
Press Record, use the app, then Stop. The review steps through the recorded frames in two tabs: Workload lists each scene pass's batches and draws, and why draws were rebuilt or WebGPU bundles re-recorded; Render Graph lists the graph's passes, their dependencies and the lifetime of each resource. Copy Frame and Copy Recording put the data on the clipboard as JSON.
Nothing is captured outside a recording, so an idle overlay costs next to nothing.
Example