DPAC T2 Generator
El AerariumChain DPAC T2 Generator es una aplicación de escritorio (macOS y Windows, con licencia) que AerariumChain pone a disposición de los proveedores de digitalización y de la Digital Library. Construye los paquetes de actualización T2 de los objetos 3D y de los gigapíxeles, los verifica antes de comprimirlos, los escribe en un disco externo y emite un certificado de verificación con el registro de todos los controles y los documentos de paradatos adjuntos.
Un paquete T2 es un delta sobre el paquete T1 ya ingerido por DPAC: contiene el METS actualizado (RECORDSTATUS="UPDATE_3D", ID de cabecera igual al UUID del recurso asignado por DPAC), la carpeta de paradatos (el informe de configuración de la adquisición y el informe de procesamiento) y la carpeta RAW_3D con los datos brutos de adquisición. Las imágenes ya presentes en el T1 (la miniatura y las vistas de renderizado) se vuelven a poner también en el T2, copiadas byte a byte desde el paquete T1 y verificadas con los checksums del METS; máster y derivado siguen siendo referencias (opción: solo imágenes, todos los archivos del T1, ninguno).
La herramienta tiene dos partes: un constructor (un procedimiento guiado) y un verificador (la interfaz de control con los paneles de paquetes generados y fallidos). Todo lo que hace la ventana puede dirigirse también desde una API HTTP local, de modo que un proveedor pueda integrar el packager en su propio sistema y conservar la interfaz para el trabajo manual en el PC.
Instalación, acceso y licencia
La app solo funciona con una cuenta del Hub AerariumChain y una licencia activa. El titular de la licencia (para la Digital Library, AerariumChain) decide qué cuentas pueden usarla y en cuántos ordenadores.
Descargar el instalador. En el Hub, menú DPAC → DPAC T2 Generator, la página muestra la licencia de la cuenta y los botones para macOS (Apple Silicon o Intel) y Windows. La descarga queda registrada a nombre de la cuenta. Sin licencia activa los botones están desactivados.
macOS. Abrir el archivo .dmg y arrastrar la app a Aplicaciones. La app está firmada y notarizada por Apple: se abre sin avisos. Si macOS mostrara igualmente un mensaje de app no verificada (por ejemplo con un archivo copiado desde una memoria USB), abrir Ajustes del Sistema → Privacidad y seguridad y elegir Abrir igualmente, o hacer clic derecho en la app → Abrir.
Windows. Ejecutar AerariumChain DPAC T2 Generator Setup <versión>.exe y seguir la instalación (se puede elegir la carpeta). Mientras el instalador no esté firmado con el certificado de firma de código de Windows, puede aparecer uno de estos mensajes:
| Mensaje | Qué hacer |
|---|---|
| «Windows protegió su PC» (Microsoft Defender SmartScreen) | hacer clic en Más información, comprobar que la app es «AerariumChain DPAC T2 Generator» y luego Ejecutar de todas formas |
| El navegador marca el archivo como «no se descarga habitualmente» | en la lista de descargas elegir Conservar (Edge: … → Conservar → Mostrar más → Conservar de todos modos) |
| «Control inteligente de aplicaciones bloqueó una aplicación» | con el Control inteligente de aplicaciones activo, Windows no abre apps sin firmar: contáctenos para la versión firmada. El estado está en Seguridad de Windows → Control de aplicaciones y navegador → Control inteligente de aplicaciones |
| El antivirus de la empresa pone el archivo en cuarentena | pedir al administrador de TI que permita el instalador y la carpeta de la app |
Primer inicio. La app muestra el contrato de licencia (EULA) para aceptar y luego pide el acceso con la cuenta del Hub: la misma sesión lee los datos del Hub, sin un segundo inicio de sesión. Arriba aparecen el código de la licencia, el titular y la fecha de vencimiento; el mismo código figura en el certificado y en el paquete de verificación de cada paquete creado.
Licencia. Cada ordenador en el que se inicia sesión ocupa una instalación de la licencia (volver a abrir la app en el mismo ordenador no consume otra). La licencia se renueva en línea cada 30 minutos; sin red la app funciona hasta 72 horas. Al vencer, o si se suspende, la app se bloquea e indica a quién dirigirse.
Actualizaciones. Las versiones nuevas se descargan solas y se instalan al reiniciar (ver más abajo).
Qué produce
Por cada paquete el disco de destino recibe una carpeta con el nombre de la entrega, de modo que el listado se lee una línea por obra:
<destino>/CANTIERE_LOTTO_PK_T2/
CANTIERE_LOTTO_PK_T2.zip la entrega para la Digital Library
CANTIERE_LOTTO_PK_T2_CERTIFICATO.pdf certificado de verificación
CANTIERE_LOTTO_PK_T2_VERIFICA.zip el paquete de verificación para el control de calidad (ver abajo)
CANTIERE_LOTTO_PK_T2/ la entrega sin comprimir, con el mismo nombre del ZIP (sobre la que corren los controles)
<prefijo>.xml METS T2 (UPDATE_3D, UUID DPAC, SIZE y MD5 reales)
<prefijo>_PARADATA_3D/ configuración de adquisición / ficha de levantamiento e informe de procesamiento (PDF)
<prefijo>_RAW_3D/ datos brutos: export Artec (PLY + fotos), archivos, contenedor .acraw o proyecto original
<prefijo>_Thumbnail_3D/ miniatura ya presente en el T1, repuesta en el T2
<prefijo>_6ViewImages_3D/ vistas de renderizado ya presentes en el T1, repuestas en el T2
CANTIERE_LOTTO_PK_T2_VERIFICA/ el paquete de verificación sin comprimir, con el mismo nombre de su ZIP
El ZIP de entrega contiene solo el contenido de la carpeta CANTIERE_LOTTO_PK_T2/. Todo lo demás queda fuera de la entrega.
Para un gigapíxel (material HQ de D.PaC) el T2 tiene la misma forma: el METS del T1 gigapíxel con el estado de actualización (UPDATE_HQ, o UPDATE_2D si la Digital Library lo pide: se elige en Ajustes), las carpetas <prefijo>_PARADATA_HQ y <prefijo>_RAW_HQ, y como datos brutos las imágenes de entrada del fotomosaico en RAW DNG con al menos una toma con el ColorChecker, como pide el Ministerio. El informe de procesamiento describe el ensamblaje, la alineación, la calibración del color y la imagen máster.
La estructura del paquete, la transformación del METS y las reglas de checksum son las mismas de la canalización del Hub AerariumChain: un paquete construido con la herramienta es idéntico a uno producido por el Hub.

