Skip to content

Latest commit

 

History

History
215 lines (167 loc) · 12.2 KB

CHANGELOG.md

File metadata and controls

215 lines (167 loc) · 12.2 KB

Change Log

The version is of the bottom crate truck-rendimpl.

Unreleased

Latest cargo upgrade

2024-10-20

v0.6

Additional APIs

  • truck_stepio::in has 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 by SearchNearestParameter.
  • 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 StepLength and DisplayByStep.
  • area and include function for a domain with several polyline boundaries.

Updated APIs

  • Add "periodic" identifer to ParametricCurve and ParametricSurface.
  • Remove the Invertible constraint from tessellating traits.
  • Features has been set up to use each module in truck-meshalgo separately.
  • Non-bounded parameter ranges has been supported. Updates ParametricXXX and BoundedXXX.
  • Derive macros in truck-derivers are supported for cases with generics.
  • Implement SearchNearestParameter for Processor.
  • 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_attrs to specify the tolerance.
    • Transitive clustering instead of spatial partitioning by rounding
  • Improve Shell::face_adjacency: Common edges are now also retrieved.

Bug fix

  • Change the precision of floating point numbers when outputting STEP files.
  • Updates SearchNearestParameter for RevolutedCurve.
  • Fix a bug on partial rsweep with a negative angle.
  • Add a private function spade_round for fixing insert error.

Internal Improvements

  • Replace Mutex and Arc more faster and compact mem.
  • Refactor and renew test for truck_modeling::geom_impl by proptest.
  • Add tests for traits in truck_modeling::topo_traits.
  • Implementation for closed surface tessellation.
  • Implelment AsRef, Borrow, and Extend for Wire and Shell.

Misc

  • Changed some naming conventions to Rust standards.
    • Make some struct naming canonical. ex: NURBSCurve -> NurbsCurve.
    • Remove get_ prefix from Vertex::get_point, Edge::get_curve, and Face::get_surface.
  • Put truck_geometry::prelude for resolve multiple re-export.
  • Tutorial for v0.6 series has been released.

v0.5

Additional APIs

  • 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 CompressedShell and CompressedSolid
  • direct serialization for topological data structures.
  • cubic B-spline approximation
  • builder::try_wire_homotopy
  • Solid::cut_face_by_edge
  • Face::edge_iter and Face::vertex_iter
  • IntersectionCurve between Planes can now be converted to Line.
  • Camera::ray
  • EntryMap

Updated APIs

  • MeshableShape::triangulation
  • the Euler operations
  • Face::cut_by_edge
  • Refactoring Search(Nearest)Parameter.

Bug fix

  • The orientation of the normal of builder::try_attach_plane.
  • Shell::singular_vertices
  • binary STL output of PolygonMesh

Internal Improvements

  • Data integrity check during deserialization of KnotVec, BSplineCurve, and all structs constructed by try_new.
  • Improve meshing algorithm by parallelization.
  • Intersection curve with B-spline leader.
  • Implement some geometric traits for TrimmedCurve, UnitHyperbola and UnitParabola.
  • Use Line in modeling and simplify output shape of tsweep.

Misc

  • Make TextureFormat of surfaces BrgaU8norm.
  • Add an example with several boundaries.
  • Updates wgpu to v0.14
  • Updates spade to v2.
  • Change the profile of truck-js and remove dependencies to wee_alloc.

v0.4

  • The first version of truck-stepio has been released! One can output shapes modeled by truck-modeling.
  • WGSL utility math.wgsl has been released! One can calculate invert matrices and rotation matrices.
  • The processing related to linear algebra has been isolated from truck-base to matext4cgmath.
  • New mesh filter Subdivision::loop_subdivision was implemented in truck-meshalgo!
  • In truck-geotrait, the trait ParametricCurve is decomposed into ParametricCurve and BoundedCurve.
  • The method swap_vertex has been added to WireFrameInstance.
  • Geometric traits has been derived to Box.
  • Some specified geometries has been added for STEP I/O
  • Comparing BoundingBox by 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.

v0.3

  • Specified surface for STEP I/O and modeling revolved sphere and cone.
    • In truck-base, the trait Surface is decomposed into ParametricSurface, BoundedSurface, IncludeCurve and Invertible.
    • In truck-geometry, specified surface, Plane and Sphere, and some decorators are prepared.
  • STL handling module stl in truck-polymesh.
  • In truck-rendimpl, wireframe for polygon.
    • Abort traits Shape and Polygon, and add new traits IntoInstance and TryIntoInstance.
  • 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-sandbox becomes wgsl-sandbox. You can easily experience WGSL shading.
  • Split truck-base::geom_trait into truck-geotrait and added some algorithms algo. 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.
  • ShapeInstance has been removed. Tessellation should be done in advance by truck-meshalgo when drawing the modeled shape.
  • BSplineCurve<Point3> was made to be ParametricCurve3D. Conflicts related to methods subs have been resolved.
  • Added a new crate truck-shapeops, which provides solid boolean operator functions: and and or.
  • Added a new crate truck-js, which provides wasm bindings of CAD APIs. (not released to crates.io)

v0.2

v0.2.1

v0.2.0

v0.1

v0.1.5

v0.1.4

  • add a method: truck_rendimpl::*Instance::clone_instance
  • Clone::clone for *Instance is deprecated, and will be abolished in v0.2.

v0.1.3

v0.1.2

v0.1.1

v0.1.0

  • first version