PBR lighting; Transmissiveness; 3D model improvements & more.
Instead of you having to support multiple lighting implementations out of the box I would love if the effects sdk gets access to lights, normals etc. that way we can implement custom lighting, like cell shading, phong and so on for more stylized games, instead of being forced into only using PBR.
Making the lighting model extensible can be done, but I think it involves a lot more complexity than you might expect. For example Phong and PBR use different material properties, and other lighting models might use other material properties. So it's not just a matter of writing a shader, it also means defining what the material properties are, having the editor display those custom properties, update shader uniforms accordingly, store the material properties with instance data, handle undo for changes, etc. That's not currently possible with the SDK, so supporting that means developing a range of features to cover that.
I'm not sure I understand, the effects sdk already supports custom shader parameters. If we get access to the normals and lights we could implement custom (fragment) lighting already with direct-3d-rendering? (some helper functions like you added to wgsl would be awesome too for some common calcs like attenuation etc.)
So I guess instead of allowing us to do lighting in effects, you'd rather add a new Material addon type, which has access to lights, normals (maybe even the vertex shader and additional textures for normal maps for example). This way it would always be the first shader and could sidestep the awkwardness with effect stacking, where only the first effect can do certain things.
That indeed would be more complex to add, but also sounds more robust.