Reflects cutting up-tooth apexes (except entry teeth): seed7 removes 17
source-dual edges, so its dual retains cycles (not a tree).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reads the chained medial tire cut off as a source-dual cut (planar dual of
G with the cut edges removed), as in seed59_min5_dual_cut_1.png, and counts
the missing dual edges around each dual face (vertex of G).
Four chained entry points, broad to narrow control:
- random_dual_cut: random min-degree-5 maximal planar graph -> ...
- dual_cut_random_source: random level source -> ...
- dual_cut_random_entry: random root entry tooth -> ...
- medial_tire_dual_cut: worker chaining the walk-depth labelling/cut.
Refactor _label_treads to accept an optional root_entry_edge (default
preserves the arbitrary-up-tooth behaviour) so the worker can pin the entry.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>