mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-11 18:54:55 +00:00
Merge pull request #6559 from dotCooCoo/fix/dimension-expand-keeps-live
Dimension tool: a dimension selected with its art stays live through Expand and Outline Stroke
This commit is contained in:
+21
-8
@@ -74,14 +74,27 @@ paths and text as ordinary art. Object › Expand, Object › Expand Appearance,
|
||||
and Object › Path › Outline Stroke turn a dimension whose art they change into a plain group of that
|
||||
art, also when they reach only a part of it: moving or scaling the group does not redraw it, it does
|
||||
not follow the art it measured, and undoing the command gives the live dimension back. The menus dim
|
||||
Object › Expand… while a whole dimension is selected, because its label has appearance items;
|
||||
Object › Expand Appearance and the `object.expand` command still reach it. A dimension selected with
|
||||
the art it measures also becomes a plain group when Object › Expand, Object › Expand Appearance or
|
||||
Object › Path › Outline Stroke changes only that art and the art no longer fits the dimension's link,
|
||||
for example because its number of anchors changed. When the art keeps its id and anchor count and the
|
||||
dimension's own art does not change, the dimension stays live and its label shows the new length. Pasted
|
||||
dimensions keep their geometry and drop their links, so they never bind to unrelated art in another
|
||||
document.
|
||||
Object › Expand… while a whole dimension is selected without the art it measures, because its label
|
||||
has appearance items; Object › Expand Appearance and the `object.expand` command still reach it.
|
||||
|
||||
When a whole dimension is selected together with art it measures, directly or in selected groups
|
||||
without fills, strokes or effects of their own, Object › Expand, Object › Expand Appearance and
|
||||
Object › Path › Outline Stroke leave the dimension's lines and label as they are and change only the
|
||||
other art. The menus do not dim Object › Expand… for the label of such a dimension. If the new art no
|
||||
longer fits the dimension's link, for example because its number of anchors changed, the dimension
|
||||
stays where it was, no longer linked, as it does when its art is deleted. Undoing the command links
|
||||
it again. When the art keeps its id and anchor count, the dimension stays linked and its label shows
|
||||
the new length. When the dimension is all the command would change, the command changes nothing and
|
||||
reports the error it gives for a selection with nothing to change: "Expand: nothing to expand",
|
||||
"Expand Appearance: the selection has a basic appearance" or "Outline Stroke: no stroked paths
|
||||
selected". A selected group with fills, strokes or effects of its own changes everything it holds
|
||||
when its appearance expands, its dimensions included: a geometry effect is baked into their lines
|
||||
and label, which become a plain group, and a blur, feather or inner glow turns them into part of the
|
||||
image that replaces the group's art. Type › Create Outlines still outlines the label of a dimension
|
||||
selected with its art, which turns the dimension into a plain group.
|
||||
|
||||
Pasted dimensions keep their geometry and drop their links, so they never bind to unrelated art in
|
||||
another document.
|
||||
|
||||
## Commands
|
||||
|
||||
|
||||
+4
-1
@@ -3652,7 +3652,10 @@ holds symbol instances that `object` expands, whether only their art holds it, w
|
||||
`object` on), and `object.mesh.create` on a gradient-filled object colours the
|
||||
mesh points as the gradient paints them, with the colors Object › Expand gives them.
|
||||
`object.expand`, `effect.expandAppearance`, `type.createOutlines` and `object.path.outlineStroke` turn a dimension whose
|
||||
art they change into a plain group of that art, in the same undo step (see [dimensions.md](dimensions.md)).
|
||||
art they change into a plain group of that art, in the same undo step. `object.expand`, `effect.expandAppearance` and
|
||||
`object.path.outlineStroke` leave a dimension selected with art it measures, directly or in groups without fills,
|
||||
strokes or effects of their own, as it is and change only the other art; if the new art no longer fits the dimension's
|
||||
link, the dimension stays where it was, no longer linked (see [dimensions.md](dimensions.md)).
|
||||
`object.expand` rejects a param of the wrong type, such as `"fill": "yes"`, `"gradient": 3` or `"steps": "16"`, and
|
||||
changes nothing. Omitting a param or giving null keeps its default.
|
||||
|
||||
|
||||
@@ -566,6 +566,7 @@ since 2026-10-01.
|
||||
**Drawing tools, Star inner radius held with Ctrl/Cmd:** While a star is dragged out, Ctrl/Cmd keeps the inner radius the star showed when the key went down, also when the key is pressed with the pointer still. `a_star_drag_holds_its_inner_radius_with_ctrl_and_straightens_with_alt` and `a_star_drag_holds_the_inner_radius_it_shows_when_ctrl_goes_down` cover it, with Alt's straight shoulders and a drag canceled with Escape.
|
||||
**Drawing tools, Dimension tool horizontal and vertical linear dimensions:** A linear dimension between two clicked points or dragged out from a segment is aligned, horizontal or vertical, chosen by where the pointer moves while it is placed, and a click again by the second point gives aligned; `dimension.create` and `dimension.update` take `orientation`, and the dimension stays linked to the anchors it measures, keeps its orientation when it or the art turns, with a line that lay outside the points kept outside them; an unlinked horizontal or vertical dimension that is reflected has its line on the reflected side. `the_pointer_chooses_aligned_horizontal_or_vertical`, `two_points_measure_horizontally_vertically_or_aligned`, `clicking_again_by_the_second_point_places_an_aligned_dimension`, `a_segment_drag_measures_horizontally_vertically_or_aligned`, `points_on_a_vertical_line_measure_aligned`, `horizontal_and_vertical_dimensions_draw_lines_along_their_axis`, `turned_horizontal_dimensions_stay_horizontal`, `a_linked_horizontal_dimension_keeps_its_gap_from_turned_art`, `a_linked_horizontal_dimension_below_or_between_its_points_follows_turned_art`, `a_reflected_horizontal_dimension_keeps_its_line_on_the_reflected_side`, `a_dimension_without_an_orientation_reads_as_aligned`, `dimension_orientation_is_checked` and `a_turned_dimension_keeps_its_line_on_its_side` cover it.
|
||||
**Drawing tools, Dimension tool points that are not anchors follow the art:** A clicked point on a segment stays at its place along the segment, also when the segment curves, and a point off the art is linked to anchors (or, when the anchors lie on one line, anchors and handles) of the path, so both ends of the dimension follow when the art is moved, scaled, turned or reflected, also when the point was placed by a Smart Guide and when the dimension is saved and opened again; a linked linear dimension of reflected art (other than art on one line) has its line on the reflected side; deleting the art, changing its anchor count or whether it is closed, turning an angle's arm into a curve, or making a measured circle or arc no longer circular leaves the dimension where it was, no longer linked, instead of removing it. `a_dimension_to_a_point_on_a_segment_follows_the_art_at_both_ends`, `a_dimension_to_a_point_off_the_art_moves_with_the_art`, `a_dimension_whose_art_changes_its_anchors_stays_where_it_was`, `a_dimension_whose_art_is_opened_stays_where_it_was`, `angle_and_arc_dimensions_whose_art_no_longer_fits_stay_where_they_were`, `a_dimension_that_cannot_be_drawn_again_keeps_its_art`, `a_linked_dimension_of_reflected_art_has_its_line_on_the_reflected_side`, `a_dimension_to_a_point_off_a_line_follows_the_line`, `a_point_off_an_arch_is_reflected_with_the_arch`, `a_point_beside_an_almost_straight_curve_follows_it`, `a_point_off_a_loop_with_its_anchors_in_one_place_follows_it`, `a_point_beside_a_reflected_line_moves_as_a_half_turn_would`, `a_point_on_a_segment_stays_on_it_when_the_segment_curves`, `a_linked_dimension_of_a_reflected_curve_has_its_line_on_the_reflected_side`, `a_dimension_of_art_reflected_across_its_points_changes_sides`, `a_dimension_between_paths_reflected_each_in_its_own_way_keeps_its_offset`, `free_points_survive_a_native_file`, `dimension_free_points_are_checked`, `points_off_anchors_are_held_against_the_path` and `a_point_smart_guides_place_is_held_against_the_path` cover it.
|
||||
**Drawing tools, Dimension tool dimensions selected with their art keep their lines and label:** Object › Expand, Object › Expand Appearance and Object › Path › Outline Stroke leave a dimension selected with art it measures, directly or in selected groups without fills, strokes or effects of their own, as it is and change only the other art; when the new art no longer fits its link, the dimension stays where it was, no longer linked, and undo links it again. `expand_leaves_a_dimension_selected_with_its_art_as_it_is`, `expand_appearance_leaves_a_dimension_selected_with_its_art_as_it_is`, `outline_stroke_leaves_a_dimension_selected_with_its_art_as_it_is`, `a_dimension_selected_with_art_that_has_nothing_to_expand_changes_nothing`, `a_group_effect_expanded_reaches_the_dimension_it_holds`, `expand_keeps_a_dimension_in_its_asset_and_its_variable_binding`, `a_dimension_keeps_no_link_to_the_art_expand_replaced`, `a_dimension_outlasts_the_art_outline_stroke_or_expand_appearance_replaced`, `a_dimension_outlasts_the_stroke_expand_outlined` and `expand_appearance_in_safe_mode_leaves_a_dimension_selected_with_its_art` cover it.
|
||||
**Live trace result bounds and selection highlights exclude the retained bitmap except in source-image views:** `live_trace_result_bounds_exclude_the_retained_bitmap_at_any_angle` checks every TraceView, geometric and visual bounds and rotated result bounds. `live_trace_selection_highlight_excludes_the_retained_source_rectangle` checks result highlights and the existing ordinary-group policy. Shared editing-child traversal also preserves Shaper handling.
|
||||
**Artboard Options shares existing presets and orientation controls and can fit artwork without moving it; artwork fitting includes all drawn document art across artboards and off-board; artwork bounds are cached by active document and revision, and selection uses the shared bounds cache across artboards:** Shared existing preset definitions are reused; no external preset assets are added. Presets preserve each selected artboard's orientation, and orientation choices apply even when the active board already matches. Fit operations draft bounds until OK, affect only the active artboard and leave artwork in place. Regression coverage checks draft/Cancel, selected-set application, active-only fitting and Undo.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user