Re: [Inkscape-devel] New tiling interface proposal
Ah-hah! People keep telling me about draggable handles, but I never was able to figure out what they meant (it's just me being clueless, not other people's faults). I think I'm beginning to see what people are talking about.
Simple example: - Base tile: Rectangle for P1. At the side of each edge, you see a handle. The ones on the left and right are the same, the ones on the top and bottom are the same. Maybe parallel arrows. They symbolize "translation" (though I am going to go with another name, like "pair handle", because one side forms a pair with another) - By either dragging the handle or doing some other operation, the "pair" handle becomes say... a symmetry handle. So now the default behavior of that side is symmetry (also breaking the "pair" behavior of the other side). It can also be changed into anti- symmetry (using the center of the side).
In the same way, there are edge handles. By manipulating it, the rectangle corner can become say... a triangle corner (and this is why I used "pair" rather than "translation": a pair behavior can be maintained).
Alright, the main "issue" here is that I'm the one who doesn't know how to handle such behavior (since, as I've already explained, I'm pretty clueless about wallpaper tiling actually). Can someone more familiar with wallpaper tiling look into how feasible it is to transform from one tiling to another without erratic behavior? Is it possible to transform from one type to any other?
If it's feasible, then I'll have to redo the whole thing proposal again. xD This time probably re-integrating guides and the actual tiling into one interface...
----- Original Message ----- From: Mark Schafer <mschafer@...2596...> To: Valerie <valerie_vk@...36...> Cc: Sent: Saturday, March 24, 2012 6:05 AM Subject: Re: [Inkscape-devel] New tiling interface proposal
I can see that a set of thumbnail pics showing the principle tiling layouts is useful for initial selection of a specific tiling. And your approach looks very good. But ideally that would create the interactive draggable handles on the canvas for users to interact with - and ideally modifiable to create all tilings simply from these widgets. That way a new user can select a tiling style to being to operate with (or see many choices) - and an advanced user can simply begin and manipulate the tiling to their desired outcome.
This approach would argue for a simple UI where initial selection (or toggling of selection) can start/modify the current tiling on canvas. So not taking up alot of room on the UI seems preferable. Perhaps a drop down image selection ?
I would add that the initial tile and its handles could be in 'bold' and the reflections etc be drawn 'weaker' and so the effect of handle manipulation can be more clearly adjusted interactively. A weaker 'reflection' also allows you an excuse to operate with simpler proxy copies of the original - which could be replaced with proper curves etc on handle release. To further control the amount of drawing, a "preview generations" numeric field could indicate how many of the tiling 'reflections' to actually draw. E.g. 1 would show only the first level 'reflections' of the tile, and a 2 would show a further level. 1 or 2 would probably suffice in most cases to visually see the effect of the tiling at a useful scale for design. Then - similar to the preview button on existing extensions - making it could then extend out to some kind of boundary. As you say a rectangle, or perhaps a clipping region of some kind, or a defined number of 'reflections' of the tile operator. Ideally the tile generator would be a widget which could be modified at any time - similar to existing tools like the box.
Just my 2 cents. Thanks for having a go at this - its coming along very well - I'm very much looking forward to the result. Mark...
On 3/24/2012 6:10 AM, Valerie wrote:
Oh phew, thank you so much for making that! I was trying to make something like that too but a bit different, and some of those symmetries were starting to make me feel Very cross-eyed.
Basically I was thinking that a table for all the tiling types (both wallpaper and Frieze) with the following visual guides would be useful:
- The base tile guide with no transformation indicators
- The base tile guide with indicators (use can toggle indicators
on and off) 3. The preview when creating the guide (either what you did here, or Thorsten's previews) 4. An outline preview of extra tiles (can be toggled on and off, shows basically the outline of those extra tiles as you've made here) 5. My idea was to also make base tile guides that show you which tile side ends up reflected on which side. This is meant to help a person who wants to program the "guide points" feature:
- Two "corresponding" sides will be represented by dotted lines of
the same colours. (example: for simple translation, the left and right sides would be dotted lines of one colour, and the up and down sides of another colour). An arrow marks the "direction" of each side.
- Each side that transforms onto itself is represented by a full
line. It is marked either by a single arrow (if the transformation is in the same direction) or two arrows in opposite directions (if the tile is flipped) 6. Base tiles again, this time with examples of guide points and guide segments.
(yeah, that makes a lot...)
I do have to throw out there at this point, the proposed UI for tiling at http://wiki.inkscape.org/wiki/index.php/Tiling_tool is incredibly complex. One of the benefits to a dedicated tool is actually being able to manipulate parameters on-canvas.
Are you reading the latest version (there were many versions...)? Because all the things that can be manipulated on canvas Are manipulated on-canvas... The dialogue is only choosing options (there are a lot of options... much more than your average LPE, even), the number of copies, and hitting "apply" (none of which are really on-canvas interactions).
I've thought of the use of tile shadow outlines to help users see what will be rendered. The problem is dynamics. They make the tile outlines unpredictable in the first place... That's why I came up with extra render "target" options, so users can choose to render over a specific, non-rectangular area, or even better, to render as a target's pattern (if .svg allows that), so users can then manually control any offsets with the pattern tool.
Now, I was actually thinking about on-canvas handles for manipulating dynamics, but that's a whole other can of worms... (and given the time needed to render dynamic tiles, I'm not so sure it's such a good idea to have them updated live...)
I'm open to suggestions though. I've made a number of mock-ups proposals for tilings until now, and this is just the latest iteration (the... fifth I think? If I count the few ideas I first had a few years ago). If someone has a general direction in mind (beyond "it has to be a tool"), I can try to see if I can work out something.
This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
participants (1)
-
Valerie