Files
create/icons/themed/Std_ToggleVisibility.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

173 lines
5.5 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="64px"
height="64px"
id="svg3057"
version="1.1">
<title
id="title861">Std_ToggleVisibility</title>
<defs
id="defs3059">
<linearGradient
id="linearGradient3862">
<stop
style="stop-color:#89b4fa;stop-opacity:1"
offset="0"
id="stop3864" />
<stop
style="stop-color:#0846b3;stop-opacity:1"
offset="1"
id="stop3866" />
</linearGradient>
<linearGradient
id="linearGradient3814">
<stop
style="stop-color:#cdd6f4;stop-opacity:1"
offset="0"
id="stop3816" />
<stop
style="stop-color:#6c7086;stop-opacity:1"
offset="1"
id="stop3818" />
</linearGradient>
<linearGradient
id="linearGradient3878">
<stop
style="stop-color:#11111b;stop-opacity:0.58823532;"
offset="0"
id="stop3880" />
<stop
style="stop-color:#11111b;stop-opacity:0.58823532;"
offset="1"
id="stop3882" />
</linearGradient>
<linearGradient
id="linearGradient3870">
<stop
style="stop-color:#11111b;stop-opacity:0.19607843;"
offset="0"
id="stop3872" />
<stop
style="stop-color:#11111b;stop-opacity:1;"
offset="1"
id="stop3874" />
</linearGradient>
<linearGradient
id="linearGradient3858">
<stop
style="stop-color:#11111b;stop-opacity:0.19607843;"
offset="0"
id="stop3868" />
<stop
style="stop-color:#11111b;stop-opacity:1;"
offset="1"
id="stop3862" />
</linearGradient>
<linearGradient
id="linearGradient3839">
<stop
style="stop-color:#49c1ad;stop-opacity:1;"
offset="0"
id="stop3841" />
<stop
style="stop-color:#49c1ad;stop-opacity:0;"
offset="1"
id="stop3843" />
</linearGradient>
<linearGradient
xlink:href="#linearGradient3838-3"
id="linearGradient3844-0"
x1="0.1544303"
y1="0.43078607"
x2="64.94799"
y2="64.894638"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.83341111,0,0,0.86929423,6.5373399,6.8175926)" />
<linearGradient
id="linearGradient3838-3">
<stop
style="stop-color:#cdd6f4;stop-opacity:1"
offset="0"
id="stop3840-1" />
<stop
style="stop-color:#dde0dd;stop-opacity:0.09302326"
offset="1"
id="stop3842-2" />
</linearGradient>
<radialGradient
xlink:href="#linearGradient3814"
id="radialGradient3820"
cx="20.945665"
cy="24.73864"
fx="20.945665"
fy="24.73864"
r="26.352778"
gradientTransform="matrix(0.49689881,1.3736343,-1.2300244,0.46910229,40.296276,-13.659687)"
gradientUnits="userSpaceOnUse" />
<radialGradient
xlink:href="#linearGradient3862"
id="radialGradient3868"
cx="44.616356"
cy="44.709038"
fx="44.616356"
fy="44.709038"
r="16.079005"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0625002,-1.0000002,0.91069082,0.96760906,-43.504641,46.064532)" />
</defs>
<metadata
id="metadata3062">
<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_ToggleVisibility</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1">
<g
id="g3851"
transform="matrix(1.1386579,0,0,1.1324894,-5.849948,-6.8720445)">
<path
style="fill:url(#radialGradient3820);fill-opacity:1;stroke:#1e1e2e;stroke-width:1.76123;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 7.7722627,34.279354 C 20.354267,58.83915 45.233263,59.243588 58.709426,34.409232 45.894758,9.8013263 21.264446,9.3871781 7.7722627,34.279354 Z"
id="path3016" />
<circle
style="fill:url(#radialGradient3868);fill-opacity:1;fill-rule:evenodd;stroke:#0846b3;stroke-width:2.00988"
id="path3808"
transform="matrix(0.87391169,0,0,0.87867175,-0.48055252,1.2209273)"
cx="38.586731"
cy="37.674473"
r="15.074067" />
<circle
style="fill:#1e1e2e;fill-opacity:1;fill-rule:evenodd;stroke:#1e1e2e;stroke-width:2.22435"
id="path3810"
transform="matrix(0.78964818,0,0,0.79394928,7.0423882,8.1349206)"
cx="33.177376"
cy="32.986366"
r="7.7852244" />
<path
style="fill:none;stroke:#45475a;stroke-width:1.76123;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 9.5287167,34.283648 C 21.242996,56.504419 44.406199,56.870339 56.95297,34.401158 45.022072,12.136861 22.090404,11.762154 9.5287167,34.283648 Z"
id="path3016-7" />
<circle
style="fill:none;stroke:#89b4fa;stroke-width:2.31909"
id="path3808-0"
transform="matrix(0.75739013,0,0,0.76151552,4.0156334,5.6347265)"
cx="38.586731"
cy="37.674473"
r="15.074067" />
</g>
</g>
</svg>