Skip to content

Bound spline projection patches in a frame on each direction (ENG-3833) - #30

Merged
akhilles merged 1 commit into
masterfrom
akhil/eng-3833-foxtrot-slow-spline-projection
Oct 11, 2026
Merged

akhilles merged 1 commit into
masterfrom
akhil/eng-3833-foxtrot-slow-spline-projection

Conversation

@akhilles

@akhilles akhilles commented Oct 11, 2026 •

Copy link
Copy Markdown

Spline projection now bounds each Bezier patch in a frame on each parameter direction, not only on u. With one frame, thin oblique patches next to a sliver knot span stay unpruned. RFPC-SMA16-FN-A now takes 0.3 s instead of 1.7 s, and corpus output changes on 1 of 1,004 models with the same triangles, failed faces and error check. Part of ENG-3833.

Projecting a point onto a spline surface refines Bezier patches until
none can be closer than the incumbent. One lower bound measures each
patch in the frame (normal, S_u, normal x S_u). When S_v is oblique to
S_u, a long, thin patch extends along S_u by its length times the skew,
not by its width, and the bound misses the offset of a point beside it.

RFPC-SMA16-FN-A has a spline face with a knot span 2e-4 mm wide next to
spans 2.6 mm long, with S_v 3.8% oblique. Its patches across the thin
span could not be told apart, so each split of the span doubled the
live patches: some boundary points examined 50,000 patches, and two
faces took 1.6 s and 1 s on one core.

The patch is now also bounded in the frame (normal, S_v, normal x S_v),
and the larger bound is kept. Both are valid bounds, so the search
returns the same minimum to within roundoff. RFPC-SMA16-FN-A now takes
0.3 s instead of 1.8 s.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Not approved. This is a functional spline-projection change rather than a small fixup, so human review is needed and no reviewers were assigned. Cursor Security Agent completed with no findings; Cursor Bugbot was not running.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Router and Approver

@akhilles
akhilles merged commit 161b66d into master Oct 11, 2026
4 checks passed
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.

1 participant