I guess it would be a good experiment these days, to see how Nano Banana or OpenAI's latest image to image models will be at transferring lighting while preserving the original style domain, like you suggest.
We made the training data for this using a physically based renderer (i.e, Cycles in Blender).
For non-photorealistic art, there are way too many ways in which artists communicate lighting (even in sketch, which is different from pixel-art / video game, there are at least a couple of ways (a) solid shading (b) hatching).
I'm not sure how to extend our methodology (synthetic data in 3D modeling software + train model) to these settings.
Ooh, I didn't know about Myst-style games. I'll definitely check them out!
Thanks. I'll link it in the first line in the README. I think the interlocking-free part can pack cups like you suggest. They propose a flood fill algorithm which computes all the reachable places for the voxelized shape. It doesn't put assumptions on convexity. I think it would be a great example to try it out on though.
A while back, I implemented a paper that had showed up on HN for a course project (Dense, Interlocking-Free and Scalable Spectral Packing of Generic 3D Objects).
Over the holidays, I cleaned up the implementation (with the help of Claude Code, although this is not an advertisement for it) and released it on GitHub.
If anyone needs fast 3D packing in python, do give this a shot. Hopefully I have attributed all the code/ideas I have used from elsewhere properly (if not, please feel free to let me know).
Thanks for the thoughts :)