<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Feature Request: Separate Node Editing Tools by Operation Class]]></title><description><![CDATA[<p dir="auto">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.</p>
<p dir="auto">I suggest separating its functionality into five classes of tools, according to the properties each is permitted to modify.</p>
<h3>1. Selection Tool</h3>
<ul>
<li>Select nodes — individually or in groups.</li>
</ul>
<h3>2. Geometric Transformation Tool</h3>
<ul>
<li>Translate selected nodes, including moving an endpoint of a line.</li>
<li>Snap nodes to guides or other geometry.</li>
<li>Align or distribute nodes.</li>
</ul>
<p dir="auto">These operations should preserve the object's topology, segment types, and node constraints.</p>
<h3>3. Object Transformation Tool</h3>
<ul>
<li>Deform Bézier curves.</li>
<li>Convert text to paths.</li>
</ul>
<h3>4. Topological Editing Tool</h3>
<ul>
<li>Insert nodes.</li>
<li>Delete nodes.</li>
<li>Join or separate paths.</li>
<li>Close or open paths.</li>
<li>Convert straight segments to Bézier curves.</li>
<li>Change node types — smooth, corner, or symmetric.</li>
</ul>
<p dir="auto">These operations explicitly modify the structure of the path, including its connectivity, segment representations, degrees of freedom, or node constraints.</p>
<h3>5. Curve Editing Tool</h3>
<ul>
<li>Reshape existing curve segments directly.</li>
<li>Adjust Bézier control handles.</li>
</ul>
<p dir="auto">These operations modify curve geometry while preserving the existing segment types and node constraints.</p>
<h3>Motivation</h3>
<p dir="auto">A recurring problem illustrates the need for this separation.</p>
<p dir="auto">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.</p>
<p dir="auto">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.</p>
<p dir="auto">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.</p>
<p dir="auto">The intended operation was a geometric transformation. Instead, the tool also performed a structural modification, introducing additional degrees of freedom.</p>
<h3>Proposed Behavior</h3>
<p dir="auto">Each tool should be restricted to its designated class of operations:</p>
<ul>
<li>Selection: Changes only the selection state.</li>
<li>Geometric Transformation: Changes coordinates without modifying topology, segment representations, or node constraints.</li>
<li>Object Transformation: Changes the geometry or representation of an entire object.</li>
<li>Topological Editing: Changes connectivity, segment representations, degrees of freedom, or node constraints.</li>
<li>Curve Editing: Changes curve geometry without modifying the underlying representation.</li>
</ul>
<p dir="auto">The existing multipurpose Node Tool could remain available for users who prefer it. The separate tools would provide predictable, constrained operations for precision drawing.</p>
<h3>Design Principle</h3>
<p dir="auto">An operation should modify only the class of properties that its tool is intended to control.</p>
<p dir="auto">Separating geometric transformations from structural modifications would eliminate an important source of unintended changes while making VectorStyler's editing behavior more predictable.</p>
]]></description><link>https://www.vectorstyler.com/forum/topic/5963/feature-request-separate-node-editing-tools-by-operation-class</link><generator>RSS for Node</generator><lastBuildDate>Sat, 31 Oct 2026 09:59:30 GMT</lastBuildDate><atom:link href="https://www.vectorstyler.com/forum/topic/5963.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 30 Oct 2026 15:05:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Feature Request: Separate Node Editing Tools by Operation Class on Fri, 30 Oct 2026 15:26:21 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/jpsimmons" aria-label="Profile: jpsimmons">@<bdi>jpsimmons</bdi></a> Would there be a need to swap between these tools frequently?</p>
]]></description><link>https://www.vectorstyler.com/forum/post/34315</link><guid isPermaLink="true">https://www.vectorstyler.com/forum/post/34315</guid><dc:creator><![CDATA[VectorStyler]]></dc:creator><pubDate>Fri, 30 Oct 2026 15:26:21 GMT</pubDate></item></channel></rss>