Two fixes for opening drawings with XCLIP'd blocks (crashed / mis-rendered
since SDF text became the default).
- block_cache emit_wire: the fill_tris/fill_tris_low length debug_assert
panicked in debug builds on a legitimate case — a Leader/dimension arrowhead
fill nested in a block carries fill_tris with an empty fill_tris_low (the
WireModel contract's "all-zero low" form, which the code already handles via
get().unwrap_or). Relax the assert to permit the empty case; a *partial* low
half is still caught.
- xclip clip_wires: also clip the SDF glyph quads. Block-internal text was
bleeding past the clip boundary (mixed batch) or vanishing (the tail retain
dropped empty-points wires). Now each glyph quad is kept/dropped by its
centroid vs the boundary (whole-glyph granularity), text_verts-carrying wires
survive the retain, and the pick-box AABB is recomputed from the surviving
glyphs.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>