Consider changing gpu-supported-features and wgsl-language-features to flags, and remove gpu-feature-name.
gpu-supported-features and wgsl-language-features are defined in the spec as setlike<DOMString>, which is essentially a bag of bools, so flags would work nice for them.
gpu-supported-features can also be changed to gpu-features to take the place of both gpu-supported-features and gpu-feature-name.
gpu-device-descriptor.required-features - which is the only place gpu-feature-name is used - is currently option<list<gpu-feature-name>> and could just be changed to option<gpu-features>
Consider changing
gpu-supported-featuresandwgsl-language-featurestoflags, and removegpu-feature-name.gpu-supported-featuresandwgsl-language-featuresare defined in the spec assetlike<DOMString>, which is essentially a bag of bools, so flags would work nice for them.gpu-supported-featurescan also be changed togpu-featuresto take the place of bothgpu-supported-featuresandgpu-feature-name.gpu-device-descriptor.required-features- which is the only placegpu-feature-nameis used - is currentlyoption<list<gpu-feature-name>>and could just be changed tooption<gpu-features>