Seriously in need of a code cleanup, but now I have some rudimentary chunking and camera and debug output.
The challenge was having multiple chunk layers of different sizes and having it all work together. What I opted to do was give each chunk a Position, a simple xy value that denotes its own position in its grid/system, and a Bounds, an xywh rectangle that defines which tiles it looks at.
Next, I'll have various chunk-based systems, so when it receives a chunk and it sees the underlying tile group had been updated, it can recalculate its own chunks if needed. That should make it easy to model things like heat and humidity in a simplified way. Looking forward to Monday when I can work on it proper