<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Veronika</id>
	<title>Inkscape Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Veronika"/>
	<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/Special:Contributions/Veronika"/>
	<updated>2026-04-23T03:21:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:WallpaperTransformations.png&amp;diff=86498</id>
		<title>File:WallpaperTransformations.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:WallpaperTransformations.png&amp;diff=86498"/>
		<updated>2012-07-12T16:31:49Z</updated>

		<summary type="html">&lt;p&gt;Veronika: uploaded a new version of &amp;amp;quot;File:WallpaperTransformations.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An image showing the 17 Wallpaper symmetry groups, the shape of a base tile for each group and a simple set of transformations that can be applied to the base tile to produce a design with the related Wallpaper Symmetry group properties.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85658</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85658"/>
		<updated>2012-06-07T00:55:57Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row/column or the width/height fields in the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).  The user must choose a symmetry group or create their own set of transformation rules.&lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation base tiles for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of CMM, they will want to know at a general level that the  tile will be reflected in two orthogonal directions and rotated 180 degrees in a diagonal direction.  At a more specific level, they will want to know across what lines the pattern will be reflected and what is the pivot point for the rotation.&lt;br /&gt;
&lt;br /&gt;
An on-canvas visualization of the base tile and of the tiling pattern is proposed.&lt;br /&gt;
&lt;br /&gt;
* Draw the outline of the base tile using different line styles and markings to indicate the transformation operations.&lt;br /&gt;
* Draw a grid showing how the base tile will be transformed to cover the plane.  Cloned tiles will appear in the cells of the grid.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:cmmExample.png]]&lt;br /&gt;
&lt;br /&gt;
UC 2) The user has created several tiled clones from a base object and now wishes to modify the way the cloned objects are positioned.  For example, they want to have more space between the copies.&lt;br /&gt;
&lt;br /&gt;
On-canvas transformation of the base tile outline is proposed.  The existing transformation tool will be used and applied to the bounding box of the base tile.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:transformExample.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation Considerations ==&lt;br /&gt;
&lt;br /&gt;
For each proposed feature, three things must be considered:&lt;br /&gt;
&lt;br /&gt;
# The user interaction&lt;br /&gt;
# How the SVG markup is affected&lt;br /&gt;
# The mathematics of the operation and coding implications&lt;br /&gt;
&lt;br /&gt;
UC 1) '''Grid for symmetry groups'''&lt;br /&gt;
* ''User interaction''&lt;br /&gt;
** User enables grid display through menu or keyboard accelerator&lt;br /&gt;
** Grid displayed changes depending on which base tile or cloned tile is selected.  If the user selects an object that is a clone (svg:use that references a base tile) or the selected object or one of its parents is a base tile (navigate up the hierarchy until a base tile is found or reach the top of the document), then the tiling pattern will be displayed.&lt;br /&gt;
** If multiple objects are selected and they map to more than one base tile, no grid outline will be shown.&lt;br /&gt;
* ''SVG markup''&lt;br /&gt;
** Requires the base tile markup to have the following information:&lt;br /&gt;
*** inkscape:tile-x0, inkscape:tile-y0, inkscape:tile-w, inkscape:tile-h (These items are already added to the SVG markup as part of the ''Create Tiled Clones...'' dialog.)&lt;br /&gt;
*** inkscape:tile-type (This attribute is new for this feature.  It stores the wallpaper symmetry group type - P1, P2, CMM etc)&lt;br /&gt;
* ''Math and Code''&lt;br /&gt;
** For each symmetry group type, determine the shape, size and position of the base tile.&lt;br /&gt;
** This information is documented in the code.  See symmetry-tool.cpp.  It is based on the algorithm currently used in the ''Create Tiled Clones...'' dialog.&lt;br /&gt;
&lt;br /&gt;
UC 2) '''Transformation of Base Tile'''&lt;br /&gt;
* ''User interaction''&lt;br /&gt;
** Select a clone and navigate to the base tile object (Select Original)&lt;br /&gt;
** Go to the Select and Transform objects tool (could also use the Transform dialog)&lt;br /&gt;
** The selection boundary displayed on canvas for the base tile object is not the bounding box of the child elements.  Instead it is the bounding box of the base tile.  The usual transformation handles are displayed.&lt;br /&gt;
&lt;br /&gt;
* ''SVG markup''&lt;br /&gt;
** In order to propogate changes from the base tile to the cloned tiles, it will be necessary to know how the cloned tiles relate to the base tile.  For rectangular symmetry groups this could be done with a row and column label, however, this does not translate well to non-rectangular symmetry groups such as hexagonal groups.  An alternative approach is to use a label based on transformations from the base as shown in the following figure.&lt;br /&gt;
&lt;br /&gt;
[[File: Rowcolumn.png|400px]]&lt;br /&gt;
&lt;br /&gt;
**  This does not produce a unique labelling but that is not important.&lt;br /&gt;
** The label will need to be saved on the cloned tile (e.g. inkscape:tiled-clone-pos=&amp;quot;1 3 1 3&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
* ''Math and Code''&lt;br /&gt;
** Currently, if a group object is selected, the bounding box displayed is the bounding box that contains all children.  In the case where the group is a base tile (indicated by the presence of the inkscape:tile-type attribute) this behaviour will be changed to show the bounding box of the base tile.&lt;br /&gt;
** Transformations made will be applied to the base tile (inkscape:tile-w, inkscape:tile-h attributes etc) not to the group transform attribute.&lt;br /&gt;
** The transform attribute of all clones will be updated based on the changes to the base tile.&lt;br /&gt;
&lt;br /&gt;
* ''Issues''&lt;br /&gt;
** There are two possible behaviours when transforming the base tile. The base tile boundaries can change (e.g. scale, skew, translate, rotate) independant of the child objects.  This is useful for example if you want to space the clones farther apart.  You would scale the base tile leaving the child objects unchanged.  You could then enter the group and change the position of the child objects relative to the base tile.  Alternatively, you may wish to enlarge the whole pattern - this requires enlarging the base tile as well as enlarging the child objects.  How will the user trigger these two very different modes?  Will there be some kind of ''lock'' mechanism?&lt;br /&gt;
** There is an assumption that the base tile will be a group.  Having a group object is very useful because it allows the user to add and remove objects from the base tile and decouples the base tile data from the pattern object data.  We could automatically create a group for the user and ensure that all base tiles have a group as their root object.  However, this is not how the current ''Create Tiled Clones...'' dialog works and it is not a requirement imposed by SVG.&lt;br /&gt;
** Not all transformations are allowed for a given symmetry group so some transformation operations would need to be disabled - I don't think this is currently supported by the Transformation Tool.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85652</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85652"/>
		<updated>2012-06-07T00:37:29Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row/column or the width/height fields in the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).  The user must choose a symmetry group or create their own set of transformation rules.&lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation base tiles for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of CMM, they will want to know at a general level that the  tile will be reflected in two orthogonal directions and rotated 180 degrees in a diagonal direction.  At a more specific level, they will want to know across what lines the pattern will be reflected and what is the pivot point for the rotation.&lt;br /&gt;
&lt;br /&gt;
An on-canvas visualization of the base tile and of the tiling pattern is proposed.&lt;br /&gt;
&lt;br /&gt;
* Draw the outline of the base tile using different line styles and markings to indicate the transformation operations.&lt;br /&gt;
* Draw a grid showing how the base tile will be transformed to cover the plane.  Cloned tiles will appear in the cells of the grid.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:cmmExample.png]]&lt;br /&gt;
&lt;br /&gt;
UC 2) The user has created several tiled clones from a base object and now wishes to modify the way the cloned objects are positioned.  For example, they want to have more space between the copies.&lt;br /&gt;
&lt;br /&gt;
On-canvas transformation of the base tile outline is proposed.  The existing transformation tool will be used and applied to the bounding box of the base tile.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:transformExample.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation Considerations ==&lt;br /&gt;
&lt;br /&gt;
For each proposed feature, three things must be considered:&lt;br /&gt;
&lt;br /&gt;
# The user interaction&lt;br /&gt;
# How the SVG markup is affected&lt;br /&gt;
# The mathematics of the operation and coding implications&lt;br /&gt;
&lt;br /&gt;
UC 1) '''Grid for symmetry groups'''&lt;br /&gt;
* ''User interaction''&lt;br /&gt;
** User enables grid display through menu or keyboard accelerator&lt;br /&gt;
** Grid displayed changes depending on which base tile or cloned tile is selected.  If the user selects an object that is a clone (svg:use that references a base tile) or the selected object or one of its parents is a base tile (navigate up the hierarchy until a base tile is found or reach the top of the document), then the tiling pattern will be displayed.&lt;br /&gt;
** If multiple objects are selected and they map to more than one base tile, no grid outline will be shown.&lt;br /&gt;
* ''SVG markup''&lt;br /&gt;
** Requires the base tile markup to have the following information:&lt;br /&gt;
*** inkscape:tile-x0, inkscape:tile-y0, inkscape:tile-w, inkscape:tile-h (These items are already added to the SVG markup as part of the ''Create Tiled Clones...'' dialog.)&lt;br /&gt;
*** inkscape:tile-type (This attribute is new for this feature.  It stores the wallpaper symmetry group type - P1, P2, CMM etc)&lt;br /&gt;
* ''Math and Code''&lt;br /&gt;
** For each symmetry group type, determine the shape, size and position of the base tile.&lt;br /&gt;
** This information is documented in the code.  See symmetry-tool.cpp.  It is based on the algorithm currently used in the ''Create Tiled Clones...'' dialog.&lt;br /&gt;
&lt;br /&gt;
UC 2) '''Transformation of Base Tile'''&lt;br /&gt;
* ''User interaction''&lt;br /&gt;
** Select a clone and navigate to the base tile object (Select Original)&lt;br /&gt;
** Go to the Select and Transform objects tool (could also use the Transform dialog)&lt;br /&gt;
** The selection boundary displayed on canvas for the base tile object is not the bounding box of the child elements.  Instead it is the bounding box of the base tile.  The usual transformation handles are displayed.&lt;br /&gt;
&lt;br /&gt;
* ''SVG markup''&lt;br /&gt;
** In order to propogate changes from the base tile to the cloned tiles, it will be necessary to know how the cloned tiles relate to the base tile.  For rectangular symmetry groups this could be done with a row and column label, however, this does not translate well to non-rectangular symmetry groups such as hexagonal groups.  An alternative approach is to use a label based on transformations from the base as shown in the following figure.&lt;br /&gt;
&lt;br /&gt;
[[File: Rowcolumn.png|400px]]&lt;br /&gt;
&lt;br /&gt;
**  This does not produce a unique labelling but that is not important.&lt;br /&gt;
** The label will need to be saved on the cloned tile (e.g. inkscape:tiled-clone-pos=&amp;quot;1 3 1 3&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
* ''Math and Code''&lt;br /&gt;
** Currently, if a group object is selected, the bounding box displayed is the bounding box that contains all children.  In the case where the group is a base tile (indicated by the presence of the inkscape:tile-type attribute) this behaviour will be changed to show the bounding box of the base tile.&lt;br /&gt;
** Transformations made will be applied to the base tile (inkscape:tile-w, inkscape:tile-h attributes etc) not to the group transform attribute.&lt;br /&gt;
** The transform attribute of all clones will be updated based on the changes to the base tile.&lt;br /&gt;
&lt;br /&gt;
* ''Issues''&lt;br /&gt;
** There are two possible behaviours when transforming the base tile. The base tile boundaries can change (e.g. scale, skew, translate, rotate) independant of the child objects.  This is useful for example if you want to space the clones farther apart.  You would scale the base tile leaving the child objects unchanged.  You could then enter the group and change the position of the child objects relative to the base tile.  Alternatively, you may wish to enlarge the whole pattern - this requires enlarging the base tile as well as enlarging the child objects.  How will the user trigger these two very different modes?  Will there be some kind of ''lock'' mechanism?&lt;br /&gt;
** There is an assumption that the base tile will be a group.  Having a group object is very useful because it allows the user to add and remove objects from the base tile and decouples the base tile data from the pattern object data.  We could automatically create a group for the user and ensure that all base tiles have a group as their root object.  However, this is not how the current ''Create Tiled Clones...'' dialog works and it is not a requirement imposed by SVG.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85646</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85646"/>
		<updated>2012-06-07T00:36:48Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row/column or the width/height fields in the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).  The user must choose a symmetry group or create their own set of transformation rules.&lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation base tiles for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of CMM, they will want to know at a general level that the  tile will be reflected in two orthogonal directions and rotated 180 degrees in a diagonal direction.  At a more specific level, they will want to know across what lines the pattern will be reflected and what is the pivot point for the rotation.&lt;br /&gt;
