Commits
La validación de publicación cierra la fase 5
La madrugada cierra el #38 y la fase 5: validación de publicación montando un Número entero de verdad, «Encajar» que comunica lo que hace y los tickets #20, #23 y #24 cerrados. Queda la fase 6: el export a InDesign dentro de InDesign real.
La madrugada ha cerrado el #38 y, con él, la fase 5 del plan: el circuito de publicación queda validado de punta a punta y tres tickets más han caído. Queda una fase, la sexta: comprobar el export a InDesign dentro de InDesign de verdad.
Vista fiable y «Encajar» que explica lo que hace
El #38 ha separado dos vistas que antes se confundían: la vista rápida del lienzo se etiqueta como aproximada y la del visor como vista del motor completo, con folios y saltos reales. preview.json declara medicion: imposible con motivo cuando la página está en modo código — antes se presentaba como «sin desbordes». Los solapes se marcan ahora en los dos elementos implicados.
«Encajar» ha dejado de ser una acción muda: responde con los elementos reducidos (cuerpo medido antes y después, con el límite del 20 % por paso y sin tocar textos) y los desbordes que quedan; cuando nada se puede reducir — un filete que se sale de la cabecera — lo dice en vez de callar. El informe sobrevive al autoguardado y la reversibilidad es explícita: el estado anterior entra en el historial del lienzo y Deshacer revierte también en el servidor, comprobado contra la base de datos con un titular de 27 puntos de vuelta. Después de guardar, además, vuelve a medir la página para informar de los problemas reales, no de un render anterior. «Ver PDF» abre ahora el visor directamente en la página de la pieza.
La fase 5 monta un Número entero
La validación integrada de publicación monta un número con todos los ingredientes — portada con fondo, secciones con cabecera, artículo largo con encabezado interno y fotografía, Material cerrado, un SVG de la biblioteca colocado a mano, tipografía propia y maqueta personalizada — y comprueba la salida real: el índice apunta a su página, la tipografía va incrustada, el sangrado es de 3 mm, el preflight sale en verde, el color es CMYK y el paquete de InDesign lleva IDML y JSX. Un pliego aplicado se ve a los dos lados del lomo y la vista contextual de la pieza coincide, píxel a píxel en miniatura, con la página del PDF completo.
La fase destapó un defecto real: el CSS de fábrica de la pieza «imagen» mezclaba declaraciones sueltas con reglas, el motor lo descartaba en silencio y la imagen y su pie perdían el estilo en cada maqueta que usara la pieza. Corregido en la fábrica y con una siembra que actualiza solo las instalaciones con el CSS roto, respetando lo que el usuario haya editado.
#23, #24 y #20: cierres
El #23 ha puesto orden en la medición de propuestas: comprueba que la pieza se maqueta con la maqueta propuesta y mide solo sus cajas; medir con maqueta temporal ya no escribe nada en la base de datos; el selector de modelos solo ofrece modelos que pueden componer; y la confirmación nombra el modelo y los datos que salen. El #24 ha dado al piloto un informe con la página y los avisos de cada pieza; al revertir, el número se mide en un directorio temporal — deshacer el piloto no publica ningún PDF — y avisa si el reflujo ha movido la pieza de página. Y el #20 ha dejado el rendimiento estable: añadir secciones a una Edición existente no cambia su PDF, y mover artículos y reordenar secciones deja el índice apuntando siempre a la página real.
También está la primera documentación de usuario: docs/guia-editor.md. Con el #20, el #23, el #24 y el #38 cerrados, queda la sexta fase, pendiente de decisión del usuario: la revisión del export a InDesign dentro de InDesign real.