Skip to content

port: query.poly - #621

Merged
bherbruck merged 6 commits into
tangency-labs:mainfrom
altvnk:harness/poly-real-owner
Oct 23, 2026
Merged

bherbruck merged 6 commits into
tangency-labs:mainfrom
altvnk:harness/poly-real-owner

Conversation

@altvnk

@altvnk altvnk commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Scope

Add explicit real owning-face geometry to query.poly: Rust Brep/FaceId resolution, native SmFace/SmPlane/Bezier SmBSplineSurface degeneracy decisions, and independent mapping/pole/seam/identity controls. The legacy opaque-label path is retained without invented geometry.

Five paths versus authoritative main:

  • crates/solidcore/src/query/poly.rs
  • crates/solidcore-ffi/src/units/query_poly.rs
  • crates/difftest/src/units/query_poly.rs
  • harness/cpp/shim/query_poly.cpp
  • fixtures/query.poly/real_owners.json

Exact-head verification

Tested head: 537a20ac9ed5beb3a1fe6e948f0a24d0d9ba0091.
Canonical CI 39971909395: 7/7 jobs successful, including C++ Clippy, native difftest, runner tests, kernel tests, fmt, wasm, deny and publish dry-run.

PARTIAL query.poly cases=687 passed=685 failed=0 deferred=2 max_rel_err=0e0 with_values=685 no_values=0 vacuous=0 blocked_by=topology.face_p2(2)
difftest: 260 unit(s), 189 passed, 71 partial, 0 failed

Passed at this head:

  • owner_tests::original_corpus_and_opaque_native_outputs_are_retained
  • owner_tests::real_owner_native_mapping_poles_seams_and_controls
  • query::poly::tests::degeneracy_resolves_real_face_but_not_an_opaque_key

Original 671 cases = 669 passes + the same 2 unresolved-owner deferrals (gen0378, gen0496), including unchanged native four-element -9 outputs. Added 16 explicit-owner fixtures / 27 native degeneracy calls. Original fixtures, generator, inputs and guards retained; strict 1e-9 relative tolerance, no absolute floors.

Sync and limits

Authoritative live main 27b698e905f033b4a6a96548fbc65b2bfae04294 is an ancestor through attributed merge ad1e8771fb98e141cbdc3d043607cfaafc2e2f70; clean worktree, clean mergeability and five-path scope verified before readiness. The final commit changes only two documentation comments, with no runtime changes.

Documented deviation: upstream ignores surface-evaluation statuses; the owner-aware Rust method propagates evaluation errors. No unsupported claim of undefined native points.

query.poly remains partial, not green. No schema/guard/reference/tolerance/floor/plan-status edits, local compilation/native/tests, CI rerun, merge-to-main or queue action.

altvnk and others added 6 commits October 23, 2026 15:31
Co-Authored-By: GPT-6.1 Sol Fast <noreply@openai.com>
…ases

Add an opt-in real-face resolver and port the native UV/pole/seam degeneracy continuation. Compare real SmFace surfaces, independent mapped samples, and native IsDegenerate decisions in 16 new fixtures (27 calls). Preserve the original generator and opaque-owner paths; no tolerance or unit-status changes.

Co-Authored-By: OpenCode (GPT-6.1 Sol Fast) <noreply@openai.com>
Forward only the public SmObject context allocator and matching ordinary/placement deletes, avoiding SmTopology's hidden allocator and SmObject's private overloads. No geometry, protocol, guard or fixture changes.

Co-Authored-By: OpenCode (GPT-6.1 Sol Fast) <noreply@openai.com>
Use checked first-row access with the existing harness error, terminate the unit-returning mutation arm, and merge only identical expected-result patterns. No geometry, fixture, generator, guard or comparison changes.

Co-Authored-By: OpenCode (GPT-6.1 Sol Fast) <noreply@openai.com>
Sync with verified main 27b698e before the approved documentation-only clarification.

Co-Authored-By: OpenCode (GPT-6.1 Sol Fast) <noreply@openai.com>
Document that upstream ignores evaluation statuses while the owner-aware method propagates errors. Remove unsupported claims about undefined native points; no runtime changes.

Co-Authored-By: OpenCode (GPT-6.1 Sol Fast) <noreply@openai.com>
@altvnk
altvnk marked this pull request as ready for review October 23, 2026 14:55
@bherbruck
bherbruck added this pull request to the merge queue Oct 23, 2026
Merged via the queue into tangency-labs:main with commit 67e9a5e Oct 23, 2026
7 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.

2 participants