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

175 lines
8.6 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="svg1876"
style="enable-background:new"
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="defs1870">
<rect
x="19.887378"
y="10.076272"
width="26.516504"
height="28.107495"
id="rect9" />
</defs>
<metadata
id="metadata1873">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="g13"
transform="matrix(0.99999998,0,0,1.0000012,0.13930366,-0.17330364)">
<g
id="g14"
transform="translate(0.03438081,0.23797046)">
<path
style="display:inline;fill:none;stroke:#664506;stroke-width:1.5875;stroke-linecap:round;stroke-dasharray:none;paint-order:fill markers stroke;enable-background:new"
d="m 2.4721489,7.0790754 11.6416661,-8e-7"
id="path10" />
<path
style="display:inline;fill:none;stroke:#f9e2af;stroke-width:0.529167;stroke-linecap:round;stroke-dasharray:none;paint-order:fill markers stroke;enable-background:new"
d="m 2.4721489,7.0790754 11.6416661,-8e-7"
id="path12" />
</g>
<g
id="g11"
style="enable-background:new"
transform="matrix(1.1315124,0,0,0.99732515,-1.1489484,0.02551367)">
<g
id="g19"
style="display:inline;enable-background:new"
transform="matrix(0.88377289,0,0,1.002682,-9.2731796,-0.0255821)">
<path
style="display:inline;fill:none;stroke:#664506;stroke-width:1.5875;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="M 14.148196,14.460787 V 3.3482997"
id="path18" />
<path
style="display:inline;fill:none;stroke:#f9e2af;stroke-width:0.529166;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="M 14.148196,14.460787 V 3.3482997"
id="path19" />
</g>
<g
id="g7"
transform="matrix(0.8837729,0,0,1.002682,-9.3595809,-6.2437893)"
style="display:inline;enable-background:new">
<circle
style="fill:#f9e2af;stroke:#664506;stroke-width:0.529167;stroke-dasharray:none"
id="circle5"
cx="14.24596"
cy="13.518621"
r="1.0583334" />
<path
style="fill:#bc8009;stroke:#f9e2af;stroke-width:0.529167;stroke-dasharray:none"
id="path6"
d="m 14.21875,12.990234 h 0.02734 c 0.289417,0 0.529297,0.23988 0.529297,0.529297 0,0.289418 -0.238664,0.527344 -0.529297,0.527344 -0.290634,0 -0.529297,-0.237926 -0.529297,-0.527344 0,-0.280508 0.228874,-0.515454 0.501953,-0.529297 z" />
</g>
</g>
<g
id="g12"
transform="matrix(1.1315124,0,0,0.99732515,-1.6578931,0.02551367)"
style="display:inline;enable-background:new">
<g
id="g17"
style="enable-background:new"
transform="matrix(0.88377289,0,0,1.002682,1.465201,-0.0255821)">
<path
style="display:inline;fill:none;stroke:#664506;stroke-width:1.5875;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="M 14.148196,14.460787 V 3.3482997"
id="path16" />
<path
style="display:inline;fill:none;stroke:#f9e2af;stroke-width:0.52916636;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
d="M 14.148196,14.460787 V 3.3482997"
id="path17" />
</g>
<g
id="g11-2"
transform="matrix(0.8837729,0,0,1.002682,1.3788005,-6.2437893)"
style="display:inline;enable-background:new">
<circle
style="fill:#f9e2af;stroke:#664506;stroke-width:0.529167;stroke-dasharray:none"
id="circle11"
cx="14.24596"
cy="13.518621"
r="1.0583334" />
<path
style="fill:#bc8009;stroke:#f9e2af;stroke-width:0.529167;stroke-dasharray:none"
id="path11"
d="m 14.21875,12.990234 h 0.02734 c 0.289417,0 0.529297,0.23988 0.529297,0.529297 0,0.289418 -0.238664,0.527344 -0.529297,0.527344 -0.290634,0 -0.529297,-0.237926 -0.529297,-0.527344 0,-0.280508 0.228874,-0.515454 0.501953,-0.529297 z" />
</g>
</g>
<g
id="g16"
style="enable-background:new"
transform="matrix(1,0,0,0.99999879,-0.13930366,0.17330343)">
<path
style="fill:none;stroke:#313244;stroke-width:1.5875;stroke-linejoin:round;stroke-dasharray:none"
d="m 2.1166667,15.599012 c 0,0 -0.057134,-4.235596 6.35,-4.233305 6.4071343,0.0023 6.3500003,4.233994 6.3500003,4.233994"
id="path7" />
<path
style="fill:none;stroke:#6c7086;stroke-width:0.52916667;stroke-linejoin:round;stroke-dasharray:none"
d="m 2.1166667,15.599012 c 0,0 -0.057134,-4.235596 6.35,-4.233305 6.4071343,0.0023 6.3500003,4.233994 6.3500003,4.233994"
id="path13" />
</g>
<g
id="g15"
transform="translate(-0.23706613,1.0863789)"
style="display:inline;stroke-width:0.529167;stroke-dasharray:none;enable-background:new">
<circle
style="fill:#6c7086;stroke:#313244;stroke-width:0.529167;stroke-dasharray:none"
id="circle15"
cx="14.385263"
cy="13.37441"
r="1.0583334" />
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#45475a;fill-opacity:1;stroke:#6c7086;stroke-width:0.529167;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#11111b;stop-opacity:1"
id="circle3"
d="m 14.384766,12.845703 c 0.289417,0 0.529297,0.239879 0.529297,0.529297 0,0.289418 -0.23988,0.529297 -0.529297,0.529297 -0.289418,0 -0.529297,-0.239879 -0.529297,-0.529297 0,-0.289418 0.239879,-0.529297 0.529297,-0.529297 z" />
</g>
<g
id="g5"
transform="translate(-11.73943,0.94216679)"
style="display:inline;stroke-width:0.529167;stroke-dasharray:none;enable-background:new">
<circle
style="fill:#6c7086;stroke:#313244;stroke-width:0.529167;stroke-dasharray:none"
id="circle2"
cx="14.24596"
cy="13.518621"
r="1.0583334" />
<path
style="fill:#45475a;stroke:#6c7086;stroke-width:0.529167;stroke-dasharray:none"
id="path5"
d="m 14.21875,12.990234 h 0.02734 c 0.289417,0 0.529297,0.23988 0.529297,0.529297 0,0.289418 -0.238664,0.527344 -0.529297,0.527344 -0.290634,0 -0.529297,-0.237926 -0.529297,-0.527344 0,-0.280508 0.228874,-0.515454 0.501953,-0.529297 z" />
</g>
<g
id="g15-5"
transform="matrix(0.01000043,0,0,0.00999987,-3.9011599,-3.5308166)"
style="display:inline">
<path
style="font-size:238.125px;line-height:1.2;font-family:osifont;-inkscape-font-specification:osifont;display:inline;fill:none;stroke:#664506;stroke-width:158.748;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;enable-background:new"
d="m 926.04163,919.85332 v -31.04501 c 0,-41.94521 8.27834,-81.82073 24.83595,-119.62663 16.55729,-37.80588 39.04758,-70.36862 67.47102,-97.6882 28.1476,-27.04351 61.5382,-48.70615 100.1719,-64.9875 38.6339,-16.28137 79.1993,-24.42193 121.6965,-24.42193 41.9453,0 82.5107,8.14087 121.6963,24.42193 38.6339,16.00517 72.0244,37.66793 100.1717,64.9875 28.4235,27.59565 50.9139,60.15828 67.4713,97.6882 16.5573,38.08184 24.8361,77.95738 24.8361,119.62663 v 31.04501"
id="path13-8-6" />
<path
style="font-size:238.125px;line-height:1.2;font-family:osifont;-inkscape-font-specification:osifont;display:inline;fill:none;stroke:#f9e2af;stroke-width:52.9159;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;enable-background:new"
d="m 926.04163,919.85332 v -31.04501 c 0,-41.94521 8.27834,-81.82073 24.83595,-119.62663 16.55729,-37.80588 39.04758,-70.36862 67.47102,-97.6882 28.1476,-27.04351 61.5382,-48.70615 100.1719,-64.9875 38.6339,-16.28137 79.1993,-24.42193 121.6965,-24.42193 41.9453,0 82.5107,8.14087 121.6963,24.42193 38.6339,16.00517 72.0244,37.66793 100.1717,64.9875 28.4235,27.59565 50.9139,60.15828 67.4713,97.6882 16.5573,38.08184 24.8361,77.95738 24.8361,119.62663 v 31.04501"
id="path15-7-1" />
</g>
</g>
</svg>