re: shared decodes are mostly legitimate reuse -- correcting yesterday's claim
I wrote that "two distinct resources sharing one decode is itself the bug" when withdrawing the neighbourhood anchor. Measured, that is wrong. 1043 of 5480 decoded resources (19%) share geometry with another resource, and of 1242 related pairs that share a decode somewhere, 1241 are identical in EVERY container they co-occur in. That is what legitimate asset reuse looks like, not a defect. A mirrored pair like bdy_01/bdy_02 is SUPPOSED to share one geometry with the reflection applied at placement -- which is precisely what apply_twin_mirrors does. So the twin-mirror regression was never about sharing. It is about WHICH of two mirrored buffers is canonical: the disc holds an X+ and an X- version, the engine treats one as the base, and the neighbourhood anchor moved these resources to the nearer buffer, which is the other one. The fix is to pin the canonical buffer with the capture as oracle, not to split the twins apart. Exactly one pair is provably mis-anchored by this test: e105_bdy_02_l / e105_brg_m, identical in 7 of the 15 containers holding both and different in the rest -- two names cannot be the same geometry only sometimes. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -438,11 +438,27 @@ before the change both twins decode with mean_x = −66.83 → mirror bdy_02
|
|||||||
after the change both twins decode with mean_x = +66.83 → mirror bdy_01 (contradicts it)
|
after the change both twins decode with mean_x = +66.83 → mirror bdy_01 (contradicts it)
|
||||||
```
|
```
|
||||||
|
|
||||||
Neither is right: two distinct resources sharing one decode is itself the bug,
|
The runtime capture is ground truth, so a change that contradicts it does not
|
||||||
and the mirror heuristic has been compensating for it. The runtime capture is
|
ship.
|
||||||
ground truth, so a change that contradicts it does not ship — **the real fix must
|
|
||||||
give each twin its own buffer**, after which the mirror rule can use each
|
**Correction (measured after the fact):** the first write-up of this said "two
|
||||||
resource's own geometry.
|
distinct resources sharing one decode is itself the bug". **That is wrong.**
|
||||||
|
Sharing is normal here — 1 043 of 5 480 decoded resources (19 %) share geometry
|
||||||
|
with another resource, and of 1 242 related pairs, **1 241 are identical in every
|
||||||
|
container they co-occur in**, which is what legitimate asset reuse looks like.
|
||||||
|
A mirrored pair like `bdy_01`/`bdy_02` is *supposed* to share one geometry, with
|
||||||
|
the reflection applied at placement — exactly what `apply_twin_mirrors` does.
|
||||||
|
|
||||||
|
What actually matters is **which of two mirrored buffers is canonical**. The disc
|
||||||
|
holds both an X+ and an X− version; the engine treats one as the base, and
|
||||||
|
`apply_twin_mirrors` was tuned against that. The neighbourhood anchor moved these
|
||||||
|
resources to the *nearer* buffer, which is the other one — hence the flip. So the
|
||||||
|
real fix is not "give each twin its own buffer" but **pin which buffer is
|
||||||
|
canonical**, with the capture as the oracle.
|
||||||
|
|
||||||
|
**Exactly one pair is provably mis-anchored by this test**: `e105_bdy_02_l` /
|
||||||
|
`e105_brg_m` share a decode in 7 of the 15 containers holding both and differ in
|
||||||
|
the rest — two names cannot be the same geometry only sometimes.
|
||||||
|
|
||||||
**The filtered path needed care.** `models_named` (what the viewer's ship
|
**The filtered path needed care.** `models_named` (what the viewer's ship
|
||||||
rendering uses) drops non-wanted resources, which would leave a filtered decode
|
rendering uses) drops non-wanted resources, which would leave a filtered decode
|
||||||
|
|||||||
Reference in New Issue
Block a user