Renderer · type
ComputeDevice
What a registered definition is handed once, at registration, to build its resources.
Explained in Hello world.
type ComputeDevice =import type { ComputeDevice } from '@driftengine/core';In depth
There is no WebGL2 arm, and that absence is the type saying so. PassDevice is a union
because both backends can draw. WebGL2 has no compute shaders — not "not yet", the language has
none — so a second arm would be a shape a contributor could switch on and never reach.
Renderer.computeSupported answers false there and registerCompute refuses in words.
Tagged all the same, so that a second arm arriving later is a compile error at every
contributor rather than a silent widening, and so this reads as the same shape as PassDevice
to somebody who has just read that one.