Seeking input on Material Fabric schema

Hello CesiumJS users!

Materials in Cesium are based on the Fabric schema. This schema defines components (alpha, diffuse, etc.), uniforms, and more. While working on a PR to add an async factory method to the Material class, it came to my attention that Material’s only support certain texture settings (like min and mag filters) at the top-level. There’s no support for per-texture sampler settings (Materials can have multiple textures).

I feel that the most sensible way to support per-texture settings would be to add a property on the schema, “samplers”, which would map each texture name to an object of sampler settings.

The Material schema hasn’t changed for 13 years; while this proposal would be backwards compatible, I’d like to double check with the community that there aren’t any obvious objections to it.

Thanks!

Matt