fix: limite altezza in optimize-assets, pesi immagini e report dimensioni
- optimize-assets.sh: resize da 1400x> a 1400x1600> (vincola anche altezza); qualità JPG 85→83; tutti i JPG esistenti ri-codificati (non solo PNG→JPG) - asset-map.json: aggiunta chiave _nota con avviso conversione PNG→JPG - apply-asset-map.mjs: skip chiavi JSON con prefisso _ (chiavi meta) - src/assets/img: 11 MB → 3.7 MB, nessun file >500 KB (max: quote-bg 460 KB) - task-2-report.md: sezione "Dimensioni finali" corretta + "Fix round 2" Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -97,11 +97,13 @@ Tutti e 4 i loghi partner sono stati trovati nel Figma. Nessuna altra immagine r
|
||||
## Dimensioni finali
|
||||
|
||||
```
|
||||
src/assets/img/ 3.4 MB (31 file JPG + 4 PNG partner loghi)
|
||||
public/img/ ~50 KB (2 PNG logo fallback)
|
||||
src/assets/img/ 3.7 MB (31 file JPG + 4 PNG partner loghi)
|
||||
public/img/ ~3.4 KB (2 PNG logo: logo-dark.png 1.7 KB, logo-light.png 1.7 KB)
|
||||
```
|
||||
|
||||
Tutte le immagini sono ≤ 1400 px larghezza o ≤ 1200 px (ritratti). Nessun file supera 400 KB.
|
||||
Tutte le immagini sono ≤ 1400 px larghezza e ≤ 1600 px altezza. Il file più pesante è quote-bg.jpg a 460 KB. Nessun file supera 500 KB.
|
||||
|
||||
*Aggiornato dopo fix round 2 — i numeri precedenti (3.4 MB / nessun file >400 KB) erano errati: la pipeline originale non vincolava l'altezza, lasciando immagini portrait a 2-3 MB ciascuna.*
|
||||
|
||||
---
|
||||
|
||||
@@ -148,3 +150,42 @@ git status --short → elenco file identico al pre-fix (31 img + 4
|
||||
|
||||
- **`method-step-3.jpg`** (184×276): sorgente in `assets-src/a3e84d7daf0b25c750ef694f4b9fc10bf0f2f1a8.jpg` è già 184×276 — stessa risoluzione del file committato. Nessuna versione ad alta risoluzione disponibile in `assets-src/`. **Richiede sorgente migliore dal cliente.**
|
||||
- **`about-team-group.jpg`** (270×480): sorgente in `assets-src/32ecd00a20321e58c700fbaf739e53ac3bf03876.png` è già 270×480. Nessuna versione ad alta risoluzione disponibile. **Richiede sorgente migliore dal cliente.**
|
||||
|
||||
---
|
||||
|
||||
## Fix round 2
|
||||
|
||||
**Data:** 2026-07-02
|
||||
|
||||
### Numeri finali
|
||||
|
||||
```
|
||||
src/assets/img/ 3.7 MB totale (31 JPG + 4 PNG partner)
|
||||
```
|
||||
|
||||
Top-5 per peso:
|
||||
| File | Dimensioni | Peso |
|
||||
|---|---|---|
|
||||
| quote-bg.jpg | 1087×1600 | 460 KB |
|
||||
| info-performance.jpg | 1200×1500 | 256 KB |
|
||||
| info-longevity.jpg | 1095×1600 | 248 KB |
|
||||
| training-performance-class.jpg | 1400×1400 | 240 KB |
|
||||
| about-exterior.jpg | 1400×781 | 188 KB |
|
||||
|
||||
Nessun file supera 500 KB. Precedente info-longevity.jpg era 2.7 MB, info-balance.jpg 2.0 MB.
|
||||
|
||||
### Cosa cambiato
|
||||
|
||||
1. **`scripts/optimize-assets.sh`** — vincolo resize cambiato da `'1400x>'` (solo larghezza) a `'1400x1600>'` (larghezza E altezza). Qualità JPG da 85 a 83. Tutti i JPG già esistenti vengono ri-codificati a q83 con nuovo vincolo (loop separato, skip file appena convertiti per evitare doppia codifica). Risultato: portrait da 2-3 MB → 248-460 KB.
|
||||
|
||||
2. **`scripts/asset-map.json`** — aggiunta chiave `"_nota"` in testa per documentare la conversione PNG→JPG operata da optimize-assets.sh (JSON non supporta commenti, chiave dedicata con prefisso `_`).
|
||||
|
||||
3. **`scripts/apply-asset-map.mjs`** — aggiunto `destDir.startsWith('_')` nella condizione di skip, così le chiavi meta `_*` del JSON vengono ignorate nella pipeline.
|
||||
|
||||
### Esito idempotenza
|
||||
|
||||
Terza esecuzione `apply-asset-map.mjs + optimize-assets.sh`: md5sum su tutti i .jpg identico prima e dopo → **IDEMPOTENTE** ✓
|
||||
|
||||
### Esito verifica loghi
|
||||
|
||||
`public/img/logo-dark.png` (130×19, 1725 B) e `logo-light.png` (135×19, 1701 B) sono **identici** ai file sorgente in `../Dati/logo-dark.png` e `../Dati/logo-light.png` (stessa dimensione byte-level). Non sono placeholder: sono i loghi reali InsanityLab copiati dalla sezione `fallbacks` di asset-map.json tramite apply-asset-map.mjs. Le dimensioni in pixel ridotte (130×19 px) sono caratteristiche del PNG sorgente in Dati/, non di un errore di pipeline.
|
||||
|
||||
Reference in New Issue
Block a user