&lt;br /&gt;
An on-canvas visualization of the base tile and of the tiling pattern is proposed.&lt;br /&gt;
&lt;br /&gt;
* Draw the outline of the base tile using different line styles and markings to indicate the transformation operations.&lt;br /&gt;
* Draw a grid showing how the base tile will be transformed to cover the plane.  Cloned tiles will appear in the cells of the grid.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:cmmExample.png]]&lt;br /&gt;
&lt;br /&gt;
UC 2) The user has created several tiled clones from a base object and now wishes to modify the way the cloned objects are positioned.  For example, they want to have more space between the copies.&lt;br /&gt;
&lt;br /&gt;
On-canvas transformation of the base tile outline is proposed.  The existing transformation tool will be used and applied to the bounding box of the base tile.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:transformExample.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation Considerations ==&lt;br /&gt;
&lt;br /&gt;
For each proposed feature, three things must be considered:&lt;br /&gt;
&lt;br /&gt;
# The user interaction&lt;br /&gt;
# How the SVG markup is affected&lt;br /&gt;
# The mathematics of the operation and coding implications&lt;br /&gt;
&lt;br /&gt;
UC 1) '''Grid for symmetry groups'''&lt;br /&gt;
* ''User interaction''&lt;br /&gt;
** User enables grid display through menu or keyboard accelerator&lt;br /&gt;
** Grid displayed changes depending on which base tile or cloned tile is selected.  If the user selects an object that is a clone (svg:use that references a base tile) or the selected object or one of its parents is a base tile (navigate up the hierarchy until a base tile is found or reach the top of the document), then the tiling pattern will be displayed.&lt;br /&gt;
** If multiple objects are selected and they map to more than one base tile, no grid outline will be shown.&lt;br /&gt;
* ''SVG markup''&lt;br /&gt;
** Requires the base tile markup to have the following information:&lt;br /&gt;
*** inkscape:tile-x0, inkscape:tile-y0, inkscape:tile-w, inkscape:tile-h (These items are already added to the SVG markup as part of the ''Create Tiled Clones...'' dialog.)&lt;br /&gt;
*** inkscape:tile-type (This attribute is new for this feature.  It stores the wallpaper symmetry group type - P1, P2, CMM etc)&lt;br /&gt;
* ''Math and Code''&lt;br /&gt;
** For each symmetry group type, determine the shape, size and position of the base tile.&lt;br /&gt;
** This information is documented in the code.  See symmetry-tool.cpp.  It is based on the algorithm currently used in the ''Create Tiled Clones...'' dialog.&lt;br /&gt;
&lt;br /&gt;
UC 2) '''Transformation of Base Tile'''&lt;br /&gt;
* ''User interaction''&lt;br /&gt;
** Select a clone and navigate to the base tile object (Select Original)&lt;br /&gt;
** Go to the Select and Transform objects tool (could also use the Transform dialog)&lt;br /&gt;
** The selection boundary displayed on canvas for the base tile object is not the bounding box of the child elements.  Instead it is the bounding box of the base tile.  The usual transformation handles are displayed.&lt;br /&gt;
&lt;br /&gt;
* ''SVG markup''&lt;br /&gt;
** In order to propogate changes from the base tile to the cloned tiles, it will be necessary to know how the cloned tiles relate to the base tile.  For rectangular symmetry groups this could be done with a row and column label, however, this does not translate well to non-rectangular symmetry groups such as hexagonal groups.  An alternative approach is to use a label based on transformations from the base as shown in the following figure.  This does not produce a unique labelling but that is not important.&lt;br /&gt;
** The label will need to be saved on the cloned tile (e.g. inkscape:tiled-clone-pos=&amp;quot;1 3 1 3&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
[[File: Rowcolumn.png|400px]]&lt;br /&gt;
&lt;br /&gt;
* ''Math and Code''&lt;br /&gt;
** Currently, if a group object is selected, the bounding box displayed is the bounding box that contains all children.  In the case where the group is a base tile (indicated by the presence of the inkscape:tile-type attribute) this behaviour will be changed to show the bounding box of the base tile.&lt;br /&gt;
** Transformations made will be applied to the base tile (inkscape:tile-w, inkscape:tile-h attributes etc) not to the group transform attribute.&lt;br /&gt;
** The transform attribute of all clones will be updated based on the changes to the base tile.&lt;br /&gt;
&lt;br /&gt;
* ''Issues''&lt;br /&gt;
** There are two possible behaviours when transforming the base tile. The base tile boundaries can change (e.g. scale, skew, translate, rotate) independant of the child objects.  This is useful for example if you want to space the clones farther apart.  You would scale the base tile leaving the child objects unchanged.  You could then enter the group and change the position of the child objects relative to the base tile.  Alternatively, you may wish to enlarge the whole pattern - this requires enlarging the base tile as well as enlarging the child objects.  How will the user trigger these two very different modes?  Will there be some kind of ''lock'' mechanism?&lt;br /&gt;
** There is an assumption that the base tile will be a group.  Having a group object is very useful because it allows the user to add and remove objects from the base tile and decouples the base tile data from the pattern object data.  We could automatically create a group for the user and ensure that all base tiles have a group as their root object.  However, this is not how the current ''Create Tiled Clones...'' dialog works and it is not a requirement imposed by SVG.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85640</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85640"/>
		<updated>2012-06-07T00:32:09Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row/column or the width/height fields in the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).  The user must choose a symmetry group or create their own set of transformation rules.&lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation base tiles for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of CMM, they will want to know at a general level that the  tile will be reflected in two orthogonal directions and rotated 180 degrees in a diagonal direction.  At a more specific level, they will want to know across what lines the pattern will be reflected and what is the pivot point for the rotation.&lt;br /&gt;
&lt;br /&gt;
An on-canvas visualization of the base tile and of the tiling pattern is proposed.&lt;br /&gt;
&lt;br /&gt;
* Draw the outline of the base tile using different line styles and markings to indicate the transformation operations.&lt;br /&gt;
* Draw a grid showing how the base tile will be transformed to cover the plane.  Cloned tiles will appear in the cells of the grid.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:cmmExample.png]]&lt;br /&gt;
&lt;br /&gt;
UC 2) The user has created several tiled clones from a base object and now wishes to modify the way the cloned objects are positioned.  For example, they want to have more space between the copies.&lt;br /&gt;
&lt;br /&gt;
On-canvas transformation of the base tile outline is proposed.  The existing transformation tool will be used and applied to the bounding box of the base tile.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:transformExample.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation Considerations ==&lt;br /&gt;
&lt;br /&gt;
For each proposed feature, three things must be considered:&lt;br /&gt;
&lt;br /&gt;
# The user interaction&lt;br /&gt;
# How the SVG markup is affected&lt;br /&gt;
# The mathematics of the operation and coding implications&lt;br /&gt;
&lt;br /&gt;
UC 1) '''Grid for symmetry groups'''&lt;br /&gt;
* ''User interaction''&lt;br /&gt;
** User enables grid display through menu or keyboard accelerator&lt;br /&gt;
** Grid displayed changes depending on which base tile or cloned tile is selected.  If the user selects an object that is a clone (svg:use that references a base tile) or the selected object or one of its parents is a base tile (navigate up the hierarchy until a base tile is found or reach the top of the document), then the tiling pattern will be displayed.&lt;br /&gt;
** If multiple objects are selected and they map to more than one base tile, no grid outline will be shown.&lt;br /&gt;
* ''SVG markup''&lt;br /&gt;
** Requires the base tile markup to have the following information:&lt;br /&gt;
*** inkscape:tile-x0, inkscape:tile-y0, inkscape:tile-w, inkscape:tile-h (These items are already added to the SVG markup as part of the ''Create Tiled Clones...'' dialog.)&lt;br /&gt;
*** inkscape:tile-type (This attribute is new for this feature.  It stores the wallpaper symmetry group type - P1, P2, CMM etc)&lt;br /&gt;
* ''Math and Code''&lt;br /&gt;
** For each symmetry group type, determine the shape, size and position of the base tile.&lt;br /&gt;
** This information is documented in the code.  See symmetry-tool.cpp.  It is based on the algorithm currently used in the ''Create Tiled Clones...'' dialog.&lt;br /&gt;
&lt;br /&gt;
UC 2) '''Transformation of Base Tile'''&lt;br /&gt;
* ''User interaction''&lt;br /&gt;
** Select a clone and navigate to the base tile object (Select Original)&lt;br /&gt;
** Go to the Select and Transform objects tool (could also use the Transform dialog)&lt;br /&gt;
** The selection boundary displayed on canvas for the base tile object is not the bounding box of the child elements.  Instead it is the bounding box of the base tile.  The usual transformation handles are displayed.&lt;br /&gt;
&lt;br /&gt;
* ''SVG markup''&lt;br /&gt;
** In order to propogate changes from the base tile to the l=cloned tiles, it will be necessary to know how the cloned tiles relate to base tile.  For rectangular symmetry groups this could be done with a row and column label, however, this does not translate well to hexagonal symmetry groups.  An alternative approach is to use a label based on transformations from the base as shown in the following figure.&lt;br /&gt;
&lt;br /&gt;
[[File: Rowcolumn.png|400px]]&lt;br /&gt;
&lt;br /&gt;
* ''Math and Code''&lt;br /&gt;
** Currently, if a group object is selected, the bounding box displayed is the bounding box that contains all children.  In the case where the group is a base tile (indicated by the presence of the inkscape:tile-type attribute) this behaviour will be changed to show the bounding box of the base tile.&lt;br /&gt;
** Transformations made will be applied to the base tile (inkscape:tile-w, inkscape:tile-h attributes etc) not to the group transform attribute.&lt;br /&gt;
** The transform attribute of all clones will be updated based on the changes to the base tile.&lt;br /&gt;
&lt;br /&gt;
* ''Issues''&lt;br /&gt;
** There are two possible behaviours when transforming the base tile. The base tile boundaries can change (e.g. scale, skew, translate, rotate) independant of the child objects.  This is useful for example if you want to space the clones farther apart.  You would scale the base tile leaving the child objects unchanged.  You could then enter the group and change the position of the child objects relative to the base tile.  Alternatively, you may wish to enlarge the whole pattern - this requires enlarging the base tile as well as enlarging the child objects.  How will the user trigger these two very different modes?  Will there be some kind of ''lock'' mechanism?&lt;br /&gt;
** There is an assumption that the base tile will be a group.  Having a group object is very useful because it allows the user to add and remove objects from the base tile and decouples the base tile data from the pattern object data.  We could automatically create a group for the user and ensure that all base tiles have a group as their root object.  However, this is not how the current ''Create Tiled Clones...'' dialog works and it is not a requirement imposed by SVG.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85634</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85634"/>
		<updated>2012-06-07T00:27:17Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row/column or the width/height fields in the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).  The user must choose a symmetry group or create their own set of transformation rules.&lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation base tiles for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of CMM, they will want to know at a general level that the  tile will be reflected in two orthogonal directions and rotated 180 degrees in a diagonal direction.  At a more specific level, they will want to know across what lines the pattern will be reflected and what is the pivot point for the rotation.&lt;br /&gt;
