~fgaz/blobfox

dd330729bddf275aa6abb1ec9dba1dbdf0753291 — Spaceman 1 year, 6 months ago c763116 + e848be8
Merge pull request 'Rebase from upstream' (#1) from adri326/blobfox:main into main

Reviewed-on: https://git.shadamethyst.xyz/Spaceman/blobfox/pulls/1
M .gitignore => .gitignore +1 -0
@@ 3,3 3,4 @@ output/
Cargo.lock
target/
blobfox-*.zip
species/custom/

M Cargo.toml => Cargo.toml +1 -0
@@ 21,3 21,4 @@ usvg = "0.23"
tiny-skia = "0.6"
png = "0.17"
css-color-parser = "0.1.2"
wax = "0.5.0"

M snuggle.toml => snuggle.toml +32 -0
@@ 11,6 11,11 @@ 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"


@@ 29,3 34,30 @@ 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"

A species/blobamber/templates/body-snuggle.mustache => species/blobamber/templates/body-snuggle.mustache +10 -0
@@ 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>

A species/blobarcticfox/assets/snuggle_right.svg => species/blobarcticfox/assets/snuggle_right.svg +51 -0
@@ 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>

M species/blobarcticfox/species.toml => species/blobarcticfox/species.toml +1 -0
@@ 9,3 9,4 @@ hand_color = "#eef2f4"
tail_color = "#eef2f4"
marks_color = "#eee64e"
sheen_color = "#bfdef4"
hand_stroke_color = "#8599ad"

A species/blobarcticfox/templates/body-snuggle.mustache => species/blobarcticfox/templates/body-snuggle.mustache +16 -0
@@ 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}}

A species/blobcat/assets/snuggle_right.svg => species/blobcat/assets/snuggle_right.svg +51 -0
@@ 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>

A species/blobcat/templates/body-snuggle.mustache => species/blobcat/templates/body-snuggle.mustache +18 -0
@@ 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>

A species/blobfox/assets/coffee.svg => species/blobfox/assets/coffee.svg +44 -0
@@ 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>

M species/blobfox/assets/snuggle_right.svg => species/blobfox/assets/snuggle_right.svg +21 -20
@@ 1,27 1,28 @@
<?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" height="128" width="128" sodipodi:docname="blobfox_snuggle_right.svg" id="svg5" inkscape:version="1.1" viewBox="0 0 128 128">
  <title id="title30762">blobfox</title>
  <sodipodi:namedview id="namedview7" borderopacity="1" bordercolor="#ffffff" inkscape:window-height="779" inkscape:zoom="9.7841572" inkscape:pageopacity="0" inkscape:showpageshadow="2" inkscape:current-layer="g9491" units="px" inkscape:document-units="px" inkscape:window-maximized="1" inkscape:window-x="0" pagecolor="#505050" inkscape:pagecheckerboard="1" showgrid="false" inkscape:window-width="1536" inkscape:window-y="0" inkscape:cy="46.401544" inkscape:pageshadow="0" inkscape:deskcolor="#505050" inkscape:cx="59.68833">
    <inkscape:grid type="xygrid" id="grid10"/>
<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 style="display:inline" inkscape:label="ref" inkscape:groupmode="layer" id="ref">
    <image id="blobfox" inkscape:label="blobfox" x="0" preserveAspectRatio="none" y="0" width="127.99999" xlink:href="../original/blobfox.png" style="display:none;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality" height="127.99999"/>
    <image id="blobfoxsnuggle" xlink:href="../original/blobfoxsnuggle.png" y="-106.29223" style="image-rendering:optimizeSpeed" preserveAspectRatio="none" inkscape:label="blobfoxsnuggle" height="221.0103" width="221.0103" x="-93.369904"/>
  <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 id="Base" inkscape:label="Base" inkscape:groupmode="layer" style="display:inline">
    <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" 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"/>
    <path 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" style="display:inline;fill:#ff8702;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501" sodipodi:nodetypes="cccsssccc" id="hair" inkscape:label="hair"/>
    <path style="display:inline;fill:#ff8702;fill-opacity:1;stroke:none;stroke-width:2.64567;stroke-linecap:square;stroke-miterlimit:3" 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" id="body" sodipodi:nodetypes="cssssssc"/>
    <path style="display:inline;fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501" 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"/>
    <path 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" 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 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>
  <g id="Features" inkscape:label="Features" transform="rotate(-10 45 75)" style="display:inline" inkscape:groupmode="layer">
    <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" inkscape:label="nose-outline" 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"/>
    <path inkscape:label="nose" 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" 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 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" 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" sodipodi:nodetypes="ccccc"/>
    <path 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" style="display:inline;fill:#313131;fill-opacity:1;stroke-width:4.45223;stroke-linecap:round" id="left-eye"/>
    <path id="right-eye" inkscape:label="right-eye" 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"/>
  <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>


