refactor to use 5 main canvases for entity rendering