Without doing a deep dive into your code, I would recommend you use the constexpr keyword on your variables that will never change during runtime. The keyword marks them as const for runtime but also tells the compiler that it can do more analysis of it to give you better diagnostics and also...