Skip to content

v0.2.3

Pre-release
Pre-release
Compare
Choose a tag to compare
@mkeeter mkeeter released this 06 Apr 14:33
· 160 commits to main since this release
8b44a05
  • Fix a possible panic during multithreaded 3D rendering of very small images
  • Add compare operator (equivalent to <=> in C++ or partial_cmp in Rust, with the difference that unordered results are returned as NAN)
  • Fix a bug in the x86 JIT evaluator's implementation of interval abs
  • Add generic TransformedShape<S>, representing a shape transformed by a 4x4 homogeneous matrix. This replaces RenderConfig::mat as the flexible strategy for rotation / scale / translation / perspective transforms, e.g. for interactive visualization (where you don't want to remap the underlying shape)
  • Introduce a new Bounds type, representing an X/Y/Z region of interest for rendering or meshing. This overlaps somewhat with TransformedShape, but it's ergonomic to specify render region instead of having to do the matrix
    math every time.
    • Replaced RenderConfig::mat with a new bounds member.
    • Added a new bounds member to mesh::Settings, for octree construction
  • Move Interval and Grad to fidget::types module, instead of fidget::eval::types.
  • Fix an edge case in meshing where nearly-planar surfaces could produce vertexes far from the desired position.
  • Add the modulo (Euclidean remainder) operation
  • Add logical operations (and, or, not), which can be used to build pseudo-conditionals which are simplified by the TracingEvaluator.