Skip to content

mesh-compile: a vertex inserted into a shared edge leaves a T-junction in the neighbouring face, yet the outcome is reported Solid #265

Description

@GeneralPawz

Since #262/#260 (mesh-compile 0.3.14), the certified clipper accepts a vertex lying inside another ring's edge and inserts it into that edge, but only in the face being triangulated. In a B-rep or faceted solid, the neighbouring face that shares the edge keeps the edge unsplit, so the mesh gets a T-junction. Those edges are then boundary edges, yet CompileOutcome still reports the body as Solid. A consumer's closure audit (axioval's audit_mesh) catches it and treats the body as an open surface. The kernel itself should never claim Solid for a mesh with boundary edges: that is a silently degraded result.

Done when

  • Either the inserted vertex is also inserted into the neighbouring face's copy of the shared edge (the shell is welded through it), or the outcome is not reported as Solid when the closure check finds boundary edges.
  • A test covers a faceted box whose face has a hole touching its outer edge at an interior point of that edge, as a B-rep and as authored polygons. It checks either that the result is closed and two-manifold, with volume exact, or that the outcome is demoted and the reason named.
  • A mutation probe shows the closure check and the outcome demotion are both load-bearing.

Reported by axioval after adopting mesh-compile 0.3.14.

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