Skip to content

Union of two pieces sharing a full face returns two components instead of one solid #100

Description

@GeneralPawz

The new exactness suite scores (A-B) u (A^B) = A and it fails on
topology while volume is exact:

reconstruction   2.0e0 euler   (axiolid)

Probe output for the two sides:

lhs  vol=4.800000000  euler=4  comps=2  manifold=true
rhs  vol=4.800000000  euler=2  comps=1  manifold=true

What this means

Splitting A by B and re-uniting the two pieces returns them as TWO
separate closed solids instead of re-welding them into one. chi=4
with comps=2 is exactly two closed shells (2 each); A itself is one
shell with chi=2.

The volume is right to 9 decimals because the two pieces partition A
exactly, and each piece is individually a closed manifold, so
manifold=true on both sides.

Why it went unnoticed

The previous suite scored volume only, and volume is exact here. A
manifold audit alone would also pass, since each shell is closed and
two-manifold on its own. Only the component count and the Euler
characteristic separate "one solid" from "two solids that happen to
touch", which is why this surfaced the moment those metrics were
added to the scoring.

Reproduce with --only=exactness; the reconstruction row is the
one that fails.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

needs-triageFiled but not yet accepted, sized, or scheduled

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions