FAILURE MAP
← Case archive

FA-88409 / Mesh topology invariants / Member archive

Boundary loops are ordered by first vertex only · case 04

The outer boundary is no longer listed first when a hole has a smaller vertex id.

Member previewVariant 4 · 3 implementations · 7 checks per implementation

Case contract

Input: consistently oriented polygon faces. A half-edge (a,b) is boundary when (b,a) is not a half-edge. If any vertex starts two boundary half-edges return "ambiguous". Otherwise walk loops along the half-edge direction, each starting at its smallest vertex, and return them sorted by descending length then first vertex.

Why this case matters

Mesh processing pipelines (remeshing, export, simulation, printing) trust these topological counts and adjacency answers; a wrong invariant silently accepts broken meshes or rejects valid ones.

One recorded failure

Sample boundary fixture

This sample comes from the broken implementation of a controlled reproducer.

Boundary fixtureActualExpectedOutcome
disk with small far island[[0, 1, 2], [6, 7, 8, 9, 10]][[6, 7, 8, 9, 10], [0, 1, 2]]Failed

MEMBER ARCHIVE

The complete case is available to members.

This record includes three runnable implementations, regression fixtures, execution results, and source hashes.

Member access is invitation-based. Sign in with your invited account to inspect the sources.

Sign in to the archive ↗