add socratic ai icons#486
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds a new “Socratic AI” brand icon entry and corresponding SVG assets for default/light/dark variants.
Changes:
- Added a new
socraticicon record to the icon registry (icons.json) with variant paths and metadata. - Added
default.svg,light.svg, anddark.svgassets underpublic/icons/socratic/.
Reviewed changes
Copilot reviewed 1 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/data/icons.json | Registers the new socratic icon and points to its SVG variants. |
| public/icons/socratic/light.svg | Adds the light variant SVG asset (currently very large/unoptimized). |
| public/icons/socratic/default.svg | Adds the default variant SVG asset (matches light variant content). |
| public/icons/socratic/dark.svg | Adds the dark variant SVG asset (different format/header than other variants). |
Comments suppressed due to low confidence (2)
src/data/icons.json:1
- This file appears to be ordered by
slug(the next entry is"01dotai"). Inserting"socratic"at the top breaks that ordering, making future merges and lookup harder; please place the new entry in the correct sorted position (or follow the project’s established ordering rule for this list).
src/data/icons.json:1 - The variant naming looks inverted based on the actual fills:
light.svg/default.svgcontain many near-white fills (e.g.,#FEFEFE), whiledark.svgusesfill="#000000". If consumers interpretlightas “for light mode/light background” anddarkas “for dark mode/dark background”, this will produce low-contrast rendering. Consider swapping thelight/darkassets (or recoloring them) so each variant has appropriate contrast for its intended background.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Greptile SummaryThis PR adds three SVG icon variants (default, light, dark) for Socratic AI along with a corresponding
Confidence Score: 3/5Not ready to merge — the SVG files have structural quality issues that will result in a malformed dark icon and duplicate default/light variants. The dark icon was produced by a different tool than the other two and carries a deprecated SVG 1.0 format with pt units, which can cause sizing inconsistencies in rendering pipelines. The default and light SVGs are identical to each other and contain hundreds of empty path elements left over from bitmap tracing — users will receive no differentiation between those two variants. The brand hex color of near-white is atypical and unverified. All three SVG files need attention:
|
| Filename | Overview |
|---|---|
| public/icons/socratic/dark.svg | SVG 1.0 format with deprecated DOCTYPE, pt units, and extra decimal places — inconsistent with the other two variants which use SVG 1.1 and unitless dimensions; appears generated by a different tool (potrace). |
| public/icons/socratic/default.svg | Contains ~260 empty <path d=""> elements (bitmap-tracing artifacts) that render nothing but bloat the file; the visual content is limited to 5 actual paths. Byte-for-byte identical to light.svg. |
| public/icons/socratic/light.svg | Identical content to default.svg — same empty-path bloat and same fill color (#FEFEFE), making light and default variants indistinguishable. |
| src/data/icons.json | New socratic entry has correct schema structure, but uses a near-white hex value (fefefe), is inserted at position 0 rather than alphabetical order, and has a future dateAdded. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[icons.json entry: socratic] --> B[default variant]
A --> C[light variant]
A --> D[dark variant]
B --> E[default.svg
SVG 1.1 ✓
~260 empty paths ✗
fill=#FEFEFE]
C --> F[light.svg
SVG 1.1 ✓
~260 empty paths ✗
Identical to default ✗
fill=#FEFEFE]
D --> G[dark.svg
SVG 1.0 / DOCTYPE ✗
pt units ✗
fill=#000000]
Reviews (1): Last reviewed commit: "add socratic ai icons" | Re-trigger Greptile
| <?xml version="1.0" standalone="no"?> | ||
| <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" | ||
| "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> | ||
| <svg version="1.0" xmlns="http://www.w3.org/2000/svg" | ||
| width="1024.000000pt" height="1024.000000pt" viewBox="0 0 1024.000000 1024.000000" | ||
| preserveAspectRatio="xMidYMid meet"> |
There was a problem hiding this comment.
Outdated SVG 1.0 format with
pt units
dark.svg uses a deprecated SVG 1.0 DOCTYPE declaration and pt (point) units for width and height, while default.svg and light.svg both use SVG 1.1 with unitless pixel dimensions. The pt unit can cause inconsistent sizing across rendering contexts, and the external DTD reference (http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd) may trigger an unnecessary network fetch in some parsers. The viewBox values also include unnecessary decimal places (1024.000000 vs 1024). This file appears to have been generated by a different tool (likely potrace) compared to the other two variants.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
| <path d="" fill="#F4F6F5" transform="translate(0,0)"/> | ||
| <path d="M0 0 C3 1 3 1 3 1 Z " fill="#F9F9F9" transform="translate(692,679)"/> | ||
| <path d="M0 0 C0.66 0.66 1.32 1.32 2 2 C1.34 2 0.68 2 0 2 C0 1.34 0 0.68 0 0 Z " fill="#FFFFFE" transform="translate(549,678)"/> | ||
| <path d="M0 0 C3 1 3 1 3 1 Z " fill="#FDFCFC" transform="translate(416,679)"/> | ||
| <path d="M0 0 C3 1 3 1 3 1 Z " fill="#FAFAFA" transform="translate(220,679)"/> | ||
| <path d="" fill="#F4F5F6" transform="translate(0,0)"/> | ||
| <path d="" fill="#F5F5F6" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFEFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#F6F8F8" transform="translate(0,0)"/> | ||
| <path d="" fill="#F7F7F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#F6F7F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#F7F8F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#F7F9F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#F7F7F8" transform="translate(0,0)"/> | ||
| <path d="" fill="#F6F7F8" transform="translate(0,0)"/> | ||
| <path d="M0 0 C3 1 3 1 3 1 Z " fill="#FBFCFA" transform="translate(772,415)"/> | ||
| <path d="M0 0 C3 1 3 1 3 1 Z " fill="#FBFCFC" transform="translate(260,415)"/> | ||
| <path d="" fill="#F6F7F7" transform="translate(0,0)"/> | ||
| <path d="" fill="#F5F7F8" transform="translate(0,0)"/> | ||
| <path d="" fill="#F6F7F6" transform="translate(0,0)"/> | ||
| <path d="" fill="#F5F5F6" transform="translate(0,0)"/> | ||
| <path d="" fill="#F3F5F4" transform="translate(0,0)"/> | ||
| <path d="" fill="#E7E7E8" transform="translate(0,0)"/> | ||
| <path d="" fill="#DEDEDF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#F3F4F5" transform="translate(0,0)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FEFEFE" transform="translate(549,775)"/> | ||
| <path d="" fill="#F3F4F4" transform="translate(0,0)"/> | ||
| <path d="" fill="#F4F5F6" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFF" transform="translate(0,0)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#F8FBFA" transform="translate(836,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FAFAF9" transform="translate(820,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#F9FAF9" transform="translate(816,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FAFAF9" transform="translate(740,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FBFAFA" transform="translate(728,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FAFAFA" transform="translate(680,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#F9FAF9" transform="translate(664,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#F9F9F9" transform="translate(656,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FAFAF9" transform="translate(653,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FAF9F9" transform="translate(400,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FBFBF9" transform="translate(341,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FAFAF9" transform="translate(284,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FBFAFA" transform="translate(276,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FAF9FB" transform="translate(264,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FBFAF9" transform="translate(252,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#F9F9F9" transform="translate(240,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FAFBFA" transform="translate(208,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FAF9F9" transform="translate(197,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#F8F9F8" transform="translate(176,679)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#F8F7F8" transform="translate(168,679)"/> | ||
| <path d="" fill="#F2F4F4" transform="translate(0,0)"/> | ||
| <path d="" fill="#F4F5F7" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFEFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFEFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFEFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#F7F8F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFE" transform="translate(0,0)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FCFCFB" transform="translate(755,415)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FCFCFB" transform="translate(747,415)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FDFBFA" transform="translate(744,415)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FCFCFB" transform="translate(288,415)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FCFBFB" transform="translate(284,415)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FDFCFC" transform="translate(279,415)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FDFBFB" transform="translate(276,415)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FDFBFB" transform="translate(272,415)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FCFBFB" transform="translate(268,415)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FDFCFC" transform="translate(255,415)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FBFBFC" transform="translate(252,415)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FCFBFB" transform="translate(248,415)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FCFCFC" transform="translate(244,415)"/> | ||
| <path d="" fill="#FDFDFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#F6F6F8" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFE" transform="translate(0,0)"/> | ||
| <path d="M0 0 C2 1 2 1 2 1 Z " fill="#FEFDFE" transform="translate(205,336)"/> | ||
| <path d="" fill="#FDFEFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#F3F4F4" transform="translate(0,0)"/> | ||
| <path d="" fill="#F3F4F5" transform="translate(0,0)"/> | ||
| <path d="" fill="#ECEDED" transform="translate(0,0)"/> | ||
| <path d="" fill="#545454" transform="translate(0,0)"/> | ||
| <path d="" fill="#F1F0F3" transform="translate(0,0)"/> | ||
| <path d="" fill="#E0E1E1" transform="translate(0,0)"/> | ||
| <path d="" fill="#F3F5F3" transform="translate(0,0)"/> | ||
| <path d="" fill="#E5E4E5" transform="translate(0,0)"/> | ||
| <path d="" fill="#E7E7E6" transform="translate(0,0)"/> | ||
| <path d="" fill="#EAE9EA" transform="translate(0,0)"/> | ||
| <path d="" fill="#FCFDFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#F0F2F3" transform="translate(0,0)"/> | ||
| <path d="" fill="#F2F2F3" transform="translate(0,0)"/> | ||
| <path d="" fill="#FBFDFC" transform="translate(0,0)"/> | ||
| <path d="" fill="#F3F4F4" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FCFFFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#F5F5F5" transform="translate(0,0)"/> | ||
| <path d="" fill="#F3F4F5" transform="translate(0,0)"/> | ||
| <path d="" fill="#F2F2F2" transform="translate(0,0)"/> | ||
| <path d="" fill="#FCFEFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FCFFFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#FBFFFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFEFC" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFEFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFFFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFEFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFEFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFFFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#F3F4F4" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFDFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FAF9F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FAF9FA" transform="translate(0,0)"/> | ||
| <path d="" fill="#FAF9F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FBFBFC" transform="translate(0,0)"/> | ||
| <path d="" fill="#F9FAFA" transform="translate(0,0)"/> | ||
| <path d="" fill="#FAF9FA" transform="translate(0,0)"/> | ||
| <path d="" fill="#F8FAF9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FAF9F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FAFAFB" transform="translate(0,0)"/> | ||
| <path d="" fill="#FCFBFA" transform="translate(0,0)"/> | ||
| <path d="" fill="#F9FAF9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FBF9FA" transform="translate(0,0)"/> | ||
| <path d="" fill="#FBFAF8" transform="translate(0,0)"/> | ||
| <path d="" fill="#F9F8F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FBFAFA" transform="translate(0,0)"/> | ||
| <path d="" fill="#FCF9F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FAFCFA" transform="translate(0,0)"/> | ||
| <path d="" fill="#FAF9FA" transform="translate(0,0)"/> | ||
| <path d="" fill="#F9FAFB" transform="translate(0,0)"/> | ||
| <path d="" fill="#FAFBF9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FBFAF9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FBFAF9" transform="translate(0,0)"/> | ||
| <path d="" fill="#F9F9F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#F9FAF9" transform="translate(0,0)"/> | ||
| <path d="" fill="#F9FAFA" transform="translate(0,0)"/> | ||
| <path d="" fill="#FBFBF9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FAFAFB" transform="translate(0,0)"/> | ||
| <path d="" fill="#FAFAF9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FBF9F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FAF9FB" transform="translate(0,0)"/> | ||
| <path d="" fill="#F9F9F8" transform="translate(0,0)"/> | ||
| <path d="" fill="#F9F8FA" transform="translate(0,0)"/> | ||
| <path d="" fill="#FBFAFB" transform="translate(0,0)"/> | ||
| <path d="" fill="#F9F9F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#F9F8F8" transform="translate(0,0)"/> | ||
| <path d="" fill="#F6F5F5" transform="translate(0,0)"/> | ||
| <path d="" fill="#F3F6F6" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFEFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#F6F7F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#F6F6F8" transform="translate(0,0)"/> | ||
| <path d="" fill="#F6F7F8" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFEFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#F7F8F8" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFEFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#F4F7F8" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFC" transform="translate(0,0)"/> | ||
| <path d="" fill="#F8F8F7" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFFFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#F6F7F8" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFEFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFDFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFDFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFEFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#F6F9F8" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFCFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFEFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFFFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FCFCFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#F7F8F8" transform="translate(0,0)"/> | ||
| <path d="" fill="#FCFEFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#F8F8F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#F8F8FA" transform="translate(0,0)"/> | ||
| <path d="" fill="#F7FAF9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFDFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#F7F9F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#F7F9F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFFFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FCFCFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#F7FAFA" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFEFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#F7F9F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#F8F9F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#F8F9F8" transform="translate(0,0)"/> | ||
| <path d="" fill="#F7F8F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#F8F9F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFDFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFEFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFFFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#F8F7F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFDFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFEFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFDFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFDFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#F8F9F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFEFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#F6F8F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#F8F9F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFFFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFCFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#F6F8F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#F6F8F8" transform="translate(0,0)"/> | ||
| <path d="" fill="#FBFDFB" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFDFB" transform="translate(0,0)"/> | ||
| <path d="" fill="#FBFBFB" transform="translate(0,0)"/> | ||
| <path d="" fill="#FCFBFB" transform="translate(0,0)"/> | ||
| <path d="" fill="#FBFCFB" transform="translate(0,0)"/> | ||
| <path d="" fill="#FCFDFB" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFAFA" transform="translate(0,0)"/> | ||
| <path d="" fill="#FCFCFB" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFDFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFDFB" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFDFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFDFB" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#F5F7F8" transform="translate(0,0)"/> | ||
| <path d="" fill="#F5F7F9" transform="translate(0,0)"/> | ||
| <path d="" fill="#F7F8F7" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFEFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#F5F7F8" transform="translate(0,0)"/> | ||
| <path d="" fill="#F7F6F8" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFEFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#F6F8F7" transform="translate(0,0)"/> | ||
| <path d="" fill="#F6F7F7" transform="translate(0,0)"/> | ||
| <path d="" fill="#FCFCFB" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#F6F8F7" transform="translate(0,0)"/> | ||
| <path d="" fill="#F5F8F6" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFDFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFDFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFEFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFFFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#FFFFFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FCFEFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFDFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFEFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FEFFFF" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFEFD" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFEFB" transform="translate(0,0)"/> | ||
| <path d="" fill="#FDFCFE" transform="translate(0,0)"/> | ||
| <path d="" fill="#F3F5F4" transform="translate(0,0)"/> | ||
| <path d="" fill="#F4F5F5" transform="translate(0,0)"/> | ||
| <path d="" fill="#F4F6F7" transform="translate(0,0)"/> | ||
| <path d="" fill="#F4F6F5" transform="translate(0,0)"/> | ||
| <path d="" fill="#F3F5F4" transform="translate(0,0)"/> | ||
| <path d="" fill="#F5F5F6" transform="translate(0,0)"/> | ||
| <path d="" fill="#F1F3F3" transform="translate(0,0)"/> | ||
| <path d="" fill="#F0F0F0" transform="translate(0,0)"/> | ||
| <path d="" fill="#ECECED" transform="translate(0,0)"/> | ||
| <path d="" fill="#E9EBEA" transform="translate(0,0)"/> | ||
| <path d="" fill="#DEDFDE" transform="translate(0,0)"/> | ||
| <path d="" fill="#DBDBDA" transform="translate(0,0)"/> | ||
| <path d="" fill="#F2F4F2" transform="translate(0,0)"/> | ||
| <path d="" fill="#F1F2F1" transform="translate(0,0)"/> | ||
| <path d="" fill="#F2F4F4" transform="translate(0,0)"/> | ||
| <path d="" fill="#F3F4F3" transform="translate(0,0)"/> | ||
| <path d="" fill="#F3F4F3" transform="translate(0,0)"/> | ||
| <path d="" fill="#F3F5F3" transform="translate(0,0)"/> | ||
| <path d="" fill="#F2F3F3" transform="translate(0,0)"/> | ||
| <path d="" fill="#F1F1F1" transform="translate(0,0)"/> | ||
| <path d="" fill="#F2F4F1" transform="translate(0,0)"/> | ||
| <path d="" fill="#F3F3F2" transform="translate(0,0)"/> | ||
| <path d="" fill="#F2F4F2" transform="translate(0,0)"/> | ||
| <path d="" fill="#F1F2F1" transform="translate(0,0)"/> | ||
| <path d="" fill="#F3F2F2" transform="translate(0,0)"/> | ||
| <path d="" fill="#F3F4F4" transform="translate(0,0)"/> | ||
| <path d="" fill="#F1F0F0" transform="translate(0,0)"/> | ||
| <path d="" fill="#F0F3F3" transform="translate(0,0)"/> | ||
| </svg> |
There was a problem hiding this comment.
Hundreds of empty
<path> elements bloating the SVG
Lines 16–302 in both default.svg and light.svg contain ~260 empty path elements of the form <path d="" fill="..." transform="translate(0,0)"/>. Empty d attributes produce no visual output — these are vestigial artifacts from a bitmap-to-SVG conversion tool (the near-duplicate per-pixel fill colors confirm this was auto-traced from a raster image). They bloat the file, slow parse times, and make the SVG unmaintainable. These should be removed before merging. The light.svg file is byte-for-byte identical to default.svg, making the light variant indistinguishable from the default.
| "slug": "socratic", | ||
| "title": "Socratic AI", | ||
| "aliases": [], | ||
| "hex": "fefefe", |
There was a problem hiding this comment.
Brand
hex value is near-white (fefefe)
The hex field is set to fefefe, which is effectively white. This is an unusual brand color and may indicate the default icon color was used as the hex value instead of the actual Socratic AI brand color. Other entries in the file use meaningful brand colors (e.g., 003425 for 01.AI). If fefefe is correct per the official brand guidelines, a brief note in the PR description would help confirm it's intentional.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Description
Added SVG icons for Socratic AI
Type
Checklist
cd packages/icons && npm run buildnpm run auditnpm run validateFor icon submissions:
viewBoxattribute<script>tags or event handlersicons.jsonentry is complete (slug, title, hex, categories, variants)Related Issues
N/A