Custom icon per tile: 150 MDI icons in firmware and editor
- screen_manager/app/tile_icons.py is the single icon list (12 groups, 20 media and music icons); tools/generate_icons.py writes it into the three icon fonts of both boards and builds the editor's subset font. - Firmware 0.2.18 shows o.icon when its fonts carry the glyph, else the domain icon. The app sends the chosen icon, or Home Assistant's own mdi icon on auto. - Tile sheet gets an icon picker with search; the mockup shows the icon the screen actually draws. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# App 0.2.18 / firmware 0.2.18 — eigen icoon per tegel
|
||||
|
||||
## Wijzigingen
|
||||
|
||||
- `screen_manager/app/tile_icons.py`: 150 kiesbare MDI-iconen in twaalf groepen
|
||||
(20 voor media en muziek) plus 9 vaste firmwareglyphs; codepoints gecontroleerd
|
||||
tegen `fonts/materialdesignicons-webfont.ttf`.
|
||||
- Firmware: `tile_icon.h` (hex → codepoint → UTF-8), `Tile::icon`, `icon_for()`
|
||||
gebruikt een gekozen icoon als de font de glyph bevat.
|
||||
- App: validatie van `options.icon`, `o.icon` met codepoint (gekozen of uit HA),
|
||||
entiteiticonen in de inventaris, icoonkiezer met zoeken in het tegelpaneel.
|
||||
|
||||
## Tests
|
||||
|
||||
- `.venv-portal/bin/python -m unittest discover -s tests`: 69 tests OK, waaronder
|
||||
`tests/test_tile_icons.py` (set in alle zes fonts en beide pakketten, elke
|
||||
firmwareglyph in de set, editorvoorspelling gelijk aan `icon_for`/`weather_icon`,
|
||||
validatie, draadformaat, discovery, oude editor behoudt icoon).
|
||||
- Alle `tests/*.cpp` OK, waaronder `test_tile_icon.cpp`.
|
||||
- `tools/generate_packages.py --check` en `tools/generate_icons.py --check`: actueel.
|
||||
- `esphome compile`: CYD 1.361.735 bytes flash (74,2%, was 1.339.824), RAM 30,2%;
|
||||
Guition 1.454.503 bytes (17,9%).
|
||||
- USB-flash na `esptool chip_id` (`usbserial-130` = ESP32/CYD, `usbserial-210` =
|
||||
ESP32-S3/Guition); uploadlog toont de juiste `firmware.bin`. `device_info`:
|
||||
beide 0.2.18, gecompileerd 11:10:02 (CYD) en 11:10:52 (Guition).
|
||||
- Guition-render via `send_layout.py` + `capture_ui.py`: thermometer in de
|
||||
grafiekstrook (mini-font), `account-child` automatisch uit HA, koksmuts op de
|
||||
timer, lamp op de dubbelbrede grote waarde (watch-font). Max bevestigde dat
|
||||
het op de schermen goed werkt.
|
||||
- Lokale editor met nep-HA: kiezer, zoeken op "muziek", live mockup en kop,
|
||||
opslaan stuurt `F04C3`/`F0769`/`F0FCE`; hint bij firmware 0.2.17. Iconen in de
|
||||
browser gemeten gecentreerd na de bearing-fix (gemiddeld 0,3 px op 100 px).
|
||||
Reference in New Issue
Block a user