Oh sorry, I didn't mean rewriting all of the Viewers C++ code in Swift. I meant rewriting the 8 .mm and .h files in Swift, including bridging code. And then, through sse2neon simply make the code build and run natively on Mx processors. That was the scope of the original post here, as I see it. I wanted to take that - admittedly small scoped - idea, and submit it to the official viewer.
I agree completely on the need to separate the OpenGL to an in-world render so as to make it easier to replace engines, and to offload a lot of work to the more optimized OS. That way, the usual time and resources constraints can determine if there will be a dedicated Metal or MoltenVK or whatever renderer first.
As for Apple never accepting Vulkan - maybe. But they've kept the shamefully ancient OpenGL implementation around for far longer than anyone thought they would. The only way I can see they can nix OpenGL is to make sure small developers who still want to make cross-platform titles have a viable alternative. Metal only runs on Apple devices.
Of course, the announcement of a mobile Unity-based viewer might imply that the open source desktop viewer as we know might be replaced with a closed Unity Viewer 😕