Implement visibility sphere calculation and frustum culling preparation

  • Implement Welzl’s algorithm in Chef to calculate the smallest enclosing sphere for meshes.
  • Add visibility sphere metadata to MeshAsset and serialize it during asset processing.
  • Move GLM serialization utilities to the shared library directory.
  • Update Node3d to support visibility spheres and render them in editor mode.
  • Add a sphere model asset for visualization.

I thought about frustum culling and I think I should implement it myself from scratch, as relying on the physics engine for that isn’t going to work very well. The AABB query is too broad—the view distance is about 0.5 km and the whole game world is 2x2 km², so the AABB would almost always contain the entire world.

Previous