VectorStyler
    • Categories
    • Unread
    • Recent
    • Tags
    • Popular
    • Register
    • Login

    Feature Request: Separate Node Editing Tools by Operation Class

    Scheduled Pinned Locked Moved General Discussion
    8 Posts 3 Posters 43 Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J Offline
      jpsimmons
      last edited by

      VectorStyler's Node Tool combines a large number of operations that affect fundamentally different properties of an object. This makes its behavior difficult to predict and can result in unintended modifications.

      I suggest separating its functionality into five classes of tools, according to the properties each is permitted to modify.

      1. Selection Tool

      • Select nodes — individually or in groups.

      2. Geometric Transformation Tool

      • Translate selected nodes, including moving an endpoint of a line.
      • Snap nodes to guides or other geometry.
      • Align or distribute nodes.

      These operations should preserve the object's topology, segment types, and node constraints.

      3. Object Transformation Tool

      • Deform Bézier curves.
      • Convert text to paths.

      4. Topological Editing Tool

      • Insert nodes.
      • Delete nodes.
      • Join or separate paths.
      • Close or open paths.
      • Convert straight segments to Bézier curves.
      • Change node types — smooth, corner, or symmetric.

      These operations explicitly modify the structure of the path, including its connectivity, segment representations, degrees of freedom, or node constraints.

      5. Curve Editing Tool

      • Reshape existing curve segments directly.
      • Adjust Bézier control handles.

      These operations modify curve geometry while preserving the existing segment types and node constraints.

      Motivation

      A recurring problem illustrates the need for this separation.

      Suppose I have a 20-inch straight line and want to reposition one endpoint. I select the endpoint using the Node Tool and move it. Sometimes this converts the straight segment into a Bézier curve whose control points are collinear with the line.

      The conversion is not visually apparent because the line remains straight and the control points may lie outside the visible region at the current magnification.

      I can detect the conversion by moving a node until a Bézier control point and its guide line become visible, but this requires modifying the geometry merely to determine its representation.

      The intended operation was a geometric transformation. Instead, the tool also performed a structural modification, introducing additional degrees of freedom.

      Proposed Behavior

      Each tool should be restricted to its designated class of operations:

      • Selection: Changes only the selection state.
      • Geometric Transformation: Changes coordinates without modifying topology, segment representations, or node constraints.
      • Object Transformation: Changes the geometry or representation of an entire object.
      • Topological Editing: Changes connectivity, segment representations, degrees of freedom, or node constraints.
      • Curve Editing: Changes curve geometry without modifying the underlying representation.

      The existing multipurpose Node Tool could remain available for users who prefer it. The separate tools would provide predictable, constrained operations for precision drawing.

      Design Principle

      An operation should modify only the class of properties that its tool is intended to control.

      Separating geometric transformations from structural modifications would eliminate an important source of unintended changes while making VectorStyler's editing behavior more predictable.

      VectorStylerV 1 Reply Last reply Reply Quote 2
      • VectorStylerV Offline
        VectorStyler @jpsimmons
        last edited by

        @jpsimmons Would there be a need to swap between these tools frequently?

        J 1 Reply Last reply Reply Quote 1
        • F Offline
          fde101 Global Moderator
          last edited by

          I personally am of the opinion that a smaller number of more flexible tools is generally better than a larger number of single-purpose ones.

          Final Cut Pro 7 had around 16 tools in its toolbar. Final Cut Pro X can do essentially the same things with only seven (three of which I personally think they could easily still eliminate), and it provides a much better working experience. Davinci Resolve does again essentially the same things with only three tools (one of which I still consider superfluous and never really use as the same thing can be done without it, showing that only two are really necessary for a video editor).

          As @vectorstyler hinted at, you would be switching tools left and right with a setup like the one you are proposing, which is a waste of time.

          If there a specific issue you are having between two functions of the tool so that we could look at ways to improve the existing tool?

          One of my biggest complaints about VectorStyler is that there are too many superfluous tools already that could easily be consolidated into a smaller number of more flexible ones.

          For example, do we really need a zillion effect, distortion and warp tools that apply individual distortion and warp effects rather than one generic reshaping tool which lets you pick an effect, distortion or warp type as a mode of the tool?

          Each such tool has a distinct icon to learn. Even someone who uses it day in and day out probably has to spend a lot more brain power on trying to identify the tool they want among the array of tools available than they would with one such tool that then lets them pick the specific effect from a separate list which can be organized more meaningfully than is feasible with tools on a customizable toolbar.

          J 2 Replies Last reply Reply Quote 0
          • J Offline
            jpsimmons @fde101
            last edited by

            @fde101 said in Feature Request: Separate Node Editing Tools by Operation Class:

            If there a specific issue you are having between two functions of the tool so that we could look at ways to improve the existing tool?

            When I select a handle to resize a line, for example, I have to be extremely careful to keep it from converting the whole thing to a Bezier curve. I know, I can convert it back, and hopefully not have messed something else up, but this is something Adobe Illustrator did in 1988: black arrow means select the object, white arrow means select the handle, split tool means convert it to a Bezier. I never got confused.

            1 Reply Last reply Reply Quote 0
            • J Offline
              jpsimmons @VectorStyler
              last edited by

              @VectorStyler I do. Right now, I have a rectangle that I want to resize by making it wider. The standard way of doing that is to use the tranform tool, which has the unfortunate side effect that it can only scale, not simply translate. Using the node tool can do many things: insert a new node because I clicked something wrong, convert to a Bezier because I dragged something wrong.

              Mathematically, I want to translate the selected points. Rescaling is an affine transformation. Converting to a Bezier is a topology change. If I could simply say that I wanted to translate, we'd be done.

              As a percentage of actions, I would translate probably 80% of the time, affine transform something 18% of the time, and, rarely ever convert a line to a curve or the other way around.

              I would say that, no, I wouldn't frequently move between them-mostly, I'd do translations and, less often, affine transformations.

              1 Reply Last reply Reply Quote 0
              • J Offline
                jpsimmons @fde101
                last edited by

                @fde101 said in Feature Request: Separate Node Editing Tools by Operation Class:

                One of my biggest complaints about VectorStyler is that there are too many superfluous tools already that could easily be consolidated into a smaller number of more flexible ones.

                Customize toolboxes is one of the best features that VS has-and it's portable in a config file. Simply don't have the ones in your toolbox that you don't use.

                F 1 Reply Last reply Reply Quote 0
                • F Offline
                  fde101 Global Moderator @jpsimmons
                  last edited by

                  @jpsimmons said in Feature Request: Separate Node Editing Tools by Operation Class:

                  Customize toolboxes is one of the best features that VS has-and it's portable in a config file. Simply don't have the ones in your toolbox that you don't use.

                  Sure, and that is great when the tools you want exist and you can rely on the toolbox to stay customized as new versions come out so that you aren't spending lots of time redoing your customizations, etc. It becomes "lots of time" when there are zillions of them to remove.

                  Incidentally, nearly everything that can be done using those tools can also be accessed using the related panels (from the Window menu) and I normally find that much more usable than sifting through any of those tools in the toolbox.

                  @jpsimmons said in Feature Request: Separate Node Editing Tools by Operation Class:

                  @VectorStyler I do. Right now, I have a rectangle that I want to resize by making it wider. The standard way of doing that is to use the tranform tool, which has the unfortunate side effect that it can only scale, not simply translate. Using the node tool can do many things: insert a new node because I clicked something wrong, convert to a Bezier because I dragged something wrong.

                  You can absolutely scale using the transform tool. To make a rectangle wider drag the side handle (not a corner handle).

                  If you are having difficulty grabbing the handles accurately you can make the handles bigger (under Settings/Preferences -> Path Editor try adjusting Editor Node Scaling - you can make them obnoxiously large if it helps).

                  I have no difficulty using the default handles accurately using my Wacom tablet in trackpad mode (fingers on tablet), but I do sometimes find it harder when using the pen. I am guessing you are using a pen based on some of what you are describing, and I suspect larger handles would make that easier.

                  F 1 Reply Last reply Reply Quote 0
                  • F Offline
                    fde101 Global Moderator @fde101
                    last edited by

                    Incidentally, there are already dedicated Move, Scale, Rotate and Skew tools that work on nodes; they are hiding behind the Collider tool on the default toolbox configuration.

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post