pcbjam/web/.gitignore
Gergő Törcsvári 6fc6a64cd0
feat(libs): eeschema symbol-chooser footprint selector + preview via publish-time fp-index
The merged kicad_editor bundle made the chooser's footprint side reachable
from a schematic session; this wires up the data:

- boot.ts/constants.ts: every kicad_editor frame seeds BOTH sym-lib-table and
  fp-lib-table (+ placeholder files; a created user lib joins both lists) —
  the eeschema frame used to write fp-lib-table empty, leaving the selector
  dead. TOOL_LIB_KIND remains only the presync/primary-kind lever.
- publish-libs.ts + kicad-pretty.ts: publish fp-index.json per tag —
  [name, uniquePadCount] per footprint (countUniquePads mirrors KiCad's
  GetUniquePadCount(DO_NOT_INCLUDE_NPTH)); index-only top-up mode for
  already-published immutable tags.
- source.ts/cdn-source.ts: new bridge op "index" (source-global, dispatched
  before the lib-id parse) + LibsSource.getFpIndex; the CDN source fetches
  <tag>/fp-index.json once (404 ⇒ null ⇒ C++ default-only fallback).
- dev-demo.mjs: --libs-local serves a local publish-libs layout same-origin
  at /libs-cdn (mirrors --models-local).
- tests/web/eeschema-fp-selector.spec.ts: e2e — chooser opens in --frame=sch,
  selector fills from ONE index crossing, clicking a row per-item-gets the
  body and the cross-face GAL preview renders; adaptive for index-less
  sources (asserts crash-free default-only selector).

Submodule bumps: kicad (index-backed filterFootprints + preview AsyncLoad
fix + modal-pump crash guard), wxwidgets (modal pump logs e.stack).

Doc: pcbjam-private docs/features/libs/0014-eeschema-footprint-selector.md

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SCWVaCRM9T847PdPwYYajX
2026-07-07 21:09:21 +02:00

22 lines
796 B
Text

node_modules/
dist/
.turbo/
.data/
*.log
.env
.env.local
# WASM artifacts: public/wasm is a symlink to the synced artifact dir
# (tests/apps/kicad), created on `dev` — never committed.
**/public/wasm
**/public/wasm/
# Demo gallery: public/content symlinks the locally-built example gallery and
# .demo-cdn holds its generated bytes — both created by scripts/deploy/dev-demo.mjs.
**/public/content
**/standalone/.demo-cdn/
# 3D models: public/models-cdn symlinks a local publish-models layout, created
# by scripts/deploy/dev-demo.mjs --models-local — never committed.
**/public/models-cdn
# Libraries: public/libs-cdn symlinks a local publish-libs layout (dev-demo.mjs
# --libs-local) and .libs-cdn holds its generated bytes — never committed.
**/public/libs-cdn
**/standalone/.libs-cdn/