KeSp_controller/ui/tabs
Mae PUGIN 3e54361d0d refactor: Modularize main.rs (2478 → 58 lines), flat architecture
Split monolithic main.rs into domain modules:
- context.rs: AppContext shared state, BgMsg enum, serial_spawn helper
- models.rs: UI model builders, keycap labels, key entries, layout preview
- config.rs: keyboard config export/import via binary protocol
- dispatch.rs: BgMsg handler + WPM/layout timers
- keymap.rs: key selection, layer switch/rename, heatmap toggle
- key_selector.rs: dispatch_keycode router, apply_keycode, hex/MT/LT
- macros.rs: macro CRUD, shortcut presets, step builder
- advanced.rs: combos, KO, leaders, tap dance, BT, tama, autoshift
- settings.rs: OTA flash, config backup, keyboard layout
- flasher.rs: ESP32 bootloader flash
- layout.rs: layout JSON preview, load/export
- connection.rs: serial connect/disconnect, tab auto-refresh
- stats.rs: stats refresh

Rename logic/ → protocol/ with cleaner file names.
Remove unused original-src/ directory.
Fix DarkLineEdit double styling, add rename popup, macro shortcuts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 12:02:22 +02:00
..
tab_advanced.slint feat: KO creation with checkboxes (matching egui) 2026-04-07 11:06:32 +02:00
tab_flasher.slint style: DarkLineEdit + scrollable layer sidebar 2026-04-07 12:04:13 +02:00
tab_keymap.slint refactor: Modularize main.rs (2478 → 58 lines), flat architecture 2026-04-08 12:02:22 +02:00
tab_macros.slint refactor: Modularize main.rs (2478 → 58 lines), flat architecture 2026-04-08 12:02:22 +02:00
tab_settings.slint feat: Binary protocol v2, config import/export, Tools tab, new layout format 2026-04-07 21:30:04 +02:00
tab_stats.slint style: Replace all std Button with custom DarkButton (Dracula theme) 2026-04-06 20:52:44 +02:00
tab_tools.slint feat: Binary protocol v2, config import/export, Tools tab, new layout format 2026-04-07 21:30:04 +02:00