&lt;br /&gt;
An on-canvas visualization of the base tile and of the tiling pattern is proposed.&lt;br /&gt;
&lt;br /&gt;
* Draw the outline of the base tile using different line styles and markings to indicate the transformation operations.&lt;br /&gt;
* Draw a grid showing how the base tile will be transformed to cover the plane.  Cloned tiles will appear in the cells of the grid.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:cmmExample.png]]&lt;br /&gt;
&lt;br /&gt;
UC 2) The user has created several tiled clones from a base object and now wishes to modify the way the cloned objects are positioned.  For example, they want to have more space between the copies.&lt;br /&gt;
&lt;br /&gt;
On-canvas transformation of the base tile outline is proposed.  The existing transformation tool will be used and applied to the bounding box of the base tile.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:transformExample.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation Considerations ==&lt;br /&gt;
&lt;br /&gt;
For each proposed feature, three things must be considered:&lt;br /&gt;
&lt;br /&gt;
# The user interaction&lt;br /&gt;
# How the SVG markup is affected&lt;br /&gt;
# The mathematics of the operation and coding implications&lt;br /&gt;
&lt;br /&gt;
UC 1) '''Grid for symmetry groups'''&lt;br /&gt;
* ''User interaction''&lt;br /&gt;
** User enables grid display through menu or keyboard accelerator&lt;br /&gt;
** Grid displayed changes depending on which base tile or cloned tile is selected.  If the user selects an object that is a clone (svg:use that references a base tile) or the selected object or one of its parents is a base tile (navigate up the hierarchy until a base tile is found or reach the top of the document), then the tiling pattern will be displayed.&lt;br /&gt;
** If multiple objects are selected and they map to more than one base tile, no grid outline will be shown.&lt;br /&gt;
* ''SVG markup''&lt;br /&gt;
** Requires the base tile markup to have the following information:&lt;br /&gt;
*** inkscape:tile-x0, inkscape:tile-y0, inkscape:tile-w, inkscape:tile-h (These items are already added to the SVG markup as part of the ''Create Tiled Clones...'' dialog.)&lt;br /&gt;
*** inkscape:tile-type (This attribute is new for this feature.  It stores the wallpaper symmetry group type - P1, P2, CMM etc)&lt;br /&gt;
* ''Math and Code''&lt;br /&gt;
** For each symmetry group type, determine the shape, size and position of the base tile.&lt;br /&gt;
** This information is documented in the code.  See symmetry-tool.cpp.  It is based on the algorithm currently used in the ''Create Tiled Clones...'' dialog.&lt;br /&gt;
&lt;br /&gt;
UC 2) '''Transformation of Base Tile'''&lt;br /&gt;
* ''User interaction''&lt;br /&gt;
** Select a clone and navigate to the base tile object (Select Original)&lt;br /&gt;
** Go to the Select and Transform objects tool (could also use the Transform dialog)&lt;br /&gt;
** The selection boundary displayed on canvas for the base tile object is not the bounding box of the child elements.  Instead it is the bounding box of the base tile.  The usual transformation handles are displayed.&lt;br /&gt;
&lt;br /&gt;
* ''SVG markup''&lt;br /&gt;
** In order to propogate changes from the base tile to the l=cloned tiles, it will be necessary to know how the cloned tiles relate to base tile.  For rectangular symmetry groups this could be done with a row and column label, however, this does not translate well to hexagonal symmetry groups.  An alternative approach is to use a label based on transformations from the base as shown in the following figure.&lt;br /&gt;
&lt;br /&gt;
[[File: Rowcolumn.png]]&lt;br /&gt;
&lt;br /&gt;
* ''Math and Code''&lt;br /&gt;
** Currently, if a group object is selected, the bounding box displayed is the bounding box that contains all children.  In the case where the group is a base tile (indicated by the presence of the inkscape:tile-type attribute) this behaviour will be changed to show the bounding box of the base tile.&lt;br /&gt;
** Transformations made will be applied to the base tile (inkscape:tile-w, inkscape:tile-h attributes etc) not to the group transform attribute.&lt;br /&gt;
** The transform attribute of all clones will be updated based on the changes to the base tile.&lt;br /&gt;
&lt;br /&gt;
* ''Issues''&lt;br /&gt;
** There are two possible behaviours when transforming the base tile. The base tile boundaries can change (e.g. scale, skew, translate, rotate) independant of the child objects.  This is useful for example if you want to space the clones farther apart.  You would scale the base tile leaving the child objects unchanged.  You could then enter the group and change the position of the child objects relative to the base tile.  Alternatively, you may wish to enlarge the whole pattern - this requires enlarging the base tile as well as enlarging the child objects.  How will the user trigger these two very different modes?  Will there be some kind of ''lock'' mechanism?&lt;br /&gt;
** There is an assumption that the base tile will be a group.  Having a group object is very useful because it allows the user to add and remove objects from the base tile and decouples the base tile data from the pattern object data.  We could automatically create a group for the user and ensure that all base tiles have a group as their root object.  However, this is not how the current ''Create Tiled Clones...'' dialog works and it is not a requirement imposed by SVG.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:Rowcolumn.png&amp;diff=85628</id>
		<title>File:Rowcolumn.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:Rowcolumn.png&amp;diff=85628"/>
		<updated>2012-06-07T00:23:31Z</updated>

		<summary type="html">&lt;p&gt;Veronika: A label scheme for cloned tiles based on transformations from base tile&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A label scheme for cloned tiles based on transformations from base tile&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85622</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85622"/>
		<updated>2012-06-06T21:39:35Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row/column or the width/height fields in the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).  The user must choose a symmetry group or create their own set of transformation rules.&lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation base tiles for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of CMM, they will want to know at a general level that the  tile will be reflected in two orthogonal directions and rotated 180 degrees in a diagonal direction.  At a more specific level, they will want to know across what lines the pattern will be reflected and what is the pivot point for the rotation.&lt;br /&gt;
&lt;br /&gt;
An on-canvas visualization of the base tile and of the tiling pattern is proposed.&lt;br /&gt;
&lt;br /&gt;
* Draw the outline of the base tile using different line styles and markings to indicate the transformation operations.&lt;br /&gt;
* Draw a grid showing how the base tile will be transformed to cover the plane.  Cloned tiles will appear in the cells of the grid.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:cmmExample.png]]&lt;br /&gt;
&lt;br /&gt;
UC 2) The user has created several tiled clones from a base object and now wishes to modify the way the cloned objects are positioned.  For example, they want to have more space between the copies.&lt;br /&gt;
&lt;br /&gt;
On-canvas transformation of the base tile outline is proposed.  The existing transformation tool will be used and applied to the bounding box of the base tile.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:transformExample.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation Considerations ==&lt;br /&gt;
&lt;br /&gt;
For each proposed feature, three things must be considered:&lt;br /&gt;
&lt;br /&gt;
# The user interaction&lt;br /&gt;
# How the SVG markup is affected&lt;br /&gt;
# The mathematics of the operation and coding implications&lt;br /&gt;
&lt;br /&gt;
UC 1) '''Grid for symmetry groups'''&lt;br /&gt;
* ''User interaction''&lt;br /&gt;
** User enables grid display through menu or keyboard accelerator&lt;br /&gt;
** Grid displayed changes depending on which base tile or cloned tile is selected.  If the user selects an object that is a clone (svg:use that references a base tile) or the selected object or one of its parents is a base tile (navigate up the hierarchy until a base tile is found or reach the top of the document), then the tiling pattern will be displayed.&lt;br /&gt;
** If multiple objects are selected and they map to more than one base tile, no grid outline will be shown.&lt;br /&gt;
* ''SVG markup''&lt;br /&gt;
** Requires the base tile markup to have the following information:&lt;br /&gt;
*** inkscape:tile-x0, inkscape:tile-y0, inkscape:tile-w, inkscape:tile-h (These items are already added to the SVG markup as part of the ''Create Tiled Clones...'' dialog.)&lt;br /&gt;
*** inkscape:tile-type (This attribute is new for this feature.  It stores the wallpaper symmetry group type - P1, P2, CMM etc)&lt;br /&gt;
* ''Math and Code''&lt;br /&gt;
** For each symmetry group type, determine the shape, size and position of the base tile.&lt;br /&gt;
** This information is documented in the code.  See symmetry-tool.cpp.  It is based on the algorithm currently used in the ''Create Tiled Clones...'' dialog.&lt;br /&gt;
&lt;br /&gt;
UC 2) '''Transformation of Base Tile'''&lt;br /&gt;
* ''User interaction''&lt;br /&gt;
** Select a clone and navigate to the base tile object (Select Original)&lt;br /&gt;
** Go to the Select and Transform objects tool (could also use the Transform dialog)&lt;br /&gt;
** The selection boundary displayed on canvas for the base tile object is not the bounding box of the child elements.  Instead it is the bounding box of the base tile.  The usual transformation handles are displayed.&lt;br /&gt;
&lt;br /&gt;
* ''SVG markup''&lt;br /&gt;
&lt;br /&gt;
* ''Math and Code''&lt;br /&gt;
** Currently, if a group object is selected, the bounding box displayed is the bounding box that contains all children.  In the case where the group is a base tile (indicated by the presence of the inkscape:tile-type attribute) this behaviour will be changed to show the bounding box of the base tile.&lt;br /&gt;
** Transformations made will be applied to the base tile (inkscape:tile-w, inkscape:tile-h attributes etc) not to the group transform attribute.&lt;br /&gt;
** The transform attribute of all clones will be updated based on the changes to the base tile.&lt;br /&gt;
&lt;br /&gt;
* ''Issues''&lt;br /&gt;
** There are two possible behaviours when transforming the base tile. The base tile boundaries can change (e.g. scale, skew, translate, rotate) independant of the child objects.  This is useful for example if you want to space the clones farther apart.  You would scale the base tile leaving the child objects unchanged.  You could then enter the group and change the position of the child objects relative to the base tile.  Alternatively, you may wish to enlarge the whole pattern - this requires enlarging the base tile as well as enlarging the child objects.  How will the user trigger these two very different modes?  Will there be some kind of ''lock'' mechanism?&lt;br /&gt;
** There is an assumption that the base tile will be a group.  Having a group object is very useful because it allows the user to add and remove objects from the base tile and decouples the base tile data from the pattern object data.  We could automatically create a group for the user and ensure that all base tiles have a group as their root object.  However, this is not how the current ''Create Tiled Clones...'' dialog works and it is not a requirement imposed by SVG.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85616</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85616"/>
		<updated>2012-06-06T21:30:41Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row/column or the width/height fields in the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).  The user must choose a symmetry group or create their own set of transformation rules.&lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation base tiles for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of CMM, they will want to know at a general level that the  tile will be reflected in two orthogonal directions and rotated 180 degrees in a diagonal direction.  At a more specific level, they will want to know across what lines the pattern will be reflected and what is the pivot point for the rotation.&lt;br /&gt;
&lt;br /&gt;
An on-canvas visualization of the base tile and of the tiling pattern is proposed.&lt;br /&gt;
&lt;br /&gt;
* Draw the outline of the base tile using different line styles and markings to indicate the transformation operations.&lt;br /&gt;
* Draw a grid showing how the base tile will be transformed to cover the plane.  Cloned tiles will appear in the cells of the grid.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:cmmExample.png]]&lt;br /&gt;
&lt;br /&gt;
UC 2) The user has created several tiled clones from a base object and now wishes to modify the way the cloned objects are positioned.  For example, they want to have more space between the copies.&lt;br /&gt;
&lt;br /&gt;
On-canvas transformation of the base tile outline is proposed.  The existing transformation tool will be used and applied to the bounding box of the base tile.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:transformExample.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation Considerations ==&lt;br /&gt;
&lt;br /&gt;
For each proposed feature, three things must be considered:&lt;br /&gt;
&lt;br /&gt;
# The user interaction&lt;br /&gt;
# How the SVG markup is affected&lt;br /&gt;
# The mathematics of the operation and coding implications&lt;br /&gt;
&lt;br /&gt;
UC 1) '''Grid for symmetry groups'''&lt;br /&gt;
* ''User interaction''&lt;br /&gt;
** User enables grid display through menu or keyboard accelerator&lt;br /&gt;
** Grid displayed changes depending on which base tile or cloned tile is selected.  If the user selects an object that is a clone (svg:use that references a base tile) or the selected object or one of its parents is a base tile (navigate up the hierarchy until a base tile is found or reach the top of the document), then the tiling pattern will be displayed.&lt;br /&gt;
** If multiple objects are selected and they map to more than one base tile, no grid outline will be shown.&lt;br /&gt;
* ''SVG markup''&lt;br /&gt;
** Requires the base tile markup to have the following information:&lt;br /&gt;
*** inkscape:tile-x0, inkscape:tile-y0, inkscape:tile-w, inkscape:tile-h (These items are already added to the SVG markup as part of the ''Create Tiled Clones...'' dialog.)&lt;br /&gt;
*** inkscape:tile-type (This attribute is new for this feature.  It stores the wallpaper symmetry group type - P1, P2, CMM etc)&lt;br /&gt;
* ''Math and Code''&lt;br /&gt;
** For each symmetry group type, determine the shape, size and position of the base tile.&lt;br /&gt;
** This information is documented in the code.  See symmetry-tool.cpp.  It is based on the algorithm currently used in the ''Create Tiled Clones...'' dialog.&lt;br /&gt;
&lt;br /&gt;
UC 2) '''Transformation of Base Tile'''&lt;br /&gt;
* ''User interaction''&lt;br /&gt;
** Select a clone and navigate to the base tile object (Select Original)&lt;br /&gt;
** Go to the Select and Transform objects tool (could also use the Transform dialog)&lt;br /&gt;
** The selection boundary displayed on canvas for the base tile object is not the bounding box of the child elements.  Instead it is the bounding box of the base tile.  The usual transformation handles are displayed.&lt;br /&gt;
&lt;br /&gt;
* ''SVG markup''&lt;br /&gt;
&lt;br /&gt;
* ''Math and Code''&lt;br /&gt;
** Currently, if a group object is selected, the bounding box displayed is the bounding box that contains all children.  In the case where the group is a base tile (indicated by the presence of the inkscape:tile-type attribute) this behaviour will be changed to show the bounding box of the base tile.&lt;br /&gt;
** Transformations made will be applied to the base tile (inkscape:tile-w, inkscape:tile-h attributes etc) not to the group transform attribute.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85610</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85610"/>
		<updated>2012-06-06T21:22:12Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row/column or the width/height fields in the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).  The user must choose a symmetry group or create their own set of transformation rules.&lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation base tiles for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of CMM, they will want to know at a general level that the  tile will be reflected in two orthogonal directions and rotated 180 degrees in a diagonal direction.  At a more specific level, they will want to know across what lines the pattern will be reflected and what is the pivot point for the rotation.&lt;br /&gt;
