Compare commits

...

13 Commits
0.1.0 ... main

2
.gitignore vendored

@ -2,3 +2,5 @@ original/
output/
Cargo.lock
target/
blobfox-*.zip
species/custom/

@ -20,3 +20,5 @@ resvg = "0.23"
usvg = "0.23"
tiny-skia = "0.6"
png = "0.17"
css-color-parser = "0.1.2"
wax = "0.5.0"

@ -41,9 +41,21 @@ If you'd like to help, there are a few things that need attention outside of imp
- german shepherd
- collie
- sheep
- bird
- etc.
- clean up the SVG for the existing emotes (the `clean` binary in `feat/template` is meant to do the heavy-lifting)
### TODO
- set_stroke!
- blobfox_ohmy
- blobfox_trumpet
- blobfox_highfive
- googly eyes?
- tea/coffee
- sad
- uwu
## License
All the code, images and assets of this repository are made available under the Apache 2.0 license.
@ -54,7 +66,7 @@ For simplicity, the authors of the different parts of this project have been gro
- Feuerfuchs: [original website (down as of writing)](https://feuerfuchs.dev/), [archive](https://web.archive.org/web/20211115174913/https://www.feuerfuchs.dev/en/projects/blobfox-emojis/)
- [LambdAurora](https://git.lambdaurora.dev/lambdaurora/), hosts [a mirror](https://git.lambdaurora.dev/lambdaurora/blobfox)
- [Shad Amethyst](https://git.shadamethyst.xyz/adri326/)
- [LostQuasar](https://github.com/LostQuasar)
<!-- Add yourself here as you please :) -->
<!-- If we get more people, then we can create a CONTRIBUTORS.txt file -->

@ -0,0 +1,63 @@
name = "snuggle"
dx = -90
dy = -30
bold = 12.0
# TODO: (medium) read from the species declaration and grab all the svgs with a given tag
# TODO: (low) generate the SVGs in-memory instead of reading them from the disk
[left]
blobfox = "blobfox_snuggle_left"
blobfox_blush = "blobfox_blush"
blobfox_happy = "blobfox_happy"
blobfox_aww = "blobfox_aww"
blobhusky = "blobhusky_snuggle_left"
blobhusky_blush = "blobhusky_blush"
blobhusky_happy = "blobhusky_happy"
blobhusky_aww = "blobhusky_aww"
blobcat = "blobcat_snuggle_left"
blobcat_blush = "blobcat_blush"
blobcat_happy = "blobcat_happy"
blobcat_aww = "blobcat_aww"
blobstella = "blobstella_snuggle_left"
blobstella_blush = "blobstella_blush"
blobstella_happy = "blobstella_happy"
blobstella_aww = "blobstella_aww"
blobarcticfox = "blobarcticfox_snuggle_left"
blobarcticfox_blush = "blobarcticfox_blush"
blobarcticfox_happy = "blobarcticfox_happy"
blobarcticfox_aww = "blobarcticfox_aww"
[right]
blobfox = "blobfox_snuggle_right"
blobfox_blush = "blobfox_snuggle_right_blush"
blobfox_heart = "blobfox_snuggle_right_heart"
blobfox_blush_heart = "blobfox_snuggle_right_blush_heart"
blobarcticfox = "blobarcticfox_snuggle_right"
blobarcticfox_blush = "blobarcticfox_snuggle_right_blush"
blobarcticfox_heart = "blobarcticfox_snuggle_right_heart"
blobarcticfox_blush_heart = "blobarcticfox_snuggle_right_blush_heart"
blobhusky = "blobhusky_snuggle_right"
blobhusky_blush = "blobhusky_snuggle_right_blush"
blobhusky_heart = "blobhusky_snuggle_right_heart"
blobhusky_blush_heart = "blobhusky_snuggle_right_blush_heart"
blobcat = "blobcat_snuggle_right"
blobcat_blush = "blobcat_snuggle_right_blush"
blobcat_heart = "blobcat_snuggle_right_heart"
blobcat_blush_heart = "blobcat_snuggle_right_blush_heart"
blobamber = "blobamber_snuggle_right"
blobamber_blush = "blobamber_snuggle_right_blush"
blobamber_heart = "blobamber_snuggle_right_heart"
blobamber_blush_heart = "blobamber_snuggle_right_blush_heart"
blobstella = "blobstella_snuggle_right"
blobstella_blush = "blobstella_snuggle_right_blush"
blobstella_heart = "blobstella_snuggle_right_heart"
blobstella_blush_heart = "blobstella_snuggle_right_blush_heart"

@ -0,0 +1,10 @@
{{>blobcat.body-snuggle}}
<g clip-path="url(#body-snuggle-clip)" blobfox-ignore-size="true">
<g transform="translate(-5 -5) rotate(-5 45 45)">
{{#set-fill}}
{{vars.marks_color}}
| {{#base}}#belly{{/base}}
{{/set-fill}}
</g>
</g>

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 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" xml:space="preserve" inkscape:version="1.1" viewBox="0 0 128 128" id="svg5" height="128" sodipodi:docname="blobarcticfox_snuggle_right.svg" width="128">
<title id="title30762">blobarcticfox_snuggle_right</title>
<sodipodi:namedview inkscape:zoom="2.4460393" inkscape:deskcolor="#505050" inkscape:cx="-81.560423" inkscape:pagecheckerboard="1" inkscape:window-y="36" bordercolor="#ffffff" inkscape:showpageshadow="2" showgrid="false" id="namedview7" units="px" inkscape:document-units="px" inkscape:window-height="1022" pagecolor="#505050" inkscape:cy="14.922082" borderopacity="1" inkscape:window-x="0" inkscape:window-width="1920" inkscape:current-layer="svg5" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:window-maximized="1">
<inkscape:grid type="xygrid" id="grid10"/>
</sodipodi:namedview>
<defs id="defs2"/>
<g style="display:none" id="ref" inkscape:label="ref" inkscape:groupmode="layer">
<image preserveAspectRatio="none" width="127.99999" y="0" style="display:none;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality" x="0" height="127.99999" xlink:href="../original/blobfox.png" inkscape:label="blobfox" id="blobfox"/>
<image x="-93.369904" preserveAspectRatio="none" style="display:inline;image-rendering:optimizeSpeed" width="221.0103" xlink:href="../original/blobfoxsnuggle.png" y="-106.29223" inkscape:label="blobfoxsnuggle" height="221.0103" id="blobfoxsnuggle"/>
</g>
<g inkscape:groupmode="layer" style="display:inline" inkscape:label="Base" id="Base">
<path inkscape:label="left-ear" sodipodi:nodetypes="cssscc" style="display:inline;fill:#8599ad;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" id="left-ear" d="M 12.87231,40.818966 C -2.8719971,22.749014 -4.3550533,3.1367661 -2.9535978,0.24374984 -1.8493312,-2.0357805 -0.73468479,-3.6569086 1.9073133,-2.7558898 5.0260913,-1.6922712 17.794722,2.5508374 34.540893,8.7120265 c 7.146252,2.6292225 3.161601,9.4167855 1.87439,12.1261315 -2.856028,5.37387 -17.877727,10.71439 -23.542973,19.980808 z"/>
<path style="fill:none;stroke:#bfdef4;stroke-width:5.915;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" d="M 23.916685,24.436717 C 14.602244,28.240758 6.1035058,41.212772 6.0522293,52.383124 c -0.06182,13.46732 5.2935377,17.762913 5.6272057,26.275639 0.285199,7.276187 -3.0842753,6.114611 -2.6594315,13.088678 0.3554475,5.834884 17.4105045,17.435289 48.2809295,19.511619 17.000006,1.14342 40.08745,-0.83957 52.687987,-6.80693 12.02235,-5.69355 13.81288,-9.197298 14.35031,-22.168541 0.93466,-22.558581 -9.42668,-45.135646 -17.2285,-51.227375" id="body-sheen" sodipodi:nodetypes="cssssssc" inkscape:label="body-sheen"/>
<path id="hair" inkscape:label="hair" sodipodi:nodetypes="cccsssccc" style="display:inline;fill:#eef2f4;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501" d="m 23.769283,6.3584073 c 2.991294,4.2455057 4.569848,7.4475027 8.895201,10.9888377 -12.070861,-0.541455 -15.260708,1.69375 -19.417541,5.559159 7.973832,0.09289 11.531043,0.522786 15.204226,1.155863 12.215874,2.105419 38.518977,5.035068 47.371493,-2.486915 4.32997,-3.679173 3.410201,-7.265503 -2.316952,-10.378575 C 67.610927,7.9925869 55.645095,4.8584742 51.222049,3.8438904 52.004054,6.0173862 53.35612,8.7380188 54.213344,11.268754 45.9815,7.6883395 37.893549,5.4027147 23.769283,6.3584073 Z"/>
<path sodipodi:nodetypes="csssssssc" inkscape:label="body" style="display:inline;fill:#eef2f4;fill-opacity:1;stroke:none;stroke-width:2.64567;stroke-linecap:square;stroke-miterlimit:3" id="body" d="m 11.777115,91.149268 c 0.06103,-5.423163 2.534363,-4.028232 2.714011,-11.854767 C 14.698932,70.241286 9.1659021,66.448097 8.2945368,53.764313 7.4703449,41.767195 14.698519,29.682048 22.405455,23.099448 c 2.997294,-2.56003 8.225884,-7.457425 24.239115,-7.457425 33.541601,0 50.287479,-0.290676 61.66375,13.954023 17.68827,22.148203 17.82851,57.284998 10.34099,65.611673 -5.41976,6.027171 -19.15345,13.467401 -51.843149,13.521431 -34.893119,0.0577 -54.890935,-12.611692 -55.029046,-17.579882 z"/>
<path sodipodi:nodetypes="scscccss" d="m 109.65875,-11.393576 c -9.0534,1.6065407 -29.38453,9.7496393 -44.524796,30.678621 0.210609,4.044387 7.117027,6.692013 15.231023,5.036186 8.412314,-1.716705 21.594053,-22.0009765 26.970613,-27.4823623 1.00114,9.5497778 -12.65173,31.3913833 -4.57278,40.2752173 3.27823,3.604628 6.48404,-4.729898 7.41016,-7.69531 3.7465,-12.049663 6.22482,-21.0511645 6.3764,-27.8592275 0.0598,-2.686778 1.92218,-14.5169695 -6.89062,-12.9531245 z" inkscape:label="right-ear" id="right-ear" style="display:inline;fill:#8599ad;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"/>
<path id="right-ear-fluff" style="display:inline;fill:#a0c7de;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" inkscape:label="right-ear-fluff" sodipodi:nodetypes="sscccccsss" d="M 109.7442,-7.9162135 C 101.79383,-4.5766893 95.432201,2.858004 93.256387,11.957451 92.338149,15.7976 86.384544,21.344383 83.242552,23.116446 c 3.859188,-0.486555 8.080586,-0.662358 9.623136,-0.582576 -0.593528,2.540618 -1.150986,5.084216 -1.270641,7.589149 2.095641,-2.400784 6.129327,-4.663902 8.596323,-5.42458 -0.870477,4.814098 -0.218062,7.843034 1.18668,10.437489 0.3855,-11.747093 7.77479,-14.345491 10.05823,-21.014332 1.71162,-4.9987961 4.75466,-15.8385462 1.25678,-21.4073931 -0.64101,-1.0205338 -2.00455,-1.0270711 -2.94886,-0.6304164 z"/>
</g>
<g transform="rotate(-10 45 75)" style="display:inline" inkscape:groupmode="layer" inkscape:label="Features" id="Features">
<path inkscape:label="nose-outline" id="nose-outline" style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:4.40315;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 33.65228,80.15316 c -1.84571,-3.806604 -1.872556,-7.54518 0.527665,-10.056125 2.400221,-2.510944 6.697437,-10.228997 6.681819,-14.101173" sodipodi:nodetypes="csc"/>
<path sodipodi:nodetypes="ssss" inkscape:label="nose" style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 40.349664,72.473149 c 3.611758,-1.970317 14.548618,-2.669295 17.071165,2.5758 0.40334,0.838655 -6.115736,7.143991 -10.106864,7.135136 -3.859049,-0.0087 -7.870186,-9.216748 -6.964301,-9.710936 z" id="nose"/>
<path style="fill:none;stroke:#313131;stroke-width:4.40315;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" inkscape:label="mouth" id="mouth" d="m 30.329986,85.466434 c 2.073506,6.374978 4.020579,10.401679 5.959243,12.940501 3.750744,-3.131043 8.538975,-7.475595 10.436736,-9.373813 2.962201,4.818455 7.017346,10.375135 8.671615,12.645698 4.859078,-3.873207 9.518861,-7.995561 11.43575,-10.162866" sodipodi:nodetypes="ccccc"/>
<path style="display:inline;fill:#313131;fill-opacity:1;stroke-width:4.45223;stroke-linecap:round" id="left-eye" d="m 24.641601,45.918665 c -4.075919,0.730189 -6.501377,3.925039 -6.273966,5.603347 0.227411,1.678308 1.347515,2.224702 3.8872,1.666965 2.397981,-0.52641 9.098771,-2.404689 17.303469,3.65651 2.148157,1.586937 4.650972,-0.810343 2.741314,-2.795355 -7.65445,-7.956509 -12.747952,-9.01107 -17.658017,-8.131467 z" sodipodi:nodetypes="ssssss" inkscape:label="left-eye"/>
<path id="right-eye" sodipodi:nodetypes="ssssss" inkscape:label="right-eye" d="m 83.448042,49.242516 c 3.928913,1.194349 5.945041,4.623512 5.525393,6.249833 -0.419635,1.626313 -1.586453,2.033818 -4.022559,1.188423 -2.300205,-0.798011 -8.680288,-3.429088 -17.467185,1.58346 -2.300578,1.312383 -4.485891,-1.340335 -2.373777,-3.072561 8.46599,-6.943249 13.605145,-7.38791 18.338128,-5.949155 z" style="display:inline;fill:#313131;fill-opacity:1;stroke-width:4.41528;stroke-linecap:round"/>
</g>
<metadata id="metadata30760">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:rights>
<cc:Agent>
<dc:title>Blobfox team (https://git.shadamethyst.xyz/adri326/blobfox), licensed under the Apache 2.0 License</dc:title>
</cc:Agent>
</dc:rights>
<dc:title>blobarcticfox_snuggle_right</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Feuerfuchs</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>https://git.shadamethyst.xyz/adri326/blobfox</dc:source>
<dc:contributor>
<cc:Agent>
<dc:title>Shad Amethyst</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
</rdf:RDF>
</metadata>
<path style="display:inline;fill:#d7598b;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" id="heart" sodipodi:nodetypes="cscsc" inkscape:label="heart" d="M 17.169221,-41.070349 C 0.68524509,-54.904396 -18.117728,-61.282802 -17.878994,-79.580228 -17.638387,-98.021242 2.6089701,-106.33438 16.109881,-91.195364 30.925783,-106.87833 51.809057,-97.94444 51.980453,-80.470186 52.157178,-62.452549 33.98327,-55.31 17.169221,-41.070349 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 9.5 KiB

@ -9,3 +9,4 @@ hand_color = "#eef2f4"
tail_color = "#eef2f4"
marks_color = "#eee64e"
sheen_color = "#bfdef4"
hand_stroke_color = "#8599ad"

@ -0,0 +1,16 @@
{{! Left ear }}
{{#set-fill}} {{vars.ear_color}} | {{#snuggle_right}}#left-ear{{/snuggle_right}} {{/set-fill}}
{{! Body }}
<defs>
<clipPath id="body-clip">
{{#snuggle_right}}#body{{/snuggle_right}}
</clipPath>
</defs>
{{#set-fill}} {{vars.sheen_color}} | {{#snuggle_right}}#body-sheen{{/snuggle_right}} {{/set-fill}}
{{#set-fill}} {{vars.body_color}} | {{#snuggle_right}}#body{{/snuggle_right}} {{/set-fill}}
{{#set-fill}} {{vars.body_color}} | {{#snuggle_right}}#hair{{/snuggle_right}} {{/set-fill}}
{{! Right ear }}
{{#set-fill}} {{vars.ear_color}} | {{#snuggle_right}}#right-ear{{/snuggle_right}} {{/set-fill}}
{{#set-fill}} {{vars.ear_fluff_color}} | {{#snuggle_right}}#right-ear-fluff{{/snuggle_right}} {{/set-fill}}

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 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="svg5" height="128" width="128" sodipodi:docname="blobcat_snuggle_right.svg" xml:space="preserve" inkscape:version="1.1" viewBox="0 0 128 128">
<title id="title30762">blobfox_snuggle_right</title>
<sodipodi:namedview inkscape:window-y="36" inkscape:showpageshadow="2" inkscape:pageshadow="0" inkscape:window-x="0" units="px" inkscape:window-width="1920" bordercolor="#ffffff" inkscape:window-height="1022" inkscape:cy="11.996917" inkscape:document-units="px" inkscape:current-layer="layer3" showgrid="false" inkscape:pageopacity="0" borderopacity="1" inkscape:cx="25.294705" pagecolor="#505050" inkscape:window-maximized="1" inkscape:pagecheckerboard="1" inkscape:deskcolor="#505050" id="namedview7" inkscape:zoom="3.459222">
<inkscape:grid type="xygrid" id="grid10"/>
</sodipodi:namedview>
<defs id="defs2"/>
<g id="ref" style="display:inline" inkscape:groupmode="layer" inkscape:label="ref">
<image preserveAspectRatio="none" y="0" width="127.99999" id="blobfox" xlink:href="../original/blobfox.png" height="127.99999" style="display:none;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality" inkscape:label="blobfox" x="0"/>
<image xlink:href="../original/blobfoxsnuggle.png" height="221.0103" y="-106.29223" inkscape:label="blobfoxsnuggle" width="221.0103" preserveAspectRatio="none" id="blobfoxsnuggle" style="display:none;image-rendering:optimizeSpeed" x="-93.369904"/>
</g>
<g inkscape:label="Base" id="Base" inkscape:groupmode="layer" style="display:inline">
<path id="left-ear" d="M 12.256837,46.231586 C 1.8415779,22.359815 2.2015389,7.7703891 2.5005463,4.5850052 2.7567483,1.8556355 5.8258605,1.3074542 8.6078275,1.5369059 20.46283,2.5146854 36.642168,7.9114889 46.1089,16.82884 33.179879,24.978058 19.123854,37.816977 12.256837,46.231586 Z" inkscape:label="left-ear" style="display:inline;fill:#e9ae20;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" sodipodi:nodetypes="csscc"/>
<path style="display:inline;fill:#fcc21b;fill-opacity:1;stroke:none;stroke-width:2.64567;stroke-linecap:square;stroke-miterlimit:3" id="body" inkscape:label="body" sodipodi:nodetypes="cssssssc" d="m 6.0599734,91.649344 c 0,-8.73002 2.525321,-5.814368 2.6883167,-12.346173 C 8.9112858,72.771365 3.4640017,66.503444 3.0623888,53.796109 2.608823,39.444946 15.720633,10.76527 52.829214,10.867516 c 33.541474,0.09242 56.484576,14.941874 64.009516,27.975446 12.82632,22.215835 12.91096,52.067554 6.38429,59.723645 -6.52667,7.656093 -22.73142,15.897513 -56.529275,15.897513 -33.797859,0 -60.6337716,-12.74755 -60.6337716,-22.814776 z"/>
<path inkscape:label="right-ear" style="display:inline;fill:#e9ae20;fill-opacity:1;stroke-width:4.0252;stroke-linecap:round" d="m 65.699761,18.700034 c 3.705098,-5.798332 13.241266,-15.0450512 26.86208,-21.0013755 2.562927,-1.120759 4.420268,-2.313566 6.116242,1.2171806 4.028927,8.3875701 6.105317,22.4994839 7.081847,34.4003099 0.19819,2.415136 0.26732,3.531599 -0.51471,4.602903 -0.4929,0.675218 -1.25711,0.41881 -1.94344,-0.355807 C 99.585066,28.508649 95.013339,25.153236 91.494125,34.068367 86.284232,34.254688 73.21014,29.230824 69.928513,26.308134 67.533188,24.174807 64.711138,20.552259 65.699762,18.700041 Z" id="right-ear" sodipodi:nodetypes="cssssccscc"/>
<path d="m 90.47927,33.102811 c 0.497994,-13.495479 1.128526,-27.0325548 4.210496,-31.6387769 0.96583,-1.44351315 2.328987,-1.71598145 3.160428,0.090892 1.379164,2.9972051 5.175876,21.5507379 5.459496,36.0114669 -2.53607,-2.800409 -3.666864,-4.411539 -5.705443,-5.19307 0.22805,1.633029 0.334693,3.021267 0.239724,3.767763 -1.37078,-0.219241 -3.260214,-2.107791 -3.661738,-4.092702 -0.779535,1.986404 -4.013917,2.837666 -3.702994,1.054425 z" id="right-ear-fluff" style="display:inline;fill:#8a6135;fill-opacity:1;stroke:none;stroke-width:4.0252;stroke-linecap:round;stroke-opacity:1" inkscape:label="right-ear-fluff" sodipodi:nodetypes="csscccccc"/>
</g>
<path inkscape:label="heart" style="display:inline;fill:#d7598b;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 17.72597,-41.253132 c -16.4839759,-13.834047 -35.286949,-20.212453 -35.048215,-38.509879 0.240607,-18.441014 20.4879641,-26.754159 33.988875,-11.615136 14.815902,-15.682973 35.699176,-6.749076 35.870572,10.725178 0.176725,18.017637 -17.997183,25.160186 -34.811232,39.399837 z" id="heart" sodipodi:nodetypes="cscsc"/>
<g inkscape:label="Features" id="Features" inkscape:groupmode="layer" style="display:inline" transform="rotate(-10 45 75)">
<path sodipodi:nodetypes="ccccc" inkscape:label="mouth" style="fill:none;stroke:#313131;stroke-width:4.40315;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 32.239465,74.761083 c 2.344873,6.280234 4.462767,10.21977 6.50848,12.673154 3.613079,-3.288946 8.210673,-7.83476 10.025319,-9.812583 3.166029,4.687046 7.455642,10.064788 9.205722,12.262351 4.688581,-4.077938 9.167369,-8.396252 10.989591,-10.643735" id="mouth"/>
<path id="left-eye" inkscape:label="left-eye" sodipodi:nodetypes="ssssss" d="m 24.641601,45.918665 c -4.075919,0.730189 -6.501377,3.925039 -6.273966,5.603347 0.227411,1.678308 1.347515,2.224702 3.8872,1.666965 2.397981,-0.52641 9.098771,-2.404689 17.303469,3.65651 2.148157,1.586937 4.650972,-0.810343 2.741314,-2.795355 -7.65445,-7.956509 -12.747952,-9.01107 -17.658017,-8.131467 z" style="display:inline;fill:#313131;fill-opacity:1;stroke-width:4.45223;stroke-linecap:round"/>
<path style="display:inline;fill:#313131;fill-opacity:1;stroke-width:4.41528;stroke-linecap:round" id="right-eye" d="m 83.448042,49.242516 c 3.928913,1.194349 5.945041,4.623512 5.525393,6.249833 -0.419635,1.626313 -1.586453,2.033818 -4.022559,1.188423 -2.300205,-0.798011 -8.680288,-3.429088 -17.467185,1.58346 -2.300578,1.312383 -4.485891,-1.340335 -2.373777,-3.072561 8.46599,-6.943249 13.605145,-7.38791 18.338128,-5.949155 z" inkscape:label="right-eye" sodipodi:nodetypes="ssssss"/>
<path id="left-whisker-2" inkscape:label="left-whisker-2" sodipodi:nodetypes="cc" style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:4.0252;stroke-linecap:round;stroke-opacity:1" d="M 18.146235,70.812481 C 10.037836,64.903463 3.0244335,60.911259 -1.2172999,59.030535"/>
<path style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:4.0252;stroke-linecap:round;stroke-opacity:1" d="M 17.840108,78.854655 C 10.219915,77.806151 2.00132,78.376622 -2.5310233,78.757138" sodipodi:nodetypes="cc" inkscape:label="left-whisker" id="left-whisker"/>
<path d="M 84.017713,75.435931 C 93.269447,71.136138 99.767688,69.81846 102.38361,69.439685" style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:4.0252;stroke-linecap:round;stroke-opacity:1" inkscape:label="right-whisker-2" id="right-whisker-2"/>
<path d="m 81.557735,84.522616 c 7.421184,1.533064 15.540094,4.600888 19.491455,6.90547" id="right-whisker" style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:4.0252;stroke-linecap:round;stroke-opacity:1" inkscape:label="right-whisker"/>
</g>
<metadata id="metadata30760">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:rights>
<cc:Agent>
<dc:title>Blobfox team (https://git.shadamethyst.xyz/adri326/blobfox), licensed under the Apache 2.0 License</dc:title>
</cc:Agent>
</dc:rights>
<dc:title>blobfox_snuggle_right</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Feuerfuchs</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>https://git.shadamethyst.xyz/adri326/blobfox</dc:source>
<dc:contributor>
<cc:Agent>
<dc:title>Shad Amethyst</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
</rdf:RDF>
</metadata>
</svg>

After

Width:  |  Height:  |  Size: 8.1 KiB

@ -0,0 +1,18 @@
{{! Left ear }}
{{#set-fill}} {{vars.ear_color}} | {{#snuggle_right}}#left-ear{{/snuggle_right}} {{/set-fill}}
{{! Body }}
<defs>
<clipPath id="body-snuggle-clip">
{{#snuggle_right}}#body{{/snuggle_right}}
</clipPath>
</defs>
{{#set-fill}} {{vars.body_color}} | {{#snuggle_right}}#body{{/snuggle_right}} {{/set-fill}}
{{! Right ear }}
{{#set-fill}} {{vars.ear_color}} | {{#snuggle_right}}#right-ear{{/snuggle_right}} {{/set-fill}}
{{#set-fill}} {{vars.ear_fluff_color}} | {{#snuggle_right}}#right-ear-fluff{{/snuggle_right}} {{/set-fill}}
<g transform="rotate(-12 45 75)">
{{>whiskers}}
</g>

@ -1,3 +1,24 @@
{{#set-fill}}
{{vars.hand_color}} | {{>blobfox.hands}}
{{/set-fill}}
{{^tags.oh-my}}
{{#set-fill}}
{{vars.hand_color}} | {{>blobfox.hands}}
{{/set-fill}}
{{/tags.oh-my}}
{{#tags.oh-my}}
{{#tags.left-hand}}
<g transform="translate(4 0)">
{{#set-stroke}}
{{vars.hand_stroke_color}} |
{{#set-fill}} {{vars.hand_color}} | {{#oh_my}}#left-hand{{/oh_my}} {{/set-fill}}
{{/set-stroke}}
</g>
{{/tags.left-hand}}
{{#tags.right-hand}}
<g transform="translate(-6 0)">
{{#set-stroke}}
{{vars.hand_stroke_color}} |
{{#set-fill}} {{vars.hand_color}} | {{#oh_my}}#right-hand{{/oh_my}} {{/set-fill}}
{{/set-stroke}}
</g>
{{/tags.right-hand}}
{{/tags.oh-my}}

@ -15,3 +15,9 @@
{{#blobfox.base}}#nose{{/blobfox.base}}
</g>
{{/tags.mouth-hmpf}}
{{#tags.oh-my}}
<g transform="translate(2.64 -0.75)">
{{#blobfox.base}}#nose{{/blobfox.base}}
</g>
{{/tags.oh-my}}

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 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="svg5" height="128" xml:space="preserve" sodipodi:docname="coffee.svg" width="128" inkscape:version="1.1" viewBox="0 0 128 128">
<title id="title62790">coffee</title>
<sodipodi:namedview inkscape:cy="75.931259" inkscape:document-units="px" inkscape:cx="36.992152" id="namedview7" inkscape:window-maximized="1" inkscape:window-height="1058" inkscape:current-layer="layer4" pagecolor="#505050" showgrid="false" bordercolor="#ffffff" inkscape:showpageshadow="2" inkscape:window-y="0" inkscape:deskcolor="#505050" inkscape:zoom="7.9611481" inkscape:pageopacity="0" inkscape:window-x="0" borderopacity="1" inkscape:pageshadow="0" inkscape:pagecheckerboard="1" inkscape:window-width="1920" units="px">
<inkscape:grid type="xygrid" id="grid10"/>
</sodipodi:namedview>
<defs id="defs2"/>
<g id="ref" inkscape:groupmode="layer" inkscape:label="ref" style="display:inline">
<image preserveAspectRatio="none" inkscape:label="blobfox" id="blobfox" xlink:href="../original/blobfox.png" width="127.99999" height="127.99999" style="display:none;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality" y="0" x="0"/>
<image y="-7.4412451" xlink:href="../original/blobfoxknife.png" style="display:none;image-rendering:optimizeSpeed" inkscape:label="blobfoxknife" x="-7.9759197" height="135.72025" width="135.72025" id="blobfoxknife" preserveAspectRatio="none"/>
<image xlink:href="../original/blobfoxcofe.png" id="blobfoxcofe" style="display:inline;image-rendering:optimizeSpeed" x="0" inkscape:label="blobfoxcofe" y="0" width="128" height="128" preserveAspectRatio="none"/>
</g>
<g inkscape:label="Features" inkscape:groupmode="layer" id="Features"/>
<g inkscape:groupmode="layer" id="Cup" inkscape:label="Cup">
<path style="display:inline;fill:#ffffff;fill-opacity:0.502791;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 33.987489,94.823405 c 0.761604,-6.286446 -5.240607,-9.615682 -8.652785,-12.565717 -3.98831,-3.448136 -1.490535,-12.129244 0.778277,-13.566227 -0.03889,2.962202 5.076839,9.471841 10.70871,10.443994 5.398537,0.931876 19.309122,2.834328 21.821006,15.403748 0.632857,3.166806 -9.07893,4.291454 -12.347342,4.355396 -3.268412,0.06394 -12.845505,0.366598 -12.307866,-4.071194 z" id="smoke" inkscape:label="smoke" sodipodi:nodetypes="sscssss"/>
<path style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" sodipodi:nodetypes="csssssc" d="m 45.392261,122.74398 c -6.860515,0.007 -14.340139,-2.06218 -16.057862,-10.65403 -1.571044,-7.85818 -2.300606,-13.441967 1.094121,-16.013995 3.394727,-2.572028 13.411241,-3.446106 16.139301,-3.469149 2.94473,-0.02487 12.43829,1.04296 14.901438,4.183393 2.416477,3.080932 2.941379,8.372341 0.87296,16.358421 -2.078813,8.02621 -9.481552,9.33957 -16.949958,9.59536 z" id="cup" inkscape:label="cup"/>
<path d="m 61.247504,114.53016 c 3.20131,0.12439 5.163155,-3.24345 5.399993,-5.60233 0.236838,-2.35888 -0.655263,-6.16363 -3.284204,-6.36968" id="cup-handle" style="fill:none;stroke:#ffffff;stroke-width:3.7;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none" sodipodi:nodetypes="csc" inkscape:label="cup-handle"/>
<ellipse cy="99.573868" id="liquid" rx="14.430361" cx="45.841797" ry="4.8101201" style="display:inline;fill:#502d16;fill-opacity:1;stroke:none;stroke-width:3.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1" inkscape:label="liquid"/>
</g>
<path style="display:inline;fill:#ff8702;fill-opacity:1;stroke:#313131;stroke-width:4.20045;stroke-linecap:round;stroke-opacity:1" d="m 81.342644,103.43478 c -8.048004,-0.32941 -16.325165,-0.93068 -16.351872,6.72937 0.123212,4.65744 3.107265,7.76238 6.236738,12.56455" sodipodi:nodetypes="ccc" id="right-hand" inkscape:label="right-hand"/>
<metadata id="metadata30760">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:rights>
<cc:Agent>
<dc:title>Blobfox team (https://git.shadamethyst.xyz/adri326/blobfox), licensed under the Apache 2.0 License</dc:title>
</cc:Agent>
</dc:rights>
<dc:creator>
<cc:Agent>
<dc:title>Feuerfuchs</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>https://git.shadamethyst.xyz/adri326/blobfox</dc:source>
<dc:contributor>
<cc:Agent>
<dc:title>Shad Amethyst</dc:title>
</cc:Agent>
</dc:contributor>
<dc:title>coffee</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 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" xml:space="preserve" sodipodi:docname="crowbar.svg" width="128" inkscape:version="1.1" id="svg5" height="128" viewBox="0 0 128 128">
<title id="title40310">crowbar</title>
<sodipodi:namedview bordercolor="#ffffff" inkscape:pageopacity="0" inkscape:cy="79.8125" inkscape:deskcolor="#505050" inkscape:window-y="0" inkscape:window-x="0" id="namedview7" units="px" inkscape:window-width="1920" pagecolor="#505050" inkscape:zoom="8" showgrid="false" borderopacity="1" inkscape:window-height="1058" inkscape:cx="2.1875" inkscape:current-layer="layer3" inkscape:pagecheckerboard="1" inkscape:showpageshadow="2" inkscape:document-units="px" inkscape:pageshadow="0" inkscape:window-maximized="1">
<inkscape:grid id="grid10" type="xygrid"/>
</sodipodi:namedview>
<defs id="defs2"/>
<g id="ref" inkscape:groupmode="layer" style="display:none" inkscape:label="ref">
<image inkscape:label="blobfox" id="blobfox" xlink:href="../original/blobfox.png" preserveAspectRatio="none" y="0" height="127.99999" width="127.99999" style="display:none;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality" x="0"/>
<image xlink:href="../original/blobfoxknife.png" x="-2.0426512" style="image-rendering:optimizeSpeed" width="135.72025" y="-2.0426512" inkscape:label="blobfoxknife" preserveAspectRatio="none" height="135.72025" id="blobfoxknife"/>
</g>
<g inkscape:groupmode="layer" id="Features" inkscape:label="Features"/>
<g id="Crowbar" inkscape:groupmode="layer" inkscape:label="Crowbar">
<path sodipodi:nodetypes="sscsssssscsssss" d="m -9.8522317,48.614385 c 1.3845695,-2.506081 6.2624525,-6.948651 7.9469028,-5.663488 1.59658469,1.218127 0.96415649,2.748994 0.5661644,4.220459 1.57125508,-0.616631 3.1057023,-1.794578 4.5603351,-0.518689 1.5060088,1.320954 -0.2412008,3.464218 -1.0662337,5.780593 -0.6000947,1.684833 -1.3643697,2.248611 3.021838,6.930075 4.3862063,4.681462 42.3791251,43.094565 47.9188211,48.175835 5.539696,5.08127 6.125242,7.81305 5.958831,10.35773 -0.166412,2.54467 -4.403182,6.98427 -5.861308,6.13546 -1.480581,-0.86188 -1.155034,-2.83128 -1.109449,-4.32347 -1.087164,0.85636 -3.0389,2.44446 -4.248891,1.12971 -1.209992,-1.31473 0.525179,-3.90597 0.740548,-5.12858 0.257822,-1.46364 0.220976,-2.27089 -3.180703,-5.26011 -1.700839,-1.4946 -49.5754585,-49.218214 -54.140953,-53.566033 -3.196823,-3.044403 -2.180401,-6.324645 -1.1059027,-8.269492 z" style="fill:#3d444b;fill-opacity:1;stroke:none;stroke-width:1.30304px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" inkscape:label="crowbar-base" id="crowbar-base"/>
<path sodipodi:nodetypes="sssss" id="crowbar-reflection" inkscape:label="crowbar-reflection" d="m -7.488648,55.462961 c -0.9404391,0.553878 -1.873132,-1.959846 -1.8974327,-3.668657 -0.025872,-1.819269 1.1391559,-4.154672 2.1720486,-3.218589 0.826716,0.74923 -0.8412332,2.004044 -0.6374581,3.456586 0.2027699,1.445367 1.300665,2.878322 0.3628422,3.43066 z" style="fill:#565f65;fill-opacity:1;stroke:none;stroke-width:1.30304px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/>
<path d="m -4.0163473,47.768829 c -0.076734,-0.954898 2.5459633,-3.847259 2.9743857,-3.737733 0.41140672,0.81096 -0.060986,2.463741 -0.294386,3.141371 -0.5849535,0.24627 -1.5792218,0.544591 -2.6799997,0.596362 z" id="crowbar-shadow" sodipodi:nodetypes="cccc" inkscape:label="crowbar-shadow" style="fill:#2a2f31;fill-opacity:1;stroke:none;stroke-width:1.30304px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/>
<path style="fill:#2a2f31;fill-opacity:1;stroke:none;stroke-width:1.30304px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 49.176511,121.3338 c -0.201159,-1.21254 2.387135,-3.16887 2.884908,-3.36799 -0.0043,0.34019 0.01621,1.42929 0.02339,1.74019 -0.431045,0.44931 -2.140953,1.6278 -2.90829,1.6278 z" id="crowbar-shadow-2" inkscape:label="crowbar-shadow-2" sodipodi:nodetypes="sccss"/>
</g>
<path sodipodi:nodetypes="cssc" inkscape:label="left-hand" style="display:inline;fill:#ff8702;fill-opacity:1;stroke:#313131;stroke-width: 4.200453377934907;stroke-linecap:round;stroke-opacity:1;" id="left-hand" d="m 14.208372479985337,96.90646295643847 c 10.489628563400451,-1.5287923807562056 18.35514636397062,-7.160375151166334 22.391250771998003,-7.101803814889615 3.8712160995584215,0.056201572590489274 7.514408397070537,3.0337699593003955 7.391165567276947,7.692154657789188 -0.12321259357430735,4.657439816636228 -5.831534888522249,10.590005252362 -13.306794940677365,14.93453799470323 "/>
<metadata id="metadata30760">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:rights>
<cc:Agent>
<dc:title>Blobfox team (https://git.shadamethyst.xyz/adri326/blobfox), licensed under the Apache 2.0 License</dc:title>
</cc:Agent>
</dc:rights>
<dc:creator>
<cc:Agent>
<dc:title>Feuerfuchs</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>https://git.shadamethyst.xyz/adri326/blobfox</dc:source>
<dc:contributor>
<cc:Agent>
<dc:title>Shad Amethyst</dc:title>
</cc:Agent>
</dc:contributor>
<dc:title>crowbar</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" height="480" width="800" viewBox="0 0 128 76.8">
<g>
<rect height="76.8" width="128" fill="#000000" />
<rect height="54.85" y="10.97" width="128" fill="#bcc4c7" />
<rect height="32.91" y="21.94" width="128" fill="#ffffff" />
<rect height="10.97" y="32.91" width="128" fill="#b7f684" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 397 B

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" height="480" width="800" viewBox="0 0 128 76.8">
<g>
<rect height="76.8" width="128" fill="#5bcefa" />
<rect height="46.08" y="15.36" width="128" fill="#f5a9b8" />
<rect height="15.36" y="30.72" width="128" fill="#ffffff" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 332 B

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 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" sodipodi:docname="blobfox_oh_my.svg" inkscape:version="1.1" width="128" id="svg5" height="128" viewBox="0 0 128 128">
<title id="title30762">blobfox_oh_my</title>
<sodipodi:namedview inkscape:cy="83.047499" inkscape:zoom="7.7967429" inkscape:window-width="1920" inkscape:window-y="0" inkscape:document-units="px" inkscape:deskcolor="#505050" units="px" inkscape:window-height="1058" showgrid="false" inkscape:pageopacity="0" borderopacity="1" inkscape:current-layer="layer1" inkscape:cx="46.622032" pagecolor="#505050" id="namedview7" inkscape:pageshadow="0" inkscape:window-x="0" inkscape:showpageshadow="2" bordercolor="#ffffff" inkscape:window-maximized="1" inkscape:pagecheckerboard="1">
<inkscape:grid id="grid10" type="xygrid"/>
</sodipodi:namedview>
<defs id="defs2"/>
<g id="ref" inkscape:groupmode="layer" style="display:none" inkscape:label="ref">
<image preserveAspectRatio="none" inkscape:label="blobfox" id="blobfox" x="0" height="127.99999" width="127.99999" style="display:inline;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality" y="0" xlink:href="../original/blobfox.png"/>
</g>
<g inkscape:groupmode="layer" inkscape:label="Base" style="display:inline;" id="Base">
<path style="fill:#313131;fill-opacity:1;stroke:none;stroke-width: 0.9999987007874529px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" d="M 16.30383280693572,44.518346593765884 C 7.49794250795502,24.14954210434874 8.108201255582628,4.557852670950683 9.997633118203423,1.957147500899705 11.486396902110359,-0.09205855385596245 12.48811604377496,-0.594763176584127 14.929939065750432,0.7578227985109136 17.812417944392998,2.3544991576968837 29.030852778312887,13.344593238401844 43.69938725592964,23.088191846921582 50.0421561400726,27.30138601175646 35.00931301538138,26.045871226540505 42.99999704724422,28.999998606299272 29.02817006975709,29.950787860205207 23.513666475839905,36.39554955923033 16.30383280693572,44.518346593765884 Z " inkscape:label="left-ear" id="left-ear" sodipodi:nodetypes="cssscc"/>
<path inkscape:label="body" sodipodi:nodetypes="sccssssscs" style="display:inline;fill:#ff8702;fill-opacity:1;stroke:none;stroke-width: 0.9999987007874529px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501;" d="M 31.020137109443425,31.795851094651535 C 19.243009132164996,36.4709896822445 1.5274857981304806,58.454409037228 0,94.99841767722766 c 0,0 0.1455496005689134,8.031170707434224 2.203124700664382,14.332028412124867 5.666673414697898,6.493912185279049 20.789397102779642,15.325601916314886 40.376951733190886,17.794922134058186 18.881264138532913,2.3802783314851053 43.113329956168116,-0.4459124233892747 58.31444935769885,-3.8632817376660737 15.201126960585555,-3.417369314276799 22.82638776274064,-13.27958876852013 23.816408511165022,-15.80663748792766 0.9899980712599185,-2.527052498934941 0.10794330283687785,-7.720168514953997 -0.5586028126534327,-9.939454096871888 -0.8118500467775573,-2.7030802085401495 -2.058598974070907,-6.277704319775421 -0.3984302205342433,-11.14843420675456 C 125.4140624640133,81.4968308072114 128.941291301524,61.74966560040687 121.43968151812278,47.67004536732106 106.80734697608871,18.185110339168887 61.32889081382321,19.764256985659177 31.020137109443425,31.795851094651535 Z " id="body"/>
<path sodipodi:nodetypes="cccsssccc" id="hair" style="display:inline;fill:#ff8702;fill-opacity:1;stroke:none;stroke-width: 0.9999987007874529px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501;" d="M 42.99999704724422,10.998424763841546 C 46.45958746222097,18.0251524242066 47.49165167355703,19.122313325893177 52.99999539370098,25.998424173290392 43.999999527559076,20.998424244156528 34.53124777436033,23.578502378799122 30.53124919168311,25.578502048090474 38.36616415881244,27.06333512349075 39.493956240395434,27.733221963258984 42.99999704724422,28.99842405518016 54.66000918661382,33.20609481865769 65.22610136905114,37.91102968854214 75.25683105288068,32.05170242316133 80.16309227704362,29.18577182733182 89.54933694687652,23.197992787480604 85.00390342504319,20.869518548444155 79.03246932943036,17.81055085785233 74.97847641817023,15.244907494294981 70.80077579524506,13.473033674290015 71.1837968825277,16.17076774130836 71.96815464692307,18.23181962866852 72.88280783925954,21.410533330293966 65.40327427546165,16.44674354146679 57.07394798921465,12.525562845450283 42.99999704724422,10.998424763841546 Z " inkscape:label="hair"/>
<path id="right-ear" style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501" d="M 120.55273,0.60156244 C 111.49933,2.2081032 92.638311,9.0768756 77.498045,30.005858 c 3.348858,1.754226 6.434093,2.629871 10.033202,2.236328 1.233956,-0.134926 2.627013,-0.260996 4.062501,-0.552734 8.413692,-1.709935 21.259262,-17.374059 26.635822,-22.8554448 1.00114,9.5497778 -12.27923,37.6493438 -4.20028,46.5331778 3.27823,3.604628 6.48404,-4.729898 7.41016,-7.69531 3.7465,-12.049663 5.85232,-27.309125 6.0039,-34.117188 0.0598,-2.686778 1.92218,-14.51696903 -6.89062,-12.95312456 z" inkscape:label="right-ear" sodipodi:nodetypes="scsscccss"/>
<path inkscape:label="right-ear-fluff" d="M 120.93945 3.7070312 C 117.93617 3.7676633 113.05282 5.950531 110.11328 8.2929688 C 109.95628 8.4209961 109.79975 8.5519087 109.64258 8.6835938 C 109.45202 8.8490842 109.26155 9.0143659 109.09375 9.1796875 C 107.99053 10.266605 106.78488 11.306996 105.58594 12.453125 C 104.81311 13.234497 104.05093 14.040022 103.29883 14.867188 C 101.46858 17.074524 99.838862 19.890307 98.865234 24.070312 C 97.969532 27.91578 95.160847 30.471683 91.607422 31.683594 C 96.293888 31.075867 100.20424 30.15138 101.96875 29.464844 C 100.85128 33.038993 99.469773 37.487939 98.382812 40.458984 C 102.79776 41.716394 107.82276 40.204551 110.69531 38.912109 C 110.73208 44.764886 110.73567 51.425833 113.38086 54.560547 C 113.24554 53.878185 113.22172 53.078336 113.19141 52.222656 C 112.8322 42.082217 118.76169 36.325196 122.1582 26.888672 C 123.54353 21.789805 124.79684 8.2939351 123.46484 4.9492188 C 123.13279 4.5031417 122.74519 4.1428245 122.29883 3.8789062 C 121.91339 3.7535033 121.45668 3.6965892 120.93945 3.7070312 z " id="right-ear-fluff" style="display:inline;fill:#ebdccc;fill-opacity:1;stroke:none;stroke-width: 0.9999987007874529px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"/>
<path sodipodi:nodetypes="csc" id="right-hand" inkscape:label="right-hand" style="display:inline;fill:#ff8702;fill-opacity:1;stroke:#313131;stroke-width:4.20045;stroke-linecap:round;stroke-opacity:1" d="m 65.516469,116.23603 c -2.136015,-11.3587 -1.739973,-24.821607 6.105645,-26.873065 8.950331,-2.340317 16.267085,9.169976 21.409876,20.369685"/>
<path id="left-hand" d="M 12.634561,105.94663 C 16.692475,93.859206 26.148328,84.962682 33.163002,87.100258 40.624047,89.373856 39.7915,101.48734 39.150489,114.66982" sodipodi:nodetypes="csc" style="display:inline;fill:#ff8702;fill-opacity:1;stroke:#313131;stroke-width:4.20045;stroke-linecap:round;stroke-opacity:1" inkscape:label="left-hand"/>
</g>
<g id="Features" inkscape:label="Features" inkscape:groupmode="layer">
<path style="fill:#313131;fill-opacity:1;stroke:none;stroke-width: 1.0015747637175292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.46432;" inkscape:label="left-eye" d="m 27.790028638187852,54.518416751243436 c 0.6795257685226077,-5.915081341925932 5.559595245685228,-10.090060705115722 9.367468733564223,-9.96827299337508 3.961508253483928,0.1266897587917418 6.467463430414826,4.183022197518811 6.25869367485458,7.163353418765615 -0.413242188455032,5.899286696878478 -3.706945365868293,11.13713719932531 -9.389191945307406,11.095554838757685 -3.447460777659025,-0.02532283364870734 -6.743369687268911,-3.882576225095425 -6.236970463111399,-8.290635264148218 z " sodipodi:nodetypes="sssss" id="left-eye"/>
<path d="m 73.66655332021445,60.86205114716335 c 0.6795250126171256,-6.822349337702783 5.574969229331921,-10.542443679431353 9.382843095163658,-10.420655967690712 3.9615116550585965,0.1266897587917418 7.263779241583495,4.59354690576587 7.000225236211606,8.612605645173007 -0.42921069176335863,6.54523816751031 -4.10038283069359,10.875412485219982 -9.782630166038183,10.833830124652359 -3.447461911517248,-0.02532283364870734 -7.040205077157282,-4.610577456276478 -6.600438165337081,-9.025779802134656 z " style="fill:#313131;fill-opacity:1;stroke:none;stroke-width: 0.9999987007874529px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46432;" inkscape:label="right-eye" id="right-eye" sodipodi:nodetypes="sssss"/>
<path sodipodi:nodetypes="csc" id="nose-outline" style="fill:none;fill-opacity:1;stroke:#313131;stroke-width: 4.403149432946873;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;" d="M 33.65228012392598,80.15315967900948 C 31.806569834387016,76.34655573438758 31.77972422914472,72.60797950362286 34.17994523701003,70.09703535051042 36.58016624487534,67.58609119739799 41.88212622511315,64.24552565962499 41.54241852195203,52.43065494367501 " inkscape:label="nose-outline"/>
<path d="m 40.34966392324158,72.47314864278943 c 3.6117579680410254,-1.9703167728221747 14.54861800989693,-2.6692950130198816 17.07116531215885,2.575800843472408 0.4033398266401644,0.8386544551710846 -6.115736452136361,7.143990899842878 -10.106864483981715,7.1351354671206515 -3.859048666966588,-0.008692913043586102 -7.870185516921832,-9.2167479835926 -6.964300828177134,-9.710936310593059 z " style="fill:#313131;fill-opacity:1;stroke:none;stroke-width: 0.9999987007874529px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" sodipodi:nodetypes="ssss" inkscape:label="nose" id="nose"/>
</g>
<metadata id="metadata30760">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:rights>
<cc:Agent>
<dc:title>Blobfox team (https://git.shadamethyst.xyz/adri326/blobfox), licensed under the Apache 2.0 License</dc:title>
</cc:Agent>
</dc:rights>
<dc:title>blobfox_oh_my</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Feuerfuchs</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>https://git.shadamethyst.xyz/adri326/blobfox</dc:source>
<dc:contributor>
<cc:Agent>
<dc:title>Shad Amethyst</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
</rdf:RDF>
</metadata>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 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" xml:space="preserve" viewBox="0 0 128 128" inkscape:version="1.1" id="svg5" height="128" sodipodi:docname="blobfox_snuggle_right.svg" width="128">
<title id="title30762">blobfox_snuggle_right</title>
<sodipodi:namedview inkscape:showpageshadow="2" inkscape:window-x="0" inkscape:zoom="3.459222" inkscape:current-layer="svg5" inkscape:deskcolor="#505050" inkscape:window-maximized="1" inkscape:cx="14.598659" inkscape:cy="11.418753" id="namedview7" inkscape:window-width="1920" inkscape:pageshadow="0" inkscape:pagecheckerboard="1" units="px" inkscape:document-units="px" borderopacity="1" bordercolor="#ffffff" inkscape:window-height="1022" pagecolor="#505050" inkscape:window-y="36" inkscape:pageopacity="0" showgrid="false">
<inkscape:grid id="grid10" type="xygrid"/>
</sodipodi:namedview>
<defs id="defs2"/>
<g inkscape:groupmode="layer" style="display:none" id="ref" inkscape:label="ref">
<image inkscape:label="blobfox" xlink:href="../original/blobfox.png" y="0" width="127.99999" height="127.99999" x="0" style="display:none;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality" preserveAspectRatio="none" id="blobfox"/>
<image id="blobfoxsnuggle" height="221.0103" y="-106.29223" xlink:href="../original/blobfoxsnuggle.png" style="display:inline;image-rendering:optimizeSpeed" preserveAspectRatio="none" inkscape:label="blobfoxsnuggle" x="-93.369904" width="221.0103"/>
</g>
<g inkscape:label="Base" id="Base" inkscape:groupmode="layer" style="display:inline">
<path sodipodi:nodetypes="cssscc" style="display:inline;fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" inkscape:label="left-ear" id="left-ear" d="M 12.87231,40.818966 C -2.8719971,22.749014 -4.3550533,3.1367661 -2.9535978,0.24374984 -1.8493312,-2.0357805 -0.73468479,-3.6569086 1.9073133,-2.7558898 5.0260913,-1.6922712 17.794722,2.5508374 34.540893,8.7120265 c 7.146252,2.6292225 3.161601,9.4167855 1.87439,12.1261315 -2.856028,5.37387 -17.877727,10.71439 -23.542973,19.980808 z"/>
<path sodipodi:nodetypes="cccsssccc" id="hair" inkscape:label="hair" style="display:inline;fill:#ff8702;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501" d="m 23.769283,6.3584073 c 2.991294,4.2455057 4.569848,7.4475027 8.895201,10.9888377 -12.070861,-0.541455 -15.260708,1.69375 -19.417541,5.559159 7.973832,0.09289 11.531043,0.522786 15.204226,1.155863 12.215874,2.105419 38.518977,5.035068 47.371493,-2.486915 4.32997,-3.679173 3.410201,-7.265503 -2.316952,-10.378575 C 67.610927,7.9925869 55.645095,4.8584742 51.222049,3.8438904 52.004054,6.0173862 53.35612,8.7380188 54.213344,11.268754 45.9815,7.6883395 37.893549,5.4027147 23.769283,6.3584073 Z"/>
<path inkscape:label="body" d="m 6.0599734,91.649344 c 0,-8.73002 2.525321,-5.814368 2.6883167,-12.346173 C 8.9112858,72.771365 3.4640017,66.503444 3.0623888,53.796109 2.608823,39.444946 14.618107,15.642023 46.64457,15.642023 c 33.541601,0 57.93714,1.121349 70.19416,23.200939 12.45071,22.428499 12.91096,52.067554 6.38429,59.723645 -6.52667,7.656093 -22.73142,15.897513 -56.529275,15.897513 -33.797859,0 -60.6337716,-12.74755 -60.6337716,-22.814776 z" sodipodi:nodetypes="cssssssc" id="body" style="display:inline;fill:#ff8702;fill-opacity:1;stroke:none;stroke-width:2.64567;stroke-linecap:square;stroke-miterlimit:3"/>
<path inkscape:label="right-ear" sodipodi:nodetypes="scscccss" style="display:inline;fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501" id="right-ear" d="m 109.65875,-11.393576 c -9.0534,1.6065407 -29.38453,9.7496393 -44.524796,30.678621 0.210609,4.044387 7.117027,6.692013 15.231023,5.036186 8.412314,-1.716705 21.594053,-22.0009765 26.970613,-27.4823623 1.00114,9.5497778 -12.65173,31.3913833 -4.57278,40.2752173 3.27823,3.604628 6.48404,-4.729898 7.41016,-7.69531 3.7465,-12.049663 6.22482,-21.0511645 6.3764,-27.8592275 0.0598,-2.686778 1.92218,-14.5169695 -6.89062,-12.9531245 z"/>
<path d="M 109.7442,-7.9162135 C 101.79383,-4.5766893 95.432201,2.858004 93.256387,11.957451 92.338149,15.7976 86.384544,21.344383 83.242552,23.116446 c 3.859188,-0.486555 8.080586,-0.662358 9.623136,-0.582576 -0.593528,2.540618 -1.150986,5.084216 -1.270641,7.589149 2.095641,-2.400784 6.129327,-4.663902 8.596323,-5.42458 -0.870477,4.814098 -0.218062,7.843034 1.18668,10.437489 0.3855,-11.747093 7.77479,-14.345491 10.05823,-21.014332 1.71162,-4.9987961 4.75466,-15.8385462 1.25678,-21.4073931 -0.64101,-1.0205338 -2.00455,-1.0270711 -2.94886,-0.6304164 z" inkscape:label="right-ear-fluff" sodipodi:nodetypes="sscccccsss" id="right-ear-fluff" style="display:inline;fill:#ebdccc;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/>
</g>
<path id="heart" d="m 17.72597,-41.253132 c -16.4839759,-13.834047 -35.286949,-20.212453 -35.048215,-38.509879 0.240607,-18.441014 20.4879641,-26.754159 33.988875,-11.615136 14.815902,-15.682973 35.699176,-6.749076 35.870572,10.725178 0.176725,18.017637 -17.997183,25.160186 -34.811232,39.399837 z" style="display:inline;fill:#d7598b;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" sodipodi:nodetypes="cscsc" inkscape:label="heart"/>
<g id="Features" inkscape:label="Features" inkscape:groupmode="layer" style="display:inline" transform="rotate(-10 45 75)">
<path inkscape:label="nose-outline" id="nose-outline" d="m 33.65228,80.15316 c -1.84571,-3.806604 -1.872556,-7.54518 0.527665,-10.056125 2.400221,-2.510944 6.697437,-10.228997 6.681819,-14.101173" style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:4.40315;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" sodipodi:nodetypes="csc"/>
<path sodipodi:nodetypes="ssss" style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 40.349664,72.473149 c 3.611758,-1.970317 14.548618,-2.669295 17.071165,2.5758 0.40334,0.838655 -6.115736,7.143991 -10.106864,7.135136 -3.859049,-0.0087 -7.870186,-9.216748 -6.964301,-9.710936 z" id="nose" inkscape:label="nose"/>
<path style="fill:none;stroke:#313131;stroke-width:4.40315;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" inkscape:label="mouth" id="mouth" d="m 30.329986,85.466434 c 2.073506,6.374978 4.020579,10.401679 5.959243,12.940501 3.750744,-3.131043 8.538975,-7.475595 10.436736,-9.373813 2.962201,4.818455 7.017346,10.375135 8.671615,12.645698 4.859078,-3.873207 9.518861,-7.995561 11.43575,-10.162866" sodipodi:nodetypes="ccccc"/>
<path sodipodi:nodetypes="ssssss" id="left-eye" d="m 24.641601,45.918665 c -4.075919,0.730189 -6.501377,3.925039 -6.273966,5.603347 0.227411,1.678308 1.347515,2.224702 3.8872,1.666965 2.397981,-0.52641 9.098771,-2.404689 17.303469,3.65651 2.148157,1.586937 4.650972,-0.810343 2.741314,-2.795355 -7.65445,-7.956509 -12.747952,-9.01107 -17.658017,-8.131467 z" inkscape:label="left-eye" style="display:inline;fill:#313131;fill-opacity:1;stroke-width:4.45223;stroke-linecap:round"/>
<path style="display:inline;fill:#313131;fill-opacity:1;stroke-width:4.41528;stroke-linecap:round" d="m 83.448042,49.242516 c 3.928913,1.194349 5.945041,4.623512 5.525393,6.249833 -0.419635,1.626313 -1.586453,2.033818 -4.022559,1.188423 -2.300205,-0.798011 -8.680288,-3.429088 -17.467185,1.58346 -2.300578,1.312383 -4.485891,-1.340335 -2.373777,-3.072561 8.46599,-6.943249 13.605145,-7.38791 18.338128,-5.949155 z" id="right-eye" inkscape:label="right-eye" sodipodi:nodetypes="ssssss"/>
</g>
<metadata id="metadata30760">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:rights>
<cc:Agent>
<dc:title>Blobfox team (https://git.shadamethyst.xyz/adri326/blobfox), licensed under the Apache 2.0 License</dc:title>
</cc:Agent>
</dc:rights>
<dc:title>blobfox_snuggle_right</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Feuerfuchs</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>https://git.shadamethyst.xyz/adri326/blobfox</dc:source>
<dc:contributor>
<cc:Agent>
<dc:title>Shad Amethyst</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
</rdf:RDF>
</metadata>
</svg>

After

Width:  |  Height:  |  Size: 8.7 KiB

@ -6,6 +6,7 @@ body_color = "#ff8702"
ear_color = "#313131"
ear_fluff_color = "#ebdccc"
hand_color = "#ff8702"
hand_stroke_color = "#313131"
tail_color = "#ff8702"
[variants]
@ -13,6 +14,7 @@ base = ["body-basic", "eyes-basic", "mouth-w"]
happy = ["body-basic", "eyes-happy", "mouth-w"]
evil = ["body-basic", "eyes-evil", "mouth-w"]
owo = ["body-basic", "ear-owo", "eyes-owo", "mouth-w"]
aww = ["body-basic", "eyes-aww", "mouth-w"]
"3c" = ["body-basic", "eyes-basic", "mouth-w", "hand-3c", "left-hand"]
"3c_evil" = ["body-basic", "eyes-evil", "mouth-w", "hand-3c", "left-hand"]
@ -39,9 +41,15 @@ comfy_aww = ["body-comfy", "eyes-aww", "mouth-w"]
comfy_boop = ["body-comfy", "boop", "eyes-basic", "mouth-w"]
stabby = ["body-basic", "holding", "eyes-evil", "mouth-w", "hand-3c", "left-hand"]
gordon = ["body-basic", "holding", "eyes-basic", "mouth-w", "hand-3c", "left-hand"]
coffee = ["body-basic", "holding", "eyes-basic", "mouth-w", "hand-cup", "right-hand"]
coffee_happy = ["body-basic", "holding", "eyes-happy", "mouth-w", "hand-cup", "right-hand"]
blush = ["body-basic", "ear-blush", "eyes-closed", "blush", "mouth-hmpf"]
oh_my = ["body-basic", "eyes-basic", "left-hand", "right-hand", "oh-my"]
heart = ["body-basic", "eyes-basic", "left-hand", "right-hand", "holding", "big-object"]
egg = ["body-basic", "eyes-basic", "left-hand", "right-hand", "holding"]
@ -51,3 +59,10 @@ heart_enby = ["body-basic", "eyes-basic", "left-hand", "right-hand", "holding",
heart_ace = ["body-basic", "eyes-basic", "left-hand", "right-hand", "holding", "big-object"]
heart_demisexual = ["body-basic", "eyes-basic", "left-hand", "right-hand", "holding", "big-object"]
heart_pan = ["body-basic", "eyes-basic", "left-hand", "right-hand", "holding", "big-object"]
heart_trans = ["body-basic", "eyes-basic", "left-hand", "right-hand", "holding", "big-object"]
heart_agender = ["body-basic", "eyes-basic", "left-hand", "right-hand", "holding", "big-object"]
# Snuggle
snuggle_left = ["body-basic", "eyes-closed", "mouth-w"]
snuggle_right = ["body-snuggle", "eyes-snuggle", "mouth-w"]
snuggle_right_blush = ["body-snuggle", "eyes-snuggle", "mouth-w", "blush"]

@ -15,9 +15,7 @@
{{#set-fill}} {{vars.ear_fluff_color}} | {{#snug}}#right-ear-fluff{{/snug}} {{/set-fill}}
{{#tags.tail}}
<g id="tail">
{{#set-fill}} {{vars.body_color}} | {{#snug}}#tail{{/snug}} {{/set-fill}}
</g>
{{>tail}}
{{/tags.tail}}
</g>

@ -0,0 +1,15 @@
{{! Left ear }}
{{#set-fill}} {{vars.ear_color}} | {{#snuggle_right}}#left-ear{{/snuggle_right}} {{/set-fill}}
{{! Body }}
<defs>
<clipPath id="body-snuggle-clip">
{{#snuggle_right}}#body{{/snuggle_right}}
</clipPath>
</defs>
{{#set-fill}} {{vars.body_color}} | {{#snuggle_right}}#body{{/snuggle_right}} {{/set-fill}}
{{#set-fill}} {{vars.body_color}} | {{#snuggle_right}}#hair{{/snuggle_right}} {{/set-fill}}
{{! Right ear }}
{{#set-fill}} {{vars.ear_color}} | {{#snuggle_right}}#right-ear{{/snuggle_right}} {{/set-fill}}
{{#set-fill}} {{vars.ear_fluff_color}} | {{#snuggle_right}}#right-ear-fluff{{/snuggle_right}} {{/set-fill}}

@ -8,4 +8,7 @@
{{#tags.body-comfy}}
{{>body-comfy}}
{{/tags.body-comfy}}
{{#tags.body-snuggle}}
{{>body-snuggle}}
{{/tags.body-snuggle}}
</g>

@ -0,0 +1,6 @@
<g id="coffee">
{{#coffee}}#smoke{{/coffee}}
{{#coffee}}#cup{{/coffee}}
{{#coffee}}#cup-handle{{/coffee}}
{{#coffee}}#liquid{{/coffee}}
</g>

@ -0,0 +1,6 @@
<g id="crowbar">
{{#crowbar}}#crowbar-base{{/crowbar}}
{{#crowbar}}#crowbar-reflection{{/crowbar}}
{{#crowbar}}#crowbar-shadow{{/crowbar}}
{{#crowbar}}#crowbar-shadow-2{{/crowbar}}
</g>

@ -23,4 +23,8 @@
{{#blush}}#left-eye{{/blush}}
{{#blush}}#right-eye{{/blush}}
{{/tags.eyes-closed}}
{{#tags.eyes-snuggle}}
{{#snuggle_right}}#left-eye{{/snuggle_right}}
{{#snuggle_right}}#right-eye{{/snuggle_right}}
{{/tags.eyes-snuggle}}
</g>

@ -1,26 +1,77 @@
<g id="hands">
{{#tags.hands-reach}}
{{#set-fill}} {{vars.hand_color}} | {{#reach_aww}}#left-hand{{/reach_aww}} {{/set-fill}}
{{#set-fill}} {{vars.hand_color}} | {{#reach_aww}}#right-hand{{/reach_aww}} {{/set-fill}}
{{#set-stroke}}
{{vars.hand_stroke_color}} |
{{#set-fill}}
{{vars.hand_color}}
| {{#reach_aww}}#left-hand{{/reach_aww}}
{{/set-fill}}
{{/set-stroke}}
{{#set-stroke}}
{{vars.hand_stroke_color}} |
{{#set-fill}}
{{vars.hand_color}}
| {{#reach_aww}}#right-hand{{/reach_aww}}
{{/set-fill}}
{{/set-stroke}}
{{/tags.hands-reach}}
{{#tags.hand-3c}}
{{#tags.holding}}
{{#set-fill}} {{vars.hand_color}} | {{#knife}}#left-hand{{/knife}} {{/set-fill}}
{{#set-stroke}}
{{vars.hand_stroke_color}} |
{{#set-fill}} {{vars.hand_color}} | {{#knife}}#left-hand{{/knife}} {{/set-fill}}
{{/set-stroke}}
{{/tags.holding}}
{{^tags.holding}}
{{! :3c hand }}
{{#set-fill}} {{vars.hand_color}} | {{#3c_evil}}#left-hand{{/3c_evil}} {{/set-fill}}
{{#set-stroke}}
{{vars.hand_stroke_color}} |
{{#set-fill}} {{vars.hand_color}} | {{#3c_evil}}#left-hand{{/3c_evil}} {{/set-fill}}
{{/set-stroke}}
{{/tags.holding}}
{{/tags.hand-3c}}
{{^tags.hand-3c}}
{{#tags.holding}}
{{#tags.left-hand}}
{{#set-fill}} {{vars.hand_color}} | {{#heart}}#left-hand{{/heart}} {{/set-fill}}
{{#set-stroke}}
{{vars.hand_stroke_color}} |
{{#set-fill}} {{vars.hand_color}} | {{#heart}}#left-hand{{/heart}} {{/set-fill}}
{{/set-stroke}}
{{/tags.left-hand}}
{{#tags.right-hand}}
{{#set-fill}} {{vars.hand_color}} | {{#heart}}#right-hand{{/heart}} {{/set-fill}}
{{#tags.hand-cup}}
{{#set-stroke}}
{{vars.hand_stroke_color}} |
{{#set-fill}} {{vars.hand_color}} | {{#coffee}}#right-hand{{/coffee}} {{/set-fill}}
{{/set-stroke}}
{{/tags.hand-cup}}
{{^tags.hand-cup}}
{{#set-stroke}}
{{vars.hand_stroke_color}} |
{{#set-fill}} {{vars.hand_color}} | {{#heart}}#right-hand{{/heart}} {{/set-fill}}
{{/set-stroke}}
{{/tags.hand-cup}}
{{/tags.right-hand}}
{{/tags.holding}}
{{/tags.hand-3c}}
{{#tags.oh-my}}
{{#tags.left-hand}}
{{#set-stroke}}
{{vars.hand_stroke_color}} |
{{#set-fill}} {{vars.hand_color}} | {{#oh_my}}#left-hand{{/oh_my}} {{/set-fill}}
{{/set-stroke}}
{{/tags.left-hand}}
{{#tags.right-hand}}
{{#set-stroke}}
{{vars.hand_stroke_color}} |
{{#set-fill}} {{vars.hand_color}} | {{#oh_my}}#right-hand{{/oh_my}} {{/set-fill}}
{{/set-stroke}}
{{/tags.right-hand}}
{{/tags.oh-my}}
</g>

@ -1,5 +1,5 @@
<svg
width="128" height="128" viewBox="0 0 33.866668 33.866668"
width="128" height="128" viewBox="0 0 128 128"
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"

Before

Width:  |  Height:  |  Size: 389 B

After

Width:  |  Height:  |  Size: 377 B

@ -8,12 +8,18 @@
{{#tags.eyes-aww}}
{{#reach_aww}}#nose-outline{{/reach_aww}}
{{/tags.eyes-aww}}
{{#tags.eyes-happy}}
{{#snug}}#nose-outline{{/snug}}
{{/tags.eyes-happy}}
{{#tags.eyes-evil}}
{{#3c_evil}}#nose-outline{{/3c_evil}}
{{/tags.eyes-evil}}
{{#tags.eyes-closed}}
{{#blush}}#nose-outline{{/blush}}
{{/tags.eyes-closed}}
{{#tags.eyes-snuggle}}
{{#snuggle_right}}#nose-outline{{/snuggle_right}}
{{/tags.eyes-snuggle}}
{{#base}}#nose{{/base}}
</g>

@ -1 +1,3 @@
{{#snug}}#tail{{/snug}}
<g id="tail">
{{#set-fill}} {{vars.tail_color}} | {{#snug}}#tail{{/snug}} {{/set-fill}}
</g>

@ -0,0 +1,7 @@
{{>header}}
{{>body}}
{{>eyes}}
{{>nose}}
{{>mouth}}
{{>footer}}

@ -0,0 +1,10 @@
{{>header}}
{{>body}}
{{>eyes}}
{{>nose}}
{{>mouth}}
{{>coffee}}
{{>hands}}
{{>footer}}

@ -0,0 +1,10 @@
{{>header}}
{{>body}}
{{>eyes}}
{{>nose}}
{{>mouth}}
{{>coffee}}
{{>hands}}
{{>footer}}

@ -0,0 +1,10 @@
{{>header}}
{{>body}}
{{>eyes}}
{{>nose}}
{{>mouth}}
{{>crowbar}}
{{>hands}}
{{>footer}}

@ -9,7 +9,11 @@
</clipPath>
</defs>
<g clip-path="url(#clip-heart)">
<g blobfox-only-size="true">
{{#heart}}#heart{{/heart}}
</g>
<g clip-path="url(#clip-heart)" blobfox-ignore-size="true">
<g transform="rotate(9) scale(1.05 1.05) translate(10 45)">
{{#flag_ace}}{{/flag_ace}}
</g>

@ -0,0 +1,25 @@
{{>header}}
{{>body}}
{{>eyes}}
<defs>
<clipPath id="clip-heart">
{{#heart}}#heart{{/heart}}
</clipPath>
</defs>
<g blobfox-only-size="true">
{{#heart}}#heart{{/heart}}
</g>
<g clip-path="url(#clip-heart)" blobfox-ignore-size="true">
<g transform="rotate(9) scale(1.05 1.05) translate(10 45)">
{{#flag_agender}}{{/flag_agender}}
</g>
</g>
{{#set-fill}} rgba(255,255,255,0.5) | {{#heart}}#heart-reflection{{/heart}} {{/set-fill}}
{{>hands}}
{{>footer}}

@ -9,7 +9,11 @@
</clipPath>
</defs>
<g clip-path="url(#clip-heart)">
<g blobfox-only-size="true">
{{#heart}}#heart{{/heart}}
</g>
<g clip-path="url(#clip-heart)" blobfox-ignore-size="true">
<g transform="rotate(9) scale(1.05 1.05) translate(10 45)">
{{#flag_demisexual}}{{/flag_demisexual}}
</g>

@ -9,7 +9,11 @@
</clipPath>
</defs>
<g clip-path="url(#clip-heart)">
<g blobfox-only-size="true">
{{#heart}}#heart{{/heart}}
</g>
<g clip-path="url(#clip-heart)" blobfox-ignore-size="true">
<g transform="rotate(9) scale(1.05 1.05) translate(10 45)">
{{#flag_enby}}{{/flag_enby}}
</g>

@ -9,7 +9,11 @@
</clipPath>
</defs>
<g clip-path="url(#clip-heart)">
<g blobfox-only-size="true">
{{#heart}}#heart{{/heart}}
</g>
<g clip-path="url(#clip-heart)" blobfox-ignore-size="true">
<g transform="rotate(9) scale(1.05 1.05) translate(10 45)">
{{#flag_pan}}{{/flag_pan}}
</g>

@ -9,7 +9,12 @@
</clipPath>
</defs>
<g clip-path="url(#clip-heart)">
<g blobfox-only-size="true">
{{#heart}}#heart{{/heart}}
</g>
{{! NOTE: The progress flag has a different aspect ratio compared to the other flags }}
<g clip-path="url(#clip-heart)" blobfox-ignore-size="true">
<g transform="rotate(9) scale(0.95 0.95) translate(20 50)">
{{#flag_progress}}{{/flag_progress}}
</g>

@ -0,0 +1,25 @@
{{>header}}
{{>body}}
{{>eyes}}
<defs>
<clipPath id="clip-heart">
{{#heart}}#heart{{/heart}}
</clipPath>
</defs>
<g blobfox-only-size="true">
{{#heart}}#heart{{/heart}}
</g>
<g clip-path="url(#clip-heart)" blobfox-ignore-size="true">
<g transform="rotate(9) scale(1.05 1.05) translate(10 45)">
{{#flag_trans}}{{/flag_trans}}
</g>
</g>
{{#set-fill}} rgba(255,255,255,0.5) | {{#heart}}#heart-reflection{{/heart}} {{/set-fill}}
{{>hands}}
{{>footer}}

@ -0,0 +1,8 @@
{{>header}}
{{>body}}
{{>eyes}}
{{>nose}}
{{>hands}}
{{>footer}}

@ -0,0 +1,7 @@
{{>header}}
{{>body}}
{{>eyes}}
{{>nose}}
{{>mouth}}
{{>footer}}

@ -0,0 +1,11 @@
{{>header}}
{{>body}}
<g transform="rotate(-10 45 75)">
{{>eyes}}
{{>nose}}
{{>mouth}}
</g>
{{#snuggle_right}}#heart{{/snuggle_right}}
{{>footer}}

@ -0,0 +1,12 @@
{{>header}}
{{>body}}
<g transform="rotate(-10 45 75)">
{{>eyes}}
{{>nose}}
{{>mouth}}
{{>blush}}
</g>
{{#snuggle_right}}#heart{{/snuggle_right}}
{{>footer}}

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 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" height="128" inkscape:version="1.1" width="128" sodipodi:docname="blobhusky.svg" id="svg5" viewBox="0 0 128 128">
<title id="title30762">blobhusky</title>
<sodipodi:namedview inkscape:window-y="0" inkscape:deskcolor="#505050" inkscape:cy="94.410982" inkscape:cx="54.869015" showgrid="false" inkscape:window-height="1058" inkscape:window-width="1920" inkscape:document-units="px" id="namedview7" bordercolor="#ffffff" inkscape:pageshadow="0" inkscape:current-layer="layer1" inkscape:showpageshadow="2" inkscape:pageopacity="0" inkscape:zoom="5.5131298" units="px" inkscape:pagecheckerboard="1" inkscape:window-maximized="1" inkscape:window-x="0" borderopacity="1" pagecolor="#505050">
<inkscape:grid id="grid10" type="xygrid"/>
</sodipodi:namedview>
<defs id="defs2"/>
<g inkscape:groupmode="layer" id="ref" style="display:none" inkscape:label="ref">
<image id="blobfox" x="0" preserveAspectRatio="none" style="display:inline;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality" xlink:href="../original/blobfox.png" inkscape:label="blobfox" y="0" width="127.99999" height="127.99999"/>
</g>
<g id="Base" inkscape:label="Base" inkscape:groupmode="layer" style="display:inline;">
<path d="M 16.30383280693572,44.518346593765884 C 7.49794250795502,24.14954210434874 8.108201255582628,4.557852670950683 9.997633118203423,1.957147500899705 11.486396902110359,-0.09205855385596245 12.48811604377496,-0.594763176584127 14.929939065750432,0.7578227985109136 17.812417944392998,2.3544991576968837 29.030852778312887,13.344593238401844 43.69938725592964,23.088191846921582 50.0421561400726,27.30138601175646 35.00931301538138,26.045871226540505 42.99999704724422,28.999998606299272 29.02817006975709,29.950787860205207 23.513666475839905,36.39554955923033 16.30383280693572,44.518346593765884 Z " id="left-ear" sodipodi:nodetypes="cssscc" style="fill:#313131;fill-opacity:1;stroke:none;stroke-width: 0.9999987007874529px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" inkscape:label="left-ear"/>
<path inkscape:label="body" style="display:inline;fill:#6b6b6f;fill-opacity:1;stroke:none;stroke-width:0.999998700787453px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501" id="body" sodipodi:nodetypes="sccssssscs" d="M 31.020137109443425,31.795851094651535 C 19.243009132164996,36.4709896822445 1.5274857981304806,58.454409037228 0,94.99841767722766 c 0,0 0.1455496005689134,8.031170707434224 2.203124700664382,14.332028412124867 5.666673414697898,6.493912185279049 20.789397102779642,15.325601916314886 40.376951733190886,17.794922134058186 18.881264138532913,2.3802783314851053 43.113329956168116,-0.4459124233892747 58.31444935769885,-3.8632817376660737 15.201126960585555,-3.417369314276799 22.82638776274064,-13.27958876852013 23.816408511165022,-15.80663748792766 0.9899980712599185,-2.527052498934941 0.10794330283687785,-7.720168514953997 -0.5586028126534327,-9.939454096871888 -0.8118500467775573,-2.7030802085401495 -2.058598974070907,-6.277704319775421 -0.3984302205342433,-11.14843420675456 C 125.4140624640133,81.4968308072114 128.941291301524,61.74966560040687 121.43968151812278,47.67004536732106 106.80734697608871,18.185110339168887 61.32889081382321,19.764256985659177 31.020137109443425,31.795851094651535 Z "/>
<path inkscape:label="marks" style="fill:#e1e1e3;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 10.451417,79.58984 C 9.2678929,78.549183 9.3092299,72.967375 10.059996,66.535398 11.368553,55.324706 21.816817,38.790821 37.658667,38.687954 51.357923,38.599 55.7078,49.541448 53.172834,59.027414 c 1.379774,-0.548553 2.404999,-1.315625 3.251991,-2.611166 0.964481,2.157831 3.006616,4.936456 4.49125,6.574218 1.501941,-15.15693 13.231361,-19.811605 23.868312,-18.568532 15.402973,1.800048 24.002453,19.893144 16.262413,36.971392 3.34386,0.660314 9.11017,0.507557 11.54359,-0.340468 -0.13142,3.105901 -1.60324,7.358563 -2.99567,8.666558 1.51042,1.498997 9.84066,4.422945 22.48238,2.811367 3.06325,11.883477 7.36675,40.201097 -55.919648,41.542497 C 11.450383,135.44479 -10.839333,116.96152 -0.87171817,78.325955 2.947381,79.585866 9.1196192,80.588794 10.451417,79.58984 Z" id="marks" sodipodi:nodetypes="csscccsccccscc"/>
<path d="M 42.99999704724422,10.998424763841546 C 46.45958746222097,18.0251524242066 47.49165167355703,19.122313325893177 52.99999539370098,25.998424173290392 43.999999527559076,20.998424244156528 34.53124777436033,23.578502378799122 30.53124919168311,25.578502048090474 38.36616415881244,27.06333512349075 39.493956240395434,27.733221963258984 42.99999704724422,28.99842405518016 54.66000918661382,33.20609481865769 65.22610136905114,37.91102968854214 75.25683105288068,32.05170242316133 80.16309227704362,29.18577182733182 89.54933694687652,23.197992787480604 85.00390342504319,20.869518548444155 79.03246932943036,17.81055085785233 74.97847641817023,15.244907494294981 70.80077579524506,13.473033674290015 71.1837968825277,16.17076774130836 71.96815464692307,18.23181962866852 72.88280783925954,21.410533330293966 65.40327427546165,16.44674354146679 57.07394798921465,12.525562845450283 42.99999704724422,10.998424763841546 Z " id="hair" sodipodi:nodetypes="cccsssccc" style="display:inline;fill:#6b6b6f;fill-opacity:1;stroke:none;stroke-width:0.999998700787453px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501" inkscape:label="hair"/>
<path style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501" inkscape:label="right-ear" sodipodi:nodetypes="scsscccss" id="right-ear" d="M 120.55273,0.60156244 C 111.49933,2.2081032 92.638311,9.0768756 77.498045,30.005858 c 3.348858,1.754226 6.434093,2.629871 10.033202,2.236328 1.233956,-0.134926 2.627013,-0.260996 4.062501,-0.552734 8.413692,-1.709935 21.259262,-17.374059 26.635822,-22.8554448 1.00114,9.5497778 -12.27923,37.6493438 -4.20028,46.5331778 3.27823,3.604628 6.48404,-4.729898 7.41016,-7.69531 3.7465,-12.049663 5.85232,-27.309125 6.0039,-34.117188 0.0598,-2.686778 1.92218,-14.51696903 -6.89062,-12.95312456 z"/>
<path id="right-ear-fluff" inkscape:label="right-ear-fluff" d="M 120.93945 3.7070312 C 117.93617 3.7676633 113.05282 5.950531 110.11328 8.2929688 C 109.95628 8.4209961 109.79975 8.5519087 109.64258 8.6835938 C 109.45202 8.8490842 109.26155 9.0143659 109.09375 9.1796875 C 107.99053 10.266605 106.78488 11.306996 105.58594 12.453125 C 104.81311 13.234497 104.05093 14.040022 103.29883 14.867188 C 101.46858 17.074524 99.838862 19.890307 98.865234 24.070312 C 97.969532 27.91578 95.160847 30.471683 91.607422 31.683594 C 96.293888 31.075867 100.20424 30.15138 101.96875 29.464844 C 100.85128 33.038993 99.469773 37.487939 98.382812 40.458984 C 102.79776 41.716394 107.82276 40.204551 110.69531 38.912109 C 110.73208 44.764886 110.73567 51.425833 113.38086 54.560547 C 113.24554 53.878185 113.22172 53.078336 113.19141 52.222656 C 112.8322 42.082217 118.76169 36.325196 122.1582 26.888672 C 123.54353 21.789805 124.79684 8.2939351 123.46484 4.9492188 C 123.13279 4.5031417 122.74519 4.1428245 122.29883 3.8789062 C 121.91339 3.7535033 121.45668 3.6965892 120.93945 3.7070312 z " style="display:inline;fill:#e1e1e3;fill-opacity:1;stroke:none;stroke-width:0.999998700787453px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/>
</g>
<g inkscape:label="Features" inkscape:groupmode="layer" id="Features">
<path sodipodi:nodetypes="sssss" id="left-eye" style="fill:#313131;fill-opacity:1;stroke:none;stroke-width: 1.0015747637175292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.46432;" inkscape:label="left-eye" d="m 27.790028638187852,54.518416751243436 c 0.6795257685226077,-5.915081341925932 5.559595245685228,-10.090060705115722 9.367468733564223,-9.96827299337508 3.961508253483928,0.1266897587917418 6.467463430414826,4.183022197518811 6.25869367485458,7.163353418765615 -0.413242188455032,5.899286696878478 -3.706945365868293,11.13713719932531 -9.389191945307406,11.095554838757685 -3.447460777659025,-0.02532283364870734 -6.743369687268911,-3.882576225095425 -6.236970463111399,-8.290635264148218 z "/>
<path style="fill:#313131;fill-opacity:1;stroke:none;stroke-width: 0.9999987007874529px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46432;" id="right-eye" inkscape:label="right-eye" sodipodi:nodetypes="sssss" d="m 73.66655332021445,60.86205114716335 c 0.6795250126171256,-6.822349337702783 5.574969229331921,-10.542443679431353 9.382843095163658,-10.420655967690712 3.9615116550585965,0.1266897587917418 7.263779241583495,4.59354690576587 7.000225236211606,8.612605645173007 -0.42921069176335863,6.54523816751031 -4.10038283069359,10.875412485219982 -9.782630166038183,10.833830124652359 -3.447461911517248,-0.02532283364870734 -7.040205077157282,-4.610577456276478 -6.600438165337081,-9.025779802134656 z "/>
<path sodipodi:nodetypes="csc" id="nose-outline" inkscape:label="nose-outline" d="M 33.65228012392598,80.15315967900948 C 31.806569834387016,76.34655573438758 31.77972422914472,72.60797950362286 34.17994523701003,70.09703535051042 36.58016624487534,67.58609119739799 41.88212622511315,64.24552565962499 41.54241852195203,52.43065494367501 " style="fill:none;fill-opacity:1;stroke:#313131;stroke-width: 4.403149432946873;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;"/>
<path style="fill:#313131;fill-opacity:1;stroke:none;stroke-width: 0.9999987007874529px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" sodipodi:nodetypes="ssss" id="nose" d="m 40.34966392324158,72.47314864278943 c 3.6117579680410254,-1.9703167728221747 14.54861800989693,-2.6692950130198816 17.07116531215885,2.575800843472408 0.4033398266401644,0.8386544551710846 -6.115736452136361,7.143990899842878 -10.106864483981715,7.1351354671206515 -3.859048666966588,-0.008692913043586102 -7.870185516921832,-9.2167479835926 -6.964300828177134,-9.710936310593059 z " inkscape:label="nose"/>
<path style="fill:none;stroke:#313131;stroke-width: 4.403149432946873;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;" d="m 30.329986333465108,85.46643443045535 c 2.0735054301769518,6.37497801673315 4.0205784873788,10.401678960563823 5.959242851998313,12.940500907854297 3.7507440413092903,-3.1310436562581243 8.538974403977388,-7.475595296236407 10.4367355891049,-9.37381380418056 2.9622008282598102,4.818455243367905 7.01734649538006,10.375135339561602 8.671615406629316,12.64569776985442 4.859077603973323,-3.873206776645403 9.51886072760391,-7.995560000174804 11.435750100954722,-10.16286574161946 " id="mouth" inkscape:label="mouth" sodipodi:nodetypes="ccccc"/>
</g>
<metadata id="metadata30760">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:rights>
<cc:Agent>
<dc:title>Blobfox team (https://git.shadamethyst.xyz/adri326/blobfox), licensed under the Apache 2.0 License</dc:title>
</cc:Agent>
</dc:rights>
<dc:title>blobhusky</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Feuerfuchs</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>https://git.shadamethyst.xyz/adri326/blobfox</dc:source>
<dc:contributor>
<cc:Agent>
<dc:title>Shad Amethyst</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
</rdf:RDF>
</metadata>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 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" viewBox="0 0 128 128" xml:space="preserve" inkscape:version="1.1" width="128" sodipodi:docname="blobhusky_snuggle_right.svg" height="128" id="svg5">
<title id="title30762">blobhusky_snuggle_right</title>
<sodipodi:namedview bordercolor="#ffffff" inkscape:cy="72.77648" inkscape:showpageshadow="2" pagecolor="#505050" inkscape:current-layer="layer1" units="px" inkscape:pageopacity="0" inkscape:pageshadow="0" inkscape:zoom="6.918444" inkscape:window-maximized="1" showgrid="false" inkscape:deskcolor="#505050" inkscape:window-width="1920" inkscape:cx="67.572998" inkscape:window-x="0" borderopacity="1" id="namedview7" inkscape:window-y="36" inkscape:document-units="px" inkscape:window-height="1022" inkscape:pagecheckerboard="1">
<inkscape:grid type="xygrid" id="grid10"/>
</sodipodi:namedview>
<defs id="defs2"/>
<g inkscape:groupmode="layer" id="ref" inkscape:label="ref" style="display:none">
<image x="0" inkscape:label="blobfox" id="blobfox" style="display:none;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality" width="127.99999" y="0" height="127.99999" xlink:href="../original/blobfox.png" preserveAspectRatio="none"/>
<image xlink:href="../original/blobfoxsnuggle.png" x="-93.369904" y="-106.29223" preserveAspectRatio="none" inkscape:label="blobfoxsnuggle" width="221.0103" height="221.0103" style="display:inline;image-rendering:optimizeSpeed" id="blobfoxsnuggle"/>
</g>
<g style="display:inline" inkscape:label="Base" id="Base" inkscape:groupmode="layer">
<path d="M 12.87231,40.818966 C -2.8719971,22.749014 -4.3550533,3.1367661 -2.9535978,0.24374984 -1.8493312,-2.0357805 -0.73468479,-3.6569086 1.9073133,-2.7558898 5.0260913,-1.6922712 17.794722,2.5508374 34.540893,8.7120265 c 7.146252,2.6292225 3.161601,9.4167855 1.87439,12.1261315 -2.856028,5.37387 -17.877727,10.71439 -23.542973,19.980808 z" id="left-ear" inkscape:label="left-ear" style="display:inline;fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" sodipodi:nodetypes="cssscc"/>
<path inkscape:label="hair" style="display:inline;fill:#6b6b6f;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501" sodipodi:nodetypes="cccsssccc" d="m 23.769283,6.3584073 c 2.991294,4.2455057 4.569848,7.4475027 8.895201,10.9888377 -12.070861,-0.541455 -15.260708,1.69375 -19.417541,5.559159 7.973832,0.09289 11.531043,0.522786 15.204226,1.155863 12.215874,2.105419 38.518977,5.035068 47.371493,-2.486915 4.32997,-3.679173 3.410201,-7.265503 -2.316952,-10.378575 C 67.610927,7.9925869 55.645095,4.8584742 51.222049,3.8438904 52.004054,6.0173862 53.35612,8.7380188 54.213344,11.268754 45.9815,7.6883395 37.893549,5.4027147 23.769283,6.3584073 Z" id="hair"/>
<path sodipodi:nodetypes="cssssssc" inkscape:label="body" id="body" style="display:inline;fill:#6b6b6f;fill-opacity:1;stroke:none;stroke-width:2.64567;stroke-linecap:square;stroke-miterlimit:3" d="m 6.0599734,91.649344 c 0,-8.73002 2.525321,-5.814368 2.6883167,-12.346173 C 8.9112858,72.771365 3.4640017,66.503444 3.0623888,53.796109 2.608823,39.444946 14.618107,15.642023 46.64457,15.642023 c 33.541601,0 57.93714,1.121349 70.19416,23.200939 12.45071,22.428499 12.91096,52.067554 6.38429,59.723645 -6.52667,7.656093 -22.73142,15.897513 -56.529275,15.897513 -33.797859,0 -60.6337716,-12.74755 -60.6337716,-22.814776 z"/>
<path style="display:inline;fill:#e1e1e3;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 16.629241,80.571346 C 15.231155,79.843987 10.955171,72.535262 9.2860715,66.278419 5.8566492,53.422768 10.17537,42.947179 23.223127,40.479322 c 13.460885,-2.545997 22.109162,5.358734 21.916752,15.175688 1.208512,-0.862661 2.020499,-1.852693 2.533021,-3.313221 1.452621,1.864497 4.100103,4.074001 5.933382,5.30911 -2.16708,-15.076211 8.108496,-22.401359 18.734012,-23.738647 15.386423,-1.93648 27.948726,13.164157 24.978685,31.669218 3.402391,0.202712 9.095261,-0.727329 11.391871,-1.896196 0.28921,3.095199 -0.59486,7.507662 -1.7979,8.991709 1.69901,1.2813 9.14755,2.522767 20.92386,-2.127603 4.63993,11.360965 6.30005,47.20037 -51.475282,47.45787 C 18.344531,118.26583 0.64246063,100.71171 7.3851971,82.099313 11.394797,82.409152 15.575044,81.859859 16.629241,80.571346 Z" id="marks" inkscape:label="marks" sodipodi:nodetypes="csscccsccccscc"/>
<path sodipodi:nodetypes="scscccss" inkscape:label="right-ear" id="right-ear" d="m 109.65875,-11.393576 c -9.0534,1.6065407 -29.38453,9.7496393 -44.524796,30.678621 0.210609,4.044387 7.117027,6.692013 15.231023,5.036186 8.412314,-1.716705 21.594053,-22.0009765 26.970613,-27.4823623 1.00114,9.5497778 -12.65173,31.3913833 -4.57278,40.2752173 3.27823,3.604628 6.48404,-4.729898 7.41016,-7.69531 3.7465,-12.049663 6.22482,-21.0511645 6.3764,-27.8592275 0.0598,-2.686778 1.92218,-14.5169695 -6.89062,-12.9531245 z" style="display:inline;fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"/>
<path style="display:inline;fill:#e1e1e3;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 109.7442,-7.9162135 C 101.79383,-4.5766893 95.432201,2.858004 93.256387,11.957451 92.338149,15.7976 86.384544,21.344383 83.242552,23.116446 c 3.859188,-0.486555 8.080586,-0.662358 9.623136,-0.582576 -0.593528,2.540618 -1.150986,5.084216 -1.270641,7.589149 2.095641,-2.400784 6.129327,-4.663902 8.596323,-5.42458 -0.870477,4.814098 -0.218062,7.843034 1.18668,10.437489 0.3855,-11.747093 7.77479,-14.345491 10.05823,-21.014332 1.71162,-4.9987961 4.75466,-15.8385462 1.25678,-21.4073931 -0.64101,-1.0205338 -2.00455,-1.0270711 -2.94886,-0.6304164 z" id="right-ear-fluff" sodipodi:nodetypes="sscccccsss" inkscape:label="right-ear-fluff"/>
</g>
<path id="heart" sodipodi:nodetypes="cscsc" inkscape:label="heart" style="display:inline;fill:#d7598b;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 17.72597,-41.253132 c -16.4839759,-13.834047 -35.286949,-20.212453 -35.048215,-38.509879 0.240607,-18.441014 20.4879641,-26.754159 33.988875,-11.615136 14.815902,-15.682973 35.699176,-6.749076 35.870572,10.725178 0.176725,18.017637 -17.997183,25.160186 -34.811232,39.399837 z"/>
<g transform="rotate(-10 45 75)" inkscape:groupmode="layer" inkscape:label="Features" style="display:inline" id="Features">
<path id="nose-outline" d="m 33.65228,80.15316 c -1.84571,-3.806604 -1.872556,-7.54518 0.527665,-10.056125 2.400221,-2.510944 6.697437,-10.228997 6.681819,-14.101173" sodipodi:nodetypes="csc" style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:4.40315;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" inkscape:label="nose-outline"/>
<path d="m 40.349664,72.473149 c 3.611758,-1.970317 14.548618,-2.669295 17.071165,2.5758 0.40334,0.838655 -6.115736,7.143991 -10.106864,7.135136 -3.859049,-0.0087 -7.870186,-9.216748 -6.964301,-9.710936 z" inkscape:label="nose" style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" id="nose" sodipodi:nodetypes="ssss"/>
<path sodipodi:nodetypes="ccccc" d="m 30.329986,85.466434 c 2.073506,6.374978 4.020579,10.401679 5.959243,12.940501 3.750744,-3.131043 8.538975,-7.475595 10.436736,-9.373813 2.962201,4.818455 7.017346,10.375135 8.671615,12.645698 4.859078,-3.873207 9.518861,-7.995561 11.43575,-10.162866" id="mouth" style="fill:none;stroke:#313131;stroke-width:4.40315;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" inkscape:label="mouth"/>
<path style="display:inline;fill:#313131;fill-opacity:1;stroke-width:4.45223;stroke-linecap:round" sodipodi:nodetypes="ssssss" d="m 24.641601,45.918665 c -4.075919,0.730189 -6.501377,3.925039 -6.273966,5.603347 0.227411,1.678308 1.347515,2.224702 3.8872,1.666965 2.397981,-0.52641 9.098771,-2.404689 17.303469,3.65651 2.148157,1.586937 4.650972,-0.810343 2.741314,-2.795355 -7.65445,-7.956509 -12.747952,-9.01107 -17.658017,-8.131467 z" id="left-eye" inkscape:label="left-eye"/>
<path id="right-eye" d="m 83.448042,49.242516 c 3.928913,1.194349 5.945041,4.623512 5.525393,6.249833 -0.419635,1.626313 -1.586453,2.033818 -4.022559,1.188423 -2.300205,-0.798011 -8.680288,-3.429088 -17.467185,1.58346 -2.300578,1.312383 -4.485891,-1.340335 -2.373777,-3.072561 8.46599,-6.943249 13.605145,-7.38791 18.338128,-5.949155 z" inkscape:label="right-eye" sodipodi:nodetypes="ssssss" style="display:inline;fill:#313131;fill-opacity:1;stroke-width:4.41528;stroke-linecap:round"/>
</g>
<metadata id="metadata30760">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:rights>
<cc:Agent>
<dc:title>Blobfox team (https://git.shadamethyst.xyz/adri326/blobfox), licensed under the Apache 2.0 License</dc:title>
</cc:Agent>
</dc:rights>
<dc:title>blobhusky_snuggle_right</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Feuerfuchs</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>https://git.shadamethyst.xyz/adri326/blobfox</dc:source>
<dc:contributor>
<cc:Agent>
<dc:title>Shad Amethyst</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
</rdf:RDF>
</metadata>
</svg>

After

Width:  |  Height:  |  Size: 9.7 KiB

@ -0,0 +1,10 @@
name = "blobhusky"
base = "../blobfox/"
[vars]
body_color = "#6b6b6f"
ear_color = "#313131"
ear_fluff_color = "#e1e1e3"
hand_color = "#e1e1e3"
tail_color = "#e1e1e3"
marks_color = "#e1e1e3"

@ -0,0 +1,5 @@
{{>blobfox.body-basic}}
<g clip-path="url(#body-clip)" blobfox-ignore-size="true">
{{#set-fill}} {{vars.marks_color}} | {{#base}}#marks{{/base}} {{/set-fill}}
</g>

@ -0,0 +1,7 @@
{{>blobfox.body-comfy}}
<g clip-path="url(#body-clip)" blobfox-ignore-size="true">
<g transform="scale(0.91 0.91) translate(5.5 4)">
{{#set-fill}} {{vars.marks_color}} | {{#base}}#marks{{/base}} {{/set-fill}}
</g>
</g>

@ -0,0 +1,28 @@
<g id="body-snug">
<defs>
<clipPath id="body-clip">
{{#snug}}#body{{/snug}}
</clipPath>
</defs>
{{! TODO: owo ear }}
{{#set-fill}} {{vars.ear_color}} | {{#snug}}#left-ear{{/snug}} {{/set-fill}}
{{#set-fill}} {{vars.body_color}} | {{#snug}}#body{{/snug}} {{/set-fill}}
{{#set-fill}} {{vars.body_color}} | {{#snug}}#hair{{/snug}} {{/set-fill}}
{{#set-fill}} {{vars.ear_color}} | {{#snug}}#right-ear{{/snug}} {{/set-fill}}
{{#set-fill}} {{vars.ear_fluff_color}} | {{#snug}}#right-ear-fluff{{/snug}} {{/set-fill}}
<g clip-path="url(#body-clip)" blobfox-ignore-size="true">
<g transform="scale(0.97 0.97) translate(0 1)">
{{#set-fill}} {{vars.marks_color}} | {{#base}}#marks{{/base}} {{/set-fill}}
</g>
</g>
{{#tags.tail}}
<g id="tail">
{{#set-fill}} {{vars.tail_color}} | {{#snug}}#tail{{/snug}} {{/set-fill}}
</g>
{{/tags.tail}}
</g>

@ -0,0 +1,5 @@
{{>blobfox.body-snuggle}}
<g clip-path="url(#body-snuggle-clip)" blobfox-ignore-size="true">
{{#set-fill}} {{vars.marks_color}} | {{#snuggle_right}}#marks{{/snuggle_right}} {{/set-fill}}
</g>

@ -0,0 +1,33 @@
{{! Left ear }}
{{#set-fill}} {{vars.ear_color}} | {{#snuggle_right}}#left-ear{{/snuggle_right}} {{/set-fill}}
{{! Body }}
<defs>
<clipPath id="body-snuggle-clip">
{{#snuggle_right}}#body{{/snuggle_right}}
</clipPath>
</defs>
{{#set-fill}} {{vars.body_color}} | {{#snuggle_right}}#body{{/snuggle_right}} {{/set-fill}}
{{! Right ear }}
{{#set-fill}} {{vars.ear_color}} | {{#snuggle_right}}#right-ear{{/snuggle_right}} {{/set-fill}}
{{#set-fill}} {{vars.ear_fluff_color}} | {{#snuggle_right}}#right-ear-fluff{{/snuggle_right}} {{/set-fill}}
<g clip-path="url(#body-snuggle-clip)" blobfox-ignore-size="true">
<g transform="translate(0 10) rotate(-30 10 60)">
{{#set-fill}}
{{vars.marks_color}}
| {{#base}}#left-marks{{/base}}
{{/set-fill}}
</g>
<g transform="translate(-2 -10) rotate(-10 120 60)">
{{#set-fill}}
{{vars.marks_color}}
| {{#base}}#right-marks{{/base}}
{{/set-fill}}
</g>
</g>
<g transform="rotate(-12 45 75)">
{{>whiskers}}
</g>

@ -0,0 +1,238 @@
//! Very crude tool for generating snuggle emotes
use clap::Parser;
use std::fmt::Write;
use std::path::PathBuf;
use std::collections::HashMap;
use serde::{Serialize, Deserialize};
use xmltree::{Element, XMLNode};
use wax::{Glob, Pattern};
use blobfox_template::{
parse,
template,
export,
};
#[derive(Serialize, Deserialize, Debug)]
struct Desc {
/// Name of the snuggle emote (eg. `snuggle`, `nom`)
name: String,
/// How much to move the "left" emote by, horizontally
dx: f64,
/// How much to move the "left" emote by, vertically
dy: f64,
/// How much to scale the "left" emote by, unimplemented!
scale: Option<f64>,
/// How much of a margin to add to the "right" emote, in SVG units
bold: f64,
/// Optional transform to add to the "right" emote cutout
#[serde(default)]
transform: String,
/// name/filename list of emotes for the "left" emotes
left: HashMap<String, String>,
/// name/filename list of emotes for the "right" emotes
right: HashMap<String, String>,
}
#[derive(Parser, Clone)]
#[clap(author, version, about, long_about = None)]
struct Args {
/// Path to the description
#[clap(short, long, value_parser)]
desc: PathBuf,
/// Disable automatically resizing the SVG's viewBox, defaults to false
#[clap(short, long, value_parser, default_value = "false")]
no_resize: bool,
/// Dimension to export the images as; can be specified multiple times
#[clap(long, value_parser)]
dim: Vec<u32>,
/// Input directory, containing the svgs to combine
#[clap(short, long, value_parser)]
input_dir: Option<PathBuf>,
/// Output directory
#[clap(short, long, value_parser)]
output_dir: Option<PathBuf>,
/// A glob to filter which emotes to output; supports wildcards, like `blobfox_snuggle*`
#[clap(value_parser)]
glob: Option<String>,
}
impl From<Args> for export::ExportArgs {
fn from(args: Args) -> export::ExportArgs {
export::ExportArgs {
no_resize: args.no_resize,
dim: args.dim,
}
}
}
fn main() {
let args = Args::parse();
let input_dir = args.input_dir.clone().unwrap_or(PathBuf::from("output/vector/"));
let output_dir = args.output_dir.clone().unwrap_or(PathBuf::from("output/"));
let files = std::fs::read_dir(&input_dir).unwrap_or_else(|err| {
panic!("Couldn't read directory {}: {}", input_dir.display(), err);
}).filter_map(|entry| {
std::fs::read_dir(entry.ok()?.path()).ok()
}).flatten().filter_map(|entry| {
let entry = entry.ok()?;
Some((entry.path().file_stem()?.to_str()?.to_string(), entry.path()))
}).collect::<HashMap<_, _>>();
let desc = std::fs::read_to_string(&args.desc).unwrap_or_else(|err| {
panic!("Couldn't open {}: {}", args.desc.display(), err);
});
let desc: Desc = toml::from_str(&desc).unwrap();
let export_args: export::ExportArgs = args.clone().into();
let glob = args.glob.as_ref().map(|s| Glob::new(s).expect("Invalid parameter glob"));
for (left_name, left_path) in desc.left.iter() {
if let Some(left_path) = files.get(left_path) {
let left = std::fs::read_to_string(left_path).unwrap_or_else(|err| {
panic!("Couldn't open {}: {}", left_path.display(), err);
});
for (right_name, right_path) in desc.right.iter() {
if let Some(right_path) = files.get(right_path) {
let name = format!("{}_{}_{}", left_name, desc.name, right_name);
if let Some(ref glob) = &glob {
if !glob.is_match(&*name) {
continue // Skip this emote
}
}
let right = std::fs::read_to_string(&right_path).unwrap_or_else(|err| {
panic!("Couldn't open {}: {}", right_path.display(), err);
});
let snuggle = generate_snuggle(&left, &right, &desc);
let snuggle = export::xml_to_str(&snuggle).unwrap();
export::export(
snuggle,
&output_dir,
&desc.name,
&name,
&export_args
).unwrap();
}
}
}
}
}
fn generate_snuggle(left: &str, right: &str, desc: &Desc) -> Element {
let left_usvg = export::get_usvg(&left).unwrap();
let left_bbox = left_usvg.svg_node().view_box.rect;
// == Generate mask ==
let mut mask = Element::new("mask");
mask.attributes.insert("id".to_string(), "snuggle-mask".to_string());
let mut rect = Element::new("rect");
rect.attributes.insert("fill".to_string(), "white".to_string());
// TODO: use scale?
rect.attributes.insert("x".to_string(), (desc.dx + left_bbox.x()).to_string());
rect.attributes.insert("y".to_string(), (desc.dy + left_bbox.y()).to_string());
rect.attributes.insert("width".to_string(), left_bbox.width().to_string());
rect.attributes.insert("height".to_string(), left_bbox.height().to_string());
mask.children.push(XMLNode::Element(rect));
let mut right_mask = Element::new("g");
right_mask.attributes.insert("transform".to_string(), desc.transform.clone());
let mut right_xml = Element::parse(right.as_bytes()).unwrap();
bolden(desc.bold, &mut right_xml);
template::set_fill("#000000", &mut right_xml);
template::set_stroke("#000000", &mut right_xml);
for child in right_xml.children {
if let XMLNode::Element(child) = child {
right_mask.children.push(XMLNode::Element(child));
}
}
mask.children.push(XMLNode::Element(right_mask));
// == Insert both emotes ==
let mut right_xml = Element::parse(right.as_bytes()).unwrap();
let left_xml = Element::parse(left.as_bytes()).unwrap();
let mut left_group = Element::new("g");
left_group.attributes.insert("transform".to_string(), format!(
"translate({} {})",
desc.dx,
desc.dy
));
left_group.children = left_xml.children;
let mut left_group2 = Element::new("g");
left_group2.attributes.insert("mask".to_string(), "url(#snuggle-mask)".to_string());
left_group2.children.push(XMLNode::Element(left_group));
// == Fill in root element ==
let mut res = Element::new("svg");
res.attributes.insert("xmlns".to_string(), "http://www.w3.org/2000/svg".to_string());
res.attributes.insert("version".to_string(), "1.1".to_string());
res.attributes.insert("width".to_string(), "128".to_string());
res.attributes.insert("height".to_string(), "128".to_string());
res.children.push(XMLNode::Element(mask));
res.children.append(&mut right_xml.children);
res.children.push(XMLNode::Element(left_group2));
res
}
/// Increases the `stroke-width` of any drawn element by `amount`.
/// If the element has no stroke but has a filling, then it is considered to have a zero stroke width
fn bolden(amount: f64, xml: &mut Element) {
if let Some(stroke_width) = xml.attributes.get_mut("stroke-width") {
if let Ok(parsed) = stroke_width.parse::<f64>() {
*stroke_width = format!("{}", parsed + amount);
}
} else if xml.attributes.contains_key("fill") {
xml.attributes.insert("stroke-width".to_string(), amount.to_string());
}
if let Some(style) = xml.attributes.get_mut("style") {
let mut new_style = String::new();
let mut stroke_width = None;
for (name, value) in parse::parse_css(style) {
if name == "stroke-width" {
stroke_width = value.parse::<f64>().ok();
continue
}
if name == "fill" && stroke_width.is_none() {
stroke_width = Some(0.0);
}
write!(&mut new_style, "{}:{};", name, value).unwrap();
}
if let Some(stroke_width) = stroke_width {
write!(&mut new_style, "stroke-width: {};", stroke_width + amount).unwrap();
}
*style = new_style;
}
for child in xml.children.iter_mut() {
if let XMLNode::Element(ref mut child) = child {
bolden(amount, child);
}
}
}

@ -48,6 +48,28 @@ impl From<png::EncodingError> for ExportError {
}
}
pub struct ExportArgs {
pub no_resize: bool,
pub dim: Vec<u32>,
}
pub fn get_usvg(svg_str: &str) -> Result<usvg::Tree, usvg::Error> {
let usvg_options = Options::default();
Tree::from_str(svg_str, &usvg_options.to_ref())
}
pub fn get_xml(svg_str: &str) -> Result<Element, xmltree::ParseError> {
Element::parse(svg_str.as_bytes())
}
pub fn xml_to_str(svg_xml: &Element) -> Result<String, ExportError> {
let mut s: Vec<u8> = Vec::new();
svg_xml.write(&mut s)?;
Ok(String::from_utf8(s)?)
}
fn get_new_bbox(svg: &Tree) -> Option<(f64, f64, f64, f64)> {
let bbox = svg.root().calculate_bbox()?;
@ -70,25 +92,45 @@ fn get_new_bbox(svg: &Tree) -> Option<(f64, f64, f64, f64)> {
}
}
fn get_usvg(svg_str: &str) -> Result<usvg::Tree, usvg::Error> {
let usvg_options = Options::default();
Tree::from_str(svg_str, &usvg_options.to_ref())
}
/// Removes all elements marked with `blobfox-ignore-size="true"`
fn get_xml(svg_str: &str) -> Result<Element, xmltree::ParseError> {
Element::parse(svg_str.as_bytes())
}
macro_rules! strip {
( $name:tt, $attribute:expr ) => {
fn $name(svg_str: &str) -> Result<String, ExportError> {
let mut xml = get_xml(svg_str)?;
fn xml_to_str(svg_xml: &Element) -> Result<String, ExportError> {
let mut s: Vec<u8> = Vec::new();
fn rec(element: &mut Element) {
// TODO: replace with Vec::drain_filter once https://github.com/rust-lang/rust/issues/43244 gets merged
for child in std::mem::take(&mut element.children) {
match child {
XMLNode::Element(mut child) => {
if let Some("true") = child.attributes.get($attribute).map(|s| s.as_str()) {
continue
}
svg_xml.write(&mut s)?;
rec(&mut child);
Ok(String::from_utf8(s)?)
element.children.push(XMLNode::Element(child));
}
child => element.children.push(child),
}
}
}
rec(&mut xml);
xml_to_str(&xml)
}
}
}
strip!(strip_ignore_size, "blobfox-ignore-size");
strip!(strip_only_size, "blobfox-only-size");
pub fn resize(svg_str: String) -> Result<String, ExportError> {
if let Some(new_bbox) = get_new_bbox(&get_usvg(&svg_str)?) {
let stripped = strip_ignore_size(&svg_str)?;
if let Some(new_bbox) = get_new_bbox(&get_usvg(&stripped)?) {
let mut svg_xml = get_xml(&svg_str)?;
svg_xml.attributes.insert(
"viewBox".to_string(),
@ -143,24 +185,27 @@ pub fn combine_defs(svg_str: String) -> Result<String, ExportError> {
pub fn export(
mut svg_str: String,
output_dir: &PathBuf,
output_name: String,
args: &super::Args,
species_name: &str,
output_name: &str,
args: &ExportArgs,
) -> Result<(), ExportError> {
if !args.no_resize {
svg_str = resize(svg_str)?;
}
svg_str = strip_only_size(&svg_str)?;
svg_str = combine_defs(svg_str)?;
mkdirp::mkdirp(output_dir.join("vector")).unwrap();
mkdirp::mkdirp(output_dir.join(format!("vector/{}", species_name))).unwrap();
let output = output_dir.join(&format!("vector/{}.svg", output_name));
let output = output_dir.join(&format!("vector/{}/{}.svg", species_name, output_name));
std::fs::write(output.clone(), svg_str.clone()).map_err(|err| ExportError::Io(output, err))?;
let svg_usvg = get_usvg(&svg_str)?;
for resolution in args.dim.iter().copied().filter(|r| *r != 0).collect::<HashSet<_>>() {
mkdirp::mkdirp(output_dir.join(&format!("{}", resolution))).unwrap();
let output = output_dir.join(&format!("{}/{}.png", resolution, output_name));
mkdirp::mkdirp(output_dir.join(&format!("{}/{}", resolution, species_name))).unwrap();
let output = output_dir.join(&format!("{}/{}/{}.png", resolution, species_name, output_name));
let mut image = tiny_skia::Pixmap::new(resolution, resolution).unwrap();

@ -0,0 +1,3 @@
pub mod parse;
pub mod template;
pub mod export;

@ -1,14 +1,11 @@
use clap::Parser;
use std::path::PathBuf;
pub mod parse;
use parse::*;
pub mod template;
use template::*;
pub mod export;
use export::*;
use blobfox_template::{
parse::*,
template::*,
export::*,
};
fn main() {
let args = Args::parse();
@ -30,6 +27,8 @@ fn main() {
}
fn generate_variant(context: &RenderingContext, name: &str, output_dir: &PathBuf, args: &Args) {
let args: ExportArgs = args.clone().into();
if let Some(path) = context.species().variant_paths.get(name) {
match context.compile(path).and_then(|template| {
template.render_data_to_string(&context.get_data(name))
@ -38,8 +37,9 @@ fn generate_variant(context: &RenderingContext, name: &str, output_dir: &PathBuf
match export(
svg,
output_dir,
format!("{}_{}", context.species().name, name),
args
&context.species().name,
&format!("{}_{}", context.species().name, name),
&args
) {
Ok(_) => {}
Err(err) => {
@ -56,7 +56,7 @@ fn generate_variant(context: &RenderingContext, name: &str, output_dir: &PathBuf
}
}
#[derive(Parser, Debug)]
#[derive(Parser, Debug, Clone)]
#[clap(author, version, about, long_about = None)]
pub struct Args {
/// A folder containing the declaration from which the emotes should be generated
@ -79,3 +79,12 @@ pub struct Args {
#[clap(short, long, value_parser)]
output_dir: Option<PathBuf>,
}
impl From<Args> for ExportArgs {
fn from(args: Args) -> ExportArgs {
ExportArgs {
no_resize: args.no_resize,
dim: args.dim,
}
}
}

@ -126,3 +126,18 @@ fn read_dir_xml(path: impl AsRef<Path>) -> HashMap<String, PathBuf> {
res
}
pub fn parse_css<'b>(css: &'b str) -> impl Iterator<Item=(&'b str, &'b str)> + 'b {
css.split(';').filter_map(|rule| {
let mut iter = rule.splitn(2, ':');
if let Some(name) = iter.next() {
if let Some(value) = iter.next() {
Some((name.trim(), value))
} else {
None
}
} else {
None
}
})
}

@ -1,9 +1,10 @@
use super::*;
use crate::parse::{SpeciesDecl, parse_css};
use mustache::{Context, Data, MapBuilder, PartialLoader, Template};
use std::collections::HashMap;
use std::path::Path;
use std::sync::{Arc, Mutex};
use xmltree::{Element, XMLNode};
use css_color_parser::Color as CssColor;
#[derive(Debug, Clone)]
pub struct RenderingContext {
@ -90,39 +91,45 @@ impl RenderingContext {
});
}
let this = self.clone();
let variant_name_owned = variant_name.to_string();
builder = builder.insert_fn("set-fill", move |input| {
// Parse `color|xml`
if let [color, xml] = input.splitn(2, '|').collect::<Vec<_>>()[..] {
// Render `color` and `xml`
if let (Ok(color), Ok(xml)) = (
this.render_to_string(&color, &variant_name_owned),
this.render_to_string(&xml, &variant_name_owned),
) {
// Convert `xml` to XML
match Element::parse(xml.as_bytes()) {
Ok(mut xml) => {
set_fill(&color.trim(), &mut xml);
// Render XML to string
if let Some(res) = xml_to_string(xml) {
res
} else {
String::from("<!-- Error in stringifying xml -->")
for (cb, name) in [
(set_fill as fn(&str, &mut Element), "set-fill"),
(set_stroke, "set-stroke")
] {
let this = self.clone();
let variant_name_owned = variant_name.to_string();
builder = builder.insert_fn(name, move |input| {
// Parse `color|xml`
if let [color, xml] = input.splitn(2, '|').collect::<Vec<_>>()[..] {
// Render `color` and `xml`
if let (Ok(color), Ok(xml)) = (
this.render_to_string(&color, &variant_name_owned),
this.render_to_string(&xml, &variant_name_owned),
) {
// Convert `xml` to XML
match Element::parse(xml.as_bytes()) {
Ok(mut xml) => {
cb(&color.trim(), &mut xml);
// Render XML to string
if let Some(res) = xml_to_string(xml) {
res
} else {
String::from("<!-- Error in stringifying xml -->")
}
}
Err(err) => {
format!("<!-- Error in parsing xml: {} -->", err)
}
}
Err(err) => {
format!("<!-- Error in parsing xml: {} -->", err)
}
} else {
String::from("<!-- Error in parsing color or element -->")
}
} else {
String::from("<!-- Error in parsing color or element -->")
String::from("<!-- Invalid syntax: expected `color|xml` -->")
}
} else {
String::from("<!-- Invalid syntax: expected `color|xml` -->")
}
});
});
}
builder = builder.insert("vars", &self.species.vars).unwrap();
@ -236,34 +243,52 @@ impl PartialLoader for RenderingContext {
}
}
fn set_fill(color: &str, xml: &mut Element) {
// Substitute the fill color; TODO: handle transparency for SVG 1.1
if let Some(style) = xml.attributes.get_mut("style") {
let mut new_style = Vec::new();
macro_rules! set_color {
( $fn_name:tt, $color_name:expr, $opacity_name:expr ) => {
pub fn $fn_name(color: &str, xml: &mut Element) {
let (color, opacity) = if let Ok(parsed) = color.parse::<CssColor>() {
(format!("#{:02x}{:02x}{:02x}", parsed.r, parsed.g, parsed.b), parsed.a)
} else {
(color.to_string(), 1.0)
};
for rule in style.split(';') {
if let [name, value] = rule.splitn(2, ':').collect::<Vec<_>>()[..] {
if name.trim() != "fill" && name.trim() != "fill-opacity" {
new_style.push(format!("{}:{}", name, value));
}
}
}
fn rec(color: &str, opacity: f32, xml: &mut Element) {
if let Some(style) = xml.attributes.get_mut("style") {
let mut new_style = Vec::new();
new_style.push(format!("fill: {};", color));
for (name, value) in parse_css(style) {
if name != $color_name && name != $opacity_name {
new_style.push(format!("{}:{}", name, value));
}
}
*style = new_style.join(";");
}
if let Some(_fill) = xml.attributes.get("fill") {
xml.attributes.insert("fill".to_string(), color.to_string());
}
new_style.push(format!(concat!($color_name, ": {};"), color));
new_style.push(format!(concat!($opacity_name, ": {};"), opacity));
*style = new_style.join(";");
}
if let Some(_fill) = xml.attributes.get($color_name) {
xml.attributes.insert($color_name.to_string(), color.to_string());
}
if let Some(_fill) = xml.attributes.get($opacity_name) {
xml.attributes.insert($opacity_name.to_string(), opacity.to_string());
}
for child in xml.children.iter_mut() {
if let XMLNode::Element(ref mut child) = child {
rec(color, opacity, child);
}
}
}
for child in xml.children.iter_mut() {
if let XMLNode::Element(ref mut child) = child {
set_fill(color, child);
rec(&color, opacity, xml)
}
}
}
set_color!(set_fill, "fill", "fill-opacity");
set_color!(set_stroke, "stroke", "stroke-opacity");
pub fn query_selector(svg: Element, pattern: &str) -> Option<Element> {
if pattern == "" {
// NOTE: it looks like having a nested svg makes resvg unhappy

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
viewBox="0 0 128 128"
width="128"
sodipodi:docname="blobarcticfox_snuggle_right.svg"
id="svg5"
height="128"
version="1.1"
xml:space="preserve"
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"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><title
id="title30762">blobarcticfox_snuggle_right</title><sodipodi:namedview
inkscape:window-maximized="1"
bordercolor="#ffffff"
inkscape:showpageshadow="2"
inkscape:window-height="1022"
inkscape:pageopacity="0"
borderopacity="1"
inkscape:cy="14.922082"
inkscape:window-x="0"
id="namedview7"
pagecolor="#505050"
inkscape:pageshadow="0"
showgrid="false"
inkscape:zoom="2.4460393"
inkscape:window-width="1920"
inkscape:window-y="36"
inkscape:current-layer="svg5"
inkscape:cx="-81.560423"
units="px"
inkscape:pagecheckerboard="1"
inkscape:document-units="px"
inkscape:deskcolor="#505050"><inkscape:grid
id="grid10"
type="xygrid" /></sodipodi:namedview><defs
id="defs2" /><g
style="display:none"
id="layer2"
inkscape:groupmode="layer"
inkscape:label="ref"><image
inkscape:label="blobfox"
y="0"
height="127.99999"
width="127.99999"
style="display:none;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality"
x="0"
preserveAspectRatio="none"
xlink:href="../original/blobfox.png"
id="image80" /><image
width="221.0103"
height="221.0103"
preserveAspectRatio="none"
style="display:inline;image-rendering:optimizeSpeed"
xlink:href="../original/blobfoxsnuggle.png"
id="image545"
x="-93.369904"
y="-106.29223"
inkscape:label="blobfoxsnuggle" /></g><g
inkscape:label="Base"
id="layer1"
inkscape:groupmode="layer"
style="display:inline"><path
sodipodi:nodetypes="cssscc"
style="display:inline;fill:#8599ad;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 12.87231,40.818966 C -2.8719971,22.749014 -4.3550533,3.1367661 -2.9535978,0.24374984 -1.8493312,-2.0357805 -0.73468479,-3.6569086 1.9073133,-2.7558898 5.0260913,-1.6922712 17.794722,2.5508374 34.540893,8.7120265 c 7.146252,2.6292225 3.161601,9.4167855 1.87439,12.1261315 -2.856028,5.37387 -17.877727,10.71439 -23.542973,19.980808 z"
id="path20678"
inkscape:label="left-ear" /><path
style="fill:none;stroke:#bfdef4;stroke-width:5.915;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="M 23.916685,24.436717 C 14.602244,28.240758 6.1035058,41.212772 6.0522293,52.383124 c -0.06182,13.46732 5.2935377,17.762913 5.6272057,26.275639 0.285199,7.276187 -3.0842753,6.114611 -2.6594315,13.088678 0.3554475,5.834884 17.4105045,17.435289 48.2809295,19.511619 17.000006,1.14342 40.08745,-0.83957 52.687987,-6.80693 12.02235,-5.69355 13.81288,-9.197298 14.35031,-22.168541 0.93466,-22.558581 -9.42668,-45.135646 -17.2285,-51.227375"
id="path40517"
sodipodi:nodetypes="cssssssc"
inkscape:label="body-sheen" /><path
id="path117-7"
inkscape:label="hair"
sodipodi:nodetypes="cccsssccc"
style="display:inline;fill:#eef2f4;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"
d="m 23.769283,6.3584073 c 2.991294,4.2455057 4.569848,7.4475027 8.895201,10.9888377 -12.070861,-0.541455 -15.260708,1.69375 -19.417541,5.559159 7.973832,0.09289 11.531043,0.522786 15.204226,1.155863 12.215874,2.105419 38.518977,5.035068 47.371493,-2.486915 4.32997,-3.679173 3.410201,-7.265503 -2.316952,-10.378575 C 67.610927,7.9925869 55.645095,4.8584742 51.222049,3.8438904 52.004054,6.0173862 53.35612,8.7380188 54.213344,11.268754 45.9815,7.6883395 37.893549,5.4027147 23.769283,6.3584073 Z" /><path
style="display:inline;fill:#eef2f4;fill-opacity:1;stroke:none;stroke-width:2.64567;stroke-linecap:square;stroke-miterlimit:3"
d="m 11.777115,91.149268 c 0.06103,-5.423163 2.534363,-4.028232 2.714011,-11.854767 C 14.698932,70.241286 9.1659021,66.448097 8.2945368,53.764313 7.4703449,41.767195 14.698519,29.682048 22.405455,23.099448 c 2.997294,-2.56003 8.225884,-7.457425 24.239115,-7.457425 33.541601,0 50.287479,-0.290676 61.66375,13.954023 17.68827,22.148203 17.82851,57.284998 10.34099,65.611673 -5.41976,6.027171 -19.15345,13.467401 -51.843149,13.521431 -34.893119,0.0577 -54.890935,-12.611692 -55.029046,-17.579882 z"
id="path8285"
sodipodi:nodetypes="csssssssc"
inkscape:label="body" /><path
d="m 109.65875,-11.393576 c -9.0534,1.6065407 -29.38453,9.7496393 -44.524796,30.678621 0.210609,4.044387 7.117027,6.692013 15.231023,5.036186 8.412314,-1.716705 21.594053,-22.0009765 26.970613,-27.4823623 1.00114,9.5497778 -12.65173,31.3913833 -4.57278,40.2752173 3.27823,3.604628 6.48404,-4.729898 7.41016,-7.69531 3.7465,-12.049663 6.22482,-21.0511645 6.3764,-27.8592275 0.0598,-2.686778 1.92218,-14.5169695 -6.89062,-12.9531245 z"
id="path14428"
style="display:inline;fill:#8599ad;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"
inkscape:label="right-ear"
sodipodi:nodetypes="scscccss" /><path
id="path18942"
style="display:inline;fill:#a0c7de;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
inkscape:label="right-ear-fluff"
d="M 109.7442,-7.9162135 C 101.79383,-4.5766893 95.432201,2.858004 93.256387,11.957451 92.338149,15.7976 86.384544,21.344383 83.242552,23.116446 c 3.859188,-0.486555 8.080586,-0.662358 9.623136,-0.582576 -0.593528,2.540618 -1.150986,5.084216 -1.270641,7.589149 2.095641,-2.400784 6.129327,-4.663902 8.596323,-5.42458 -0.870477,4.814098 -0.218062,7.843034 1.18668,10.437489 0.3855,-11.747093 7.77479,-14.345491 10.05823,-21.014332 1.71162,-4.9987961 4.75466,-15.8385462 1.25678,-21.4073931 -0.64101,-1.0205338 -2.00455,-1.0270711 -2.94886,-0.6304164 z"
sodipodi:nodetypes="sscccccsss" /></g><g
id="layer3"
inkscape:groupmode="layer"
inkscape:label="Features"
style="display:inline"
transform="rotate(-10 45 75)"><path
d="m 33.65228,80.15316 c -1.84571,-3.806604 -1.872556,-7.54518 0.527665,-10.056125 2.400221,-2.510944 6.697437,-10.228997 6.681819,-14.101173"
sodipodi:nodetypes="csc"
inkscape:label="nose-outline"
id="path27175"
style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:4.40315;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
id="path28517"
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
sodipodi:nodetypes="ssss"
d="m 40.349664,72.473149 c 3.611758,-1.970317 14.548618,-2.669295 17.071165,2.5758 0.40334,0.838655 -6.115736,7.143991 -10.106864,7.135136 -3.859049,-0.0087 -7.870186,-9.216748 -6.964301,-9.710936 z"
inkscape:label="nose" /><path
inkscape:label="mouth"
id="path29369"
style="fill:none;stroke:#313131;stroke-width:4.40315;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 30.329986,85.466434 c 2.073506,6.374978 4.020579,10.401679 5.959243,12.940501 3.750744,-3.131043 8.538975,-7.475595 10.436736,-9.373813 2.962201,4.818455 7.017346,10.375135 8.671615,12.645698 4.859078,-3.873207 9.518861,-7.995561 11.43575,-10.162866"
sodipodi:nodetypes="ccccc" /><path
style="display:inline;fill:#313131;fill-opacity:1;stroke-width:4.45223;stroke-linecap:round"
sodipodi:nodetypes="ssssss"
d="m 24.641601,45.918665 c -4.075919,0.730189 -6.501377,3.925039 -6.273966,5.603347 0.227411,1.678308 1.347515,2.224702 3.8872,1.666965 2.397981,-0.52641 9.098771,-2.404689 17.303469,3.65651 2.148157,1.586937 4.650972,-0.810343 2.741314,-2.795355 -7.65445,-7.956509 -12.747952,-9.01107 -17.658017,-8.131467 z"
inkscape:label="left-eye"
id="left-eye" /><path
sodipodi:nodetypes="ssssss"
style="display:inline;fill:#313131;fill-opacity:1;stroke-width:4.41528;stroke-linecap:round"
d="m 83.448042,49.242516 c 3.928913,1.194349 5.945041,4.623512 5.525393,6.249833 -0.419635,1.626313 -1.586453,2.033818 -4.022559,1.188423 -2.300205,-0.798011 -8.680288,-3.429088 -17.467185,1.58346 -2.300578,1.312383 -4.485891,-1.340335 -2.373777,-3.072561 8.46599,-6.943249 13.605145,-7.38791 18.338128,-5.949155 z"
id="path456-3"
inkscape:label="right-eye" /></g><metadata
id="metadata30760"><rdf:RDF><cc:Work
rdf:about=""><dc:rights><cc:Agent><dc:title>Blobfox team (https://git.shadamethyst.xyz/adri326/blobfox), licensed under the Apache 2.0 License</dc:title></cc:Agent></dc:rights><dc:title>blobarcticfox_snuggle_right</dc:title><dc:creator><cc:Agent><dc:title>Feuerfuchs</dc:title></cc:Agent></dc:creator><dc:source>https://git.shadamethyst.xyz/adri326/blobfox</dc:source><dc:contributor><cc:Agent><dc:title>Shad Amethyst</dc:title></cc:Agent></dc:contributor></cc:Work></rdf:RDF></metadata><path
style="display:inline;fill:#d7598b;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 17.169221,-41.070349 C 0.68524509,-54.904396 -18.117728,-61.282802 -17.878994,-79.580228 -17.638387,-98.021242 2.6089701,-106.33438 16.109881,-91.195364 30.925783,-106.87833 51.809057,-97.94444 51.980453,-80.470186 52.157178,-62.452549 33.98327,-55.31 17.169221,-41.070349 Z"
id="path62976"
sodipodi:nodetypes="cscsc"
inkscape:label="heart" /></svg>

After

Width:  |  Height:  |  Size: 10 KiB

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
viewBox="0 0 128 128"
width="128"
sodipodi:docname="blobcat_snuggle_right.svg"
id="svg5"
height="128"
version="1.1"
xml:space="preserve"
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"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><title
id="title30762">blobfox_snuggle_right</title><sodipodi:namedview
inkscape:window-maximized="1"
bordercolor="#ffffff"
inkscape:showpageshadow="2"
inkscape:window-height="1022"
inkscape:pageopacity="0"
borderopacity="1"
inkscape:cy="11.996917"
inkscape:window-x="0"
id="namedview7"
pagecolor="#505050"
inkscape:pageshadow="0"
showgrid="false"
inkscape:zoom="3.459222"
inkscape:window-width="1920"
inkscape:window-y="36"
inkscape:current-layer="layer3"
inkscape:cx="25.294705"
units="px"
inkscape:pagecheckerboard="1"
inkscape:document-units="px"
inkscape:deskcolor="#505050"><inkscape:grid
id="grid10"
type="xygrid" /></sodipodi:namedview><defs
id="defs2" /><g
style="display:inline"
id="layer2"
inkscape:groupmode="layer"
inkscape:label="ref"><image
inkscape:label="blobfox"
y="0"
height="127.99999"
width="127.99999"
style="display:none;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality"
x="0"
preserveAspectRatio="none"
xlink:href="../original/blobfox.png"
id="image80" /><image
width="221.0103"
height="221.0103"
preserveAspectRatio="none"
style="display:none;image-rendering:optimizeSpeed"
xlink:href="../original/blobfoxsnuggle.png"
id="image545"
x="-93.369904"
y="-106.29223"
inkscape:label="blobfoxsnuggle" /></g><g
inkscape:label="Base"
id="layer1"
inkscape:groupmode="layer"
style="display:inline"><path
sodipodi:nodetypes="csscc"
inkscape:label="left-ear"
d="M 12.256837,46.231586 C 1.8415779,22.359815 2.2015389,7.7703891 2.5005463,4.5850052 2.7567483,1.8556355 5.8258605,1.3074542 8.6078275,1.5369059 20.46283,2.5146854 36.642168,7.9114889 46.1089,16.82884 33.179879,24.978058 19.123854,37.816977 12.256837,46.231586 Z"
style="display:inline;fill:#e9ae20;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path20678-3" /><path
style="display:inline;fill:#fcc21b;fill-opacity:1;stroke:none;stroke-width:2.64567;stroke-linecap:square;stroke-miterlimit:3"
d="m 6.0599734,91.649344 c 0,-8.73002 2.525321,-5.814368 2.6883167,-12.346173 C 8.9112858,72.771365 3.4640017,66.503444 3.0623888,53.796109 2.608823,39.444946 15.720633,10.76527 52.829214,10.867516 c 33.541474,0.09242 56.484576,14.941874 64.009516,27.975446 12.82632,22.215835 12.91096,52.067554 6.38429,59.723645 -6.52667,7.656093 -22.73142,15.897513 -56.529275,15.897513 -33.797859,0 -60.6337716,-12.74755 -60.6337716,-22.814776 z"
id="path8285"
sodipodi:nodetypes="cssssssc"
inkscape:label="body" /><path
sodipodi:nodetypes="cssssccscc"
inkscape:label="right-ear"
style="display:inline;fill:#e9ae20;fill-opacity:1;stroke-width:4.0252;stroke-linecap:round"
d="m 65.699761,18.700034 c 3.705098,-5.798332 13.241266,-15.0450512 26.86208,-21.0013755 2.562927,-1.120759 4.420268,-2.313566 6.116242,1.2171806 4.028927,8.3875701 6.105317,22.4994839 7.081847,34.4003099 0.19819,2.415136 0.26732,3.531599 -0.51471,4.602903 -0.4929,0.675218 -1.25711,0.41881 -1.94344,-0.355807 C 99.585066,28.508649 95.013339,25.153236 91.494125,34.068367 86.284232,34.254688 73.21014,29.230824 69.928513,26.308134 67.533188,24.174807 64.711138,20.552259 65.699762,18.700041 Z"
id="path501" /><path
sodipodi:nodetypes="csscccccc"
inkscape:label="right-ear-fluff"
d="m 90.47927,33.102811 c 0.497994,-13.495479 1.128526,-27.0325548 4.210496,-31.6387769 0.96583,-1.44351315 2.328987,-1.71598145 3.160428,0.090892 1.379164,2.9972051 5.175876,21.5507379 5.459496,36.0114669 -2.53607,-2.800409 -3.666864,-4.411539 -5.705443,-5.19307 0.22805,1.633029 0.334693,3.021267 0.239724,3.767763 -1.37078,-0.219241 -3.260214,-2.107791 -3.661738,-4.092702 -0.779535,1.986404 -4.013917,2.837666 -3.702994,1.054425 z"
id="path4922"
style="display:inline;fill:#8a6135;fill-opacity:1;stroke:none;stroke-width:4.0252;stroke-linecap:round;stroke-opacity:1" /></g><path
style="display:inline;fill:#d7598b;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 17.72597,-41.253132 c -16.4839759,-13.834047 -35.286949,-20.212453 -35.048215,-38.509879 0.240607,-18.441014 20.4879641,-26.754159 33.988875,-11.615136 14.815902,-15.682973 35.699176,-6.749076 35.870572,10.725178 0.176725,18.017637 -17.997183,25.160186 -34.811232,39.399837 z"
id="path62976"
sodipodi:nodetypes="cscsc"
inkscape:label="heart" /><g
id="layer3"
inkscape:groupmode="layer"
inkscape:label="Features"
style="display:inline"
transform="rotate(-10 45 75)"><path
inkscape:label="mouth"
id="path29369"
style="fill:none;stroke:#313131;stroke-width:4.40315;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 32.239465,74.761083 c 2.344873,6.280234 4.462767,10.21977 6.50848,12.673154 3.613079,-3.288946 8.210673,-7.83476 10.025319,-9.812583 3.166029,4.687046 7.455642,10.064788 9.205722,12.262351 4.688581,-4.077938 9.167369,-8.396252 10.989591,-10.643735"
sodipodi:nodetypes="ccccc" /><path
style="display:inline;fill:#313131;fill-opacity:1;stroke-width:4.45223;stroke-linecap:round"
sodipodi:nodetypes="ssssss"
d="m 24.641601,45.918665 c -4.075919,0.730189 -6.501377,3.925039 -6.273966,5.603347 0.227411,1.678308 1.347515,2.224702 3.8872,1.666965 2.397981,-0.52641 9.098771,-2.404689 17.303469,3.65651 2.148157,1.586937 4.650972,-0.810343 2.741314,-2.795355 -7.65445,-7.956509 -12.747952,-9.01107 -17.658017,-8.131467 z"
inkscape:label="left-eye"
id="left-eye" /><path
sodipodi:nodetypes="ssssss"
style="display:inline;fill:#313131;fill-opacity:1;stroke-width:4.41528;stroke-linecap:round"
d="m 83.448042,49.242516 c 3.928913,1.194349 5.945041,4.623512 5.525393,6.249833 -0.419635,1.626313 -1.586453,2.033818 -4.022559,1.188423 -2.300205,-0.798011 -8.680288,-3.429088 -17.467185,1.58346 -2.300578,1.312383 -4.485891,-1.340335 -2.373777,-3.072561 8.46599,-6.943249 13.605145,-7.38791 18.338128,-5.949155 z"
id="path456-3"
inkscape:label="right-eye" /><path
id="path1334"
inkscape:label="left-whisker-2"
sodipodi:nodetypes="cc"
style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:4.0252;stroke-linecap:round;stroke-opacity:1"
d="M 18.146235,70.812481 C 10.037836,64.903463 3.0244335,60.911259 -1.2172999,59.030535" /><path
id="path2116"
sodipodi:nodetypes="cc"
inkscape:label="left-whisker"
style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:4.0252;stroke-linecap:round;stroke-opacity:1"
d="M 17.840108,78.854655 C 10.219915,77.806151 2.00132,78.376622 -2.5310233,78.757138" /><path
inkscape:label="right-whisker-2"
id="path2359"
style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:4.0252;stroke-linecap:round;stroke-opacity:1"
d="M 84.017713,75.435931 C 93.269447,71.136138 99.767688,69.81846 102.38361,69.439685" /><path
inkscape:label="right-whisker"
d="m 81.557735,84.522616 c 7.421184,1.533064 15.540094,4.600888 19.491455,6.90547"
style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:4.0252;stroke-linecap:round;stroke-opacity:1"
id="path2361" /></g><metadata
id="metadata30760"><rdf:RDF><cc:Work
rdf:about=""><dc:rights><cc:Agent><dc:title>Blobfox team (https://git.shadamethyst.xyz/adri326/blobfox), licensed under the Apache 2.0 License</dc:title></cc:Agent></dc:rights><dc:title>blobfox_snuggle_right</dc:title><dc:creator><cc:Agent><dc:title>Feuerfuchs</dc:title></cc:Agent></dc:creator><dc:source>https://git.shadamethyst.xyz/adri326/blobfox</dc:source><dc:contributor><cc:Agent><dc:title>Shad Amethyst</dc:title></cc:Agent></dc:contributor></cc:Work></rdf:RDF></metadata></svg>

After

Width:  |  Height:  |  Size: 8.6 KiB

@ -0,0 +1,165 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
viewBox="0 0 128 128"
width="128"
sodipodi:docname="blobfox_oh_my.svg"
id="svg5"
height="128"
version="1.1"
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"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<title
id="title30762">blobfox_oh_my</title>
<sodipodi:namedview
inkscape:window-maximized="1"
bordercolor="#ffffff"
inkscape:showpageshadow="2"
inkscape:window-height="1058"
inkscape:pageopacity="0"
borderopacity="1"
inkscape:cy="83.047499"
inkscape:window-x="0"
id="namedview7"
pagecolor="#505050"
inkscape:pageshadow="0"
showgrid="false"
inkscape:zoom="7.7967429"
inkscape:window-width="1920"
inkscape:window-y="0"
inkscape:current-layer="layer1"
inkscape:cx="46.622032"
units="px"
inkscape:pagecheckerboard="1"
inkscape:document-units="px"
inkscape:deskcolor="#505050">
<inkscape:grid
id="grid10"
type="xygrid" />
</sodipodi:namedview>
<defs
id="defs2" />
<g
style="display:none"
id="layer2"
inkscape:groupmode="layer"
inkscape:label="ref">
<image
inkscape:label="blobfox"
y="0"
height="127.99999"
width="127.99999"
style="display:inline;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality"
x="0"
preserveAspectRatio="none"
xlink:href="../original/blobfox.png"
id="image80" />
</g>
<g
inkscape:label="Base"
id="layer1"
inkscape:groupmode="layer"
style="display:inline;">
<path
sodipodi:nodetypes="cssscc"
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width: 0.9999987007874529px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
d="M 16.30383280693572,44.518346593765884 C 7.49794250795502,24.14954210434874 8.108201255582628,4.557852670950683 9.997633118203423,1.957147500899705 11.486396902110359,-0.09205855385596245 12.48811604377496,-0.594763176584127 14.929939065750432,0.7578227985109136 17.812417944392998,2.3544991576968837 29.030852778312887,13.344593238401844 43.69938725592964,23.088191846921582 50.0421561400726,27.30138601175646 35.00931301538138,26.045871226540505 42.99999704724422,28.999998606299272 29.02817006975709,29.950787860205207 23.513666475839905,36.39554955923033 16.30383280693572,44.518346593765884 Z "
id="path20678"
inkscape:label="left-ear" />
<path
sodipodi:nodetypes="sccssssscs"
inkscape:label="body"
id="path117-3"
d="M 31.020137109443425,31.795851094651535 C 19.243009132164996,36.4709896822445 1.5274857981304806,58.454409037228 0,94.99841767722766 c 0,0 0.1455496005689134,8.031170707434224 2.203124700664382,14.332028412124867 5.666673414697898,6.493912185279049 20.789397102779642,15.325601916314886 40.376951733190886,17.794922134058186 18.881264138532913,2.3802783314851053 43.113329956168116,-0.4459124233892747 58.31444935769885,-3.8632817376660737 15.201126960585555,-3.417369314276799 22.82638776274064,-13.27958876852013 23.816408511165022,-15.80663748792766 0.9899980712599185,-2.527052498934941 0.10794330283687785,-7.720168514953997 -0.5586028126534327,-9.939454096871888 -0.8118500467775573,-2.7030802085401495 -2.058598974070907,-6.277704319775421 -0.3984302205342433,-11.14843420675456 C 125.4140624640133,81.4968308072114 128.941291301524,61.74966560040687 121.43968151812278,47.67004536732106 106.80734697608871,18.185110339168887 61.32889081382321,19.764256985659177 31.020137109443425,31.795851094651535 Z "
style="display:inline;fill:#ff8702;fill-opacity:1;stroke:none;stroke-width: 0.9999987007874529px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501;" />
<path
id="path117-7"
inkscape:label="hair"
sodipodi:nodetypes="cccsssccc"
style="display:inline;fill:#ff8702;fill-opacity:1;stroke:none;stroke-width: 0.9999987007874529px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501;"
d="M 42.99999704724422,10.998424763841546 C 46.45958746222097,18.0251524242066 47.49165167355703,19.122313325893177 52.99999539370098,25.998424173290392 43.999999527559076,20.998424244156528 34.53124777436033,23.578502378799122 30.53124919168311,25.578502048090474 38.36616415881244,27.06333512349075 39.493956240395434,27.733221963258984 42.99999704724422,28.99842405518016 54.66000918661382,33.20609481865769 65.22610136905114,37.91102968854214 75.25683105288068,32.05170242316133 80.16309227704362,29.18577182733182 89.54933694687652,23.197992787480604 85.00390342504319,20.869518548444155 79.03246932943036,17.81055085785233 74.97847641817023,15.244907494294981 70.80077579524506,13.473033674290015 71.1837968825277,16.17076774130836 71.96815464692307,18.23181962866852 72.88280783925954,21.410533330293966 65.40327427546165,16.44674354146679 57.07394798921465,12.525562845450283 42.99999704724422,10.998424763841546 Z " />
<path
d="M 120.55273,0.60156244 C 111.49933,2.2081032 92.638311,9.0768756 77.498045,30.005858 c 3.348858,1.754226 6.434093,2.629871 10.033202,2.236328 1.233956,-0.134926 2.627013,-0.260996 4.062501,-0.552734 8.413692,-1.709935 21.259262,-17.374059 26.635822,-22.8554448 1.00114,9.5497778 -12.27923,37.6493438 -4.20028,46.5331778 3.27823,3.604628 6.48404,-4.729898 7.41016,-7.69531 3.7465,-12.049663 5.85232,-27.309125 6.0039,-34.117188 0.0598,-2.686778 1.92218,-14.51696903 -6.89062,-12.95312456 z"
id="path14428"
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"
inkscape:label="right-ear"
sodipodi:nodetypes="scsscccss" />
<path
id="path18942"
style="display:inline;fill:#ebdccc;fill-opacity:1;stroke:none;stroke-width: 0.9999987007874529px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
inkscape:label="right-ear-fluff"
d="M 120.93945 3.7070312 C 117.93617 3.7676633 113.05282 5.950531 110.11328 8.2929688 C 109.95628 8.4209961 109.79975 8.5519087 109.64258 8.6835938 C 109.45202 8.8490842 109.26155 9.0143659 109.09375 9.1796875 C 107.99053 10.266605 106.78488 11.306996 105.58594 12.453125 C 104.81311 13.234497 104.05093 14.040022 103.29883 14.867188 C 101.46858 17.074524 99.838862 19.890307 98.865234 24.070312 C 97.969532 27.91578 95.160847 30.471683 91.607422 31.683594 C 96.293888 31.075867 100.20424 30.15138 101.96875 29.464844 C 100.85128 33.038993 99.469773 37.487939 98.382812 40.458984 C 102.79776 41.716394 107.82276 40.204551 110.69531 38.912109 C 110.73208 44.764886 110.73567 51.425833 113.38086 54.560547 C 113.24554 53.878185 113.22172 53.078336 113.19141 52.222656 C 112.8322 42.082217 118.76169 36.325196 122.1582 26.888672 C 123.54353 21.789805 124.79684 8.2939351 123.46484 4.9492188 C 123.13279 4.5031417 122.74519 4.1428245 122.29883 3.8789062 C 121.91339 3.7535033 121.45668 3.6965892 120.93945 3.7070312 z " />
<path
sodipodi:nodetypes="csc"
style="display:inline;fill:#ff8702;fill-opacity:1;stroke:#313131;stroke-width:4.20045;stroke-linecap:round;stroke-opacity:1"
d="m 65.516469,116.23603 c -2.136015,-11.3587 -1.739973,-24.821607 6.105645,-26.873065 8.950331,-2.340317 16.267085,9.169976 21.409876,20.369685"
id="path4894"
inkscape:label="right-hand" />
<path
style="display:inline;fill:#ff8702;fill-opacity:1;stroke:#313131;stroke-width:4.20045;stroke-linecap:round;stroke-opacity:1"
sodipodi:nodetypes="csc"
inkscape:label="left-hand"
id="path4950"
d="M 12.634561,105.94663 C 16.692475,93.859206 26.148328,84.962682 33.163002,87.100258 40.624047,89.373856 39.7915,101.48734 39.150489,114.66982" />
</g>
<g
id="layer3"
inkscape:groupmode="layer"
inkscape:label="Features">
<path
inkscape:label="left-eye"
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width: 1.0015747637175292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.46432;"
d="m 27.790028638187852,54.518416751243436 c 0.6795257685226077,-5.915081341925932 5.559595245685228,-10.090060705115722 9.367468733564223,-9.96827299337508 3.961508253483928,0.1266897587917418 6.467463430414826,4.183022197518811 6.25869367485458,7.163353418765615 -0.413242188455032,5.899286696878478 -3.706945365868293,11.13713719932531 -9.389191945307406,11.095554838757685 -3.447460777659025,-0.02532283364870734 -6.743369687268911,-3.882576225095425 -6.236970463111399,-8.290635264148218 z "
sodipodi:nodetypes="sssss"
id="path22173" />
<path
sodipodi:nodetypes="sssss"
d="m 73.66655332021445,60.86205114716335 c 0.6795250126171256,-6.822349337702783 5.574969229331921,-10.542443679431353 9.382843095163658,-10.420655967690712 3.9615116550585965,0.1266897587917418 7.263779241583495,4.59354690576587 7.000225236211606,8.612605645173007 -0.42921069176335863,6.54523816751031 -4.10038283069359,10.875412485219982 -9.782630166038183,10.833830124652359 -3.447461911517248,-0.02532283364870734 -7.040205077157282,-4.610577456276478 -6.600438165337081,-9.025779802134656 z "
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width: 0.9999987007874529px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46432;"
id="path22173-3"
inkscape:label="right-eye" />
<path
d="M 33.65228012392598,80.15315967900948 C 31.806569834387016,76.34655573438758 31.77972422914472,72.60797950362286 34.17994523701003,70.09703535051042 36.58016624487534,67.58609119739799 41.88212622511315,64.24552565962499 41.54241852195203,52.43065494367501 "
sodipodi:nodetypes="csc"
inkscape:label="nose-outline"
id="path27175"
style="fill:none;fill-opacity:1;stroke:#313131;stroke-width: 4.403149432946873;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;" />
<path
id="path28517"
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width: 0.9999987007874529px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
sodipodi:nodetypes="ssss"
d="m 40.34966392324158,72.47314864278943 c 3.6117579680410254,-1.9703167728221747 14.54861800989693,-2.6692950130198816 17.07116531215885,2.575800843472408 0.4033398266401644,0.8386544551710846 -6.115736452136361,7.143990899842878 -10.106864483981715,7.1351354671206515 -3.859048666966588,-0.008692913043586102 -7.870185516921832,-9.2167479835926 -6.964300828177134,-9.710936310593059 z "
inkscape:label="nose" />
</g>
<metadata
id="metadata30760">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:rights>
<cc:Agent>
<dc:title>Blobfox team (https://git.shadamethyst.xyz/adri326/blobfox), licensed under the Apache 2.0 License</dc:title>
</cc:Agent>
</dc:rights>
<dc:title>blobfox_oh_my</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Feuerfuchs</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>https://git.shadamethyst.xyz/adri326/blobfox</dc:source>
<dc:contributor>
<cc:Agent>
<dc:title>Shad Amethyst</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
</rdf:RDF>
</metadata>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

@ -0,0 +1,131 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
viewBox="0 0 128 128"
width="128"
sodipodi:docname="blobfox_snuggle_right.svg"
id="svg5"
height="128"
version="1.1"
xml:space="preserve"
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"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><title
id="title30762">blobfox_snuggle_right</title><sodipodi:namedview
inkscape:window-maximized="1"
bordercolor="#ffffff"
inkscape:showpageshadow="2"
inkscape:window-height="1022"
inkscape:pageopacity="0"
borderopacity="1"
inkscape:cy="11.418753"
inkscape:window-x="0"
id="namedview7"
pagecolor="#505050"
inkscape:pageshadow="0"
showgrid="false"
inkscape:zoom="3.459222"
inkscape:window-width="1920"
inkscape:window-y="36"
inkscape:current-layer="svg5"
inkscape:cx="14.598659"
units="px"
inkscape:pagecheckerboard="1"
inkscape:document-units="px"
inkscape:deskcolor="#505050"><inkscape:grid
id="grid10"
type="xygrid" /></sodipodi:namedview><defs
id="defs2" /><g
style="display:none"
id="layer2"
inkscape:groupmode="layer"
inkscape:label="ref"><image
inkscape:label="blobfox"
y="0"
height="127.99999"
width="127.99999"
style="display:none;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality"
x="0"
preserveAspectRatio="none"
xlink:href="../original/blobfox.png"
id="image80" /><image
width="221.0103"
height="221.0103"
preserveAspectRatio="none"
style="display:inline;image-rendering:optimizeSpeed"
xlink:href="../original/blobfoxsnuggle.png"
id="image545"
x="-93.369904"
y="-106.29223"
inkscape:label="blobfoxsnuggle" /></g><g
inkscape:label="Base"
id="layer1"
inkscape:groupmode="layer"
style="display:inline"><path
sodipodi:nodetypes="cssscc"
style="display:inline;fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 12.87231,40.818966 C -2.8719971,22.749014 -4.3550533,3.1367661 -2.9535978,0.24374984 -1.8493312,-2.0357805 -0.73468479,-3.6569086 1.9073133,-2.7558898 5.0260913,-1.6922712 17.794722,2.5508374 34.540893,8.7120265 c 7.146252,2.6292225 3.161601,9.4167855 1.87439,12.1261315 -2.856028,5.37387 -17.877727,10.71439 -23.542973,19.980808 z"
id="path20678"
inkscape:label="left-ear" /><path
id="path117-7"
inkscape:label="hair"
sodipodi:nodetypes="cccsssccc"
style="display:inline;fill:#ff8702;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"
d="m 23.769283,6.3584073 c 2.991294,4.2455057 4.569848,7.4475027 8.895201,10.9888377 -12.070861,-0.541455 -15.260708,1.69375 -19.417541,5.559159 7.973832,0.09289 11.531043,0.522786 15.204226,1.155863 12.215874,2.105419 38.518977,5.035068 47.371493,-2.486915 4.32997,-3.679173 3.410201,-7.265503 -2.316952,-10.378575 C 67.610927,7.9925869 55.645095,4.8584742 51.222049,3.8438904 52.004054,6.0173862 53.35612,8.7380188 54.213344,11.268754 45.9815,7.6883395 37.893549,5.4027147 23.769283,6.3584073 Z" /><path
style="display:inline;fill:#ff8702;fill-opacity:1;stroke:none;stroke-width:2.64567;stroke-linecap:square;stroke-miterlimit:3"
d="m 6.0599734,91.649344 c 0,-8.73002 2.525321,-5.814368 2.6883167,-12.346173 C 8.9112858,72.771365 3.4640017,66.503444 3.0623888,53.796109 2.608823,39.444946 14.618107,15.642023 46.64457,15.642023 c 33.541601,0 57.93714,1.121349 70.19416,23.200939 12.45071,22.428499 12.91096,52.067554 6.38429,59.723645 -6.52667,7.656093 -22.73142,15.897513 -56.529275,15.897513 -33.797859,0 -60.6337716,-12.74755 -60.6337716,-22.814776 z"
id="path8285"
sodipodi:nodetypes="cssssssc"
inkscape:label="body" /><path
d="m 109.65875,-11.393576 c -9.0534,1.6065407 -29.38453,9.7496393 -44.524796,30.678621 0.210609,4.044387 7.117027,6.692013 15.231023,5.036186 8.412314,-1.716705 21.594053,-22.0009765 26.970613,-27.4823623 1.00114,9.5497778 -12.65173,31.3913833 -4.57278,40.2752173 3.27823,3.604628 6.48404,-4.729898 7.41016,-7.69531 3.7465,-12.049663 6.22482,-21.0511645 6.3764,-27.8592275 0.0598,-2.686778 1.92218,-14.5169695 -6.89062,-12.9531245 z"
id="path14428"
style="display:inline;fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"
inkscape:label="right-ear"
sodipodi:nodetypes="scscccss" /><path
id="path18942"
style="display:inline;fill:#ebdccc;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
inkscape:label="right-ear-fluff"
d="M 109.7442,-7.9162135 C 101.79383,-4.5766893 95.432201,2.858004 93.256387,11.957451 92.338149,15.7976 86.384544,21.344383 83.242552,23.116446 c 3.859188,-0.486555 8.080586,-0.662358 9.623136,-0.582576 -0.593528,2.540618 -1.150986,5.084216 -1.270641,7.589149 2.095641,-2.400784 6.129327,-4.663902 8.596323,-5.42458 -0.870477,4.814098 -0.218062,7.843034 1.18668,10.437489 0.3855,-11.747093 7.77479,-14.345491 10.05823,-21.014332 1.71162,-4.9987961 4.75466,-15.8385462 1.25678,-21.4073931 -0.64101,-1.0205338 -2.00455,-1.0270711 -2.94886,-0.6304164 z"
sodipodi:nodetypes="sscccccsss" /></g><path
style="display:inline;fill:#d7598b;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 17.72597,-41.253132 c -16.4839759,-13.834047 -35.286949,-20.212453 -35.048215,-38.509879 0.240607,-18.441014 20.4879641,-26.754159 33.988875,-11.615136 14.815902,-15.682973 35.699176,-6.749076 35.870572,10.725178 0.176725,18.017637 -17.997183,25.160186 -34.811232,39.399837 z"
id="path62976"
sodipodi:nodetypes="cscsc"
inkscape:label="heart" /><g
id="layer3"
inkscape:groupmode="layer"
inkscape:label="Features"
style="display:inline"
transform="rotate(-10 45 75)"><path
d="m 33.65228,80.15316 c -1.84571,-3.806604 -1.872556,-7.54518 0.527665,-10.056125 2.400221,-2.510944 6.697437,-10.228997 6.681819,-14.101173"
sodipodi:nodetypes="csc"
inkscape:label="nose-outline"
id="path27175"
style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:4.40315;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
id="path28517"
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
sodipodi:nodetypes="ssss"
d="m 40.349664,72.473149 c 3.611758,-1.970317 14.548618,-2.669295 17.071165,2.5758 0.40334,0.838655 -6.115736,7.143991 -10.106864,7.135136 -3.859049,-0.0087 -7.870186,-9.216748 -6.964301,-9.710936 z"
inkscape:label="nose" /><path
inkscape:label="mouth"
id="path29369"
style="fill:none;stroke:#313131;stroke-width:4.40315;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 30.329986,85.466434 c 2.073506,6.374978 4.020579,10.401679 5.959243,12.940501 3.750744,-3.131043 8.538975,-7.475595 10.436736,-9.373813 2.962201,4.818455 7.017346,10.375135 8.671615,12.645698 4.859078,-3.873207 9.518861,-7.995561 11.43575,-10.162866"
sodipodi:nodetypes="ccccc" /><path
style="display:inline;fill:#313131;fill-opacity:1;stroke-width:4.45223;stroke-linecap:round"
sodipodi:nodetypes="ssssss"
d="m 24.641601,45.918665 c -4.075919,0.730189 -6.501377,3.925039 -6.273966,5.603347 0.227411,1.678308 1.347515,2.224702 3.8872,1.666965 2.397981,-0.52641 9.098771,-2.404689 17.303469,3.65651 2.148157,1.586937 4.650972,-0.810343 2.741314,-2.795355 -7.65445,-7.956509 -12.747952,-9.01107 -17.658017,-8.131467 z"
inkscape:label="left-eye"
id="left-eye" /><path
sodipodi:nodetypes="ssssss"
style="display:inline;fill:#313131;fill-opacity:1;stroke-width:4.41528;stroke-linecap:round"
d="m 83.448042,49.242516 c 3.928913,1.194349 5.945041,4.623512 5.525393,6.249833 -0.419635,1.626313 -1.586453,2.033818 -4.022559,1.188423 -2.300205,-0.798011 -8.680288,-3.429088 -17.467185,1.58346 -2.300578,1.312383 -4.485891,-1.340335 -2.373777,-3.072561 8.46599,-6.943249 13.605145,-7.38791 18.338128,-5.949155 z"
id="path456-3"
inkscape:label="right-eye" /></g><metadata
id="metadata30760"><rdf:RDF><cc:Work
rdf:about=""><dc:rights><cc:Agent><dc:title>Blobfox team (https://git.shadamethyst.xyz/adri326/blobfox), licensed under the Apache 2.0 License</dc:title></cc:Agent></dc:rights><dc:title>blobfox_snuggle_right</dc:title><dc:creator><cc:Agent><dc:title>Feuerfuchs</dc:title></cc:Agent></dc:creator><dc:source>https://git.shadamethyst.xyz/adri326/blobfox</dc:source><dc:contributor><cc:Agent><dc:title>Shad Amethyst</dc:title></cc:Agent></dc:contributor></cc:Work></rdf:RDF></metadata></svg>

After

Width:  |  Height:  |  Size: 9.3 KiB

@ -1,14 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
viewBox="0 0 128 128"
width="128"
sodipodi:docname="blobhusky.svg"
id="svg5"
height="128"
viewBox="0 0 33.866668 33.866668"
version="1.1"
id="svg5"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
sodipodi:docname="blobhusky.svg"
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"
@ -20,135 +18,124 @@
<title
id="title30762">blobhusky</title>
<sodipodi:namedview
id="namedview7"
pagecolor="#505050"
inkscape:window-maximized="1"
bordercolor="#ffffff"
inkscape:showpageshadow="2"
inkscape:window-height="1058"
inkscape:pageopacity="0"
borderopacity="1"
inkscape:cy="94.410982"
inkscape:window-x="0"
id="namedview7"
pagecolor="#505050"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="3.777754"
inkscape:cx="11.91184"
inkscape:cy="46.059113"
inkscape:window-width="1536"
inkscape:window-height="779"
inkscape:window-x="0"
inkscape:zoom="5.5131298"
inkscape:window-width="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
inkscape:cx="54.869015"
units="px"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="1"
inkscape:document-units="px"
inkscape:deskcolor="#505050">
<inkscape:grid
type="xygrid"
id="grid10" />
id="grid10"
type="xygrid" />
</sodipodi:namedview>
<defs
id="defs2" />
<g
inkscape:groupmode="layer"
style="display:none"
id="layer2"
inkscape:label="ref"
style="display:inline">
inkscape:groupmode="layer"
inkscape:label="ref">
<image
width="32.969513"
height="32.969513"
inkscape:label="blobfox"
y="0"
height="127.99999"
width="127.99999"
style="display:inline;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality"
x="0"
preserveAspectRatio="none"
style="display:none;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality"
xlink:href="../original/blobfox.png"
id="image80"
x="0"
y="0.89720488"
inkscape:label="blobfox" />
id="image80" />
</g>
<g
inkscape:label="Base"
inkscape:groupmode="layer"
id="layer1"
style="display:inline">
<path
id="path117-3"
style="display:inline;fill:#6c6d6f;fill-opacity:1;stroke:none;stroke-width:0.257574px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"
d="M 7.989991,9.0869999 C 4.9565052,10.291196 0.39344113,15.95356 0,25.366359 c 0,0 0.03748984,2.068623 0.56746837,3.691562 C 7.2826293,29.073482 29.877664,28.752258 31.978453,26.014822 31.769342,25.318578 31.448211,24.397846 31.875828,23.143271 32.303443,21.888696 33.211967,16.802334 31.279744,13.175785 27.510831,5.5812225 15.796748,5.9879701 7.989991,9.0869999 Z"
sodipodi:nodetypes="scccscs"
inkscape:label="body" />
<path
id="path7108"
style="fill:#b2b3b5;fill-opacity:1;stroke-width:1.03679;stroke-linecap:round"
d="M 10.007165,10.63774 C 9.8147283,10.637508 9.6174423,10.64464 9.4155488,10.65887 5.4997596,10.935245 2.1149177,16.205573 3.166353,21.148987 2.6288767,21.133037 2.3267563,21.01814 1.8940768,20.78476 c 0.047037,0.76213 0.5296951,1.369057 1.0408619,1.759756 -0.1841299,0.04816 -0.2942126,0.06563 -0.4497489,0.04075 0.03086,0.07428 0.071377,0.113528 0.1574624,0.179094 -0.4199491,0.163847 -0.8683539,0.226976 -1.3814435,0.250029 0.1388878,0.302775 0.4173201,0.504721 0.7254338,0.619285 -0.8155131,0.352471 -1.53980376,1.184554 -1.95645801,2.324709 0.04938002,0.730001 0.18101489,2.00845 0.53728393,3.099444 1.45958818,1.672663 5.35481998,3.947481 10.40006658,4.583514 4.863324,0.613099 11.104891,-0.114856 15.020305,-0.995082 3.915416,-0.880226 5.879491,-3.420482 6.134495,-4.071384 0.254997,-0.650904 0.02781,-1.988518 -0.14388,-2.560149 -0.08095,-0.269524 -0.177893,-0.572949 -0.242481,-0.916099 -0.895452,-1.760771 -3.046337,-1.796427 -4.339021,-1.874457 0.134796,-0.0763 0.245428,-0.146377 0.341084,-0.240973 -0.09084,-0.03847 -0.234186,-0.08679 -0.304863,-0.104136 0.26735,-0.1327 0.626791,-0.448635 0.684685,-0.659028 -0.54646,0.01152 -1.383493,-0.06179 -1.857352,-0.414534 0.871928,-0.150869 1.657522,-0.347641 2.180326,-1.313528 -0.160653,0.03654 -0.35964,0.102741 -0.491505,0.08603 0.02331,-0.08228 0.06588,-0.246675 0.07798,-0.328508 -0.230473,0.177182 -0.595562,0.274432 -0.904026,0.258077 1.496477,-4.240011 -1.198276,-7.506272 -3.74992,-8.770606 -1.620121,-0.802767 -4.942268,-1.071023 -6.464511,-0.112689 -0.103843,0.06538 -0.28994,0.452107 -0.222359,0.842147 -0.118948,-0.06542 -0.202367,-0.114254 -0.315931,-0.20626 0.01763,0.320229 -0.241257,1.427224 -0.965905,2.093797 -0.168979,-0.480377 -0.252347,-0.722866 -0.38787,-1.052433 -0.120315,0.194046 -0.218747,0.284688 -0.405478,0.405479 0.07865,-1.48841 -1.717596,-3.065791 -4.604141,-3.06926 z"
inkscape:label="body-light" />
<path
style="display:inline;fill:#6c6d6f;fill-opacity:1;stroke-width:1.4865;stroke-linecap:round"
d="m 32.032947,22.575706 c 0.08175,-0.337392 0.342971,-0.562688 0.471355,-0.666401 0.296078,-0.23918 0.841685,-0.157691 1.103324,-0.237143 -0.157429,-0.241306 -0.395762,-0.523021 -0.56156,-0.623072 0.60957,-0.736801 0.735217,-2.220233 0.713556,-2.742967 -0.224584,0.112189 -0.448839,0.109067 -0.659564,0.0744 0.16937,-0.232632 0.377351,-0.648799 0.364754,-0.965932 -0.186593,0.0099 -0.293519,-0.03126 -0.377066,-0.11679 0.712614,-0.401152 0.93287,-1.378818 0.524594,-2.751368 -0.360185,0.676139 -1.232842,0.605215 -1.70532,0.738653 -0.513424,0.145001 -1.650504,5.919355 0.125582,7.289609 z"
id="path19438"
sodipodi:nodetypes="cscccccccscc"
inkscape:label="right-hair" />
<path
style="fill:#6c6d6f;fill-opacity:1;stroke-width:2.03277;stroke-linecap:round"
d="M 0.52856564,19.005734 C 0.46090617,18.739046 0.42676316,18.556683 0.43136805,18.265277 0.65618848,18.398117 0.94944636,18.487 1.1980908,18.501678 0.72951543,17.752329 0.53621142,16.74758 0.49073503,15.890597 c 0.3117419,0.23832 0.83059107,0.382475 1.21737147,0.392142 -0.16673,-0.607343 -0.1375527,-2.013869 0.0098,-2.707508 0.4563781,0.432572 0.7936453,0.653784 1.3836561,0.636255 0.8243205,-0.02449 -1.0141094,6.865854 -2.57831894,7.508712 -0.53841244,-0.803372 -0.51624647,-2.746947 -0.51942208,-3.266451 0.13684682,0.252342 0.34020814,0.445144 0.52474576,0.551989 z"
id="path19326"
sodipodi:nodetypes="ccccccscccc"
inkscape:label="left-hair" />
inkscape:groupmode="layer"
style="display:inline;">
<path
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.257574px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 4.1994488,12.363988 C 1.9312775,7.117507 2.0884645,2.0711907 2.5751336,1.4013158 2.958601,0.87349295 3.2166181,0.74400915 3.845569,1.0924006 4.5880216,1.5036634 7.4776024,4.3344295 11.25584,6.8441304 12.889575,7.9293411 9.0175003,7.6059527 11.075695,8.3668601 7.4769114,8.611759 6.0565169,10.271764 4.1994488,12.363988 Z"
id="path20678"
sodipodi:nodetypes="cssscc"
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width: 0.9999987007874529px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
d="M 16.30383280693572,44.518346593765884 C 7.49794250795502,24.14954210434874 8.108201255582628,4.557852670950683 9.997633118203423,1.957147500899705 11.486396902110359,-0.09205855385596245 12.48811604377496,-0.594763176584127 14.929939065750432,0.7578227985109136 17.812417944392998,2.3544991576968837 29.030852778312887,13.344593238401844 43.69938725592964,23.088191846921582 50.0421561400726,27.30138601175646 35.00931301538138,26.045871226540505 42.99999704724422,28.999998606299272 29.02817006975709,29.950787860205207 23.513666475839905,36.39554955923033 16.30383280693572,44.518346593765884 Z "
id="path20678"
inkscape:label="left-ear" />
<path
sodipodi:nodetypes="sccssssscs"
inkscape:label="body"
id="path117-3"
d="M 31.020137109443425,31.795851094651535 C 19.243009132164996,36.4709896822445 1.5274857981304806,58.454409037228 0,94.99841767722766 c 0,0 0.1455496005689134,8.031170707434224 2.203124700664382,14.332028412124867 5.666673414697898,6.493912185279049 20.789397102779642,15.325601916314886 40.376951733190886,17.794922134058186 18.881264138532913,2.3802783314851053 43.113329956168116,-0.4459124233892747 58.31444935769885,-3.8632817376660737 15.201126960585555,-3.417369314276799 22.82638776274064,-13.27958876852013 23.816408511165022,-15.80663748792766 0.9899980712599185,-2.527052498934941 0.10794330283687785,-7.720168514953997 -0.5586028126534327,-9.939454096871888 -0.8118500467775573,-2.7030802085401495 -2.058598974070907,-6.277704319775421 -0.3984302205342433,-11.14843420675456 C 125.4140624640133,81.4968308072114 128.941291301524,61.74966560040687 121.43968151812278,47.67004536732106 106.80734697608871,18.185110339168887 61.32889081382321,19.764256985659177 31.020137109443425,31.795851094651535 Z "
style="display:inline;fill:#6b6b6f;fill-opacity:1;stroke:none;stroke-width:0.999998700787453px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501" />
<path
style="fill:#e1e1e3;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 10.451417,79.58984 C 9.2678929,78.549183 9.3092299,72.967375 10.059996,66.535398 11.368553,55.324706 21.816817,38.790821 37.658667,38.687954 51.357923,38.599 55.7078,49.541448 53.172834,59.027414 c 1.379774,-0.548553 2.404999,-1.315625 3.251991,-2.611166 0.964481,2.157831 3.006616,4.936456 4.49125,6.574218 1.501941,-15.15693 13.231361,-19.811605 23.868312,-18.568532 15.402973,1.800048 24.002453,19.893144 16.262413,36.971392 3.34386,0.660314 9.11017,0.507557 11.54359,-0.340468 -0.13142,3.105901 -1.60324,7.358563 -2.99567,8.666558 1.51042,1.498997 9.84066,4.422945 22.48238,2.811367 3.06325,11.883477 7.36675,40.201097 -55.919648,41.542497 C 11.450383,135.44479 -10.839333,116.96152 -0.87171817,78.325955 2.947381,79.585866 9.1196192,80.588794 10.451417,79.58984 Z"
id="path1300"
sodipodi:nodetypes="csscccsccccscc"
inkscape:label="marks" />
<path
id="path117-7"
style="display:inline;fill:#6c6d6f;fill-opacity:1;stroke:none;stroke-width:0.257574px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"
d="M 11.075695,3.7301168 C 11.966797,5.5400214 12.23263,5.8226219 13.651438,7.5937315 11.33327,6.3058599 8.894363,6.9704218 7.864066,7.4855704 c 2.018073,0.3824549 2.308563,0.5550005 3.211629,0.8808841 3.00332,1.083788 5.724874,2.2956585 8.308533,0.7864461 C 20.647955,8.4147105 23.06561,6.8724123 21.894823,6.2726571 20.356735,5.4847456 19.312531,4.8239017 18.236462,4.3675125 18.335119,5.0623795 18.537149,5.5932536 18.77274,6.4120086 16.846204,5.1334638 14.700784,4.1234683 11.075695,3.7301168 Z"
inkscape:label="hair"
sodipodi:nodetypes="cccsssccc"
inkscape:label="hair" />
<path
style="display:inline;fill:#b2b3b5;fill-opacity:1;stroke:none;stroke-width:0.257574px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 31.025803,1.7649605 c 2.419115,0.05957 0.646668,7.3675582 -0.496111,8.9075555 -1.14278,1.539998 -0.809523,4.133387 -1.318781,4.287576 -0.688898,-0.803656 -0.689037,-2.527086 -0.698543,-4.040172 -0.739897,0.3329 -2.034522,0.722216 -3.171702,0.398339 0.279974,-0.765266 0.636014,-1.9112854 0.923847,-2.8318954 -0.468561,0.1823082 -1.5227,0.4309416 -2.779709,0.5869002 1.126794,-2.2723419 5.121884,-7.3678731 7.540999,-7.3083033 z"
id="path18942"
inkscape:label="right-ear-fluff"
sodipodi:nodetypes="sscccccs" />
style="display:inline;fill:#6b6b6f;fill-opacity:1;stroke:none;stroke-width:0.999998700787453px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"
d="M 42.99999704724422,10.998424763841546 C 46.45958746222097,18.0251524242066 47.49165167355703,19.122313325893177 52.99999539370098,25.998424173290392 43.999999527559076,20.998424244156528 34.53124777436033,23.578502378799122 30.53124919168311,25.578502048090474 38.36616415881244,27.06333512349075 39.493956240395434,27.733221963258984 42.99999704724422,28.99842405518016 54.66000918661382,33.20609481865769 65.22610136905114,37.91102968854214 75.25683105288068,32.05170242316133 80.16309227704362,29.18577182733182 89.54933694687652,23.197992787480604 85.00390342504319,20.869518548444155 79.03246932943036,17.81055085785233 74.97847641817023,15.244907494294981 70.80077579524506,13.473033674290015 71.1837968825277,16.17076774130836 71.96815464692307,18.23181962866852 72.88280783925954,21.410533330293966 65.40327427546165,16.44674354146679 57.07394798921465,12.525562845450283 42.99999704724422,10.998424763841546 Z " />
<path
d="M 120.55273,0.60156244 C 111.49933,2.2081032 92.638311,9.0768756 77.498045,30.005858 c 3.348858,1.754226 6.434093,2.629871 10.033202,2.236328 1.233956,-0.134926 2.627013,-0.260996 4.062501,-0.552734 8.413692,-1.709935 21.259262,-17.374059 26.635822,-22.8554448 1.00114,9.5497778 -12.27923,37.6493438 -4.20028,46.5331778 3.27823,3.604628 6.48404,-4.729898 7.41016,-7.69531 3.7465,-12.049663 5.85232,-27.309125 6.0039,-34.117188 0.0598,-2.686778 1.92218,-14.51696903 -6.89062,-12.95312456 z"
id="path14428"
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.257574px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"
inkscape:label="right-ear"
d="m 31.458779,1.0315259 c -0.125062,-0.00415 -0.260581,0.0025 -0.407491,0.020626 -2.350538,0.2899545 -7.190037,2.1830231 -11.089781,7.5737918 0.584215,0.3460459 1.22942,0.5450953 1.867916,0.6127451 0.230804,0.00876 0.469105,-0.00301 0.716379,-0.036725 0.3168,-0.043189 0.672866,-0.089139 1.046396,-0.1423702 0.917004,-0.3116487 1.64193,-0.9706799 1.872947,-1.9624949 0.508771,-2.1842668 1.711685,-2.926166 2.634603,-3.8354426 0.922919,-0.9092764 3.260691,-1.8684622 3.663895,-1.1696489 0.403203,0.698813 0.0703,4.3724125 -0.298827,5.7310285 C 30.589961,10.253645 29.062677,11.7365 29.1552,14.34842 c 0.008,0.225671 0.01367,0.436816 0.05081,0.61526 0.05088,0.06728 0.105821,0.132495 0.165008,0.19469 0.726632,0.763566 1.252099,-0.175977 1.588711,-1.053941 0.101501,-0.269487 0.204811,-0.557842 0.319955,-0.928173 0.965004,-3.103684 1.502839,-7.0342371 1.546453,-8.7877117 0.02135,-0.8582283 0.508578,-3.2947524 -1.367358,-3.3570184 z" />
sodipodi:nodetypes="scsscccss" />
<path
id="path18942"
style="display:inline;fill:#e1e1e3;fill-opacity:1;stroke:none;stroke-width:0.999998700787453px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
inkscape:label="right-ear-fluff"
d="M 120.93945 3.7070312 C 117.93617 3.7676633 113.05282 5.950531 110.11328 8.2929688 C 109.95628 8.4209961 109.79975 8.5519087 109.64258 8.6835938 C 109.45202 8.8490842 109.26155 9.0143659 109.09375 9.1796875 C 107.99053 10.266605 106.78488 11.306996 105.58594 12.453125 C 104.81311 13.234497 104.05093 14.040022 103.29883 14.867188 C 101.46858 17.074524 99.838862 19.890307 98.865234 24.070312 C 97.969532 27.91578 95.160847 30.471683 91.607422 31.683594 C 96.293888 31.075867 100.20424 30.15138 101.96875 29.464844 C 100.85128 33.038993 99.469773 37.487939 98.382812 40.458984 C 102.79776 41.716394 107.82276 40.204551 110.69531 38.912109 C 110.73208 44.764886 110.73567 51.425833 113.38086 54.560547 C 113.24554 53.878185 113.22172 53.078336 113.19141 52.222656 C 112.8322 42.082217 118.76169 36.325196 122.1582 26.888672 C 123.54353 21.789805 124.79684 8.2939351 123.46484 4.9492188 C 123.13279 4.5031417 122.74519 4.1428245 122.29883 3.8789062 C 121.91339 3.7535033 121.45668 3.6965892 120.93945 3.7070312 z " />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:groupmode="layer"
inkscape:label="Features">
<path
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.25798;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.46432"
d="m 7.157998,14.939749 c 0.1750284,-1.523573 1.432009,-2.59894 2.4128195,-2.567571 1.0203825,0.03263 1.6658525,1.077439 1.6120785,1.845096 -0.10644,1.519505 -0.954814,2.868641 -2.4184145,2.85793 -0.8879774,-0.0065 -1.736919,-1.000052 -1.6064835,-2.135455 z"
id="path22173"
inkscape:label="left-eye"
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width: 1.0015747637175292;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.46432;"
d="m 27.790028638187852,54.518416751243436 c 0.6795257685226077,-5.915081341925932 5.559595245685228,-10.090060705115722 9.367468733564223,-9.96827299337508 3.961508253483928,0.1266897587917418 6.467463430414826,4.183022197518811 6.25869367485458,7.163353418765615 -0.413242188455032,5.899286696878478 -3.706945365868293,11.13713719932531 -9.389191945307406,11.095554838757685 -3.447460777659025,-0.02532283364870734 -6.743369687268911,-3.882576225095425 -6.236970463111399,-8.290635264148218 z "
sodipodi:nodetypes="sssss"
inkscape:label="left-eye" />
id="path22173" />
<path
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.257574px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46432"
d="m 18.974613,16.573707 c 0.175028,-1.757262 1.435969,-2.715463 2.41678,-2.684094 1.020383,0.03263 1.870963,1.18318 1.803078,2.218387 -0.110554,1.685885 -1.056153,2.801227 -2.519755,2.790516 -0.887977,-0.0065 -1.813376,-1.187566 -1.700103,-2.324809 z"
id="path22173-3"
sodipodi:nodetypes="sssss"
d="m 73.66655332021445,60.86205114716335 c 0.6795250126171256,-6.822349337702783 5.574969229331921,-10.542443679431353 9.382843095163658,-10.420655967690712 3.9615116550585965,0.1266897587917418 7.263779241583495,4.59354690576587 7.000225236211606,8.612605645173007 -0.42921069176335863,6.54523816751031 -4.10038283069359,10.875412485219982 -9.782630166038183,10.833830124652359 -3.447461911517248,-0.02532283364870734 -7.040205077157282,-4.610577456276478 -6.600438165337081,-9.025779802134656 z "
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width: 0.9999987007874529px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46432;"
id="path22173-3"
inkscape:label="right-eye" />
<path
style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:1.13414;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 8.6679635,21.542601 C 8.1925559,20.562118 8.1856411,19.599156 8.8038765,18.952402 9.4221118,18.305647 10.787761,17.445203 10.700261,14.401996"
id="path27175"
d="M 33.65228012392598,80.15315967900948 C 31.806569834387016,76.34655573438758 31.77972422914472,72.60797950362286 34.17994523701003,70.09703535051042 36.58016624487534,67.58609119739799 41.88212622511315,64.24552565962499 41.54241852195203,52.43065494367501 "
sodipodi:nodetypes="csc"
inkscape:label="nose-outline" />
inkscape:label="nose-outline"
id="path27175"
style="fill:none;fill-opacity:1;stroke:#313131;stroke-width: 4.403149432946873;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;" />
<path
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.257574px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 10.393038,19.564428 c 0.930296,-0.507504 3.74735,-0.687542 4.397094,0.66346 0.10389,0.216016 -1.575257,1.840108 -2.603269,1.837827 -0.993992,-0.0022 -2.027158,-2.373997 -1.793825,-2.501287 z"
id="path28517"
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width: 0.9999987007874529px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
sodipodi:nodetypes="ssss"
d="m 40.34966392324158,72.47314864278943 c 3.6117579680410254,-1.9703167728221747 14.54861800989693,-2.6692950130198816 17.07116531215885,2.575800843472408 0.4033398266401644,0.8386544551710846 -6.115736452136361,7.143990899842878 -10.106864483981715,7.1351354671206515 -3.859048666966588,-0.008692913043586102 -7.870185516921832,-9.2167479835926 -6.964300828177134,-9.710936310593059 z "
inkscape:label="nose" />
<path
style="fill:none;stroke:#313131;stroke-width:1.13414;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 7.8122259,22.911164 c 0.5340817,1.642031 1.0355978,2.679206 1.534948,3.333141 0.9660951,-0.806476 2.1994201,-1.925521 2.6882351,-2.414454 0.762987,1.241111 1.807488,2.672369 2.233586,3.257208 1.251573,-0.997639 2.451814,-2.059451 2.945555,-2.617694"
inkscape:label="mouth"
id="path29369"
sodipodi:nodetypes="ccccc"
inkscape:label="mouth" />
style="fill:none;stroke:#313131;stroke-width: 4.403149432946873;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;"
d="m 30.329986333465108,85.46643443045535 c 2.0735054301769518,6.37497801673315 4.0205784873788,10.401678960563823 5.959242851998313,12.940500907854297 3.7507440413092903,-3.1310436562581243 8.538974403977388,-7.475595296236407 10.4367355891049,-9.37381380418056 2.9622008282598102,4.818455243367905 7.01734649538006,10.375135339561602 8.671615406629316,12.64569776985442 4.859077603973323,-3.873206776645403 9.51886072760391,-7.995560000174804 11.435750100954722,-10.16286574161946 "
sodipodi:nodetypes="ccccc" />
</g>
<metadata
id="metadata30760">

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
viewBox="0 0 128 128"
width="128"
sodipodi:docname="blobhusky_snuggle_right.svg"
id="svg5"
height="128"
version="1.1"
xml:space="preserve"
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"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><title
id="title30762">blobhusky_snuggle_right</title><sodipodi:namedview
inkscape:window-maximized="1"
bordercolor="#ffffff"
inkscape:showpageshadow="2"
inkscape:window-height="1022"
inkscape:pageopacity="0"
borderopacity="1"
inkscape:cy="72.77648"
inkscape:window-x="0"
id="namedview7"
pagecolor="#505050"
inkscape:pageshadow="0"
showgrid="false"
inkscape:zoom="6.918444"
inkscape:window-width="1920"
inkscape:window-y="36"
inkscape:current-layer="layer1"
inkscape:cx="67.572998"
units="px"
inkscape:pagecheckerboard="1"
inkscape:document-units="px"
inkscape:deskcolor="#505050"><inkscape:grid
id="grid10"
type="xygrid" /></sodipodi:namedview><defs
id="defs2" /><g
style="display:none"
id="layer2"
inkscape:groupmode="layer"
inkscape:label="ref"><image
inkscape:label="blobfox"
y="0"
height="127.99999"
width="127.99999"
style="display:none;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality"
x="0"
preserveAspectRatio="none"
xlink:href="../original/blobfox.png"
id="image80" /><image
width="221.0103"
height="221.0103"
preserveAspectRatio="none"
style="display:inline;image-rendering:optimizeSpeed"
xlink:href="../original/blobfoxsnuggle.png"
id="image545"
x="-93.369904"
y="-106.29223"
inkscape:label="blobfoxsnuggle" /></g><g
inkscape:label="Base"
id="layer1"
inkscape:groupmode="layer"
style="display:inline"><path
sodipodi:nodetypes="cssscc"
style="display:inline;fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 12.87231,40.818966 C -2.8719971,22.749014 -4.3550533,3.1367661 -2.9535978,0.24374984 -1.8493312,-2.0357805 -0.73468479,-3.6569086 1.9073133,-2.7558898 5.0260913,-1.6922712 17.794722,2.5508374 34.540893,8.7120265 c 7.146252,2.6292225 3.161601,9.4167855 1.87439,12.1261315 -2.856028,5.37387 -17.877727,10.71439 -23.542973,19.980808 z"
id="path20678"
inkscape:label="left-ear" /><path
id="path117-7"
inkscape:label="hair"
sodipodi:nodetypes="cccsssccc"
style="display:inline;fill:#6b6b6f;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"
d="m 23.769283,6.3584073 c 2.991294,4.2455057 4.569848,7.4475027 8.895201,10.9888377 -12.070861,-0.541455 -15.260708,1.69375 -19.417541,5.559159 7.973832,0.09289 11.531043,0.522786 15.204226,1.155863 12.215874,2.105419 38.518977,5.035068 47.371493,-2.486915 4.32997,-3.679173 3.410201,-7.265503 -2.316952,-10.378575 C 67.610927,7.9925869 55.645095,4.8584742 51.222049,3.8438904 52.004054,6.0173862 53.35612,8.7380188 54.213344,11.268754 45.9815,7.6883395 37.893549,5.4027147 23.769283,6.3584073 Z" /><path
style="display:inline;fill:#6b6b6f;fill-opacity:1;stroke:none;stroke-width:2.64567;stroke-linecap:square;stroke-miterlimit:3"
d="m 6.0599734,91.649344 c 0,-8.73002 2.525321,-5.814368 2.6883167,-12.346173 C 8.9112858,72.771365 3.4640017,66.503444 3.0623888,53.796109 2.608823,39.444946 14.618107,15.642023 46.64457,15.642023 c 33.541601,0 57.93714,1.121349 70.19416,23.200939 12.45071,22.428499 12.91096,52.067554 6.38429,59.723645 -6.52667,7.656093 -22.73142,15.897513 -56.529275,15.897513 -33.797859,0 -60.6337716,-12.74755 -60.6337716,-22.814776 z"
id="path8285"
sodipodi:nodetypes="cssssssc"
inkscape:label="body" /><path
style="display:inline;fill:#e1e1e3;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 16.629241,80.571346 C 15.231155,79.843987 10.955171,72.535262 9.2860715,66.278419 5.8566492,53.422768 10.17537,42.947179 23.223127,40.479322 c 13.460885,-2.545997 22.109162,5.358734 21.916752,15.175688 1.208512,-0.862661 2.020499,-1.852693 2.533021,-3.313221 1.452621,1.864497 4.100103,4.074001 5.933382,5.30911 -2.16708,-15.076211 8.108496,-22.401359 18.734012,-23.738647 15.386423,-1.93648 27.948726,13.164157 24.978685,31.669218 3.402391,0.202712 9.095261,-0.727329 11.391871,-1.896196 0.28921,3.095199 -0.59486,7.507662 -1.7979,8.991709 1.69901,1.2813 9.14755,2.522767 20.92386,-2.127603 4.63993,11.360965 6.30005,47.20037 -51.475282,47.45787 C 18.344531,118.26583 0.64246063,100.71171 7.3851971,82.099313 11.394797,82.409152 15.575044,81.859859 16.629241,80.571346 Z"
id="path1300"
sodipodi:nodetypes="csscccsccccscc"
inkscape:label="marks" /><path
d="m 109.65875,-11.393576 c -9.0534,1.6065407 -29.38453,9.7496393 -44.524796,30.678621 0.210609,4.044387 7.117027,6.692013 15.231023,5.036186 8.412314,-1.716705 21.594053,-22.0009765 26.970613,-27.4823623 1.00114,9.5497778 -12.65173,31.3913833 -4.57278,40.2752173 3.27823,3.604628 6.48404,-4.729898 7.41016,-7.69531 3.7465,-12.049663 6.22482,-21.0511645 6.3764,-27.8592275 0.0598,-2.686778 1.92218,-14.5169695 -6.89062,-12.9531245 z"
id="path14428"
style="display:inline;fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"
inkscape:label="right-ear"
sodipodi:nodetypes="scscccss" /><path
id="path18942"
style="display:inline;fill:#e1e1e3;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
inkscape:label="right-ear-fluff"
d="M 109.7442,-7.9162135 C 101.79383,-4.5766893 95.432201,2.858004 93.256387,11.957451 92.338149,15.7976 86.384544,21.344383 83.242552,23.116446 c 3.859188,-0.486555 8.080586,-0.662358 9.623136,-0.582576 -0.593528,2.540618 -1.150986,5.084216 -1.270641,7.589149 2.095641,-2.400784 6.129327,-4.663902 8.596323,-5.42458 -0.870477,4.814098 -0.218062,7.843034 1.18668,10.437489 0.3855,-11.747093 7.77479,-14.345491 10.05823,-21.014332 1.71162,-4.9987961 4.75466,-15.8385462 1.25678,-21.4073931 -0.64101,-1.0205338 -2.00455,-1.0270711 -2.94886,-0.6304164 z"
sodipodi:nodetypes="sscccccsss" /></g><path
style="display:inline;fill:#d7598b;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 17.72597,-41.253132 c -16.4839759,-13.834047 -35.286949,-20.212453 -35.048215,-38.509879 0.240607,-18.441014 20.4879641,-26.754159 33.988875,-11.615136 14.815902,-15.682973 35.699176,-6.749076 35.870572,10.725178 0.176725,18.017637 -17.997183,25.160186 -34.811232,39.399837 z"
id="path62976"
sodipodi:nodetypes="cscsc"
inkscape:label="heart" /><g
id="layer3"
inkscape:groupmode="layer"
inkscape:label="Features"
style="display:inline"
transform="rotate(-10 45 75)"><path
d="m 33.65228,80.15316 c -1.84571,-3.806604 -1.872556,-7.54518 0.527665,-10.056125 2.400221,-2.510944 6.697437,-10.228997 6.681819,-14.101173"
sodipodi:nodetypes="csc"
inkscape:label="nose-outline"
id="path27175"
style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:4.40315;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
id="path28517"
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
sodipodi:nodetypes="ssss"
d="m 40.349664,72.473149 c 3.611758,-1.970317 14.548618,-2.669295 17.071165,2.5758 0.40334,0.838655 -6.115736,7.143991 -10.106864,7.135136 -3.859049,-0.0087 -7.870186,-9.216748 -6.964301,-9.710936 z"
inkscape:label="nose" /><path
inkscape:label="mouth"
id="path29369"
style="fill:none;stroke:#313131;stroke-width:4.40315;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 30.329986,85.466434 c 2.073506,6.374978 4.020579,10.401679 5.959243,12.940501 3.750744,-3.131043 8.538975,-7.475595 10.436736,-9.373813 2.962201,4.818455 7.017346,10.375135 8.671615,12.645698 4.859078,-3.873207 9.518861,-7.995561 11.43575,-10.162866"
sodipodi:nodetypes="ccccc" /><path
style="display:inline;fill:#313131;fill-opacity:1;stroke-width:4.45223;stroke-linecap:round"
sodipodi:nodetypes="ssssss"
d="m 24.641601,45.918665 c -4.075919,0.730189 -6.501377,3.925039 -6.273966,5.603347 0.227411,1.678308 1.347515,2.224702 3.8872,1.666965 2.397981,-0.52641 9.098771,-2.404689 17.303469,3.65651 2.148157,1.586937 4.650972,-0.810343 2.741314,-2.795355 -7.65445,-7.956509 -12.747952,-9.01107 -17.658017,-8.131467 z"
inkscape:label="left-eye"
id="left-eye" /><path
sodipodi:nodetypes="ssssss"
style="display:inline;fill:#313131;fill-opacity:1;stroke-width:4.41528;stroke-linecap:round"
d="m 83.448042,49.242516 c 3.928913,1.194349 5.945041,4.623512 5.525393,6.249833 -0.419635,1.626313 -1.586453,2.033818 -4.022559,1.188423 -2.300205,-0.798011 -8.680288,-3.429088 -17.467185,1.58346 -2.300578,1.312383 -4.485891,-1.340335 -2.373777,-3.072561 8.46599,-6.943249 13.605145,-7.38791 18.338128,-5.949155 z"
id="path456-3"
inkscape:label="right-eye" /></g><metadata
id="metadata30760"><rdf:RDF><cc:Work
rdf:about=""><dc:rights><cc:Agent><dc:title>Blobfox team (https://git.shadamethyst.xyz/adri326/blobfox), licensed under the Apache 2.0 License</dc:title></cc:Agent></dc:rights><dc:title>blobhusky_snuggle_right</dc:title><dc:creator><cc:Agent><dc:title>Feuerfuchs</dc:title></cc:Agent></dc:creator><dc:source>https://git.shadamethyst.xyz/adri326/blobfox</dc:source><dc:contributor><cc:Agent><dc:title>Shad Amethyst</dc:title></cc:Agent></dc:contributor></cc:Work></rdf:RDF></metadata></svg>

After

Width:  |  Height:  |  Size: 10 KiB

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
height="128"
width="128"
xml:space="preserve"
viewBox="0 0 128 128"
id="svg5"
sodipodi:docname="coffee.svg"
version="1.1"
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"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><title
id="title62790">coffee</title><sodipodi:namedview
inkscape:showpageshadow="2"
inkscape:window-width="1920"
inkscape:document-units="px"
pagecolor="#505050"
inkscape:zoom="5.6293818"
showgrid="false"
id="namedview7"
inkscape:pageopacity="0"
borderopacity="1"
inkscape:pagecheckerboard="1"
inkscape:cy="67.94707"
inkscape:window-y="0"
inkscape:pageshadow="0"
inkscape:window-height="1058"
bordercolor="#ffffff"
inkscape:window-x="0"
inkscape:window-maximized="1"
units="px"
inkscape:deskcolor="#505050"
inkscape:cx="71.144579"
inkscape:current-layer="layer4"><inkscape:grid
id="grid10"
type="xygrid" /></sodipodi:namedview><defs
id="defs2" /><g
id="layer2"
inkscape:label="ref"
style="display:none"
inkscape:groupmode="layer"><image
preserveAspectRatio="none"
height="127.99999"
id="image80"
inkscape:label="blobfox"
style="display:none;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality"
width="127.99999"
xlink:href="../original/blobfox.png"
y="0"
x="0" /><image
height="135.72025"
x="-7.9759197"
inkscape:label="blobfoxknife"
xlink:href="../original/blobfoxknife.png"
id="image2886"
preserveAspectRatio="none"
width="135.72025"
style="display:none;image-rendering:optimizeSpeed"
y="-7.4412451" /><image
width="128"
height="128"
preserveAspectRatio="none"
style="display:inline;image-rendering:optimizeSpeed"
xlink:href="../original/blobfoxcofe.png"
id="image62157"
x="0"
y="0"
inkscape:label="blobfoxcofe" /></g><g
id="layer1"
inkscape:groupmode="layer"
inkscape:label="Features" /><g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Cup"><path
style="display:inline;fill:#ffffff;fill-opacity:0.502791;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 33.987489,94.823405 c 0.761604,-6.286446 -5.240607,-9.615682 -8.652785,-12.565717 -3.98831,-3.448136 -1.490535,-12.129244 0.778277,-13.566227 -0.03889,2.962202 5.076839,9.471841 10.70871,10.443994 5.398537,0.931876 19.309122,2.834328 21.821006,15.403748 0.632857,3.166806 -9.07893,4.291454 -12.347342,4.355396 -3.268412,0.06394 -12.845505,0.366598 -12.307866,-4.071194 z"
id="path62684"
sodipodi:nodetypes="sscssss"
inkscape:label="smoke" /><path
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 45.392261,122.74398 c -6.860515,0.007 -14.340139,-2.06218 -16.057862,-10.65403 -1.571044,-7.85818 -2.300606,-13.441967 1.094121,-16.013995 3.394727,-2.572028 13.411241,-3.446106 16.139301,-3.469149 2.94473,-0.02487 12.43829,1.04296 14.901438,4.183393 2.416477,3.080932 2.941379,8.372341 0.87296,16.358421 -2.078813,8.02621 -9.481552,9.33957 -16.949958,9.59536 z"
id="path62234"
sodipodi:nodetypes="csssssc"
inkscape:label="cup" /><path
style="fill:none;stroke:#ffffff;stroke-width:3.7;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
d="m 61.247504,114.53016 c 3.20131,0.12439 5.163155,-3.24345 5.399993,-5.60233 0.236838,-2.35888 -0.655263,-6.16363 -3.284204,-6.36968"
id="path62236"
sodipodi:nodetypes="csc"
inkscape:label="cup-handle" /><ellipse
style="display:inline;fill:#502d16;fill-opacity:1;stroke:none;stroke-width:3.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="path62391"
cx="45.841797"
cy="99.573868"
rx="14.430361"
ry="4.8101201"
inkscape:label="liquid" /></g><path
id="path4950"
style="display:inline;fill:#ff8702;fill-opacity:1;stroke:#313131;stroke-width:4.20045;stroke-linecap:round;stroke-opacity:1"
d="m 81.342644,103.43478 c -8.048004,-0.32941 -16.325165,-0.93068 -16.351872,6.72937 0.123212,4.65744 3.107265,7.76238 6.236738,12.56455"
sodipodi:nodetypes="ccc"
inkscape:label="right-hand" /><metadata
id="metadata30760"><rdf:RDF><cc:Work
rdf:about=""><dc:rights><cc:Agent><dc:title>Blobfox team (https://git.shadamethyst.xyz/adri326/blobfox), licensed under the Apache 2.0 License</dc:title></cc:Agent></dc:rights><dc:creator><cc:Agent><dc:title>Feuerfuchs</dc:title></cc:Agent></dc:creator><dc:source>https://git.shadamethyst.xyz/adri326/blobfox</dc:source><dc:contributor><cc:Agent><dc:title>Shad Amethyst</dc:title></cc:Agent></dc:contributor><dc:title>coffee</dc:title></cc:Work></rdf:RDF></metadata></svg>

After

Width:  |  Height:  |  Size: 5.3 KiB

@ -0,0 +1,98 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
height="128"
width="128"
xml:space="preserve"
viewBox="0 0 128 128"
id="svg5"
sodipodi:docname="crowbar.svg"
version="1.1"
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"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><title
id="title40310">crowbar</title><sodipodi:namedview
inkscape:showpageshadow="2"
inkscape:window-width="1920"
inkscape:document-units="px"
pagecolor="#505050"
inkscape:zoom="8"
showgrid="false"
id="namedview7"
inkscape:pageopacity="0"
borderopacity="1"
inkscape:pagecheckerboard="1"
inkscape:cy="79.8125"
inkscape:window-y="0"
inkscape:pageshadow="0"
inkscape:window-height="1058"
bordercolor="#ffffff"
inkscape:window-x="0"
inkscape:window-maximized="1"
units="px"
inkscape:deskcolor="#505050"
inkscape:cx="2.1875"
inkscape:current-layer="layer3"><inkscape:grid
id="grid10"
type="xygrid" /></sodipodi:namedview><defs
id="defs2" /><g
id="layer2"
inkscape:label="ref"
style="display:none"
inkscape:groupmode="layer"><image
preserveAspectRatio="none"
height="127.99999"
id="image80"
inkscape:label="blobfox"
style="display:none;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality"
width="127.99999"
xlink:href="../original/blobfox.png"
y="0"
x="0" /><image
height="135.72025"
x="-2.0426512"
inkscape:label="blobfoxknife"
xlink:href="../original/blobfoxknife.png"
id="image2886"
preserveAspectRatio="none"
width="135.72025"
style="image-rendering:optimizeSpeed"
y="-2.0426512" /></g><g
id="layer1"
inkscape:groupmode="layer"
inkscape:label="Features" /><g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Crowbar"><path
style="fill:#3d444b;fill-opacity:1;stroke:none;stroke-width:1.30304px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m -9.8522317,48.614385 c 1.3845695,-2.506081 6.2624525,-6.948651 7.9469028,-5.663488 1.59658469,1.218127 0.96415649,2.748994 0.5661644,4.220459 1.57125508,-0.616631 3.1057023,-1.794578 4.5603351,-0.518689 1.5060088,1.320954 -0.2412008,3.464218 -1.0662337,5.780593 -0.6000947,1.684833 -1.3643697,2.248611 3.021838,6.930075 4.3862063,4.681462 42.3791251,43.094565 47.9188211,48.175835 5.539696,5.08127 6.125242,7.81305 5.958831,10.35773 -0.166412,2.54467 -4.403182,6.98427 -5.861308,6.13546 -1.480581,-0.86188 -1.155034,-2.83128 -1.109449,-4.32347 -1.087164,0.85636 -3.0389,2.44446 -4.248891,1.12971 -1.209992,-1.31473 0.525179,-3.90597 0.740548,-5.12858 0.257822,-1.46364 0.220976,-2.27089 -3.180703,-5.26011 -1.700839,-1.4946 -49.5754585,-49.218214 -54.140953,-53.566033 -3.196823,-3.044403 -2.180401,-6.324645 -1.1059027,-8.269492 z"
id="path37460"
sodipodi:nodetypes="sscsssssscsssss"
inkscape:label="crowbar-base" /><path
style="fill:#565f65;fill-opacity:1;stroke:none;stroke-width:1.30304px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m -7.488648,55.462961 c -0.9404391,0.553878 -1.873132,-1.959846 -1.8974327,-3.668657 -0.025872,-1.819269 1.1391559,-4.154672 2.1720486,-3.218589 0.826716,0.74923 -0.8412332,2.004044 -0.6374581,3.456586 0.2027699,1.445367 1.300665,2.878322 0.3628422,3.43066 z"
id="path37498"
sodipodi:nodetypes="sssss"
inkscape:label="crowbar-reflection" /><path
style="fill:#2a2f31;fill-opacity:1;stroke:none;stroke-width:1.30304px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m -4.0163473,47.768829 c -0.076734,-0.954898 2.5459633,-3.847259 2.9743857,-3.737733 0.41140672,0.81096 -0.060986,2.463741 -0.294386,3.141371 -0.5849535,0.24627 -1.5792218,0.544591 -2.6799997,0.596362 z"
id="path37519"
sodipodi:nodetypes="cccc"
inkscape:label="crowbar-shadow" /><path
style="fill:#2a2f31;fill-opacity:1;stroke:none;stroke-width:1.30304px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 49.176511,121.3338 c -0.201159,-1.21254 2.387135,-3.16887 2.884908,-3.36799 -0.0043,0.34019 0.01621,1.42929 0.02339,1.74019 -0.431045,0.44931 -2.140953,1.6278 -2.90829,1.6278 z"
id="path39719"
sodipodi:nodetypes="sccss"
inkscape:label="crowbar-shadow-2" /></g><path
id="path4950"
style="display:inline;fill:#ff8702;fill-opacity:1;stroke:#313131;stroke-width: 4.200453377934907;stroke-linecap:round;stroke-opacity:1;"
d="m 14.208372479985337,96.90646295643847 c 10.489628563400451,-1.5287923807562056 18.35514636397062,-7.160375151166334 22.391250771998003,-7.101803814889615 3.8712160995584215,0.056201572590489274 7.514408397070537,3.0337699593003955 7.391165567276947,7.692154657789188 -0.12321259357430735,4.657439816636228 -5.831534888522249,10.590005252362 -13.306794940677365,14.93453799470323 "
sodipodi:nodetypes="cssc"
inkscape:label="left-hand" /><metadata
id="metadata30760"><rdf:RDF><cc:Work
rdf:about=""><dc:rights><cc:Agent><dc:title>Blobfox team (https://git.shadamethyst.xyz/adri326/blobfox), licensed under the Apache 2.0 License</dc:title></cc:Agent></dc:rights><dc:creator><cc:Agent><dc:title>Feuerfuchs</dc:title></cc:Agent></dc:creator><dc:source>https://git.shadamethyst.xyz/adri326/blobfox</dc:source><dc:contributor><cc:Agent><dc:title>Shad Amethyst</dc:title></cc:Agent></dc:contributor><dc:title>crowbar</dc:title></cc:Work></rdf:RDF></metadata></svg>

After

Width:  |  Height:  |  Size: 5.8 KiB

Loading…
Cancel
Save