forked from 1b-agent/opencadstudio-upstream
The SDF text collector re-laid out every glyph of every text entity on each frame (pan/zoom included). Cache the vertex list on the Scene keyed by (geometry_epoch, annotation-scale bits) — it only changes when geometry or the scale changes — so pan/zoom reuses it. Glyph baking happens on the cache-miss path only; the atlas is a persistent global and the texture upload is already gated on the geometry epoch, so cache hits skip both the layout and any re-upload. No behaviour change. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>