Symmetry and Tile tool
The current tile interface is hard to use. The current proposal for Symmetry and Tiles tool seeks to expand upon its uses while proposing an interface that is easy to use. This proposal proposes 4 modes or sub-tools:
|Symmetry||This tool is destined for users who just want some basic symmetries. Use cases include pattern design and technical drawing.|
|Tiling||This tool allows users to use the 17 wallpaper types.|
|Radial clones||This is for radial designs, and uses polar coordinates.|
|Clone along path||Clones are created along a path. This can be used to create a string of decorations, for repeating frill designs, for page borders etc.|
Applying any Symmetry or Tile results in the following behaviour:
- If the object isn't a group, a group is made out of the selected object. This allows the user to enter the group and add extra elements.
- A corresponding guide is generated. This guide can be edited with the Tile and Symmetry tool. All guides can be resized or rotated, but further transformations depend on the guide type.
- Copies are generated from the original object.
- The original and its copies can be selected and grouped, and a new transformation can be applied to the group. This allows, for example, for a user to create a symmetrical pattern then use it as a tile.
Symmetry or tiling options
Symmetry or tiling type
||Inkscape internally keeps track of an X-axis and a Y-axis, using their intersection for point symmetry. The X/Y axis group can be rotated.||
|Tiling||All 17 tiling options available.||Inkscape generates a guide specific to the transformation type upon application of the tiling. This guide remains editable on-canvas with the Symmetry and Tiling tool.||Because the 17 tiling options use different guide shapes, tiling does not give an option to select existing guides on-canvas.|
||Inkscape generates an angle guide that by defaut is centered on the object's center of rotation. The user can control both the center and the angle of the guide. Two default orientations are available.||
|Clones Along Path||
||A path must be selected when "Clones Along Path" is applied||By default, the point at which the clones snap to the selected path is its rotation center. All advanced transformations use Normal/Tangential coordinates.|
By default, all tiles generated are clones of the original. 3 actions are available to the generated clones:
- Unclump: all generated clones are unlinked from the original. Subsequent transformations to the original no longer apply.
- Combine: Union ('Ctrl' + '+') is applied to the object and all its generated tiles (note: this option may not be useful...).
- Fuse paths: All end nodes located on guide points (see Guide Points for seamless tiling) are fused into a single node.
- See also Transformation anchor.
- Rather than serve as transformation anchors though, the guides get aligned to the corresponding corner (they're just to make alignment faster).
- However, although the guide gets aligned after a command, it can still be freely moved and transformed.
- Why no starting angle for Radial tiles? Well, save yourself a bit of trouble and make the starting pattern vertical.
- Guide locked to object: the guide moves and scales with the object. For example, if a vase is made by applying a symmetry to half a vase, moving the original will also move the other half, so the whole vase is moved. In the same way, scaling a tile scales its guide. If an on-canvas axis or node was chosen to apply a transformation, a copy of the resulting two axis are created and move with the object.
- Unlocked guide: the guide is absolute, so if the original gets moved, the copy will also be re-positioned according to the original guide position.
Guide visibility can be toggled on and off, so the user can edit the original object with other tools with the guide is still visible.
Available transformations depend on the guide type:
- All guides save symmetry axes can be resized. All guides can be rotated. Toggling occurs by clicking again as with the Transform tool.
- The angle for the angle tool for radial clones can be edited on canvas, like for the Circle tool.
- Skew is available for some tiling options using parallelogram guides.
- Input of numerical values could be available by double clicking a guide corner?
Guide points for seamless tiling =
- Double-clicking on the side of a guide creates a guide point for seamless tiling. Copies of this guide point are automatically created at the relevant location on all concerned sides of the guide.
- These points can be moved around. All the other copies move as well.
- Shift-drag on a guide point creates an angle guide, so users can better create smooth transitions.
- When "Fuse paths" is applied, all end points snapped to guide points are fused, forming a single continuous path.
What's more, ctrl-clicking on a guide point creates a new guide point that forms a guide point pair with the first one.
- When "Fuse paths" is applied, the segments between these two nodes gets deleted, and the resulting open nodes are joined with the corresponding nodes on the next tile.
- Separating guide points and guide point pairs is necessary because Inkscape does a bad job of recognizing two separate lines as defining the borders of a single object.
Advanced transformation options
The "Dynamics" button opens up a separate dialogue with transformation options corresponding to the current tiling interface. Major differences are:
- Vertical listing
- Checkbox next to every transformation type, so users can easily remove all of them while retaining some values.
- Radial Clones use Polar coordinates.
- Clones along Path use orthogonal coordinates (normal and orthogonal).
- Users can save and use presets. This includes a "No dynamics" option.
Originally I pondered whether presets should be located at the "Advanced" level or at the top level (i.e. presets include tiling type). But I reason that dynamics such as fading and color hues for example work about the same no matter what tiling type you're using.
Think up an interface for Clone Along Path that allows a more advanced version of Pattern Along Path thanks to using guide points on a basic tile. The main issue is that all the tiles, including the original, gets deformed along the path, so editing the base tile must be done separately.