&lt;br /&gt;
An on-canvas visualization of the base tile and of the tiling pattern is proposed.&lt;br /&gt;
&lt;br /&gt;
* Draw the outline of the base tile using different line styles and markings to indicate the transformation operations.&lt;br /&gt;
* Draw a grid showing how the base tile will be transformed to cover the plane.  Cloned tiles will appear in the cells of the grid.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:cmmExample.png]]&lt;br /&gt;
&lt;br /&gt;
UC 2) The user has created several tiled clones from a base object and now wishes to modify the way the cloned objects are positioned.  For example, they want to have more space between the copies.&lt;br /&gt;
&lt;br /&gt;
On-canvas transformation of the base tile outline is proposed.&lt;br /&gt;
&lt;br /&gt;
* Select a clone and navigate to the base tile object (Select Original)&lt;br /&gt;
* Go to the Select and Transform objects tool (could also use the Transform dialog)&lt;br /&gt;
* The selection boundary displayed on canvas for the base tile object is not the bounding box of the child elements.  Instead it is the bounding box of the base tile.  The usual transformation handles are displayed.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:transformExample.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation Considerations ==&lt;br /&gt;
&lt;br /&gt;
For each proposed feature, three things must be considered:&lt;br /&gt;
&lt;br /&gt;
# The user interaction&lt;br /&gt;
# How the SVG markup is affected&lt;br /&gt;
# The mathematics of the operation&lt;br /&gt;
&lt;br /&gt;
UC 1) '''Grid for symmetry groups'''&lt;br /&gt;
* ''User interaction''&lt;br /&gt;
** User enables grid display through menu or keyboard accelerator&lt;br /&gt;
** Grid displayed changes depending on which base tile or cloned tile is selected.  If the user selects an object that is a clone (svg:use that references a base tile) or the selected object or one of its parents is a base tile (navigate up the hierarchy until a base tile is found or reach the top of the document), then the tiling pattern will be displayed.&lt;br /&gt;
** If multiple objects are selected and they map to more than one base tile, no grid outline will be shown.&lt;br /&gt;
* ''SVG markup''&lt;br /&gt;
** Requires the base tile markup to have the following information:&lt;br /&gt;
*** inkscape:tile-x0, inkscape:tile-y0, inkscape:tile-w, inkscape:tile-h (These items are already added to the SVG markup as part of the ''Create Tiled Clones...'' dialog.)&lt;br /&gt;
*** inkscape:tile-type (This attribute is new for this feature.  It stores the wallpaper symmetry group type - P1, P2, CMM etc)&lt;br /&gt;
* ''Math''&lt;br /&gt;
** For each symmetry group type, determine the shape, size and position of the base tile.&lt;br /&gt;
** This information is documented in the code.  See symmetry-tool.cpp.  It is based on the algorithm currently used in the ''Create Tiled Clones...'' dialog.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85604</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85604"/>
		<updated>2012-06-06T21:14:45Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row/column or the width/height fields in the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).  The user must choose a symmetry group or create their own set of transformation rules.&lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation base tiles for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of CMM, they will want to know at a general level that the  tile will be reflected in two orthogonal directions and rotated 180 degrees in a diagonal direction.  At a more specific level, they will want to know across what lines the pattern will be reflected and what is the pivot point for the rotation.&lt;br /&gt;
&lt;br /&gt;
An on-canvas visualization of the base tile and of the tiling pattern is proposed.&lt;br /&gt;
&lt;br /&gt;
* Draw the outline of the base tile using different line styles and markings to indicate the transformation operations.&lt;br /&gt;
* Draw a grid showing how the base tile will be transformed to cover the plane.  Cloned tiles will appear in the cells of the grid.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:cmmExample.png]]&lt;br /&gt;
&lt;br /&gt;
UC 2) The user has created several tiled clones from a base object and now wishes to modify the way the cloned objects are positioned.  For example, they want to have more space between the copies.&lt;br /&gt;
&lt;br /&gt;
On-canvas transformation of the base tile outline is proposed.&lt;br /&gt;
&lt;br /&gt;
* Select a clone and navigate to the base tile object (Select Original)&lt;br /&gt;
* Go to the Select and Transform objects tool (could also use the Transform dialog)&lt;br /&gt;
* The selection boundary displayed on canvas for the base tile object is not the bounding box of the child elements.  Instead it is the bounding box of the base tile.  The usual transformation handles are displayed.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:transformExample.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation Considerations ==&lt;br /&gt;
&lt;br /&gt;
For each proposed feature, three things must be considered:&lt;br /&gt;
&lt;br /&gt;
# The user interaction&lt;br /&gt;
# How the SVG markup is affected&lt;br /&gt;
# The mathematics of the operation&lt;br /&gt;
&lt;br /&gt;
UC 1) '''Grid for symmetry groups'''&lt;br /&gt;
* ''User interaction''&lt;br /&gt;
** User enables grid display through menu or keyboard accelerator&lt;br /&gt;
* ''SVG markup''&lt;br /&gt;
** Requires the base tile markup to have the following information:&lt;br /&gt;
*** inkscape:tile-x0, inkscape:tile-y0, inkscape:tile-w, inkscape:tile-h (These items are already part of inkscapes Cloned Tile dialog.)&lt;br /&gt;
*** inkscape:tile-type (This attribute is new for this feature.  It stores the wallpaper symmetry group type. P1, P2, CMM etc)&lt;br /&gt;
* ''Math''&lt;br /&gt;
** For each symmetry group type, determine the shape, size and position of the base tile.&lt;br /&gt;
** This information is documented in the code.  See symmetry-tool.cpp.  It is based on the algorithm currently used in the ''Create Tiled Clones...'' dialog.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:TransformExample.png&amp;diff=85598</id>
		<title>File:TransformExample.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:TransformExample.png&amp;diff=85598"/>
		<updated>2012-06-06T21:13:42Z</updated>

		<summary type="html">&lt;p&gt;Veronika: uploaded a new version of &amp;amp;quot;File:TransformExample.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Example of CMM Symmetry group showing transformation handles around base tile.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:TransformExample.png&amp;diff=85592</id>
		<title>File:TransformExample.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:TransformExample.png&amp;diff=85592"/>
		<updated>2012-06-06T21:10:20Z</updated>

		<summary type="html">&lt;p&gt;Veronika: Example of CMM Symmetry group showing transformation handles around base tile.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Example of CMM Symmetry group showing transformation handles around base tile.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85586</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85586"/>
		<updated>2012-06-06T21:06:27Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row/column or the width/height fields in the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).  The user must choose a symmetry group or create their own set of transformation rules.&lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation base tiles for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of CMM, they will want to know at a general level that the  tile will be reflected in two orthogonal directions and rotated 180 degrees in a diagonal direction.  At a more specific level, they will want to know across what lines the pattern will be reflected and what is the pivot point for the rotation.&lt;br /&gt;
&lt;br /&gt;
An on-canvas visualization of the base tile and of the tiling pattern is proposed.&lt;br /&gt;
&lt;br /&gt;
* Draw the outline of the base tile using different line styles and markings to indicate the transformation operations.&lt;br /&gt;
* Draw a grid showing how the base tile will be transformed to cover the plane.  Cloned tiles will appear in the cells of the grid.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:cmmExample.png]]&lt;br /&gt;
&lt;br /&gt;
UC 2) The user has created several tiled clones from a base object and now wishes to modify the way the cloned objects are positioned.  For example, they want to have more space between the copies.&lt;br /&gt;
&lt;br /&gt;
On-canvas transformation of the base tile outline is proposed.&lt;br /&gt;
&lt;br /&gt;
* Select a clone and navigate to the base tile object (Select Original)&lt;br /&gt;
* Go to the Select and Transform objects tool (could also use the Transform dialog)&lt;br /&gt;
* The selection boundary displayed on canvas for the base tile object is not the bounding box of the child elements.  Instead it is the bounding box of the base tile.  The usual transformation handles are displayed.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation Considerations ==&lt;br /&gt;
&lt;br /&gt;
For each proposed feature, three things must be considered:&lt;br /&gt;
&lt;br /&gt;
# The user interaction&lt;br /&gt;
# How the SVG markup is affected&lt;br /&gt;
# The mathematics of the operation&lt;br /&gt;
&lt;br /&gt;
UC 1) '''Grid for symmetry groups'''&lt;br /&gt;
* ''User interaction''&lt;br /&gt;
** User enables grid display through menu or keyboard accelerator&lt;br /&gt;
* ''SVG markup''&lt;br /&gt;
** Requires the base tile markup to have the following information:&lt;br /&gt;
*** inkscape:tile-x0, inkscape:tile-y0, inkscape:tile-w, inkscape:tile-h (These items are already part of inkscapes Cloned Tile dialog.)&lt;br /&gt;
*** inkscape:tile-type (This attribute is new for this feature.  It stores the wallpaper symmetry group type. P1, P2, CMM etc)&lt;br /&gt;
* ''Math''&lt;br /&gt;
** For each symmetry group type, determine the shape, size and position of the base tile.&lt;br /&gt;
** This information is documented in the code.  See symmetry-tool.cpp.  It is based on the algorithm currently used in the ''Create Tiled Clones...'' dialog.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85580</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85580"/>
		<updated>2012-06-06T20:57:30Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row/column or the width/height fields in the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).  The user must choose a symmetry group or create their own set of transformation rules.&lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation base tiles for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of CMM, they will want to know at a general level that the  tile will be reflected in two orthogonal directions and rotated 180 degrees in a diagonal direction.  At a more specific level, they will want to know across what lines the pattern will be reflected and what is the pivot point for the rotation.&lt;br /&gt;
