v0.13.0
Release v0.13.0
Highlights
- Improved
adaptive_wavefronts()results — better quality wavefront generation - Numerous performance improvements —
sweep_area(),build_link_segmentswith rayon, lazy MAT trimming, profiling infrastructure - Reorganized
opsmodule:ops.polylinesplit intoops.assembly.polyline+ops.transform.link;ops.assembly.hsmsplit intoops.assembly.entry+ops.assembly.wavefront - Removed unreliable
adaptive_peeling()and associated HSM pipeline - New
geo.algo.engagementmodule:point_engagement,angular_engagement,compute_engagement,disk_segment_area - New
geo.algo.rootfindmodule:bisect,illinois,secantsolvers with tracking variants andbracket_grid - New geometry helpers:
does_polygon_enclose_circle,get_polygon_heading_at,walk_polygon_from_point,rotate_point,normalize_angle_signed,does_rect_contain_rect SpatialGridgains aremove()method
Migration Guide: v0.12.1 → v0.13.0
Module Moves
ops.polyline split into ops.assembly.polyline + ops.transform.link
| v0.12.1 | → | v0.13.0 |
|---|---|---|
raygeo.ops.polyline.polyline_to_ops |
→ | raygeo.ops.assembly.polyline.polyline_to_ops |
raygeo.ops.polyline.link_passes |
→ | raygeo.ops.transform.link.link_passes |
raygeo.ops.polyline.find_pass_entry |
→ | raygeo.ops.transform.link.find_pass_entry |
raygeo.ops.polyline.find_pass_exit |
→ | raygeo.ops.transform.link.find_pass_exit |
raygeo.ops.polyline.LinkStrategy |
→ | raygeo.ops.transform.link.LinkStrategy |
Old: from raygeo.ops.polyline import polyline_to_ops, link_passes, LinkStrategy
New: from raygeo.ops.assembly.polyline import polyline_to_ops / from raygeo.ops.transform.link import link_passes, LinkStrategy
ops.assembly.hsm split into ops.assembly.entry + ops.assembly.wavefront
| v0.12.1 | → | v0.13.0 |
|---|---|---|
raygeo.ops.assembly.hsm.adaptive_entry |
→ | raygeo.ops.assembly.entry.adaptive_entry |
raygeo.ops.assembly.hsm.adaptive_wavefronts |
→ | raygeo.ops.assembly.wavefront.adaptive_wavefronts |
Old: from raygeo.ops.assembly.hsm import adaptive_entry, adaptive_wavefronts
New: from raygeo.ops.assembly.entry import adaptive_entry / from raygeo.ops.assembly.wavefront import adaptive_wavefronts
Removed (No Replacement)
adaptive_peeling()— too unreliable, removed entirelyfind_cutting_arc(),link_arcs_to_ops(),split_ordered_wavefronts(),PyWavefrontGraph— part of removed HSM pipelinedoes_rect_intersect_rect()— duplicate ofdo_rects_intersect()find_next_resume(..., medial_axis=...)—medial_axisparameter droppedResumePoint.link_pathfield removedTool.step/Tool.step_with_bias— merged into singlestepmethod
Removed Modules
| Module | Migration |
|---|---|
raygeo.ops.polyline |
→ ops.assembly.polyline + ops.transform.link |
raygeo.ops.assembly.hsm |
→ ops.assembly.entry + ops.assembly.wavefront |
New Public API
raygeo.geo.algo.engagement — point_engagement, angular_engagement, compute_engagement, disk_segment_area
raygeo.geo.algo.rootfind — bisect, bisect_tracked, bracket_grid, illinois, illinois_tracked, secant, secant_tracked
New geometry helpers — does_polygon_enclose_circle, get_polygon_heading_at, walk_polygon_from_point, rotate_point, normalize_angle_signed, does_rect_contain_rect, SpatialGrid.remove
Quick Migration
# polyline / link
# Old:
from raygeo.ops.polyline import polyline_to_ops, link_passes, LinkStrategy
# New:
from raygeo.ops.assembly.polyline import polyline_to_ops
from raygeo.ops.transform.link import link_passes, LinkStrategy
# HSM assembly
# Old:
from raygeo.ops.assembly.hsm import adaptive_entry, adaptive_wavefronts
# New:
from raygeo.ops.assembly.entry import adaptive_entry
from raygeo.ops.assembly.wavefront import adaptive_wavefronts
# Removed — no replacement:
# adaptive_peeling(), find_cutting_arc(), link_arcs_to_ops(),
# split_ordered_wavefronts(), PyWavefrontGraph