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

150 lines
7.4 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="svg2"
viewBox="0 0 63.999999 63.999998"
height="64"
width="64"
sodipodi:docname="LinkSubElement.svg"
inkscape:version="0.92.3 (2405546, 2018-03-11)">
<sodipodi:namedview
pagecolor="#cdd6f4"
bordercolor="#38394b"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="640"
inkscape:window-height="480"
id="namedview30"
showgrid="false"
inkscape:zoom="3.6875"
inkscape:cx="32"
inkscape:cy="32"
inkscape:window-x="833"
inkscape:window-y="418"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" />
<metadata
id="metadata14">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs12">
<linearGradient
y2="135.45494"
x2="182.35744"
y1="380.41721"
x1="108.0051"
gradientTransform="matrix(-0.04815527,0.05437315,-0.06376775,-0.05647555,61.000812,45.699382)"
gradientUnits="userSpaceOnUse"
id="linearGradient4192"
xlink:href="#linearGradient3774" />
<linearGradient
y2="7.5416322"
x2="372.52457"
y1="358.15811"
x1="288.11227"
gradientTransform="matrix(-0.51964051,0,0,0.50042191,1386.3532,982.21378)"
gradientUnits="userSpaceOnUse"
id="linearGradient4316"
xlink:href="#linearGradient3774" />
<linearGradient
id="linearGradient3774">
<stop
id="stop3776"
offset="0"
style="stop-color:#94e2d5;stop-opacity:1" />
<stop
id="stop3778"
offset="1"
style="stop-color:#258e7e;stop-opacity:1" />
</linearGradient>
</defs>
<path
style="fill:#258e7e;fill-opacity:1;stroke:#1c5017;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 50.944957,50.513879 c 0.774688,-1.217346 0.09473,-2.857625 -0.04209,-4.290425 -0.778099,-4.874926 -1.058482,-9.769119 -2.318577,-14.631257 -0.886651,-1.237429 -2.533843,-1.531743 -3.797376,-1.296331 -5.297581,-0.0092 -10.674775,-0.453284 -15.903645,-0.08882 -1.406474,0.686363 -1.319738,3.021253 0.146935,4.05401 0.896302,1.033467 2.371649,1.430248 3.569872,1.222761 3.771203,0.09245 7.521191,-0.01137 11.32253,0.334633 0.470568,1.959048 0.535274,3.921477 0.904641,5.882751 0.351026,2.504748 0.696362,5.009889 1.117031,7.515265 0.981084,0.824088 1.962335,1.982188 3.275467,2.051201 0.687174,0.01511 1.320789,-0.273174 1.725211,-0.753789 z"
id="path4230"
inkscape:connector-curvature="0" />
<path
style="fill:url(#linearGradient4192);fill-opacity:1;stroke:none;stroke-width:19.07025528;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 49.263342,49.262177 c 0.357991,-1.447808 -0.472588,-3.018846 -0.501987,-4.519651 -0.553734,-4.09229 -0.846268,-8.196083 -1.908622,-12.282227 -0.114031,-0.323835 -0.601461,-0.288398 -0.885687,-0.351219 -0.972999,-0.03854 -1.898779,0.169034 -2.886794,0.05615 -4.425311,-0.06274 -8.915396,-0.459117 -13.256982,-0.03723 -0.115081,0.833608 0.940605,1.510857 1.708602,1.492897 1.372339,0.113616 2.697057,-0.102246 4.072294,0.02663 3.259819,0.03333 6.528788,0.06641 9.82659,0.461017 1.163653,4.781035 1.346798,9.57196 2.326838,14.356532 0.36522,0.422959 0.926822,0.997013 1.495668,0.832322 z"
id="path4190"
inkscape:connector-curvature="0" />
<g
transform="matrix(-0.07263174,0,0,0.08518106,61.068603,2.1425583)"
id="g4232" />
<g
transform="matrix(-0.07263174,0,0,0.08518106,61.068603,2.1425583)"
id="g4234" />
<g
transform="matrix(-0.07263174,0,0,0.08518106,61.068603,2.1425583)"
id="g4236" />
<g
transform="matrix(-0.07263174,0,0,0.08518106,61.068603,2.1425583)"
id="g4238" />
<g
transform="matrix(-0.07263174,0,0,0.08518106,61.068603,2.1425583)"
id="g4240" />
<g
transform="matrix(-0.07263174,0,0,0.08518106,61.068603,2.1425583)"
id="g4242" />
<g
transform="matrix(-0.07263174,0,0,0.08518106,61.068603,2.1425583)"
id="g4244" />
<g
transform="matrix(-0.07263174,0,0,0.08518106,61.068603,2.1425583)"
id="g4246" />
<g
transform="matrix(-0.07263174,0,0,0.08518106,61.068603,2.1425583)"
id="g4248" />
<g
transform="matrix(-0.07263174,0,0,0.08518106,61.068603,2.1425583)"
id="g4250" />
<g
transform="matrix(-0.07263174,0,0,0.08518106,61.068603,2.1425583)"
id="g4252" />
<g
transform="matrix(-0.07263174,0,0,0.08518106,61.068603,2.1425583)"
id="g4254" />
<g
transform="matrix(-0.07263174,0,0,0.08518106,61.068603,2.1425583)"
id="g4256" />
<g
transform="matrix(-0.07263174,0,0,0.08518106,61.068603,2.1425583)"
id="g4258" />
<g
transform="matrix(-0.07263174,0,0,0.08518106,61.068603,2.1425583)"
id="g4260" />
<g
transform="matrix(0.11736227,-0.11145652,-0.10960906,-0.11541691,0.997579,314.59039)"
id="g4310">
<path
style="opacity:1;fill:#258e7e;fill-opacity:1;stroke:#1c5017;stroke-width:15.57572365;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1145.5648,1074.1543 c 18.5937,-18.383 48.2169,-28.9064 88.8688,-31.5737 v -37.4326 c 0,-4.0003 1.9294,-6.80966 5.7868,-8.43006 4.0547,-1.61639 7.5171,-0.95178 10.3849,2.00121 l 75.9581,73.15065 c 1.8799,1.8121 2.8184,3.9543 2.8184,6.4303 0,2.4767 -0.9389,4.6185 -2.8184,6.429 l -75.9602,73.1502 c -1.7833,1.81 -4.0064,2.7148 -6.6772,2.7148 -1.1865,0 -2.4222,-0.2382 -3.7083,-0.7141 -3.8572,-1.6204 -5.7882,-4.4273 -5.7882,-8.4296 v -35.8618 c -15.9228,1.2386 -29.1503,3.7387 -39.6881,7.5008 -10.5331,3.7627 -18.9637,9.0247 -25.2946,15.7879 -14.738,15.7158 -19.9806,42.6214 -15.7274,80.7237 0.1953,2.4775 -0.9389,4.0963 -3.4125,4.858 -0.2967,0.097 -0.7414,0.142 -1.3349,0.142 -1.9778,0 -3.361,-0.8095 -4.154,-2.4285 l -2.9667,-5.7148 c -1.3832,-2.6676 -3.3858,-6.9784 -6.007,-12.9313 -2.6194,-5.9556 -4.9969,-11.9071 -7.1237,-17.8612 -2.1269,-5.9515 -4.0298,-12.5235 -5.7119,-19.7147 -1.6805,-7.194 -2.5219,-13.5508 -2.5219,-19.074 0,-32.0039 8.3606,-56.2428 25.078,-72.7222 z"
id="path4312" />
<path
id="path4314"
d="m 1252.6459,1025.0625 c 18.4441,17.7617 37.1632,35.1962 55.3062,53.3235 -19.0906,18.0067 -37.542,36.7844 -56.7747,54.6184 -0.018,-12.2743 -0.087,-24.5491 0.032,-36.8231 -26.4463,1.6409 -53.9694,3.575 -77.8197,17.2303 -17.0095,9.5803 -28.4884,27.8106 -34.5388,47.088 -3.5743,-21.5969 -1.2897,-45.3408 10.607,-63.6609 11.0273,-16.9013 29.5358,-25.7267 47.629,-30.3404 14.7839,-4.3279 30.2561,-4.0127 45.1276,-7.7257 7.8392,-4.3982 10.4187,-14.9284 9.2176,-23.8416 -0.062,-3.7919 -0.2886,-7.6325 -0.4323,-11.451 0.5488,0.5275 1.0977,1.055 1.6465,1.5825 z"
style="opacity:1;fill:url(#linearGradient4316);fill-opacity:1;stroke:none;stroke-width:34.75331116;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</svg>