Character definitions should allow for specifying multiple states per sprite mapping, rather than only one state per map. Use an array instead.

Rendering should move to the SDL GPU renderer so i can do lighting and particles etc
	  - Example suitable for my most primitive use case: https://github.com/TheSpydog/SDL_gpu_examples/blob/main/Examples/Blit2DArray.c
	  - Try vulkan and D3D tutorials to come up to speed on the moving pieces, then figure ou the details from the examples and API docs
	    - https://vulkan-tutorial.com/Drawing_a_triangle/Graphics_pipeline_basics/Introduction
	    - https://learn.microsoft.com/en-us/previous-versions/windows/desktop/bb153302(v=vs.85)
	    - http://www.directxtutorial.com/LessonList.aspx?listid=112
	  - Shaders compiled with: https://github.com/libsdl-org/SDL_shadercross. There are no docs on this tool.
	  - Shader language is tricky. MS is abandoning HLSL and everyone unifying on Spir-V. But Spir-V is intermediate, HLSL is more high level so easier to pick up.
	    - https://flathub.org/apps/org.shadered.SHADERed
	    - Really good HLSL tutorials: https://www.youtube.com/playlist?list=PL78XDi0TS4lEMvytsE_MoWEpzBcukXv9b
	    - Spir-V tutorials: https://github.com/google/spirv-tutor

Actors should collide with each other
       - Box2D is going to be overkill for this for simpler platforms. We're going to benefit from a simpler approach.
       - https://katyscode.wordpress.com/2013/01/18/2d-platform-games-collision-detection-for-dummies/ looks promising

World collision geometry should be loaded from object layers on the map

Actors should collide with the world

Actors should be able to follow a path defined with a polyline on a layer on the map

Actors should be able to calculate their facing state automatically depending on their movement state (for path following)

Map parallax should work

Should implement support for rendering CLAY UI elements

Should implement support for camera following a given actor

Savegames should include the game properties
