There was a decision (or discussion, I cannot find it at the moment) not so long ago to not use that prefix as it isn't clear and enums are usually called Types
or something else that indicates…
Ok Leave it as is for now. It can be refactor after the deferred pipeline has matured.
Yes it can be moved. But this function returns the light vector to the closest point on the light shape and only for rects and ellipses as the other shapes use another method for area lighting.
Follow class layout style https://wiki.blender.org/wiki/Style_Guide/C_Cpp#Class_Layout
The overlay instance can be called for 2D views. This is something that we might want to revisit at some point but that would not be a huge refactor to do. So I would just suggest to check for state.v3d != nullptr
and state.rv3d != nullptr
for anything that need to access them.
There is still quite a lot of TODOs in the code. Some are rather low hanging fruits that would improve code quality (like in overlay_next_instance.cc).
What is the reasonning on combining all the headers inside this one? The goal of split headers is also to ease code searchability / readability.