Document the full-set searchable Font Awesome picker (task e2fc2dbc)

ADMIN-SPEC §3.3 now describes the Font Awesome source as a search over
the full Free Solid set plus a curated quick-pick grid, with the
free-text rule (exact Free Solid names accepted; partial, misspelled,
Pro or Brands names rejected in the picker). Correct "curated subset"
wording in PANEL-SPEC, DESIGN-HANDOFF, THIRD-PARTY-NOTICES and the
generator header, and note the bundle weight (panel ~1 MB raw /
~276 kB gzip). Docs and comments only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-30 18:35:46 -04:00
co-authored by Claude Opus 5.5
parent 966beb4862
commit 7a776bd5d7
5 changed files with 30 additions and 16 deletions
+5 -3
View File
@@ -16,13 +16,15 @@
* Lucide circles, rects and lines are converted to path `d` strings so every
* glyph is plain `{ viewBox, paths }` data any renderer can draw.
*
* Besides the curated sets, the module embeds the complete Font Awesome Free
* Solid set (`FA_SOLID_ICONS`). Its source is the installed
* Besides the curated sets (the Lucide set and the Font Awesome quick picks),
* the module embeds the complete Font Awesome Free Solid set (`FA_SOLID_ICONS`),
* which is what `fa:<name>` resolves against. Its source is the installed
* @fortawesome/free-solid-svg-icons package itself: every exported icon
* definition, de-duplicated by canonical `iconName` (the package also exports
* each legacy alias, e.g. faHome for `house`, as the same definition). The
* package carries no human labels, so each label is the kebab name in Title
* Case (`spray-can-sparkles` → "Spray Can Sparkles").
* Case (`spray-can-sparkles` → "Spray Can Sparkles"). Embedding the full set
* makes both bundles heavier: the panel bundle is about 1 MB raw / 276 kB gzip.
*/
import { readFileSync, writeFileSync, mkdirSync } from "node:fs";
import { createRequire } from "node:module";