flutter3d_webgpu_web library
The half of this backend that needs a browser: the device, the pass encoder and the bindings under both.
Separate from flutter3d_webgpu.dart because dart:js_interop is not a
library the Dart VM has, and a barrel that re-exports one importing it
cannot be imported on the VM at all. The translation tables and the pipeline
signature are worth asserting whether or not there is a GPU in the room —
they are what catch a typo in "less-equal" in a second — so they stay in
the barrel that loads everywhere, and this one carries what only a browser
can run.
An application opens a device through WebGpuDevice.open — or lets an
engine's DeviceRegistry do it — and never touches anything else here.
Classes
- WebGpuDevice
-
WebGPU as a
GraphicsDevice, and as the compiler its shader libraries reach a browser through. - WebGpuFramePresenter
- Copies frame into device's canvas and shows it, styled by fit and quality through CSS on the element rather than through Flutter, since Flutter does not composite these pixels.
- WgslModuleCompiler
- Turns WGSL text into whatever the backend's module object is.
Exceptions / Errors
- GpuDeviceException
-
A WebGPU error that reached Dart, which without
gpuCheckednone of them do.