Files
create/icons/themed/Std_UserEditModeDefault.svg
forbes d7b532255b
Some checks failed
Build and Test / build (pull_request) Has been cancelled
feat(icons): add icon theming infrastructure with Catppuccin color remapping
- Remove hand-crafted kindred-icons/ in favor of auto-generated themed icons
- Add icons/mappings/ with FCAD.csv (Tango palette) and kindred.csv (Catppuccin Mocha)
- Add icons/retheme.py script to remap upstream FreeCAD SVG colors
- Generate icons/themed/ with 1,595 themed SVGs (45,300 color replacements)
- BitmapFactory loads icons/themed/ as highest priority before default icons
- 157-color mapping covers the full Tango palette, interpolating between
  4 luminance anchors per color family

Regenerate: python3 icons/retheme.py
2026-02-15 20:34:22 -06:00

230 lines
9.1 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="64"
height="64"
id="svg4025"
version="1.1"
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="title2509">Std_UserEditModeDefault</title>
<defs
id="defs4027">
<linearGradient
id="linearGradient942">
<stop
style="stop-color:#6c7086;stop-opacity:1"
offset="0"
id="stop938" />
<stop
style="stop-color:#313244;stop-opacity:1"
offset="1"
id="stop940" />
</linearGradient>
<linearGradient
id="linearGradient919">
<stop
style="stop-color:#313244;stop-opacity:1"
offset="0"
id="stop915" />
<stop
style="stop-color:#585b70;stop-opacity:1"
offset="1"
id="stop917" />
</linearGradient>
<linearGradient
id="linearGradient2497">
<stop
style="stop-color:#0846b3;stop-opacity:1"
offset="0"
id="stop2493" />
<stop
style="stop-color:#89b4fa;stop-opacity:1"
offset="1"
id="stop2495" />
</linearGradient>
<radialGradient
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-1.489736,0,0,-0.53739498,111.31562,31.29632)"
r="15.644737"
fy="36.421127"
fx="24.837126"
cy="36.421127"
cx="24.837126"
id="radialGradient8668"
xlink:href="#linearGradient8662" />
<linearGradient
id="linearGradient8662">
<stop
id="stop8664"
offset="0"
style="stop-color:#11111b;stop-opacity:1;" />
<stop
id="stop8666"
offset="1"
style="stop-color:#11111b;stop-opacity:0;" />
</linearGradient>
<linearGradient
xlink:href="#linearGradient919"
id="linearGradient921"
x1="45"
y1="24"
x2="10"
y2="-12"
gradientUnits="userSpaceOnUse" />
<linearGradient
xlink:href="#linearGradient942"
id="linearGradient944"
x1="19"
y1="2"
x2="32"
y2="6"
gradientUnits="userSpaceOnUse" />
<linearGradient
xlink:href="#linearGradient2497"
id="linearGradient1"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.69479672,-0.69479672,0.70710678,0.70710678,-380.19427,258.66394)"
x1="454.8096"
y1="115.02686"
x2="467.76303"
y2="102.29894" />
</defs>
<metadata
id="metadata4030">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Std_UserEditModeDefault</dc:title>
<dc:date>11-10-2021</dc:date>
<dc:creator>
<cc:Agent>
<dc:title>[bitacovir]</dc:title>
</cc:Agent>
</dc:creator>
<dc:rights>
<cc:Agent>
<dc:title>FreeCAD LGPL2+</dc:title>
</cc:Agent>
</dc:rights>
<dc:publisher>
<cc:Agent>
<dc:title>FreeCAD</dc:title>
</cc:Agent>
</dc:publisher>
<dc:relation>https://www.freecad.org/wiki/index.php?title=Artwork</dc:relation>
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<g
id="layer4">
<path
id="path898-8"
d="m 17,2 9,12 29,-37"
style="fill:none;stroke:#1e1e2e;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
transform="translate(0,32)" />
<circle
style="fill:none;fill-rule:evenodd;stroke:#1e1e2e;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers fill stroke"
id="path881"
cx="31.97114"
cy="0.77428854"
r="26.210501"
transform="translate(0,32)" />
<path
d=""
id="path8660"
style="color:#11111b;display:inline;overflow:visible;visibility:visible;opacity:0.141176;fill:url(#radialGradient8668);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.22131;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
cx="24.837126"
cy="36.421127"
rx="15.644737"
ry="8.3968935"
transform="translate(0,32)" />
<circle
id="path881-9"
style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient921);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers fill stroke"
r="26.210501"
cy="1"
cx="32"
transform="translate(0,32)" />
<path
style="fill:none;stroke:#7f849c;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 17,2 9,12 29,-37"
id="path898"
transform="translate(0,32)" />
<path
id="path898-6"
d="m 17,2 9,12 29,-37"
style="fill:none;stroke:url(#linearGradient944);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
transform="translate(0,32)" />
</g>
<g
id="layer4-60"
style="display:inline"
transform="translate(0,-3.9999998)">
<path
style="display:inline;fill:url(#linearGradient1);stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
d="M 3.0000818,21.999919 H 29.28419 c -2.12132,-2.121321 -2.121318,-2.878714 1e-6,-5.000033 -2.118429,-2.118428 -2.118629,-3.88137 0,-6 -2.12132,-2.1213203 -2.121317,-2.8785688 1e-6,-4.9998875 l -26.2841095,-1.4e-6 z"
id="path3843-5-6-9-7-6"
transform="translate(-2.1104444e-6,1.0000829)" />
<path
style="display:inline;fill:none;stroke:#89b4fa;stroke-width:2.01764;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 452.54848,97.248607 17.9055,17.593793"
id="path3888-5-6-2"
transform="matrix(0.69479672,-0.69479672,0.70710678,0.70710678,-380.19427,259.66402)" />
<path
style="display:inline;fill:none;stroke:#376caf;stroke-width:2.01764;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 410.16237,100.31115 17.8493,17.53857"
id="path3888"
transform="matrix(0.69479672,-0.69479672,0.70710678,0.70710678,-352.91008,234.04877)" />
<path
style="display:inline;fill:none;stroke:#052459;stroke-width:2.01764;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
d="m 446.07175,103.61259 18.91496,18.58567 c 0,-3 0.54504,-3.53555 3.59819,-3.53555 0,-2.99591 1.26853,-4.24264 4.31781,-4.24264 0,-3 0.54495,-3.53546 3.5981,-3.53546 L 457.58585,92.298938 Z"
id="path3843-5-6-9-6-6"
transform="matrix(0.69479672,-0.69479672,0.70710678,0.70710678,-380.19427,259.66402)" />
<path
d="M 29.284191,10.999886 H 3.0000823 Z"
style="display:inline;fill:none;stroke:#052459;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
id="path1-1"
transform="translate(-2.1104444e-6,1.0000829)" />
<path
d="M 29.284191,16.999886 H 3.000082 Z"
style="display:inline;fill:none;stroke:#052459;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
id="path1-7-8"
transform="translate(-2.1104444e-6,1.0000829)" />
<path
d="m 29.284189,17.999969 c -2.081547,-2.11843 -2.081746,-3.88137 0,-6 -2.084393,-2.1213172 -2.084387,-2.8785695 2e-6,-4.9998895 L 44.840542,14.999964 29.284189,23 c -2.084394,-2.121316 -2.084389,-2.878712 0,-5.000031 z"
style="display:inline;fill:#cdd6f4;stroke:#052459;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
id="path1-2-7"
transform="translate(2.6299677e-6)" />
<path
style="display:inline;fill:#052459;stroke:none;stroke-width:1.00882px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
d="m 473.46271,124.86983 8.47599,2.67156 -2.71894,-8.32839 c -3.10593,0.81774 -4.92679,2.61222 -5.75705,5.65683 z"
id="path3971-2-9"
transform="matrix(0.69479672,-0.69479672,0.70710678,0.70710678,-380.19427,259.66402)" />
</g>
</svg>