#pragma once #include "vde/core/point.h" #include #include namespace vde::core { using foundation::Point2D; using foundation::Point3D; using foundation::Vector2D; using foundation::Vector3D; struct VoronoiCell { Point2D site; // Generator point std::vector vertices; // Cell boundary vertices std::vector> edges; // Edge indices into vertices }; /// 2D Voronoi diagram from Delaunay dual graph /// Returns cells for each input point std::vector voronoi_2d(const std::vector& points); } // namespace vde::core