Skip to content

Perf/icons ondemand - #40

Merged
Avijit07x merged 2 commits into
mainfrom
perf/icons-ondemand
Aug 2, 2026
Merged

Perf/icons ondemand#40
Avijit07x merged 2 commits into
mainfrom
perf/icons-ondemand

Conversation

@Avijit07x

Copy link
Copy Markdown
Owner

No description provided.

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.
@vercel

vercel Bot commented Aug 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
animateicons Ready Ready Preview Aug 2, 2026 1:39pm

@Avijit07x Avijit07x self-assigned this Aug 2, 2026
@Avijit07x
Avijit07x merged commit 043b156 into main Aug 2, 2026
3 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 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".

Comment on lines +135 to +136
generateMeta("lucide", "data/lucide-icons.json");
generateMeta("huge", "data/huge-icons.json");

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge 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 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant