Repository navigation
deps: bump raygeo to 1.73.0 - #679
Conversation
Picks up the exact line-and-arc toolpaths, the adaptive clearing correctness fixes and the plunge-feed semantics from raygeo 1.69.0 - 1.73.0: - Profile passes follow the exact line-and-arc offset and emit arcs as arcs (G2/G3-true walls); cut direction is honoured on both the polygon and curve-true paths. - Adaptive clearing no longer strands uncut floor: the entry spiral machines the seed disk, the ramp entry seeds its actual swath at tool width and keeps clear of islands, the core resume strategy clears step-over-scale remainders, and an erosion pass machines slivers that high step-overs strand (1.69.2 - 1.73.0). - Descents into material (entry descent, same-XY re-entries) are now emitted as cutting moves at the plunge feed, falling back to the cut feed when no plunge feed is set - previously they were rapid-classified travels. The pipeline's ComputePayload carries no plunge feed yet, so descents run at the cut feed; inter-step aggregate links keep their rapid plunges. - Wall margin now reaches the clearing pass's island clearance. - The wrong-side safehold returns RaygeoError::WrongSideCut instead of panicking on accepted input. No raygeo API used by rayforge changed in a breaking way; the new options (cut_direction, travel_mode, max_entry_angle_deg, for_tool constructors) all default to the previous behaviour.
raygeo 1.71.0 gave RampSpec a tool_radius parameter: the ramp seeds its cleared area with the swath its floor-level tail actually machined at tool width. The RampEntryStep relied on the raygeo default of 3.0 mm, which is wrong for every tool that is not 6 mm wide; pass the step's real tool radius instead.
🤖 Estimated LLM implementation costReplayed each of the 2 commits in this pull request and counted the code lines each commit added or rewrote:
Added lines by language: Python 28, Plain Text 2, TOML 1 Full estimate
Cost model: ≈10 tokens per code line at $15/Mtok output and $3/Mtok input (assuming heavy prompt caching); input ≈ 15× output for conversation replay; a review round ≈ 42,000 tokens; a failed CI run ≈ 21,000 tokens; file reads capped at 20 kB each. Active window from first commit to merge: <1 day.
|
Upgrades the raygeo dependency from 1.68.0 to 1.73.0 and makes the rayforge-side changes the releases call for.
Release notes reviewed (1.69.0 – 1.73.0)
offset_exact, profile passes that walk exact line-and-arc boundaries and emit arcs as arcs,plan_profile,ProfileRampSpec,step_overvalidation (plan layer), plunge feed.plunge_feed_rate.max_entry_angle_degentry-angle option, rest resume strategy, hostile-input guards ingenerate_helix_3d/generate_spiral_3d.RampSpecgainstool_radius) and keeps clear of islands; wall margin reaches the island clearance.cut_directionandTravelMode(SafeZ) options for clearing; descents into material carry the plunge feed; erosion pass for stranded slivers; canonicalfor_toolspec constructors.RaygeoError::WrongSideCutinstead of panicking; resume candidates are validated against the tool-centre envelope.Changes
RampEntryStepnow passes its real tool radius toRampSpec(1.71.0 API): the ramp seeds its cleared area with the swath its floor-level tail machined at tool width; the previous code relied on the raygeo default of 3.0 mm, which is wrong for any tool that is not 6 mm wide. Pinned by a new test.Behavior changes to be aware of
All changes below are raygeo's intended new defaults; every new planner option (
cut_direction,travel_mode,max_entry_angle_deg, thefor_toolconstructors) defaults to the previous behavior, and no API rayforge uses changed in a breaking way.ComputePayload) carries no plunge feed field yet, so descents run at the cut feed; slower than the old rapids, but also no longer plunging into full depth at rapid rate. Forwarding the steps' configured Plunge Rate needs aComputePayloadfield in raygeo — follow-up material. Inter-step aggregate links keep rapid plunges (rayforge's step groups have a single input each, so no links fire today).ARC_TO) even for polygon-only input: the exact offsetter rolls tangent arcs at corners that open away from the offset side. Downstream consumers were verified: the Grbl G-code encoder, the Ruida encoder, the preview converters and the simulator all handle arcs.Verification
pixi run lintgreen.pixi run test: 7934 passed.pixi run uitest: 1258 passed.