Goal
Replace the upstream vscode-icons multi-color real-brand-logo sprite (~1075 entries in packages/ui/src/components/file-icons/sprite.svg) with ~20–30 generic line-icons grouped by file category, so that file-type icons share the chrome icon DNA (line geometry, single currentColor, 1.5px @ 16 stroke equivalent) instead of staying a visually disjoint multi-color set.
Scope
In scope:
- Define the category set (Code / Markup / Image / Document / Archive / Config / Script / Lock / Data / Binary / Font, ~10–12 buckets).
- Draw ~20–30 line glyphs covering the buckets and the few exceptions that warrant a dedicated glyph (e.g. SVG, PDF, ZIP).
- Replace the existing sprite consumption sites with the new category resolver (filename / extension → category → glyph).
- Update
packages/ui/src/components/icon.tsx and any file-icon callsites to use the chrome icon registry path.
Out of scope:
- Redrawing 1075 logos one-for-one.
- App icons under
packages/ui/src/assets/icons/app/ (vendor-accurate brand logos, sanctioned exception to the one-icon-DNA rule per DESIGN.md → Iconography → App icons).
- Multi-color treatments for any file type.
Relevant files or context
packages/ui/src/components/file-icons/sprite.svg (current ~1075-entry upstream sprite)
packages/ui/src/components/icon.tsx (chrome icon registry)
- DESIGN.md → Iconography → File-type icons (drives the redesign rule)
- DESIGN.md → Do's and Don'ts (one icon DNA across the app)
Verification
- Visual sweep: all file-type icons in the right panel review tab, attachment chips, and any markdown file references render with the same stroke / color / weight as chrome icons.
- Category resolver covers the long tail without falling back to a generic
file glyph for common types (.ts, .tsx, .py, .go, .rs, .md, .json, .svg, .png, .pdf, .zip, .lock, etc.).
- Build size: the new sprite is meaningfully smaller than the 1075-entry upstream one.
- No callsite still imports the upstream multi-color sprite.
Execution mode
Agent should investigate and propose a plan first
Goal
Replace the upstream vscode-icons multi-color real-brand-logo sprite (~1075 entries in
packages/ui/src/components/file-icons/sprite.svg) with ~20–30 generic line-icons grouped by file category, so that file-type icons share the chrome icon DNA (line geometry, singlecurrentColor, 1.5px @ 16 stroke equivalent) instead of staying a visually disjoint multi-color set.Scope
In scope:
packages/ui/src/components/icon.tsxand any file-icon callsites to use the chrome icon registry path.Out of scope:
packages/ui/src/assets/icons/app/(vendor-accurate brand logos, sanctioned exception to the one-icon-DNA rule per DESIGN.md → Iconography → App icons).Relevant files or context
packages/ui/src/components/file-icons/sprite.svg(current ~1075-entry upstream sprite)packages/ui/src/components/icon.tsx(chrome icon registry)Verification
fileglyph for common types (.ts,.tsx,.py,.go,.rs,.md,.json,.svg,.png,.pdf,.zip,.lock, etc.).Execution mode
Agent should investigate and propose a plan first