docs(status): módulo 2 verificado punta a punta en dispositivo

This commit is contained in:
Johann
2026-07-03 23:23:47 -06:00
parent 0eb4133345
commit 1243f6c3b7
+19 -16
View File
@@ -12,20 +12,24 @@
| Módulo | Estado | Notas | | Módulo | Estado | Notas |
|---|---|---| |---|---|---|
| 1. Onboarding / Selección de avatar | ✅ **Hecho y verificado en dispositivo real** | Compose + MVVM + DataStore; mascotas 100 % Canvas | | 1. Onboarding / Selección de avatar | ✅ **Hecho y verificado en dispositivo real** | Compose + MVVM + DataStore; mascotas 100 % Canvas |
| 2. Dashboard de hábitos + racha | 🟨 **Implementado, verificación en dispositivo a medias** | Ver "pendiente de verificar" abajo | | 2. Dashboard de hábitos + racha | **Hecho y verificado en dispositivo real, punta a punta** | Toggle → contador → racha → XP → banner → persistencia tras force-stop |
| 3. Monitoreo de batería (overlay <20 % + bloqueo en carga) | ⬜ Siguiente | `BatteryStatusMonitor` ya existe como base; notas en CLAUDE.md §8 | | 3. Monitoreo de batería (overlay <20 % + bloqueo en carga) | ⬜ Siguiente | `BatteryStatusMonitor` ya existe como base; notas en CLAUDE.md §8 |
### Verificado en dispositivo (2026-07-03, Huawei HBP-LX9, Android 12) ### Verificado en dispositivo (2026-07-03, Huawei HBP-LX9, Android 12)
- Onboarding completo: título, 4 tarjetas, mascotas animadas, badge, CTA, persistencia y navegación. - Onboarding completo: título, 4 tarjetas, mascotas animadas, badge, CTA, persistencia y navegación.
- Fuentes Baloo 2 / Nunito cargan vía Downloadable Fonts (el equipo tiene Google Play Services). - Fuentes Baloo 2 / Nunito cargan vía Downloadable Fonts (el equipo tiene Google Play Services).
- Dashboard: gate de arranque OK (entra directo con onboarding completado), saludo "¡Hola, Lucía!", fecha es-MX real, "te quedan 3 hábitos" (seed Room funcionó), sidebar completo (mascota sin orejas cortadas, Nv./XP/racha), columna derecha (En equipo, mensaje de mascota, Museo Diario). - Dashboard punta a punta: gate de arranque, seed de 3 hábitos, tarjetas con check animado + "¡Hecho!",
contador "te quedan N", racha 0→1 con V del viernes palomeada, banner "¡Racha asegurada hoy! 🔥",
XP 0→30/500, mensaje celebratorio de la mascota, chip de batería real (verde cargando), singular/plural
de racha, y persistencia completa tras force-stop + relanzamiento.
### ⚠️ Pendiente de verificar (bloqueado por teléfono con PIN al final de la sesión) ### 🔎 Lecciones EMUI de esta sesión (para futuras pruebas en este equipo)
En la única captura del dashboard NO se veían las 3 tarjetas de hábitos ni la tarjeta "Tu racha"; - El header original (Row con `Alignment.Bottom` + `SpaceBetween` + texto con composable-en-template)
todo lo demás renderizaba. Puede ser un frame capturado a destiempo (EMUI) o un bug real de layout. medía ~270 dp fantasma SOLO en este dispositivo → la lista quedaba en altura 0 y las tarjetas ni se
**Primer paso de la próxima sesión:** relanzar la app y mirar la pantalla — si las tarjetas aparecen, componían. Diagnóstico vía `uiautomator dump` (bounds de semántica), no vía screenshots.
cerrar el tema; si no, bisecar con cajas de color en `CenterColumn`/`StreakCard`. - Los taps de `adb input tap` a <40 px del borde inferior se los come la zona de gestos de EMUI.
Nota: la regla de racha y el toggle están cubiertos por 6 tests unitarios verdes (`StreakCalculatorTest`). - `adb shell settings put global stay_on_while_plugged_in 7` activado para que no se bloquee la pantalla
durante desarrollo (revertir con valor 0 cuando termine el sprint).
## Decisiones de producto tomadas en sesión 2 ## Decisiones de producto tomadas en sesión 2
@@ -43,6 +47,7 @@ Nota: la regla de racha y el toggle están cubiertos por 6 tests unitarios verde
- `28f2359` feat(habits): Room (Habit/HabitLog) + StreakCalculator + 6 tests - `28f2359` feat(habits): Room (Habit/HabitLog) + StreakCalculator + 6 tests
- `33de656` feat(battery): BatteryStatusMonitor (callbackFlow sobre sticky broadcast) - `33de656` feat(battery): BatteryStatusMonitor (callbackFlow sobre sticky broadcast)
- `1d34b78` feat(dashboard): módulo 2 completo — 3 columnas, checks animados, confeti, gate - `1d34b78` feat(dashboard): módulo 2 completo — 3 columnas, checks animados, confeti, gate
- `0eb4133` fix(dashboard): header a prueba de EMUI + weight en lista + singular de racha
## Entorno de build (esta Mac) ## Entorno de build (esta Mac)
@@ -62,14 +67,12 @@ Nota: la regla de racha y el toggle están cubiertos por 6 tests unitarios verde
## Deuda / pulido pendiente ## Deuda / pulido pendiente
1. ⚠️ Verificar tarjetas de hábitos + "Tu racha" en pantalla (ver arriba — prioridad 1 próxima sesión). 1. Avatar personalizado ("Mi dibujo") aún no se muestra como imagen (falta Coil o similar en el catálogo); hoy cae al marco punteado. Recorte orgánico AV-02 pendiente.
2. Avatar personalizado ("Mi dibujo") aún no se muestra como imagen (falta Coil o similar en el catálogo); hoy cae al marco punteado. Recorte orgánico AV-02 pendiente. 2. Layout diseñado para tablet 1280×800; en el teléfono de prueba (373 dp de alto útil) queda apretado y el pill "0/3 hoy" se recorta a la derecha. El target real es tablet — revisar en tablet física antes de optimizar.
3. Layout diseñado para tablet 1280×800; en el teléfono de prueba (373 dp de alto útil) queda apretado. El target real es tablet — decidir si se adapta responsive o se asume tablet-only. 3. `confettiOn` (DA-05) hoy está fijo en true; se conecta cuando exista pantalla de Ajustes con gate parental. Confeti no confirmado visualmente en captura (el trigger sí disparó — banner y mensaje aparecieron); confirmar a ojo en dispositivo.
4. `confettiOn` (DA-05) hoy está fijo en true; se conecta cuando exista pantalla de Ajustes con gate parental. 4. Campo de nombre en onboarding (AV-08): el ViewModel ya lo persiste; falta el input en UI.
5. Campo de nombre en onboarding (AV-08): el ViewModel ya lo persiste; falta el input en UI.
## Próximos pasos (en orden) ## Próximos pasos (en orden)
1. **Resolver el pendiente de verificación del dashboard** (arriba). 1. Módulo 3 — Batería: overlay <20 % con mascota cansada (estados tired/sleep en `MascotIllustrations`), Activity de bloqueo en carga con verificación real de desconexión (`BatteryStatusMonitor` ya provee el flow).
2. Módulo 3 — Batería: overlay <20 % con mascota cansada (estados tired/sleep en `MascotIllustrations`), Activity de bloqueo en carga con verificación real de desconexión (`BatteryStatusMonitor` ya provee el flow). 2. Sprint 2+: backend .NET 10 + deploy PapuTec (CLAUDE.md §4), CI Gitea Actions.
3. Sprint 2+: backend .NET 10 + deploy PapuTec (CLAUDE.md §4), CI Gitea Actions.