Crear un paquete a mano
La sección Crear paquete T2 es un procedimiento en cinco pasos.
- METS T1: el METS exacto ingerido con el T1, desde un archivo local, desde una URL, o leído directamente del Hub AerariumChain (acceso con las credenciales del Hub, elección del hive y de la obra: la herramienta descarga el METS T1, el UUID DPAC, la ficha de levantamiento del Site Manager y el estado del derivado). Con el T1 llega también su paquete (del hub se leen solo las entradas necesarias), del que la miniatura y las vistas de renderizado se reponen en el T2.
- Identificación: código de obra, código de lote y PK (dan nombre al ZIP), el prefijo del paquete (da nombre al METS y a las carpetas), el UUID del recurso asignado por DPAC tras la ingesta del T1, título y número de inventario.
- Paradatos: los dos informes pueden generarse desde los formularios (la herramienta reproduce los modelos MiC) o adjuntarse como PDF ya listos; se pueden añadir otros documentos.
- RAW 3D: los datos brutos de adquisición en una de cuatro formas:
- la exportación desde el proyecto Artec Studio con la CLI
aec_artecViewer, la misma herramienta que ejecuta el nodo GPU de AerariumChain: un PLY bruto por escaneo (cada frame tal como se registró) más las fotos de los escaneos (las imágenes de la cámara de textura, PNG sin pérdida,<prefijo>_RAW_NN_INP_NNNN.png) listadas en el METS como imágenes de entrada. Los filtros son los de la CLI (kind,scan-geometry,target-total,max-size,on-oversize): un escaneo excluido o rechazado por tamaño no deja ni PLY ni fotos, un archivo fusionado o incompleto hace fallar la exportación (puerta de procedencia del servidor DPAC). El proyecto puede ser una carpeta o un ZIP local, o el registrado en el hub, descargado antes de la exportación; - archivos brutos (un PLY por escaneo, imágenes, E57 ...), copiados y con hash;
- el formato abierto
.acraw(AerariumChain Raw): en lugar de archivos sueltos, un único contenedor con manifiesto, SHA-256 de cada archivo y root hash, verificable por cualquiera sin software propietario; se aplica tanto a los archivos brutos seleccionados como a la exportación Artec (PLY por escaneo + fotos); especificación en github.com/aerariumchain/acraw-spec; - el formato original del software de adquisición: la carpeta del proyecto comprimida sin recompresión, o un archivo copiado byte a byte.
- la exportación desde el proyecto Artec Studio con la CLI
- Destino: el disco externo (se listan los volúmenes montados y el espacio libre), verificación automática, ZIP (ZIP64 cuando hace falta) y certificado.

