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

160 lines
18 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg version="1.1" id="svg5821" height="64px" width="64px" xmlns:xlink="http://www.w3.org/1999/xlink" 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/">
<title id="title2002">Sketcher_ReorientSketch</title>
<defs id="defs5823">
<marker style="overflow:visible" id="Arrow2Mend" refX="0.0" refY="0.0" orient="auto">
<path transform="scale(0.6) rotate(180) translate(0,0)" d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" id="path4003" />
</marker>
<marker style="overflow:visible" id="Arrow1Mend" refX="0.0" refY="0.0" orient="auto">
<path transform="scale(0.4) rotate(180) translate(10,0)" style="fill-rule:evenodd;stroke:#11111b;stroke-width:1pt" d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " id="path3985" />
</marker>
<linearGradient id="linearGradient6349">
<stop id="stop6351" offset="0" style="stop-color:#11111b;stop-opacity:1" />
<stop id="stop6353" offset="1" style="stop-color:#11111b;stop-opacity:0" />
</linearGradient>
<linearGradient id="linearGradient3377">
<stop id="stop3379" offset="0" style="stop-color:#0845b0;stop-opacity:1" />
<stop id="stop3381" offset="1" style="stop-color:#5190f8;stop-opacity:1" />
</linearGradient>
<linearGradient gradientTransform="matrix(-1,0,0,1,2199.356,0)" gradientUnits="userSpaceOnUse" y2="1190.875" x2="1267.9062" y1="1190.875" x1="901.1875" id="linearGradient3383" xlink:href="#linearGradient3377" />
<radialGradient gradientUnits="userSpaceOnUse" gradientTransform="matrix(-1.4307499,-1.3605156e-7,-1.202713e-8,0.1264801,2674.7488,1244.2826)" r="194.40614" fy="1424.4465" fx="1103.6399" cy="1424.4465" cx="1103.6399" id="radialGradient6355" xlink:href="#linearGradient6349" />
<linearGradient gradientTransform="matrix(0.70270076,0,0,0.78787889,315.88365,269.84952)" gradientUnits="userSpaceOnUse" y2="1059.0945" x2="1105.0463" y1="1453.8708" x1="1178.153" id="linearGradient3774" xlink:href="#linearGradient3768" />
<linearGradient id="linearGradient3768">
<stop id="stop3770" offset="0" style="stop-color:#d76363;stop-opacity:1" />
<stop id="stop3772" offset="1" style="stop-color:#f2cdcd;stop-opacity:1" />
</linearGradient>
<linearGradient y2="1059.0945" x2="1105.0463" y1="1453.8708" x1="1178.153" gradientTransform="matrix(0.69497956,0,0,0.78924205,-531.38841,136.64219)" gradientUnits="userSpaceOnUse" id="linearGradient3054-3" xlink:href="#linearGradient3768-5" />
<linearGradient id="linearGradient3768-5">
<stop id="stop3770-6" offset="0" style="stop-color:#d76363;stop-opacity:1" />
<stop id="stop3772-2" offset="1" style="stop-color:#f2cdcd;stop-opacity:1" />
</linearGradient>
<linearGradient id="linearGradient3144">
<stop style="stop-color:#cdd6f4;stop-opacity:1" offset="0" id="stop3146" />
<stop style="stop-color:#cdd6f4;stop-opacity:0" offset="1" id="stop3148" />
</linearGradient>
<radialGradient xlink:href="#linearGradient3144" id="radialGradient5114" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)" cx="225.26402" cy="672.79736" fx="225.26402" fy="672.79736" r="34.345188" />
<radialGradient xlink:href="#linearGradient3144" id="radialGradient5118" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)" cx="225.26402" cy="672.79736" fx="225.26402" fy="672.79736" r="34.345188" />
<radialGradient xlink:href="#linearGradient3144" id="radialGradient5130" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)" cx="225.26402" cy="672.79736" fx="225.26402" fy="672.79736" r="34.345188" />
<radialGradient xlink:href="#linearGradient3144" id="radialGradient3306" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)" cx="225.26402" cy="672.79736" fx="225.26402" fy="672.79736" r="34.345188" />
<radialGradient xlink:href="#linearGradient3144" id="radialGradient3308" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)" cx="225.26402" cy="672.79736" fx="225.26402" fy="672.79736" r="34.345188" />
<linearGradient id="linearGradient3836-9-7">
<stop style="stop-color:#359b2e;stop-opacity:1" offset="0" id="stop3838-8-0" />
<stop style="stop-color:#a6e3a1;stop-opacity:1" offset="1" id="stop3840-1-9" />
</linearGradient>
<linearGradient id="linearGradient3924">
<stop id="stop3926" offset="0" style="stop-color:#f2cdcd;stop-opacity:1" />
<stop id="stop3928" offset="1" style="stop-color:#d76363;stop-opacity:1" />
</linearGradient>
<radialGradient gradientTransform="matrix(1.2966028,0.17711231,-0.14092861,1.0317094,-32.689929,-29.109274)" r="19.467436" fy="83.989143" fx="147.05713" cy="83.989143" cx="147.05713" gradientUnits="userSpaceOnUse" id="radialGradient3705" xlink:href="#linearGradient4387" />
<linearGradient id="linearGradient4387">
<stop id="stop4389" offset="0" style="stop-color:#89b4fa;stop-opacity:1" />
<stop id="stop4391" offset="1" style="stop-color:#0841a6;stop-opacity:1" />
</linearGradient>
<radialGradient gradientTransform="matrix(0.52711064,1.8158874,-1.4534843,0.42191331,203.23405,-187.6583)" r="19.467436" fy="93.557289" fx="131.48187" cy="93.557289" cx="131.48187" gradientUnits="userSpaceOnUse" id="radialGradient3703" xlink:href="#linearGradient4387" />
<radialGradient gradientTransform="translate(-0.23443224,0.23443198)" gradientUnits="userSpaceOnUse" r="19.467436" fy="28.869568" fx="45.883327" cy="28.869568" cx="45.883327" id="radialGradient3692" xlink:href="#linearGradient3377-7" />
<linearGradient id="linearGradient3377-7">
<stop style="stop-color:#f9d791;stop-opacity:1" offset="0" id="stop3379-5" />
<stop style="stop-color:#f8ca69;stop-opacity:1" offset="1" id="stop3381-35" />
</linearGradient>
<radialGradient xlink:href="#linearGradient3377-7" id="radialGradient6347" gradientUnits="userSpaceOnUse" gradientTransform="translate(-0.23443224,0.23443198)" cx="45.883327" cy="28.869568" fx="45.883327" fy="28.869568" r="19.467436" />
<radialGradient r="19.467436" fy="28.869568" fx="45.883327" cy="28.869568" cx="45.883327" gradientTransform="matrix(0.67067175,0,0,0.64145918,-63.380792,0.83845403)" gradientUnits="userSpaceOnUse" id="radialGradient6412" xlink:href="#linearGradient3377-7" />
<radialGradient r="19.467436" fy="28.869568" fx="45.883327" cy="28.869568" cx="45.883327" gradientTransform="matrix(0.67067175,0,0,0.64145918,-87.325356,-15.679193)" gradientUnits="userSpaceOnUse" id="radialGradient6412-7" xlink:href="#linearGradient3377-7" />
<linearGradient gradientTransform="matrix(11.749278,0,0,11.9004,2701.087,690.16006)" gradientUnits="userSpaceOnUse" y2="34" x2="58" y1="13" x1="43" id="linearGradient3922" xlink:href="#linearGradient3924" />
<linearGradient gradientTransform="matrix(11.749278,0,0,11.9004,2701.087,690.16006)" gradientUnits="userSpaceOnUse" y2="34" x2="55" y1="49" x1="43" id="linearGradient3930" xlink:href="#linearGradient3924" />
<marker orient="auto" refY="0" refX="0" id="marker4732" style="overflow:visible">
<path id="path4734" style="fill:#89da82;fill-opacity:1;fill-rule:evenodd;stroke:#00ff08;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker orient="auto" refY="0" refX="0" id="Arrow2Lstart" style="overflow:visible">
<path id="path4174" style="fill:#11111b;fill-opacity:1;fill-rule:evenodd;stroke:#11111b;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" transform="matrix(1.1,0,0,1.1,1.1,0)" />
</marker>
<marker orient="auto" refY="0" refX="0" id="Arrow1Lstart" style="overflow:visible">
<path id="path4156" d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" style="fill:#11111b;fill-opacity:1;fill-rule:evenodd;stroke:#11111b;stroke-width:1pt;stroke-opacity:1" transform="matrix(0.8,0,0,0.8,10,0)" />
</marker>
<radialGradient xlink:href="#linearGradient4067-6" id="radialGradient4081-3" cx="16.481266" cy="23.519165" fx="16.481266" fy="23.519165" r="6" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.63761699,0.70479955,-0.91978898,0.75319585,27.605199,-5.8113614)" />
<linearGradient id="linearGradient4067-6">
<stop style="stop-color:#45475a;stop-opacity:1" offset="0" id="stop4069-7" />
<stop style="stop-color:#1e1e2e;stop-opacity:1" offset="1" id="stop4071-5" />
</linearGradient>
<radialGradient xlink:href="#linearGradient6349" id="radialGradient6355-6" cx="1103.6399" cy="1424.4465" fx="1103.6399" fy="1424.4465" r="194.40614" gradientTransform="matrix(-1.4307499,-1.3605156e-7,-1.202713e-8,0.1264801,2674.7488,1244.2826)" gradientUnits="userSpaceOnUse" />
<linearGradient xlink:href="#linearGradient3768" id="linearGradient3782" x1="33.052631" y1="73.676765" x2="23.483253" y2="19.131313" gradientUnits="userSpaceOnUse" />
</defs>
<metadata id="metadata5826">
<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>Sketcher_ReorientSketch</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>[vocx]</dc:title>
</cc:Agent>
</dc:creator>
<dc:title>Sketcher_MergeSketch</dc:title>
<dc:date>2020-09-25</dc:date>
<dc:relation>https://www.freecad.org/wiki/index.php?title=Artwork</dc:relation>
<dc:publisher>
<cc:Agent>
<dc:title>FreeCAD</dc:title>
</cc:Agent>
</dc:publisher>
<dc:identifier>FreeCAD/src/Mod/Sketcher/Gui/Resources/icons/Sketcher_ReorientSketch.svg</dc:identifier>
<dc:rights>
<cc:Agent>
<dc:title>CC-BY-SA 4.0</dc:title>
</cc:Agent>
</dc:rights>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/">https://www.gnu.org/copyleft/lesser.html</cc:license>
<dc:contributor>
<cc:Agent>
<dc:title>[agryson] Alexander Gryson</dc:title>
</cc:Agent>
</dc:contributor>
<dc:description>A coordinate axis system with three axes (red, blue, green) and three gray planes, next to a red sketch (square and circle). It was created from the 'MergeSketch' and 'Std_CoordinateSystem' icons.</dc:description>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<g id="layer1">
<g transform="matrix(0.1367863,0,0,0.1367863,-119.15519,-134.86962)" id="g3360">
<g transform="matrix(0.62222324,0,0,0.61432167,842.63789,423.10469)" id="g3047">
<rect style="color:#11111b;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#912424;stroke-width:70.94758606;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="rect3860-3-8" width="187.98842" height="190.40639" x="445.22565" y="1416.0845" />
<ellipse ry="95.203201" rx="94.254654" cy="1427.9849" cx="632.95361" style="color:#11111b;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#912424;stroke-width:70.94758606;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="path3862-6-9" />
<rect style="color:#11111b;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#f2cdcd;stroke-width:23.64919472;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="rect3860-3-9-7" width="187.9884" height="190.40639" x="445.22565" y="1416.0845" />
<ellipse ry="95.203201" rx="94.254654" cy="1427.9849" cx="632.95361" style="color:#11111b;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#f2cdcd;stroke-width:23.64919662;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="path3862-6-1-3" />
<g id="g3931" transform="matrix(11.749278,0,0,11.9004,1660.2543,896.21458)" />
<g style="stroke-width:1.43283892" id="layer1-1" transform="matrix(8.1997341,0,0,8.3057381,42.104442,-7262.9004)">
<g id="g4036-9-5" transform="matrix(0.92040759,-0.64428531,1.0101525,0.70710678,-1.7070363,1006.0233)" style="fill:#6cd163;fill-opacity:1;stroke:#1c5017;stroke-width:2.51176929;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
<g id="g4033-8-3" transform="matrix(0.70857077,0.64561924,-0.7760537,0.70710678,30.848953,1.7173836)" style="fill:#6cd163;fill-opacity:1;stroke:#1c5017;stroke-width:2.50917339;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
<rect style="fill:#6cd163;fill-opacity:1;stroke:#1c5017;stroke-width:2.50917339;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="rect3261-1-56" width="23" height="6" x="-25" y="-38" transform="scale(-1)" />
</g>
</g>
<g id="g4036-9" transform="matrix(-0.64428531,-0.92040759,0.70710678,-1.0101525,13.661154,1054.0993)" style="fill:#307bf7;fill-opacity:1;stroke:#052459;stroke-width:2.51176929;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
<g id="g4033-8" transform="matrix(0.70857077,0.64561924,-0.7760537,0.70710678,30.848953,1.7173836)" style="fill:#307bf7;fill-opacity:1;stroke:#052459;stroke-width:2.50917339;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
<rect style="fill:#307bf7;fill-opacity:1;stroke:#052459;stroke-width:2.50917339;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="rect3261-1" width="23" height="6" x="-25" y="-38" transform="scale(-1)" />
</g>
</g>
<path style="fill:none;stroke:#89b4fa;stroke-width:2.86567783;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 28.999999,1020.9348 V 992.93494" id="path4083-0" />
<path style="fill:none;fill-opacity:1;stroke:#a6e3a1;stroke-width:2.86567783;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 31.45655,1021.3621 h 28" id="path4083-0-29" />
<g id="g4036-9-3" transform="matrix(0.89924477,-0.64428531,0.98692623,0.70710678,-5.6754163,1016.4337)" style="fill:#d76363;fill-opacity:1;stroke:#4c1313;stroke-width:2.54115367;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
<g id="g4033-8-5" transform="matrix(0.70857077,0.64561924,-0.7760537,0.70710678,30.848953,1.7173836)" style="fill:#d76363;fill-opacity:1;stroke:#4c1313;stroke-width:2.53852701;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
<rect style="fill:#d76363;fill-opacity:1;stroke:#4c1313;stroke-width:2.57573986;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="rect3261-1-6" width="26.344721" height="5.3929434" x="12.011514" y="-22.444706" transform="matrix(-0.61733264,0.78670224,-0.61733264,-0.78670224,0,0)" />
</g>
</g>
<path style="fill:none;stroke:#f2cdcd;stroke-width:2.86567783;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 9.4171738,1041.7815 28.718979,1022.4907" id="path4083-0-2" />
<circle style="fill:url(#radialGradient4081-3);fill-opacity:1;fill-rule:nonzero;stroke:#11111b;stroke-width:2.86567926" id="path11841-1" cx="19" cy="26" r="5" transform="translate(11.000001,996.36217)" />
</g>
<rect y="1035.2717" x="374.72995" height="95.203201" width="117.49278" id="rect1969" style="opacity:1;fill:#8f8b85;fill-opacity:1;fill-rule:nonzero;stroke:#202020;stroke-width:11.82459736;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path id="rect1969-0" d="m 104.49656,1166.1761 93.99415,-95.2032 7e-5,119.004 -93.99422,95.2032 z" style="opacity:1;fill:#8f8b85;fill-opacity:1;fill-rule:nonzero;stroke:#202020;stroke-width:11.82459736;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path id="rect1969-0-2" d="m 233.73861,1404.1841 93.99414,-95.2032 h 117.49286 l -93.99422,95.2032 z" style="opacity:1;fill:#8f8b85;fill-opacity:1;fill-rule:nonzero;stroke:#202020;stroke-width:11.82459736;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
</g>
</g>
</svg>