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

248 lines
8.0 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="64"
height="64"
id="svg6361"
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/">
<defs
id="defs3">
<linearGradient
id="linearGradient3814">
<stop
id="stop3816"
offset="0"
style="stop-color:#f2cdcd;stop-opacity:1" />
<stop
id="stop3818"
offset="1.0000000"
style="stop-color:#912424;stop-opacity:1" />
</linearGradient>
<linearGradient
id="linearGradient2256">
<stop
style="stop-color:#ff0202;stop-opacity:1;"
offset="0"
id="stop2258" />
<stop
style="stop-color:#ff9b9b;stop-opacity:1;"
offset="1"
id="stop2260" />
</linearGradient>
<linearGradient
id="linearGradient2248">
<stop
style="stop-color:#cdd6f4;stop-opacity:1;"
offset="0"
id="stop2250" />
<stop
style="stop-color:#cdd6f4;stop-opacity:0;"
offset="1"
id="stop2252" />
</linearGradient>
<linearGradient
id="linearGradient9647">
<stop
style="stop-color:#cdd6f4;stop-opacity:1;"
offset="0"
id="stop9649" />
<stop
style="stop-color:#dbdbdb;stop-opacity:1;"
offset="1"
id="stop9651" />
</linearGradient>
<linearGradient
id="linearGradient7895">
<stop
style="stop-color:#cdd6f4;stop-opacity:1;"
offset="0"
id="stop7897" />
<stop
style="stop-color:#cdd6f4;stop-opacity:0;"
offset="1"
id="stop7899" />
</linearGradient>
<linearGradient
id="linearGradient4981">
<stop
style="stop-color:#d76363;stop-opacity:1;"
offset="0"
id="stop4983" />
<stop
style="stop-color:#b30000;stop-opacity:1.0000000;"
offset="1.0000000"
id="stop4985" />
</linearGradient>
<linearGradient
id="linearGradient15762">
<stop
id="stop15764"
offset="0"
style="stop-color:#cdd6f4;stop-opacity:1;" />
<stop
id="stop15766"
offset="1"
style="stop-color:#cdd6f4;stop-opacity:0;" />
</linearGradient>
<linearGradient
id="linearGradient14236">
<stop
id="stop14238"
offset="0.0000000"
style="stop-color:#ed4040;stop-opacity:1.0000000;" />
<stop
id="stop14240"
offset="1.0000000"
style="stop-color:#912424;stop-opacity:1.0000000;" />
</linearGradient>
<linearGradient
id="linearGradient11780">
<stop
style="stop-color:#ff8b8b;stop-opacity:1.0000000;"
offset="0.0000000"
id="stop11782" />
<stop
style="stop-color:#ec1b1b;stop-opacity:1.0000000;"
offset="1.0000000"
id="stop11784" />
</linearGradient>
<linearGradient
id="linearGradient11014">
<stop
style="stop-color:#a80000;stop-opacity:1.0000000;"
offset="0.0000000"
id="stop11016" />
<stop
style="stop-color:#c60000;stop-opacity:1.0000000;"
offset="0.0000000"
id="stop13245" />
<stop
style="stop-color:#e50000;stop-opacity:1.0000000;"
offset="1.0000000"
id="stop11018" />
</linearGradient>
<linearGradient
y2="9.650753"
x2="9.8940229"
y1="5.3855424"
x1="5.736527"
gradientTransform="matrix(-1,0,0,-1,31.7217,31.29079)"
gradientUnits="userSpaceOnUse"
id="linearGradient15772"
xlink:href="#linearGradient15762" />
<linearGradient
xlink:href="#linearGradient7895"
id="linearGradient7901"
x1="15.578875"
y1="16.285088"
x2="32.166405"
y2="28.394291"
gradientUnits="userSpaceOnUse" />
<linearGradient
xlink:href="#linearGradient4981"
id="linearGradient2243"
gradientUnits="userSpaceOnUse"
x1="23.995985"
y1="20.105337"
x2="41.047836"
y2="37.959785"
gradientTransform="matrix(0.988373,0,0,0.988373,0.279002,0.278984)" />
<linearGradient
xlink:href="#linearGradient3814"
id="linearGradient3036"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.98637639,0,0,0.98633492,0.26966884,-1.7302616)"
x1="22.513117"
y1="5.4577837"
x2="31.41033"
y2="42.531067" />
<radialGradient
xlink:href="#linearGradient2248"
id="radialGradient3040"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(4.154957,0,0,3.198723,-52.84553,-23.50921)"
cx="16.75"
cy="10.666344"
fx="16.75"
fy="10.666344"
r="21.25" />
<radialGradient
xlink:href="#linearGradient9647"
id="radialGradient3042"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0106013,0.89170704,-1.1207745,1.2702111,23.902046,-32.434663)"
cx="19.770409"
cy="24.319469"
fx="19.770409"
fy="24.319469"
r="12.30225" />
</defs>
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:date>2005-10-16</dc:date>
<dc:creator>
<cc:Agent>
<dc:title>Andreas Nilsson</dc:title>
</cc:Agent>
</dc:creator>
<dc:subject>
<rdf:Bag>
<rdf:li>stop</rdf:li>
<rdf:li>halt</rdf:li>
<rdf:li>error</rdf:li>
</rdf:Bag>
</dc:subject>
<cc:license
rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
<dc:contributor>
<cc:Agent>
<dc:title>Jakub Steiner</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/publicdomain/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
id="layer1"
transform="translate(0,16)">
<g
id="g3030"
transform="matrix(1.3673653,0,0,1.3673653,-0.7330057,-13.994905)">
<path
id="path9480"
d="m 15.648269,0.72760735 16.852542,0 12.646602,12.91552665 0,17.649127 -12.47628,11.852687 -17.192872,0 -12.748189,-12.663223 0,-16.959227 12.918197,-12.79489065 z"
style="fill:url(#linearGradient3036);fill-opacity:1;fill-rule:evenodd;stroke:#860000;stroke-width:1.46266710999999990;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
id="path9482"
d="m 16.247847,2.1902743 15.635854,0 11.801045,11.9691277 0,16.489848 -11.425362,11.033031 -16.156452,0 -11.910193,-11.831093 0,-15.766079 12.055108,-11.8948347 z"
style="fill:none;stroke:#f2cdcd;stroke-width:1.46266699;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" />
<path
id="path2787"
d="m 16.625408,10.234942 -4.388001,4.388001 7.313335,7.313335 -7.313335,7.313334 4.388001,4.388001 7.313334,-7.313334 7.313335,7.313334 4.388001,-4.388001 -7.313335,-7.313334 7.313335,-7.313335 -4.388001,-4.388001 -7.313335,7.313335 z"
style="fill:url(#radialGradient3042);fill-opacity:1;fill-rule:evenodd;stroke:#f2cdcd;stroke-width:1.46266699;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
</g>
</g>
</svg>