Properly track the Text node's text frame via the attribute system to fix misalignment (#4097)

* Compensate for upstream row-0 transform absorption in viewport-space 'TransformSet'

* Add 'editor:text_frame' row attribute so the Text tool's drag cage tracks multi-row text

* "Separate Glyph Elements" -> "Separate Glyphs"

* Improve artboard migration robustness from older documents

* Code review

* Make the tools visualize the text frame based on attribute not upstream node
This commit is contained in:
Keavon Chambers
2026-05-02 21:04:30 -07:00
committed by GitHub
parent de2ae29edd
commit ebdb835890
17 changed files with 169 additions and 59 deletions

View File

@@ -59,8 +59,8 @@ fn text<'i: 'n>(
/// To have an effect on a single line of text, *Max Width* must be set.
#[widget(ParsedWidgetOverride::Custom = "text_align")]
align: TextAlign,
/// Whether to split every letterform into its own vector path element. Otherwise, a single compound path is produced.
separate_glyph_elements: bool,
/// Whether to split every letterform into its own vector item. Otherwise, a single vector compound path is produced.
separate_glyphs: bool,
) -> Table<Vector> {
let typesetting = TypesettingConfig {
font_size: size,
@@ -72,5 +72,5 @@ fn text<'i: 'n>(
align,
};
to_path(&text, &font, &editor_resources.font_cache, typesetting, separate_glyph_elements)
to_path(&text, &font, &editor_resources.font_cache, typesetting, separate_glyphs)
}