From 462ea035cac7f06d284f411fd23cc2bc1a133b1d Mon Sep 17 00:00:00 2001 From: Carlo Baratto Date: Sun, 11 Oct 2026 08:20:52 +0200 Subject: [PATCH] piano: sezione 10 (0.6.1-0.6.4) e stato del nucleo allineato --- docs/PIANO.md | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/docs/PIANO.md b/docs/PIANO.md index 579db4f..e1f5ea4 100644 --- a/docs/PIANO.md +++ b/docs/PIANO.md @@ -276,7 +276,8 @@ si rilegge da solo (2 s): l'aggiornamento automatico, prima, non esisteva. **Stato breve ed esteso in C++** (`AiraJson::stateShort/stateLong/statusLevel`): logica pura, verificabile senza SDK e non duplicata fra Home e Impianto. Test -del nucleo: **79/79** (erano 61). Stringhe: **191/191** tradotte. Anteprime +del nucleo: **79/79** (erano 61; **85/85** dalla 0.6.2, con le verifiche sulla +severità degli allarmi — vedi §10). Stringhe: **191/191** tradotte. Anteprime rigenerate (nuova `regolazioni.png`) in italiano e inglese. **Copertina** (`qml/cover/CoverPage.qml`): pallino di stato come in Home, la @@ -299,3 +300,38 @@ anche che il resto dell'avvio funziona: configurazione letta - Nessun comando nuovo all'impianto: anche questa versione resta **sola lettura** finché non si prova l'invio dal telefono. + +## 10. Dalla prima build sul telefono alla 0.6.4 + +Il §9 racconta il riordino delle schermate fino alla 0.6.0. Da lì sono venute +quattro versioni piccole, tutte nate da quello che si è visto usare l'app. + +**0.6.1 — la Home non si apriva.** La prima build sul telefono ha rivelato il +difetto descritto al §9: due assegnazioni di `Component.onCompleted` nello stesso +oggetto, che in Qt 5.6 impediscono la creazione della pagina. Non basta +correggerlo: `tests/qml_check_bindings.py` ora cerca le assegnazioni duplicate in +tutti i QML, e gira prima della build. + +**0.6.2 — il pallino non deve gridare.** Il 10/10 il pallino era rosso per un +avviso innocuo (compressore limitato dalla temperatura esterna): qualunque voce +nell'elenco errori accendeva il rosso. Ora il rosso è riservato a un allarme che +ferma la macchina o di severità CRITICAL/ERROR, l'avviso è ambra, e l'esito +ignoto resta ambra. Il bridge espone `error_severity` e `alarm_stopping` in +`/summary`, così la decisione si prende sui dati e non sul testo del messaggio. + +**0.6.3 — l'icona.** Scelta fra quattro proposte disegnate con Pillow +(`scripts/icon_proposals.py`, tutte conservate in `docs/icona/proposte/`): casa +con l'onda calda dentro. È ridisegnata a 344 px e rigenerata alle quattro misure +(86/108/128/172). Disegno originale, nessun logo di terzi: il permesso per nome e +logo Aira è ancora in sospeso. + +**0.6.4 — la copertina.** Due righe con l'etichetta davanti, "Casa" e "Acqua", +ognuna con temperatura attuale / impostata. Le frasi lunghe di prima ("ACS +53,4 °C · obiettivo 55 °C") sulla cover, che è stretta, venivano tagliate a metà: +il numero vero spariva proprio dove lo si guarda di sfuggita. Per stare nella +colonna stretta dell'etichetta, sulla cover l'acqua si chiama "Acqua"; in Home +resta "Acqua calda". + +**Stato attuale (0.6.4).** 85/85 verifiche del nucleo, 48/48 del bridge, +191/191 stringhe tradotte, `qmllint` pulito, contratto UI↔bridge rispettato. +Nessun comando è stato inviato all'impianto: tutto quanto sopra è a sola lettura.