Skip to content

fix(canvas): draw the kind icons from lucide's public exports - #93

Merged
xevrion merged 1 commit into
mainfrom
fix/lucide-public-icon-data
Oct 18, 2026
Merged

xevrion merged 1 commit into
mainfrom
fix/lucide-public-icon-data

Conversation

@xevrion

@xevrion xevrion commented Oct 18, 2026

Copy link
Copy Markdown
Collaborator

What this changes

The node kind icons now come from the lucide package's named exports instead of lucide-react's internal per-icon modules. Unblocks #92.

Why

nodeVisuals.ts imported __iconNode from 33 files under lucide-react/dist/esm/icons/. That isn't public API, and newer lucide-react builds replaced it with an __iconData object, so every icon came back undefined and the canvas threw on first paint (KIND_ICON[kind].map). That's why the lucide-react bumps keep failing.

lucide exports the same [tag, attrs] lists by name. It's pinned to 1.41.0 to match lucide-react, and all 33 icons are identical to what ships today apart from the React key attributes, so the renderers key by index now. The lucide-icons.d.ts shim isn't needed anymore.

Verification

  • Compared the 33 icons in lucide@1.41.0 against lucide-react@1.41.0: same primitives
  • oxlint clean on the changed files
  • CI for typecheck, tests and build (not run locally)

The kind icons were read from lucide-react's per-icon modules through
their internal __iconNode export. Newer lucide-react builds replaced it
with an __iconData object, so every icon came back undefined and the
canvas threw on first paint, which is why the lucide-react bumps keep
failing.

The framework-free lucide package exports the same [tag, attrs] lists by
name, so the icons now come from there. It is pinned to the lucide-react
version so both draw the same icon set.
@vercel

vercel Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
breakscale Ready Ready Preview Oct 18, 2026 6:11am UTC
breakscale-mcp Ready Ready Preview Oct 18, 2026 6:11am UTC

Request Review

@xevrion
xevrion merged commit c58de51 into main Oct 18, 2026
9 checks passed

This branch was successfully deployed

2 active deployments
Preview – breakscale-mcp — d369f087 Deployed Oct 18, 2026 by vercel[bot]
Preview – breakscale — d369f087 Deployed Oct 18, 2026 by vercel[bot]
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