On 30-03-12 09:13, Valerie wrote:
It's the guy who made the fancy alignment tool! :D I hope it gets ported over one day!
In fact, it turns out that Jasper's suggestion of an "interpolation gradient" was genius! Here's the current setup:
I'm not sure that it makes sense to have the transformations symmetrical around the base tile. There is no particular reason why they could not simply be extended. If you really want to mirror gradients, then I would recommend having an option for how to handle "boundaries". But this does get slightly more complicated in the explicitly 2D layout you have. One obvious option that comes to my evil mind is that this could lead to tilings of gradients :) (But I seriously would not recommend that. If someone really wanted to do that they could just make a tiling, create a group of it and tile that again.)
As for the interface for actually adjusting the transforms (as well as opacity and such). Is it necessary to do it with "tiles" shown on screen, or would it suffice to allow transforming actual tiled clones? As Tom mentioned, live preview of the tiled clones is probably important (although it might make sense to limit them somewhat while editing the tiling). And all the tools are there already to allow transforming clones (just like any other object). On the other hand, I guess we could use it to distinguish between transforms that affect the entire tiling and "individual" transforms.
As for jitter, it feels a bit awkward to edit that on-canvas, as essentially it leads to objects ending up somewhere else in a completely unexpected way... I guess if you did make the tiling transform/individual transform distinction, that you could then allow changing jitter values on the tile and making that only alter the "individual" transforms (even though it affects all tiles). You could then apply the jitter only on the tiled clone and not on the "tile". But I'm not sure it's that natural.
In general, I think the system is very interesting, but I would be interested in making it a bit "leaner". After all, someone has to implement it, and (more importantly), a lot of someone's have to learn it. So the more we can leverage existing tools/infrastructure/concepts, the better.
I think I might have a closer look on Sunday. Especially to take a proper look at the mathematics behind the interpolations, to see how the proposed scheme corresponds to Inkscape existing functionality for example.
... 5. The problem with live preview is that these tiles take potentially a long time to render. :S
I do hear your argument about performance, but on the other hand, it might be better to solve that by limiting the amount of clones rendered and/or by not updating all clones instantaneously, etc.