@nothings @ratchetfreak
Yep, the simple skylight, breadth-first light propogation, and the AO is what I have coded up right now. It was quite low effort, by which I do mean "human effort", although it's not too computationally expensive either. There's some artifacts in the lighting, I know why and it's a TODO.
Indoor lighting is a big emphasis and I want to do something interesting with it. What I think I'm going to do for the light baking is have the first bounce be physical (possibly just one ray per vertex), then spread some of the light with the breadth-first technique.
I'd also like moving objects to respond to lights. For that, I have two ideas. The first is, I'll store a 64 bit mask in each empty grid cell, saying which lights (in its chunk or a neighboring chunk) can light an object in that cell. That will limit a player to >64 light sources per "chunk," but maybe that won't be a problem?
The second idea is to store a mask where if a bit is set to 1, it means that light is coming from some fixed direction. With 26 bits I can store Up, Down, North, South, East, West, and every diagonal in between. Then if an object is in a cell with that direction's bit set, I make it lit from that direction. This is contingent upon there being only one type of light, and it might look totally janky.
I guess I'll find out!