&lt;br /&gt;
An on-canvas visualization of the base tile and of the tiling pattern is proposed.&lt;br /&gt;
&lt;br /&gt;
* Draw the outline of the base tile using different line styles and markings to indicate the transformation operations.&lt;br /&gt;
* Draw a grid showing how the base tile will be transformed to cover the plane.  Cloned tiles will appear in the cells of the grid.&lt;br /&gt;
&lt;br /&gt;
The following picture shows what this might look like:&lt;br /&gt;
&lt;br /&gt;
[[File:cmmExample.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation Considerations ==&lt;br /&gt;
&lt;br /&gt;
For each proposed feature, three things must be considered:&lt;br /&gt;
&lt;br /&gt;
# The user interaction&lt;br /&gt;
# How the SVG markup is affected&lt;br /&gt;
# The mathematics of the operation&lt;br /&gt;
&lt;br /&gt;
UC 1) '''Grid for symmetry groups'''&lt;br /&gt;
** ''User interaction''&lt;br /&gt;
*** User enables grid display through menu or keyboard accelerator&lt;br /&gt;
** ''SVG markup''&lt;br /&gt;
*** Requires the base tile markup to have the following information:&lt;br /&gt;
**** inkscape:tile-x0, inkscape:tile-y0, inkscape:tile-w, inkscape:tile-h (These items are already part of inkscapes Cloned Tile dialog.)&lt;br /&gt;
**** inkscape:tile-type (This attribute is new for this feature.  It stores the wallpaper symmetry group type. P1, P2, CMM etc)&lt;br /&gt;
** ''Math''&lt;br /&gt;
*** For each symmetry group type, determine the shape, size and position of the base tile.&lt;br /&gt;
*** This information is documented in the code.  See symmetry-tool.cpp.  It is based on the algorithm currently used in the Create Tiled Clones... dialog.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:CmmExample.png&amp;diff=85574</id>
		<title>File:CmmExample.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:CmmExample.png&amp;diff=85574"/>
		<updated>2012-06-06T20:48:07Z</updated>

		<summary type="html">&lt;p&gt;Veronika: uploaded a new version of &amp;amp;quot;File:CmmExample.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Example of grid lines and base tile outline for CMM symmetry group.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85568</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85568"/>
		<updated>2012-06-06T20:41:16Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row/column or the width/height fields in the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).  The user must choose a symmetry group or create their own set of transformation rules.&lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation base tiles for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of PM, they will want to know at a general level that the  tile will be reflected in one direction and translated in an orthogonal direction.  At a more specific level, they will want to know which direction and how far the pattern will be translated and across what line the pattern will be reflected.  &lt;br /&gt;
&lt;br /&gt;
An on-canvas visualization of the base tile and of the tiling pattern is proposed.&lt;br /&gt;
&lt;br /&gt;
* Draw the outline of the base tile using different line styles and markings to indicate the transformation operations.&lt;br /&gt;
* Draw a grid showing how the base tile will be translated across the plane.  Cloned tiles will appear in the cells of the grid.&lt;br /&gt;
&lt;br /&gt;
[[File:cmmExample.png]]&lt;br /&gt;
&lt;br /&gt;
== Implementation Considerations ==&lt;br /&gt;
&lt;br /&gt;
For each proposed feature, three things must be considered:&lt;br /&gt;
&lt;br /&gt;
# The user interaction&lt;br /&gt;
# How the SVG markup is affected&lt;br /&gt;
# The mathematics of the operation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Guides for symmetry groups'''&lt;br /&gt;
** ''User interaction''&lt;br /&gt;
*** User enables guide display through menu or keyboard accelerator&lt;br /&gt;
** ''SVG markup''&lt;br /&gt;
*** Requires the base tile markup to have the following information:&lt;br /&gt;
**** inkscape:tile-x0, inkscape:tile-y0, inkscape:tile-w, inkscape:tile-h (These items are already part of inkscapes Cloned Tile dialog.)&lt;br /&gt;
**** inkscape:tile-type (This attribute is new for this feature.  It stores the wallpaper symmetry group type. P1, P2, CMM etc)&lt;br /&gt;
*** Requires the cloned tile markup to have the following information:&lt;br /&gt;
**** transform - this attribute contains the transformation required to map the base tile outline to the cloned tile outline.  This is the same transformation that is applied to the base tile object to obtain the size, position etc of the cloned object.  Note that the base object may have been translated away from its original position.  This translation &lt;br /&gt;
** ''Math''&lt;br /&gt;
*** For each symmetry group type, determine the shape, size and position of the base tile.&lt;br /&gt;
*** TODO This is currently done in symmetry-tool.cpp but should be documented here.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:CmmExample.png&amp;diff=85562</id>
		<title>File:CmmExample.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:CmmExample.png&amp;diff=85562"/>
		<updated>2012-06-06T20:32:00Z</updated>

		<summary type="html">&lt;p&gt;Veronika: Example of grid lines and base tile outline for CMM symmetry group.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Example of grid lines and base tile outline for CMM symmetry group.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:Resize_base_tile.PNG&amp;diff=85556</id>
		<title>File:Resize base tile.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:Resize_base_tile.PNG&amp;diff=85556"/>
		<updated>2012-06-06T20:09:38Z</updated>

		<summary type="html">&lt;p&gt;Veronika: Mockup showing Symmetry Guides on base tile and cloned tiles as well as transformation handles on base tile.  Example uses CMM wallpaper symmetry group.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mockup showing Symmetry Guides on base tile and cloned tiles as well as transformation handles on base tile.  Example uses CMM wallpaper symmetry group.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85388</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85388"/>
		<updated>2012-06-01T22:20:50Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row/column or the width/height fields in the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).  The user must choose a symmetry group or create their own set of transformation rules.&lt;br /&gt;
&lt;br /&gt;
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of PM, they will want to know at a general level that the  tile will be reflected in one direction and translated in an orthogonal direction.  At a more specific level, they will want to know which direction is the direction of translation and which direction is the direction of reflection.  &lt;br /&gt;
&lt;br /&gt;
They may also wish to modify aspects of the symmetry relationships such as changing the orientation of the transformation, changing the size of the transformation (such as the distance of translation, etc).  These items are covered under different use cases below.&lt;br /&gt;
&lt;br /&gt;
An on-canvas visualization of the base tile and of the tiling pattern is proposed.&lt;br /&gt;
&lt;br /&gt;
* Draw an outline to show the shape and position of base tile as well as shape and position of transformed base tile.  This shape represents the shaw transformed by the underlying algorithm.  If the objects in the base tile cover the entire base tile and do not go outside the base tile, this outline may be redundant.  however, in most cases, the objects do not cover the entire base tile and frequently extend beyond the edges. &lt;br /&gt;
* Markers to show operations at edges or corners&lt;br /&gt;
** Potential issue: Conflict with transformation markers&lt;br /&gt;
* Use different line styles to denote edges of different styles such as double line for reflection, dashed line for translation.&lt;br /&gt;
** Potential issue: Conflict with selection rectangle&lt;br /&gt;
&lt;br /&gt;
The following diagram illustrates this approach:&lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation images for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
UC 2) Related to Use Case 1, the user must apply a set of transformations to a set of objects.&lt;br /&gt;
&lt;br /&gt;
In order to do this, the user must specify the objects to be transformed and the set of transformation operations to be performed.&lt;br /&gt;
&lt;br /&gt;
One approach to do this on-canvas is as follows:&lt;br /&gt;
&lt;br /&gt;
Drag a rectangle around one or more items, the bounding box of the selected items will be used as input to define the size of the base tile.&lt;br /&gt;
Based on symmetry group specified in toolbar, the shape of the base tile will be determined.  It will have a default (axis aligned) orientation.&lt;br /&gt;
If the root item of the selection is not a group, an SVG group will be created as a container around the objects.  Tis will allow the user to add objects to the base tile in the future. The base tile inkscape SVG attributes will be defined on the group.&lt;br /&gt;
&lt;br /&gt;
If the root item is already a base tile, select and show the current base tile, and do not create a new one.  Do not change the symmetry type if it does not match the toolbar.&lt;br /&gt;
&lt;br /&gt;
UC 3) Create multiple clones from a base tile using standard symmetry groups&lt;br /&gt;
&lt;br /&gt;
'''Frieze'''&lt;br /&gt;
Select a base tile and ?? click on a path. Base tile is repeated along path using symmetry properties&lt;br /&gt;
Clipped at beginning and ends of path like text - if path extended? extend pattern&lt;br /&gt;
clone objects reference base tile and have an offset from base to indicate number of repeats.&lt;br /&gt;
Alternatively, select a base tile and click to create first clone, drag &amp;quot;left&amp;quot; or &amp;quot;right&amp;quot; to create additional clones based&lt;br /&gt;
symmetry pattern&lt;br /&gt;
&lt;br /&gt;
'''Rosette'''&lt;br /&gt;
'''Wallpaper'''&lt;br /&gt;
&lt;br /&gt;
UC 4) Modify base tile size, posiiton, orientation, skew, angle and update cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 5) Change symmetry group of base tile (maybe even allow non planar tilings) and update cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 6) Apply size and shift deltas to cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 7) Work with existing SVG documents.&lt;br /&gt;
&lt;br /&gt;
== Implementation Considerations ==&lt;br /&gt;
&lt;br /&gt;
For each proposed feature, three things must be considered:&lt;br /&gt;
&lt;br /&gt;
# The user interaction&lt;br /&gt;
# How the SVG markup is affected&lt;br /&gt;
# The mathematics of the operation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Guides for symmetry groups'''&lt;br /&gt;
** ''User interaction''&lt;br /&gt;
*** User enables guide display through menu or keyboard accelerator&lt;br /&gt;
** ''SVG markup''&lt;br /&gt;
*** Requires the base tile markup to have the following information:&lt;br /&gt;
**** inkscape:tile-x0, inkscape:tile-y0, inkscape:tile-w, inkscape:tile-h (These items are already part of inkscapes Cloned Tile dialog.)&lt;br /&gt;
**** inkscape:tile-type (This attribute is new for this feature.  It stores the wallpaper symmetry group type. P1, P2, CMM etc)&lt;br /&gt;
*** Requires the cloned tile markup to have the following information:&lt;br /&gt;
**** transform - this attribute contains the transformation required to map the base tile outline to the cloned tile outline.  This is the same transformation that is applied to the base tile object to obtain the size, position etc of the cloned object.  Note that the base object may have been translated away from its original position.  This translation &lt;br /&gt;
** ''Math''&lt;br /&gt;
*** For each symmetry group type, determine the shape, size and position of the base tile.&lt;br /&gt;
*** TODO This is currently done in symmetry-tool.cpp but should be documented here.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85382</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85382"/>
		<updated>2012-06-01T22:01:44Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row/column or the width/height fields in the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).  The user must choose a symmetry group or create their own set of transformation rules.&lt;br /&gt;
&lt;br /&gt;
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of PM, they will want to know at a general level that the  tile will be reflected in one direction and translated in an orthogonal direction.  At a more specific level, they will want to know which direction is the direction of translation and which direction is the direction of reflection.  &lt;br /&gt;
&lt;br /&gt;
They may also wish to modify aspects of the symmetry relationships such as changing the orientation of the transformation, changing the size of the transformation (such as the distance of translation, etc).  These items are covered under different use cases below.&lt;br /&gt;
&lt;br /&gt;
An on-canvas visualization of the base tile and of the tiling pattern is proposed.&lt;br /&gt;
&lt;br /&gt;
* Draw an outline to show the shape and position of base tile as well as shape and position of transformed base tile.  This shape represents the shaw transformed by the underlying algorithm.  If the objects in the base tile cover the entire base tile and do not go outside the base tile, this outline may be redundant.  however, in most cases, the objects do not cover the entire base tile and frequently extend beyond the edges. &lt;br /&gt;
* Markers to show operations at edges or corners&lt;br /&gt;
** Potential issue: Conflict with transformation markers&lt;br /&gt;
* Use different line styles to denote edges of different styles such as double line for reflection, dashed line for translation.&lt;br /&gt;
** Potential issue: Conflict with selection rectangle&lt;br /&gt;
&lt;br /&gt;
The following diagram illustrates this approach:&lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation images for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
UC 2) Related to Use Case 1, the user must apply a set of transformations to a set of objects.&lt;br /&gt;
&lt;br /&gt;
In order to do this, the user must specify the objects to be transformed and the set of transformation operations to be performed.&lt;br /&gt;
&lt;br /&gt;
One approach to do this on-canvas is as follows:&lt;br /&gt;
&lt;br /&gt;
Drag a rectangle around one or more items, the bounding box of the selected items will be used as input to define the size of the base tile.&lt;br /&gt;
Based on symmetry group specified in toolbar, the shape of the base tile will be determined.  It will have a default (axis aligned) orientation.&lt;br /&gt;
If the root item of the selection is not a group, an SVG group will be created as a container around the objects.  Tis will allow the user to add objects to the base tile in the future. The base tile inkscape SVG attributes will be defined on the group.&lt;br /&gt;
&lt;br /&gt;
If the root item is already a base tile, select and show the current base tile, and do not create a new one.  Do not change the symmetry type if it does not match the toolbar.&lt;br /&gt;
&lt;br /&gt;
UC 3) Create multiple clones from a base tile using standard symmetry groups&lt;br /&gt;
&lt;br /&gt;
'''Frieze'''&lt;br /&gt;
Select a base tile and ?? click on a path. Base tile is repeated along path using symmetry properties&lt;br /&gt;
Clipped at beginning and ends of path like text - if path extended? extend pattern&lt;br /&gt;
clone objects reference base tile and have an offset from base to indicate number of repeats.&lt;br /&gt;
Alternatively, select a base tile and click to create first clone, drag &amp;quot;left&amp;quot; or &amp;quot;right&amp;quot; to create additional clones based&lt;br /&gt;
symmetry pattern&lt;br /&gt;
&lt;br /&gt;
'''Rosette'''&lt;br /&gt;
'''Wallpaper'''&lt;br /&gt;
&lt;br /&gt;
UC 4) Modify base tile size, posiiton, orientation, skew, angle and update cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 5) Change symmetry group of base tile (maybe even allow non planar tilings) and update cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 6) Apply size and shift deltas to cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 7) Work with existing SVG documents.&lt;br /&gt;
&lt;br /&gt;
== Implementation Considerations ==&lt;br /&gt;
&lt;br /&gt;
For each proposed feature, three things must be considered:&lt;br /&gt;
&lt;br /&gt;
# The user interaction&lt;br /&gt;
# How the SVG markup is affected&lt;br /&gt;
# The mathematics of the operation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Guides for symmetry groups'''&lt;br /&gt;
** [[User interaction]]&lt;br /&gt;
*** User enables guide display through menu or keyboard accelerator&lt;br /&gt;
** [[SVG markup]]&lt;br /&gt;
*** Requires the base tile markup to have the following information:&lt;br /&gt;
**** inkscape:tile-x0, inkscape:tile-y0, inkscape:tile-w, inkscape:tile-h (These items are already part of inkscapes Cloned Tile dialog.)&lt;br /&gt;
**** inkscape:tile-type (This attribute is new for this feature.  It stores the wallpaper symmetry group type. P1, P2, CMM etc)&lt;br /&gt;
*** Requires the cloned tile markup to have the following information:&lt;br /&gt;
**** transform - this attribute contains the transformation required to map the base tile outline to the cloned tile outline.  This is the same transformation that is applied to the base tile object to obtain the size, position etc of the cloned object.  Note that the base object may have been translated away from its original position.  This translation &lt;br /&gt;
** [[Math]]&lt;br /&gt;
*** For each symmetry group type, determine the shape, size and position of the base tile.&lt;br /&gt;
*** TODO This is currently done in symmetry-tool.cpp but should be documented here.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85028</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85028"/>
		<updated>2012-05-29T00:43:43Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row/column or the width/height fields in the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).  The user must choose a symmetry group or create their own set of transformation rules.&lt;br /&gt;
