First parts of scene graph, more Project Bar copy/paste, new examples & more.
If sprite object is getting constantly more features, would it not be simple to make: Simple sprite, for performance; and Advanced Sprite object for complex manipulation.
If features have on-demand memory load, then even if single sprite uses it, then are all objects affected or just 1 instance?
Sprite is base building block for almost everything, while developing it, there should be some vision how it should be or how base building blocks are handled?
Like blank sprite, collision sprite, advanced collision sprite, complex one, one with advanced shader effects/or different shader properties built-in etc.
In general we aim to make sure features have no significant performance overhead, so this update should not cause any performance problems. Also splitting a sprite in to two variants could have serious usability problems - for example what if you need to switch from one to the other? How do you choose which you'll need in advance if you aren't sure which features you'll end up using?
I always thought that Sprites could be like an arduino plate. You keep adding mods to it to fit your needs, but it all starts blank. I don't think it should be several types, but rather this one "moddable" type.
EDIT: Almost like we already do behaviors, but with deeper control.
At some point you still need several types, which can interact with eachother. Even arduino has other smaller boards you can plug into it, but it's resticted by mainboard.
Here, inside engine, you can just set position etc into same place or read object instance variables into other object etc. If they make something big moddable, it could restrict the feature, while small things could be infact moddable by some extent.
I am not saying there should be 2 versions, 1 is always better, but I point out the case, that the only building block is getting constantly bigger, and we could need more base building blocks for different cases.
Arduino robots always are big towers like thous lego ones, we need small and slick robot/engine.
Good, that there are tests to keep base building block at good health.
Considering usability, I don't think there is serious impact using them. There could be only high impact maintain them, while still developing them.
Same with functions, you could do without them, but at some point switch to them for better usability.
Choosing advance is always bad, you start with base object and start to replace and switch them in case you need more and different features. When user has used object even once, he already knows how he can use it later. Basic use-learn is everywhere around us.
Sprite categories like: apparance, web, collision, animation, scene-view could indeed be, if possible, modules to be added by click? Or remove them. Something similar was added to scripting etc, to save memory.