Future-proof query selector, clap CLI interface

feat/template
Shad Amethyst 2 years ago
parent be1d9c97ea
commit a0af4bf36c
Signed by: amethyst
GPG Key ID: D970C8DD1D6DEE36

@ -10,3 +10,5 @@ serde = { version = "1.0.140", features = ["derive"] }
toml = "0.5.9" toml = "0.5.9"
xmltree = "0.10.3" xmltree = "0.10.3"
mustache = { git = "https://git.shadamethyst.xyz/adri326/rust-mustache.git" } mustache = { git = "https://git.shadamethyst.xyz/adri326/rust-mustache.git" }
clap = { version = "3.2", features = ["derive"] }
mkdirp = "1.0.0"

@ -0,0 +1,194 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="128"
height="128"
viewBox="0 0 33.866668 33.866668"
version="1.1"
id="svg5"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
sodipodi:docname="blobfox_reach_aww.svg"
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="title">blobfox_reach_aww</title>
<sodipodi:namedview
id="namedview7"
pagecolor="#505050"
bordercolor="#ffffff"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="3.7207012"
inkscape:cx="73.910798"
inkscape:cy="53.753308"
inkscape:window-width="1536"
inkscape:window-height="779"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer3"
units="px"
inkscape:showpageshadow="2"
inkscape:deskcolor="#505050">
<inkscape:grid
type="xygrid"
id="grid10" />
</sodipodi:namedview>
<defs id="defs2" />
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="ref"
style="display:none">
<image
width="33.866665"
height="33.866665"
preserveAspectRatio="none"
style="display:none;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality"
xlink:href="../original/blobfox.png"
id="image80"
x="0"
y="0"
inkscape:label="blobfox" />
<image
width="35.568115"
height="35.568115"
preserveAspectRatio="none"
style="image-rendering:optimizeSpeed"
xlink:href="../original/blobfoxreachaww.png"
id="image2154"
x="-1.6206435"
y="-1.8984466"
inkscape:label="blobfoxreachaww" />
</g>
<g
inkscape:label="Base"
inkscape:groupmode="layer"
id="layer1"
style="display:inline">
<path
id="body"
style="display:inline;fill:#ff8702;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"
d="M 8.2074116,8.4126526 C 5.0913797,9.6496164 0.4041473,15.466063 0,25.134999 c 0,0 0.03851,2.124914 0.5829101,3.792016 1.4993074,1.718181 5.5005282,4.054899 10.6830689,4.70824 4.995668,0.629782 11.407069,-0.117981 15.429032,-1.02216 4.021965,-0.904179 6.039482,-3.513558 6.301425,-4.182173 0.261937,-0.668616 0.02856,-2.042628 -0.147797,-2.629814 -0.214802,-0.71519 -0.544671,-1.660976 -0.105418,-2.94969 C 33.182472,21.562704 34.115718,16.337933 32.130917,12.6127 28.259445,4.8114773 16.226603,5.2292932 8.2074116,8.4126526 Z"
sodipodi:nodetypes="sccssssscs"
inkscape:label="body" />
<path
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 4.3137226,11.778813 C 1.9838307,6.3895666 2.145295,1.2059319 2.6452072,0.51782863 3.0391093,-0.02435716 3.3041475,-0.15736443 3.9502132,0.20050729 4.7128691,0.62296126 7.6810801,3.5307571 11.56213,6.108751 13.240321,7.223492 9.2628811,6.8913037 11.377083,7.6729166 7.6803703,7.9244796 6.2213245,9.6296562 4.3137226,11.778813 Z"
id="left-ear"
sodipodi:nodetypes="cssscc"
inkscape:label="left-ear" />
<path
id="hair"
style="display:inline;fill:#ff8702;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"
d="M 11.377083,2.91 C 12.292433,4.7691551 12.5655,5.0594456 14.022916,6.87875 11.641667,5.5558333 9.136393,6.238479 8.07806,6.7676456 10.151048,7.1605077 10.449443,7.3377486 11.377083,7.6725 14.462128,8.7857796 17.25774,10.030627 19.911704,8.4803466 21.209819,7.7220691 23.693263,6.1378025 22.490617,5.521727 20.910675,4.7123751 19.838056,4.0335486 18.732706,3.5647403 18.834047,4.2785158 19.041575,4.8238358 19.283577,5.6648705 17.304617,4.3515344 15.100816,3.3140553 11.377083,2.91 Z"
sodipodi:nodetypes="cccsssccc"
inkscape:label="hair" />
<path
style="display:inline;fill:#ebdccc;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 31.870065,0.89136862 c 2.484943,0.0611907 0.664265,7.56804148 -0.509611,9.14994438 -1.173877,1.581904 -0.831551,4.245863 -1.354667,4.404248 -0.707644,-0.825525 -0.707787,-2.595852 -0.717551,-4.150112 -0.760031,0.341959 -2.089885,0.741869 -3.258009,0.409179 0.287592,-0.78609 0.653321,-1.9632947 0.948986,-2.908956 -0.481311,0.1872691 -1.564135,0.4426682 -2.855349,0.6028707 1.157455,-2.334176 5.261258,-7.5683648 7.746201,-7.50717408 z"
id="right-ear-fluff"
inkscape:label="right-ear-fluff"
sodipodi:nodetypes="sscccccs" />
<path
id="right-ear"
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"
inkscape:label="right-ear"
d="M 32.314823 0.13797607 C 32.186358 0.13371205 32.047151 0.14054812 31.896244 0.15916341 C 29.481744 0.45700807 24.510554 2.4015901 20.504692 7.9390503 C 21.104804 8.2945127 21.767566 8.4989786 22.423437 8.5684692 C 22.660522 8.5774639 22.905307 8.5653735 23.15931 8.5307454 C 23.48473 8.4863812 23.850486 8.4391805 24.23418 8.3845011 C 25.176137 8.0643719 25.920789 7.3874074 26.158093 6.3686035 C 26.680708 4.1248993 27.916356 3.3628118 28.864388 2.4287923 C 29.812421 1.494773 32.213807 0.50948616 32.627983 1.2273153 C 33.042158 1.9451442 32.700197 5.7187083 32.321025 7.1142944 C 31.422363 9.611044 29.85352 11.13425 29.94856 13.817244 C 29.956771 14.049056 29.962604 14.265947 30.000753 14.449247 C 30.053012 14.518359 30.109453 14.585347 30.170251 14.649235 C 30.916656 15.433578 31.456422 14.468469 31.802193 13.566614 C 31.906456 13.289794 32.012578 12.993592 32.130855 12.613184 C 33.122118 9.425044 33.674589 5.3875339 33.719389 3.5863444 C 33.741316 2.7047623 34.241807 0.20193647 32.314823 0.13797607 z " />
<path
style="display:inline;fill:#ff8702;fill-opacity:1;stroke:#313131;stroke-width:1.11137;stroke-linecap:round;stroke-opacity:1"
d="m 25.046868,29.73072 c -1.996046,-1.43053 -2.72569,-4.187008 -2.780806,-5.18828 -0.03437,-0.624318 0.15189,-1.81594 1.167736,-1.987103 1.543555,-0.260079 4.052911,1.127235 5.469466,3.045398"
id="right-hand"
sodipodi:nodetypes="cssc"
inkscape:label="right-hand" />
<path
style="display:inline;fill:#ff8702;fill-opacity:1;stroke:#313131;stroke-width:1.11137;stroke-linecap:round;stroke-opacity:1"
d="M 5.3852594,21.745188 C 3.8676069,19.925382 1.7197062,18.767913 0.59425394,18.831864 c -0.74574139,0.04237 -1.73644154,0.555339 -1.70383404,1.78787 0.032601,1.232281 0.71537941,3.212843 2.9601095,5.073686"
id="left-hand"
sodipodi:nodetypes="cssc"
inkscape:label="left-hand" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Features">
<g
id="right-eye"
inkscape:label="right-eye">
<path
style="display:inline;fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46432"
d="m 18.821195,16.191592 c 0.0069,-1.813998 1.531479,-3.093615 3.091394,-3.033287 1.493144,0.05775 2.829012,0.966077 2.83543,2.763625 0.0067,1.884196 -1.272872,3.155228 -2.961041,3.17048 -1.504527,0.01359 -2.972957,-1.018363 -2.965783,-2.900818 z"
id="path22173-3"
sodipodi:nodetypes="sssss"
inkscape:label="pupil" />
<path
style="fill:#ffffff;stroke-width:0.264583;stroke-linecap:round"
d="m 20.674397,14.215889 c 0.508352,-0.363231 1.399535,-0.613604 1.892136,-0.003 0.492602,0.610567 0.179535,1.488101 -0.569282,1.861258 -0.764929,0.381186 -1.590423,0.427179 -1.90885,-0.213573 -0.318427,-0.640751 0.112788,-1.306526 0.585996,-1.644647 z"
id="path2500"
sodipodi:nodetypes="ssssss"
inkscape:label="top-refl" />
<path
style="fill:#ffffff;stroke-width:0.264583;stroke-linecap:round"
d="m 22.375344,17.21694 c 0.512878,-0.268199 0.863909,-0.715028 1.195282,-0.366907 0.363089,0.38144 -0.03421,1.007593 -0.549866,1.285796 -0.515653,0.278203 -1.426674,0.32325 -1.559971,-0.14029 -0.157306,-0.547032 0.343627,-0.480044 0.914555,-0.778599 z"
id="path2502"
sodipodi:nodetypes="sssss"
inkscape:label="bottom-refl" />
</g>
<g
id="left-eye"
inkscape:label="left-eye"
transform="translate(-12.395816,-1.9414121)">
<path
style="display:inline;fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46432"
d="m 18.821195,16.191592 c 0.0069,-1.813998 1.531479,-3.093615 3.091394,-3.033287 1.493144,0.05775 2.829012,0.966077 2.83543,2.763625 0.0067,1.884196 -1.272872,3.155228 -2.961041,3.17048 -1.504527,0.01359 -2.972957,-1.018363 -2.965783,-2.900818 z"
id="path3139"
sodipodi:nodetypes="sssss"
inkscape:label="pupil" />
<path
style="fill:#ffffff;stroke-width:0.264583;stroke-linecap:round"
d="m 20.674397,14.215889 c 0.508352,-0.363231 1.399535,-0.613604 1.892136,-0.003 0.492602,0.610567 0.179535,1.488101 -0.569282,1.861258 -0.764929,0.381186 -1.590423,0.427179 -1.90885,-0.213573 -0.318427,-0.640751 0.112788,-1.306526 0.585996,-1.644647 z"
id="path3141"
sodipodi:nodetypes="ssssss"
inkscape:label="top-refl" />
<path
style="fill:#ffffff;stroke-width:0.264583;stroke-linecap:round"
d="m 22.375344,17.21694 c 0.512878,-0.268199 0.863909,-0.715028 1.195282,-0.366907 0.363089,0.38144 -0.03421,1.007593 -0.549866,1.285796 -0.515653,0.278203 -1.426674,0.32325 -1.559971,-0.14029 -0.157306,-0.547032 0.343627,-0.480044 0.914555,-0.778599 z"
id="path3143"
sodipodi:nodetypes="sssss"
inkscape:label="bottom-refl" />
</g>
<path
style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:1.165;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 8.9038328,21.207191 C 8.4154886,20.200027 8.4083857,19.210862 9.0434442,18.546508 9.6785027,17.882154 10.898829,17.208363 11.547921,15.199472"
id="nose-outline"
sodipodi:nodetypes="csc"
inkscape:label="nose-outline" />
<path
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 10.675849,19.175188 c 0.955611,-0.521313 3.849322,-0.706251 4.516746,0.681514 0.106717,0.221894 -1.618122,1.890181 -2.674108,1.887838 -1.02104,-0.0023 -2.08232,-2.438598 -1.842638,-2.569352 z"
id="nose"
sodipodi:nodetypes="ssss"
inkscape:label="nose" />
<path
style="fill:none;stroke:#313131;stroke-width:1.165;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 8.0248092,22.612995 c 0.548615,1.686713 1.0637781,2.752111 1.5767164,3.423841 0.9923844,-0.828422 2.2592704,-1.977918 2.7613864,-2.480155 0.783749,1.274883 1.856673,2.745088 2.294365,3.345841 1.285631,-1.024786 2.518532,-2.115492 3.025709,-2.688925"
id="mouth"
sodipodi:nodetypes="ccccc"
inkscape:label="mouth" />
</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_reach_aww</dc:title><dc:creator><cc:Agent><dc:title>Feuerfuchs</dc:title></cc:Agent></dc:creator><dc:source>https://git.shadamethyst.xyz/adri326/blobfox</dc:source><dc:contributor><cc:Agent><dc:title>Shad Amethyst</dc:title></cc:Agent></dc:contributor></cc:Work></rdf:RDF>
</metadata>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