&lt;br /&gt;
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of PM, they will want to know at a general level that the  tile will be reflected in one direction and translated in an orthogonal direction.  At a more specific level, they will want to know which direction is the direction of translation and which direction is the direction of reflection.  &lt;br /&gt;
&lt;br /&gt;
They may also wish to modify aspects of the symmetry relationships such as changing the orientation of the transformation, changing the size of the transformation (such as the distance of translation, etc).  These items are covered under different use cases below.&lt;br /&gt;
&lt;br /&gt;
An on-canvas visualization of the base tile and of the tiling pattern is proposed.&lt;br /&gt;
&lt;br /&gt;
* Draw an outline to show the shape and position of base tile as well as shape and position of transformed base tile.  This shape represents the shaw transformed by the underlying algorithm.  If the objects in the base tile cover the entire base tile and do not go outside the base tile, this outline may be redundant.  however, in most cases, the objects do not cover the entire base tile and frequently extend beyond the edges. &lt;br /&gt;
* Markers to show operations at edges or corners&lt;br /&gt;
** Potential issue: Conflict with transformation markers&lt;br /&gt;
* Use different line styles to denote edges of different styles such as double line for reflection, dashed line for translation.&lt;br /&gt;
** Potential issue: Conflict with selection rectangle&lt;br /&gt;
&lt;br /&gt;
The following diagram illustrates this approach:&lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation images for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
UC 2) Related to Use Case 1, the user must apply a set of transformations to a set of objects.&lt;br /&gt;
&lt;br /&gt;
In order to do this, the user must specify the objects to be transformed and the set of transformation operations to be performed.&lt;br /&gt;
&lt;br /&gt;
One approach to do this on-canvas is as follows:&lt;br /&gt;
&lt;br /&gt;
Drag a rectangle around one or more items, the bounding box of the selected items will be used as input to define the size of the base tile.&lt;br /&gt;
Based on symmetry group specified in toolbar, the shape of the base tile will be determined.  It will have a default (axis aligned) orientation.&lt;br /&gt;
If the root item of the selection is not a group, an SVG group will be created as a container around the objects.  Tis will allow the user to add objects to the base tile in the future. The base tile inkscape SVG attributes will be defined on the group.&lt;br /&gt;
&lt;br /&gt;
If the root item is already a base tile, select and show the current base tile, and do not create a new one.  Do not change the symmetry type if it does not match the toolbar.&lt;br /&gt;
&lt;br /&gt;
UC 3) Create multiple clones from a base tile using standard symmetry groups&lt;br /&gt;
&lt;br /&gt;
'''Frieze'''&lt;br /&gt;
Select a base tile and ?? click on a path. Base tile is repeated along path using symmetry properties&lt;br /&gt;
Clipped at beginning and ends of path like text - if path extended? extend pattern&lt;br /&gt;
clone objects reference base tile and have an offset from base to indicate number of repeats.&lt;br /&gt;
Alternatively, select a base tile and click to create first clone, drag &amp;quot;left&amp;quot; or &amp;quot;right&amp;quot; to create additional clones based&lt;br /&gt;
symmetry pattern&lt;br /&gt;
&lt;br /&gt;
'''Rosette'''&lt;br /&gt;
'''Wallpaper'''&lt;br /&gt;
&lt;br /&gt;
UC 4) Modify base tile size, posiiton, orientation, skew, angle and update cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 5) Change symmetry group of base tile (maybe even allow non planar tilings) and update cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 6) Apply size and shift deltas to cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 7) Work with existing SVG documents.&lt;br /&gt;
&lt;br /&gt;
== Implementation Considerations ==&lt;br /&gt;
&lt;br /&gt;
For each proposed feature, three things must be considered:&lt;br /&gt;
&lt;br /&gt;
# The user interaction&lt;br /&gt;
# How the SVG markup is affected&lt;br /&gt;
# The mathematics of the operation&lt;br /&gt;
&lt;br /&gt;
Create a P1 Symmetry Group&lt;br /&gt;
&lt;br /&gt;
Edit a P1 Symmetry Group&lt;br /&gt;
&lt;br /&gt;
Create Clones for a P1 Symmetry Group&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85022</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85022"/>
		<updated>2012-05-29T00:36:29Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row/column or the width/height fields in the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).  The user must choose a symmetry group or create their own set of transformation rules.&lt;br /&gt;
&lt;br /&gt;
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of PM, they will want to know at a general level that the  tile will be reflected in one direction and translated in an orthogonal direction.  At a more specific level, they will want to know which direction is the direction of translation and which direction is the direction of reflection.  &lt;br /&gt;
&lt;br /&gt;
They may also wish to modify aspects of the symmetry relationships such as changing the orientation of the transformation, changing the size of the transformation (such as the distance of translation, etc).  These items are covered under different use cases below.&lt;br /&gt;
&lt;br /&gt;
An on-canvas visualization of the base tile and of the tiling pattern is proposed.&lt;br /&gt;
&lt;br /&gt;
* Draw an outline to show the shape and position of base tile as well as shape and position of transformed base tile.  This shape represents the shaw transformed by the underlying algorithm.  If the objects in the base tile cover the entire base tile and do not go outside the base tile, this outline may be redundant.  however, in most cases, the objects do not cover the entire base tile and frequently extend beyond the edges. &lt;br /&gt;
* Markers to show operations at edges or corners&lt;br /&gt;
** Potential issue: Conflict with transformation markers&lt;br /&gt;
* Use different line styles to denote edges of different styles such as double line for reflection, dashed line for translation.&lt;br /&gt;
** Potential issue: Conflict with selection rectangle&lt;br /&gt;
&lt;br /&gt;
The following diagram illustrates this approach:&lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation images for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
UC 2) Related to Use Case 1, the user must apply a set of transformations to a set of objects.&lt;br /&gt;
&lt;br /&gt;
In order to do this, the user must specify the objects to be transformed and the set of transformation operations to be performed.&lt;br /&gt;
&lt;br /&gt;
One approach to do this on-canvas is as follows:&lt;br /&gt;
&lt;br /&gt;
Drag a rectangle around one or more items, the bounding box of the selected items will be used as input to define the size of the base tile.&lt;br /&gt;
Based on symmetry group specified in toolbar, the shape of the base tile will be determined.  It will have a default (axis aligned) orientation.&lt;br /&gt;
If the root item of the selection is not a group, an SVG group will be created as a container around the objects.  Tis will allow the user to add objects to the base tile in the future. The base tile inkscape SVG attributes will be defined on the group.&lt;br /&gt;
&lt;br /&gt;
If the root item is already a base tile, select and show the current base tile, and do not create a new one.  Do not change the symmetry type if it does not match the toolbar.&lt;br /&gt;
&lt;br /&gt;
UC 3) Create multiple clones from a base tile using standard symmetry groups&lt;br /&gt;
&lt;br /&gt;
'''Frieze'''&lt;br /&gt;
Select a base tile and ?? click on a path. Base tile is repeated along path using symmetry properties&lt;br /&gt;
Clipped at beginning and ends of path like text - if path extended? extend pattern&lt;br /&gt;
clone objects reference base tile and have an offset from base to indicate number of repeats.&lt;br /&gt;
Alternatively, select a base tile and click to create first clone, drag &amp;quot;left&amp;quot; or &amp;quot;right&amp;quot; to create additional clones based&lt;br /&gt;
symmetry pattern&lt;br /&gt;
&lt;br /&gt;
'''Rosette'''&lt;br /&gt;
&lt;br /&gt;
'''Wallpaper'''&lt;br /&gt;
&lt;br /&gt;
UC 4) Modify base tile size, posiiton, orientation, skew, angle and update cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 5) Change symmetry group of base tile (maybe even allow non planar tilings) and update cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 6) Apply size and shift deltas to cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 7) Work with existing SVG documents.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85016</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85016"/>
		<updated>2012-05-29T00:02:59Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row and column fields or the ??? in the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).&lt;br /&gt;
&lt;br /&gt;
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of PM, they will want to know at a general level that the  tile will be reflected in one direction and translated in an orthogonal direction.  At a more specific level, they will want to know which direction is the direction of translation and which direction is the direction of reflection.  &lt;br /&gt;
&lt;br /&gt;
They may also wish to modify aspects of the symmetry relationships such as changing the orientation of the transformation, changing the size of the transformation (such as the distance of translation, etc).  These items are covered under different use cases below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An on-canvas visualization of the base tile and of the tiling pattern is proposed.&lt;br /&gt;
&lt;br /&gt;
* Markers to show operations at edges or corners&lt;br /&gt;
** Potential issue: Conflict with transformation markers&lt;br /&gt;
* Use different line styles to denote edges of different styles such as double line for reflection, dashed line for translation.&lt;br /&gt;
** Potential issue: Conflict with selection rectangle&lt;br /&gt;
* Draw an outline to show the shape and position of base tile as well as shape and position of transformed base tile.  This shape represents the shaw transformed by the underlying algorithm.  If the objects in the base tile cover the entire base tile and do not go outside the base tile, this outline may be redundant.  however, in most cases, the objects do not cover the entire base tile and frequently extend beyond the edges. &lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation images for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
UC 2) Create a base tile based on a symmetry group&lt;br /&gt;
&lt;br /&gt;
Drag a rectangle around one or more items. Based on symmetry group specified in toolbar, use bounding box to&lt;br /&gt;
create a default base tile - will create a group and put base tile inkscape attributes on group&lt;br /&gt;
If already a base tile? Just select and show the current base tile, do not create a new one&lt;br /&gt;
&lt;br /&gt;
UC 3) Create clones from a base tile using standard symmetry groups&lt;br /&gt;
&lt;br /&gt;
'''Frieze'''&lt;br /&gt;
Select a base tile and ?? click on a path. Base tile is repeated along path using symmetry properties&lt;br /&gt;
Clipped at beginning and ends of path like text - if path extended? extend pattern&lt;br /&gt;
clone objects reference base tile and have an offset from base to indicate number of repeats.&lt;br /&gt;
Alternatively, select a base tile and click to create first clone, drag &amp;quot;left&amp;quot; or &amp;quot;right&amp;quot; to create additional clones based&lt;br /&gt;
symmetry pattern&lt;br /&gt;
&lt;br /&gt;
'''Rosette'''&lt;br /&gt;
&lt;br /&gt;
'''Wallpaper'''&lt;br /&gt;
&lt;br /&gt;
UC 4) Modify base tile size, posiiton, orientation, skew, angle and update cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 5) Change symmetry group of base tile (maybe even allow non planar tilings) and update cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 6) Apply size and shift deltas to cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 7) Work with existing SVG documents.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85010</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=85010"/>
		<updated>2012-05-29T00:02:01Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, this project will focus on on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (placement refers to the attributes currently specified either by the row and column fields or the ??? in the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and Line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) User has created one or more objects which they want to replicate using a group of symmetry relationships (rotation, reflection, translation or glide).&lt;br /&gt;
