Move KEY/BPM values and chevrons toward mode.png rhythm, drop musical-flat b and digit dilation so Db and body digits stay complete without looking bold.
Co-authored-by: Cursor <cursoragent@cursor.com>
Liberation C is 10px wide; packing into 8px crushed hero values. Keep ascii_1608 symbol with 32-byte glyphs.
Co-authored-by: Cursor <cursoragent@cursor.com>
Regenerate size 13/16 WQY/Liberation cells with edge margin and a fuller flat for Cb, and bump ASCII advance so chord numbers match mode.png spacing.
Co-authored-by: Cursor <cursoragent@cursor.com>
Match mode.png: widen card value slots, use ASCII advance spacing so 1364 is not cramped, and draw the section/nav divider line.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace drawn chevrons on transpose/song/timbre rows with 控件-11/12 solid triangle bitmaps from the 0902 asset pack.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use Liberation Sans for KEY/BPM/Db with wider ASCII cells, redraw KEY/BPM after value refresh, and reuse the centered timbre layout on refresh so a second line no longer appears.
Co-authored-by: Cursor <cursoragent@cursor.com>
Save current UI textbox layout and font regen so we can restore with
git reset --hard checkpoint/misans-before-wqy if MicroHei trial fails.
Co-authored-by: Cursor <cursoragent@cursor.com>
Apply label/body/hero hierarchy (11/13/16), enlarge section digits to 13, and switch the bottom bar to 万能|普通|专业|设置 while keeping touch/key logic.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use size-12 tabs with full 节/类/型/地/目 coverage, denser MiSans bitmaps, dark row chrome, and safer section-label draw order; skip ASCII regen by default.
Co-authored-by: Cursor <cursoragent@cursor.com>
Widen TAB text margins at 11px, regenerate section/timbre labels, and regenerate MiSans bitmaps with padding so strokes are not cut.
Co-authored-by: Cursor <cursoragent@cursor.com>
Enable TP_MIRROR_X for left/right hits, draw blue numeric mixer knobs, and restyle system settings rows with title order and chevron values.
Co-authored-by: Cursor <cursoragent@cursor.com>
Fill three mode rows to the screen bottom without a nav bar, and fix the status bar to one volume meter, centered Bluetooth, and battery percentage.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Mode select page draws 222x84 row bitmaps from external flash
- Mixer page uses flash track/knob images with picture labels
- Settings and restore pages re-laid out with 0902 row style
- New status bar icons and battery outline+clip fill rendering
- Add LCD_WR_PIC_ClipX and LCD_WR_PIC_FROM_FLASH_Trans draw APIs
- Replace 4-tab bar with GUI_NAV_BAR 3-icon bottom navigation
- Swap 0831 assets for UI0902 in the IAR project file
Co-authored-by: Cursor <cursoragent@cursor.com>
Preserve focus across redraws, improve XPT2046 sampling, and log touch coords via RTT for ongoing debug.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace on-device Chinese glyphs with MiSans icon+text row assets so the trial format matches the designer's export.
Co-authored-by: Cursor <cursoragent@cursor.com>
Only the focused control uses the blue gradient; unfocused widgets use the dark normal background. Drop invalid Commander commands from IAR jlink_script_file to stop V5.10m parse popups.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep AT32F403ARCT7 RAM at 96KB, soft-CS GRAM readback over RTT, and add missing 普/通/业 to CHS16 so mode labels render fully.
Co-authored-by: Cursor <cursoragent@cursor.com>
Regenerate Chinese/English font tables, extend LCD driver for new sizes, and update screen layouts; add gen_misans_font.py for reproducible font builds.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the battery white in the status bar, center it vertically, and use 16px ASCII font so the percentage renders correctly instead of garbled characters.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use a rounded battery shell with proportional fill and smaller centered percentage text to match the design reference.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the old volume bars with 5 rounded-top bars using a left-to-right brightness gradient, synced from the ADC volume pot.
Co-authored-by: Cursor <cursoragent@cursor.com>