The current backing width in device pixels.
The current backing height in device pixels.
Begin presenting. In onDemand mode this paints once; edits repaint thereafter.
Pause presenting. The surface and device are kept; Viewport.start resumes.
Schedule a single frame (the damage signal). No-op while stopped.
Set the CSS size explicitly; unnecessary when autoResize is on.
The texture the engine last presented, for hosts that compose it into their own
pipeline. Returns null in this build — the engine presents directly to the swapchain.
Release this viewport's surface and swapchain (keeping the device) and stop the loop.
A live WebGPU view of a document, presenting the engine's render directly to a host
<canvas>through the swapchain — never a pixel readback. Create one with EngineModule.createViewport; drive it with Viewport.start. The facade's mutators request a frame after each edit, so an attached viewport repaints on its own.