4.3 KiB
4.3 KiB
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
6f5bca6chore(android): scaffold Gradle KTS + version catalog + manifest + recursos base1b5a1f7feat(theme): paleta PRD §6 + Baloo 2/Nunito + shapesae8f6b7feat(onboarding): pantalla de avatar + mascotas Canvas + DataStore + NavHost3f7602efix(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; exportarJAVA_HOMEexplícito siempre). - SDK:
/opt/homebrew/share/android-commandlinetools(platforms 34+35, build-tools 34, platform-tools).app/local.propertiesya 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. - ⚠️
installDebugfalla intermitente si el teléfono bloquea la pantalla →adb shell input keyevent KEYCODE_WAKEUPy 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 deandroidx.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)
- Gate de onboarding: la app siempre abre en onboarding aunque
onboarding_completed=true; debe saltar directo al Dashboard (hacerlo junto con módulo 2). - Orejas de mascotas recortadas dentro de las tarjetas; conejo se ve comprimido (headroom del Canvas en aspect ratio no cuadrado).
- 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.
- Migrar
kotlinOptionsdeprecado ya hecho; sin otras warnings relevantes.
Preguntas abiertas que bloquean el módulo 2 (de CLAUDE.md §11)
- ¿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.
- ¿Horario límite individual por hábito? (afecta modelo Room del módulo 2)
Próximos pasos (en orden)
- 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. - Módulo 3 — Batería:
ACTION_BATTERY_CHANGEDreceiver, overlay <20 %, Activity de bloqueo en carga con verificación real. - Sprint 2+: backend .NET 10 + deploy PapuTec (CLAUDE.md §4), CI Gitea Actions.