Perf/icons ondemand - #40
Conversation
Icons - 216 new lucide icons with bespoke semantic motion (files, folders, mail, messages, charts, text formatting, media controls, alarms, calendars, arrows, shopping, navigation, devices, weather). Lucide 429 -> 509; library total 542. Registry + catalog regenerated. Performance - Decouple icon metadata from component refs: generator now emits a per-library meta.ts (ICON_META + ICON_COUNT + lazy getIcon loaders, zero eager component imports). Client consumers (grid, sidebar, search, command palette, home cards) import meta; the eager index.ts stays for server sites (OG images, SEO/detail pages, sitemap). - Lazy-mount each tile's animated component via IntersectionObserver (800px rootMargin) + React.lazy/Suspense, and dynamic-import the active library's list. Prod build: no 8MB monolith, biggest client chunk <200KB, total page JS ~608KB. Design/flow unchanged (parity verified, page height 17,173px). Package - @animateicons/react 0.4.1 -> 0.4.2; size-limit budgets 55 -> 75kB (lucide barrel + single icon) to match the motion runtime + icon set. UI - Restyle sidebar NEW-count badge (smaller text, square corners); drop SidebarRequest; add isIconNew util.
The .claude, .claude-flow, .agents, .swarm, .hive-mind dirs are gitignored local tooling (Claude Code / ruflo helpers) - never committed, so CI never lints them, but flat-config eslint doesn't read .gitignore and 'eslint .' was tripping the pre-push hook on prefer-const / unknown-rule errors in those scripts. Add them to the ignore list.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 77385f50e4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| generateMeta("lucide", "data/lucide-icons.json"); | ||
| generateMeta("huge", "data/huge-icons.json"); |
There was a problem hiding this comment.
Wire meta generation into icon codegen
The new gallery/sidebar/search path now depends on the generated icons/*/meta.ts files, but these generateMeta calls live only in scripts/generate-indices.ts; package.json still has pnpm gen:icons/prebuild running gen:icons-json, gen:registry, and gen:catalog without invoking this script. After the next icon add/remove, the existing generation/check flow can update the registry and counts while leaving ICON_META and getIcon stale, so the client gallery and command palette can miss or try to load the wrong icons. Please wire this into the normal icon generation pipeline or add a drift check.
Useful? React with 👍 / 👎.
No description provided.