Files
create/icons/themed/TechDraw_ExtensionPosObliqueChainDimension.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
13 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="svg4073"
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="defs4067" />
<metadata
id="metadata4070">
<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="layer2-6"
transform="matrix(0.61330901,-0.61108749,0.61330901,0.61108749,-0.94260515,8.5579966)"
style="display:inline;stroke-width:1.15504">
<g
id="g67-4"
style="display:inline;stroke-width:1.15518;stroke-dasharray:none">
<g
id="g67-1"
style="display:inline;stroke-width:1.15518;stroke-dasharray:none">
<g
id="g7"
transform="translate(0.26458336,-0.52916764)"
style="opacity:0.701;mix-blend-mode:normal;stroke-width:1.15518">
<path
style="fill:none;stroke:#664506;stroke-width:1.83361;stroke-linecap:square;stroke-dasharray:none"
d="M 3.175,7.9375001 H 7.9375001"
id="path2" />
<path
style="fill:none;stroke:#f9e2af;stroke-width:0.611205;stroke-linecap:square;stroke-dasharray:none"
d="M 3.175,7.9375001 H 7.9375001"
id="path3" />
</g>
<path
style="display:inline;fill:#f9e2af;stroke:#664506;stroke-width:0.611205;stroke-linecap:square;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:5.4;paint-order:normal"
d="m 5.9531251,10.318749 1.4552084,-2.1166662 -1.0583334,-4e-7 V 5.0270825 H 5.5562499 V 8.2020828 H 4.4979165 Z"
id="path8-5" />
</g>
<g
id="g16-2"
style="display:inline;stroke-width:1.15518;stroke-dasharray:none"
transform="rotate(-90,12.038541,6.4822914)">
<path
style="fill:none;stroke:#313244;stroke-width:1.83361;stroke-linecap:square;stroke-linejoin:round;stroke-dasharray:none"
d="m 12.7,2.9104169 2.910416,-3e-7"
id="path15-9" />
<path
style="display:inline;fill:none;stroke:#6c7086;stroke-width:0.611205;stroke-linecap:square;stroke-linejoin:round;stroke-dasharray:none"
d="m 12.7,2.9104169 3.439583,-3e-7"
id="path16-0" />
</g>
<g
id="g4-0"
style="display:inline;stroke-width:1.15518;stroke-dasharray:none"
transform="translate(0,2.9104157)">
<path
style="fill:none;stroke:#313244;stroke-width:1.83361;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none"
d="m 8.4666665,2.9104166 7.9601525,0.00739"
id="path1-4" />
<path
style="display:inline;fill:none;stroke:#6c7086;stroke-width:0.611205;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none"
d="m 8.4666665,2.9104166 7.9601525,0.00739"
id="path4-0" />
</g>
<path
style="display:inline;fill:none;stroke:#313244;stroke-width:1.83361;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none"
d="M 0.52916666,2.9104157 H 8.4666663"
id="path66-7" />
<path
style="display:inline;fill:none;stroke:#6c7086;stroke-width:0.611205;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none"
d="m 0.52916666,2.9104157 7.93749984,9e-7"
id="path67-2" />
</g>
<g
id="g71-0"
transform="translate(0,-0.52910056)"
style="display:inline;stroke-width:1.15504">
<path
style="fill:none;stroke:#664506;stroke-width:1.83361;stroke-linecap:round;stroke-dasharray:none;paint-order:fill markers stroke"
d="M 3.4395833,12.170834 13.49375,12.170766"
id="path68-2" />
<path
style="fill:none;stroke:#f9e2af;stroke-width:0.611205;stroke-linecap:round;stroke-dasharray:none;paint-order:fill markers stroke"
d="M 3.4395833,12.170766 H 13.49375"
id="path71-9" />
</g>
<g
id="g63-0"
transform="matrix(0.99999645,0,0,1.0000001,0.43961046,-7.2357193e-7)"
style="display:inline;stroke-width:1.15504">
<g
id="g14-9"
transform="translate(-0.08956708)"
style="display:inline;stroke-width:1.15504">
<path
style="display:inline;fill:none;stroke:#664506;stroke-width:1.83361;stroke-linecap:round;stroke-dasharray:none;paint-order:fill markers stroke"
d="m 13.14375,13.493749 1.3e-4,-7.1446631"
id="path12-7" />
<path
style="display:inline;fill:none;stroke:#f9e2af;stroke-width:0.611205;stroke-linecap:round;stroke-dasharray:none;paint-order:fill markers stroke"
d="m 13.14375,13.493749 1.3e-4,-7.1446631"
id="path14-8" />
</g>
<g
id="g15-0"
style="stroke-width:1.15504">
<path
style="display:inline;fill:none;stroke:#664506;stroke-width:1.83361;stroke-linecap:round;stroke-dasharray:none;paint-order:fill markers stroke"
d="m 8.0270834,13.493749 1.1e-6,-7.6729166"
id="path11-4" />
<path
style="display:inline;fill:none;stroke:#f9e2af;stroke-width:0.611205;stroke-linecap:round;stroke-dasharray:none;paint-order:fill markers stroke"
d="m 8.0270834,13.493749 1.1e-6,-7.6729166"
id="path13-4" />
</g>
<g
id="g16-8"
transform="translate(0.08956406)"
style="stroke-width:1.15504">
<path
style="display:inline;fill:none;stroke:#664506;stroke-width:1.83361;stroke-linecap:round;stroke-dasharray:none;paint-order:fill markers stroke"
d="M 2.9104166,13.493749 V 2.9104169"
id="path63-6" />
<path
style="display:inline;fill:none;stroke:#f9e2af;stroke-width:0.611205;stroke-linecap:round;stroke-dasharray:none;paint-order:fill markers stroke"
d="M 2.9104166,13.493749 V 2.9104169"
id="path64-8" />
</g>
<g
id="g19-0-3"
transform="translate(-11.335543,-10.608205)"
style="display:inline;stroke-width:1.15504;enable-background:new" />
<g
id="g7-5"
transform="translate(-11.335543,-1.8769551)"
style="display:inline;stroke-width:1.15504;enable-background:new" />
</g>
<g
id="g6-0"
transform="matrix(0.81524683,0.81524683,-0.81821353,0.81821353,2.8996778,-11.046381)"
style="display:inline;enable-background:new">
<path
style="fill:#f9e2af;stroke:#664506;stroke-width:0.529167;stroke-dasharray:none"
d="m 15.304294,13.518621 c 0,0.584502 -0.473832,1.058334 -1.058334,1.058334 -0.584501,0 -1.058333,-0.473832 -1.058333,-1.058334 0,-0.584501 0.473832,-1.058333 1.058333,-1.058333 0.584502,0 1.058334,0.473832 1.058334,1.058333 z"
id="path3-2-2-8" />
<path
style="fill:#bc8009;stroke:#f9e2af;stroke-width:0.529167;stroke-dasharray:none"
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"
id="circle3-0-1" />
</g>
<g
id="g4"
transform="matrix(0.81524683,0.81524683,-0.81821353,0.81821353,7.9144811,-11.032786)"
style="display:inline;enable-background:new">
<path
style="fill:#f9e2af;stroke:#664506;stroke-width:0.529167;stroke-dasharray:none"
d="m 15.304294,13.518621 c 0,0.584502 -0.473832,1.058334 -1.058334,1.058334 -0.584501,0 -1.058333,-0.473832 -1.058333,-1.058334 0,-0.584501 0.473832,-1.058333 1.058333,-1.058333 0.584502,0 1.058334,0.473832 1.058334,1.058333 z"
id="path1" />
<path
style="fill:#bc8009;stroke:#f9e2af;stroke-width:0.529167;stroke-dasharray:none"
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"
id="path4" />
</g>
<g
id="g12"
transform="matrix(0.81524683,0.81524683,-0.81821353,0.81821353,12.941561,-11.032786)"
style="display:inline;enable-background:new">
<path
style="fill:#f9e2af;stroke:#664506;stroke-width:0.529167;stroke-dasharray:none"
d="m 15.304294,13.518621 c 0,0.584502 -0.473832,1.058334 -1.058334,1.058334 -0.584501,0 -1.058333,-0.473832 -1.058333,-1.058334 0,-0.584501 0.473832,-1.058333 1.058333,-1.058333 0.584502,0 1.058334,0.473832 1.058334,1.058333 z"
id="path5" />
<path
style="fill:#bc8009;stroke:#f9e2af;stroke-width:0.529167;stroke-dasharray:none"
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"
id="path6" />
</g>
<g
id="g8-4"
transform="matrix(0.81524683,0.81524683,-0.81821353,0.81821353,-1.2846074,-23.936037)"
style="display:inline;enable-background:new">
<path
style="fill:#6c7086;stroke:#313244;stroke-width:0.529167;stroke-dasharray:none"
d="m 20.42096,13.518621 c 0,0.584502 -0.473832,1.058334 -1.058333,1.058334 -0.584501,0 -1.058333,-0.473832 -1.058333,-1.058334 0,-0.584501 0.473832,-1.058333 1.058333,-1.058333 0.584501,0 1.058333,0.473832 1.058333,1.058333 z"
id="path5-8" />
<path
style="fill:#45475a;stroke:#6c7086;stroke-width:0.529167;stroke-dasharray:none"
d="m 19.335417,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"
id="path6-1" />
</g>
<g
id="g13"
transform="matrix(0.81524683,0.81524683,-0.81821353,0.81821353,3.7431207,-23.935367)"
style="display:inline;enable-background:new">
<path
style="fill:#6c7086;stroke:#313244;stroke-width:0.529167;stroke-dasharray:none"
d="m 20.42096,13.518621 c 0,0.584502 -0.473832,1.058334 -1.058333,1.058334 -0.584501,0 -1.058333,-0.473832 -1.058333,-1.058334 0,-0.584501 0.473832,-1.058333 1.058333,-1.058333 0.584501,0 1.058333,0.473832 1.058333,1.058333 z"
id="path12" />
<path
style="fill:#45475a;stroke:#6c7086;stroke-width:0.529167;stroke-dasharray:none"
d="m 19.335417,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"
id="path13" />
</g>
<g
id="g15"
transform="matrix(0.81524683,0.81524683,-0.81821353,0.81821353,3.7431346,-21.024966)"
style="display:inline;enable-background:new">
<path
style="fill:#6c7086;stroke:#313244;stroke-width:0.529167;stroke-dasharray:none"
d="m 20.42096,13.518621 c 0,0.584502 -0.473832,1.058334 -1.058333,1.058334 -0.584501,0 -1.058333,-0.473832 -1.058333,-1.058334 0,-0.584501 0.473832,-1.058333 1.058333,-1.058333 0.584501,0 1.058333,0.473832 1.058333,1.058333 z"
id="path14" />
<path
style="fill:#45475a;stroke:#6c7086;stroke-width:0.529167;stroke-dasharray:none"
d="m 19.335417,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"
id="path15" />
</g>
<g
id="g17"
transform="matrix(0.81524683,0.81524683,-0.81821353,0.81821353,8.769546,-21.025607)"
style="display:inline;enable-background:new">
<path
style="fill:#6c7086;stroke:#313244;stroke-width:0.529167;stroke-dasharray:none"
d="m 20.42096,13.518621 c 0,0.584502 -0.473832,1.058334 -1.058333,1.058334 -0.584501,0 -1.058333,-0.473832 -1.058333,-1.058334 0,-0.584501 0.473832,-1.058333 1.058333,-1.058333 0.584501,0 1.058333,0.473832 1.058333,1.058333 z"
id="path16" />
<path
style="fill:#45475a;stroke:#6c7086;stroke-width:0.529167;stroke-dasharray:none"
d="m 19.335417,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"
id="path17" />
</g>
</g>
</svg>