Files
h-bitosInfantiles/STATUS.md
T

63 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# STATUS — Rachita
> Estado vivo del desarrollo. **Actualizar al cerrar cada hito o sesión de trabajo.**
> Si retomas en un chat nuevo: lee CLAUDE.md (arquitectura/convenciones), PRD-Rachita.md (requisitos) y este archivo (dónde vamos), en ese orden.
**Última actualización:** 2026-07-03 (sesión 1)
---
## Sprint 1 — progreso
| 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 | ⬜ Siguiente | Placeholder visible en NavHost; requiere resolver pregunta abierta #1 (ver abajo) |
| 3. Monitoreo de batería (overlay <20 % + bloqueo en carga) | ⬜ Pendiente | Notas técnicas en CLAUDE.md §8 |
### Verificado en dispositivo (2026-07-03, Huawei HBP-LX9, Android 12)
- Onboarding renderiza completo: título, 4 tarjetas, mascotas animadas (breathe/blink), badge "✓ Elegido", CTA.
- Fuentes Baloo 2 / Nunito cargan vía Downloadable Fonts (el equipo tiene Google Play Services).
- Tap avatar → Continuar → persiste en DataStore (`avatar_kind`, `child_name`, `onboarding_completed`) → navega al placeholder del Dashboard.
## Historial de commits relevantes
- `6f5bca6` chore(android): scaffold Gradle KTS + version catalog + manifest + recursos base
- `1b5a1f7` feat(theme): paleta PRD §6 + Baloo 2/Nunito + shapes
- `ae8f6b7` feat(onboarding): pantalla de avatar + mascotas Canvas + DataStore + NavHost
- `3f7602e` fix(nav): placeholder de Dashboard con contenido visible (un Surface vacío parecía "pantalla en blanco" en pruebas)
## Entorno de build (esta Mac)
- **NO hay Android Studio.** JDK: `/opt/homebrew/opt/openjdk@17` (el cask temurin@17 no registró bien; exportar `JAVA_HOME` explícito siempre).
- SDK: `/opt/homebrew/share/android-commandlinetools` (platforms 34+35, build-tools 34, platform-tools). `app/local.properties` ya apunta ahí (no versionado).
- Build: `cd app && JAVA_HOME=/opt/homebrew/opt/openjdk@17 ./gradlew assembleDebug`
- Instalar en dispositivo: mismo comando con `installDebug`. adb en `/opt/homebrew/share/android-commandlinetools/platform-tools/adb`.
- ⚠️ `installDebug` falla intermitente si el teléfono bloquea la pantalla → `adb shell input keyevent KEYCODE_WAKEUP` y reintentar.
- `compileSdk 35` / `targetSdk 34` / `minSdk 26` — androidx.core 1.15 exige compilar contra 35; NO "corregirlo" a 34.
## Decisiones tomadas
- Fuentes por Downloadable Fonts (Google Fonts provider), sin .ttf empaquetados. Ojo: `Font(googleFont=...)` se importa de `androidx.compose.ui.text.googlefonts.Font`.
- Mascotas vectoriales por código en `MascotIllustrations.kt`; estados tired/sleep se agregan con el módulo de batería.
- Avatar "Mi dibujo" usa Photo Picker (`PickVisualMedia`) — cero permisos de almacenamiento. Recorte orgánico (AV-02) pendiente de pulido.
- AV-08 (nombre configurable): ViewModel ya persiste `childName`, pero el onboarding no tiene campo de texto (el prototipo lo trata como prop, default "Lucía").
## Deuda / pulido pendiente (detectado en prueba de dispositivo)
1. **Gate de onboarding**: la app siempre abre en onboarding aunque `onboarding_completed=true`; debe saltar directo al Dashboard (hacerlo junto con módulo 2).
2. Orejas de mascotas recortadas dentro de las tarjetas; conejo se ve comprimido (headroom del Canvas en aspect ratio no cuadrado).
3. Layout del onboarding apretado en pantalla de teléfono — diseñado para tablet 1280×800 (target real). Decidir si se adapta o se asume tablet-only.
4. Migrar `kotlinOptions` deprecado ya hecho; sin otras warnings relevantes.
## Preguntas abiertas que bloquean el módulo 2 (de CLAUDE.md §11)
1. **¿La racha se pierde completa al fallar un día, o hay "congelador" desde v1?** (PRD recomienda: v1 simple, congelador en v1.1.) ← decidir antes de implementar DA-11.
2. ¿Horario límite individual por hábito? (afecta modelo Room del módulo 2)
## Próximos pasos (en orden)
1. Módulo 2 — Dashboard: entidades Room (`Habit`, `HabitLog`), tarjetas de hábitos con check 74 px, racha con llama animada, confeti al completar todo, gate de onboarding.
2. Módulo 3 — Batería: `ACTION_BATTERY_CHANGED` receiver, overlay <20 %, Activity de bloqueo en carga con verificación real.
3. Sprint 2+: backend .NET 10 + deploy PapuTec (CLAUDE.md §4), CI Gitea Actions.