# export/to-png-batch

Workflow per export batch da SVG a PNG.

## Quando usarlo

Usa questo workflow quando il task richiede conversione di uno o piu' SVG in PNG (`1x` o multipli predefiniti).

## Input minimo

- `input`: singolo file SVG o directory contenente SVG.
- `output_dir`: cartella destinazione PNG.
- `scales` opzionale: lista scale (`1`, `2`, `3`) oppure dimensioni target.

## Policy tool selection

### Windows

1. `inkscape` come default.
2. `rsvg-convert` non supportato su Windows in questo workflow.

### Altri host (best effort)

1. usa il tool disponibile con risultato piu' prevedibile nel contesto runtime;
2. se manca il primario, applica fallback esplicito;
3. se nessun tool disponibile, termina con errore bloccante.

### Ubuntu (policy esplicita)

1. `rsvg-convert` come primaria.
2. fallback `inkscape` in caso di assenza/fallimento.
3. se entrambi assenti -> errore esplicito con next-step installativo.

## Sequenza operativa

1. Risolvi lista input SVG.
2. Per ogni input:
   - seleziona tool secondo policy host;
   - esporta PNG in `output_dir`;
   - registra esito per file.
3. Produci riepilogo finale con successi/fallimenti.

Nota decisionale:
- su Windows la priorita' resta `inkscape`;
- su Ubuntu la priorita' resta `rsvg-convert`;
- non invertire queste priorita' senza motivazione esplicita nel report.

## Output atteso

- PNG generati con naming coerente (`nomefile@{scale}x.png` o formato concordato).
- Report batch con:
  - file processati;
  - tool usato per ogni file;
  - fallback applicati;
  - errori puntuali.

## Error handling (no fail silenziosi)

- Input non trovato/vuoto -> errore esplicito.
- Export di singolo file fallito -> errore registrato per file, batch continua se richiesto.
- Nessun file esportato -> esito finale `failed` con cause aggregate.

## Boundary

- Nessun packing/sprite sheet automatico.
- Nessun upload/publish artifact.
- Nessuna trasformazione grafica avanzata oltre export PNG.
