Commit a45cb20
Refs #3915. Diagnosis only: no executable change.
#3915 asked whether the interner should canonicalize near-coincident
constraint-intersection vertices during retriangulation, on the theory
that sweep_261 interns three separate Vids for one shared corner.
Instrumented directly against this reproduction, that theory does not
hold: the only near-coincident pair is Vid 13 / Vid 14 (83.85 um apart,
matching the issue's own measurement), and there are two of them, not
three. Both are legitimate, distinct corners -- each the base of a real
hairline retriangulation sliver from a different operand -- not two
derivations of one point. The edge between them is over-used because a
third, unrelated triangle (the needle already named in #3918 as "the
whole defect") also claims it via a classify.rs regime-1 misclassification,
not because any vertex needs merging.
The interner's own contract (exact cmp_lex equality, construction-
independent) already exonerates it, and folding Vid 13/14 together would
require a coarser, threshold-based identity criterion -- the same
"coincidence criterion" #3918 already measured at the classification
layer (parent-flush gating) and found to regress 20 to 39 golden corpus
hosts. Moving that threshold into the interner relocates the cost, it
does not avoid it. No canonicalization is proposed.
Gates: cargo test -p ifc-lite-geometry --no-fail-fast (0 failed), clippy
-D warnings (clean), module_size_ratchet (6/6), check-module-size (0
new over budget), check-test-wiring, check-source-text-assertions all
clean.
Claude-Session: https://claude.ai/code/session_01QPHChk3Ve9N519A4kY7436
Co-authored-by: Louis Trümpler <78563314+louistrue@users.noreply.github.com>
1 parent c7f59ce commit a45cb20
1 file changed
Lines changed: 60 additions & 1 deletion
Lines changed: 60 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
228 | 228 | | |
229 | 229 | | |
230 | 230 | | |
231 | | - | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
232 | 291 | | |
233 | 292 | | |
234 | 293 | | |
| |||
0 commit comments