Library manifests are now PER-BOARD (each board carries its own velxio.json), so two boards in one project can use different (even conflicting) libraries without clashing — the multi-board extension of the no-clash guarantee. - board.libraries on BoardInstance + serialisableBoard: rides in boards_json, so it round-trips, dirty-checks, autosaves and restores natively. This also removes the load-restore hacks (useLibraryManifestStore + applyProjectManifest deleted): the manifest is plain board state. - loadProjectState now restores per-board boardOptions/spiffsFiles/libraries (it previously dropped them). - EditorToolbar single + compile-all send the COMPILING board's libraries. - Backend compile.py prefers the client's per-board request.libraries; the project-level libraries_json (now the union of all boards) is the fallback. - buildLoadPayload migrates pre-per-board projects: seed each board with the project union so they keep compiling scoped. - Library Manager 'In project' tab edits the ACTIVE board's velxio.json (shows the board name) and the add field is now an autocomplete (installed libs + index search) so users pick from a list instead of typing names. Deletes useLibraryManifestStore.ts + applyProjectManifest.ts. |
||
|---|---|---|
| .. | ||
| app | ||
| scripts | ||
| sdk | ||
| tests | ||
| .env.example | ||
| Dockerfile | ||
| debug_qemu.py | ||
| mcp_server.py | ||
| mcp_sse_server.py | ||
| requirements.txt | ||