La livrea unica di casa
12/09/2026. vitti: *"cambiamo idea... una livrea unica per tutta la
piattaforma! E il servizio si riconosce dal contenuto, e proprio se vogliamo
fare i fighi dal favicon!"*.
Da dove si veniva
In casa c'erano tre livree, e nessuna in un posto solo:
| dove | colore | |
| piattaforma | vrp-lab.css | ardesia-blu (#0f141b) |
| wizard, share, esploratore | wiz_foto/theme.css, vrp-explorer.css | grigio antracite (#1e2127) |
| diario | vrv-dark.css | grigio antracite, e dal mattino rosso |
Lo stesso colore stava scritto a mano in 10 file. Cambiarne uno voleva
dire cambiarli tutti, e nessuno l'avrebbe mai fatto.
Com'e' adesso
public/css/vrp-livrea.css - un file, solo variabili, nessuna regola.
Quattro piani (fondale, cornice, riquadro, riga), l'inchiostro, le righe, e i
colori che *parlano* (ok, errore, avviso, accento).
Chi la carica:
- le pagine di piattaforma:
public/index.php, per prima nel<head>; - i servizi ospitati (diario, wizard, share): nessuno di loro ha una riga
in piu' - la infila la piattaforma con vrp_service_livrea(), subito dopo
<head>, con la stessa tecnica salva-binari con cui gia' metteva lo sfondo.
Un CSV o un mp3 restano intatti.
Chi la usa, dopo la conversione di oggi:
| file | colori a mano PRIMA | DOPO |
css/vrp-lab.css | 90 | 0 |
css/vrp-jukebox.css | 44 | 0 (restano 5 ombre) |
css/vrp-explorer.css | 53 | 25, tutti del visore foto |
wiz_foto/theme.css | 36 | 0 (solo ripieghi) |
share/index.php | 1 | 0 (solo ripiego) |
🔑 Il modo piu' veloce non e' stato riscrivere: e' stato PRESENTARE.
L'esploratore, il wizard e il diario avevano gia' una paletta loro
(--vx-*, --bg/--panel/…, --vrvd-*) e la usavano ovunque. Convertirli e'
stato puntare quei nomi alla livrea - dodici righe a testa - non rinominare
163 usi in 1.400 righe. Un nome locale non e' una duplicazione finche' il
VALORE viene da un posto solo.
Ogni rimando porta un ripiego dopo la virgola: un servizio aperto fuori
dalla piattaforma resta vestito invece di tornare bianco.
Quello che NON prende la livrea, apposta
- le ombre: un'ombra non e' un colore della casa, e' mancanza di luce;
- il visore delle foto (
.vx-lightbox): una foto si guarda sul nero; - le targhette sopra le miniature: stanno su una foto, non sulla livrea.
Il favicon fa il lavoro che faceva il colore
Prima il grigio diceva «sei nel wizard» e il chiaro «sei nel diario di
Elena». Con una livrea sola quel segnale sparisce - e vitti l'ha sostituito
con il favicon: vrp_favicon_emoji() prende l'emoji dal manifest.icon che
gia' esiste (quella della cartolina in home), vrp_favicon_href() la
impacchetta in un SVG dentro l'indirizzo. Nessun file da disegnare, nessuna
icona da tenere in pari, e si ridisegna a qualunque misura.
Provato: 🏠 sulle pagine di piattaforma, 🧭 sul diario, 🔗 sullo share.
✅ E fa una cosa che il colore non ha mai fatto: si vede nella **linguetta di
una scheda in secondo piano**.
Cosa manca ancora (e non e' urgente)
| file | colori a mano |
vv/css/vrv-dark.css | 228 - ma la sua PALETTA viene gia' dalla livrea, e il grosso del diario si ricolora. Sono i dettagli |
vv/musica_picker.php | 27 |
vv/css/vrv-media-popup.css | 15 |
vv/bg_picker.php | 9 |
Come si cambia livrea, da oggi
Si aprono le venti righe di vrp-livrea.css e si cambiano i valori. Tutta la
casa segue. Per provarne una senza impegno basta un secondo file caricato
dopo, che ridichiara le stesse variabili - e' esattamente il trucco con cui
e' nato il rosso (vv/css/vrv-rosso.css).
Le manopole di POSIZIONE, e perche' ci sono
vitti, poche ore dopo: *"ricordandoti che abbiamo in piano di integrare Claude
per aiutarci a disporre foto e barre sulla finestra del browser... visto che
stiamo parametrizzando i css, facciamolo avendo gia' in mente questa
evoluzione"*. (E poi: *"forse sono arrivato tardi..."* — no: le variabili e le
varianti caricate per ultime sono la fondazione che serve.)
L'idea di fondo e' project_claude_css_sfondi (08/09): dare a un modello la
FOTO dello sfondo e lo SCATTO della pagina e farsi dire dove spostare barra e
cartoline perche' non coprano le facce.
🔑 Il modello non deve scrivere CSS libero. Uno che scrive CSS a mano
libera puo' rompere la pagina in mille modi, e ogni giro costa in token quanto
e' lungo quel che scrive. Uno che puo' solo girare manopole dichiarate
produce dieci righe, non puo' rompere niente che non sia la posizione di un
riquadro, e la risposta si legge, si confronta e si butta in un secondo.
Per questo la parametrizzazione di oggi non si e' fermata ai colori.
33 manopole, in tre famiglie:
- *colore* (14) — le tinte;
- *velo* (2) —
--vrp-velo-alto/--vrp-velo-basso, i due gradini del velo
sopra la foto. E' la manopola piu' importante per uno sfondo nuovo;
- *ingombro* (17) — dove stanno le cose: larghezza e lato della colonna delle
cartoline, quanto scendono dall'alto, i quattro lati del riquadro UPS, la
barra, la colonna del contenuto, angoli e sfocatura.
Il lato si dice coi due margini, che e' la forma piu' facile da dare a un
programma: --vrp-cards-ml: auto + --vrp-cards-mr: 0 = a destra; scambiati =
a sinistra; tutt'e due auto = al centro.
Il catalogo
public/css/livrea.catalogo.json — nome, tipo, default, minimo, massimo e
a cosa serve, per ogni manopola. Serve a due cose, e sono tutt'e due del
programma, non dell'uomo: (1) costruire la domanda da fare al modello,
(2) convalidare la risposta prima di scriverla su disco. Una risposta che
nomina una manopola che non e' in catalogo si butta.
Sta accanto al CSS apposta: se si aggiunge una variabile li', si aggiunge una
voce qui.
Dove atterra la risposta
public/css/livree/<nome dello sfondo>.css — un file per sfondo, che
ridichiara solo le manopole cambiate. Lo carica da solo
vrp_livrea_variante(), per ultimo, sia sulle pagine di piattaforma sia su
quelle dei servizi. Si genera una volta e poi non costa piu' niente — era
l'intuizione di vitti: *"magari salvandoli cosi' si potrebbero riutilizzare"*.
✅ Provato con lo sfondo vero. livree/19900615vulcanovu-086.css: le
cartoline scendono a 26vh e il velo in alto passa da .55 a .22. A video,
le facce di Vulcano non sono piu' coperte e la foto si vede. L'ho lasciato
acceso: sono sei righe, si cancella il file e si torna com'era.
📌 Quelle sei righe le ho scritte a mano, indovinando. E' esattamente il
lavoro che un domani fara' il modello guardando la foto.
⚠️ Il contrasto non si chiede al modello: si calcola (WCAG). Il modello
serve per il gusto e per l'ingombro, non per dire se due colori si distinguono.