#pragma once #include "vde/mesh/halfedge_mesh.h" namespace vde::mesh { enum class SmoothMethod { Laplacian, Taubin }; struct SmoothOptions { int iterations = 10; double lambda = 0.5; // Laplacian weight double mu = -0.53; // Taubin shrink (mu < -lambda for Taubin) SmoothMethod method = SmoothMethod::Laplacian; }; HalfedgeMesh smooth_mesh(const HalfedgeMesh& mesh, const SmoothOptions& opts = {}); } // namespace vde::mesh