pub fn topology_counts_native(
handle: u32,
) -> Result<(usize, usize, usize, usize), String>Expand description
Topology TOTALS of a resident solid as
(faces, edges, non_degenerate_edges, vertices), read straight off the
record: every face of every shell, every edge, every edge that is not a
collapsed pole boundary, every vertex.
The two edge counts answer different questions and both are worth recording. The RAW total is what a reader means by “15 edges” when looking at the record, and it is the right thing to diff between two runs. The NON-DEGENERATE count is the one a derivation can state from the intended construction, because it excludes the seam and pole boundaries the kernel chose as scaffolding rather than anything the shape has.
These are what a case gate compares. A solid can keep its volume to the
last digit while gaining or losing edges — inbox-20260909-tube-joint-edge-splits
carried “7 faces / 17 edges / 11 vertices” in prose for a month with every
local assertion in its suite passing — so the totals are recorded and
diffed, not stated. Reads the solid in one registry borrow.