Desde el Hub, la herramienta también puede pedir al propio Hub que construya el T2: los PLY brutos se exportan del proyecto del escáner en un nodo GPU y el paquete se ensambla allí.

Verificar un paquete
La sección Verificar paquetes acepta la carpeta del paquete (antes del ZIP) o un ZIP ya creado. Los controles cubren:
- el METS: XML bien formado,
PROFILE,OBJID, cabecera (RECORDSTATUS, UUID,CREATEDATE, agentes), secciones descriptiva y administrativa, los campos obligatorios de los metadatos técnicos 3D, los identificadores duplicados; - la sección de archivos: vocabulario
USE, el grupoFG_3Ddel T1, los gruposSTORAGEyRAW_3D, los nombres de los documentos de paradatos; - cada archivo declarado en los grupos del T2: presencia,
SIZE,MD5,MIMETYPE,CREATED,ADMID; la firma de los PDF; la cabecera de los PLY; los contenedores.acraw(reglas del contenedor, manifest, hashes, root hash, estructura); - la semántica del delta: ningún archivo del T1 dentro del paquete, ningún archivo sin declarar;
- la comparación con el METS T1, cuando se proporciona;
- opcionalmente, el validador público METS ECO-MiC de ICDP.
Dos paneles guardan la historia: paquetes generados (verificación superada) y paquetes fallidos, cada uno con los problemas encontrados. Cada regla tiene un identificador estable (HDR-ID, FSEC-STORAGE, FILE-MD5 ...) que aparece también en el certificado y en las respuestas de la API.
El paquete de verificación para el control de calidad
Junto a cada entrega la herramienta escribe un paquete de verificación: la carpeta CANTIERE_LOTTO_PK_T2_VERIFICA/ y su copia CANTIERE_LOTTO_PK_T2_VERIFICA.zip (las carpetas sin comprimir pueden desactivarse en los ajustes). Está pensado para el control de calidad de la Digital Library: quien recibe el ZIP de entrega puede comprobar que llegó intacto, leer el registro de los controles y saber cómo se construyó, sin abrir el paquete. Para el paquete 3D03CE01_LDIG013_PK0000002_T2 contiene:
| Archivo | Qué es y para qué sirve |
|---|---|
3D03CE01_LDIG013_PK0000002_T2_CERTIFICATO.pdf |
el certificado de verificación (ver abajo), copia del que está junto al ZIP |
3D03CE01_LDIG013_PK0000002_T2.zip.md5 |
la huella MD5 del ZIP de entrega en formato md5sum: el hash, dos espacios, el nombre del archivo. Desde la carpeta donde está el ZIP: md5sum -c 3D03CE01_LDIG013_PK0000002_T2.zip.md5 (Linux), md5 -r 3D03CE01_LDIG013_PK0000002_T2.zip (macOS), certutil -hashfile 3D03CE01_LDIG013_PK0000002_T2.zip MD5 (Windows). Si el hash coincide, el ZIP recibido es byte a byte el producido |
3D03CE01_LDIG013_PK0000002_T2.zip.sha256 |
la misma huella con SHA-256 (sha256sum -c … en Linux, shasum -a 256 -c … en macOS): más robusta que MD5, es la que figura también en el certificado |
rapporto.json |
el registro completo de los controles, legible por máquina: ok, errors, warnings, la lista items[] (cada control tiene un id estable como HDR-ID, FSEC-STORAGE, FILE-MD5, T1-FILES, un level `error |
build.json |
cómo se construyó el paquete: la especificación de build (identificadores, origen del T1, paradatos, modo RAW, opciones), de dónde viene el T1, los archivos producidos con tamaño y MD5, la herramienta de exportación y su versión |
t1.xml |
el METS T1 ingerido por DPAC del que deriva el T2: sirve para rehacer la comparación delta (cada archivo del T1 citado en el T2 debe conservar los mismos SIZE y CHECKSUM); la app lo reutiliza sola cuando alguien verifica el ZIP |
METS_<prefijo>.xml |
copia del METS T2 entregado |
METS_<prefijo>_RELAZIONE_SETUP-ACQUISIZIONE.pdf, METS_<prefijo>_RELAZIONE_ELABORAZIONE.pdf |
copias de los documentos de paradatos, para leerlos sin abrir el paquete |
artec-manifest.json |
(modo Artec) el manifiesto de la CLI: por cada PLY bruto el escaneo de origen, frames totales y usados, HD/SD, MD5, y la lista de fotos |
inventario.txt |
una línea por archivo del paquete: MD5, tamaño, grupo METS (STORAGE, RAW_3D, LOW, PREVIEW…), ruta |
LEGGIMI.txt |
qué es la carpeta, resultado e identificadores del paquete, los problemas detectados y la lista de arriba |
Un error bloquea el ZIP; un aviso no. El paquete de verificación se produce también cuando un paquete solo se verifica (una carpeta o un ZIP recibido de un proveedor), junto al archivo controlado.
El certificado de verificación
Cuando un paquete supera la verificación, la herramienta escribe un PDF fuera del paquete: la identidad del paquete, SHA-256 y MD5 del METS y del ZIP, el registro completo de los controles con su resultado, el inventario de los archivos con sus hashes. Los PDF de paradatos no se adjuntan: están en el paquete entregado y en el paquete de verificación. Es el documento que debe conservarse con la entrega.
La API local
La ventana y la API comparten el mismo código. La API escucha solo en el PC (http://127.0.0.1:47821/api/v1, puerto y token opcional en la configuración) y está descrita por un documento OpenAPI 3.0 servido por la app en /api/v1/openapi.json y descargable aquí: dpac-t2-openapi.json.


| Método | Ruta | Finalidad |
|---|---|---|
| GET | /health |
estado de la app |
| GET | /openapi.json |
el contrato de la API |
| GET | /disks |
volúmenes montados y espacio libre |
| GET | /artec/status |
¿se puede usar la CLI aec_artecViewer? (ruta, Node, versión) |
| POST | /artec/list |
lista escaneos, frames y fotos de un proyecto Artec |
| POST | /build |
crea un paquete T2 (job) a partir de una BuildSpec |
| POST | /check |
verifica una carpeta o un ZIP (job, o síncrona con wait: true) |
| POST | /zip |
verifica y comprime la carpeta de un paquete (job) |
| POST | /acraw |
envuelve archivos brutos en un contenedor .acraw (job) |
| POST | /pdf/setup, /pdf/elaborazione |
genera los dos informes de paradatos |
| GET | /jobs, /jobs/{id} |
estado, resultado y eventos de un job |
| GET | /jobs/{id}/events |
los mismos eventos como Server-Sent Events |
| GET, DELETE | /packages, /packages/{id} |
el registro de paquetes generados y fallidos |
Autenticación: ninguna por defecto; cuando en la configuración se define un token, debe enviarse como X-Api-Token o como bearer token. Cada ruta en las peticiones es una ruta en el PC donde se ejecuta la app.
La petición de construcción
{
"identity": {
"codiceCantiere": "3D03CE05", "codiceLotto": "LDIG003", "pk": "PK0000002",
"objid": "M489_XXXX",
"dpacUuid": "6f1c2a3e-4b5d-4e6f-8a9b-0c1d2e3f4a5b",
"title": "Título de la obra", "inventory": "INV-1", "catalogId": "XXXX"
},
"t1": { "source": "file", "path": "/datos/t1/M489_XXXX.xml" },
"paradata": {
"setup": { "mode": "generate", "data": { "id_oggetto": "...", "setup_acquisizione": "SETUP_#1" } },
"elaborazione": { "mode": "generate", "data": { "operator": "...", "derivFile": "M489_XXXX_DRV.glb", "derivSoftware": "Blender" } }
},
"raw": { "mode": "folder", "folder": "/datos/raw/M489_XXXX", "extensions": ["ply"], "acraw": { "enabled": false } },
"options": { "overwrite": true },
"output": { "dir": "/Volumes/DISCO/T2", "zip": true, "keepStaging": true }
}
t1.sourceesfileourl(conheaders).paradata.*.modeesgenerate(desde los datos),file(un PDF existente,path) onone.raw.modeesartec(conraw.artec:projectPathoprojectS3Key,kind,scanGeometry,targetTotal,maxSize,onOversize,maxTotalSize,photos),files,folder,original(conoriginalPathyoriginalVendor) onone;raw.acraw.enabledactiva el contenedor abierto. El manifiesto de la CLI Artec se conserva enverifica/artec-manifest.json.
El flujo de un job
POST /build -> 202 { "jobId": "..." }
GET /jobs/{jobId} -> { "job": { "status": "running|done|failed", "result": ... }, "events": [...] }
GET /jobs/{jobId}/events -> text/event-stream: progress, done, error
Los eventos de progreso llevan step, percent y message; el resultado de una construcción lleva las rutas de la carpeta, del ZIP (con tamaño y MD5), del informe de verificación y del certificado. Una verificación síncrona:
POST /check { "target": "/Volumes/DISCO/T2/3D03CE05_LDIG003_PK0000002_T2.zip", "wait": true }
-> 200 { "report": { "ok": true, "errors": 0, "warnings": 0, "items": [...], "certificatePath": "..." } }
Las mismas operaciones están disponibles desde la línea de comandos (dpac-t2 build, check, zip, acraw, pdf-setup, pdf-elab), con el mismo código.
Guía y soporte AI
Esta página es la guía de la app: el menú Guía la abre en el navegador. La misma guía en Markdown, pensada como contexto para un asistente AI, se descarga aquí: dpac-t2-guida.md (en italiano).
El menú Conectar a AI reúne todo lo que permite a un asistente (Claude Code, Claude Desktop, ChatGPT) o al equipo AerariumChain ayudar cuando algo falla:
- Exportar diagnóstico para la AI: un archivo Markdown (o una copia al portapapeles) con entorno, ajustes sin secretos, paquetes fallidos con sus problemas, el informe de verificación del paquete elegido, una nota del operador, las últimas líneas del log y la guía. Nunca los archivos de los paquetes. El mismo botón está en cada paquete fallido.
- Conector MCP: la app es un servidor MCP (Model Context Protocol) local. Con un clic se conecta a Claude Code o Claude Desktop, que pueden leer estado, paquetes, informes y log, lanzar una verificación o una construcción y resolver el problema en directo con el operador. ChatGPT requiere un servidor público: se usa la exportación de diagnóstico.
- Guía (enlace y descarga) y Pedir asistencia (solicitud al equipo con el contexto de la app).

Actualizaciones, monitorización y asistencia
La app dialoga con el manager AerariumChain (manager.aerariumchain.com) a través del Hub, con un identificador de instalación y, si el operador está conectado, con su sesión:
- Actualizaciones: al arrancar y cada seis horas comprueba si se ha publicado una versión más reciente; si la hay, la descarga en segundo plano y la barra lateral muestra "Actualización X" con el progreso y el botón Reiniciar y actualizar (también se instala al cerrar). AerariumChain puede marcar una versión como obligatoria o forzar la actualización de una instalación desde el manager: la app la instala sola en cuanto no tiene trabajos en curso.
- Monitorización: por cada paquete creado envía un informe con identificadores (paquete, prefijo, UUID DPAC, obra, hive), resultado de la verificación con los problemas detectados, hash y tamaño del ZIP, recuentos (paradatos, PLY, fotos, imágenes del T1), herramienta de exportación y duraciones. Nunca los archivos del paquete. Los eventos se encolan sin conexión y salen en la primera conexión; se desactiva en Ajustes → Monitorización.
- Asistencia: "Pedir asistencia" en la barra lateral abre una solicitud al equipo AerariumChain con la versión de la app, el sistema, el estado de la CLI y las últimas líneas del log; la respuesta llega al email indicado.
Requisitos y distribución
- macOS 11 o posterior (Apple Silicon o Intel) o Windows 10/11 de 64 bits; no hace falta otro software (los PDF de paradatos los genera la herramienta).
- Espacio en el disco de destino para los datos brutos y para el ZIP.
- Una cuenta del Hub AerariumChain con una licencia activa, y conexión a internet al menos una vez cada 72 horas.
- La CLI
aec_artecViewerpara la exportación desde proyectos Artec está integrada en la app (tomada de su propio repositorio al compilar) y se ejecuta con el runtime de la app: no hay nada que instalar.
El instalador se descarga del Hub con una cuenta que tiene la licencia. Para una licencia o asistencia contáctenos.