Species variables

feat/template
Shad Amethyst 2 years ago
parent c43827d203
commit a25b641f2b
Signed by untrusted user: amethyst
GPG Key ID: D970C8DD1D6DEE36

@ -0,0 +1,4 @@
#!/bin/sh
cargo run --bin clean -- "$1"
xmllint "$1" --format --output "$1"

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg25571" docname="blobamber_owo.svg" viewBox="-1 0.2510743588151656 35.009061282369665 35.009061282369665" height="128" width="128" version="1.2.1 (9c6d41e410, 2022-07-14)">
<defs id="blobamber-owo-defs">
<linearGradient gradientTransform="matrix(0.67751569,0,0,0.67751569,6.5101655,4.1417758)" href="#linearGradient1095" x2="25.19339" collect="always" y2="12.153695" x1="25.110657" id="linearGradient1097-5" y1="7.0228844" gradientUnits="userSpaceOnUse"/>
<linearGradient href="#linearGradient1095" gradientUnits="userSpaceOnUse" y1="7.0228844" gradientTransform="matrix(0.68709814,0,0,0.68709814,6.7694369,3.9545875)" x1="25.110657" collect="always" x2="25.19339" id="linearGradient1239-2" y2="12.153695"/>
</defs>
<sodipodi:namedview borderopacity="0.25" showpageshadow="2" deskcolor="#d1d1d1" window-width="1536" window-height="779" zoom="4.3973643" window-x="0" pagecolor="#ffffff" showgrid="false" window-y="0" cy="62.99228" window-maximized="1" current-layer="eyes" cx="59.808555" pageopacity="0.0" bordercolor="#000000" id="namedview25573" pagecheckerboard="0"/>
<title id="title25542"/>
<g id="main">
<g id="g25554">
<path style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" id="left-ear" nodetypes="csscc" label="left-ear" d="M 4.2225247,12.78287 C 2.021009,7.5103594 2.5604085,3.6951828 2.6743801,2.856386 2.7720357,2.1376698 3.4357646,1.7692645 4.1639818,1.8924422 7.3443941,2.430408 10.157621,4.0991994 12.720122,6.1421708 9.2129023,8.1547016 6.1301266,10.633713 4.2225247,12.78287 Z"/>
<path d="M 49.112445,21.099228 C 22.954714,27.711036 1.527486,58.455986 0,95 c 0,0 0.14555099,8.03117 2.203125,14.33203 5.6666732,6.49391 20.789398,15.3256 40.376953,17.79492 18.881266,2.38028 43.113333,-0.44591 58.314452,-3.86328 15.20113,-3.41737 22.82639,-13.27959 23.81641,-15.80664 0.99,-2.52705 0.10795,-7.720166 -0.5586,-9.939452 -0.81185,-2.70308 -2.0586,-6.277707 -0.39843,-11.148437 1.66016,-4.87073 6.29813,-26.667335 -1.93795,-40.330311 C 104.00212,16.487149 60.621666,18.190078 49.112445,21.099228 Z" label="body" id="body" nodetypes="sccsssssss" transform="scale(0.26458333)" style="fill:#6a6862;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"/>
<path d="m 8.8955811,28.354858 c -2.8336361,0.490336 -5.3574795,3.064648 -3.8664307,3.547587 1.7493878,0.782481 3.8677063,1.431757 6.2368286,1.733228 3.276507,0.416935 7.142104,0.225674 10.698305,-0.211028 1.463279,-0.136551 0.33034,-2.560542 -2.392107,-3.790675 C 16.517515,28.253727 12.37533,27.752718 8.8955811,28.354858 Z" nodetypes="scscss" style="fill:#c8c8c8;fill-opacity:1;stroke-width:0.865;stroke-linecap:round;stroke-linejoin:round" id="belly"/>
<path label="right-ear" style="fill:#313131;fill-opacity:1;stroke-width:1.065;stroke-linecap:round" d="m 22.327555,5.7244503 c 1.295051,-1.2796236 4.29637,-3.1081967 8.159348,-3.8489133 0.726869,-0.1393755 1.275878,-0.3385914 1.507105,0.671644 0.5493,2.3998947 0.260115,6.1627772 -0.183624,9.290803 -0.09005,0.634797 -0.13748,0.926935 -0.401908,1.157661 -0.166663,0.145421 -0.348874,0.03458 -0.480691,-0.205428 C 30.498042,10.236452 29.514494,9.1033428 28.085198,11.198105 26.729927,10.941604 23.64993,8.8809175 22.973987,7.9348896 22.480603,7.2443656 21.964165,6.144611 22.327555,5.7244523 Z" nodetypes="cssssccscc" id="right-ear"/>
<path id="right-ear-fluff" style="fill:#474747;fill-opacity:1;stroke:none;stroke-width:1.065;stroke-linecap:round;stroke-opacity:1" label="right-ear-fluff" d="m 27.879768,10.88962 c 0.917454,-3.4533158 1.871544,-6.9096158 2.936108,-7.9180511 0.333617,-0.3160271 0.701301,-0.3066452 0.810217,0.2082143 0.180668,0.8540374 0.07574,5.863623 -0.69645,9.6117088 -0.490708,-0.870889 -0.688315,-1.352738 -1.168669,-1.673583 -0.03662,0.434725 -0.09026,0.799186 -0.158405,0.986263 -0.340904,-0.13671 -0.718058,-0.734496 -0.70563,-1.270164 -0.31728,0.467008 -1.20166,0.497588 -1.017178,0.05561 z" nodetypes="csscccccc"/>
<g id="whiskers">
<path style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:1.065;stroke-linecap:round;stroke-opacity:1" nodetypes="cc" d="M 5.9107876,21.690708 C 3.9277707,21.232921 1.7485086,21.187496 0.54513174,21.179815" label="left-whisker" id="left-whisker"/>
<path style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:1.065;stroke-linecap:round;stroke-opacity:1" label="left-whisker-2" d="M 6.1830023,19.578813 C 4.1871054,17.828608 2.4340957,16.609582 1.3611551,16.012965" nodetypes="cc" id="left-whisker-2"/>
<path id="right-whisker" d="m 22.565965,24.701884 c 1.919035,0.580733 3.985374,1.582507 4.971704,2.283901" label="right-whisker" style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:1.065;stroke-linecap:round;stroke-opacity:1"/>
<path d="m 23.430617,22.366051 c 2.540328,-0.912678 4.284056,-1.105124 4.982397,-1.142629" style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:1.065;stroke-linecap:round;stroke-opacity:1" id="right-whisker-2" label="right-whisker-2"/>
</g>
</g>
<defs id="blobamber-defs">
<linearGradient id="linearGradient1095" collect="always">
<stop style="stop-color:#b86a00;stop-opacity:1;" id="stop1091" offset="0"/>
<stop offset="1" id="stop1093" style="stop-color:#dab91d;stop-opacity:1;"/>
</linearGradient>
<linearGradient y2="12.153695" y1="7.0228844" href="#linearGradient1095" id="linearGradient1097" gradientUnits="userSpaceOnUse" x1="25.110657" collect="always" x2="25.19339"/>
<linearGradient gradientUnits="userSpaceOnUse" href="#linearGradient1095" y1="7.0228844" y2="12.153695" x1="25.110657" x2="25.19339" collect="always" gradientTransform="matrix(0.94114449,0,0,0.94114449,-10.797579,2.1054482)" id="linearGradient1239"/>
</defs>
<g id="eyes">
<g style="display:inline" id="left-eye" transform="translate(-11.479965,-1.3267263)" label="left-eye">
<ellipse cy="8.2766476" transform="rotate(18.569655)" cx="24.789791" id="path3658" label="eye" style="display:inline;fill:#ffffff;fill-opacity:1;stroke-width:0.264583;stroke-linecap:round" ry="4.0323997" rx="3.4254558"/>
<ellipse cy="10.563712" style="fill:url(#linearGradient1239-2);fill-opacity:1;stroke-width:0.57919;stroke-linecap:round;stroke-linejoin:round" id="left-iris" ry="1.7850741" transform="rotate(15.432511)" rx="1.4523782" cx="24.030781" label="left-iris"/>
<ellipse ry="1.0930744" id="left-pupil" rx="0.83021963" cx="23.515667" transform="rotate(13.154497)" label="left-pupil" style="fill:#313131;fill-opacity:1;stroke-width:0.599204;stroke-linecap:round;stroke-linejoin:round" cy="11.760012"/>
</g>
<g id="right-eye" label="right-eye">
<ellipse id="ellipse4039" cx="24.789791" style="display:inline;fill:#ffffff;fill-opacity:1;stroke-width:0.264583;stroke-linecap:round" transform="rotate(18.569655)" ry="4.1866808" label="eye" rx="3.4254558" cy="8.2766476"/>
<ellipse cx="23.530775" style="fill:url(#linearGradient1097-5);fill-opacity:1;stroke-width:0.571112;stroke-linecap:round;stroke-linejoin:round" label="right-iris" transform="rotate(15.432511)" rx="1.4321228" cy="10.658728" ry="1.760179" id="right-iris"/>
<ellipse label="right-pupil" cx="23.105066" rx="0.81199521" ry="1.0546317" id="right-pupil" transform="rotate(14.274327)" cy="11.398184" style="fill:#313131;fill-opacity:1;stroke-width:0.586051;stroke-linecap:round;stroke-linejoin:round"/>
</g>
</g>
<path style="fill:none;stroke:#313131;stroke-width:1.165;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" label="mouth" id="mouth" nodetypes="ccccc" d="m 9.9318896,19.995623 c 0.5486154,1.686713 1.0637784,2.752111 1.5767164,3.423841 0.992384,-0.828422 2.25927,-1.977918 2.761386,-2.480155 0.783749,1.274883 1.856673,2.745088 2.294365,3.345841 1.285631,-1.024786 2.518532,-2.115492 3.025709,-2.688925"/>
</g>
<g transform="matrix(1.0337321,0,0,1.0337321,-17.463587,-3.751691)" id="g1244" label="left-eye"/>
</svg>

