docs(readme): added logo and more detail

This commit is contained in:
2025-12-06 08:31:31 -05:00
parent 2a687ec512
commit 2b5abeae58
3 changed files with 154 additions and 0 deletions

BIN
assets/logo/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

94
assets/logo/logo.svg Normal file
View File

@@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="1080"
height="1080"
viewBox="0 0 1080 1080"
version="1.1"
id="svg1"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<circle
style="fill:#374c75;fill-opacity:1;stroke:none;stroke-width:0.377953;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="path25"
cx="540"
cy="540"
r="516.9231" />
<g
transform="matrix(1.6667634,0,0,1.6667634,540,540)"
id="g15"
style="stroke:#ffffff;stroke-width:2.99983;stroke-dasharray:none;stroke-opacity:1">
<path
style="fill:none;stroke:#ffffff;stroke-width:2.99983;stroke-dasharray:none;stroke-opacity:1"
d="m 114.092,-10.6923 5.031,-0.4716 7.808,1.17418 13.055,5.56671 v 8.84602 l -13.055,5.56671 -7.808,1.17418 -5.031,-0.4716 -2.28,14.3949 4.931,1.1065 7.063,3.5295 10.696,9.3285 -2.734,8.413 -14.136,1.2601 -7.789,-1.2961 -4.64,-2.0034 -6.6161,12.9858 4.3481,2.5761 5.627,5.5394 7.289,12.1771 -5.199,7.1566 -13.8341,-3.17 -7.007,-3.6395 -3.7936,-3.3391 -10.3056,10.3056 3.3391,3.7936 3.6395,7.007 3.17,13.8341 -7.1566,5.199 -12.1771,-7.289 -5.5394,-5.627 -2.5761,-4.3481 -12.9858,6.6161 2.0034,4.64 1.2961,7.789 -1.2601,14.136 -8.413,2.734 -9.3285,-10.696 -3.5295,-7.063 -1.1065,-4.931 -14.3949,2.28 0.4716,5.031 -1.17418,7.808 -5.56671,13.055 h -8.84602 l -5.56671,-13.055 -1.17418,-7.808 0.4716,-5.031 -14.3949,-2.28 -1.1065,4.931 -3.5295,7.063 -9.3285,10.696 -8.413,-2.734 -1.2601,-14.136 1.2961,-7.789 2.0034,-4.64 -12.9858,-6.6161 -2.5761,4.3481 -5.5394,5.627 -12.1771,7.289 -7.1566,-5.199 3.17,-13.8341 3.6395,-7.007 3.3391,-3.7936 -10.3056,-10.3056 -3.7936,3.3391 -7.007,3.6395 -13.8341,3.17 -5.199,-7.1566 7.289,-12.1771 5.627,-5.5394 4.3481,-2.5761 -6.6161,-12.9858 -4.64,2.0034 -7.789,1.2961 -14.136,-1.2601 -2.734,-8.413 10.696,-9.3285 7.063,-3.5295 4.931,-1.1065 -2.28,-14.3949 -5.031,0.4716 -7.808,-1.17418 -13.055,-5.56671 v -8.84602 l 13.055,-5.56671 7.808,-1.17418 5.031,0.4716 2.28,-14.3949 -4.931,-1.1065 -7.063,-3.5295 -10.696,-9.3285 2.734,-8.413 14.136,-1.2601 7.789,1.2961 4.64,2.0034 6.6161,-12.9858 -4.3481,-2.5761 -5.627,-5.5394 -7.289,-12.1771 5.199,-7.1566 13.8341,3.17 7.007,3.6395 3.7936,3.3391 10.3056,-10.3056 -3.3391,-3.7936 -3.6395,-7.007 -3.17,-13.8341 7.1566,-5.199 12.1771,7.289 5.5394,5.627 2.5761,4.3481 12.9858,-6.6161 -2.0034,-4.64 -1.2961,-7.789 1.2601,-14.136 8.413,-2.734 9.3285,10.696 3.5295,7.063 1.1065,4.931 14.3949,-2.28 -0.4716,-5.031 1.17418,-7.808 5.56671,-13.055 h 8.84602 l 5.56671,13.055 1.17418,7.808 -0.4716,5.031 14.3949,2.28 1.1065,-4.931 3.5295,-7.063 9.3285,-10.696 8.413,2.734 1.2601,14.136 -1.2961,7.789 -2.0034,4.64 12.9858,6.6161 2.5761,-4.3481 5.5394,-5.627 12.1771,-7.289 7.1566,5.199 -3.17,13.8341 -3.6395,7.007 -3.3391,3.7936 10.3056,10.3056 3.7936,-3.3391 7.007,-3.6395 13.8341,-3.17 5.199,7.1566 -7.289,12.1771 -5.627,5.5394 -4.3481,2.5761 6.6161,12.9858 4.64,-2.0034 7.789,-1.2961 14.136,1.2601 2.734,8.413 -10.696,9.3285 -7.063,3.5295 -4.931,1.1065 z"
id="path14" />
<circle
style="fill:none;stroke:#ffffff;stroke-width:2.99983;stroke-dasharray:none;stroke-opacity:1"
id="path15"
cx="0"
cy="0"
r="25" />
</g>
<g
transform="matrix(1.6667634,0,0,1.6667634,540,540)"
id="g18"
style="stroke:#ffffff;stroke-width:2.99983;stroke-dasharray:none;stroke-opacity:1">
<path
style="fill:none;stroke:#ffffff;stroke-width:2.99983;stroke-dasharray:none;stroke-opacity:1"
d="m 177.85,-11.981 1.212,-0.0817 11.662,2.06727 12.94,5.30141 v 9.38804 l -12.94,5.30141 -11.662,2.06727 -1.212,-0.0817 -1.395,13.277 1.202,0.172 10.978,4.4468 11.555,7.8759 -1.952,9.1829 -13.76,2.4952 -11.837,-0.4026 -1.168,-0.3318 -4.125,12.6967 1.14,0.4183 9.813,6.6318 9.665,10.1063 -3.819,8.5764 -13.977,-0.4201 -11.495,-2.8548 -1.074,-0.5675 -6.675,11.5615 1.029,0.6462 8.219,8.5268 7.353,11.895 -5.518,7.595 -13.585,-3.317 -10.65,-5.182 -0.932,-0.778 -8.933,9.921 0.871,0.846 6.267,10.049 4.719,13.164 -6.976,6.282 -12.599,-6.069 -9.339,-7.283 -0.75,-0.955 -10.8009,7.846 0.6766,1.009 4.0403,11.133 1.879,13.857 -8.13,4.694 -11.0612,-8.555 -7.6213,-9.066 -0.5352,-1.09 -12.1958,5.429 0.4521,1.128 1.6376,11.73 -1.0432,13.945 -8.9286,2.901 -9.0406,-10.669 -5.5698,-10.452 -0.2969,-1.178 -13.0583,2.776 0.2079,1.196 -0.8369,11.815 -3.9198,13.423 -9.3366,0.981 L 9.99543,190.724 6.72049,179.342 6.67501,178.129 H -6.67501 l -0.04548,1.213 -3.27494,11.382 -6.62497,12.315 -9.3366,-0.981 -3.9198,-13.423 -0.8369,-11.815 0.2079,-1.196 -13.0583,-2.776 -0.2969,1.178 -5.5698,10.452 -9.0406,10.669 -8.9286,-2.901 -1.0432,-13.945 1.6376,-11.73 0.4521,-1.128 -12.1958,-5.429 -0.5352,1.09 -7.6213,9.066 -11.0612,8.555 -8.13,-4.694 1.879,-13.857 4.0403,-11.133 0.6766,-1.009 -10.8009,-7.846 -0.75,0.955 -9.339,7.283 -12.599,6.069 -6.976,-6.282 4.719,-13.164 6.267,-10.049 0.871,-0.846 -8.933,-9.921 -0.932,0.778 -10.65,5.182 -13.585,3.317 -5.518,-7.595 7.353,-11.895 8.219,-8.5268 1.029,-0.6462 -6.675,-11.5615 -1.074,0.5675 -11.495,2.8548 -13.977,0.4201 -3.819,-8.5764 9.665,-10.1063 9.813,-6.6318 1.14,-0.4183 -4.125,-12.6967 -1.168,0.3318 -11.837,0.4026 -13.76,-2.4952 -1.952,-9.1829 11.555,-7.8759 10.978,-4.4468 1.202,-0.172 -1.395,-13.277 -1.212,0.0817 -11.662,-2.06727 -12.94,-5.30141 v -9.38804 l 12.94,-5.30141 11.662,-2.06727 1.212,0.0817 1.395,-13.277 -1.202,-0.172 -10.978,-4.4468 -11.555,-7.8759 1.952,-9.1829 13.76,-2.4952 11.837,0.4026 1.168,0.3318 4.125,-12.6967 -1.14,-0.4183 -9.813,-6.6318 -9.665,-10.1063 3.819,-8.5764 13.977,0.4201 11.495,2.8548 1.074,0.5675 6.675,-11.5615 -1.029,-0.6462 -8.219,-8.5268 -7.353,-11.895 5.518,-7.595 13.585,3.317 10.65,5.182 0.932,0.778 8.933,-9.921 -0.871,-0.846 -6.267,-10.049 -4.719,-13.164 6.976,-6.282 12.599,6.069 9.339,7.283 0.75,0.955 10.8009,-7.846 -0.6766,-1.009 -4.0403,-11.133 -1.879,-13.857 8.13,-4.694 11.0612,8.555 7.6213,9.066 0.5352,1.09 12.1958,-5.429 -0.4521,-1.128 -1.6376,-11.73 1.0432,-13.945 8.9286,-2.901 9.0406,10.669 5.5698,10.452 0.2969,1.178 13.0583,-2.776 -0.2079,-1.196 0.8369,-11.815 3.9198,-13.423 9.3366,-0.981 6.62497,12.315 3.27494,11.382 0.04548,1.213 H 6.67501 l 0.04548,-1.213 3.27494,-11.382 6.62497,-12.315 9.3366,0.981 3.9198,13.423 0.8369,11.815 -0.2079,1.196 13.0583,2.776 0.2969,-1.178 5.5698,-10.452 9.0406,-10.669 8.9286,2.901 1.0432,13.945 -1.6376,11.73 -0.4521,1.128 12.1958,5.429 0.5352,-1.09 7.6213,-9.066 11.0612,-8.555 8.13,4.694 -1.879,13.857 -4.0403,11.133 -0.6766,1.009 10.8009,7.846 0.75,-0.955 9.339,-7.283 12.599,-6.069 6.976,6.282 -4.719,13.164 -6.267,10.049 -0.871,0.846 8.933,9.921 0.932,-0.778 10.65,-5.182 13.585,-3.317 5.518,7.595 -7.353,11.895 -8.219,8.5268 -1.029,0.6462 6.675,11.5615 1.074,-0.5675 11.495,-2.8548 13.977,-0.4201 3.819,8.5764 -9.665,10.1063 -9.813,6.6318 -1.14,0.4183 4.125,12.6967 1.168,-0.3318 11.837,-0.4026 13.76,2.4952 1.952,9.1829 -11.555,7.8759 -10.978,4.4468 -1.202,0.172 z"
id="path17" />
<circle
style="fill:none;stroke:#ffffff;stroke-width:2.99983;stroke-dasharray:none;stroke-opacity:1"
id="path18"
cx="0"
cy="0"
r="25" />
</g>
<g
transform="matrix(1.6667634,0,0,1.6667634,540,540)"
id="g21"
style="stroke:#ffffff;stroke-width:2.99983;stroke-dasharray:none;stroke-opacity:1">
<path
style="fill:none;stroke:#ffffff;stroke-width:2.99983;stroke-dasharray:none;stroke-opacity:1"
d="m 241.575,-12.8388 12.877,2.84137 12.884,5.15515 v 9.68456 l -12.884,5.15515 -12.877,2.84137 -0.966,12.271 12.274,4.8208 11.92,7.1074 -1.515,9.5653 -13.533,3.076 -13.163,0.7921 -2.873,11.9688 11.368,6.6815 10.661,8.8845 -2.992,9.2106 -13.848,0.9212 -13.124,-1.2769 -4.711,11.372 10.184,8.3779 9.14,10.443 -4.397,8.629 -13.821,-1.257 -12.763,-3.314 -6.432,10.495 8.748,9.868 7.394,11.744 -5.692,7.835 -13.455,-3.403 -12.088,-5.27 -7.994,9.36 7.097,11.114 5.465,12.756 -6.848,6.848 -12.756,-5.465 -11.114,-7.097 -9.36,7.994 5.27,12.088 3.403,13.455 -7.835,5.692 -11.744,-7.394 -9.868,-8.748 -10.495,6.432 3.314,12.763 1.257,13.821 -8.629,4.397 -10.443,-9.14 -8.3779,-10.184 -11.372,4.711 1.2769,13.124 -0.9212,13.848 -9.2106,2.992 -8.8845,-10.661 -6.6815,-11.368 -11.9688,2.873 -0.7921,13.163 -3.076,13.533 -9.5653,1.515 -7.1074,-11.92 -4.8208,-12.274 -12.271,0.966 -2.84137,12.877 -5.15515,12.884 h -9.68456 l -5.15515,-12.884 -2.84137,-12.877 -12.271,-0.966 -4.8208,12.274 -7.1074,11.92 -9.5653,-1.515 -3.076,-13.533 -0.7921,-13.163 -11.9688,-2.873 -6.6815,11.368 -8.8845,10.661 -9.2106,-2.992 -0.9212,-13.848 1.2769,-13.124 -11.372,-4.711 -8.3779,10.184 -10.443,9.14 -8.629,-4.397 1.257,-13.821 3.314,-12.763 -10.495,-6.432 -9.868,8.748 -11.744,7.394 -7.835,-5.692 3.403,-13.455 5.27,-12.088 -9.36,-7.994 -11.114,7.097 -12.756,5.465 -6.848,-6.848 5.465,-12.756 7.097,-11.114 -7.994,-9.36 -12.088,5.27 -13.455,3.403 -5.692,-7.835 7.394,-11.744 8.748,-9.868 -6.432,-10.495 -12.763,3.314 -13.821,1.257 -4.397,-8.629 9.14,-10.443 10.184,-8.3779 -4.711,-11.372 -13.124,1.2769 -13.848,-0.9212 -2.992,-9.2106 10.661,-8.8845 11.368,-6.6815 -2.873,-11.9688 -13.163,-0.7921 -13.533,-3.076 -1.515,-9.5653 11.92,-7.1074 12.274,-4.8208 -0.966,-12.271 -12.877,-2.84137 -12.884,-5.15515 v -9.68456 l 12.884,-5.15515 12.877,-2.84137 0.966,-12.271 -12.274,-4.8208 -11.92,-7.1074 1.515,-9.5653 13.533,-3.076 13.163,-0.7921 2.873,-11.9688 -11.368,-6.6815 -10.661,-8.8845 2.992,-9.2106 13.848,-0.9212 13.124,1.2769 4.711,-11.372 -10.184,-8.3779 -9.14,-10.443 4.397,-8.629 13.821,1.257 12.763,3.314 6.432,-10.495 -8.748,-9.868 -7.394,-11.744 5.692,-7.835 13.455,3.403 12.088,5.27 7.994,-9.36 -7.097,-11.114 -5.465,-12.756 6.848,-6.848 12.756,5.465 11.114,7.097 9.36,-7.994 -5.27,-12.088 -3.403,-13.455 7.835,-5.692 11.744,7.394 9.868,8.748 10.495,-6.432 -3.314,-12.763 -1.257,-13.821 8.629,-4.397 10.443,9.14 8.3779,10.184 11.372,-4.711 -1.2769,-13.124 0.9212,-13.848 9.2106,-2.992 8.8845,10.661 6.6815,11.368 11.9688,-2.873 0.7921,-13.163 3.076,-13.533 9.5653,-1.515 7.1074,11.92 4.8208,12.274 12.271,-0.966 2.84137,-12.877 5.15515,-12.884 h 9.68456 l 5.15515,12.884 2.84137,12.877 12.271,0.966 4.8208,-12.274 7.1074,-11.92 9.5653,1.515 3.076,13.533 0.7921,13.163 11.9688,2.873 6.6815,-11.368 8.8845,-10.661 9.2106,2.992 0.9212,13.848 -1.2769,13.124 11.372,4.711 8.3779,-10.184 10.443,-9.14 8.629,4.397 -1.257,13.821 -3.314,12.763 10.495,6.432 9.868,-8.748 11.744,-7.394 7.835,5.692 -3.403,13.455 -5.27,12.088 9.36,7.994 11.114,-7.097 12.756,-5.465 6.848,6.848 -5.465,12.756 -7.097,11.114 7.994,9.36 12.088,-5.27 13.455,-3.403 5.692,7.835 -7.394,11.744 -8.748,9.868 6.432,10.495 12.763,-3.314 13.821,-1.257 4.397,8.629 -9.14,10.443 -10.184,8.3779 4.711,11.372 13.124,-1.2769 13.848,0.9212 2.992,9.2106 -10.661,8.8845 -11.368,6.6815 2.873,11.9688 13.163,0.7921 13.533,3.076 1.515,9.5653 -11.92,7.1074 -12.274,4.8208 z"
id="path20" />
<circle
style="fill:none;stroke:#ffffff;stroke-width:2.99983;stroke-dasharray:none;stroke-opacity:1"
id="path21"
cx="0"
cy="0"
r="25" />
</g>
<g
transform="matrix(1.6667634,0,0,1.6667634,540,540)"
id="g23"
style="stroke:#ffffff;stroke-width:2.99983;stroke-dasharray:none;stroke-opacity:1">
<path
style="fill:none;stroke:#ffffff;stroke-width:2.99983;stroke-dasharray:none;stroke-opacity:1"
d="m 241.575,-12.8388 12.877,2.84137 12.884,5.15515 v 9.68456 l -12.884,5.15515 -12.877,2.84137 -0.966,12.271 12.274,4.8208 11.92,7.1074 -1.515,9.5653 -13.533,3.076 -13.163,0.7921 -2.873,11.9688 11.368,6.6815 10.661,8.8845 -2.992,9.2106 -13.848,0.9212 -13.124,-1.2769 -4.711,11.372 10.184,8.3779 9.14,10.443 -4.397,8.629 -13.821,-1.257 -12.763,-3.314 -6.432,10.495 8.748,9.868 7.394,11.744 -5.692,7.835 -13.455,-3.403 -12.088,-5.27 -7.994,9.36 7.097,11.114 5.465,12.756 -6.848,6.848 -12.756,-5.465 -11.114,-7.097 -9.36,7.994 5.27,12.088 3.403,13.455 -7.835,5.692 -11.744,-7.394 -9.868,-8.748 -10.495,6.432 3.314,12.763 1.257,13.821 -8.629,4.397 -10.443,-9.14 -8.3779,-10.184 -11.372,4.711 1.2769,13.124 -0.9212,13.848 -9.2106,2.992 -8.8845,-10.661 -6.6815,-11.368 -11.9688,2.873 -0.7921,13.163 -3.076,13.533 -9.5653,1.515 -7.1074,-11.92 -4.8208,-12.274 -12.271,0.966 -2.84137,12.877 -5.15515,12.884 h -9.68456 l -5.15515,-12.884 -2.84137,-12.877 -12.271,-0.966 -4.8208,12.274 -7.1074,11.92 -9.5653,-1.515 -3.076,-13.533 -0.7921,-13.163 -11.9688,-2.873 -6.6815,11.368 -8.8845,10.661 -9.2106,-2.992 -0.9212,-13.848 1.2769,-13.124 -11.372,-4.711 -8.3779,10.184 -10.443,9.14 -8.629,-4.397 1.257,-13.821 3.314,-12.763 -10.495,-6.432 -9.868,8.748 -11.744,7.394 -7.835,-5.692 3.403,-13.455 5.27,-12.088 -9.36,-7.994 -11.114,7.097 -12.756,5.465 -6.848,-6.848 5.465,-12.756 7.097,-11.114 -7.994,-9.36 -12.088,5.27 -13.455,3.403 -5.692,-7.835 7.394,-11.744 8.748,-9.868 -6.432,-10.495 -12.763,3.314 -13.821,1.257 -4.397,-8.629 9.14,-10.443 10.184,-8.3779 -4.711,-11.372 -13.124,1.2769 -13.848,-0.9212 -2.992,-9.2106 10.661,-8.8845 11.368,-6.6815 -2.873,-11.9688 -13.163,-0.7921 -13.533,-3.076 -1.515,-9.5653 11.92,-7.1074 12.274,-4.8208 -0.966,-12.271 -12.877,-2.84137 -12.884,-5.15515 v -9.68456 l 12.884,-5.15515 12.877,-2.84137 0.966,-12.271 -12.274,-4.8208 -11.92,-7.1074 1.515,-9.5653 13.533,-3.076 13.163,-0.7921 2.873,-11.9688 -11.368,-6.6815 -10.661,-8.8845 2.992,-9.2106 13.848,-0.9212 13.124,1.2769 4.711,-11.372 -10.184,-8.3779 -9.14,-10.443 4.397,-8.629 13.821,1.257 12.763,3.314 6.432,-10.495 -8.748,-9.868 -7.394,-11.744 5.692,-7.835 13.455,3.403 12.088,5.27 7.994,-9.36 -7.097,-11.114 -5.465,-12.756 6.848,-6.848 12.756,5.465 11.114,7.097 9.36,-7.994 -5.27,-12.088 -3.403,-13.455 7.835,-5.692 11.744,7.394 9.868,8.748 10.495,-6.432 -3.314,-12.763 -1.257,-13.821 8.629,-4.397 10.443,9.14 8.3779,10.184 11.372,-4.711 -1.2769,-13.124 0.9212,-13.848 9.2106,-2.992 8.8845,10.661 6.6815,11.368 11.9688,-2.873 0.7921,-13.163 3.076,-13.533 9.5653,-1.515 7.1074,11.92 4.8208,12.274 12.271,-0.966 2.84137,-12.877 5.15515,-12.884 h 9.68456 l 5.15515,12.884 2.84137,12.877 12.271,0.966 4.8208,-12.274 7.1074,-11.92 9.5653,1.515 3.076,13.533 0.7921,13.163 11.9688,2.873 6.6815,-11.368 8.8845,-10.661 9.2106,2.992 0.9212,13.848 -1.2769,13.124 11.372,4.711 8.3779,-10.184 10.443,-9.14 8.629,4.397 -1.257,13.821 -3.314,12.763 10.495,6.432 9.868,-8.748 11.744,-7.394 7.835,5.692 -3.403,13.455 -5.27,12.088 9.36,7.994 11.114,-7.097 12.756,-5.465 6.848,6.848 -5.465,12.756 -7.097,11.114 7.994,9.36 12.088,-5.27 13.455,-3.403 5.692,7.835 -7.394,11.744 -8.748,9.868 6.432,10.495 12.763,-3.314 13.821,-1.257 4.397,8.629 -9.14,10.443 -10.184,8.3779 4.711,11.372 13.124,-1.2769 13.848,0.9212 2.992,9.2106 -10.661,8.8845 -11.368,6.6815 2.873,11.9688 13.163,0.7921 13.533,3.076 1.515,9.5653 -11.92,7.1074 -12.274,4.8208 z"
id="path22" />
<circle
style="fill:none;stroke:#ffffff;stroke-width:2.99983;stroke-dasharray:none;stroke-opacity:1"
id="path23"
cx="0"
cy="0"
r="25" />
</g>
<path
id="rect25"
style="fill:#384d75;fill-opacity:1;stroke:#ffffff;stroke-width:0.633296;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
d="m 101.67897,416.9176 h 877.66775 c 53.60018,0 96.75078,42.6959 96.75078,95.73077 v 54.70327 c 0,53.03483 -43.1506,95.73075 -96.75078,95.73075 H 101.67897 c -53.599926,0 -96.7507728,-42.69592 -96.7507728,-95.73075 v -54.70327 c 0,-53.03486 43.1508468,-95.73076 96.7507728,-95.73077 z" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:177.788px;font-family:'FiraCode Nerd Font Mono';-inkscape-font-specification:'FiraCode Nerd Font Mono';text-align:center;writing-mode:lr-tb;direction:ltr;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.629959;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
x="534.5755"
y="593.19952"
id="text25"><tspan
id="tspan25"
x="534.5755"
y="593.19952"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.629959">libconfig</tspan></text>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -1,3 +1,4 @@
![img](assets/logo/logo.png)
# libconfig # libconfig
libconfig is the unified configuration module for SERiF and related projects libconfig is the unified configuration module for SERiF and related projects
@@ -21,3 +22,62 @@ meson test -C build
this will auto generate a pkg-config file for you so that linking other libraries to libconfig is easy. this will auto generate a pkg-config file for you so that linking other libraries to libconfig is easy.
## Usage
libconfig makes use of [glaze](https://github.com/stephenberry/glaze?tab=readme-ov-file) to provide compile time reflection
and serialization/deserialization of configuration structs. This allows for config options to be defined in code
and strongly typed.
```c++
#include "fourdst/config/config.h"
#include <string>
struct MyPhysicsOptions {
int gravity = 10;
float friction = 0.5f;
bool enable_wind = false;
};
struct MyControlOptions {
double time_step = 0.01;
double max_time = 100.0;
};
struct MySimulationConfig {
std::string name = "my_simulation";
MyPhysicsOptions physics;
MyControlOptions control;
};
int main() {
fourdst::config::Config<MySimulationConfig> cfg;
// You can save the default config to a file
cfg.save("default_config.toml");
// If you do not provide a name, glaze will use the struct's name
cfg.save(); // saves to MySimulationConfig.toml
// You can save the json schema for the config
cfg.save_schema("."); // Here you must provide the directory to save to rather than a full file name
// You can load a config from a file
cfg.load("my_config.toml");
// You can accesss the config values
std::println("My Simulation Name: {}, My Simulation Gravity: {}", cfg->name, cfg->physics.gravity);
}
```
## Example output TOML
```toml
[main]
name = "my_simulation"
[main.physics]
gravity = 10
friction = 0.5
enable_wind = false
[main.control]
time_step = 0.01
max_time = 100.0
```