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::intervalnow returns anIntervalAction, which can beFill(..),Recurse, orInterpolate. - Modify
SdfRenderModeuse this interpolation; the previous pixel-perfect behavior is renamed toSdfPixelRenderModel - Make
RenderModetrait methods static, because they weren't using&self - Change signature of
fidget::render::render2dto pass the mode only as a generic parameter, instead of an argument
- Specifically,
- Add new operations:
floor,ceil,round,atan2 - Changed
BulkEvaluator::evalsignature 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_meshinginto a newfidget::shape::RenderHitstrait. This is a building block for generic (n-variable) function evaluation.