Skip to content

Bump ezpz to 0.2.28 - #12431

Merged
adamchalmers merged 23 commits into
mainfrom
achalmers/ezpz-27
Aug 4, 2026
Merged

Bump ezpz to 0.2.28#12431
adamchalmers merged 23 commits into
mainfrom
achalmers/ezpz-27

Conversation

@adamchalmers

Copy link
Copy Markdown
Contributor

No description provided.

@adamchalmers
adamchalmers requested review from a team as code owners July 14, 2026 03:23
@vercel

vercel Bot commented Jul 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
modeling-app Ready Ready Preview Aug 4, 2026 10:17pm

Request Review

@codspeed-hq

codspeed-hq Bot commented Jul 16, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 126 untouched benchmarks
⏩ 151 skipped benchmarks1


Comparing achalmers/ezpz-27 (ba5f18e) with main (6b01bc2)2

Open in CodSpeed

Footnotes

  1. 151 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

  2. No successful run was found on main (02452c8) during the generation of this report, so 6b01bc2 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@davreev

davreev commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Seeing a failure on fillet_ambiguous_region_edge_specifier_broad that seems legit. Still looking into it but regions seem to be resolving differently (potentially due to slight numerical differences) which affects the extrusion and subsequent fillet.

Update: I think this is just a case of tolerances disagreeing between ezpz and toolpaths. Coordinate diffs are well within ezpz's residual_tolerance (max is ~7.14e-10) but they're large enough to cause regions to resolve differently.

image

Comment on lines -6 to -7
line1 = line(start = [var 0, var 0], end = [var 10, var 0])
line2 = line(start = [var 0, var 0], end = [var 0, var 10])

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We were getting a false positive on this one before - lines were the same before and after the solve. Ezpz changes just surfaced it.

Comment on lines +11222 to +11229
// NOTE: Current LinesAtAngle constraint collapses if lines are initialized perpendicular to
// one another because the gradient of the residual has no tangential component in this
// configuration. The only path to reducing the residual is shrinking the lengths of the
// lines which causing the lines to collapse, producing a degenerate output.
let initial_source = "\
sketch(on = XY) {
line(start = [var 0, var 0], end = [var 10, var 0])
line(start = [var 0, var 0], end = [var 0, var 10])
line(start = [var 0, var 0], end = [var 10, var 10])

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Worth flagging: LinesAtAngle is prone to collapse when initial conditions are pi/2 from the target angle and the lengths of the lines aren't otherwise constrained. Planning to address this in the next ezpz release.

@davreev davreev changed the title Bump ezpz to 0.2.27 Bump ezpz to 0.2.28 Jul 22, 2026
@davreev

davreev commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Ok I think I've gotten as far as I can with addressing cargo test failures for now. We've got 4 remaining failures that seem to be hitting a similar issue: sketches are converging on the same shape within ezpz tolerance (1e-8) but the tiny changes in coordinates are are causing downstream operations to fail/misbehave. Additional per-test details below.

Not entirely sure how to proceed from here. Seems like it could take some time to resolve these but we're effectively blocked on ezpz updates until we do.

fillet_ambiguous_region_edge_specifier/fillet_ambiguous_region_edge_specifier_broad

Sketch solves to the same shape on 0.2.28 within tolerance (max coord delta is ~7.14e-10) but regions resolve differently. Comparison of behavior on 0.2.28 (top) with behavior with 0.2.26 (bottom):

fillet-ambiguous-region-2-28.mp4
fillet-ambiguous-region-2-26.mp4

fun_stacker_toy

Sketch solves to the same shape on 0.2.28 within tolerance (with the exception of circle start anchors which differ up to 1e-4 since they're unconstrained/free to drift on the perimeter) but regions don't resolve correctly:

fun-stacker-toy-sketch-1 fun-stacker-toy-regions-1

Related issue: https://github.com/KittyCAD/toolpaths/issues/431

sheet_metal_bracket

Sketch solves to the same shape on 0.2.28 within tolerance with the exception of a small handful of coords whose diff is between 1e-5 and 1e-6. Failure is in the downstream CSG subtract and is caused by a single extrusion (from region009) whose profile/placement doesn't appear to be problematic. Can't see why this one would fail.

sheet-metal-bracket-subtract-1 sheet-metal-bracket-subtract-2

Constrain circle seam orientations in configuration that results in successful CSG
@davreev

davreev commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

FYI can ignore failure on error_large_fillet_radiusas it's been disabled (details: https://kittycadworkspace.slack.com/archives/C09LS6MA43H/p1784744064631649)

@davreev

davreev commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Update: fillet_ambiguous_region* and fun_stacker_toy failures were being caused by some tolerance inconsistencies in toolpaths which have been addressed. The CSG subtract failure in sheet_metal_bracket remains a mystery but updating the KCL to use warm initial values seems to be enough to get around it for now. Will add it to the list of CSG issues to investigate.

@adamchalmers
adamchalmers marked this pull request as ready for review August 4, 2026 20:18

@jtran jtran left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please merge main to not miss new tests added.

Comment thread rust/kcl-lib/src/frontend.rs Outdated
adamchalmers and others added 2 commits August 4, 2026 17:01
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
@adamchalmers
adamchalmers enabled auto-merge (squash) August 4, 2026 22:14
@adamchalmers
adamchalmers merged commit c47a5ae into main Aug 4, 2026
72 of 73 checks passed
@adamchalmers
adamchalmers deleted the achalmers/ezpz-27 branch August 4, 2026 22:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants