fix(text): show text in command previews (move/copy/etc) (#316)
Command previews (MOVE, COPY, ROTATE, SCALE, STRETCH, MIRROR, ARRAY, PASTE, INSERT) build ghost WireModels via WireModel::translated/rotated/ scaled/stretched/mirrored, but those helpers moved only `points`, never `text_verts`, and the ghosts' glyphs were never uploaded — so text vanished (or froze at its source) during the preview, same root cause as the grip-drag case. Transform text_verts alongside points in all five helpers (shared map_text_verts, reconstructing + re-splitting the double-single world position), and gather preview_wires' glyphs into the per-frame preview-text buffer in the render path. This covers every command preview automatically. The grip-drag else branch no longer sets preview_text explicitly (the render gather handles it); the grip-slide fast path keeps its own scene.preview_text channel (empty preview_wires, so no double-draw). MIRROR honours MIRRTEXT: on -> true glyph mirror via mirrored(); off -> readable relocation via translated(). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
67fe363775
commit
f5870b011d
4 changed files with 95 additions and 14 deletions
|
|
@ -70,7 +70,7 @@ impl TextVertex {
|
|||
|
||||
/// Split an f64 into the double-single (high f32, low residual f32) pair the
|
||||
/// shaders reconstruct relative-to-eye.
|
||||
fn split_ds(v: f64) -> (f32, f32) {
|
||||
pub(crate) fn split_ds(v: f64) -> (f32, f32) {
|
||||
let high = v as f32;
|
||||
(high, (v - high as f64) as f32)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue