The project was redesigned from scratch to make it easier to understand and work on it. As today, the project is composed of three source files: actors.lisp, layers.lisp, sdl.lisp.
Actors.lisp is a pure CL file, where functions, generics and all the code for entities and actors will be added, this file is designed to be fully independent from sdl and rulp as a project, so it can be used in the future for other rulp related things
Layers.lisp is contain objects and generic for "layers", object that abstract a surface (that can be actually generated trough the render-surface generic). actually there are image-layer, grid-layer and actor-layer
sdl.lisp is the sdl execution file, it work with only the layer, save the rendered surfaces, stack them in *main-surface* and output them. It also control (actually in a temporary way) the actor-layer
Also there is the rulp.lisp, this actually start the playground function with a specified resolution and let the user stack layers and actors to be displayed, as today (with this commit) is not suggested to change the layer order (I set the keyboard system to check for the third layer as actor layer, if you need to change just change the number 2 under the (key-down-event :key e) line on sdl.lisp, with the next commit i'll resolve that.
The project is as the commit before, but better abstracted and extensible! Also I will update the specification regarding functionality of the program and some observation on the sdl library time and cpu usage