Rust implementation of PicoGK - A compact geometry kernel for Computational Engineering by LEAP 71.
This monorepo contains the complete Rust port of the PicoGK ecosystem:
picogk-rust/
├── crates/
│ ├── PicoGKRuntime/ # C++ runtime (OpenVDB + Viewer); build output in `Dist/`
│ ├── picogk/ # Core geometry kernel
│ ├── shapekernel/ # Parametric shape modeling
│ ├── lattice-library/ # Lattice structure generation
│ ├── quasi-crystals/ # Aperiodic tilings + quasi-crystals
│ ├── helix-heatx/ # Rust port of LEAP71_HelixHeatX (app)
│ ├── rover-wheel/ # Rust port of LEAP71_RoverWheel (app)
│ └── demo/ # Demo runner
├── ViewerEnvironment/ # Default Viewer environment (lights, etc.)
└── doc/ # Documentation
| Crate | Description |
|---|---|
| picogk | Core geometry kernel - voxels, meshes, implicit surfaces, lattices |
| shapekernel | Parametric shapes - cylinders, pipes, splines, frames |
| lattice-library | Lattice structures - TPMS, cell arrays, beam networks |
| quasi-crystals | Aperiodic tilings (Penrose) + quasi-crystals (viewer demos + library) |
| helix-heatx | Rust port of LEAP71 HelixHeatX (STL export + optional Viewer preview) |
| rover-wheel | Rust port of LEAP71 RoverWheel (STL export + optional Viewer preview) |
| picogk-demo | Demo runner for ShapeKernel / LatticeLibrary / QuasiCrystals tasks |
helix-heatx, rover-wheel, quasi-crystals, lattice-library
└── shapekernel
└── picogk (Rust bindings)
└── PicoGKRuntime (C++ / OpenVDB / Viewer)
# Build native runtime (macOS/Windows)
cmake -S crates/PicoGKRuntime -B crates/PicoGKRuntime/build -DCMAKE_BUILD_TYPE=Release
cmake --build crates/PicoGKRuntime/build -j
# Build all crates
cargo build --workspace
# Run tests
cargo test --workspace
# Run demo
cargo run -p picogk-demo -- list
cargo run -p picogk-demo -- base_cylinder_showcaseEach crate has its own examples:
# PicoGK examples
cargo run -p picogk --example basic
cargo run -p picogk --example gyroid
# ShapeKernel examples
cargo run -p shapekernel --example base_pipe_showcase
cargo run -p shapekernel --example lattice_pipe_showcase
# LatticeLibrary examples
cargo run -p lattice-library --example regular_task
cargo run -p lattice-library --example conformal_task| Platform | Architecture | Status |
|---|---|---|
| macOS | ARM64 (Apple Silicon) | ✅ Supported |
| Windows | x64 | ✅ Supported |
| Linux | x64 / ARM64 | .so |
Build PicoGKRuntime on Linux and set PICOGK_LIB_DIR=crates/PicoGKRuntime/Dist, or place your libpicogk*.so in crates/picogk/native/linux-x64/ (or linux-arm64/).
| Document | Description |
|---|---|
| RUST_API_DESIGN.md | API design principles |
| MIGRATION_GUIDE.md | C# to Rust migration |
| BUILD_FROM_SOURCE.md | Building native libs |
Apache-2.0
- Original PicoGK by LEAP 71
- PicoGK.org