- From: Brenton Chapin <bzipitidoo@gmail.com>
- Date: Wed, 16 Jan 2013 17:25:57 -0600
- To: www-svg@w3.org
- Message-ID: <CALuXmTA-nc75Eu=9=394RMuqxeny6u-C5mbP8kTJej2EU8mDgg@mail.gmail.com>
Thank you everyone for the responses. I've been thinking about what I would find most useful. That list of lines is great. Maps are also a good place to look for examples of lines. For instance, how should SVG draw a scenic route, with green dots along one side of a line? How about a shoreline, represented with a thick line and a thin line beside it on the water side? How about a ruler or a scale, with tick marks on one side of the line? All these bring me to a particular lack with current capabilities: asymmetry. A double line can be hacked with the thin line over the thick line trick, but any kind of asymmetric pattern, such as a wavy or zig-zag line, can't. I thought using an even number for stroke-width might cause a rendering with some asymmetry, and tried it, but it didn't work. A minimal way to provide such capability would be a <span dy>, or just a dy attribute, analogous to <tspan dy>. Perhaps a "stroke-offset-y", similar to the "stroke-dashoffset"? This would allow many more creative hacks to get around the limitations, but the problem is you'd still be making hacks. The <replicate> idea looks like <animate> adapted for repetition instead of animation. It's animation without erasing. I like reuse of concepts, but have doubts about this one. Markers are great for exactly that: markers. But how would it help with something like the shoreline? Hack a marker that is actually just a short parallel line on one side, then pack the markers in so thickly that the short parallel lines all touch. What I feel I like best is some kind of "orient=auto" for patterns, same as markers have now. * * * I have another concern with lines: loops. Or, more generally, reuse of points. For example, to represent intersecting highways, have to restate the x,y coordinate in some fashion for each line. Seems there should be a way to reuse points. If not a <point> tag, how about a <circle id="pointA" r="0"> workaround? Then, allow something like "<path d="M 99 49 L 99 99 url(#pointA) 49 49" /> . Could also have that work in the obvious way with a relative command. Perhaps for that, should call the tag <vector> instead of <point>. Even more generally, why doesn't SVG better support all sorts of reuse? Why not support some sort of recursion? Is it fear of what browser performance killing mistakes that might allow? Or fear that recursion would be hard to implement, in particular, hard to decide when to cut off infinite recursion? The SVG of the Sierpinski Triangle on Wikipedia is clever, and almost is recursion. Why not go one more step? For fancy lines, it would make things like the Koch curve easier. -- http://brentonchapin.dyndns.info
Received on Wednesday, 16 January 2013 23:26:29 UTC