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

245 lines
12 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="rotate(-90,8.7312503,8.2020831)"
style="display:inline">
<g
id="g67-4"
style="stroke-width:1.00012;stroke-dasharray:none">
<g
id="g67-5"
style="display:inline;stroke-width:1.00012;stroke-dasharray:none">
<g
id="g7-0"
transform="translate(0.26458336,-0.52916764)"
style="opacity:0.701;mix-blend-mode:normal">
<path
style="fill:none;stroke:#664506;stroke-width:1.5875;stroke-linecap:square;stroke-dasharray:none"
d="M 3.175,7.9375001 H 7.9375001"
id="path2-8" />
<path
style="fill:none;stroke:#f9e2af;stroke-width:0.529167;stroke-linecap:square;stroke-dasharray:none"
d="M 3.175,7.9375001 H 7.9375001"
id="path3-7" />
</g>
<path
style="display:inline;fill:#f9e2af;stroke:#664506;stroke-width:0.529167;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-7" />
<path
style="fill:none;stroke:#313244;stroke-width:1.5875;stroke-linecap:square;stroke-linejoin:round;stroke-dasharray:none"
d="M 1.3229166,2.9104166 H 8.4666665"
id="path66-5" />
<path
style="display:inline;fill:none;stroke:#6c7086;stroke-width:0.529167;stroke-linecap:square;stroke-linejoin:round;stroke-dasharray:none"
d="M 0.79374998,2.9104166 H 8.4666665"
id="path67-9" />
</g>
<g
id="g16-81"
style="display:inline;stroke-width:1.00012;stroke-dasharray:none"
transform="rotate(-90,12.038541,6.4822914)">
<path
style="fill:none;stroke:#313244;stroke-width:1.5875;stroke-linecap:square;stroke-linejoin:round;stroke-dasharray:none"
d="m 12.7,2.9104169 2.910416,-3e-7"
id="path15-0" />
<path
style="display:inline;fill:none;stroke:#6c7086;stroke-width:0.529167;stroke-linecap:square;stroke-linejoin:round;stroke-dasharray:none"
d="m 12.7,2.9104169 3.439583,-3e-7"
id="path16-5" />
</g>
<g
id="g4-0"
style="display:inline;stroke-width:1.00012;stroke-dasharray:none"
transform="translate(0,2.9104157)">
<path
style="fill:none;stroke:#313244;stroke-width:1.5875;stroke-linecap:square;stroke-linejoin:round;stroke-dasharray:none"
d="M 8.4666665,2.9104166 H 15.610416"
id="path1-5" />
<path
style="display:inline;fill:none;stroke:#6c7086;stroke-width:0.529167;stroke-linecap:square;stroke-linejoin:round;stroke-dasharray:none"
d="M 8.4666665,2.9104166 H 16.139583"
id="path4-4" />
</g>
<path
style="fill:none;stroke:#313244;stroke-width:1.5875;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.529167;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)">
<path
style="fill:none;stroke:#664506;stroke-width:1.5875;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.529167;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">
<g
id="g14-9"
transform="translate(-0.08956708)">
<path
style="display:inline;fill:none;stroke:#664506;stroke-width:1.5875;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.529167;stroke-linecap:round;stroke-dasharray:none;paint-order:fill markers stroke"
d="m 13.14375,13.493749 1.3e-4,-7.1446631"
id="path14" />
</g>
<g
id="g15-0">
<path
style="display:inline;fill:none;stroke:#664506;stroke-width:1.5875;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.529167;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)">
<path
style="display:inline;fill:none;stroke:#664506;stroke-width:1.5875;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.529167;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;enable-background:new">
<g
id="g9"
transform="translate(-0.08956758,2.9104159)">
<path
style="fill:#6c7086;stroke:#313244;stroke-width:0.529167;stroke-dasharray:none"
d="m 25.537627,13.518621 c 0,0.584502 -0.473832,1.058334 -1.058333,1.058334 -0.584502,0 -1.058334,-0.473832 -1.058334,-1.058334 0,-0.584501 0.473832,-1.058333 1.058334,-1.058333 0.584501,0 1.058333,0.473832 1.058333,1.058333 z"
id="path7-5" />
<path
style="fill:#45475a;stroke:#6c7086;stroke-width:0.529167;stroke-dasharray:none"
d="m 24.452084,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="path9-1" />
</g>
<g
id="g10">
<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="path6-5" />
<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="path8-9" />
</g>
<g
id="g11"
transform="translate(0.08956164)">
<path
style="fill:#6c7086;stroke:#313244;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="circle19-5-4" />
<path
style="fill:#45475a;stroke:#6c7086;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="path19-87-9" />
</g>
<g
id="g8"
transform="translate(0,2.9104165)">
<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-9" />
<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>
<g
id="g7-5"
transform="translate(-11.335543,-1.8769551)"
style="display:inline;enable-background:new">
<g
id="g4-8"
transform="translate(-0.08956911)">
<path
style="fill:#f9e2af;stroke:#664506;stroke-width:0.529167;stroke-dasharray:none"
d="m 25.537627,13.518621 c 0,0.584502 -0.473832,1.058334 -1.058333,1.058334 -0.584502,0 -1.058334,-0.473832 -1.058334,-1.058334 0,-0.584501 0.473832,-1.058333 1.058334,-1.058333 0.584501,0 1.058333,0.473832 1.058333,1.058333 z"
id="path2-9" />
<path
style="fill:#bc8009;stroke:#f9e2af;stroke-width:0.529167;stroke-dasharray:none"
d="m 24.452084,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-6" />
</g>
<g
id="g5">
<path
style="fill:#f9e2af;stroke:#664506;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="path1-2" />
<path
style="fill:#bc8009;stroke:#f9e2af;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="path3-9" />
</g>
<g
id="g6"
transform="translate(0.08956164)">
<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" />
<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" />
</g>
</g>
</g>
</g>
</svg>