refactor state management
separate engine and setup modules
add actions to unit status gui element
tile cursor animation
update makefile