@ -1 +1,2 @@
# Add options in here as needs be # Add options in here as needs be
name = "blobfox"

@ -1,7 +1,7 @@
<g id="base"> <g id="base">
{{#base}}body{{/base}} {{#base}}#body{{/base}}
{{#base}}left-ear{{/base}} {{#base}}#left-ear{{/base}}
{{#base}}hair{{/base}} {{#base}}#hair{{/base}}
{{#base}}right-ear{{/base}} {{#base}}#right-ear{{/base}}
{{#base}}right-ear-fluff{{/base}} {{#base}}#right-ear-fluff{{/base}}
</g> </g>

@ -0,0 +1,4 @@
<g id="eyes-aww">
{{#reach_aww}}#left-eye{{/reach_aww}}
{{#reach_aww}}#right-eye{{/reach_aww}}
</g>

@ -1,4 +1,4 @@
<g id="eyes"> <g id="eyes">
{{#base}}left-eye{{/base}} {{#base}}#left-eye{{/base}}
{{#base}}right-eye{{/base}} {{#base}}#right-eye{{/base}}
</g> </g>

@ -0,0 +1,4 @@
<g id="hands-reach">
{{#reach_aww}}#left-hand{{/reach_aww}}
{{#reach_aww}}#right-hand{{/reach_aww}}
</g>

@ -1,2 +1,3 @@
<svg width="128" height="128" viewBox="0 0 33.866668 33.866668"> <svg width="128" height="128" viewBox="0 0 33.866668 33.866668">
<title>{{variant_name}}</title> <title>{{variant_name}}</title>
<g id="main">

Before

Width:  |  Height:  |  Size: 101 B

After

Width:  |  Height:  |  Size: 119 B

@ -1 +1 @@
{{#base}}mouth{{/base}} {{#base}}#mouth{{/base}}

@ -0,0 +1,4 @@
<g id="nose-aww">
{{#base}}#nose{{/base}}
{{#reach_aww}}#nose-outline{{/reach_aww}}
</g>

@ -1,4 +1,4 @@
<g id="nose"> <g id="nose">
{{#base}}nose-outline{{/base}} {{#base}}#nose-outline{{/base}}
{{#base}}nose{{/base}} {{#base}}#nose{{/base}}
</g> </g>

@ -1,6 +1,10 @@
{{>header}} {{>header}}
{{>base}} <g id="body">
{{>eyes}} {{>base}}
{{>nose}} </g>
{{>mouth-w}} <g id="features">
{{>eyes}}
{{>nose}}
{{>mouth-w}}
</g>
{{>footer}} {{>footer}}

@ -0,0 +1,10 @@
{{>header}}
<g id="body">
{{>base}}
</g>
<g id="features">
{{>eyes-aww}}
{{>nose-aww}}
{{>mouth-w}}
</g>
{{>footer}}

@ -0,0 +1,11 @@
{{>header}}
<g id="body">
{{>base}}
{{>hands-reach}}
</g>
<g id="features">
{{>eyes}}
{{>nose}}
{{>mouth-w}}
</g>
{{>footer}}

@ -0,0 +1,11 @@
{{>header}}
<g id="body">
{{>base}}
{{>hands-reach}}
</g>
<g id="features">
{{>eyes-aww}}
{{>nose-aww}}
{{>mouth-w}}
</g>
{{>footer}}

@ -1,4 +1,6 @@
use std::sync::Arc; use std::sync::Arc;
use clap::Parser;
use std::path::PathBuf;
pub mod parse; pub mod parse;
use parse::*; use parse::*;
@ -7,10 +9,56 @@ pub mod template;
use template::*; use template::*;
fn main() { fn main() {
let species = Arc::new(dbg!(load_species("species/blobfox")).unwrap()); let args = Args::parse();
let species = Arc::new(load_species(args.decl).unwrap());
let context = RenderingContext::new(species); let context = RenderingContext::new(species);
let template = context.compile("species/blobfox/variants/base.svg").unwrap();
let rendered = template.render_data_to_string(&context.get_data()).unwrap(); let output_dir = args.output_dir.unwrap_or(PathBuf::from("output/vector/"));
println!("{}", rendered);
std::fs::write("./test.svg", rendered).unwrap(); mkdirp::mkdirp(output_dir.clone()).unwrap();
if args.names.is_empty() {
for name in context.species().variants.keys() {
generate_variant(&context, name, &output_dir);
}
} else {
for name in args.names.iter() {
generate_variant(&context, name, &output_dir);
}
}
}
fn generate_variant(context: &RenderingContext, name: &str, output_dir: &PathBuf) {
if let Some(path) = context.species().variants.get(name) {
match context.compile(path).and_then(|template| {
template.render_data_to_string(&context.get_data())
}) {
Ok(rendered) => {
let output = output_dir.join(&format!("{}_{}.svg", context.species().name, name));
std::fs::write(output, rendered).unwrap();
}
Err(err) => {
eprintln!("Error while rendering {}: {}", name, err);
}
}
} else {
eprintln!("No variant named {}!", name);
}
}
#[derive(Parser, Debug)]
#[clap(author, version, about, long_about = None)]
struct Args {
/// A folder containing the declaration from which the emotes should be generated
#[clap(short, long, value_parser)]
decl: PathBuf,
/// List of the emote names to export
#[clap(value_parser)]
names: Vec<String>,
/// Output directory
#[clap(short, long, value_parser)]
output_dir: Option<PathBuf>,
} }

@ -1,4 +1,4 @@
use xmltree::{XMLNode, Element}; use xmltree::{Element};
use serde::{Serialize, Deserialize}; use serde::{Serialize, Deserialize};
use std::path::{PathBuf, Path}; use std::path::{PathBuf, Path};
use std::collections::HashMap; use std::collections::HashMap;
@ -28,6 +28,9 @@ pub struct SpeciesDecl {
/// Imports xml and svg files from this folder if they aren't found /// Imports xml and svg files from this folder if they aren't found
pub base: Option<PathBuf>, pub base: Option<PathBuf>,
/// The name of the species
pub name: String,
#[serde(skip)] #[serde(skip)]
pub templates: HashMap<String, PathBuf>, pub templates: HashMap<String, PathBuf>,

@ -111,6 +111,10 @@ impl RenderingContext {
None None
} }
} }
pub fn species(&self) -> Arc<SpeciesDecl> {
Arc::clone(&self.species)
}
} }
impl PartialLoader for RenderingContext { impl PartialLoader for RenderingContext {
@ -133,11 +137,13 @@ pub fn query_selector(svg: Element, pattern: &str) -> Option<Element> {
for child in svg.children { for child in svg.children {
if let XMLNode::Element(child) = child { if let XMLNode::Element(child) = child {
if child.attributes.get("id").map(|id| id == pattern).unwrap_or(false) { if let ("#", pattern_id) = pattern.split_at(1) {
return Some(child); if child.attributes.get("id").map(|id| id == pattern_id).unwrap_or(false) {
} else if child.children.len() > 0 { return Some(child);
if let Some(res) = query_selector(child, pattern) { } else if child.children.len() > 0 {
return Some(res); if let Some(res) = query_selector(child, pattern) {
return Some(res);
}
} }
} }
} }
@ -152,7 +158,7 @@ pub fn xml_to_string(element: Element) -> Option<String> {
config.perform_indent = true; config.perform_indent = true;
config.write_document_declaration = false; config.write_document_declaration = false;
element.write_with_config(&mut s, config); element.write_with_config(&mut s, config).ok()?;
String::from_utf8(s).ok() String::from_utf8(s).ok()
} }

@ -2,159 +2,193 @@
<!-- Created with Inkscape (http://www.inkscape.org/) --> <!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg <svg
width="128" width="128"
height="128" height="128"
viewBox="0 0 33.866668 33.866668" viewBox="0 0 33.866668 33.866668"
version="1.1" version="1.1"
id="svg5" id="svg5"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
sodipodi:docname="blobfox_reach_aww.svg" sodipodi:docname="blobfox_reach_aww.svg"
xml:space="preserve" xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
xmlns:svg="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:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#" xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><title xmlns:dc="http://purl.org/dc/elements/1.1/">
id="title30762">blobfox_reach_aww</title><sodipodi:namedview <title id="title">blobfox_reach_aww</title>
id="namedview7" <sodipodi:namedview
pagecolor="#505050" id="namedview7"
bordercolor="#ffffff" pagecolor="#505050"
borderopacity="1" bordercolor="#ffffff"
inkscape:pageshadow="0" borderopacity="1"
inkscape:pageopacity="0" inkscape:pageshadow="0"
inkscape:pagecheckerboard="1" inkscape:pageopacity="0"
inkscape:document-units="mm" inkscape:pagecheckerboard="1"
showgrid="false" inkscape:document-units="mm"
inkscape:zoom="3.7207012" showgrid="false"
inkscape:cx="73.910798" inkscape:zoom="3.7207012"
inkscape:cy="53.753308" inkscape:cx="73.910798"
inkscape:window-width="1536" inkscape:cy="53.753308"
inkscape:window-height="779" inkscape:window-width="1536"
inkscape:window-x="0" inkscape:window-height="779"
inkscape:window-y="0" inkscape:window-x="0"
inkscape:window-maximized="1" inkscape:window-y="0"
inkscape:current-layer="layer3" inkscape:window-maximized="1"
units="px" inkscape:current-layer="layer3"
inkscape:showpageshadow="2" units="px"
inkscape:deskcolor="#505050"><inkscape:grid inkscape:showpageshadow="2"
type="xygrid" inkscape:deskcolor="#505050">
id="grid10" /></sodipodi:namedview><defs <inkscape:grid
id="defs2" /><g type="xygrid"
inkscape:groupmode="layer" id="grid10" />
id="layer2" </sodipodi:namedview>
inkscape:label="ref" <defs id="defs2" />
style="display:none"><image <g
width="33.866665" inkscape:groupmode="layer"
height="33.866665" id="layer2"
preserveAspectRatio="none" inkscape:label="ref"
style="display:none;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality" style="display:none">
xlink:href="../original/blobfox.png" <image
id="image80" width="33.866665"
x="0" height="33.866665"
y="0" preserveAspectRatio="none"
inkscape:label="blobfox" /><image style="display:none;fill:#313131;fill-opacity:1;stroke:none;image-rendering:optimizeQuality"
width="35.568115" xlink:href="../original/blobfox.png"
height="35.568115" id="image80"
preserveAspectRatio="none" x="0"
style="image-rendering:optimizeSpeed" y="0"
xlink:href="../original/blobfoxreachaww.png" inkscape:label="blobfox" />
id="image2154" <image
x="-1.6206435" width="35.568115"
y="-1.8984466" height="35.568115"
inkscape:label="blobfoxreachaww" /></g><g preserveAspectRatio="none"
inkscape:label="Base" style="image-rendering:optimizeSpeed"
inkscape:groupmode="layer" xlink:href="../original/blobfoxreachaww.png"
id="layer1" id="image2154"
style="display:inline"><path x="-1.6206435"
id="path117-3" y="-1.8984466"
style="display:inline;fill:#ff8702;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501" inkscape:label="blobfoxreachaww" />
d="M 8.2074116,8.4126526 C 5.0913797,9.6496164 0.4041473,15.466063 0,25.134999 c 0,0 0.03851,2.124914 0.5829101,3.792016 1.4993074,1.718181 5.5005282,4.054899 10.6830689,4.70824 4.995668,0.629782 11.407069,-0.117981 15.429032,-1.02216 4.021965,-0.904179 6.039482,-3.513558 6.301425,-4.182173 0.261937,-0.668616 0.02856,-2.042628 -0.147797,-2.629814 -0.214802,-0.71519 -0.544671,-1.660976 -0.105418,-2.94969 C 33.182472,21.562704 34.115718,16.337933 32.130917,12.6127 28.259445,4.8114773 16.226603,5.2292932 8.2074116,8.4126526 Z" </g>
sodipodi:nodetypes="sccssssscs" <g
inkscape:label="body" /><path inkscape:label="Base"
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" inkscape:groupmode="layer"
d="M 4.3137226,11.778813 C 1.9838307,6.3895666 2.145295,1.2059319 2.6452072,0.51782863 3.0391093,-0.02435716 3.3041475,-0.15736443 3.9502132,0.20050729 4.7128691,0.62296126 7.6810801,3.5307571 11.56213,6.108751 13.240321,7.223492 9.2628811,6.8913037 11.377083,7.6729166 7.6803703,7.9244796 6.2213245,9.6296562 4.3137226,11.778813 Z" id="layer1"
id="path20678" style="display:inline">
sodipodi:nodetypes="cssscc" <path
inkscape:label="left-ear" /><path id="body"
id="path117-7" style="display:inline;fill:#ff8702;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"
style="display:inline;fill:#ff8702;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501" d="M 8.2074116,8.4126526 C 5.0913797,9.6496164 0.4041473,15.466063 0,25.134999 c 0,0 0.03851,2.124914 0.5829101,3.792016 1.4993074,1.718181 5.5005282,4.054899 10.6830689,4.70824 4.995668,0.629782 11.407069,-0.117981 15.429032,-1.02216 4.021965,-0.904179 6.039482,-3.513558 6.301425,-4.182173 0.261937,-0.668616 0.02856,-2.042628 -0.147797,-2.629814 -0.214802,-0.71519 -0.544671,-1.660976 -0.105418,-2.94969 C 33.182472,21.562704 34.115718,16.337933 32.130917,12.6127 28.259445,4.8114773 16.226603,5.2292932 8.2074116,8.4126526 Z"
d="M 11.377083,2.91 C 12.292433,4.7691551 12.5655,5.0594456 14.022916,6.87875 11.641667,5.5558333 9.136393,6.238479 8.07806,6.7676456 10.151048,7.1605077 10.449443,7.3377486 11.377083,7.6725 14.462128,8.7857796 17.25774,10.030627 19.911704,8.4803466 21.209819,7.7220691 23.693263,6.1378025 22.490617,5.521727 20.910675,4.7123751 19.838056,4.0335486 18.732706,3.5647403 18.834047,4.2785158 19.041575,4.8238358 19.283577,5.6648705 17.304617,4.3515344 15.100816,3.3140553 11.377083,2.91 Z" sodipodi:nodetypes="sccssssscs"
sodipodi:nodetypes="cccsssccc" inkscape:label="body" />
inkscape:label="hair" /><path <path
style="display:inline;fill:#ebdccc;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 31.870065,0.89136862 c 2.484943,0.0611907 0.664265,7.56804148 -0.509611,9.14994438 -1.173877,1.581904 -0.831551,4.245863 -1.354667,4.404248 -0.707644,-0.825525 -0.707787,-2.595852 -0.717551,-4.150112 -0.760031,0.341959 -2.089885,0.741869 -3.258009,0.409179 0.287592,-0.78609 0.653321,-1.9632947 0.948986,-2.908956 -0.481311,0.1872691 -1.564135,0.4426682 -2.855349,0.6028707 1.157455,-2.334176 5.261258,-7.5683648 7.746201,-7.50717408 z" d="M 4.3137226,11.778813 C 1.9838307,6.3895666 2.145295,1.2059319 2.6452072,0.51782863 3.0391093,-0.02435716 3.3041475,-0.15736443 3.9502132,0.20050729 4.7128691,0.62296126 7.6810801,3.5307571 11.56213,6.108751 13.240321,7.223492 9.2628811,6.8913037 11.377083,7.6729166 7.6803703,7.9244796 6.2213245,9.6296562 4.3137226,11.778813 Z"
id="path18942" id="left-ear"
inkscape:label="right-ear-fluff" sodipodi:nodetypes="cssscc"
sodipodi:nodetypes="sscccccs" /><path inkscape:label="left-ear" />
id="path14428" <path
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501" id="hair"
inkscape:label="right-ear" style="display:inline;fill:#ff8702;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"
d="M 32.314823 0.13797607 C 32.186358 0.13371205 32.047151 0.14054812 31.896244 0.15916341 C 29.481744 0.45700807 24.510554 2.4015901 20.504692 7.9390503 C 21.104804 8.2945127 21.767566 8.4989786 22.423437 8.5684692 C 22.660522 8.5774639 22.905307 8.5653735 23.15931 8.5307454 C 23.48473 8.4863812 23.850486 8.4391805 24.23418 8.3845011 C 25.176137 8.0643719 25.920789 7.3874074 26.158093 6.3686035 C 26.680708 4.1248993 27.916356 3.3628118 28.864388 2.4287923 C 29.812421 1.494773 32.213807 0.50948616 32.627983 1.2273153 C 33.042158 1.9451442 32.700197 5.7187083 32.321025 7.1142944 C 31.422363 9.611044 29.85352 11.13425 29.94856 13.817244 C 29.956771 14.049056 29.962604 14.265947 30.000753 14.449247 C 30.053012 14.518359 30.109453 14.585347 30.170251 14.649235 C 30.916656 15.433578 31.456422 14.468469 31.802193 13.566614 C 31.906456 13.289794 32.012578 12.993592 32.130855 12.613184 C 33.122118 9.425044 33.674589 5.3875339 33.719389 3.5863444 C 33.741316 2.7047623 34.241807 0.20193647 32.314823 0.13797607 z " /><path d="M 11.377083,2.91 C 12.292433,4.7691551 12.5655,5.0594456 14.022916,6.87875 11.641667,5.5558333 9.136393,6.238479 8.07806,6.7676456 10.151048,7.1605077 10.449443,7.3377486 11.377083,7.6725 14.462128,8.7857796 17.25774,10.030627 19.911704,8.4803466 21.209819,7.7220691 23.693263,6.1378025 22.490617,5.521727 20.910675,4.7123751 19.838056,4.0335486 18.732706,3.5647403 18.834047,4.2785158 19.041575,4.8238358 19.283577,5.6648705 17.304617,4.3515344 15.100816,3.3140553 11.377083,2.91 Z"
style="display:inline;fill:#ff8702;fill-opacity:1;stroke:#313131;stroke-width:1.11137;stroke-linecap:round;stroke-opacity:1" sodipodi:nodetypes="cccsssccc"
d="m 25.046868,29.73072 c -1.996046,-1.43053 -2.72569,-4.187008 -2.780806,-5.18828 -0.03437,-0.624318 0.15189,-1.81594 1.167736,-1.987103 1.543555,-0.260079 4.052911,1.127235 5.469466,3.045398" inkscape:label="hair" />
id="path4894" <path
sodipodi:nodetypes="cssc" style="display:inline;fill:#ebdccc;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
inkscape:label="right-hand" /><path d="m 31.870065,0.89136862 c 2.484943,0.0611907 0.664265,7.56804148 -0.509611,9.14994438 -1.173877,1.581904 -0.831551,4.245863 -1.354667,4.404248 -0.707644,-0.825525 -0.707787,-2.595852 -0.717551,-4.150112 -0.760031,0.341959 -2.089885,0.741869 -3.258009,0.409179 0.287592,-0.78609 0.653321,-1.9632947 0.948986,-2.908956 -0.481311,0.1872691 -1.564135,0.4426682 -2.855349,0.6028707 1.157455,-2.334176 5.261258,-7.5683648 7.746201,-7.50717408 z"
style="display:inline;fill:#ff8702;fill-opacity:1;stroke:#313131;stroke-width:1.11137;stroke-linecap:round;stroke-opacity:1" id="right-ear-fluff"
d="M 5.3852594,21.745188 C 3.8676069,19.925382 1.7197062,18.767913 0.59425394,18.831864 c -0.74574139,0.04237 -1.73644154,0.555339 -1.70383404,1.78787 0.032601,1.232281 0.71537941,3.212843 2.9601095,5.073686" inkscape:label="right-ear-fluff"
id="path4950" sodipodi:nodetypes="sscccccs" />
sodipodi:nodetypes="cssc" <path
inkscape:label="left-hand" /></g><g id="right-ear"
inkscape:groupmode="layer" style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.4501"
id="layer3" inkscape:label="right-ear"
inkscape:label="Features"><g d="M 32.314823 0.13797607 C 32.186358 0.13371205 32.047151 0.14054812 31.896244 0.15916341 C 29.481744 0.45700807 24.510554 2.4015901 20.504692 7.9390503 C 21.104804 8.2945127 21.767566 8.4989786 22.423437 8.5684692 C 22.660522 8.5774639 22.905307 8.5653735 23.15931 8.5307454 C 23.48473 8.4863812 23.850486 8.4391805 24.23418 8.3845011 C 25.176137 8.0643719 25.920789 7.3874074 26.158093 6.3686035 C 26.680708 4.1248993 27.916356 3.3628118 28.864388 2.4287923 C 29.812421 1.494773 32.213807 0.50948616 32.627983 1.2273153 C 33.042158 1.9451442 32.700197 5.7187083 32.321025 7.1142944 C 31.422363 9.611044 29.85352 11.13425 29.94856 13.817244 C 29.956771 14.049056 29.962604 14.265947 30.000753 14.449247 C 30.053012 14.518359 30.109453 14.585347 30.170251 14.649235 C 30.916656 15.433578 31.456422 14.468469 31.802193 13.566614 C 31.906456 13.289794 32.012578 12.993592 32.130855 12.613184 C 33.122118 9.425044 33.674589 5.3875339 33.719389 3.5863444 C 33.741316 2.7047623 34.241807 0.20193647 32.314823 0.13797607 z " />
id="g3111" <path
inkscape:label="right-eye"><path style="display:inline;fill:#ff8702;fill-opacity:1;stroke:#313131;stroke-width:1.11137;stroke-linecap:round;stroke-opacity:1"
style="display:inline;fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46432" d="m 25.046868,29.73072 c -1.996046,-1.43053 -2.72569,-4.187008 -2.780806,-5.18828 -0.03437,-0.624318 0.15189,-1.81594 1.167736,-1.987103 1.543555,-0.260079 4.052911,1.127235 5.469466,3.045398"
d="m 18.821195,16.191592 c 0.0069,-1.813998 1.531479,-3.093615 3.091394,-3.033287 1.493144,0.05775 2.829012,0.966077 2.83543,2.763625 0.0067,1.884196 -1.272872,3.155228 -2.961041,3.17048 -1.504527,0.01359 -2.972957,-1.018363 -2.965783,-2.900818 z" id="right-hand"
id="path22173-3" sodipodi:nodetypes="cssc"
sodipodi:nodetypes="sssss" inkscape:label="right-hand" />
inkscape:label="pupil" /><path <path
style="fill:#ffffff;stroke-width:0.264583;stroke-linecap:round" style="display:inline;fill:#ff8702;fill-opacity:1;stroke:#313131;stroke-width:1.11137;stroke-linecap:round;stroke-opacity:1"
d="m 20.674397,14.215889 c 0.508352,-0.363231 1.399535,-0.613604 1.892136,-0.003 0.492602,0.610567 0.179535,1.488101 -0.569282,1.861258 -0.764929,0.381186 -1.590423,0.427179 -1.90885,-0.213573 -0.318427,-0.640751 0.112788,-1.306526 0.585996,-1.644647 z" d="M 5.3852594,21.745188 C 3.8676069,19.925382 1.7197062,18.767913 0.59425394,18.831864 c -0.74574139,0.04237 -1.73644154,0.555339 -1.70383404,1.78787 0.032601,1.232281 0.71537941,3.212843 2.9601095,5.073686"
id="path2500" id="left-hand"
sodipodi:nodetypes="ssssss" sodipodi:nodetypes="cssc"
inkscape:label="top-refl" /><path inkscape:label="left-hand" />
style="fill:#ffffff;stroke-width:0.264583;stroke-linecap:round" </g>
d="m 22.375344,17.21694 c 0.512878,-0.268199 0.863909,-0.715028 1.195282,-0.366907 0.363089,0.38144 -0.03421,1.007593 -0.549866,1.285796 -0.515653,0.278203 -1.426674,0.32325 -1.559971,-0.14029 -0.157306,-0.547032 0.343627,-0.480044 0.914555,-0.778599 z" <g
id="path2502" inkscape:groupmode="layer"
sodipodi:nodetypes="sssss" id="layer3"
inkscape:label="bottom-refl" /></g><g inkscape:label="Features">
id="g3145" <g
inkscape:label="left-eye" id="right-eye"
transform="translate(-12.395816,-1.9414121)"><path inkscape:label="right-eye">
style="display:inline;fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46432" <path
d="m 18.821195,16.191592 c 0.0069,-1.813998 1.531479,-3.093615 3.091394,-3.033287 1.493144,0.05775 2.829012,0.966077 2.83543,2.763625 0.0067,1.884196 -1.272872,3.155228 -2.961041,3.17048 -1.504527,0.01359 -2.972957,-1.018363 -2.965783,-2.900818 z" style="display:inline;fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46432"
id="path3139" d="m 18.821195,16.191592 c 0.0069,-1.813998 1.531479,-3.093615 3.091394,-3.033287 1.493144,0.05775 2.829012,0.966077 2.83543,2.763625 0.0067,1.884196 -1.272872,3.155228 -2.961041,3.17048 -1.504527,0.01359 -2.972957,-1.018363 -2.965783,-2.900818 z"
sodipodi:nodetypes="sssss" id="path22173-3"
inkscape:label="pupil" /><path sodipodi:nodetypes="sssss"
style="fill:#ffffff;stroke-width:0.264583;stroke-linecap:round" inkscape:label="pupil" />
d="m 20.674397,14.215889 c 0.508352,-0.363231 1.399535,-0.613604 1.892136,-0.003 0.492602,0.610567 0.179535,1.488101 -0.569282,1.861258 -0.764929,0.381186 -1.590423,0.427179 -1.90885,-0.213573 -0.318427,-0.640751 0.112788,-1.306526 0.585996,-1.644647 z" <path
id="path3141" style="fill:#ffffff;stroke-width:0.264583;stroke-linecap:round"
sodipodi:nodetypes="ssssss" d="m 20.674397,14.215889 c 0.508352,-0.363231 1.399535,-0.613604 1.892136,-0.003 0.492602,0.610567 0.179535,1.488101 -0.569282,1.861258 -0.764929,0.381186 -1.590423,0.427179 -1.90885,-0.213573 -0.318427,-0.640751 0.112788,-1.306526 0.585996,-1.644647 z"
inkscape:label="top-refl" /><path id="path2500"
style="fill:#ffffff;stroke-width:0.264583;stroke-linecap:round" sodipodi:nodetypes="ssssss"
d="m 22.375344,17.21694 c 0.512878,-0.268199 0.863909,-0.715028 1.195282,-0.366907 0.363089,0.38144 -0.03421,1.007593 -0.549866,1.285796 -0.515653,0.278203 -1.426674,0.32325 -1.559971,-0.14029 -0.157306,-0.547032 0.343627,-0.480044 0.914555,-0.778599 z" inkscape:label="top-refl" />
id="path3143" <path
sodipodi:nodetypes="sssss" style="fill:#ffffff;stroke-width:0.264583;stroke-linecap:round"
inkscape:label="bottom-refl" /></g><path d="m 22.375344,17.21694 c 0.512878,-0.268199 0.863909,-0.715028 1.195282,-0.366907 0.363089,0.38144 -0.03421,1.007593 -0.549866,1.285796 -0.515653,0.278203 -1.426674,0.32325 -1.559971,-0.14029 -0.157306,-0.547032 0.343627,-0.480044 0.914555,-0.778599 z"
style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:1.165;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path2502"
d="M 8.9038328,21.207191 C 8.4154886,20.200027 8.4083857,19.210862 9.0434442,18.546508 9.6785027,17.882154 10.898829,17.208363 11.547921,15.199472" sodipodi:nodetypes="sssss"
id="path27175" inkscape:label="bottom-refl" />
sodipodi:nodetypes="csc" </g>
inkscape:label="nose-outline" /><path <g
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" id="left-eye"
d="m 10.675849,19.175188 c 0.955611,-0.521313 3.849322,-0.706251 4.516746,0.681514 0.106717,0.221894 -1.618122,1.890181 -2.674108,1.887838 -1.02104,-0.0023 -2.08232,-2.438598 -1.842638,-2.569352 z" inkscape:label="left-eye"
id="path28517" transform="translate(-12.395816,-1.9414121)">
sodipodi:nodetypes="ssss" <path
inkscape:label="nose" /><path style="display:inline;fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.46432"
style="fill:none;stroke:#313131;stroke-width:1.165;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 18.821195,16.191592 c 0.0069,-1.813998 1.531479,-3.093615 3.091394,-3.033287 1.493144,0.05775 2.829012,0.966077 2.83543,2.763625 0.0067,1.884196 -1.272872,3.155228 -2.961041,3.17048 -1.504527,0.01359 -2.972957,-1.018363 -2.965783,-2.900818 z"
d="m 8.0248092,22.612995 c 0.548615,1.686713 1.0637781,2.752111 1.5767164,3.423841 0.9923844,-0.828422 2.2592704,-1.977918 2.7613864,-2.480155 0.783749,1.274883 1.856673,2.745088 2.294365,3.345841 1.285631,-1.024786 2.518532,-2.115492 3.025709,-2.688925" id="path3139"
id="path29369" sodipodi:nodetypes="sssss"
sodipodi:nodetypes="ccccc" inkscape:label="pupil" />
inkscape:label="mouth" /></g><metadata <path
id="metadata30760"><rdf:RDF><cc:Work style="fill:#ffffff;stroke-width:0.264583;stroke-linecap:round"
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_reach_aww</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> d="m 20.674397,14.215889 c 0.508352,-0.363231 1.399535,-0.613604 1.892136,-0.003 0.492602,0.610567 0.179535,1.488101 -0.569282,1.861258 -0.764929,0.381186 -1.590423,0.427179 -1.90885,-0.213573 -0.318427,-0.640751 0.112788,-1.306526 0.585996,-1.644647 z"
id="path3141"
sodipodi:nodetypes="ssssss"
inkscape:label="top-refl" />
<path
style="fill:#ffffff;stroke-width:0.264583;stroke-linecap:round"
d="m 22.375344,17.21694 c 0.512878,-0.268199 0.863909,-0.715028 1.195282,-0.366907 0.363089,0.38144 -0.03421,1.007593 -0.549866,1.285796 -0.515653,0.278203 -1.426674,0.32325 -1.559971,-0.14029 -0.157306,-0.547032 0.343627,-0.480044 0.914555,-0.778599 z"
id="path3143"
sodipodi:nodetypes="sssss"
inkscape:label="bottom-refl" />
</g>
<path
style="fill:none;fill-opacity:1;stroke:#313131;stroke-width:1.165;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 8.9038328,21.207191 C 8.4154886,20.200027 8.4083857,19.210862 9.0434442,18.546508 9.6785027,17.882154 10.898829,17.208363 11.547921,15.199472"
id="nose-outline"
sodipodi:nodetypes="csc"
inkscape:label="nose-outline" />
<path
style="fill:#313131;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 10.675849,19.175188 c 0.955611,-0.521313 3.849322,-0.706251 4.516746,0.681514 0.106717,0.221894 -1.618122,1.890181 -2.674108,1.887838 -1.02104,-0.0023 -2.08232,-2.438598 -1.842638,-2.569352 z"
id="nose"
sodipodi:nodetypes="ssss"
inkscape:label="nose" />
<path
style="fill:none;stroke:#313131;stroke-width:1.165;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 8.0248092,22.612995 c 0.548615,1.686713 1.0637781,2.752111 1.5767164,3.423841 0.9923844,-0.828422 2.2592704,-1.977918 2.7613864,-2.480155 0.783749,1.274883 1.856673,2.745088 2.294365,3.345841 1.285631,-1.024786 2.518532,-2.115492 3.025709,-2.688925"
id="mouth"
sodipodi:nodetypes="ccccc"
inkscape:label="mouth" />
</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_reach_aww</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>

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Loading…
Cancel
Save