Commit Graph

6 Commits

Author SHA1 Message Date
Alex Lytvynenko 6b20e1182a wire: propagate original-face attributes to poly faces
Use real source/destination notification context, preserve native mutation order, and exercise plain/composite Copy and Reference lifetimes.

Co-Authored-By: OpenAI GPT-6.1 <noreply@openai.com>
2026-10-27 13:37:02 +01:00
Brett Lawson 72e84e0142 query.poly: reject IsDegenerate on a labelled fake SmFace from the shim, input-based
The shim decides from the built model (original-face label with valid back
pointers) and returns STATUS_UNDEFINED_INPUT before any call; run_cpp maps it
to rejected instead of matching a -9 sentinel in the output. Records measured
evidence for the curve_class_p1 either-axis zero UV domain guard.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011gJAwcLRBPQXYLmvXd3pWf
2026-10-25 19:15:48 +01:00
Alex Lytvynenko 7ea03f3b94 query.poly: preserve native context allocation for owner faces
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>
2026-10-23 16:09:05 +02:00
Alex Lytvynenko 29b5803771 query.poly: compare genuine owner geometry without replacing legacy cases
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>
2026-10-23 15:55:49 +02:00
jijinbei 875291c4d9 shim: share identical C++ helpers through sc_sm.h, sc_nlib.h, sc_gw.h
125 shims carried private copies of the same small helpers (put_vec, st,
nl_status, Rd, dump_crv, read_nurb, ...). Move the most common, byte-identical
form of each into three headers grouped by the upstream API they need, and have
those shims pull them in with `using sc::<name>;`. Shims with a different
variant keep their own copy; files touched by open PRs are left alone.
`the_context()` stays per shim (its function-local SmContext must not be shared).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FBLgPenT24P1dunqnZR1Dj
2026-10-17 06:43:03 +09:00
bherbruck cd5373d871 port: query.poly (SmPolyBrep poly objects)
Ports the SmPoly.cpp functions owned by query.poly to query::poly with a
C++ shim, FFI wrapper, difftest runner and upstream-derived fixtures.
PARTIAL: 610/612 bit-identical, 2 deferred on topology.face_p2.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BY8UpXKuMci15rAWGXsbsm
2026-10-14 16:54:09 -04:00