Compare commits

...

13 Commits
0.1.0 ... main

2
.gitignore vendored

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

@ -20,3 +20,5 @@ resvg = "0.23"
usvg = "0.23" usvg = "0.23"
tiny-skia = "0.6" tiny-skia = "0.6"
png = "0.17" 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 - german shepherd
- collie - collie
- sheep - sheep
- bird
- etc. - etc.
- clean up the SVG for the existing emotes (the `clean` binary in `feat/template` is meant to do the heavy-lifting) - 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 ## License
All the code, images and assets of this repository are made available under the Apache 2.0 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/) - 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) - [LambdAurora](https://git.lambdaurora.dev/lambdaurora/), hosts [a mirror](https://git.lambdaurora.dev/lambdaurora/blobfox)
- [Shad Amethyst](https://git.shadamethyst.xyz/adri326/) - [Shad Amethyst](https://git.shadamethyst.xyz/adri326/)
- [LostQuasar](https://github.com/LostQuasar)
<!-- Add yourself here as you please :) --> <!-- Add yourself here as you please :) -->
<!-- If we get more people, then we can create a CONTRIBUTORS.txt file --> <!-- 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" tail_color = "#eef2f4"
marks_color = "#eee64e" marks_color = "#eee64e"
sheen_color = "#bfdef4" 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}} {{^tags.oh-my}}
{{vars.hand_color}} | {{>blobfox.hands}} {{#set-fill}}
{{/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}} {{#blobfox.base}}#nose{{/blobfox.base}}
</g> </g>
{{/tags.mouth-hmpf}} {{/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_color = "#313131"
ear_fluff_color = "#ebdccc" ear_fluff_color = "#ebdccc"
hand_color = "#ff8702" hand_color = "#ff8702"
hand_stroke_color = "#313131"
tail_color = "#ff8702" tail_color = "#ff8702"
[variants] [variants]
@ -13,6 +14,7 @@ base = ["body-basic", "eyes-basic", "mouth-w"]
happy = ["body-basic", "eyes-happy", "mouth-w"] happy = ["body-basic", "eyes-happy", "mouth-w"]
evil = ["body-basic", "eyes-evil", "mouth-w"] evil = ["body-basic", "eyes-evil", "mouth-w"]
owo = ["body-basic", "ear-owo", "eyes-owo", "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" = ["body-basic", "eyes-basic", "mouth-w", "hand-3c", "left-hand"]
"3c_evil" = ["body-basic", "eyes-evil", "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"] comfy_boop = ["body-comfy", "boop", "eyes-basic", "mouth-w"]
stabby = ["body-basic", "holding", "eyes-evil", "mouth-w", "hand-3c", "left-hand"] 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"] 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"] heart = ["body-basic", "eyes-basic", "left-hand", "right-hand", "holding", "big-object"]
egg = ["body-basic", "eyes-basic", "left-hand", "right-hand", "holding"] 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_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_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_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}} {{#set-fill}} {{vars.ear_fluff_color}} | {{#snug}}#right-ear-fluff{{/snug}} {{/set-fill}}
{{#tags.tail}} {{#tags.tail}}
<g id="tail"> {{>tail}}
{{#set-fill}} {{vars.body_color}} | {{#snug}}#tail{{/snug}} {{/set-fill}}
</g>
{{/tags.tail}} {{/tags.tail}}
</g> </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}} {{#tags.body-comfy}}
{{>body-comfy}} {{>body-comfy}}
{{/tags.body-comfy}} {{/tags.body-comfy}}
{{#tags.body-snuggle}}
{{>body-snuggle}}
{{/tags.body-snuggle}}
</g> </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}}#left-eye{{/blush}}
{{#blush}}#right-eye{{/blush}} {{#blush}}#right-eye{{/blush}}
{{/tags.eyes-closed}} {{/tags.eyes-closed}}
{{#tags.eyes-snuggle}}
{{#snuggle_right}}#left-eye{{/snuggle_right}}
{{#snuggle_right}}#right-eye{{/snuggle_right}}
{{/tags.eyes-snuggle}}
</g> </g>

@ -1,26 +1,77 @@
<g id="hands"> <g id="hands">
{{#tags.hands-reach}} {{#tags.hands-reach}}
{{#set-fill}} {{vars.hand_color}} | {{#reach_aww}}#left-hand{{/reach_aww}} {{/set-fill}} {{#set-stroke}}
{{#set-fill}} {{vars.hand_color}} | {{#reach_aww}}#right-hand{{/reach_aww}} {{/set-fill}} {{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.hands-reach}}
{{#tags.hand-3c}} {{#tags.hand-3c}}
{{#tags.holding}} {{#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}}
{{^tags.holding}} {{^tags.holding}}
{{! :3c hand }} {{! :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.holding}}
{{/tags.hand-3c}} {{/tags.hand-3c}}
{{^tags.hand-3c}} {{^tags.hand-3c}}
{{#tags.holding}} {{#tags.holding}}
{{#tags.left-hand}} {{#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.left-hand}}
{{#tags.right-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.right-hand}}
{{/tags.holding}} {{/tags.holding}}
{{/tags.hand-3c}} {{/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> </g>

@ -1,5 +1,5 @@
<svg <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:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink" 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}} {{#tags.eyes-aww}}
{{#reach_aww}}#nose-outline{{/reach_aww}} {{#reach_aww}}#nose-outline{{/reach_aww}}
{{/tags.eyes-aww}} {{/tags.eyes-aww}}
{{#tags.eyes-happy}}
{{#snug}}#nose-outline{{/snug}}
{{/tags.eyes-happy}}
{{#tags.eyes-evil}} {{#tags.eyes-evil}}
{{#3c_evil}}#nose-outline{{/3c_evil}} {{#3c_evil}}#nose-outline{{/3c_evil}}
{{/tags.eyes-evil}} {{/tags.eyes-evil}}
{{#tags.eyes-closed}} {{#tags.eyes-closed}}
{{#blush}}#nose-outline{{/blush}} {{#blush}}#nose-outline{{/blush}}
{{/tags.eyes-closed}} {{/tags.eyes-closed}}
{{#tags.eyes-snuggle}}
{{#snuggle_right}}#nose-outline{{/snuggle_right}}
{{/tags.eyes-snuggle}}
{{#base}}#nose{{/base}} {{#base}}#nose{{/base}}
</g> </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> </clipPath>
</defs> </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)"> <g transform="rotate(9) scale(1.05 1.05) translate(10 45)">
{{#flag_ace}}{{/flag_ace}} {{#flag_ace}}{{/flag_ace}}
</g> </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> </clipPath>
</defs> </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)"> <g transform="rotate(9) scale(1.05 1.05) translate(10 45)">
{{#flag_demisexual}}{{/flag_demisexual}} {{#flag_demisexual}}{{/flag_demisexual}}
</g> </g>

@ -9,7 +9,11 @@
</clipPath> </clipPath>
</defs> </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)"> <g transform="rotate(9) scale(1.05 1.05) translate(10 45)">
{{#flag_enby}}{{/flag_enby}} {{#flag_enby}}{{/flag_enby}}
</g> </g>

@ -9,7 +9,11 @@
</clipPath> </clipPath>
</defs> </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)"> <g transform="rotate(9) scale(1.05 1.05) translate(10 45)">
{{#flag_pan}}{{/flag_pan}} {{#flag_pan}}{{/flag_pan}}
</g> </g>

@ -9,7 +9,12 @@
</clipPath> </clipPath>
</defs> </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)"> <g transform="rotate(9) scale(0.95 0.95) translate(20 50)">
{{#flag_progress}}{{/flag_progress}} {{#flag_progress}}{{/flag_progress}}
</g> </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)> { fn get_new_bbox(svg: &Tree) -> Option<(f64, f64, f64, f64)> {
let bbox = svg.root().calculate_bbox()?; 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> { /// Removes all elements marked with `blobfox-ignore-size="true"`
let usvg_options = Options::default();
Tree::from_str(svg_str, &usvg_options.to_ref())
}
fn get_xml(svg_str: &str) -> Result<Element, xmltree::ParseError> { macro_rules! strip {
Element::parse(svg_str.as_bytes()) ( $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> { fn rec(element: &mut Element) {
let mut s: Vec<u8> = Vec::new(); // 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> { 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)?; let mut svg_xml = get_xml(&svg_str)?;
svg_xml.attributes.insert( svg_xml.attributes.insert(
"viewBox".to_string(), "viewBox".to_string(),
@ -143,24 +185,27 @@ pub fn combine_defs(svg_str: String) -> Result<String, ExportError> {
pub fn export( pub fn export(
mut svg_str: String, mut svg_str: String,
output_dir: &PathBuf, output_dir: &PathBuf,
output_name: String, species_name: &str,
args: &super::Args, output_name: &str,
args: &ExportArgs,
) -> Result<(), ExportError> { ) -> Result<(), ExportError> {
if !args.no_resize { if !args.no_resize {
svg_str = resize(svg_str)?; svg_str = resize(svg_str)?;
} }
svg_str = strip_only_size(&svg_str)?;
svg_str = combine_defs(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))?; std::fs::write(output.clone(), svg_str.clone()).map_err(|err| ExportError::Io(output, err))?;
let svg_usvg = get_usvg(&svg_str)?; let svg_usvg = get_usvg(&svg_str)?;
for resolution in args.dim.iter().copied().filter(|r| *r != 0).collect::<HashSet<_>>() { for resolution in args.dim.iter().copied().filter(|r| *r != 0).collect::<HashSet<_>>() {
mkdirp::mkdirp(output_dir.join(&format!("{}", resolution))).unwrap(); mkdirp::mkdirp(output_dir.join(&format!("{}/{}", resolution, species_name))).unwrap();
let output = output_dir.join(&format!("{}/{}.png", resolution, output_name)); let output = output_dir.join(&format!("{}/{}/{}.png", resolution, species_name, output_name));
let mut image = tiny_skia::Pixmap::new(resolution, resolution).unwrap(); 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 clap::Parser;
use std::path::PathBuf; use std::path::PathBuf;
pub mod parse; use blobfox_template::{
use parse::*; parse::*,
template::*,
pub mod template; export::*,
use template::*; };
pub mod export;
use export::*;
fn main() { fn main() {
let args = Args::parse(); let args = Args::parse();
@ -30,6 +27,8 @@ fn main() {
} }
fn generate_variant(context: &RenderingContext, name: &str, output_dir: &PathBuf, args: &Args) { 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) { if let Some(path) = context.species().variant_paths.get(name) {
match context.compile(path).and_then(|template| { match context.compile(path).and_then(|template| {
template.render_data_to_string(&context.get_data(name)) 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( match export(
svg, svg,
output_dir, output_dir,
format!("{}_{}", context.species().name, name), &context.species().name,
args &format!("{}_{}", context.species().name, name),
&args
) { ) {
Ok(_) => {} Ok(_) => {}
Err(err) => { 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)] #[clap(author, version, about, long_about = None)]
pub struct Args { pub struct Args {
/// A folder containing the declaration from which the emotes should be generated /// A folder containing the declaration from which the emotes should be generated
@ -79,3 +79,12 @@ pub struct Args {
#[clap(short, long, value_parser)] #[clap(short, long, value_parser)]
output_dir: Option<PathBuf>, 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 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 mustache::{Context, Data, MapBuilder, PartialLoader, Template};
use std::collections::HashMap; use std::collections::HashMap;
use std::path::Path; use std::path::Path;
use std::sync::{Arc, Mutex}; use std::sync::{Arc, Mutex};
use xmltree::{Element, XMLNode}; use xmltree::{Element, XMLNode};
use css_color_parser::Color as CssColor;
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
pub struct RenderingContext { pub struct RenderingContext {
@ -90,39 +91,45 @@ impl RenderingContext {
}); });
} }
let this = self.clone(); for (cb, name) in [
let variant_name_owned = variant_name.to_string(); (set_fill as fn(&str, &mut Element), "set-fill"),
builder = builder.insert_fn("set-fill", move |input| { (set_stroke, "set-stroke")
// Parse `color|xml` ] {
if let [color, xml] = input.splitn(2, '|').collect::<Vec<_>>()[..] { let this = self.clone();
// Render `color` and `xml` let variant_name_owned = variant_name.to_string();
if let (Ok(color), Ok(xml)) = (
this.render_to_string(&color, &variant_name_owned), builder = builder.insert_fn(name, move |input| {
this.render_to_string(&xml, &variant_name_owned), // Parse `color|xml`
) { if let [color, xml] = input.splitn(2, '|').collect::<Vec<_>>()[..] {
// Convert `xml` to XML // Render `color` and `xml`
match Element::parse(xml.as_bytes()) { if let (Ok(color), Ok(xml)) = (
Ok(mut xml) => { this.render_to_string(&color, &variant_name_owned),
set_fill(&color.trim(), &mut xml); this.render_to_string(&xml, &variant_name_owned),
) {
// Render XML to string // Convert `xml` to XML
if let Some(res) = xml_to_string(xml) { match Element::parse(xml.as_bytes()) {
res Ok(mut xml) => {
} else { cb(&color.trim(), &mut xml);
String::from("<!-- Error in stringifying 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) => { } else {
format!("<!-- Error in parsing xml: {} -->", err) String::from("<!-- Error in parsing color or element -->")
}
} }
} else { } 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(); builder = builder.insert("vars", &self.species.vars).unwrap();
@ -236,34 +243,52 @@ impl PartialLoader for RenderingContext {
} }
} }
fn set_fill(color: &str, xml: &mut Element) { macro_rules! set_color {
// Substitute the fill color; TODO: handle transparency for SVG 1.1 ( $fn_name:tt, $color_name:expr, $opacity_name:expr ) => {
if let Some(style) = xml.attributes.get_mut("style") { pub fn $fn_name(color: &str, xml: &mut Element) {
let mut new_style = Vec::new(); 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(';') { fn rec(color: &str, opacity: f32, xml: &mut Element) {
if let [name, value] = rule.splitn(2, ':').collect::<Vec<_>>()[..] { if let Some(style) = xml.attributes.get_mut("style") {
if name.trim() != "fill" && name.trim() != "fill-opacity" { let mut new_style = Vec::new();
new_style.push(format!("{}:{}", name, value));
}
}
}
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(";"); new_style.push(format!(concat!($color_name, ": {};"), color));
} new_style.push(format!(concat!($opacity_name, ": {};"), opacity));
if let Some(_fill) = xml.attributes.get("fill") {
xml.attributes.insert("fill".to_string(), color.to_string()); *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() { rec(&color, opacity, xml)
if let XMLNode::Element(ref mut child) = child {
set_fill(color, child);
} }
} }
} }
set_color!(set_fill, "fill", "fill-opacity");
set_color!(set_stroke, "stroke", "stroke-opacity");
pub fn query_selector(svg: Element, pattern: &str) -> Option<Element> { pub fn query_selector(svg: Element, pattern: &str) -> Option<Element> {
if pattern == "" { if pattern == "" {
// NOTE: it looks like having a nested svg makes resvg unhappy // 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"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg <svg
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
viewBox="0 0 128 128"
width="128" width="128"
sodipodi:docname="blobhusky.svg"
id="svg5"
height="128" height="128"
viewBox="0 0 33.866668 33.866668"
version="1.1" 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:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink"
@ -20,135 +18,124 @@
<title <title
id="title30762">blobhusky</title> id="title30762">blobhusky</title>
<sodipodi:namedview <sodipodi:namedview
id="namedview7" inkscape:window-maximized="1"
pagecolor="#505050"
bordercolor="#ffffff" bordercolor="#ffffff"
inkscape:showpageshadow="2"
inkscape:window-height="1058"
inkscape:pageopacity="0"
borderopacity="1" borderopacity="1"
inkscape:cy="94.410982"
inkscape:window-x="0"
id="namedview7"
pagecolor="#505050"
inkscape:pageshadow="0" inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
inkscape:document-units="mm"
showgrid="false" showgrid="false"
inkscape:zoom="3.777754" inkscape:zoom="5.5131298"
inkscape:cx="11.91184" inkscape:window-width="1920"
inkscape:cy="46.059113"
inkscape:window-width="1536"
inkscape:window-height="779"
inkscape:window-x="0"
inkscape:window-y="0" inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" inkscape:current-layer="layer1"
inkscape:cx="54.869015"
units="px" units="px"
inkscape:showpageshadow="2" inkscape:pagecheckerboard="1"
inkscape:document-units="px"
inkscape:deskcolor="#505050"> inkscape:deskcolor="#505050">
<inkscape:grid <inkscape:grid
type="xygrid" id="grid10"
id="grid10" /> type="xygrid" />
</sodipodi:namedview> </sodipodi:namedview>
<defs <defs
id="defs2" /> id="defs2" />
<g <g
inkscape:groupmode="layer" style="display:none"
id="layer2" id="layer2"
inkscape:label="ref" inkscape:groupmode="layer"
style="display:inline"> inkscape:label="ref">
<image <image
width="32.969513" inkscape:label="blobfox"
height="32.969513" 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" preserveAspectRatio="none"
style="display:none;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality"
xlink:href="../original/blobfox.png" xlink:href="../original/blobfox.png"
id="image80" id="image80" />
x="0"
y="0.89720488"
inkscape:label="blobfox" />
</g> </g>
<g <g
inkscape:label="Base" inkscape:label="Base"
inkscape:groupmode="layer"
id="layer1" id="layer1"
style="display:inline"> inkscape:groupmode="layer"
<path style="display:inline;">
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" />
<path <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" 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" /> 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 <path
id="path117-7" 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" inkscape:label="hair"
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"
sodipodi:nodetypes="cccsssccc" sodipodi:nodetypes="cccsssccc"
inkscape:label="hair" /> 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 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 " />
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" />
<path <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" 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" 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>
<g <g
inkscape:groupmode="layer"
id="layer3" id="layer3"
inkscape:groupmode="layer"
inkscape:label="Features"> inkscape:label="Features">
<path <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" inkscape:label="left-eye"
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" 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;"
id="path22173" 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" sodipodi:nodetypes="sssss"
inkscape:label="left-eye" /> id="path22173" />
<path <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" 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" /> inkscape:label="right-eye" />
<path <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 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 "
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"
sodipodi:nodetypes="csc" 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 <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" 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" 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" /> inkscape:label="nose" />
<path <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" inkscape:label="mouth"
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"
id="path29369" id="path29369"
sodipodi:nodetypes="ccccc" style="fill:none;stroke:#313131;stroke-width: 4.403149432946873;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;"
inkscape:label="mouth" /> 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> </g>
<metadata <metadata
id="metadata30760"> 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