Skip to content

GUI v2: le tessere usano gli asset di resources/gui - #21

Merged
cammo22 merged 1 commit into
mainfrom
feat/gui-asset
Oct 23, 2026
Merged

cammo22 merged 1 commit into
mainfrom
feat/gui-asset

Conversation

@cammo22

@cammo22 cammo22 commented Oct 23, 2026

Copy link
Copy Markdown
Owner

Cosa

Il renderer ora usa i 111 WebP di resources/gui (prima nessun riferimento in src/).

  • Tessere con anteprima: 28 stili (a tutta tessera), 12 generi, 8 categorie di Modifica + Estrai/Espandi, luoghi, meteo, stagioni, costumi, animali, espressioni (ride → facce/ridere), locandine delle 6 ricette, 4 modi della strip, copertine lora/qwen|klein per i LoRA senza anteprima.
  • Sfondi e stati vuoti: nebulosa (opacità .35) sul palco, hero-pianeta + mascotte «fluttua» in Crea, mascotte nella tela vuota di Modifica, «saluta» + setup-pianeta nel setup, «cartello» nella schermata d'errore, aurora in Opzioni, nebulosa-calda nella galleria vuota.
  • Mappa id → file in src/renderer/src/anteprime.ts (solo chiavi, testabile in Node); gli URL in src/renderer/src/asset.ts.
  • Installer: via Vite (import.meta.glob(..., { query: '?url' })), niente extraResources né protocollo. Gli asset finiscono in out/renderer/assets → app.asar.
  • Ripiego: senza file o con immagine rotta resta l'icona di prima, senza errori.
  • Versione non toccata (1.1.0); CHANGELOG aggiornato nella sezione «non rilasciato».

Verifiche (locali)

  • npm run typecheck, npm test (con il nuovo test/asset.mjs: ogni tessera punta a un file esistente, WebP validi, tutti nel manifest, nessun asset orfano, url() del CSS validi), npm run build.
  • test/asset-ui.mjs (Chromium + test/finto.js): immagini caricate su tutte le tessere (generi 12, stili 28 in Crea e in Modifica, controlli 40, categorie 10, ricette 6, modi 4) e ripiego con foto.webp bloccato. Regressioni: studio-layout, gui-v2-flussi, gui, interfaccia, box, ricette, lora-ssr, uncensored-ssr, pila-lora, ricette-v2, controlli.
  • electron-builder --win --dir: app.asar contiene 105 .webp (gli altri 6, sotto 4 kB, sono inline come data URI; CSP già permette data:).
  • App impacchettata avviata con USERPROFILE/LOCALAPPDATA/userData isolati: le immagini si caricano da file://.

Nota: asset.ts mette import.meta.glob in un try/catch perché i test SSR compilano i componenti con esbuild fuori da Vite.

Anteprime degli stili, generi, categorie di Modifica, controlli (luoghi, meteo, stagioni, costumi,
animali, espressioni), locandine delle ricette, modi, copertine LoRA, mascotte e sfondi.
Gli asset passano da Vite (import.meta.glob ?url) e finiscono in app.asar; senza file la tessera
resta con l'icona. Test: test/asset.mjs (in npm test) e test/asset-ui.mjs.
@cammo22
cammo22 merged commit a5bd1b7 into main Oct 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant