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

210 lines
6.2 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="64px"
height="64px"
version="1.1"
id="svg1739"
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="defs1685">
<linearGradient
id="linearGradient3367"
x1="-11"
x2="-18"
y1="26"
y2="14"
gradientTransform="translate(-20 -6)"
gradientUnits="userSpaceOnUse"
spreadMethod="reflect">
<stop
stop-color="#bc8009"
offset="0"
id="stop1675" />
<stop
stop-color="#f9e2af"
offset="1"
id="stop1677" />
</linearGradient>
<linearGradient
id="linearGradient3369"
x1="32.558"
x2="26.302"
y1="32.918"
y2="12.207"
gradientTransform="translate(10.413 -18.142)"
gradientUnits="userSpaceOnUse">
<stop
stop-color="#f8c459"
offset="0"
id="stop1680" />
<stop
stop-color="#f9e2af"
offset="1"
id="stop1682" />
</linearGradient>
</defs>
<metadata
id="metadata1687">
<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>[Przemo Firszt]</dc:title>
</cc:Agent>
</dc:creator>
<dc:date>2015-07-28</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/</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
transform="translate(87.958,2.1036)"
id="g1737">
<g
stroke-width="2"
id="g1701">
<path
d="m-69.198 25.198 16.221-10.644c11.343-4.6433 24.729 13.209 12.401 22.256l-15.696 9.8408z"
color="#11111b"
fill="#f8c459"
stroke="#664506"
stroke-linejoin="round"
id="path1689" />
<path
d="m-70.279 28.105 15.947-10.448c10.365-7.6968 23.946 10.626 12.01 17.872l-15.696 9.8408z"
color="#11111b"
fill="url(#linearGradient3367)"
stroke="#f9e2af"
stroke-linejoin="round"
id="path1691" />
<g
fill="none"
stroke="#664506"
id="g1699">
<path
d="m-59.9 18.9c12-1 18.571 11 14.571 21"
color="#11111b"
id="path1693" />
<path
d="m-60.7 25.9 17-11"
color="#11111b"
id="path1695" />
<path
d="m-52.7 34.9 17-11"
color="#11111b"
id="path1697" />
</g>
</g>
<g
transform="matrix(.92148 .21648 -.046568 .97753 -75.828 17.995)"
color="#11111b"
stroke-linecap="round"
stroke-linejoin="round"
id="g1707">
<path
transform="translate(-17,-7)"
d="m44 22c0 6.6274-5.3726 12-12 12s-12-5.3726-12-12 5.3726-12 12-12 12 5.3726 12 12z"
fill="#f2cdcd"
stroke="#000"
stroke-width="2.0956"
id="path1703" />
<path
transform="matrix(.83333 0 0 .83333 -11.667 -3.3333)"
d="m44 22c0 6.6274-5.3726 12-12 12s-12-5.3726-12-12 5.3726-12 12-12 12 5.3726 12 12z"
fill="url(#linearGradient3369)"
stroke="#fae94f"
stroke-width="2.5147"
id="path1705" />
</g>
<g
fill="none"
id="g1735">
<g
transform="matrix(.92148 .21648 -.046568 .97753 -75.896 17.973)"
color="#11111b"
id="g1713">
<path
transform="translate(-17,-7)"
d="m44 22c0 6.6274-5.3726 12-12 12s-12-5.3726-12-12 5.3726-12 12-12 12 5.3726 12 12z"
stroke-width=".9996"
id="path1709" />
<path
transform="matrix(.83333 0 0 .83333 -11.667 -3.3333)"
d="m44 22c0 6.6274-5.3726 12-12 12s-12-5.3726-12-12 5.3726-12 12-12 12 5.3726 12 12z"
stroke-width="1.1995"
id="path1711" />
</g>
<g
stroke="#000"
stroke-width="2"
id="g1723">
<path
d="m-59.7 24.9v23"
color="#11111b"
id="path1715" />
<path
d="m-66.7 24.9v21"
color="#11111b"
id="path1717" />
<path
d="m-72.7 28.9 21 7"
color="#11111b"
id="path1719" />
<path
d="m-73.7 35.9 21 7"
color="#11111b"
id="path1721" />
</g>
<g
fill="none"
stroke-linecap="round"
id="g1733">
<path
d="m -47.212954,52.44643 c 0,0 -6.315046,4.35217 -12.548046,4.25917 -10.517,-0.157 -18.194,-6.7834 -21.485,-16.773 -2.5664,-7.7898 0.33383,-18.519 6.7154,-23.671 4.9087,-3.9629 9.4238,-4.8603 9.4238,-4.8603"
fill="none"
stroke="#000"
stroke-linecap="round"
stroke-width="6.9997"
id="path1729"
style="stroke:#4f1414;stroke-opacity:1" />
<path
d="m -47.212954,52.44643 c 0,0 -6.315046,4.35217 -12.548046,4.25917 -10.517,-0.157 -18.194,-6.7834 -21.485,-16.773 -2.5664,-7.7898 0.33383,-18.519 6.7154,-23.671 4.9087,-3.9629 9.4238,-4.8603 9.4238,-4.8603"
fill="none"
stroke="#e9aaaa"
stroke-linecap="round"
stroke-width="3.9987"
id="path1731" />
<path
id="path1"
style="fill:#f2cdcd;stroke:#4f1414;stroke-width:2;stroke-linejoin:round"
d="M -63.587346,18.182513 -65.725708,4.0540294 -48.221792,7.9881495 Z" />
</g>
</g>
</g>
</svg>