&lt;br /&gt;
In order to choose the symmetry relationships that will produce the desired effect, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of PM, they will want to know at a general level that the  tile will be reflected in one direction and translated in an orthogonal direction.  At a more specific level, they will want to know which direction is the direction of translation and which direction is the direction of reflection.  &lt;br /&gt;
&lt;br /&gt;
They may also wish to modify aspects of the symmetry relationships such as changing the orientation of the transformation, changing the size of the transformation (such as the distance of translation, etc).  These items are covered under different use cases below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An on-canvas visualization of the base tile and of the tiling pattern is proposed.&lt;br /&gt;
&lt;br /&gt;
* Markers to show operations at edges or corners&lt;br /&gt;
 ** Potential issue: Conflict with transformation markers&lt;br /&gt;
* Use different line styles to denote edges of different styles such as double line for reflection, dashed line for translation.&lt;br /&gt;
** Potential issue: Conflict with selection rectangle&lt;br /&gt;
* Draw an outline to show the shape and position of base tile as well as shape and position of transformed base tile.  This shape represents the shaw transformed by the underlying algorithm.  If the objects in the base tile cover the entire base tile and do not go outside the base tile, this outline may be redundant.  however, in most cases, the objects do not cover the entire base tile and frequently extend beyond the edges. &lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation images for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
UC 2) Create a base tile based on a symmetry group&lt;br /&gt;
&lt;br /&gt;
Drag a rectangle around one or more items. Based on symmetry group specified in toolbar, use bounding box to&lt;br /&gt;
create a default base tile - will create a group and put base tile inkscape attributes on group&lt;br /&gt;
If already a base tile? Just select and show the current base tile, do not create a new one&lt;br /&gt;
&lt;br /&gt;
UC 3) Create clones from a base tile using standard symmetry groups&lt;br /&gt;
&lt;br /&gt;
'''Frieze'''&lt;br /&gt;
Select a base tile and ?? click on a path. Base tile is repeated along path using symmetry properties&lt;br /&gt;
Clipped at beginning and ends of path like text - if path extended? extend pattern&lt;br /&gt;
clone objects reference base tile and have an offset from base to indicate number of repeats.&lt;br /&gt;
Alternatively, select a base tile and click to create first clone, drag &amp;quot;left&amp;quot; or &amp;quot;right&amp;quot; to create additional clones based&lt;br /&gt;
symmetry pattern&lt;br /&gt;
&lt;br /&gt;
'''Rosette'''&lt;br /&gt;
&lt;br /&gt;
'''Wallpaper'''&lt;br /&gt;
&lt;br /&gt;
UC 4) Modify base tile size, posiiton, orientation, skew, angle and update cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 5) Change symmetry group of base tile (maybe even allow non planar tilings) and update cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 6) Apply size and shift deltas to cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 7) Work with existing SVG documents.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=84878</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=84878"/>
		<updated>2012-05-25T16:00:32Z</updated>

		<summary type="html">&lt;p&gt;Veronika: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, I am interested in on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (by placement, I mean what is currently controlled by the row and column fields of the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Blueprints ==&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
UC 1) The user wants to choose a symmetry group for a design.&lt;br /&gt;
&lt;br /&gt;
In order to do so, the user must understand how clones of the base tile will be transformed.  For example, if the user selects a symmetry type of PM, they will want to know generally that the  tile will be reflected in one direction and translated in the orthogonal direction and more specifically which direction is the direction of translation and which direction is the direction of reflection.&lt;br /&gt;
&lt;br /&gt;
To support this, we will visualize the tiling pattern.&lt;br /&gt;
&lt;br /&gt;
* Markers to show operations at edges or corners - will this conflict with transformation markers?&lt;br /&gt;
* Edges of different styles - will this conflict with selection recetangle?&lt;br /&gt;
* Shape of base tile, shape of cloned tiles&lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation images for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
UC 2) Create a base tile based on a symmetry group&lt;br /&gt;
&lt;br /&gt;
Drag a rectangle around one or more items. Based on symmetry group specified in toolbar, use bounding box to&lt;br /&gt;
create a default base tile - will create a group and put base tile inkscape attributes on group&lt;br /&gt;
If already a base tile? Just select and show the current base tile, do not create a new one&lt;br /&gt;
&lt;br /&gt;
UC 3) Create clones from a base tile using standard symmetry groups&lt;br /&gt;
&lt;br /&gt;
'''Frieze'''&lt;br /&gt;
Select a base tile and ?? click on a path. Base tile is repeated along path using symmetry properties&lt;br /&gt;
Clipped at beginning and ends of path like text - if path extended? extend pattern&lt;br /&gt;
clone objects reference base tile and have an offset from base to indicate number of repeats.&lt;br /&gt;
Alternatively, select a base tile and click to create first clone, drag &amp;quot;left&amp;quot; or &amp;quot;right&amp;quot; to create additional clones based&lt;br /&gt;
symmetry pattern&lt;br /&gt;
&lt;br /&gt;
'''Rosette'''&lt;br /&gt;
&lt;br /&gt;
'''Wallpaper'''&lt;br /&gt;
&lt;br /&gt;
UC 4) Modify base tile size, posiiton, orientation, skew, angle and update cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 5) Change symmetry group of base tile (maybe even allow non planar tilings) and update cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 6) Apply size and shift deltas to cloned tiles&lt;br /&gt;
&lt;br /&gt;
UC 7) Work with existing SVG documents.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=84806</id>
		<title>OnCanvasSymmetryTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=OnCanvasSymmetryTool&amp;diff=84806"/>
		<updated>2012-05-24T23:46:16Z</updated>

		<summary type="html">&lt;p&gt;Veronika: GSoC Project On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The On-Canvas Support for Creating and Modifying Wallpaper Symmetry Groups is based on the functionality currently available in the &amp;quot;Create Tiled Clones ...&amp;quot; dialog.&lt;br /&gt;
