4.1 KiB
4.1 KiB
Tasks: premium-award-ui-icons-code-review
Fase 0 — Guardrails
- No ejecutar build.
- No revertir cambios ajenos.
- Verificar estado inicial con
git status --short. - Ejecutar baseline de tests permitido:
flutter test. - Registrar fallos existentes antes de tocar código si los hubiera.
Fase 1 — Tokens y tema
- Crear tests para validar tokens premium mínimos.
- Crear
lib/tema/pluriwave_tokens.dart. - Crear
lib/tema/pluriwave_theme.dart. - Crear
lib/tema/pluriwave_motion.dart. - Reemplazar
ColorScheme.fromSeedgenérico por tema PluriWave tokenizado. - Mantener Material 3, pero con identidad propia.
- Asegurar que widgets existentes sigan usando
Theme.of(context). - Ejecutar
flutter test.
Fase 2 — Sistema de iconos
- Definir contrato
PluriIcon. - Definir enum/id de iconos core.
- Implementar variantes
outline,filled,activeGlow. - Agregar semantics labels obligatorios.
- Reemplazar iconos de bottom navigation por
PluriIcon. - Agregar tests de variante activa, labels semánticos, tap targets y ausencia de regresión en navegación.
- Ejecutar
flutter test.
Fase 3 — Asset pipeline
- Persistir prompts de mockup/icon sheet en documentación del cambio.
- Generar sheet con gutters chroma #00FF00.
- Implementar o usar pipeline: detectar gutters, crop, chroma-to-alpha, trim, center, pad, export, contact sheet, validate.
- Rechazar sheets con edge-touching, gutters contaminados o escala inconsistente.
- Exportar assets finales a
assets/icons/oassets/images/. - Actualizar
pubspec.yamlsolo si hace falta declarar subcarpetas nuevas. - Ejecutar
flutter test.
Fase 4 — Componentes premium
- Crear
PluriWaveScaffold. - Crear
PluriGlassSurface. - Crear fondo premium reutilizable con ondas/global aura.
- Refactorizar
tarjeta_emisorahacia tarjeta premium tokenizada. - Refactorizar
mini_reproductorcon glass pill y estado activo. - Refactorizar
visualizador_audioconRepaintBoundary. - Refactorizar
ecualizador_widgetcon tokens y estados accesibles. - Agregar widget tests para componentes críticos.
- Ejecutar
flutter test.
Fase 5 — Pantallas
- Actualizar
PantallaIniciocon hero global wave, tendencias y populares. - Actualizar
PantallaBuscarcon search premium, chips y stale-state guard. - Actualizar
PantallaFavoritoscon diseño reorderable. - Actualizar
PantallaReproductorcon player hero, controles premium y EQ entry point. - Actualizar
PantallaAjustescon cards agrupadas e iconos propios. - Agregar/actualizar tests de pantallas existentes.
- Ejecutar
flutter test.
Fase 6 — Hardening técnico
- Corregir listener leak en
lib/app.dart: mover escucha deerrorStreamfuera dedidChangeDependencies, guardarStreamSubscription, cancelar endispose. - Agregar test que falle si se registran listeners duplicados.
- Implementar control de stale async state en búsquedas/cargas.
- Agregar tests de “última búsqueda gana”.
- Implementar reorder persistente de favoritos.
- Agregar tests de reorder exitoso, rollback ante error, no duplicados por
uuidy favorito actual correcto. - Ejecutar
flutter test.
Fase 7 — Accesibilidad y polish
- Revisar contraste de tokens principales.
- Asegurar labels semánticos en controles principales.
- Asegurar tap targets mínimos 48x48.
- Soportar reduced motion / disable animations.
- Evitar que glow/color sea la única señal de estado.
- Agregar tests de semantics para nav, player, favoritos y EQ.
- Ejecutar
flutter test.
Fase 8 — Persistencia SDD híbrida
- Persistir
proposal.md,spec.md,design.md,tasks.mden openspec. - Guardar equivalentes en Engram con topic keys:
sdd/premium-award-ui-icons-code-review/proposalsdd/premium-award-ui-icons-code-review/specsdd/premium-award-ui-icons-code-review/designsdd/premium-award-ui-icons-code-review/tasks
- Marcar siguiente fase recomendada:
sdd-verify. - No ejecutar build.