Área: UX / Navegación
Severidad: Baja
Puntaje actual: 7/10 | Potencial: 9/10
---
Síntoma
Volver del PDF viewer al score detail toma ~3159ms. Es la segunda peor transición de navegación después de PDF load.
Evidencia
eval-ux.mjs — Back transition measurements:
Back PDF→detail: 3167ms ❌ slow
Comparación:
Back detail→list: 307ms ✅ fast
PDF load: 5013ms ❌ slow
Back PDF→detail: 3167ms ❌ slow
Impacto
Factor | Detalle --------|--------- Navegación inversa | Usuario que termina de ver una partitura espera >3s para volver Frecuencia | Ocurre cada vez que el usuario cierra el PDF viewer UX pairing | Combinado con PDF load (5s), ver una partitura + volver = ~8s de espera Causa raíz
1. pdf.js ocupa mucha memoria. Al hacer back, Flutter necesita liberar recursos de pdf.js
2. CanvasKit re-renderiza la pantalla de score detail desde cero
3. La transición no usa
Hero animations ni mantiene la pantalla anterior en memoriaReproducción
export DISPLAY=:99
cd /home/admin/fluttwebfaris
node eval-ux.mjs
# Observar: back from PDF time
Fix sugerido
1. Mantener la pantalla de score detail en un
IndexedStack para evitar re-render2. Liberar recursos de pdf.js en background, no bloquear la transición
3. Usar transición con fade-out del PDF mientras se muestra el detail desde caché
Tiempo estimado de fix
2-4h (IndexedStack) / 4-8h (optimización completa)
Referencias
•
eval-ux.mjs — Transition timing•
faristol-pdf.mjs — PDF viewer interaction•
NOTAS-ERRORES.md línea 173-175