Web per-board file-slot loader
Priority 0 - Core Emulator Infrastructure / 0.4 Configuration, composition & plugins
As someone running a board in the browser, I want one loader row per artifact the selected board actually needs - with smart default load addresses I can override and per-slot local-file overrides - so that I can boot kernels, UEFI firmware, disks and UICR without guessing.
Why it matters
Each board needs different artifacts loaded at the right addresses
Summary
Board-declared file slots (kernel/initrd/DTB/BIOS/UICR/disk) with editable load addresses in the browser
Scope of work
Already implemented. Harden, broaden coverage, add tests and documentation for the web per-board file-slot loader. What it is: Boards declare a FileSlot manifest (label, accepted types, required, default load address, target); list_boards() exposes it; one newWithFiles wasm constructor routes each blob to its target; the web FilesPanel renders one row per slot with example pre-fill, per-slot local override, and editable load addresses. Why it matters: UEFI BIOS, kernel+initramfs+DTB, OpenSBI firmware, NVMe disk and UICR each need the right slot and load address per board.
Current state
Status: Fully implemented. Notes / evidence: vemu-core board::FileSlot + BoardDefinition::file_slots; vemu-wasm newWithFiles + list_boards slots; web FilesPanel.tsx + useSlotLoader.ts + examples.ts.
Activity log
Feature defined and added to the roadmap
Funding goal set to $1,500
Implementation status: Implemented