FAILURE MAP
← Case archive

FA-88645 / Mesh topology invariants / Member archive

Edge flip misses an existing diagonal stored in the opposite direction · case 05

A flip that duplicates an edge already present elsewhere is accepted.

Member previewVariant 5 · 3 implementations · 7 checks per implementation

Case contract

Input [faces, a, b] for oriented triangles. The flip needs a triangle holding half-edge a->b (apex c) and one holding b->a (apex d), else "boundary"; exactly two faces may contain both a and b, else "non-manifold"; c==d is "degenerate"; an existing undirected edge c-d is "edge-exists". Otherwise replace the first triangle in place by [c,a,d] and the second by [d,b,c] and return the face list.

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
diagonal stored reversed[[2, 0, 3], [3, 1, 2], [3, 2, 4]]"edge-exists"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 ↗