Skip to content

add socratic ai icons#486

Open
RealTejasRao wants to merge 1 commit into
glincker:mainfrom
RealTejasRao:main
Open

add socratic ai icons#486
RealTejasRao wants to merge 1 commit into
glincker:mainfrom
RealTejasRao:main

Conversation

@RealTejasRao
Copy link
Copy Markdown

@RealTejasRao RealTejasRao commented Jun 2, 2026

Description

Added SVG icons for Socratic AI

Type

  • New icon(s)
  • Icon update/fix
  • Bug fix
  • New feature
  • Documentation
  • Maintenance/chore

Checklist

  • My changes follow the project's conventions
  • I've tested the build: cd packages/icons && npm run build
  • Security audit passes: npm run audit
  • Dist validation passes: npm run validate

For icon submissions:

  • SVG has a valid viewBox attribute
  • SVG is under 50KB
  • No embedded <script> tags or event handlers
  • Icon accurately represents the official brand
  • icons.json entry is complete (slug, title, hex, categories, variants)

Related Issues

N/A

Copilot AI review requested due to automatic review settings June 2, 2026 22:20
@github-actions github-actions Bot added the icons Icon data, SVGs, or variants label Jun 2, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 socratic icon record to the icon registry (icons.json) with variant paths and metadata.
  • Added default.svg, light.svg, and dark.svg assets under public/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.svg contain many near-white fills (e.g., #FEFEFE), while dark.svg uses fill="#000000". If consumers interpret light as “for light mode/light background” and dark as “for dark mode/dark background”, this will produce low-contrast rendering. Consider swapping the light/dark assets (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-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Jun 2, 2026

Greptile Summary

This PR adds three SVG icon variants (default, light, dark) for Socratic AI along with a corresponding icons.json entry. All three files appear to have been produced by raster-to-vector tracing tools rather than being cleaned-up vector originals, leaving behind significant quality issues that need to be resolved before merging.

  • dark.svg uses the deprecated SVG 1.0 format with a DOCTYPE declaration, pt units, and extra decimal places, making it inconsistent with the other two variants.
  • default.svg and light.svg are byte-for-byte identical and each contain ~260 empty <path d=\"\"> elements — tracing artifacts that add no visual content but significantly bloat the files.
  • The icons.json entry has a near-white hex value (fefefe), is inserted at position 0 rather than in alphabetical order, and carries a future dateAdded.

Confidence Score: 3/5

Not 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: dark.svg requires reformatting to SVG 1.1 with pixel units, and default.svg / light.svg require removal of empty paths and differentiation from each other.

Important Files Changed

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]
Loading

Reviews (1): Last reviewed commit: "add socratic ai icons" | Re-trigger Greptile

Comment on lines +1 to +6
<?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">
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 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!

Comment on lines +16 to +302
<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>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 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.

Comment thread src/data/icons.json
"slug": "socratic",
"title": "Socratic AI",
"aliases": [],
"hex": "fefefe",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 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!

Comment thread src/data/icons.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

icons Icon data, SVGs, or variants

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants