Add ESP-IDF partition types 0x02 (BOOTLOADER) and 0x03 (PARTITION_TABLE)
with their subtype enums and name maps. Refactor getSubtypeName/subtypeFromName
to use a unified SUBTYPE_NAME_MAPS lookup table.
- Add lib/ota-data/ module: parses esp_ota_select_entry_t structures,
determines active OTA partition from sequence numbers and CRC validation
- Fix all lib files to use `import type` for type-only imports to comply
with TypeScript verbatimModuleSyntax (partition-table, nvs, app-image)
- Export ota-data from lib/index.ts
upload handling
- add app image parser/types/constants for ESP image header, extended
header, segments, and app description
- add shared binary read/write utilities and CRC32 helper
- add AppImageViewer component to inspect firmware metadata in UI
- improve upload UX: accept .bin only and show explicit error for ELF input
- prevent status alert timer race by clearing previous timeout before
setting a new one
- ignore .claude in .gitignore