Making some changes to the engine at the moment.
Currently I am writing up a simpler version along side it to experiment with ideas and the following things will be implemented as a result.
Textures will be loaded as Sprites and are referenced through a Sprite Library.
The good thing about this is I will be able to cache and dispose and reclaim required spites when required.
The sprite library also uses either atlases or textures but can both be used identically so that's a benefit.
The variant of the sprite batch I'm working with also z-sorts prior to posting to the graphics device this should save some hassle.
Also I have just built the particle system, logging system. and working on inputs.
Sprite and Primitive batches can both take a camera input which make rending worlds easier and i have attach a simple tracking system for the camera so it can follow any target IE the mouse.
These all need to be re-integrated in to the engine but it's all looking good.
Next up is GUI interfaces and better collision detections.
As it is the collision system works very well and can detect collisions with objects even if they are
projected differently allowing game object to interact with UI elements.
I should really work out a road map.