Conversation
- Replace outdated delaunay_creator references with current meshing crate - Add feature tables for all mesh algorithms, pipeline compositions, and export formats - Document WASM bindings - Add usage examples for 2D/3D meshing, export, and pipeline APIs Closes #42 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Updates the project README to reflect the current meshing crate capabilities (beyond the older delaunay_creator naming) by documenting the available algorithms, pipeline helpers, export formats, WASM bindings, and adding several end-to-end usage examples.
Changes:
- Replaces outdated repository/crate references and adds a top-level project description.
- Adds feature tables for mesh generation, pipeline compositions, and export formats.
- Adds Rust usage examples for 2D/3D meshing, Marching Cubes → GLB export, and the pipeline API, plus a benchmarks section.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| | Format | Functions | Description | | ||
| |---|---|---| | ||
| | STL | `triangles_to_stl`, `faces_to_stl`, `tetrahedra_to_stl` | Binary STL with automatic surface extraction | |
There was a problem hiding this comment.
The STL export functions in meshing::export currently generate ASCII STL (they return String), not binary STL. The README description should be updated to avoid misleading users, or the implementation should be changed to actually emit binary STL if that’s the intent.
| | STL | `triangles_to_stl`, `faces_to_stl`, `tetrahedra_to_stl` | Binary STL with automatic surface extraction | | |
| | STL | `triangles_to_stl`, `faces_to_stl`, `tetrahedra_to_stl` | ASCII STL text format with automatic surface extraction | |
| | Algorithm | Module | Input | Output | Description | | ||
| |---|---|---|---|---| | ||
| | Bowyer-Watson 2D | `bowyer_watson` | `Vec<Point2D>` | `Vec<Triangle>` | Delaunay triangulation of 2D point sets | | ||
| | Bowyer-Watson 3D | `bowyer_watson_3d` | `Vec<Point3D>` | `Vec<Tetrahedron>` | Delaunay tetrahedralization of 3D point sets | | ||
| | Advancing Front | `advancing_front` | `Vec<Face>`, `Vec<Point3D>` | `Vec<Tetrahedron>` | Boundary-to-volume tetrahedral meshing | |
There was a problem hiding this comment.
The mesh generation table column label Module is misleading for bowyer_watson / bowyer_watson_3d, which are crate-root functions (not modules). Consider renaming the column to something like API/Path, or using fully-qualified paths (e.g., meshing::bowyer_watson).
| ``` | ||
| delaunay_creator = "0.2.4" | ||
| ``` | ||
| Benchmarks cover all algorithms at various input sizes using Criterion. |
There was a problem hiding this comment.
The statement that “Benchmarks cover all algorithms” doesn’t match the current Criterion suite (e.g., there’s no benchmark for the 2D bowyer_watson API). Either adjust this wording to reflect what’s actually covered or add the missing benchmarks.
| Benchmarks cover all algorithms at various input sizes using Criterion. | |
| Benchmarks cover several core algorithms at various input sizes using Criterion. |
| All major algorithms are exposed as WASM bindings via `wasm-bindgen`: | ||
|
|
||
| - `triangulate` - 2D Bowyer-Watson | ||
| - `triangulate_3d` - 3D Bowyer-Watson | ||
| - `advancing_front_mesh` - Advancing Front | ||
| - `octree_mesh_generate` - Octree meshing | ||
| - `marching_cubes_generate` - Marching Cubes | ||
| - `voxel_mesh_generate` - Voxel meshing | ||
| - `delaunay_refinement_mesh` - Delaunay Refinement |
There was a problem hiding this comment.
The WASM bindings live under meshing::wasm and are conditionally compiled for wasm32 only (#[cfg(target_arch = "wasm32")]). It would help to mention this (and any build steps like wasm-pack) so native users don’t look for these APIs in non-wasm builds.
Summary
delaunay_creatorreferences with currentmeshingcrateTest plan
Closes #42
🤖 Generated with Claude Code