Files
InsanityLab-web/.superpowers/sdd/task-2-report.md
T
2026-07-02 00:06:54 +02:00

8.4 KiB
Raw Blame History

Task 2 Report — Estrazione e mappatura asset immagine da Figma

Data: 2026-07-01
Fonte: ../FigmaDoc/Web Insanity.fig (60 immagini uniche + ~66 duplicati = 126 estratte)
Destinazione: src/assets/img/ (31 file) + public/img/ (2 loghi)


Mappature completate

Hero

File destinazione Hash sorgente Descrizione
hero-1.jpg 8b71f158... Uomo con palla medica (medicine ball) che la tiene verso donna in posizione crunch, palestra scura — "uomo con palla medica + donna" ✓

Info sezioni (PERFORMANCE / BALANCE / LONGEVITY)

File destinazione Hash sorgente Descrizione
info-performance.jpg 0f803439... Uomo muscoloso in planche su sfondo grigio neutro
info-balance.jpg 432d397a... Due donne sedute schiena a schiena in abiti sportivi beige/neutri
info-longevity.jpg d7fcf0aa... Donna anziana in posizione push-up — longevità attiva

Feature sezioni (immagini più grandi per ciascun pilastro)

File destinazione Hash sorgente Descrizione
feature-performance.jpg 6d602573... Uomo con chalk sulle mani — preparazione sollevamento pesi, performance atletica
feature-balance.jpg 16e611de... Gruppo yoga all'aperto al tramonto — equilibrio e benessere
feature-longevity.jpg 98f1f8d2... Donna anziana in piedi con bottiglia d'acqua, outfit sportivo beige — longevità sana

Quote background

File destinazione Hash sorgente Descrizione
quote-bg.jpg 28e8157d... Scritta "PERFORMANCE. BALANCE. LONGEVITY." su muro di intonaco — elemento visivo identitario

Training programs

File destinazione Hash sorgente Descrizione
training-one-to-one.jpg 85808a0c... Trainer e cliente a colloquio in palestra, tablet in mano — consulenza personalizzata
training-small-groups.jpg bb632b8d... Due donne con manubri leggeri in posizione atletica — small group training
training-performance-class.jpg 91aa82b5... Grande gruppo in sala fitness/danza con palle fitball — performance class
training-fit-remote.jpg 86c1363b... Donna a casa sul tappetino con laptop — allenamento remoto online

Team Trainer (homepage — 4 ritratti luce dorata)

File destinazione Hash sorgente Persona identificata
team-donata.jpg 0b6cf694... Donna capelli lunghi scuri dritti, luce dorada laterale — Donata ✓
team-nicola.jpg 1cc33c41... Uomo barba folta, turtleneck scuro, luce dorata — Nicola ✓
team-eleonora.jpg a75ca105... Donna capelli biondi/chiari, stessa luce dorata — Eleonora ✓
team-antonello.jpg e3c84f99... Uomo occhiali tondi, capelli rasatissimi, luce dorata — Antonello ✓

Il Metodo (4 passi circolari)

File destinazione Hash sorgente Step identificato
method-step-1.jpg 88cfcd5f... Calibro plicometro su addome — valutazione composizione corporea
method-step-2.jpg d21671bb... Donna in cucina con verdure fresche e metro — pianificazione nutrizionale
method-step-3.jpg a3e84d7d... Silhouette uomo in palestra in controluce — sessione allenamento
method-step-4.jpg e50b6f78... Scarpe su tapis roulant — monitoraggio continuo e progressione

Partner loghi

File destinazione Hash sorgente Logo identificato
partner-edenred.png bee22f37... "Ticket Welfare Edenred" — logo rosso/blu su sfondo trasparente ✓
partner-welbee.png cf079250... "welbee" — logo verde su sfondo bianco ✓
partner-aon.png 014a7708... "Aon" — logo rosso su sfondo bianco ✓
partner-howden.png 872c3679... "HOWDEN" — logo blu su sfondo bianco ✓

Loghi InsanityLab (public/img/)

File destinazione Sorgente Note
logo-dark.png ../Dati/logo-dark.png Fallback — logo non presente nel file Figma
logo-light.png ../Dati/logo-light.png Fallback — logo non presente nel file Figma

About page (bonus — non richiesti dal brief)

File destinazione Hash sorgente Descrizione
about-exterior.jpg 8ffc5f7a... Facciata esterna palestra/studio InsanityLab, sera
about-team-group.jpg 32ecd00a... Foto di gruppo team InsanityLab in bianco e nero
about-training-group.jpg d4608b10... Gruppo che salta con kettlebell in sala beige
about-trainer-1.jpg dafcc193... Trainer donna capelli scuri ondulati, luce dorata
about-trainer-2.jpg 9c50f1d3... Trainer donna capelli scuri più corti, matura, luce dorata
about-trainer-3.jpg c51a49b9... Trainer donna capelli neri lisci, sorriso, sfondo chiaro
about-trainer-4.jpg 3341a11b... Trainer uomo giovane senza barba, turtleneck scuro

Immagini attese ma non trovate nel Figma

Nome atteso Motivo mancanza Azione intrapresa
logo-dark.png Assente in Web Insanity.fig Fallback da ../Dati/logo-dark.png
logo-light.png Assente in Web Insanity.fig Fallback da ../Dati/logo-light.png

Tutti e 4 i loghi partner sono stati trovati nel Figma. Nessuna altra immagine richiesta dal brief risulta mancante.


Dimensioni finali

src/assets/img/   3.4 MB  (31 file JPG + 4 PNG partner loghi)
public/img/       ~50 KB  (2 PNG logo fallback)

Tutte le immagini sono ≤ 1400 px larghezza o ≤ 1200 px (ritratti). Nessun file supera 400 KB.


Note tecnica — PNG → JPG

Le foto trainer e training erano estratte dal Figma come PNG lossless (68 MB ciascuna). Convertite a JPG qualità 85 con resize a 1200 px max → risparmio ~98% per file. I loghi partner restano PNG per preservare sfondo trasparente.

Il file asset-map.json referenzia gli hash originali (estensione .png/.jpg come estratti). I file di destinazione finali hanno tutti estensione .jpg (eccetto loghi partner .png), il che diverge dai nomi originali nel map ma i file in src/assets/img/ riflettono il formato convertito.


Conteggio

  • Mappate e presenti: 33 (31 in src/assets/img + 2 in public/img)
  • Mancanti nel Figma: 2 (logo-dark, logo-light) → risolti con fallback
  • Immagini estratte totali: 126 (inclusi ~66 duplicati)
  • Lasciate in assets-src/ (gitignored): 126 file sorgente

Fix round 1

Data: 2026-07-02

Cosa cambiato

  1. scripts/asset-map.json — rimossa sezione "public/img" (chiavi non-hash, rompeva pipeline dopo extract-fig-images.sh). Aggiunta sezione top-level "fallbacks" con struttura { "public/img": { "../Dati/logo-dark.png": "logo-dark.png", "../Dati/logo-light.png": "logo-light.png" } }. Le destinazioni in src/assets/img mantengono l'estensione REALE del sorgente estratto da Figma (.png per PNG Figma, .jpg per JPEG già presenti in assets-src).

  2. scripts/apply-asset-map.mjs — aggiunto commento d'intestazione sull'ordine pipeline (extract → apply → optimize). Aggiunto loop fallbacks: copia da path relativo alla root del repo invece che da assets-src/, senza exit 1 per file assenti nel .fig.

  3. scripts/optimize-assets.sh (nuovo) — bash, set -euo pipefail. Converte tutti i PNG non-partner in src/assets/img/ → JPG qualità 85 con resize 1400x>, poi ridimensiona JPG già esistenti se larghezza > 1400px. Idempotente (nullglob su .png).

Output verifica riproducibilità

node scripts/apply-asset-map.mjs → "Copiate 33 immagini"
./scripts/optimize-assets.sh    → 16 PNG→JPG, 5 JPG ridimensionati (hero-1, info-balance, info-longevity, method-step-1, method-step-2)
git status --short              → elenco file identico al pre-fix (31 img + 4 PNG partner)
                                   18 file binari rigenerati (ricompressione diversa da conversione manuale originale)
                                   → ricommittati: repo = output pipeline ✓

Esito punto 4 — bassa risoluzione

  • 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.