piano: sezione 10 (0.6.1-0.6.4) e stato del nucleo allineato

This commit is contained in:
2026-10-11 08:20:52 +02:00
parent c237818e3c
commit 462ea035ca
+37 -1
View File
@@ -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`): **Stato breve ed esteso in C++** (`AiraJson::stateShort/stateLong/statusLevel`):
logica pura, verificabile senza SDK e non duplicata fra Home e Impianto. Test 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. rigenerate (nuova `regolazioni.png`) in italiano e inglese.
**Copertina** (`qml/cover/CoverPage.qml`): pallino di stato come in Home, la **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 - Nessun comando nuovo all'impianto: anche questa versione resta **sola
lettura** finché non si prova l'invio dal telefono. 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.