# Project update 2023-02-26
Things are going quite smoothly but I feel like I'm a bit stuck where I am now. 
There are parts of the engine that actually work really great and a few parts 
that do not.

Currently, here are the parts of the engine that I think need a total rework, or
need more work to make good;
 - Fonts. Currently they work "ok" but it's difficult to common font things, and
   they are acting inconsistent. All fonts should "basically be the same", but
   whenever I change fonts the baselines and line heights go WAY off. I also 
   believe it should be easier to change font colors, including in the MIDDLE of
   a word. I also still need to handle things like variable replacement mid-text
   so that I can do, say, %playername% or similar.
 - Physics. It is brand new and still generally good how it is, but it will for
   sure need revisiting at some point.
 - State Management. This is more of a conceptual thing but I'd like to make it
   easier for states to be influenced by properties, e.g. changing position can
   be done with a simple += rather than a get() and set().
 - Item Repositories. At the moment Scene items are attached to the scene, and
   then components are attached to those, it should be more performant to simply
   have each scene item type have a repo, and then map sceneitem ids to those.
   That will improve performance of a lot of things, and make the memory 
   footprint smaller too.
 - Using std:: methods more. I've learned a tonne of C++ since I started this
   project, I'd love to use std pointers if they weren't a bit annoying, and
   also use the std::function to support anonymous functions.