docs(status): módulo 2 verificado punta a punta en dispositivo
This commit is contained in:
@@ -12,20 +12,24 @@
|
||||
| Módulo | Estado | Notas |
|
||||
|---|---|---|
|
||||
| 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 |
|
||||
|
||||
### 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.
|
||||
- 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)
|
||||
En la única captura del dashboard NO se veían las 3 tarjetas de hábitos ni la tarjeta "Tu racha";
|
||||
todo lo demás renderizaba. Puede ser un frame capturado a destiempo (EMUI) o un bug real de layout.
|
||||
**Primer paso de la próxima sesión:** relanzar la app y mirar la pantalla — si las tarjetas aparecen,
|
||||
cerrar el tema; si no, bisecar con cajas de color en `CenterColumn`/`StreakCard`.
|
||||
Nota: la regla de racha y el toggle están cubiertos por 6 tests unitarios verdes (`StreakCalculatorTest`).
|
||||
### 🔎 Lecciones EMUI de esta sesión (para futuras pruebas en este equipo)
|
||||
- El header original (Row con `Alignment.Bottom` + `SpaceBetween` + texto con composable-en-template)
|
||||
medía ~270 dp fantasma SOLO en este dispositivo → la lista quedaba en altura 0 y las tarjetas ni se
|
||||
componían. Diagnóstico vía `uiautomator dump` (bounds de semántica), no vía screenshots.
|
||||
- Los taps de `adb input tap` a <40 px del borde inferior se los come la zona de gestos de EMUI.
|
||||
- `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
|
||||
|
||||
@@ -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
|
||||
- `33de656` feat(battery): BatteryStatusMonitor (callbackFlow sobre sticky broadcast)
|
||||
- `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)
|
||||
|
||||
@@ -62,14 +67,12 @@ Nota: la regla de racha y el toggle están cubiertos por 6 tests unitarios verde
|
||||
|
||||
## Deuda / pulido pendiente
|
||||
|
||||
1. ⚠️ Verificar tarjetas de hábitos + "Tu racha" en pantalla (ver arriba — prioridad 1 próxima sesión).
|
||||
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.
|
||||
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.
|
||||
4. `confettiOn` (DA-05) hoy está fijo en true; se conecta cuando exista pantalla de Ajustes con gate parental.
|
||||
5. Campo de nombre en onboarding (AV-08): el ViewModel ya lo persiste; falta el input en UI.
|
||||
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. 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. `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. Campo de nombre en onboarding (AV-08): el ViewModel ya lo persiste; falta el input en UI.
|
||||
|
||||
## Próximos pasos (en orden)
|
||||
|
||||
1. **Resolver el pendiente de verificación del dashboard** (arriba).
|
||||
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).
|
||||
3. Sprint 2+: backend .NET 10 + deploy PapuTec (CLAUDE.md §4), CI Gitea Actions.
|
||||
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. Sprint 2+: backend .NET 10 + deploy PapuTec (CLAUDE.md §4), CI Gitea Actions.
|
||||
|
||||
Reference in New Issue
Block a user