v0.2.3
Pre-release
Pre-release
- Fix a possible panic during multithreaded 3D rendering of very small images
- Add
compare
operator (equivalent to<=>
in C++ orpartial_cmp
in Rust, with the difference that unordered results are returned asNAN
) - 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 replacesRenderConfig::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 withTransformedShape
, but it's ergonomic to specify render region instead of having to do the matrix
math every time.- Replaced
RenderConfig::mat
with a newbounds
member. - Added a new
bounds
member tomesh::Settings
, for octree construction
- Replaced
- Move
Interval
andGrad
tofidget::types
module, instead offidget::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 theTracingEvaluator
.