&lt;br /&gt;
'''Primary focus:'''&lt;br /&gt;
&lt;br /&gt;
Redesign parts of the Cloned Tiles User Interface.  In particular, I am interested in on-canvas control of the size, position, orientation and skew of the boundary of the base tile as well as on-canvas control of the number and “placement” of cloned tiles (by placement, I mean what is currently controlled by the row and column fields of the current Create Cloned Tiles dialog).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Related blueprints:'''&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/tiling-tool - Tiling Tool for Wallpaper, Radial and line tiling]&lt;br /&gt;
&lt;br /&gt;
[https://blueprints.launchpad.net/inkscape/+spec/symmetrical-drawing - Symmetrical Drawing]&lt;br /&gt;
&lt;br /&gt;
'''Use Cases:'''&lt;br /&gt;
&lt;br /&gt;
1) Visualize the tiling pattern&lt;br /&gt;
&lt;br /&gt;
Markers to show operations at edges or corners - will this conflict with transformation markers?&lt;br /&gt;
Edges of different styles - will this conflict with selection recetangle?&lt;br /&gt;
Shape of base tile, shape of cloned tiles&lt;br /&gt;
&lt;br /&gt;
2) Create a base tile based on a symmetry group&lt;br /&gt;
&lt;br /&gt;
Drag a rectangle around one or more items. Based on symmetry group specified in toolbar, use bounding box to&lt;br /&gt;
create a default base tile - will create a group and put base tile inkscape attributes on group&lt;br /&gt;
If already a base tile? Just select and show the current base tile, do not create a new one&lt;br /&gt;
&lt;br /&gt;
3) Create clones from a base tile using standard symmetry groups&lt;br /&gt;
&lt;br /&gt;
'''Frieze'''&lt;br /&gt;
Select a base tile and ?? click on a path. Base tile is repeated along path using symmetry properties&lt;br /&gt;
Clipped at beginning and ends of path like text - if path extended? extend pattern&lt;br /&gt;
clone objects reference base tile and have an offset from base to indicate number of repeats.&lt;br /&gt;
Alternatively, select a base tile and click to create first clone, drag &amp;quot;left&amp;quot; or &amp;quot;right&amp;quot; to create additional clones based&lt;br /&gt;
symmetry pattern&lt;br /&gt;
&lt;br /&gt;
'''Rosette'''&lt;br /&gt;
&lt;br /&gt;
'''Wallpaper'''&lt;br /&gt;
&lt;br /&gt;
4) Modify base tile size, posiiton, orientation, skew, angle and update cloned tiles&lt;br /&gt;
&lt;br /&gt;
5) Change symmetry group of base tile (maybe even allow non planar tilings) and update cloned tiles&lt;br /&gt;
&lt;br /&gt;
6) Apply size and shift deltas to cloned tiles&lt;br /&gt;
&lt;br /&gt;
7) Work with existing SVG documents.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Tiling_tool&amp;diff=81038</id>
		<title>Tiling tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Tiling_tool&amp;diff=81038"/>
		<updated>2012-03-31T17:36:48Z</updated>

		<summary type="html">&lt;p&gt;Veronika: I have uploaded a file called WallpaperTransformations.png and placed a link to it under the Tiling Tool section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tiling tool == &lt;br /&gt;
The current tiling interface is hard to use. The current interface attempts to make the process more user friendly through the use of a tool that creates a &amp;quot;render frame&amp;quot;, which consists of two parts:&lt;br /&gt;
* A base tile, where the pattern is supposed to be&lt;br /&gt;
* A more general render frame, showing the location of the output&lt;br /&gt;
* Both can be edited on-canvas&lt;br /&gt;
&lt;br /&gt;
The tiling process is simply:&lt;br /&gt;
# Create a frame&lt;br /&gt;
# Select a pattern and a frame&lt;br /&gt;
# Click &amp;quot;Render&amp;quot; from the tiling tool&lt;br /&gt;
&lt;br /&gt;
* By default the frame becomes invisible after a render, and becomes &amp;quot;implied&amp;quot; in the generated output (a bit like clipping?). &lt;br /&gt;
* Undoing the render makes the frame appear again. &lt;br /&gt;
* The user can choose to drop a copy of the frame after a render for re-use however, or make a copy before applying.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;180&amp;quot;| Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;700&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
! Wallpaper tiling&lt;br /&gt;
| Allows users to use the 17 wallpaper types.&lt;br /&gt;
|-&lt;br /&gt;
! Radial tiling&lt;br /&gt;
| &lt;br /&gt;
* This is for radial designs, and allows both angular clones and radial clones. &lt;br /&gt;
* For angular clones, users can choose between simple rotation or symmetry + rotation. (thus covering the Rosetta patterns as well)&lt;br /&gt;
* For radial clones, users can choose between same direction and alternating directions.&lt;br /&gt;
|-&lt;br /&gt;
! Path tiling&lt;br /&gt;
| &lt;br /&gt;
* Clones are generated along a path. This can be used to create a string of decorations, for repeating frills, for page borders etc.&lt;br /&gt;
* Users can choose from all 7 Frieze groups.&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
[[File:Tiling_Tool_Toolbar.png|UI Proposal for tiling tool]] &lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Media:WallpaperTransformations.png | Transformation images for wallpaper groups]]&lt;br /&gt;
&lt;br /&gt;
== Render modes ==&lt;br /&gt;
&lt;br /&gt;
There are two modes:&lt;br /&gt;
* Create clones: This is the current rendering mode&lt;br /&gt;
* Fuse: This mode first cuts excess for &amp;quot;inner&amp;quot; sides, then performs a &amp;quot;fuse&amp;quot; operation on the whole output.&lt;br /&gt;
&lt;br /&gt;
[[File:Tiling_cut_excess.png|Explanation of &amp;quot;Fuse&amp;quot; feature for tiling proposal]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[File:Tiling_interface_examples.png|More examples of the possible outputs for the “Fuse Cut” mode]] &lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Render frame ==&lt;br /&gt;
&lt;br /&gt;
The render frame is made up of:&lt;br /&gt;
* A central tile, which defines the location of the pattern to copy&lt;br /&gt;
* A more general render grid&lt;br /&gt;
&lt;br /&gt;
[[File:Tiling_Tool_Render_Frame.png|UI Proposal for the Render frame of the Tiling tool proposal]] &lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== On-canvas transformation handles ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tiling_Tool_Transformation_Handles.png|UI proposal for on-canvas handles for the tiling tool proposal]] &lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Guide points ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tiling_Tool_Guides.png|UI proposal for guide points feature for Tiling Tool]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Guide points are there to serve as reference point when creating tile designs. &lt;br /&gt;
* When you add a guide point, &amp;quot;counterparts&amp;quot; are generated in all the other tiles&lt;br /&gt;
* Ctrl-drag to drag out a segment. &lt;br /&gt;
* The idea is that users can snap guide points along tile edges, snap a node of the pattern to that guide and snap the node handle to the end of the guide segment, then repeat with the guide point's counterparts. This should help easily create seamless transitions.&lt;br /&gt;
&lt;br /&gt;
== On-canvas dynamics editing ==&lt;br /&gt;
&lt;br /&gt;
(in progress)&lt;br /&gt;
&lt;br /&gt;
== Radial tiling ==&lt;br /&gt;
&lt;br /&gt;
(to-do)&lt;br /&gt;
&lt;br /&gt;
== Line tiling ==&lt;br /&gt;
&lt;br /&gt;
(to-do)&lt;br /&gt;
&lt;br /&gt;
== Tile stacking == &lt;br /&gt;
&lt;br /&gt;
You can stack different tilings! &lt;br /&gt;
&lt;br /&gt;
[[File:Tiling stacking.png|Explanation of tile stacking feature for my tiling proposal]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inkscape will likely have an Effects stacking mechanism in the future. Whatever it is, tiling would also fit right into it.&lt;br /&gt;
&lt;br /&gt;
== Line patterns == &lt;br /&gt;
&lt;br /&gt;
And why not &amp;quot;line patterns&amp;quot; while we're at it?&lt;br /&gt;
&lt;br /&gt;
[[File:Tiling line patterns.png|UI proposal for line pattern choosing]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
Proposed implementation steps:&lt;br /&gt;
&lt;br /&gt;
=== 0. Very desirable: Guide management ===&lt;br /&gt;
&lt;br /&gt;
See [https://blueprints.launchpad.net/inkscape/+spec/guides-improvement Existing blueprint]. Rather, what is needed here is not a full guide management system, but rather how to &amp;quot;define&amp;quot; a guide, as the guides here have properties very different from &amp;quot;normal&amp;quot; objects. &lt;br /&gt;
&lt;br /&gt;
=== I. Core features ===&lt;br /&gt;
&lt;br /&gt;
'''1. The glorified clone and distribute tool '''&lt;br /&gt;
&lt;br /&gt;
[[File:Tiling Tool Step1.png|UI Proposal for first step of tiling tool implementation]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This step is a mere front-end to the current interface. This is the minimum interface that would allow users to make basic tiling without opening the current tiling dialogue. Sequence:&lt;br /&gt;
* Clicking the + button &amp;quot;adds&amp;quot; a tile guide of the chosen type. However, you can render without adding a guide first (Inkscape will then use the object's own bounds)&lt;br /&gt;
* Choose the pattern to tile and the guide and click &amp;quot;create.&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
What needs to be done: &lt;br /&gt;
# The programer should program guides for all 17 wallpaper groups. Actually, they're mostly just rectangles and triangles. Since guides don't do much at this point, users can drop a P1 guide and use it for say... P2 without too much problem (since they're both just rectangles).&lt;br /&gt;
# The tiling interface is forced to take bound coordinates from these guides&lt;br /&gt;
# The render buttons and the Rows, Columns fields (or the Width, Height field) must be moved from the dialogue to the toolbar. This is to guarantee a minimum interface that doesn't require opening the full dialogue (which will then just be used for dynamics). The other option may have to be removed then, or also stuffed in the toolbar.&lt;br /&gt;
# The &amp;quot;remove&amp;quot; button could be removed. Instead, the &amp;quot;create&amp;quot; button stays pushed in when the rendering is done. By choosing the output with the tiling tool again, you can just click again to uncreate.&lt;br /&gt;
&lt;br /&gt;
If guide management isn't available yet, the interface could drop a normal object of the right shape. By default, Inkscape will then use the top object's bounds to render the tile. Proper guides will be nice though, they'll be needed for the other features. &lt;br /&gt;
 &lt;br /&gt;
Why it's an improvement over the past interface: &lt;br /&gt;
* Better visibility. Many users likely don't know the tiling dialogue exists. &lt;br /&gt;
* And they run away as soon as they do find it. I know I did. &lt;br /&gt;
* Make a rectangle. Apply a P3 transformation. Any idea what happened? Me neither. At least with tiles, users will know what the heck is being transformed, so they can actually create proper patterns. &lt;br /&gt;
* Also, users don't need to resort to the trick of grouping the pattern they want with a rectangle first, and deleting that rectangle afterwards (which I only found out myself recently).  &lt;br /&gt;
 &lt;br /&gt;
''' 2. The render frame - mostly static '''&lt;br /&gt;
 &lt;br /&gt;
What needs to be done: &lt;br /&gt;
# The user needs to be able to add a grid object (&amp;quot;render frame&amp;quot;) for all 17 wallpaper groups (again, many wallpaper groups use the same types of render frames). One tile in this render frame will be indicated as the base tile.&lt;br /&gt;
# It should be possible to add and remove frames to this frame (see render frame description).&lt;br /&gt;
# Of course, this means the programmer must also figure out a way to tell Inkscape which grids to render and which ones to not&lt;br /&gt;
 &lt;br /&gt;
''' 3. Minor Dynamics interface rework? '''&lt;br /&gt;
&lt;br /&gt;
Once I.1. and I.2. are implemented, we'll have a decent basic tiling tool. I propose also re-arranging the dialogue to make it easier to use:  &lt;br /&gt;
* Presets for dynamics &lt;br /&gt;
* Dynamics get listed vertically, with checkboxes, so Inkscape can have default usable values that users can access by just checking the box. &lt;br /&gt;
&lt;br /&gt;
[[File:Tiling Tool Temp Dynamics panel.png|Temp UI rework for the Dynamics panel of the tiling tool]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Although handling of dynamics should have an on-canvas interface, programming it would likely be the most complicated part of this tool, so although this interface is temporary, it's also just a relatively minor cosmetics rework that will make it more user-friendly.&lt;br /&gt;
&lt;br /&gt;
=== II. More advanced wallpaper tiling features ===&lt;br /&gt;
 &lt;br /&gt;
These can now be implemented separately. &lt;br /&gt;
 &lt;br /&gt;
''' 1. Tiling handles '''&lt;br /&gt;
 &lt;br /&gt;
# Handles are added to the base tiles, making it possible to switch from one tiling to another. Implementing this feature also means that the programmer can no longer &amp;quot;cheat&amp;quot; by dropping more or less regular objects, as the guides have properties.&lt;br /&gt;
# Now that the tiling can be visualized and edited on-canvas, the tiling type should now be linked directly to the guide tile, so the tiling type drop-down can be removed.&lt;br /&gt;
# Users are now offered to create a &amp;quot;Wallpaper&amp;quot; tile by default. Other transformation types are accessed via a pop-up when choosing &amp;quot;others.&amp;quot; All previews are moved to this pop-up.&lt;br /&gt;
&lt;br /&gt;
A few notes:&lt;br /&gt;
* Changing symmetries should be the priority. &lt;br /&gt;
* Eventually controls for angles could be added too, though this is lower priority, as not many users absolutely need to change from one tile shape to another. &lt;br /&gt;
&lt;br /&gt;
'''  2. Fuse mode ''' &lt;br /&gt;
 &lt;br /&gt;
As noted, this is a cut + fuse operation. The programmer needs to implement the following features: &lt;br /&gt;
# Boolean operations (specifically &amp;quot;cut&amp;quot;) on groups &lt;br /&gt;
# This also means fixing the cut operation, which is currently rather buggy... &lt;br /&gt;
# The guides must be extended, and for each wallpaper group, the ways to &amp;quot;cut&amp;quot; the tiles must be defined &lt;br /&gt;
# The programmer must then find the way to define the zone to be delete &lt;br /&gt;
# &amp;quot;Fuse&amp;quot; uses the existing group node join operation however&lt;br /&gt;
Alternatively, the programmer can make Inkscape render a shape over the tile and perform a union operation, but one that leaves resulting nodes instead of joining them.&lt;br /&gt;
 &lt;br /&gt;
** [https://bugs.launchpad.net/inkscape/+bug/166302 Bug #166302: Cut Path looses some segments ]&lt;br /&gt;
** [https://bugs.launchpad.net/inkscape/+bug/171379 Bug #171379: Boolean Operations on Groups ]&lt;br /&gt;
** [https://bugs.launchpad.net/inkscape/+bug/701819 Bug #701819: Copy/Cut a Part of a Grouped Object ] (scenario of above)&lt;br /&gt;
** [https://bugs.launchpad.net/inkscape/+bug/408551 Bug #408551: Cut Path with a grouped object does nothing ]&lt;br /&gt;
&lt;br /&gt;
''' 3. Guide points ''' &lt;br /&gt;
 &lt;br /&gt;
The programmer must: &lt;br /&gt;
# Define/create guide points. This object can be snapped to objects and guides. &lt;br /&gt;
# Program it so that iterations of it appear and are rendered correctly in each tile of the render frame according to the chosen transformation mode. If the transformation type is changed, they must also update automatically. &lt;br /&gt;
# Additional feature: Ctrl-drag to create a segment from the point: this helps make transformations in each tile more obvious, and helps for handle-snapping. &lt;br /&gt;
 &lt;br /&gt;
=== III. Super fancy wallpaper features ===&lt;br /&gt;
&lt;br /&gt;
''' On-canvas dynamics editing '''&lt;br /&gt;
 &lt;br /&gt;
This may use the existing dynamics mechanism, and serve as a front-end for inputing values.&lt;br /&gt;
* Two tiles or some other handles are chosen as reference frames, for row and column respectively.  &lt;br /&gt;
* They can be dragged and deformed. Inkscape takes the resulting values and converts them into numerical values in the current tiling back-end.&lt;br /&gt;
 &lt;br /&gt;
Under discussion: Visual representation of the mechanism?&lt;br /&gt;
 &lt;br /&gt;
''' 2. Interpolation gradients? '''&lt;br /&gt;
&lt;br /&gt;
This takes the previous a step further. You can now add multiple stops. The current internal mechanisms may have to be reworked.&lt;br /&gt;
&lt;br /&gt;
=== IV. Other tiling types ===&lt;br /&gt;
&lt;br /&gt;
Two other desirable tilings are Radial and Line tiling. Implementation can probably start once the features in I. Core features are implemented.&lt;br /&gt;
&lt;br /&gt;
''' 1. Radial tiling '''&lt;br /&gt;
&lt;br /&gt;
To-do.&lt;br /&gt;
&lt;br /&gt;
''' 2. Line tiling '''&lt;br /&gt;
&lt;br /&gt;
To-do.&lt;br /&gt;
&lt;br /&gt;
[[Category:Proposals]]&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:WallpaperTransformations.png&amp;diff=81032</id>
		<title>File:WallpaperTransformations.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:WallpaperTransformations.png&amp;diff=81032"/>
		<updated>2012-03-31T17:29:47Z</updated>

		<summary type="html">&lt;p&gt;Veronika: An image showing the 17 Wallpaper symmetry groups, the shape of a base tile for each group and a simple set of transformations that can be applied to the base tile to produce a design with the related Wallpaper Symmetry group properties.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An image showing the 17 Wallpaper symmetry groups, the shape of a base tile for each group and a simple set of transformations that can be applied to the base tile to produce a design with the related Wallpaper Symmetry group properties.&lt;/div&gt;</summary>
		<author><name>Veronika</name></author>
	</entry>
</feed>