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

38 lines
3.8 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg width="64" height="64" viewBox="0 0 16.933333 16.933334" version="1.1" id="svg5" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<defs id="defs2">
<linearGradient id="linearGradient9109">
<stop style="stop-color:#c7a7b2;stop-opacity:1" offset="0" id="stop9105" />
<stop style="stop-color:#c7a7b2;stop-opacity:0" offset="1" id="stop9107" />
</linearGradient>
</defs>
<g id="layer4">
<g id="g9878" transform="translate(-0.49245909)">
<path id="path7099-1-3-3" style="display:inline;fill:none;fill-opacity:1;stroke:#664506;stroke-width:2.64583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 2.9104167,15.08125 H 15.08125 c 0,0 -11.0452587,-1.118671 -11.0452587,-2.248958 0,-1.130287 9.7223417,-1.005333 9.7223417,-2.248959 0,-1.2436254 -9.7317201,-1.15535 -9.7317201,-2.285636 0,-1.1302853 9.8353631,-0.6789528 9.8353631,-2.1936289 0,-1.5146702 -9.6451832,-1.1800695 -9.6451832,-2.2962994 0,-1.1162298 10.8644572,-1.9556853 10.8644572,-1.9556853 H 2.9104167" />
</g>
</g>
<g id="layer2" style="display:inline">
<g id="g1022" transform="matrix(0.99999999,0,0,0.9272727,-0.7074785,0.87071973)" style="display:inline">
<g id="layer1-5" transform="translate(0.26458333,0.06268522)">
<path id="path7099-1" style="fill:none;fill-opacity:1;stroke:#f8c459;stroke-width:1.64858;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 3.3533119,15.262397 H 14.465812 c 0,0 -10.5160922,-1.206411 -10.5160922,-2.425347 0,-1.218937 9.7223422,-1.084183 9.7223422,-2.425348 0,-1.3411643 -9.7317206,-1.2459661 -9.7317206,-2.4649015 0,-1.2189354 9.8353636,-0.7322038 9.8353636,-2.3656785 0,-1.6334679 -9.6451837,-1.272624 -9.6451837,-2.4764014 0,-1.2037773 10.3352907,-2.10907247 10.3352907,-2.10907247 H 3.3533119" />
</g>
</g>
</g>
<g id="layer1" style="display:inline">
<g id="g1022-0-6" transform="matrix(0.99999999,0,0,0.9272727,-4.1470618,-1.2459469)" style="display:inline">
<g id="layer1-5-9-0" transform="translate(0.26458333,0.06268522)">
<path id="path7099-1-3-6" style="fill:none;fill-opacity:1;stroke:#bc8009;stroke-width:0.549527;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 6.7928951,18.115747 H 17.905395 m -6.085416,-1.14134 c 0,0 -3.1750004,0.285335 -4.4979171,-1.14134 m 1.3229167,-0.285335 c 0,-1.218937 6.8791664,-0.57067 8.7312504,-2.28268 M 16.053312,12.979717 C 14.730395,11.553042 9.6454492,12.59127 7.3220619,10.982372 m 0.79375,-0.856005 c 1.0583334,-0.2853346 7.4083331,0 9.2604171,-1.4266745 M 16.317895,7.8436876 C 11.819979,6.4170127 11.290812,7.5583526 7.5866452,6.1316777 m 0.79375,-0.856005 C 10.232479,4.7050028 17.905395,3.8489979 17.905395,3.8489979 m 0,0 H 6.7928952" />
</g>
</g>
</g>
<g id="layer3" style="display:inline">
<g id="g1022-0" transform="matrix(1,0,0,0.9272727,-4.1470617,-2.3042803)" style="display:inline">
<g id="layer1-5-9" transform="translate(0.26458333,0.06268522)">
<path id="path7099-1-3" style="fill:none;fill-opacity:1;stroke:#f9e2af;stroke-width:0.549527;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 6.7928951,18.115747 H 17.905395 c 0,0 -10.516092,-1.206411 -10.516092,-2.425347 0,-1.218937 9.722342,-1.084183 9.722342,-2.425348 0,-1.341165 -9.7317204,-1.245966 -9.7317204,-2.464902 0,-1.2189351 9.8353634,-0.732204 9.8353634,-2.3656782 0,-1.6334679 -9.6451835,-1.272624 -9.6451835,-2.4764014 0,-1.2037773 10.3352905,-2.1090725 10.3352905,-2.1090725 H 6.7928951" />
</g>
</g>
</g>
</svg>