For context I'm the TL of WebGPU at Google and co-chair of the "GPU for the Web" W3C CG/WG that makes WebGPU and WGSL
Now that the first version of the WebGPU specification has been shipped in Chromium, the "GPU for the Web" working group has shifted to a mode where the WebGPU specification is a living spec. This means that new developer-visible features are added to the spec continuously and that browsers will implement them at their pace. The group collectively agreed to not start adding large features to let other implementations catch up, but is ok adding small polish features that were basically missed in the first shipped version. So over the coming month the W3C group is looking to resolve / add functionality for all of the
Milestone 1 items over the coming months.
This means that we will soon be sending an increasing number of I2S to blink-dev, there has been
a few already, a
PSA, another I2S for
shader-f16, and more. That's without counting the developer-visible changes that were accidentally shipped without notifying blink-dev (we want to do better, in part why I'm starting this thread).
Each I2S takes a bunch of time to prepare, especially for folks not used to the process. Gathering all the signals can be difficult when it's just a nod buried from another implementation's representative in the WebGPU meeting. Then getting the LGTMs can take time, both in latency to get the approvals, and for the Blink API owners to review the feature, signals, etc.
go/why-standards, and in general the Intent to Ship process is here for
Eventual Interoperability,
Consistency and
Transparency.
Eventual interoperability: the WebGPU/WGSL group is acting in an extremely collaborative way compared to what can happen in other specifications. Both Firefox and Safari are actively implementing, they actively discuss all proposals and approve them directly (not just as a stamp, but being really engaged). This means that things that go in the spec will be eventually interoperable. Otherwise it just doesn't land in the specification.
Consistency is normally enforced by the TAG and other horizontal reviews, and the WebGPU group diligently went through all the horizontal reviews. We didn't get much actionable feedback, which is understandable given how large WebGPU is, how domain-specific it is, and that so many very Web platform savvy folks participated (in particular from Apple at the start of the standardization). That's why WebGPU is unlikely to file for more horizontal review for additional features, unless extremely large, or with a large interaction with the rest of the Web platform (features like multi-worker, WebXR, and maybe some others would qualify).
Because of all of the above we believe that most WebGPU developer facing changes don't need as careful a review. We'd like to suggest that most small-medium changes landing in the spec that don't interact with the rest of the Web platform should ideally just need a PSA sent to blink-dev. Other larger, or more "interesting" features should still get an I2S, but the change being landed in the WebGPU spec should count as a positive signal from other implementations.
If need be, I'd be happy to provide more details / discussion by attending one of the weekly Blink API owners meetings, for example the one October 18th.