Difference between revisions of "LivePathEffects Discussion"
Johanengelen (talk | contribs) |
Johanengelen (talk | contribs) (→defs2) |
||
(8 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Discussion page for Johan's Live Path Effects project for GSoC2007. | Discussion page for Johan's Live Path Effects project for GSoC2007. | ||
= What's it look like in SVG? = | = What's it look like in SVG? = | ||
(all ideas have an inkscape:original-d = "..." added to the path) | |||
At the moment "defs2" is implemented. | |||
==Simple idea== | ==Simple idea== | ||
Line 20: | Line 20: | ||
</pre> | </pre> | ||
* No chaining possible | * No chaining possible | ||
* Difficult to determine path-effect-param type from SVG. | * Difficult to determine path-effect-param type from SVG. | ||
Line 74: | Line 73: | ||
* upside: you can apply the same effect (with equal params) to different objects very easily. | * upside: you can apply the same effect (with equal params) to different objects very easily. | ||
* downside: same as with gradients, might become a problem with parameters changing for only one object of all the objects referring to a certain effect, which then needs forking etc etc... | * downside: same as with gradients, might become a problem with parameters changing for only one object of all the objects referring to a certain effect, which then needs forking etc etc... | ||
==defs2== | |||
<pre> | |||
<svg:svg> | |||
... | |||
<defs> | |||
... | |||
<inkscape:path-effect | |||
id="path-effect2" | |||
effect="skeletal" | |||
blah="foo" | |||
blah2="arf"/> | |||
... | |||
</defs> | |||
... | |||
<svg:path ... inkscape:path-effects="url(#path-effect2) ..." /> | |||
... | |||
</svg:svg> | |||
</pre> | |||
=Effect Wishlist= | |||
Add your wishes here! Note that they should be *path* effects, meaning that they can only take the original path and transform that with the parameters provided. There is not really a limit to the parameter types, so if you need special parameters, list them here aswell. But keep in mind that only a path is outputed; for example, a style cannot be outputed. | |||
== Skeletal Strokes == | |||
== Fillet & Chamfer == | |||
== Fractalize == | |||
== Interpolate == | |||
== Effect Lines == | |||
(sorry about the japanese, but it should make visual sense - http://www.wa.commufa.jp/~ksg/p_pfwp5_cgf.htm ) | |||
== Mesh Distort == | |||
(with variable mesh resolution) - Like gradient meshes but for distorting the object itself, not color |
Latest revision as of 00:09, 4 June 2007
Discussion page for Johan's Live Path Effects project for GSoC2007.
What's it look like in SVG?
(all ideas have an inkscape:original-d = "..." added to the path)
At the moment "defs2" is implemented.
Simple idea
<path inkscape:original-d = "..." (the original path that now has an applied effect) d="..." (the output of the live-effect) inkscape:path-effect="..." (string with the name of the applied effect) inkscape:path-effect-param1= ... (can be anything) inkscape:path-effect-param2 , etc />
- No chaining possible
- Difficult to determine path-effect-param type from SVG.
- not extendable (8 params max at the moment by copy-paste coding)
Like style atribute
<path inkscape:original-d = "..." d="..." inkscape:path-effect="sample1(param1:0.0;param2:loopy;) sample2(paramA:45;)" />
- Parser needed
- LPE class that stores its own params
<inkscape:patheffect>
<svg:path d="M 1 2 L 3 4"> <inkscape:patheffect effect="org.inkscape.patheffect.a"> <inkscape:param name="foo" type=".." value="bob" /> <inkscape:param name="bar" type=".." value="jack" /> </inkscape:patheffect> <inkscape:patheffect effect="org.inkscape.patheffect.b"> <inkscape:param name="zort" type="bool" value="true" /> </inkscape:patheffect> <inkscape:patheffect effect="org.inkscape.patheffect.a"> <inkscape:param name="foo" type=".." value="alvin" /> <inkscape:param name="bar" type=".." value="jack" /> </inkscape:patheffect> </svg:path>
defs section
<svg:svg> ... <defs> ... <inkscape:path-effect xlink:href="x-inkscape-plugin:org.inkscape.effect.foo" id="path-effect2"> <inkscape:param name="blah" type=".." value="foo" /> </inkscape:path-effect> ... </defs> ... <svg:path ... inkscape:path-effects="#path-effect2 ..." /> ... </svg:svg>
Looks alot like gradients.
- upside: you can apply the same effect (with equal params) to different objects very easily.
- downside: same as with gradients, might become a problem with parameters changing for only one object of all the objects referring to a certain effect, which then needs forking etc etc...
defs2
<svg:svg> ... <defs> ... <inkscape:path-effect id="path-effect2" effect="skeletal" blah="foo" blah2="arf"/> ... </defs> ... <svg:path ... inkscape:path-effects="url(#path-effect2) ..." /> ... </svg:svg>
Effect Wishlist
Add your wishes here! Note that they should be *path* effects, meaning that they can only take the original path and transform that with the parameters provided. There is not really a limit to the parameter types, so if you need special parameters, list them here aswell. But keep in mind that only a path is outputed; for example, a style cannot be outputed.
Skeletal Strokes
Fillet & Chamfer
Fractalize
Interpolate
Effect Lines
(sorry about the japanese, but it should make visual sense - http://www.wa.commufa.jp/~ksg/p_pfwp5_cgf.htm )
Mesh Distort
(with variable mesh resolution) - Like gradient meshes but for distorting the object itself, not color