All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Updated license badge.
- Fixed LOESS mechanism figure path.
- Added visual validation to the bench branch.
- Reduced figures size significantly.
- Implement naming consistency for
auto_converge(removedauto_convergence).
- Fixed
boundary_degree_fallbackpass to online and streaming adapters. - Fixed
boundary_degree_fallbackpass tocustom_vertex_passandVertexPassFn. - Fixed KFold CV bug through adding explicit sorting of training subsets and using robust binary-search interpolation for each test point.
- Fixed
auto_convergesupport for Online adapter.
- Added
VertexPassFnandcustom_vertex_passsupport to enable parallelized/accelerated interpolation fitting. - Added support for custom vertex pass callbacks to all adapters (
Batch,Streaming,Online). - Added support for custom parallel/accelerated standard error calculation via
custom_interval_pass. - Added
KDTreeBuilderFnandcustom_kdtree_builderhook to enable external parallel KD-tree construction. - Added
KDTree::from_partsand exposedKDNodeandKDTree::calculate_left_subtree_sizeto support custom tree building. - Added neighborhood caching in
InterpolationSurfaceto significantly optimize performance during robustness iterations. - Added configurable
boundary_degree_fallbackoption to control polynomial degree reduction at boundary vertices during interpolation. Defaults totruefor stability; set tofalseto match R'sloessbehavior exactly.
- Changed license from AGPL-3.0-or-later to dual MIT OR Apache-2.0.
- Expanded
SmoothPassFn,CVPassFn, andIntervalPassFnsignatures to include full multi-dimensional context (dimensions, scaling, polynomial degree, etc.). - Improved data propagation in
InterpolationSurfaceto ensure all necessary coordinate and value slices are available to custom pass implementations. - Updated
LoessExecutorto correctly handle augmented data when switching between direct and interpolation modes. - Updated
InterpolationSurface::buildto accept and propagatepolynomial_degree,weight_function,zero_weight_fallback,distance_metric, andscalesforcustom_vertex_pass. Also, updatedLoessExecutorto pass these configured values correctly. - Improved documentation.
- Fixed a potential crash in parallel interpolation refinement by correctly propagating augmented data slices to vertex fitting functions.
- Fixed inconsistent parameter types in custom pass callbacks.
- Fixed missing setters for online and streaming adapters.
- Fixed incorrect standard error propagation in
BatchLoessBuilder. - Added
Boundary Linear Fallbackstrategy toInterpolationSurfaceto prevent numerical instability ("explosions") at data boundaries when using high-degree polynomials (Quadratic, Cubic, Quartic). - Fixed missing
max_distanceupdate in the KD-Tree search, which incorrectly calculated the bandwidth for tricube weights. - Fixed cumulative cross-contamination in regression buffers, which were not being zeroed between query points.
- Delegated 2D Cubic and 3D Quadratic from context to specialized accumulators.
- Fixed horizontal phase shift in
Interpolationmode when using boundary policies (Extend,Reflect,Zero). The robustness iteration loop was incorrectly using augmented data indices instead of original data for query point evaluation.
- Initial release.