# Área compartida de entregables

Los archivos publicados para Sergio se almacenan en el bucket privado de Cloudflare R2 bajo el prefijo `shared-deliverables/`. Un Worker presenta únicamente los archivos incluidos en `deliverables.config.json` y los descarga desde R2.

Enlace compartido actual:

<https://entregables.ublux.app/share/892ea14c839d2b85bc9cf8c299620cc8307222a4db667ffa/>

## Publicar o actualizar archivos

1. Añade el archivo al proyecto.
2. Añade su ficha a `deliverables.config.json`.
3. Ejecuta:

```bash
npm run publish:deliverables
```

El comando calcula el SHA-256, evita volver a subir archivos sin cambios, usa carga multiparte para ficheros grandes y actualiza el manifiesto visible en el portal.

## Seguridad

El bucket continúa siendo privado. El portal solo responde bajo una dirección larga y no indexable. Cualquiera que reciba esa dirección podrá descargar los archivos, por lo que no debe reenviarse fuera del equipo.

## Vista previa en el navegador

El catálogo visual se puede abrir en línea (sin descargar el ZIP) en:

`https://entregables.ublux.app/share/<SHARE_TOKEN>/preview/catalogo/` (todas)

También:
- estructurales/intro: `.../preview/catalogo-estructura/`
- educativas: `.../preview/catalogo-educativas/`
- explicación: `.../preview/catalogo-explicacion/` (o `https://vic5.ublux.app/explicacion/`)

Los objetos viven en R2 bajo `shared-deliverables/preview/catalogo/` y el Worker los sirve en línea (sin `Content-Disposition: attachment`).

Tras cambiar `cloud/deliverables-portal/worker.js`, despliega desde esa carpeta:

```bash
cd cloud/deliverables-portal && npx wrangler deploy
```

(Requiere autenticación Cloudflare y los bindings existentes `DELIVERABLES` + `SHARE_TOKEN`.)