@@ 31,7 32,7 @@
            <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</dc:title>
        <dc:title>blobfox_snuggle_right</dc:title>
        <dc:creator>
          <cc:Agent>
            <dc:title>Feuerfuchs</dc:title>

M species/blobfox/species.toml => species/blobfox/species.toml +1 -0
@@ 42,6 42,7 @@ comfy_boop = ["body-comfy", "boop", "eyes-basic", "mouth-w"]

stabby = ["body-basic", "holding", "eyes-evil", "mouth-w", "hand-3c", "left-hand"]
gordon = ["body-basic", "holding", "eyes-basic", "mouth-w", "hand-3c", "left-hand"]
coffee = ["body-basic", "holding", "eyes-basic", "mouth-w", "hand-cup", "right-hand"]

blush = ["body-basic", "ear-blush", "eyes-closed", "blush", "mouth-hmpf"]


M species/blobfox/templates/body-snuggle.mustache => species/blobfox/templates/body-snuggle.mustache +1 -1
@@ 3,7 3,7 @@

{{! Body }}
<defs>
    <clipPath id="body-clip">
    <clipPath id="body-snuggle-clip">
        {{#snuggle_right}}#body{{/snuggle_right}}
    </clipPath>
</defs>

A species/blobfox/templates/coffee.mustache => species/blobfox/templates/coffee.mustache +6 -0
@@ 0,0 1,6 @@
<g id="coffee">
    {{#coffee}}#smoke{{/coffee}}
    {{#coffee}}#cup{{/coffee}}
    {{#coffee}}#cup-handle{{/coffee}}
    {{#coffee}}#liquid{{/coffee}}
</g>

M species/blobfox/templates/hands.mustache => species/blobfox/templates/hands.mustache +28 -4
@@ 15,24 15,48 @@
            {{/set-fill}}
        {{/set-stroke}}
    {{/tags.hands-reach}}

    {{#tags.hand-3c}}
        {{#tags.holding}}
            {{#set-fill}} {{vars.hand_color}} | {{#knife}}#left-hand{{/knife}} {{/set-fill}}
            {{#set-stroke}}
                {{vars.hand_stroke_color}} |
                {{#set-fill}} {{vars.hand_color}} | {{#knife}}#left-hand{{/knife}} {{/set-fill}}
            {{/set-stroke}}
        {{/tags.holding}}
        {{^tags.holding}}
            {{! :3c hand }}
            {{#set-fill}} {{vars.hand_color}} | {{#3c_evil}}#left-hand{{/3c_evil}} {{/set-fill}}

            {{#set-stroke}}
                {{vars.hand_stroke_color}} |
                {{#set-fill}} {{vars.hand_color}} | {{#3c_evil}}#left-hand{{/3c_evil}} {{/set-fill}}
            {{/set-stroke}}
        {{/tags.holding}}
    {{/tags.hand-3c}}
    {{^tags.hand-3c}}
        {{#tags.holding}}
            {{#tags.left-hand}}
                {{#set-fill}} {{vars.hand_color}} | {{#heart}}#left-hand{{/heart}} {{/set-fill}}
                {{#set-stroke}}
                    {{vars.hand_stroke_color}} |
                    {{#set-fill}} {{vars.hand_color}} | {{#heart}}#left-hand{{/heart}} {{/set-fill}}
                {{/set-stroke}}
            {{/tags.left-hand}}

            {{#tags.right-hand}}
                {{#set-fill}} {{vars.hand_color}} | {{#heart}}#right-hand{{/heart}} {{/set-fill}}
                {{#tags.hand-cup}}
                    {{#set-stroke}}
                        {{vars.hand_stroke_color}} |
                        {{#set-fill}} {{vars.hand_color}} | {{#coffee}}#right-hand{{/coffee}} {{/set-fill}}
                    {{/set-stroke}}
                {{/tags.hand-cup}}
                {{^tags.hand-cup}}
                    {{#set-stroke}}
                        {{vars.hand_stroke_color}} |
                        {{#set-fill}} {{vars.hand_color}} | {{#heart}}#right-hand{{/heart}} {{/set-fill}}
                    {{/set-stroke}}
                {{/tags.hand-cup}}
            {{/tags.right-hand}}
        {{/tags.holding}}
    {{/tags.hand-3c}}


</g>

M species/blobfox/templates/header.mustache => species/blobfox/templates/header.mustache +1 -1
@@ 1,5 1,5 @@
<svg
    width="128" height="128" viewBox="0 0 33.866668 33.866668"
    width="128" height="128" viewBox="0 0 128 128"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:xlink="http://www.w3.org/1999/xlink"

A species/blobfox/variants/coffee.mustache => species/blobfox/variants/coffee.mustache +10 -0
@@ 0,0 1,10 @@
{{>header}}
    {{>body}}

    {{>eyes}}
    {{>nose}}
    {{>mouth}}

    {{>coffee}}
    {{>hands}}
{{>footer}}

M species/blobfox/variants/heart_progress.mustache => species/blobfox/variants/heart_progress.mustache +1 -0
@@ 13,6 13,7 @@
        {{#heart}}#heart{{/heart}}
    </g>

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

M species/blobfox/variants/snuggle_right.mustache => species/blobfox/variants/snuggle_right.mustache +2 -0
@@ 6,4 6,6 @@
        {{>nose}}
        {{>mouth}}
    </g>

    {{#snuggle_right}}#heart{{/snuggle_right}}
{{>footer}}

M species/blobfox/variants/snuggle_right_blush.mustache => species/blobfox/variants/snuggle_right_blush.mustache +2 -0
@@ 7,4 7,6 @@
        {{>mouth}}
        {{>blush}}
    </g>

    {{#snuggle_right}}#heart{{/snuggle_right}}
{{>footer}}

A species/blobhusky/assets/snuggle_right.svg => species/blobhusky/assets/snuggle_right.svg +51 -0
@@ 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>

A species/blobhusky/templates/body-snuggle.mustache => species/blobhusky/templates/body-snuggle.mustache +5 -0
@@ 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>

A species/blobstella/templates/body-snuggle.mustache => species/blobstella/templates/body-snuggle.mustache +33 -0
@@ 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>

M src/bin/snuggle.rs => src/bin/snuggle.rs +52 -37
@@ 5,6 5,7 @@ use std::path::PathBuf;
use std::collections::HashMap;
use serde::{Serialize, Deserialize};
use xmltree::{Element, XMLNode};
use wax::{Glob, Pattern};

use blobfox_template::{
    parse,


@@ 37,6 38,43 @@ struct Desc {
    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/"));


@@ 45,6 83,8 @@ fn main() {
    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<_, _>>();


@@ 56,6 96,8 @@ fn main() {

    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| {


@@ 64,6 106,13 @@ fn main() {

            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);
                    });


@@ 71,12 120,11 @@ fn main() {
                    let snuggle = generate_snuggle(&left, &right, &desc);
                    let snuggle = export::xml_to_str(&snuggle).unwrap();

                    let name = format!("{}_{}_{}", left_name, desc.name, right_name);

                    export::export(
                        snuggle,
                        &output_dir,
                        name,
                        &desc.name,
                        &name,
                        &export_args
                    ).unwrap();
                }


@@ 156,7 204,7 @@ fn bolden(amount: f64, xml: &mut Element) {
            *stroke_width = format!("{}", parsed + amount);
        }
    } else if xml.attributes.contains_key("fill") {
        xml.attributes.insert("stroke-width", amount.to_string());
        xml.attributes.insert("stroke-width".to_string(), amount.to_string());
    }

    if let Some(style) = xml.attributes.get_mut("style") {


@@ 188,36 236,3 @@ fn bolden(amount: f64, xml: &mut Element) {
        }
    }
}

#[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>,
}

impl From<Args> for export::ExportArgs {
    fn from(args: Args) -> export::ExportArgs {
        export::ExportArgs {
            no_resize: args.no_resize,
            dim: args.dim,
        }
    }
}

M src/export.rs => src/export.rs +6 -5
@@ 185,7 185,8 @@ pub fn combine_defs(svg_str: String) -> Result<String, ExportError> {
pub fn export(
    mut svg_str: String,
    output_dir: &PathBuf,
    output_name: String,
    species_name: &str,
    output_name: &str,
    args: &ExportArgs,
) -> Result<(), ExportError> {
    if !args.no_resize {


@@ 196,15 197,15 @@ pub fn export(

    svg_str = combine_defs(svg_str)?;

    mkdirp::mkdirp(output_dir.join("vector")).unwrap();
    mkdirp::mkdirp(output_dir.join(format!("vector/{}", species_name))).unwrap();

    let output = output_dir.join(&format!("vector/{}.svg", output_name));
    let output = output_dir.join(&format!("vector/{}/{}.svg", species_name, output_name));
    std::fs::write(output.clone(), svg_str.clone()).map_err(|err| ExportError::Io(output, err))?;

    let svg_usvg = get_usvg(&svg_str)?;
    for resolution in args.dim.iter().copied().filter(|r| *r != 0).collect::<HashSet<_>>() {
        mkdirp::mkdirp(output_dir.join(&format!("{}", resolution))).unwrap();
        let output = output_dir.join(&format!("{}/{}.png", resolution, output_name));
        mkdirp::mkdirp(output_dir.join(&format!("{}/{}", resolution, species_name))).unwrap();
        let output = output_dir.join(&format!("{}/{}/{}.png", resolution, species_name, output_name));

        let mut image = tiny_skia::Pixmap::new(resolution, resolution).unwrap();


M src/main.rs => src/main.rs +2 -1
@@ 37,7 37,8 @@ fn generate_variant(context: &RenderingContext, name: &str, output_dir: &PathBuf
                match export(
                    svg,
                    output_dir,
                    format!("{}_{}", context.species().name, name),
                    &context.species().name,
                    &format!("{}_{}", context.species().name, name),
                    &args
                ) {
                    Ok(_) => {}

A vector/blobarcticfox_snuggle_right.svg => vector/blobarcticfox_snuggle_right.svg +136 -0
@@ 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>

A vector/blobcat_snuggle_right.svg => vector/blobcat_snuggle_right.svg +134 -0
@@ 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>

M vector/blobfox_snuggle_right.svg => vector/blobfox_snuggle_right.svg +45 -39
@@ 1,6 1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
   inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
   inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
   viewBox="0 0 128 128"
   width="128"
   sodipodi:docname="blobfox_snuggle_right.svg"


@@ 16,24 16,24 @@
   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</title><sodipodi:namedview
     id="title30762">blobfox_snuggle_right</title><sodipodi:namedview
     inkscape:window-maximized="1"
     bordercolor="#ffffff"
     inkscape:showpageshadow="2"
     inkscape:window-height="779"
     inkscape:window-height="1022"
     inkscape:pageopacity="0"
     borderopacity="1"
     inkscape:cy="46.401544"
     inkscape:cy="11.418753"
     inkscape:window-x="0"
     id="namedview7"
     pagecolor="#505050"
     inkscape:pageshadow="0"
     showgrid="false"
     inkscape:zoom="9.7841572"
     inkscape:window-width="1536"
     inkscape:window-y="0"
     inkscape:current-layer="g9491"
     inkscape:cx="59.68833"
     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"


@@ 41,7 41,7 @@
       id="grid10"
       type="xygrid" /></sodipodi:namedview><defs
     id="defs2" /><g
     style="display:inline"
     style="display:none"
     id="layer2"
     inkscape:groupmode="layer"
     inkscape:label="ref"><image


@@ 57,7 57,7 @@
       width="221.0103"
       height="221.0103"
       preserveAspectRatio="none"
       style="image-rendering:optimizeSpeed"
       style="display:inline;image-rendering:optimizeSpeed"
       xlink:href="../original/blobfoxsnuggle.png"
       id="image545"
       x="-93.369904"


@@ 91,35 91,41 @@
       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><g
       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
     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</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>
         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>

A vector/blobhusky_snuggle_right.svg => vector/blobhusky_snuggle_right.svg +136 -0
@@ 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>

A vector/coffee.svg => vector/coffee.svg +109 -0
@@ 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>