Time is valuable and is limited. As a demo, I really don't need everything to be perfect. I heard/read from someone famous that I paraphrase as "a simple model works to a certain point but a more complex model when you want to be more accurate or performant".
1. 3D Pick from any arbitrary camera or light view but transform happens in world space.
I apply transformations to view space, there is a dilemna of what happens when I change view. I have to keep track of what transformations are done for each view. That's way too much trouble for a demo with purpose to learn graphics programming. So, I will keep this shotcoming.