After

Width:  |  Height:  |  Size: 8.2 KiB

@ -1,2 +1,9 @@
name = "blobamber" name = "blobamber"
base = "../blobcat/" base = "../blobcat/"
[vars]
body_color = "#6a6862"
ear_color = "#313131"
ear_fluff_color = "#474747"
hand_color = "#6a6862"
tail_color = "#6a6862"

@ -1,3 +1,14 @@
<!-- DEFS -->
{{#blobamber.owo}}#blobamber-owo-defs{{/blobamber.owo}}
{{#blobamber.base}}#blobamber-defs{{/blobamber.base}} {{#blobamber.base}}#blobamber-defs{{/blobamber.base}}
<!-- Hello world -->
{{>blobcat.eyes}} {{#tags.eyes-owo}}
<g id="eyes">
{{#owo}}#left-eye{{/owo}}
{{#owo}}#right-eye{{/owo}}
</g>
{{/tags.eyes-owo}}
{{^tags.eyes-owo}}
{{>blobcat.eyes}}
{{/tags.eyes-owo}}

@ -7,9 +7,7 @@
{{/tags.holding}} {{/tags.holding}}
{{/tags.hand-3c}} {{/tags.hand-3c}}
{{#set-fill}} {{>blobcat.hands}}
#6a6862 | {{>blobfox.hands}}
{{/set-fill}}
{{#tags.hand-3c}} {{#tags.hand-3c}}
</g> </g>

@ -1,2 +1,9 @@
name = "blobcat" name = "blobcat"
base = "../blobfox/" base = "../blobfox/"
[vars]
body_color = "#fcc21b"
ear_color = "#e9ae20"
ear_fluff_color = "#8a6135"
hand_color = "#fcc21b"
tail_color = "#fcc21b"

@ -3,7 +3,10 @@
{{#base}}#left-ear{{/base}} {{#base}}#left-ear{{/base}}
</g> </g>
{{#set-fill}}#fcc21b|{{#snug}}#body{{/snug}}{{/set-fill}} {{#set-fill}}
{{vars.body_color}}
| {{#snug}}#body{{/snug}}
{{/set-fill}}
<g id="right-ear" transform="scale(1 0.95) translate(0 2) rotate(5 29 5) translate(-0.5 1.6)"> <g id="right-ear" transform="scale(1 0.95) translate(0 2) rotate(5 29 5) translate(-0.5 1.6)">
{{#base}}#right-ear{{/base}} {{#base}}#right-ear{{/base}}

@ -1,3 +1,3 @@
{{#set-fill}} {{#set-fill}}
#fcc21b | {{>blobfox.hands}} {{vars.hand_color}} | {{>blobfox.hands}}
{{/set-fill}} {{/set-fill}}

@ -1 +1,4 @@
{{#set-fill}}#fcc21b|{{>blobfox.tail}}{{/set-fill}} {{#set-fill}}
{{vars.tail_color}}
| {{>blobfox.tail}}
{{/set-fill}}

@ -1,6 +1,13 @@
# Add options in here as needs be # Add options in here as needs be
name = "blobfox" name = "blobfox"
[vars]
body_color = "#ff8702"
ear_color = "#313131"
ear_fluff_color = "#3bdccc"
hand_color = "#ff8702"
tail_color = "#ff8702"
[variants] [variants]
base = ["body-basic", "eyes-basic", "mouth-w"] base = ["body-basic", "eyes-basic", "mouth-w"]
happy = ["body-basic", "eyes-happy", "mouth-w"] happy = ["body-basic", "eyes-happy", "mouth-w"]

@ -34,6 +34,9 @@ pub struct SpeciesDecl {
#[serde(default)] #[serde(default)]
pub variants: HashMap<String, Vec<String>>, pub variants: HashMap<String, Vec<String>>,
#[serde(default)]
pub vars: HashMap<String, String>,
#[serde(skip)] #[serde(skip)]
pub template_paths: HashMap<String, PathBuf>, pub template_paths: HashMap<String, PathBuf>,
@ -73,6 +76,11 @@ pub fn load_species(path: impl AsRef<Path>) -> Result<SpeciesDecl, ParseError> {
res.variant_paths = base.variant_paths.clone(); res.variant_paths = base.variant_paths.clone();
res.asset_paths = base.asset_paths.clone(); res.asset_paths = base.asset_paths.clone();
res.variants = base.variants.clone(); res.variants = base.variants.clone();
for (key, value) in base.vars.iter() {
if !res.vars.contains_key(key) {
res.vars.insert(key.clone(), value.clone());
}
}
res.parent = Some(Box::new(base)); res.parent = Some(Box::new(base));
} }

@ -124,6 +124,8 @@ impl RenderingContext {
} }
}); });
builder = builder.insert("vars", &self.species.vars).unwrap();
if include_parent { if include_parent {
let mut this = self.clone(); let mut this = self.clone();

@ -0,0 +1,250 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
height="128"
viewBox="-1 0.2510743588151656 35.009061282369665 35.009061282369665"
width="128"
version="1.1"
id="svg25571"
sodipodi:docname="blobamber_owo.svg"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs25575">
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1095"
id="linearGradient1097-5"
x1="25.110657"
y1="7.0228844"
x2="25.19339"
y2="12.153695"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.67751569,0,0,0.67751569,6.5101655,4.1417758)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1095"
id="linearGradient1239-2"
gradientUnits="userSpaceOnUse"
x1="25.110657"
y1="7.0228844"
x2="25.19339"
y2="12.153695"
gradientTransform="matrix(0.68709814,0,0,0.68709814,6.7694369,3.9545875)" />
</defs>
<sodipodi:namedview
id="namedview25573"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="4.3973643"
inkscape:cx="59.808555"
inkscape:cy="62.99228"
inkscape:window-width="1536"
inkscape:window-height="779"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="eyes" />
<title
id="title25542" />
<g
id="main">
<g
id="g25554">
<path
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
label="left-ear"
id="left-ear"
d="M 4.2225247,12.78287 C 2.021009,7.5103594 2.5604085,3.6951828 2.6743801,2.856386 2.7720357,2.1376698 3.4357646,1.7692645 4.1639818,1.8924422 7.3443941,2.430408 10.157621,4.0991994 12.720122,6.1421708 9.2129023,8.1547016 6.1301266,10.633713 4.2225247,12.78287 Z"
nodetypes="csscc" />
<path
id="body"
nodetypes="sccsssssss"
transform="scale(0.26458333)"
d="M 49.112445,21.099228 C 22.954714,27.711036 1.527486,58.455986 0,95 c 0,0 0.14555099,8.03117 2.203125,14.33203 5.6666732,6.49391 20.789398,15.3256 40.376953,17.79492 18.881266,2.38028 43.113333,-0.44591 58.314452,-3.86328 15.20113,-3.41737 22.82639,-13.27959 23.81641,-15.80664 0.99,-2.52705 0.10795,-7.720166 -0.5586,-9.939452 -0.81185,-2.70308 -2.0586,-6.277707 -0.39843,-11.148437 1.66016,-4.87073 6.29813,-26.667335 -1.93795,-40.330311 C 104.00212,16.487149 60.621666,18.190078 49.112445,21.099228 Z"
label="body"
style="fill:#6a6862;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501" />
<path
id="belly"
d="m 8.8955811,28.354858 c -2.8336361,0.490336 -5.3574795,3.064648 -3.8664307,3.547587 1.7493878,0.782481 3.8677063,1.431757 6.2368286,1.733228 3.276507,0.416935 7.142104,0.225674 10.698305,-0.211028 1.463279,-0.136551 0.33034,-2.560542 -2.392107,-3.790675 C 16.517515,28.253727 12.37533,27.752718 8.8955811,28.354858 Z"
style="fill:#c8c8c8;fill-opacity:1;stroke-width:0.865;stroke-linecap:round;stroke-linejoin:round"
nodetypes="scscss" />
<path
label="right-ear"
id="right-ear"
style="fill:#313131;fill-opacity:1;stroke-width:1.065;stroke-linecap:round"
d="m 22.327555,5.7244503 c 1.295051,-1.2796236 4.29637,-3.1081967 8.159348,-3.8489133 0.726869,-0.1393755 1.275878,-0.3385914 1.507105,0.671644 0.5493,2.3998947 0.260115,6.1627772 -0.183624,9.290803 -0.09005,0.634797 -0.13748,0.926935 -0.401908,1.157661 -0.166663,0.145421 -0.348874,0.03458 -0.480691,-0.205428 C 30.498042,10.236452 29.514494,9.1033428 28.085198,11.198105 26.729927,10.941604 23.64993,8.8809175 22.973987,7.9348896 22.480603,7.2443656 21.964165,6.144611 22.327555,5.7244523 Z"
nodetypes="cssssccscc" />
<path
style="fill:#474747;fill-opacity:1;stroke:none;stroke-width:1.065;stroke-linecap:round;stroke-opacity:1"
label="right-ear-fluff"
id="right-ear-fluff"
d="m 27.879768,10.88962 c 0.917454,-3.4533158 1.871544,-6.9096158 2.936108,-7.9180511 0.333617,-0.3160271 0.701301,-0.3066452 0.810217,0.2082143 0.180668,0.8540374 0.07574,5.863623 -0.69645,9.6117088 -0.490708,-0.870889 -0.688315,-1.352738 -1.168669,-1.673583 -0.03662,0.434725 -0.09026,0.799186 -0.158405,0.986263 -0.340904,-0.13671 -0.718058,-0.734496 -0.70563,-1.270164 -0.31728,0.467008 -1.20166,0.497588 -1.017178,0.05561 z"
nodetypes="csscccccc" />
<g
id="whiskers">
<path
id="left-whisker"
label="left-whisker"
style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:1.065;stroke-linecap:round;stroke-opacity:1"
nodetypes="cc"
d="M 5.9107876,21.690708 C 3.9277707,21.232921 1.7485086,21.187496 0.54513174,21.179815" />
<path
d="M 6.1830023,19.578813 C 4.1871054,17.828608 2.4340957,16.609582 1.3611551,16.012965"
id="left-whisker-2"
label="left-whisker-2"
nodetypes="cc"
style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:1.065;stroke-linecap:round;stroke-opacity:1" />
<path
id="right-whisker"
d="m 22.565965,24.701884 c 1.919035,0.580733 3.985374,1.582507 4.971704,2.283901"
style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:1.065;stroke-linecap:round;stroke-opacity:1"
label="right-whisker" />
<path
d="m 23.430617,22.366051 c 2.540328,-0.912678 4.284056,-1.105124 4.982397,-1.142629"
id="right-whisker-2"
style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:1.065;stroke-linecap:round;stroke-opacity:1"
label="right-whisker-2" />
</g>
</g>
<defs
id="blobamber-defs">
<linearGradient
id="linearGradient1095"
collect="always">
<stop
style="stop-color:#b86a00;stop-opacity:1;"
id="stop1091"
offset="0" />
<stop
offset="1"
id="stop1093"
style="stop-color:#dab91d;stop-opacity:1;" />
</linearGradient>
<linearGradient
href="#linearGradient1095"
y2="12.153695"
id="linearGradient1097"
x1="25.110657"
collect="always"
y1="7.0228844"
x2="25.19339"
gradientUnits="userSpaceOnUse" />
<linearGradient
href="#linearGradient1095"
x2="25.19339"
collect="always"
y2="12.153695"
gradientUnits="userSpaceOnUse"
x1="25.110657"
y1="7.0228844"
id="linearGradient1239"
gradientTransform="matrix(0.94114449,0,0,0.94114449,-10.797579,2.1054482)" />
</defs>
<!-- Hello world -->
<g
id="eyes">
<g
id="left-eye"
transform="translate(-11.479965,-1.3267263)"
style="display:inline"
label="left-eye">
<ellipse
cy="8.2766476"
transform="rotate(18.569655)"
cx="24.789791"
style="display:inline;fill:#ffffff;fill-opacity:1;stroke-width:0.264583;stroke-linecap:round"
id="path3658"
ry="4.0323997"
label="eye"
rx="3.4254558" />
<ellipse
label="pupil"
transform="rotate(12.698142)"
cy="11.558851"
style="display:none;fill:#313131;fill-opacity:1;stroke-width:0.264583;stroke-linecap:round"
rx="0.99758869"
id="path3683"
ry="1.5768789"
cx="23.582348" />
<ellipse
style="fill:url(#linearGradient1239-2);fill-opacity:1;stroke-width:0.57919;stroke-linecap:round;stroke-linejoin:round"
id="path535-7"
cx="24.030781"
cy="10.563712"
rx="1.4523782"
ry="1.7850741"
transform="rotate(15.432511)"
inkscape:label="left-iris" />
<ellipse
style="fill:#313131;fill-opacity:1;stroke-width:0.599204;stroke-linecap:round;stroke-linejoin:round"
id="ellipse446"
cx="23.515667"
cy="11.760012"
rx="0.83021963"
ry="1.0930744"
transform="rotate(13.154497)"
inkscape:label="left-pupil" />
</g>
<g
label="right-eye"
id="right-eye">
<ellipse
label="eye"
style="display:inline;fill:#ffffff;fill-opacity:1;stroke-width:0.264583;stroke-linecap:round"
rx="3.4254558"
transform="rotate(18.569655)"
cx="24.789791"
ry="4.1866808"
id="ellipse4039"
cy="8.2766476" />
<ellipse
label="pupil"
style="display:none;fill:#313131;fill-opacity:1;stroke-width:0.264583;stroke-linecap:round"
transform="rotate(12.698142)"
ry="1.5768789"
id="ellipse4041"
cy="11.676779"
rx="0.99758869"
cx="23.015326" />
<ellipse
style="fill:url(#linearGradient1097-5);fill-opacity:1;stroke-width:0.571112;stroke-linecap:round;stroke-linejoin:round"
id="path535"
cx="23.530775"
cy="10.658728"
rx="1.4321228"
ry="1.760179"
transform="rotate(15.432511)"
inkscape:label="right-iris" />
<ellipse
style="fill:#313131;fill-opacity:1;stroke-width:0.586051;stroke-linecap:round;stroke-linejoin:round"
id="ellipse10473"
cx="23.105066"
cy="11.398184"
rx="0.81199521"
ry="1.0546317"
transform="rotate(14.274327)"
inkscape:label="right-pupil" />
</g>
</g>
<path
id="mouth"
d="m 9.9318896,19.995623 c 0.5486154,1.686713 1.0637784,2.752111 1.5767164,3.423841 0.992384,-0.828422 2.25927,-1.977918 2.761386,-2.480155 0.783749,1.274883 1.856673,2.745088 2.294365,3.345841 1.285631,-1.024786 2.518532,-2.115492 3.025709,-2.688925"
label="mouth"
style="fill:none;stroke:#313131;stroke-width:1.165;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
nodetypes="ccccc" />
</g>
<g
id="g1244"
inkscape:label="left-eye"
transform="matrix(1.0337321,0,0,1.0337321,-17.463587,-3.751691)" />
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

Loading…
Cancel
Save