Files
pluriwave/openspec/changes/premium-award-ui-icons-code-review/proposal.md
T
FreeTLab c707fc9911
Build & Deploy Pluriwave / Análisis de código (push) Failing after 21s
Build & Deploy Pluriwave / Build APK + AAB release (push) Has been skipped
feat(ui): add premium PluriWave redesign
2026-05-20 18:42:22 +02:00

3.3 KiB

Proposal: Premium award UI, icons, and code-review hardening

Intent

Elevar PluriWave a una UI premium coherente y “award-ready” sin caer en maquillaje visual. Primero se deben corregir defectos de lifecycle/estado que hoy degradan confiabilidad; después se aplica un sistema visual propio: “Ondas vivas globales”.

Scope

In Scope

  • Hardening previo: listeners, streams, favoritos, reproductor, timer y errores.
  • Sistema visual token-first: violeta profundo, magenta eléctrico, coral cálido, vidrio oscuro y glow controlado.
  • Sistema de iconos propios para navegación, reproducción, favoritos, búsqueda, ajustes y estados.
  • Mockup/refresh de Inicio, Buscar, Reproductor, Favoritos y Ajustes.
  • Tests Strict TDD con flutter test; sin build.

Out of Scope

  • Reemplazar Provider/ChangeNotifier.
  • Rediseñar backend/API de radios.
  • Branding completo externo a la app.
  • Release packaging o flutter build.

Capabilities

New Capabilities

  • ui-technical-hardening: estabilidad previa a la capa premium.
  • premium-visual-system: tokens, superficies, motion y composición visual.
  • premium-icon-system: iconografía propia con estados outline/filled/active glow.
  • premium-screen-refresh: aplicación coherente en las cinco pantallas principales.

Modified Capabilities

  • None; no existing OpenSpec source specs exist yet.

Approach

Primero cerrar deuda crítica verificada: subscriptions cancelables, favorito global consistente, reorder persistente, reproductor desacoplado de snapshots viejos y errores observables. Luego introducir tokens visuales reutilizables e iconos propios, aplicándolos pantalla por pantalla con el Reproductor como referencia fuerte.

Affected Areas

Area Impact Description
lib/app.dart Modified Listener único/cancelable para errores.
lib/widgets/visualizador_audio.dart Modified Stream subscriptions seguras.
lib/servicios/servicio_favoritos.dart Modified Reordenado persistente completo.
lib/pantallas/pantalla_favoritos.dart Modified UX reorder consistente.
lib/widgets/tarjeta_emisora.dart Modified Favorito derivado del estado global.
lib/pantallas/pantalla_reproductor.dart Modified UI premium y estado de reproducción confiable.
assets/icons/ New Iconos propios premium.
test/ Modified Cobertura de hardening y UI behavior.

Risks

Risk Likelihood Mitigation
UI linda pero frágil High Hardening MUST precede visual rollout.
Iconos inconsistentes Med Definir geometría/estados antes de integrarlos.
Glow/motion excesivo Med Tokens, límites de contraste y reduced motion.

Rollback Plan

Revertir commits del cambio. Los assets nuevos y tokens pueden eliminarse sin migración de datos. Hardening debe revertirse solo si sus tests también se ajustan.

Dependencies

  • Flutter/Material existente.
  • flutter_test.
  • Assets locales bajo assets/icons.

Success Criteria

  • No listeners duplicados ni stream leaks verificados por tests.
  • Favoritos y orden se mantienen consistentes.
  • Reproductor usa estado actual confiable.
  • Las cinco pantallas comparten lenguaje premium.
  • Iconos propios reemplazan Material genérico en puntos clave.
  • flutter test valida el cambio; no se ejecuta build.