Convertir: lista por carpetas con cuánto falta, «comparar» con nota de calidad, y un botón principal según el momento

Munka eligió tres de seis propuestas dibujadas en un lienzo (quedan el horario nocturno, el resumen
al acabar y marcar con criterio):
- La lista va por carpetas (la ruta una sola vez), el clip que se convierte lleva su barra y lo que le
  queda, «primero este» adelanta uno, y los excluidos salen en grupos con su porqué. Antes y después en
  una barra. La cola mide su ritmo y dice cuánto falta y a qué hora acaba (eta en /api/optimizar/cola).
- «Comparar»: el mismo cuadro del original y del convertido en tres instantes, con lupa, y «Medir la
  calidad» (VMAF) que se guarda en el trabajo; braw.py cuadro y braw.py calidad revelan el BRAW con la
  misma curva. Medido: 97,8 en 14 s con un BRAW de 16,5 GB.
- Un solo botón grande según el momento: buscar, convertir (con «reemplazar solo cuando estén
  verificados», optimizar.auto_reemplazar), la tanda con Detener, reanudar, o reemplazar lo verificado.

Pruebas: probar 19, prueba_funcional 31 (nueva: comparar), prueba_ventana 18.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Este commit está contenido en:
Labstream
2026-10-12 11:43:05 -05:00
padre d92814d16c
commit d38c51bd73
Se han modificado 5 ficheros con 544 adiciones y 40 borrados

Ver fichero

@@ -913,19 +913,42 @@ También del 10 de octubre:
- **El menú lateral se queda fijo al bajar.** Munka lo vio irse con el resto de la página (en la 3.3.0 y la
3.4.0): el cuerpo tenía `height:100%`, el alto de la ventana, así que su rejilla medía una pantalla y el
lateral «sticky» no tenía recorrido. Ahora el cuerpo crece con el contenido y el lateral no se mueve.
- **Convertir, una sola lista.** Antes había dos: los candidatos (con el estado que tenían al pulsar «Buscar»,
que se quedaba en «corriendo» en un clip ya acabado) y, 700 filas más abajo, la cola con el avance. Ahora
cada clip sale una vez con su estado de verdad; el que se está convirtiendo lleva la barra de avance en su
propia casilla de estado («62 %», la fila resaltada) y debajo qué hace el lector. Arriba: «ver» (todos, por
convertir, en cola, terminados, con fallo, excluidos, con su cuenta) y «ordenar por» (estado, nombre, fecha,
tamaño, ahorro; otra vez invierte). Lo convertido muestra el peso real (16,5 GB → 214 MB, −99 %) en vez del
estimado.
- **Convertir, rehecho** (Munka eligió tres de seis propuestas dibujadas en un lienzo; quedan para después
el horario nocturno, el resumen al acabar y la barra de marcar con criterio):
- *Una sola lista, por carpetas.* Antes había dos: los candidatos (con el estado que tenían al pulsar
«Buscar», que se quedaba en «corriendo» en un clip ya acabado) y, 700 filas más abajo, la cola con el
avance. Ahora cada clip sale una vez con su estado de verdad, agrupado por carpeta (la ruta una sola vez,
con casilla y plegable; las carpetas con algo que hacer van primero) y con solo el nombre del clip en la
fila. El que se está convirtiendo lleva la barra en su casilla de estado («62 %», la fila resaltada) y
«2 min 26 s de 3 min 56 s · quedan 1 min 40 s»; los que esperan tienen «primero este». Arriba, «ver» y
«ordenar por» (carpeta, estado, nombre, fecha, tamaño, ahorro). Abajo, los excluidos en grupos con su
porqué (en Diana Méndez: 473 son stock de Envato, 26 exportados, 2 ya comprimidos, 1 con alfa), y cada
grupo se abre con un clic.
- *Antes y después, en una barra* en vez de cuatro cifras: 676 GB hoy → 40 GB, lo que se libera, y lo ya
ganado en los convertidos.
- *Tiempo que falta.* La cola mide su ritmo con los clips ya acabados en la tanda (segundos de clip por
segundo real; si aún no acabó ninguno, con el avance del que va) y dice «quedan unas 7 h 10 min · termina
hacia las 19:40 · va a 0,9× tiempo real», también en la barra de tareas. Sale de `/api/optimizar/cola`
(`eta`).
- *Un botón principal según el momento*: «Buscar clips que se puedan aligerar», «Convertir N clips · A →
≈ B» (con «y reemplazar solo cuando estén verificados», ajuste `optimizar.auto_reemplazar`: al acabar cada
clip, si verificó, reemplaza), la tanda con su barra y «Detener», «Reanudar la cola» si está parada, o,
con todo verificado, «Reemplazar los N originales · libera X» en verde con «comparar unos cuantos».
- *Comparar antes de reemplazar.* En cualquier clip convertido, «comparar» abre el mismo cuadro del original
y del convertido, lado a lado, en tres instantes del clip, con una lupa que amplía el mismo recorte en los
dos; «Medir la calidad» da la nota VMAF (0 a 100) sobre unos 10 s del medio del clip, con el cuadro peor,
y la guarda en el trabajo (`nota`, `nota_min`), que luego sale en la fila y como media en el panel. Un
BRAW se revela con la misma curva que la conversión (`braw.py cuadro` y `braw.py calidad`, en el proceso
aparte); el original ya reemplazado se busca en `_Para borrar/originales`. Medido con el clip de 16,5 GB
de Diana Méndez: nota 97,8 (peor cuadro 97) en 14 s. Desde ahí se reemplaza ese original solo.
- En «Añadir carpeta», la clase de trabajo se elige entre cuatro tarjetas (título, cómo se ordena y «como
David Reyes, Danney Gómez y 3 más», los clientes que ya van así) en vez de un desplegable, y el ejemplo de
cómo queda es un árbol de carpetas, no una lista de rutas completas.
Pruebas: `prueba_funcional.py` comprueba además que el avance acaba en «tantas de tantas» con los movimientos
de la respuesta; `probar.py` 19, `prueba_orden.py` 33, `prueba_funcional.py` 30 y `prueba_ventana.py` 18.
Pruebas: `prueba_funcional.py` comprueba además que el avance de «Aplicar» acaba en «tantas de tantas» con
los movimientos de la respuesta, y una nueva, «Comparar original y convertido», saca los dos cuadros (el
original ya apartado en `_Para borrar/originales`) y mide la nota VMAF; `probar.py` 19, `prueba_orden.py` 33,
`prueba_funcional.py` 31 y `prueba_ventana.py` 18.
3.4.0, el convertidor: los BRAW salen, y lo que ya viene comprimido no se toca. Munka avisó de que había
archivos que no podía reconvertir y que antes sí, y de lo que quiere: 10 bits de color, buena calidad y mucho