velxio/frontend/src/components
David Montero cd67362312 feat(libraries): manifest auto-migration + name-affinity ranking + install-declares
Three-part fix for the library-contamination class of ESP32 compile
failures (a user's project kept pulling unrelated libraries because 79%
of projects compile with an empty manifest, forcing scan-all resolution
over ~1000 shared libraries):

1. Name-affinity ranking in _find_library_for_header: the provider whose
   name matches the header stem wins (exact normalized match > esp32
   arch declaration > contains-stem, alphabetical only as tie-break).
   Previously first-alphabetical won, so any stray library shipping a
   generic header (Servo.h has 6 providers) could hijack the build.

2. Manifest auto-migration: scan-all compiles now report the libraries
   the build really used (manifest_incomplete +
   manifest_suggested_libraries on the compile result); the editor folds
   single-candidate suggestions into the board's declared manifest after
   a green build, so the NEXT compile runs scoped. One green build = one
   migrated project; empty-manifest scan-all behaviour is untouched.

3. Install-declares: the Wokwi import library modal records successful
   installs in the active board's manifest, and .vlx export/import now
   round-trips board.libraries.

Tests: test_espidf_library_ranking.py (9) + library-manifest.test.ts (19).
2026-08-04 06:03:32 +02:00
..
analog-ui feat(breadboard): hover-gated labels + full-footprint seating solver 2026-07-19 05:28:40 +02:00
components-instruments
…
customChips refactor(custom-chips): move the AI entry point out of OSS into an overlay slot 2026-07-17 04:36:14 +02:00
editor feat(libraries): manifest auto-migration + name-affinity ranking + install-declares 2026-08-04 06:03:32 +02:00
examples redesign(examples): compact toolbar + denser grid + fix card black bars 2026-07-16 06:09:02 +02:00
layout
…
raspberry-pi feat(ui): replace native confirm() dialogs with reusable modal 2026-07-18 01:59:18 +02:00
simulator feat(libraries): manifest auto-migration + name-affinity ranking + install-declares 2026-08-04 06:03:32 +02:00
ui feat(ui): replace native confirm() dialogs with reusable modal 2026-07-18 01:59:18 +02:00
velxio-components feat(components): DS3231 RTC module + GPS NEO-6M NMEA talker 2026-07-31 20:38:06 +02:00
ComponentPickerModal.css fix(canvas): stack pins with their component + pickers above floating panels 2026-07-17 18:44:58 +02:00
ComponentPickerModal.tsx fix(picker): Pi family component cards — full illustrations + PRO badge 2026-07-21 00:19:01 +02:00
DynamicComponent.tsx fix(trace): recognise runtime boards and same-hole junctions in pin tracing 2026-07-20 18:46:23 +02:00