RFE: Snap points to grid (one grid per layer), snap point to nearest point, snap angles #802
verdy-p
started this conversation in
New feature request
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Describe the bug
We can draw freely on the canvas, but there's still no helper to define the geometry conveniently: all points are placed at arbitrarily free positions.
The only helpers available are the alignment options (which align relative to the total canva rectangle only: align to left/center/right/distribute horizontally, or align to top/middle/bottom/distribute vertically). But there's no way to define the rectangle (possibly rotated) where this would apply, so this helper has little or no use at all.
We should be able to select a shape, then on one of its node, select the option to snap them to the grid (the grid unit should be also selectable, not necessarily a multiple of 10), and possibly even select a point and instruct to center the grid at this point, then rotate the grid.
As well all rotations should be snapable to some angle multiple/submultiple or rational factor of the right angle (90°).
Each layer, would have its own separate design grid for snapping: selecting another layer would change the visible grid and hide the grids used for other layers.
Visible layers (not hidden in "defs") are stacking from bottom to top, and the bottom one defines the default grid for the view, but you can always select any layer to work with.
All nodes should be snappable, not just endpoints on curve, but also control points for quadratic/cubic arcs, and even endpoints and control node defining elliptical arcs.
As nodes can be snapped easily to the same position on grid, it should then be easy to merge two strokes in the same shape (path in SVG) when they are defined with a common node, instead of just using "groups".
This would help defining common shapes that could become definitions of shapes defined in some separate layer (not rendered directly but defined in "def" element, where we could set its definition rectangle and its positioning point: these could then be also usable as custom markers.
The idea is to get the functionalities we had in MacDraw, already many decennials ago.
This would greatly facilitate the design of diagrams, or SVG fonts (with their 1000x1000 grid or 1024x1024 grid)
Beta Was this translation helpful? Give feedback.
All reactions