È un progetto personale, ma le decisioni sono documentate. Ecco quelle
che non si vedono dal README.
Provider Registry + withResilience
Ogni sorgente esterna implementa la stessa interfaccia e passa SEMPRE
per un wrapper unico: timeout via AbortController, errori
catturati, sempre uno di 5 stati. La UI si adatta allo stato — non al
caso.
Streaming SSR + React cache()
I fetcher sono memoizzati per-request con cache(): più
<Suspense> boundary che chiedono lo stesso dato
pagano una sola fetch. Streaming per-sezione, dedupe gratis.
Demo / live a doppio livello
La mode vive su cookie (idratazione server-side, zero flash) con
localStorage di fallback. Atterri in demo: forecast deterministico,
nessuna fetch, nessuna chiave. Il toggle salva la preferenza.
Globo three.js fatto a mano
Terra triangolata con earcut (gestione antimeridiano), coste reali da
world-atlas, atmosfera Fresnel. Estetica "carta sketchy": filtro SVG
turbulence, font hand-drawn, palette carta.