perf(scene): apply text LOD ladder to MultiLeader text content

MultiLeader's text strokes go through cxf::tessellate_text_ex per-glyph
regardless of zoom — same waste the top-level Text/MText path used to
have. Mirror the 1/5 px ladder here:

  h_px < 1   → top-line baseline (skipped if its own length is < 2 px)
  1 ≤ h < 5  → greek rect at the tight text bbox, color pre-boosted for
               the face3d 0.45 fill_tris dim
  h_px ≥ 5   → full per-glyph stroke (existing path, untouched)

Frame and background-fill rects keep rendering at every LOD — only the
glyph payload is collapsed.

Plain Leader entities don't bake their own text (annotation lives in a
separate linked MText), so they already inherit the top-level Text/MText
ladder; no change there.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Hakan 2026-05-15 14:22:05 +03:00
commit 1f1aa80f17
2 changed files with 132 additions and 36 deletions

View file

@ -4023,6 +4023,7 @@ fn tessellate_entity(
line_weight_px,
world_offset,
anno_scale,
world_per_pixel,
);
for w in &mut wires {
w.aci = aci;