Like you can crash the program with a simple typo
Yes. This seems unreasonable. It must be impossible to crash program by crafting special input.
Input must be checked before usage. Obviously incorrect values should be filtered by inspector.
If user-provided code add constraints to values then it must handle errors by itself.
Skipping processing an object in case of constraints not met might be the best option in most cases.
And I think it must log error! instead of warn!.
GlobalTransform is only invalid due to camera code that's specific to amethyst's default renderer. Should we treat that as a hard constraint? It doesn't really have to be used by the end user.
If user-provided code add constraints to values then it must handle errors by itself.
I think we should include "engine-provided user-facing code" to that group.
Result returned from renderpass will overcompicate stuff
trait Inspectable with associated type that you will map onto UI to edit. And a function to convert associated type into Inspectable implementation
Inspectable is that you can't define that trait for foreign types, like a matrix from different math library.
Inspector that are able to work with specific types