Commits

Pliegos que cruzan el lomo y ajustes que siguen el contenido

El martes cayeron los dos tickets pendientes de la víspera: gráficos que cruzan el lomo como pliegos reutilizables —contrato de datos, render y preflight— y ajustes de continuación anclados al contenido. La biblioteca gana SVG validados y la mesa, páginas enfrentadas editables.

La víspera había dejado dos tickets pendientes — gráficos que cruzan el lomo y ajustes de continuación — y el martes se quedaron sin ellos: el contrato de datos, el render, la integración y el preflight de los pliegos cayeron en un mismo día, y la madrugada cerró el #37.

Mañana: recurso con marco propio y SVG vigilados

La jornada empezó en la biblioteca. Las imágenes compartidas o locales de una Edición conservan los originales y cada instancia guarda su propio marco: retirar un recurso comprueba referencias actuales y recuperables, y no rompe ninguna composición ya hecha. La vista contextual, el PDF y el export a InDesign usan ese marco, y una prueba real de imprenta detectó correctamente una imagen de baja resolución — precisamente por eso existe el preflight. Al mediodía llegó la decisión de rumbo: las comprobaciones de InDesign se aplazan a la revisión final, cuando el editor esté completo, para abordarlas de una vez y a fondo.

Los SVG entraron en la biblioteca con validación de contenido real: XML bien formado, sin scripts, manejadores, foreignObject, DTD ni referencias externas, con dimensiones declaradas. El render los dibuja con el motor propio, el export lleva el archivo original sin convertir y, en el navegador, la subida de un SVG con script se rechaza con un aviso claro.

La mesa enfrentada y el contrato del pliego

Por la tarde la mesa ganó la navegación por páginas enfrentadas: se pueden abrir las composiciones locales de cada pieza identificable sin convertir el Material cerrado en páginas editables, y las muestras de las páginas 2 y 3 coincidieron píxel a píxel con un PDF generado independientemente. Con la vista a punto, el #36 llegó en tres tiempos. Primero el contrato de datos: JSON de diseño versionado, piezas con identidad UUID propia, milímetros desde el corte del pliego abierto (420×297, lomo a x=210, sangrado de 0 a 10 mm por lado) y resolución del par por identidad de pieza, nunca por folio: si el Número refluye, la aplicación se marca rota con su motivo y no se traslada a ninguna otra página en silencio.

Después el render: cada diseño de pliego se materializa en el PDF como un underlay de las dos páginas del par, pintado con pikepdf.Page.add_underlay bajo el contenido existente, de modo que el texto y las marcas de corte quedan intactos y el gráfico entra en el circuito CMYK como cualquier otra imagen. Y finalmente la integración en la mesa: un lienzo de 420×297 donde colocar imágenes y SVG atravesando el lomo, con encaje, encuadre y sangrado por lado, que se puede guardar como composición de la Edición o como pliego global reutilizable, con promoción explícita y recursos compartidos exigidos.

La integración destapó tres problemas: el ancho y el alto del dibujo se emitían en puntos sin convertir de milímetros, una vista previa SVG salía blanca (arreglada con un desplazamiento de medio píxel, sin causa determinada) y los pliegos no entraban en la firma de la maqueta, de modo que guardarlos no invalidaba las muestras. La revisión añadió el preflight: un fondo podía ocultar un underlay, y ahora los rechazos se registran en el PDF y el informe de imprenta los marca como errores. Restaurar una Edición con un pliego roto conserva el diseño sin reasignarlo a ninguna identidad reutilizada.

De madrugada: ajustes que siguen el contenido

El #37 cerró el día cerca de la medianoche: los Artículos largos admiten retoques de continuación anclados al contenido, no al folio. Una foto se identifica por su huella SHA1 y ordinal, un encabezado por la huella de su texto; si el destino desaparece o el recuento de coincidencias cambia, el ajuste queda pendiente con motivo, con aviso en el maquetado y resolución explícita desde el panel: nunca se traslada en silencio. La vista enfrentada gana zonas activas sobre las fotos y el panel lista los ajustes por fila, con el de destino perdido marcando su huérfano. Verificado en navegador con un Artículo real —foto redimensionada con pie, marco de encabezado aplicado, huérfano pendiente— y suite completa en verde.