The version is of the bottom crate truck-rendimpl.
- Fix implementation of
ToSameGeometry<Surface>forRevolutedCurve<Curve3D>. - Add tangent-based constraint support to circular arc construction in
truck-modeling - Added
BasisWindowto simplify and centralize basis-function range handling. - Fix non intersect bboxes has invalid intersects.
- Fix syntax error when reading binary STL > 8192b.
- Fillet for a single edge.
- Write assembly to step file.
- In the README, we clarified that the subtitle is the origin of the name “truck,” and changed all instances of the term in the main text to
truck. - Get more precise part attributions from
ProductandNextAssemblyUsageOccurrence. - Add the variable
divisiontotruck_modeling::builder::rsweep. - Renew DAG structure.
- Fix spell and replace
FntoFnMut. - Read assembly from step file.
- Implement assembly structure handler
truck-assembly. - Downgrade
cargoforcargo doc. cf: rust-lang/rust#148431 - Update docker container and
Makefile.tomlforgpu-test. - Update docker container
gpu-test - Fix step output of
CylindricalSurface. - Remove
Arcfrom the members ofDeviceHandler. - Implement
border_wiresforFace. - Implement
FromandToSameGeometryfromExtrudeCurve<Line<Point3>, Vector3>toPlane. - Fix comparative phrasing.
- Fix
SceneInfoinpolygon.wgsl. - Upgrade wgpu v26.
- Approximation of
RbfSurfacebyApproxFilletSurface. - Align mesh aspects of general surfaces tessellation.
- Refactoring:
intersection_curveandHomogeneous. - Implement
CurveDersandSurfaceDers. - Loosened
cut_random_testrequirements. - Higher order derivations.
- Renew
Camera. - Constant allocation for faster B-spline basis function.
- New implementation for
search_parameter. - Add
RbfSurface. - Add
prop_assert_nearforproptestintegration. - Primitives: rect, circle, and cuboid.
- The zoom of the parallel camera has been made to work.
- Minor change.
- Fix some typos.
- Saving memory of
put_together_same_attrs. - Closed mesh with
robust_triangluation. - Implement
Transformed<Matrix4>forPolygonMesh. - Fix some step output.
cargo upgrade -i- Create
CYLINDRICAL_SURFACEbybuilder::rsweep. - Step output for specified revoluted surface.
- Remove
printlnfor debugging. - Generalize
truck_modeling::builderfor apply step parsed geometries. - Review of the specifications for
IntersectionCurve. - Fix STEP header description.
- Fix some typos.
- Implement
BSplineCurve::interpole. - Implement
search_intersection_parameterbetween surface and curve. - Add macros:
wireandshell. - Strict derivation and
search_parameterofIntersectionCurve. - Prototyping for fillet surface with NURBS geometry.
- Implement abstract newton method.
- Minor correction of
double_projection. - Update algorithm of
double_projection. - More improve of
truck_geotrait::algo::surface::search_parameter. - Simplify
truck_geotrait::algo::surface::search_parameter. - Add the macro
truck_topology::prelude!.
2026-04-15
truck_stepio::inhas been released!- Parse some geometries: B-spline, NURBS, elementary geometries, and so on.
- Parse topologies: shell and solid.
- JS wrappers.
- Implement
robust_triangulation, trimming meshes bySearchNearestParameter. - Output meshes by vtk formats.
- Split closed edges and faces, loaded from STEP (generated by other CAD systems).
- Calculate volume and center of the gravity of
PolygonMesh. - Derive macros for implementing
StepLengthandDisplayByStep. areaandincludefunction for a domain with several polyline boundaries.
- Add "periodic" identifier to
ParametricCurveandParametricSurface. - Remove the
Invertibleconstraint from tessellating traits. - Features has been set up to use each module in
truck-meshalgoseparately. - Non-bounded parameter ranges has been supported. Updates
ParametricXXXandBoundedXXX. - Derive macros in
truck-deriversare supported for cases with generics. - Implement
SearchNearestParameterforProcessor. - Expanded coverage of tessellation API.
- Enabled meshing when the boundary is not closed in the parameter space.
- Add tessellate test with ABC Dataset.
- Improve
put_together_each_attrs.- Add an argument to
put_together_each_attrsto specify the tolerance. - Transitive clustering instead of spatial partitioning by rounding
- Add an argument to
- Improve
Shell::face_adjacency: Common edges are now also retrieved.
- Change the precision of floating point numbers when outputting STEP files.
- Updates
SearchNearestParameterforRevolutedCurve. - Fix a bug on partial
rsweepwith a negative angle. - Add a private function
spade_roundfor fixing insert error.
- Replace
MutexandArcmore faster and compact mem. - Refactor and renew test for
truck_modeling::geom_implbyproptest. - Add tests for traits in
truck_modeling::topo_traits. - Implementation for closed surface tessellation.
- Implelment
AsRef,Borrow, andExtendforWireandShell.
- Changed some naming conventions to Rust standards.
- Make some struct naming canonical. ex: NURBSCurve -> NurbsCurve.
- Remove
get_prefix fromVertex::get_point,Edge::get_curve, andFace::get_surface.
- Put
truck_geometry::preludefor resolve multiple re-export. - Tutorial for v0.6 series has been released.
- derive macros for geometric traits
truck-geoderive - step output of open shell, worlds including several models, and
IntersectionCurve - parallel iterators for topological structures
- direct tessellation of
CompressedShellandCompressedSolid - direct serialization for topological data structures.
- cubic B-spline approximation
builder::try_wire_homotopySolid::cut_face_by_edgeFace::edge_iterandFace::vertex_iterIntersectionCurvebetweenPlanes can now be converted toLine.Camera::rayEntryMap
MeshableShape::triangulation- the Euler operations
Face::cut_by_edge- Refactoring
Search(Nearest)Parameter.
- The orientation of the normal of
builder::try_attach_plane. Shell::singular_vertices- binary STL output of
PolygonMesh
- Data integrity check during deserialization of
KnotVec,BSplineCurve, and all structs constructed bytry_new. - Improve meshing algorithm by parallelization.
- Intersection curve with B-spline leader.
- Implement some geometric traits for
TrimmedCurve,UnitHyperbolaandUnitParabola. - Use Line in modeling and simplify output shape of tsweep.
- Make
TextureFormatof surfacesBrgaU8norm. - Add an example with several boundaries.
- Updates
wgputov0.14 - Updates
spadetov2. - Change the profile of
truck-jsand remove dependencies towee_alloc.
- The first version of
truck-stepiohas been released! One can output shapes modeled bytruck-modeling. - WGSL utility
math.wgslhas been released! One can calculate invert matrices and rotation matrices. - The processing related to linear algebra has been isolated from
truck-basetomatext4cgmath. - New mesh filter
Subdivision::loop_subdivisionwas implemented intruck-meshalgo! - In
truck-geotrait, the traitParametricCurveis decomposed intoParametricCurveandBoundedCurve. - The method
swap_vertexhas been added toWireFrameInstance. - Geometric traits has been derived to
Box. - Some specified geometries has been added for STEP I/O
- Comparing
BoundingBoxby inclusion relationship. - In order to make meshing reproducible, we decided to implement random perturbations by means of a deterministic hash function.
- Some lints has been added.
- Specified surface for STEP I/O and modeling revolved sphere and cone.
- In
truck-base, the traitSurfaceis decomposed intoParametricSurface,BoundedSurface,IncludeCurveandInvertible. - In
truck-geometry, specified surface,PlaneandSphere, and some decorators are prepared.
- In
- STL handling module
stlintruck-polymesh. - In
truck-rendimpl, wireframe for polygon.- Abort traits
ShapeandPolygon, and add new traitsIntoInstanceandTryIntoInstance.
- Abort traits
- Applied wgpu v0.11 and made all shaders WGSL, including shaders for test. Now, all dependence on cmake has been removed!
- The sample code
glsl-sandboxbecomeswgsl-sandbox. You can easily experience WGSL shading.
- The sample code
- Split
truck-base::geom_traitintotruck-geotraitand added some algorithmsalgo. Some methods in curves and surfaces were standardized. - Added a new crate
truck-meshalgo. Moved the polygon processing algorithm from polymesh to meshalgo. - Added a new CAD meshing algorithm. Meshing trimmed surfaces. The same edge is made into the same polyline. A solid is made into a closed polygon.
- Added some meshing algorithms, including mesh collision.
ShapeInstancehas been removed. Tessellation should be done in advance bytruck-meshalgowhen drawing the modeled shape.BSplineCurve<Point3>was made to beParametricCurve3D. Conflicts related to methodssubshave been resolved.- Added a new crate
truck-shapeops, which provides solid boolean operator functions:andandor. - Added a new crate
truck-js, which provides wasm bindings of CAD APIs. (not released to crates.io)
- a small behavior change:
NormalFilters::add_smooth_normals. - fix a bug:
Splitting::into_components. - an internal change:
RenderID::gen.
- made
truck-polymeshstable (well-tested and safety)- The member variables of
PolygonMeshbecomes private.- Destructive changes to the mesh are provided by
PolygonMeshEditor, which checks the regularity of the mesh at dropped time.
- Destructive changes to the mesh are provided by
- Mesh handling algorithms are now a public API.
- The hidden structure
MeshHandlerwas abolished and algorithms are managed as traits. - You can use them by importing
truck_polymesh::prelude::*.
- The hidden structure
- The member variables of
- improved
truck-rendimplfor higher performance and better usability- Wire frame rendering for shapes are now available.
- One can create
WireFrameInstancebyInstanceCreator::create_wire_frame_instance. - Try to run
cargo run --example wireframe.
- One can create
InstanceDescriptoris separated intoPolygonInstanceDescriptorandShapeInstanceDescriptor.- One can specify the precision of meshing faces by
ShapeInstanceDescriptor::mesh_precision. - The old
InstanceDescriptoris renamed toInstanceState. - The descriptor for wire frames is
WireFrameInstanceDescriptor.
- One can specify the precision of meshing faces by
- added
InstanceCreatorfor generating instances.InstanceCreatorhas pre-compiled shader modules as member variables.CreateInstanceforSceneis abolished.InstanceCreatoris created byScene::instance_creator.
- Face-wise rendering of shape is abolished.
- Now,
ShapeInstanceis oneRenderedstruct. RenderFacewas abolished.
- Now,
- abolished implementations
Clonefor*Instance. Use*Instance::clone_instance. - The texture of
InstanceStatewas changedwgpu::Texturefromimage::DynamicImage.
One can generateTexturefromDynamicImagebyInstanceCreator::create_texture.
- Wire frame rendering for shapes are now available.
- added inherit methods of
truck_geometry::NURBSSurfacefromBSplineSurface. - added a feature
serdetocgmathattruck-base.- remove the explicit dependency to
cgmathfromtruck-polymesh. - plans to add
nalgebraas an alternative backend (unreleased in this version).
- remove the explicit dependency to
- abolished
truck_platform::RenderID::defaultand addedRenderID::gen. - added
Errortotruck_modeling. - made
truck_topology::CompressedShellpublic API and addedtruck_topology::CompressedSolid.
- changed a behavior of
truck_topology::try_add_boundaryandtruck_topology::add_boundary.- flip the boundary over when adding a boundary to a face with a flipped orientation
- renew the id of the face which was added boundary
- add a method:
truck_rendimpl::*Instance::clone_instance Clone::clone for *Instanceis deprecated, and will be abolished in v0.2.
- fixed two bugs
truck_modeling::builder::homotopy, the vertices were in the wrong order.truck_modeling::Mapped for Shell, the orientation of surface was wrong.
- fixed a bug:
truck_modeling::builder::try_attach_plane, the orientation of plane was incorrect.
- fixed a bug:
truck_modeling::builder::rsweep, the boundary was incorrect.
- first version