Swapped the endpoint-priority comparison in pick_next_component from topmost-leftmost to bottommost-leftmost. For most Latin letters the natural pen-down anchor sits at the bottom (M/W/V/U feet, A's foot, vertical-stem letters' base). Top-of-glyph endpoints are still candidates — they just lose to a bottom one when both exist in the same component. For M at 5mm/425 specifically, the first stroke now starts at the bottom-left foot (108, 270) and walks up with init_dir=(0, -1), where it previously started at the top-left peak (108, 146) and walked down. Stroke count dropped 4 → 3 at that scale. Corpus metrics are roughly flat (±0.5% coverage per scale, ±1-2 total strokes per scale). The change is principled — pen-down anchors at the bottom for most letters — without regressing overall coverage. Adds a paint_diagnose_endpoints test (env-driven, #[ignore]) for inspecting endpoint positions + init_dirs + first-stroke start for any letter+scale.
Description
No description provided
Languages
Rust
68.9%
JavaScript
29%
Shell
1.3%
GLSL
0.6%
WGSL
0.1%