Truck is an open-source shape processing kernel by Rust.
The broad concept consists of the following three elements.
- Trendy Tools
- Traditional Arts
- Theseus' ship
- We are targeting the next generation of market share using developmental tools: Rust and WebGPU.
- Advanced optimizations using Rust and WebGPU maximize the performance of each crate.
- We will break away from the legacy by re-implementing the B-rep with NURBS in the above trendy tools.
- Safe implementation using Rust to eliminate core dumped for CPU-derived processes.
- Cargo's extensive maintenance features ensure thorough continuous integration.
- We are modularizing into smaller crates that can be replaced, like the Ship of Teseus.
- Based on the many lessons learned in the past, we have given up on overall optimization as a single application, and design as a collection of individual optimized crates.
- Since unexpected expansions are bound to occur, we deal with uncontrolled expansions in the form of small modules.
Apache License 2.0
All examples are located under the examples directory in each crates.
These examples use the default syntax for running examples, as found in the Cargo documentation.
At first, let's run the following example!
cargo run --example rotate-objects
basic structs and traits: importing cgmath, curve and surface traits, tolerance, etc...
geometrical structs: knot vector, B-spline and NURBS
topological structs: vertex, edge, wire, face, shell, and solid
defines polygon data structure and some algorithms handling mesh, including meshing the shapes
integrated modeling algorithms by geometry and topology
graphic utility library based on wgpu
visualization of shape and polygon mesh based on platform
There are some learning resources for using truck v0.1.x series.
- truck-tutorial
- truck-tutorial-ja (Japanese version)
- truck-tutorial-code (pre-created sample code)