v0.2.7
Pre-release
Pre-release
This release brings us to opcode parity with libfive
's operators, adding atan2
and various rounding operations. In addition, there are a few new APIs and rearrangements in preparation for larger refactoring to come.
- Changed to 2D rendering API to support render modes which use linear interpolation to process full / empty regions
- Specifically,
RenderMode::interval
now returns anIntervalAction
, which can beFill(..)
,Recurse
, orInterpolate
. - Modify
SdfRenderMode
use this interpolation; the previous pixel-perfect behavior is renamed toSdfPixelRenderModel
- Make
RenderMode
trait methods static, because they weren't using&self
- Change signature of
fidget::render::render2d
to pass the mode only as a generic parameter, instead of an argument
- Specifically,
- Add new operations:
floor
,ceil
,round
,atan2
- Changed
BulkEvaluator::eval
signature to take x, y, z arguments as&[T]
instead of&[f32]
. This is more flexible for gradient evaluation, because it allows the caller to specify up to three gradients, without pinning them to specific argument. - Moved
tile_sizes_2d
,tile_sizes_3d
, andsimplify_tree_during_meshing
into a newfidget::shape::RenderHits
trait. This is a building block for generic (n-variable) function evaluation.