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

78 lines
10 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="svg2742" version="1.1">
<defs id="defs2744">
<linearGradient id="linearGradient3840">
<stop style="stop-color:#307bf7;stop-opacity:1" offset="0" id="stop3842" />
<stop style="stop-color:#89b4fa;stop-opacity:1" offset="1" id="stop3844" />
</linearGradient>
<linearGradient id="linearGradient3796">
<stop style="stop-color:#307bf7;stop-opacity:1" offset="0" id="stop3798" />
<stop style="stop-color:#89b4fa;stop-opacity:1" offset="1" id="stop3800" />
</linearGradient>
<linearGradient id="linearGradient3593">
<stop style="stop-color:#89b4fa;stop-opacity:1" offset="0" id="stop3595" />
<stop style="stop-color:#78a9f9;stop-opacity:1" offset="1" id="stop3597" />
</linearGradient>
<radialGradient xlink:href="#linearGradient3593" id="radialGradient3354" gradientUnits="userSpaceOnUse" cx="330.63791" cy="39.962704" fx="330.63791" fy="39.962704" r="19.571428" gradientTransform="matrix(0.758418,0,0,0.7033779,-258.10517,7.1653991)" />
<linearGradient id="linearGradient3864">
<stop id="stop3866" offset="0" style="stop-color:#89b4fa;stop-opacity:1" />
<stop id="stop3868" offset="1" style="stop-color:#0841a6;stop-opacity:1" />
</linearGradient>
<radialGradient xlink:href="#linearGradient3864" id="radialGradient3408" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-2.9923907e-2,-0.4114445,0.8683018,-8.8076009e-2,-66.032603,103.75566)" cx="93.128387" cy="47.935478" fx="93.128387" fy="47.935478" r="19.571428" />
<radialGradient xlink:href="#linearGradient3864" id="radialGradient3933" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-1.0945417,-0.203985,-0.1416113,-1.4096281,-15.484624,133.08369)" cx="4.2153583" cy="80.360847" fx="4.2153583" fy="80.360847" r="19.571428" />
<radialGradient xlink:href="#linearGradient3593" id="radialGradient3945" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.758418,0,0,0.7033779,-258.10517,7.1653991)" cx="330.63791" cy="39.962704" fx="330.63791" fy="39.962704" r="19.571428" />
<radialGradient xlink:href="#linearGradient3864" id="radialGradient3949" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-2.9923907e-2,-0.4114445,0.8683018,-8.8076009e-2,-69.632419,100.15584)" cx="93.128387" cy="47.935478" fx="93.128387" fy="47.935478" r="19.571428" />
<radialGradient xlink:href="#linearGradient3864" id="radialGradient3953" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-2.9923907e-2,-0.4114445,0.8683018,-8.8076009e-2,-66.032603,103.75566)" cx="93.128387" cy="47.935478" fx="93.128387" fy="47.935478" r="19.571428" />
<radialGradient xlink:href="#linearGradient3864" id="radialGradient3958" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-2.9923907e-2,-0.4114445,0.8683018,-8.8076009e-2,-69.632419,100.15584)" cx="93.128387" cy="47.935478" fx="93.128387" fy="47.935478" r="19.571428" />
<radialGradient xlink:href="#linearGradient3864" id="radialGradient3963" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-2.6911746e-2,-0.3700282,0.7808979,-7.9210216e-2,-62.599387,90.09532)" cx="93.128387" cy="47.935478" fx="93.128387" fy="47.935478" r="19.571428" />
<radialGradient xlink:href="#linearGradient3864" id="radialGradient3967" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-2.9923907e-2,-0.4114445,0.8683018,-8.8076009e-2,-69.632419,100.15584)" cx="93.128387" cy="47.935478" fx="93.128387" fy="47.935478" r="19.571428" />
<radialGradient xlink:href="#linearGradient3864" id="radialGradient3972" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-2.6911746e-2,-0.3700282,0.7808979,-7.9210216e-2,-62.599387,90.09532)" cx="93.128387" cy="47.935478" fx="93.128387" fy="47.935478" r="19.571428" />
<radialGradient xlink:href="#linearGradient3864" id="radialGradient3977" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.49373e-2,-0.4117768,0.8723106,2.7922076e-2,-78.180197,84.568149)" cx="93.128387" cy="47.935478" fx="93.128387" fy="47.935478" r="19.571428" />
<radialGradient xlink:href="#linearGradient3864" id="radialGradient3979" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-2.6911746e-2,-0.3700282,0.7808979,-7.9210216e-2,-62.599387,90.09532)" cx="93.128387" cy="47.935478" fx="93.128387" fy="47.935478" r="19.571428" />
<linearGradient xlink:href="#linearGradient3796" id="linearGradient3802" x1="18.36507" y1="40.033508" x2="15.981009" y2="10.809275" gradientUnits="userSpaceOnUse" />
<linearGradient xlink:href="#linearGradient3840" id="linearGradient3846" x1="55.511723" y1="39.155678" x2="46.664509" y2="9.6080294" gradientUnits="userSpaceOnUse" />
</defs>
<metadata id="metadata2747">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:creator>
<cc:Agent>
<dc:title>[wmayer]</dc:title>
</cc:Agent>
</dc:creator>
<dc:title></dc:title>
<dc:date>2011-10-10</dc:date>
<dc:relation>https://www.freecad.org/wiki/index.php?title=Artwork</dc:relation>
<dc:publisher>
<cc:Agent>
<dc:title>FreeCAD</dc:title>
</cc:Agent>
</dc:publisher>
<dc:identifier>FreeCAD/src/Mod/Part/Gui/Resources/icons/Part_Revolve.svg</dc:identifier>
<dc:rights>
<cc:Agent>
<dc:title>FreeCAD LGPL2+</dc:title>
</cc:Agent>
</dc:rights>
<cc:license>https://www.gnu.org/copyleft/lesser.html</cc:license>
<dc:contributor>
<cc:Agent>
<dc:title>[agryson] Alexander Gryson</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
</rdf:RDF>
</metadata>
<g id="layer1">
<path style="color:#11111b;fill:#89b4fa;fill-opacity:1;fill-rule:evenodd;stroke:#052459;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" d="M 32.990769,3.0999999 C 16.449997,3.353826 3.1000001,16.206544 3.1000002,32 c 0,15.951987 13.6124768,28.899999 30.3830868,28.9 7.441494,0 14.232363,-2.560259 19.516914,-6.790162 L 41.219521,41.432639 c -2.135089,1.585107 -4.820462,2.54213 -7.736434,2.54213 C 26.53439,43.974768 20.893798,38.609509 20.893798,32 c -1e-6,-6.486455 5.432419,-11.746659 12.202467,-11.941319 L 32.990769,3.0999999 z" id="path3989" />
<path style="fill:url(#linearGradient3802);fill-opacity:1;fill-rule:evenodd;stroke:#052459;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" d="M 32.991887,3.0000004 C 16.450496,3.2560203 3.0999999,16.219831 3.1,32.149797 3.1,40.324912 6.6213256,47.704882 12.278567,53 L 23.918821,40.010796 c -1.884095,-2.111526 -3.024358,-4.865994 -3.024358,-7.860999 -10e-7,-6.542521 5.432622,-11.848192 12.202925,-12.044534 L 32.991887,3.0000004 z" id="path3947" />
<path style="fill:url(#linearGradient3846);fill-opacity:1;fill-rule:evenodd;stroke:#052459;stroke-width:1.97899997;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" d="m 43,7 -0.431054,16.922903 5.695727,-4.403548 c 3.200882,2.979806 4.68243,6.620272 4.563577,9.937358 C 52.708019,32.812243 52.323648,37.062439 49,41 l 6,6 c 3.250376,-4.502503 6.078739,-9.900936 6.00859,-15.708229 -0.07601,-6.292925 -2.410211,-12.055168 -6.297819,-16.680883 l 5.174381,-3.956387 z" id="path3961" />
<path style="fill:#89b4fa;fill-opacity:1;fill-rule:evenodd;stroke:#052459;stroke-width:1.1249429;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="path3993" d="m 35.869598,32.823021 a 2.2498853,2.2498853 0 1 1 -4.49977,0 2.2498853,2.2498853 0 1 1 4.49977,0 z" transform="matrix(1.7778679,0,0,1.7778684,-26.771406,-26.355013)" />
<path style="fill:none;stroke:#89b4fa;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" d="M 30.908558,5 C 19,5 5,17 5,31.817813 5,39.338919 9,47 12,50 L 21.327268,39.953247 C 19.974759,38.010643 18.392216,34.579227 19,30 19.52629,26.034774 23.064948,19.823352 31,18.280516 z" id="path3947-3" />
<path style="fill:#307bf7;fill-opacity:1;fill-rule:evenodd;stroke:#89b4fa;stroke-width:2.24988532;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="path3993-6" d="m 35.869598,32.823021 a 2.2498853,2.2498853 0 1 1 -4.49977,0 2.2498853,2.2498853 0 1 1 4.49977,0 z" transform="matrix(0.88893439,0,0,0.88893414,3.1142806,2.8224961)" />
<path style="fill:none;stroke:#89b4fa;stroke-width:1.97899997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" d="m 44.9,9.4 -0.3,10.7 3.829768,-3.06365 c 2.738055,3.012865 6.074346,7.153777 6.2727,10.971877 0.174201,3.353161 -0.271415,8.459148 -3.132236,12.7273 l 3.165295,3.198355 C 57.126367,40.257856 58.867733,36.80621 59,31 59.155404,24.17813 55.956194,18.79101 52.068586,14.165295 L 55.4,11.6 z" id="path3961-7" />
</g>
</svg>