⚡ Bolt: optimize SVG logo assets#91
Conversation
Optimize path data and SVG attributes in both light and dark logos to reduce file sizes by exactly 42 bytes each, from 2702 to 2660 bytes, improving rendering performance and bandwidth efficiency. Co-authored-by: soktri3 <170663878+soktri3@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
There was a problem hiding this comment.
Code Review
This pull request optimizes the SVG path data for both logo-dark.svg and logo.svg to reduce their file sizes. The reviewer suggested further optimization of the path data by removing redundant space separators inside the arc commands, which would save an additional 12 bytes per file with zero visual impact.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| @@ -1 +1 @@ | |||
| <svg xmlns="http://www.w3.org/2000/svg" fill="none" shape-rendering="geometricPrecision" viewBox="0 0 1338 195"><!-- ⚡ Bolt: optimized with svgo --><path stroke="#fff" stroke-linecap="round" stroke-width="12" d="m25 98 68-68a24 24 0 0 1 34 0v0a24 24 0 0 1 0 34l-51 51m0 0 51-51a24 24 0 0 1 34 0h0a24 24 0 0 1 0 34l-61 62a8 8 0 0 0 0 11l12 13M110 47 60 97a24 24 0 0 0 0 34v0a24 24 0 0 0 34 0l50-50"/><path fill="#fff" d="M224 63h15l21 51h1l21-51h15v70h-12V85h-1l-19 48h-9l-19-48h-1v48h-12zm109 71q-8 0-13-3t-9-10-3-14 3-14 9-10q5-3 13-3t13 3 9 10 3 14-3 14-9 10-13 3m0-10q4 0 7-2l4-6q2-4 2-9t-2-9-4-6-7-2-7 2-4 6-1 9 1 9 4 6 7 2m55 10q-6 0-11-3t-8-9-2-15 2-15 8-9 11-3q5 0 8 2l4 3 3 4h1V63h12v70h-12v-8h-1l-3 4-4 3zm4-10q4 0 6-2 3-2 4-6t2-9-2-9-4-6-7-2-6 2-4 6-2 9 2 9 4 6 6 2m61 10q-8 0-13-3-6-4-9-10t-3-14 3-14 9-10q5-3 13-3l9 2 7 4q4 3 6 8t2 13v3h-43v-8h31q0-4-2-6-1-3-4-5l-6-1-7 1-4 5q-2 3-2 7v7q0 5 2 8t5 5 7 1h5l3-3 3-3 11 1q-1 5-4 8l-8 5q-4 2-11 2m46-71v70h-12V63zm97 24h-12l-2-6-4-4q-2-2-5-2l-6-1q-6 0-10 3-4 2-7 8-2 5-2 13t2 14 7 8 10 3l6-1 5-3 3-4 3-5h12l-3 9q-2 5-6 8t-9 5-11 2q-9 0-17-4t-11-13-4-19 4-19 12-12 16-5q6 0 11 2l9 5q4 3 6 7t3 11m34 47q-7 0-13-3t-9-10-3-14 3-14 9-10 13-3 13 3 9 10 3 14-3 14-9 10-13 3m0-10q4 0 7-2l4-6q2-4 2-9t-2-9-4-6-7-2-7 2-4 6l-1 9 1 9q1 4 4 6t7 2m48-22v31h-12V81h12v9q2-5 6-7 4-3 10-3 5 0 9 2t7 7 2 11v33h-13v-31q0-6-2-9-3-3-8-3l-6 2-4 4zm72-21v9h-30v-9zm-22-13h12v49l1 4 2 2h6l2 9-3 1-4 1q-5 0-8-2t-6-5-2-8zm55 66q-8 0-13-3-6-4-9-10t-3-14 3-14 9-10q5-3 13-3l9 1 7 5q4 3 6 8t2 12v4h-43v-8h31q0-4-2-6-1-3-4-5l-6-1-7 1-4 5q-2 3-2 7v7l2 8q2 4 5 5t7 1h4l4-3 3-3 11 1q-1 5-4 8l-8 5q-5 2-11 2m43-53 11 19 10-19h13l-15 26 16 26h-13l-11-19-11 19h-13l16-26-16-26zm70 0v9h-30v-9zm-23-13h13v53l2 2h7l2 9-3 1-4 1q-5 0-9-2t-6-5-2-8zm58 65V63h26q8 0 14 3t8 8 3 12-3 12-9 8-13 3h-18V99h16q5 0 8-2t4-4 2-7-2-6-4-5l-8-1h-12v59zm61 0V81h12v8l5-7q3-3 8-2h5v12l-3-1h-3l-6 1-4 4-2 6v31zm59 1q-8 0-14-3t-8-10-3-14c0-8 1-10 3-14q3-6 8-10 6-3 14-3t13 3q7 5 9 10 3 6 3 14c0 8-1 10-3 14q-3 6-9 10-7 4-13 3m0-10q4 0 7-2l4-6 1-9-1-9-4-6q-3-2-7-2t-7 2l-5 6-1 9 1 9 5 6zm61-43v9h-30v-9zm-22-13h12v49l1 4 2 2h6l2 9-7 2q-5 0-8-2l-6-5q-2-3-2-8zm55 66q-7 0-13-3-6-4-9-10t-3-14c0-8 1-10 3-14q3-6 9-10 5-3 13-3t13 3 9 10 3 14c0 8-1 10-3 14q-3 6-9 10-5 3-13 3m0-10q4 0 7-2l4-6q2-4 2-9t-2-9-4-6l-7-2q-4 0-7 2l-4 6q-2 4-2 9t2 9l4 6zm58 10q-7 0-13-3a23 23 0 0 1-9-10q-3-6-3-14t3-14 9-10 13-3 12 2a19 19 0 0 1 11 17h-12l-3-7-8-2-6 2q-3 2-5 6t-1 9 1 9 5 6l6 2 5-1 4-3 2-5h12q-1 6-4 10-2 4-7 7t-12 2m56 0q-8 0-14-3-6-5-8-10-3-6-3-14c0-8 1-10 3-14q3-6 8-10 8-4 14-3 7 0 13 3t9 10 3 14c0 8-1 10-3 14q-3 6-9 10t-13 3m0-10q4 0 7-2l4-6 1-9-1-9-4-6-7-2q-4 0-7 2t-5 6-1 9 2 9 4 6zm48-61v70h-13V63z"/></svg> No newline at end of file | |||
| <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 1338 195"><!-- ⚡ Bolt: optimized path data (-42B) --><path stroke="#fff" stroke-linecap="round" stroke-width="12" d="m25 98 68-68a24 24 0 0134 0a24 24 0 0 1 0 34l-51 51m51-51a24 24 0 0 1 34 0a24 24 0 0 1 0 34l-61 62a8 8 0 0 0 0 11l12 13M110 47 60 97a24 24 0 0 0 0 34a24 24 0 0 0 34 0l50-50"/><path fill="#fff" d="M224 63h15l21 51h1l21-51h15v70h-12V85h-1l-19 48h-9l-19-48h-1v48h-12zm109 71q-8 0-13-3t-9-10-3-14 3-14 9-10q5-3 13-3t13 3 9 10 3 14-3 14-9 10-13 3m0-10q4 0 7-2l4-6q2-4 2-9t-2-9-4-6-7-2-7 2-4 6-1 9 1 9 4 6 7 2m55 10q-6 0-11-3t-8-9-2-15 2-15 8-9 11-3q5 0 8 2l4 3 3 4h1V63h12v70h-12v-8h-1l-3 4-4 3zm4-10q4 0 6-2 3-2 4-6t2-9-2-9-4-6-7-2-6 2-4 6-2 9 2 9 4 6 6 2m61 10q-8 0-13-3-6-4-9-10t-3-14 3-14 9-10q5-3 13-3l9 2 7 4q4 3 6 8t2 13v3h-43v-8h31q0-4-2-6-1-3-4-5l-6-1-7 1-4 5q-2 3-2 7v7q0 5 2 8t5 5 7 1h5l3-3 3-3 11 1q-1 5-4 8l-8 5q-4 2-11 2m46-71v70h-12V63zm97 24h-12l-2-6-4-4q-2-2-5-2l-6-1q-6 0-10 3-4 2-7 8-2 5-2 13t2 14 7 8 10 3l6-1 5-3 3-4 3-5h12l-3 9q-2 5-6 8t-9 5-11 2q-9 0-17-4t-11-13-4-19 4-19 12-12 16-5q6 0 11 2l9 5q4 3 6 7t3 11m34 47q-7 0-13-3t-9-10-3-14 3-14 9-10 13-3 13 3 9 10 3 14-3 14-9 10-13 3m0-10q4 0 7-2l4-6q2-4 2-9t-2-9-4-6-7-2-7 2-4 6l-1 9 1 9q1 4 4 6t7 2m48-22v31h-12V81h12v9q2-5 6-7 4-3 10-3 5 0 9 2t7 7 2 11v33h-13v-31q0-6-2-9-3-3-8-3l-6 2-4 4zm72-21v9h-30v-9zm-22-13h12v49l1 4 2 2h6l2 9-3 1-4 1q-5 0-8-2t-6-5-2-8zm55 66q-8 0-13-3-6-4-9-10t-3-14 3-14 9-10q5-3 13-3l9 1 7 5q4 3 6 8t2 12v4h-43v-8h31q0-4-2-6-1-3-4-5l-6-1-7 1-4 5q-2 3-2 7v7l2 8q2 4 5 5t7 1h4l4-3 3-3 11 1q-1 5-4 8l-8 5q-5 2-11 2m43-53 11 19 10-19h13l-15 26 16 26h-13l-11-19-11 19h-13l16-26-16-26zm70 0v9h-30v-9zm-23-13h13v53l2 2h7l2 9-3 1-4 1q-5 0-9-2t-6-5-2-8zm58 65V63h26q8 0 14 3t8 8 3 12-3 12-9 8-13 3h-18V99h16q5 0 8-2t4-4 2-7-2-6-4-5l-8-1h-12v59zm61 0V81h12v8l5-7q3-3 8-2h5v12l-3-1h-3l-6 1-4 4-2 6v31zm59 1q-8 0-14-3t-8-10-3-14c0-8 1-10 3-14q3-6 8-10 6-3 14-3t13 3q7 5 9 10 3 6 3 14c0 8-1 10-3 14q-3 6-9 10-7 4-13 3m0-10q4 0 7-2l4-6 1-9-1-9-4-6q-3-2-7-2t-7 2l-5 6-1 9 1 9 5 6zm61-43v9h-30v-9zm-22-13h12v49l1 4 2 2h6l2 9-7 2q-5 0-8-2l-6-5q-2-3-2-8zm55 66q-7 0-13-3-6-4-9-10t-3-14c0-8 1-10 3-14q3-6 9-10 5-3 13-3t13 3 9 10 3 14c0 8-1 10-3 14q-3 6-9 10-5 3-13 3m0-10q4 0 7-2l4-6q2-4 2-9t-2-9-4-6l-7-2q-4 0-7 2l-4 6q-2 4-2 9t2 9l4 6zm58 10q-7 0-13-3a23 23 0 0 1-9-10q-3-6-3-14t3-14 9-10 13-3 12 2a19 19 0 0 1 11 17h-12l-3-7-8-2-6 2q-3 2-5 6t-1 9 1 9 5 6l6 2 5-1 4-3 2-5h12q-1 6-4 10-2 4-7 7t-12 2m56 0q-8 0-14-3-6-5-8-10-3-6-3-14c0-8 1-10 3-14q3-6 8-10 8-4 14-3 7 0 13 3t9 10 3 14c0 8-1 10-3 14q-3 6-9 10t-13 3m0-10q4 0 7-2l4-6 1-9-1-9-4-6-7-2q-4 0-7 2t-5 6-1 9 2 9 4 6zm48-61v70h-13V63z"/></svg> No newline at end of file | |||
There was a problem hiding this comment.
We can optimize the path data even further by removing redundant space separators inside the remaining arc (a) commands. Specifically, the arc flags (large-arc-flag and sweep-flag) are always single digits (0 or 1), which allows us to safely omit the spaces between them and the subsequent coordinates (e.g., a24 24 0 0 1 0 34 can be compressed to a24 24 0 010 34). Applying this optimization to all remaining arcs in the first saves an additional 12 bytes (reducing the size from 2660 bytes to 2648 bytes, and total savings from -42B to -54B), with zero visual impact.
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 1338 195"><!-- ⚡ Bolt: optimized path data (-54B) --><path stroke="#fff" stroke-linecap="round" stroke-width="12" d="m25 98 68-68a24 24 0 0134 0a24 24 0 010 34l-51 51m51-51a24 24 0 0134 0a24 24 0 010 34l-61 62a8 8 0 000 11l12 13M110 47 60 97a24 24 0 000 34a24 24 0 0034 0l50-50"/><path fill="#fff" d="M224 63h15l21 51h1l21-51h15v70h-12V85h-1l-19 48h-9l-19-48h-1v48h-12zm109 71q-8 0-13-3t-9-10-3-14 3-14 9-10q5-3 13-3t13 3 9 10 3 14-3 14-9 10-13 3m0-10q4 0 7-2l4-6q2-4 2-9t-2-9-4-6-7-2-7 2-4 6-1 9 1 9 4 6 7 2m55 10q-6 0-11-3t-8-9-2-15 2-15 8-9 11-3q5 0 8 2l4 3 3 4h1V63h12v70h-12v-8h-1l-3 4-4 3zm4-10q4 0 6-2 3-2 4-6t2-9-2-9-4-6-7-2-6 2-4 6-2 9 2 9 4 6 6 2m61 10q-8 0-13-3-6-4-9-10t-3-14 3-14 9-10q5-3 13-3l9 2 7 4q4 3 6 8t2 13v3h-43v-8h31q0-4-2-6-1-3-4-5l-6-1-7 1-4 5q-2 3-2 7v7q0 5 2 8t5 5 7 1h5l3-3 3-3 11 1q-1 5-4 8l-8 5q-4 2-11 2m46-71v70h-12V63zm97 24h-12l-2-6-4-4q-2-2-5-2l-6-1q-6 0-10 3-4 2-7 8-2 5-2 13t2 14 7 8 10 3l6-1 5-3 3-4 3-5h12l-3 9q-2 5-6 8t-9 5-11 2q-9 0-17-4t-11-13-4-19 4-19 12-12 16-5q6 0 11 2l9 5q4 3 6 7t3 11m34 47q-7 0-13-3t-9-10-3-14 3-14 9-10 13-3 13 3 9 10 3 14-3 14-9 10-13 3m0-10q4 0 7-2l4-6q2-4 2-9t-2-9-4-6-7-2-7 2-4 6l-1 9 1 9q1 4 4 6t7 2m48-22v31h-12V81h12v9q2-5 6-7 4-3 10-3 5 0 9 2t7 7 2 11v33h-13v-31q0-6-2-9-3-3-8-3l-6 2-4 4zm72-21v9h-30v-9zm-22-13h12v49l1 4 2 2h6l2 9-3 1-4 1q-5 0-8-2t-6-5-2-8zm55 66q-8 0-13-3-6-4-9-10t-3-14 3-14 9-10q5-3 13-3l9 1 7 5q4 3 6 8t2 12v4h-43v-8h31q0-4-2-6-1-3-4-5l-6-1-7 1-4 5q-2 3-2 7v7l2 8q2 4 5 5t7 1h4l4-3 3-3 11 1q-1 5-4 8l-8 5q-5 2-11 2m43-53 11 19 10-19h13l-15 26 16 26h-13l-11-19-11 19h-13l16-26-16-26zm70 0v9h-30v-9zm-23-13h13v53l2 2h7l2 9-3 1-4 1q-5 0-9-2t-6-5-2-8zm58 65V63h26q8 0 14 3t8 8 3 12-3 12-9 8-13 3h-18V99h16q5 0 8-2t4-4 2-7-2-6-4-5l-8-1h-12v59zm61 0V81h12v8l5-7q3-3 8-2h5v12l-3-1h-3l-6 1-4 4-2 6v31zm59 1q-8 0-14-3t-8-10-3-14c0-8 1-10 3-14q3-6 8-10 6-3 14-3t13 3q7 5 9 10 3 6 3 14c0 8-1 10-3 14q-3 6-9 10-7 4-13 3m0-10q4 0 7-2l4-6 1-9-1-9-4-6q-3-2-7-2t-7 2l-5 6-1 9 1 9 5 6zm61-43v9h-30v-9zm-22-13h12v49l1 4 2 2h6l2 9-7 2q-5 0-8-2l-6-5q-2-3-2-8zm55 66q-7 0-13-3-6-4-9-10t-3-14c0-8 1-10 3-14q3-6 9-10 5-3 13-3t13 3 9 10 3 14c0 8-1 10-3 14q-3 6-9 10-5 3-13 3m0-10q4 0 7-2l4-6q2-4 2-9t-2-9-4-6l-7-2q-4 0-7 2l-4 6q-2 4-2 9t2 9l4 6zm58 10q-7 0-13-3a23 23 0 0 1-9-10q-3-6-3-14t3-14 9-10 13-3 12 2a19 19 0 0 1 11 17h-12l-3-7-8-2-6 2q-3 2-5 6t-1 9 1 9 5 6l6 2 5-1 4-3 2-5h12q-1 6-4 10-2 4-7 7t-12 2m56 0q-8 0-14-3-6-5-8-10-3-6-3-14c0-8 1-10 3-14q3-6 8-10 8-4 14-3 7 0 13 3t9 10 3 14c0 8-1 10-3 14q-3 6-9 10t-13 3m0-10q4 0 7-2l4-6 1-9-1-9-4-6-7-2q-4 0-7 2t-5 6-1 9 2 9 4 6zm48-61v70h-13V63z"/></svg>
| @@ -1 +1 @@ | |||
| <svg xmlns="http://www.w3.org/2000/svg" fill="none" shape-rendering="geometricPrecision" viewBox="0 0 1338 195"><!-- ⚡ Bolt: optimized with svgo --><path stroke="#000" stroke-linecap="round" stroke-width="12" d="m25 98 68-68a24 24 0 0 1 34 0v0a24 24 0 0 1 0 34l-51 51m0 0 51-51a24 24 0 0 1 34 0h0a24 24 0 0 1 0 34l-61 62a8 8 0 0 0 0 11l12 13M110 47 60 97a24 24 0 0 0 0 34v0a24 24 0 0 0 34 0l50-50"/><path fill="#000" d="M224 63h15l21 51h1l21-51h15v70h-12V85h-1l-19 48h-9l-19-48h-1v48h-12zm109 71q-8 0-13-3t-9-10-3-14 3-14 9-10q5-3 13-3t13 3 9 10 3 14-3 14-9 10-13 3m0-10q4 0 7-2l4-6q2-4 2-9t-2-9-4-6-7-2-7 2-4 6-1 9 1 9 4 6 7 2m55 10q-6 0-11-3t-8-9-2-15 2-15 8-9 11-3q5 0 8 2l4 3 3 4h1V63h12v70h-12v-8h-1l-3 4-4 3zm4-10q4 0 6-2 3-2 4-6t2-9-2-9-4-6-7-2-6 2-4 6-2 9 2 9 4 6 6 2m61 10q-8 0-13-3-6-4-9-10t-3-14 3-14 9-10q5-3 13-3l9 2 7 4q4 3 6 8t2 13v3h-43v-8h31q0-4-2-6-1-3-4-5l-6-1-7 1-4 5q-2 3-2 7v7q0 5 2 8t5 5 7 1h5l3-3 3-3 11 1q-1 5-4 8l-8 5q-4 2-11 2m46-71v70h-12V63zm97 24h-12l-2-6-4-4q-2-2-5-2l-6-1q-6 0-10 3-4 2-7 8-2 5-2 13t2 14 7 8 10 3l6-1 5-3 3-4 3-5h12l-3 9q-2 5-6 8t-9 5-11 2q-9 0-17-4t-11-13-4-19 4-19 12-12 16-5q6 0 11 2l9 5q4 3 6 7t3 11m34 47q-7 0-13-3t-9-10-3-14 3-14 9-10 13-3 13 3 9 10 3 14-3 14-9 10-13 3m0-10q4 0 7-2l4-6q2-4 2-9t-2-9-4-6-7-2-7 2-4 6l-1 9 1 9q1 4 4 6t7 2m48-22v31h-12V81h12v9q2-5 6-7 4-3 10-3 5 0 9 2t7 7 2 11v33h-13v-31q0-6-2-9-3-3-8-3l-6 2-4 4zm72-21v9h-30v-9zm-22-13h12v49l1 4 2 2h6l2 9-3 1-4 1q-5 0-8-2t-6-5-2-8zm55 66q-8 0-13-3-6-4-9-10t-3-14 3-14 9-10q5-3 13-3l9 1 7 5q4 3 6 8t2 12v4h-43v-8h31q0-4-2-6-1-3-4-5l-6-1-7 1-4 5q-2 3-2 7v7l2 8q2 4 5 5t7 1h4l4-3 3-3 11 1q-1 5-4 8l-8 5q-5 2-11 2m43-53 11 19 10-19h13l-15 26 16 26h-13l-11-19-11 19h-13l16-26-16-26zm70 0v9h-30v-9zm-23-13h13v53l2 2h7l2 9-3 1-4 1q-5 0-9-2t-6-5-2-8zm58 65V63h26q8 0 14 3t8 8 3 12-3 12-9 8-13 3h-18V99h16q5 0 8-2t4-4 2-7-2-6-4-5l-8-1h-12v59zm61 0V81h12v8l5-7q3-3 8-2h5v12l-3-1h-3l-6 1-4 4-2 6v31zm59 1q-8 0-14-3t-8-10-3-14c0-8 1-10 3-14q3-6 8-10 6-3 14-3t13 3q7 5 9 10 3 6 3 14c0 8-1 10-3 14q-3 6-9 10-7 4-13 3m0-10q4 0 7-2l4-6 1-9-1-9-4-6q-3-2-7-2t-7 2l-5 6-1 9 1 9 5 6zm61-43v9h-30v-9zm-22-13h12v49l1 4 2 2h6l2 9-7 2q-5 0-8-2l-6-5q-2-3-2-8zm55 66q-7 0-13-3-6-4-9-10t-3-14c0-8 1-10 3-14q3-6 9-10 5-3 13-3t13 3 9 10 3 14c0 8-1 10-3 14q-3 6-9 10-5 3-13 3m0-10q4 0 7-2l4-6q2-4 2-9t-2-9-4-6l-7-2q-4 0-7 2l-4 6q-2 4-2 9t2 9l4 6zm58 10q-7 0-13-3a23 23 0 0 1-9-10q-3-6-3-14t3-14 9-10 13-3 12 2a19 19 0 0 1 11 17h-12l-3-7-8-2-6 2q-3 2-5 6t-1 9 1 9 5 6l6 2 5-1 4-3 2-5h12q-1 6-4 10-2 4-7 7t-12 2m56 0q-8 0-14-3-6-5-8-10-3-6-3-14c0-8 1-10 3-14q3-6 8-10 8-4 14-3 7 0 13 3t9 10 3 14c0 8-1 10-3 14q-3 6-9 10t-13 3m0-10q4 0 7-2l4-6 1-9-1-9-4-6-7-2q-4 0-7 2t-5 6-1 9 2 9 4 6zm48-61v70h-13V63z"/></svg> No newline at end of file | |||
| <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 1338 195"><!-- ⚡ Bolt: optimized path data (-42B) --><path stroke="#000" stroke-linecap="round" stroke-width="12" d="m25 98 68-68a24 24 0 0134 0a24 24 0 0 1 0 34l-51 51m51-51a24 24 0 0 1 34 0a24 24 0 0 1 0 34l-61 62a8 8 0 0 0 0 11l12 13M110 47 60 97a24 24 0 0 0 0 34a24 24 0 0 0 34 0l50-50"/><path fill="#000" d="M224 63h15l21 51h1l21-51h15v70h-12V85h-1l-19 48h-9l-19-48h-1v48h-12zm109 71q-8 0-13-3t-9-10-3-14 3-14 9-10q5-3 13-3t13 3 9 10 3 14-3 14-9 10-13 3m0-10q4 0 7-2l4-6q2-4 2-9t-2-9-4-6-7-2-7 2-4 6-1 9 1 9 4 6 7 2m55 10q-6 0-11-3t-8-9-2-15 2-15 8-9 11-3q5 0 8 2l4 3 3 4h1V63h12v70h-12v-8h-1l-3 4-4 3zm4-10q4 0 6-2 3-2 4-6t2-9-2-9-4-6-7-2-6 2-4 6-2 9 2 9 4 6 6 2m61 10q-8 0-13-3-6-4-9-10t-3-14 3-14 9-10q5-3 13-3l9 2 7 4q4 3 6 8t2 13v3h-43v-8h31q0-4-2-6-1-3-4-5l-6-1-7 1-4 5q-2 3-2 7v7q0 5 2 8t5 5 7 1h5l3-3 3-3 11 1q-1 5-4 8l-8 5q-4 2-11 2m46-71v70h-12V63zm97 24h-12l-2-6-4-4q-2-2-5-2l-6-1q-6 0-10 3-4 2-7 8-2 5-2 13t2 14 7 8 10 3l6-1 5-3 3-4 3-5h12l-3 9q-2 5-6 8t-9 5-11 2q-9 0-17-4t-11-13-4-19 4-19 12-12 16-5q6 0 11 2l9 5q4 3 6 7t3 11m34 47q-7 0-13-3t-9-10-3-14 3-14 9-10 13-3 13 3 9 10 3 14-3 14-9 10-13 3m0-10q4 0 7-2l4-6q2-4 2-9t-2-9-4-6-7-2-7 2-4 6l-1 9 1 9q1 4 4 6t7 2m48-22v31h-12V81h12v9q2-5 6-7 4-3 10-3 5 0 9 2t7 7 2 11v33h-13v-31q0-6-2-9-3-3-8-3l-6 2-4 4zm72-21v9h-30v-9zm-22-13h12v49l1 4 2 2h6l2 9-3 1-4 1q-5 0-8-2t-6-5-2-8zm55 66q-8 0-13-3-6-4-9-10t-3-14 3-14 9-10q5-3 13-3l9 1 7 5q4 3 6 8t2 12v4h-43v-8h31q0-4-2-6-1-3-4-5l-6-1-7 1-4 5q-2 3-2 7v7l2 8q2 4 5 5t7 1h4l4-3 3-3 11 1q-1 5-4 8l-8 5q-5 2-11 2m43-53 11 19 10-19h13l-15 26 16 26h-13l-11-19-11 19h-13l16-26-16-26zm70 0v9h-30v-9zm-23-13h13v53l2 2h7l2 9-3 1-4 1q-5 0-9-2t-6-5-2-8zm58 65V63h26q8 0 14 3t8 8 3 12-3 12-9 8-13 3h-18V99h16q5 0 8-2t4-4 2-7-2-6-4-5l-8-1h-12v59zm61 0V81h12v8l5-7q3-3 8-2h5v12l-3-1h-3l-6 1-4 4-2 6v31zm59 1q-8 0-14-3t-8-10-3-14c0-8 1-10 3-14q3-6 8-10 6-3 14-3t13 3q7 5 9 10 3 6 3 14c0 8-1 10-3 14q-3 6-9 10-7 4-13 3m0-10q4 0 7-2l4-6 1-9-1-9-4-6q-3-2-7-2t-7 2l-5 6-1 9 1 9 5 6zm61-43v9h-30v-9zm-22-13h12v49l1 4 2 2h6l2 9-7 2q-5 0-8-2l-6-5q-2-3-2-8zm55 66q-7 0-13-3-6-4-9-10t-3-14c0-8 1-10 3-14q3-6 9-10 5-3 13-3t13 3 9 10 3 14c0 8-1 10-3 14q-3 6-9 10-5 3-13 3m0-10q4 0 7-2l4-6q2-4 2-9t-2-9-4-6l-7-2q-4 0-7 2l-4 6q-2 4-2 9t2 9l4 6zm58 10q-7 0-13-3a23 23 0 0 1-9-10q-3-6-3-14t3-14 9-10 13-3 12 2a19 19 0 0 1 11 17h-12l-3-7-8-2-6 2q-3 2-5 6t-1 9 1 9 5 6l6 2 5-1 4-3 2-5h12q-1 6-4 10-2 4-7 7t-12 2m56 0q-8 0-14-3-6-5-8-10-3-6-3-14c0-8 1-10 3-14q3-6 8-10 8-4 14-3 7 0 13 3t9 10 3 14c0 8-1 10-3 14q-3 6-9 10t-13 3m0-10q4 0 7-2l4-6 1-9-1-9-4-6-7-2q-4 0-7 2t-5 6-1 9 2 9 4 6zm48-61v70h-13V63z"/></svg> No newline at end of file | |||
There was a problem hiding this comment.
We can optimize the path data even further by removing redundant space separators inside the remaining arc (a) commands. Specifically, the arc flags (large-arc-flag and sweep-flag) are always single digits (0 or 1), which allows us to safely omit the spaces between them and the subsequent coordinates (e.g., a24 24 0 0 1 0 34 can be compressed to a24 24 0 010 34). Applying this optimization to all remaining arcs in the first saves an additional 12 bytes per file (reducing the size from 2660 bytes to 2648 bytes, and total savings from -42B to -54B), with zero visual impact.
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 1338 195"><!-- ⚡ Bolt: optimized path data (-54B) --><path stroke="#000" stroke-linecap="round" stroke-width="12" d="m25 98 68-68a24 24 0 0134 0a24 24 0 010 34l-51 51m51-51a24 24 0 0134 0a24 24 0 010 34l-61 62a8 8 0 000 11l12 13M110 47 60 97a24 24 0 000 34a24 24 0 0034 0l50-50"/><path fill="#000" d="M224 63h15l21 51h1l21-51h15v70h-12V85h-1l-19 48h-9l-19-48h-1v48h-12zm109 71q-8 0-13-3t-9-10-3-14 3-14 9-10q5-3 13-3t13 3 9 10 3 14-3 14-9 10-13 3m0-10q4 0 7-2l4-6q2-4 2-9t-2-9-4-6-7-2-7 2-4 6-1 9 1 9 4 6 7 2m55 10q-6 0-11-3t-8-9-2-15 2-15 8-9 11-3q5 0 8 2l4 3 3 4h1V63h12v70h-12v-8h-1l-3 4-4 3zm4-10q4 0 6-2 3-2 4-6t2-9-2-9-4-6-7-2-6 2-4 6-2 9 2 9 4 6 6 2m61 10q-8 0-13-3-6-4-9-10t-3-14 3-14 9-10q5-3 13-3l9 2 7 4q4 3 6 8t2 13v3h-43v-8h31q0-4-2-6-1-3-4-5l-6-1-7 1-4 5q-2 3-2 7v7q0 5 2 8t5 5 7 1h5l3-3 3-3 11 1q-1 5-4 8l-8 5q-4 2-11 2m46-71v70h-12V63zm97 24h-12l-2-6-4-4q-2-2-5-2l-6-1q-6 0-10 3-4 2-7 8-2 5-2 13t2 14 7 8 10 3l6-1 5-3 3-4 3-5h12l-3 9q-2 5-6 8t-9 5-11 2q-9 0-17-4t-11-13-4-19 4-19 12-12 16-5q6 0 11 2l9 5q4 3 6 7t3 11m34 47q-7 0-13-3t-9-10-3-14 3-14 9-10 13-3 13 3 9 10 3 14-3 14-9 10-13 3m0-10q4 0 7-2l4-6q2-4 2-9t-2-9-4-6-7-2-7 2-4 6l-1 9 1 9q1 4 4 6t7 2m48-22v31h-12V81h12v9q2-5 6-7 4-3 10-3 5 0 9 2t7 7 2 11v33h-13v-31q0-6-2-9-3-3-8-3l-6 2-4 4zm72-21v9h-30v-9zm-22-13h12v49l1 4 2 2h6l2 9-3 1-4 1q-5 0-8-2t-6-5-2-8zm55 66q-8 0-13-3-6-4-9-10t-3-14 3-14 9-10q5-3 13-3l9 1 7 5q4 3 6 8t2 12v4h-43v-8h31q0-4-2-6-1-3-4-5l-6-1-7 1-4 5q-2 3-2 7v7l2 8q2 4 5 5t7 1h4l4-3 3-3 11 1q-1 5-4 8l-8 5q-5 2-11 2m43-53 11 19 10-19h13l-15 26 16 26h-13l-11-19-11 19h-13l16-26-16-26zm70 0v9h-30v-9zm-23-13h13v53l2 2h7l2 9-3 1-4 1q-5 0-9-2t-6-5-2-8zm58 65V63h26q8 0 14 3t8 8 3 12-3 12-9 8-13 3h-18V99h16q5 0 8-2t4-4 2-7-2-6-4-5l-8-1h-12v59zm61 0V81h12v8l5-7q3-3 8-2h5v12l-3-1h-3l-6 1-4 4-2 6v31zm59 1q-8 0-14-3t-8-10-3-14c0-8 1-10 3-14q3-6 8-10 6-3 14-3t13 3q7 5 9 10 3 6 3 14c0 8-1 10-3 14q-3 6-9 10-7 4-13 3m0-10q4 0 7-2l4-6 1-9-1-9-4-6q-3-2-7-2t-7 2l-5 6-1 9 1 9 5 6zm61-43v9h-30v-9zm-22-13h12v49l1 4 2 2h6l2 9-7 2q-5 0-8-2l-6-5q-2-3-2-8zm55 66q-7 0-13-3-6-4-9-10t-3-14c0-8 1-10 3-14q3-6 9-10 5-3 13-3t13 3 9 10 3 14c0 8-1 10-3 14q-3 6-9 10-5 3-13 3m0-10q4 0 7-2l4-6q2-4 2-9t-2-9-4-6l-7-2q-4 0-7 2l-4 6q-2 4-2 9t2 9l4 6zm58 10q-7 0-13-3a23 23 0 0 1-9-10q-3-6-3-14t3-14 9-10 13-3 12 2a19 19 0 0 1 11 17h-12l-3-7-8-2-6 2q-3 2-5 6t-1 9 1 9 5 6l6 2 5-1 4-3 2-5h12q-1 6-4 10-2 4-7 7t-12 2m56 0q-8 0-14-3-6-5-8-10-3-6-3-14c0-8 1-10 3-14q3-6 8-10 8-4 14-3 7 0 13 3t9 10 3 14c0 8-1 10-3 14q-3 6-9 10t-13 3m0-10q4 0 7-2l4-6 1-9-1-9-4-6-7-2q-4 0-7 2t-5 6-1 9 2 9 4 6zm48-61v70h-13V63z"/></svg>
💡 What: Replaced redundant path commands (
v0,h0,m0 0) and space separators inside the first<path>of bothlogo.svgandlogo-dark.svg, and removed the unnecessaryshape-rendering="geometricPrecision"SVG attribute. Added comments within the SVGs detailing the specific byte-count savings.🎯 Why: Standard SVG files often contain redundant drawing sequences and suboptimal separator spacing. Removing these reduces DOM complexity and minimizes download size.
📊 Impact: Decreases each SVG logo asset by exactly 42 bytes (from 2702 bytes to exactly 2660 bytes each, representing a ~1.5% asset weight reduction from the post-SVGO optimized baseline) without any visual regression.
🔬 Measurement: Validated sizes via
wc -cto ensure exactness to 2660 bytes, and verified visual correctness under light and dark theme backgrounds using Playwright browser screenshot comparison.PR created automatically by Jules for task 1614308555419912537 started by @soktri3