{
  "project": "DJ KIST — Personal frequency",
  "caseStudy": "DOGO Studio",
  "preparedDate": "2026-10-23",
  "sourceProject": "DJ KIST/site",
  "language": "it",
  "provenanceScope": "Raccolta e adattamento di asset gia presenti nel progetto artista. Le fonti indicate provengono dal sorgente e dai suoi registri ASSET-SOURCES.md, asset-manifest.md, SPRITES.md e AUDIT.md; non costituiscono una nuova verifica legale o una nuova attribuzione di paternita.",
  "rightsNote": "Non e dichiarata alcuna licenza generale per fotografie, video, copertine, locandine o marchio. I diritti degli autori, dell’artista, dei fotografi e degli editori restano ai rispettivi titolari. Solo i font includono la licenza OFL originale documentata nel progetto.",
  "assets": [
    {
      "file": "kist-wordmark-v2.svg",
      "source": "public/media/kist-wordmark-v2.svg",
      "category": "identita-creata",
      "description": "Wordmark tipografico finale KIST: lettering geometrico originale, tre tracce cyan/violet/lime e un sottile highlight animato. Il personaggio resta separato.",
      "sourceReferences": [
        "design/kist-logo-v2-prompt.md",
        "asset-manifest.md#kist-signature-v2--21-october-2026"
      ],
      "origin": "Direzione esplorata con imagegen; finalizzazione in SVG con tracciati vettoriali originali. Il file finale non e un bitmap generato.",
      "width": 1120,
      "height": 260,
      "caseTransformation": "Copia invariata del file usato nel sito artista.",
      "path": "/media/case-studies/dj-kist/kist-wordmark-v2.svg",
      "bytes": 2624,
      "sourceBytes": 2624,
      "sha256": "28e9eb42c528ea5116c5e56f694affb4972198754a51f8cd3f8fe97fde8acc52"
    },
    {
      "file": "kist-wordmark-v2.webp",
      "source": "public/media/kist-wordmark-v2.webp",
      "category": "identita-creata",
      "description": "Esportazione WebP lossless trasparente del wordmark finale.",
      "sourceReferences": [
        "asset-manifest.md#kist-signature-v2--21-october-2026"
      ],
      "origin": "Esportato dal medesimo SVG originale; nessun nuovo ritocco nel case study.",
      "caseTransformation": "Copia invariata del file usato nel sito artista.",
      "path": "/media/case-studies/dj-kist/kist-wordmark-v2.webp",
      "bytes": 32000,
      "sourceBytes": 32000,
      "width": 2987,
      "height": 693,
      "hasAlpha": true,
      "sha256": "82f5548b384e3397a5f14379a1b6a1dd6d277d57f738f4328ce9f5d6e99c7037"
    },
    {
      "file": "thirtyteen-cover.webp",
      "source": "public/media/thirtyteen-cover.webp",
      "category": "materiali-artista",
      "description": "Copertina del set THIRTYTEEN, associata al profilo SoundCloud di KIST.",
      "sourceUrl": "https://soundcloud.com/benedetta-pasquariello/thirtyteen",
      "sourceReferences": [
        "src/data/artist.ts"
      ],
      "origin": "Asset gia usato nel portfolio artista. Non attribuito a DOGO come nuova copertina; autore grafico non documentato nei file esaminati.",
      "caseTransformation": "Copia invariata del file usato nel sito artista.",
      "path": "/media/case-studies/dj-kist/thirtyteen-cover.webp",
      "bytes": 21266,
      "sourceBytes": 21266,
      "width": 500,
      "height": 500,
      "hasAlpha": false,
      "sha256": "46ee72b6ef4bc4e3e2bed13e7227d120c8f198de611e9f866ef95d8f4f02c1a3"
    },
    {
      "file": "thirtyteen-vinyl.webp",
      "source": "public/media/thirtyteen-vinyl.webp",
      "category": "presentazione-ui",
      "description": "Presentazione della copertina THIRTYTEEN con vinile, usata nella UI Sound.",
      "sourceUrl": "https://soundcloud.com/benedetta-pasquariello/thirtyteen",
      "sourceReferences": [
        "src/data/artist.ts"
      ],
      "origin": "Asset di presentazione gia presente nel progetto. La copertina resta materiale del set dell’artista; processo produttivo del mockup non documentato.",
      "caseTransformation": "Copia invariata del file usato nel sito artista.",
      "path": "/media/case-studies/dj-kist/thirtyteen-vinyl.webp",
      "bytes": 74704,
      "sourceBytes": 74704,
      "width": 1100,
      "height": 733,
      "hasAlpha": true,
      "sha256": "bc66bbf4af9399fcdb65c67cfa8a273697290886985133a3c0ae86d23de2ed4e"
    },
    {
      "file": "bipolar-cover.webp",
      "source": "public/media/bipolar-cover.webp",
      "category": "materiali-artista",
      "description": "Copertina del set Bipolar, associata al profilo SoundCloud di KIST.",
      "sourceUrl": "https://soundcloud.com/benedetta-pasquariello/bipolar",
      "sourceReferences": [
        "src/data/artist.ts"
      ],
      "origin": "Asset gia usato nel portfolio artista. Non attribuito a DOGO come nuova copertina; autore grafico non documentato nei file esaminati.",
      "caseTransformation": "Copia invariata del file usato nel sito artista.",
      "path": "/media/case-studies/dj-kist/bipolar-cover.webp",
      "bytes": 17672,
      "sourceBytes": 17672,
      "width": 500,
      "height": 500,
      "hasAlpha": false,
      "sha256": "1a1bfb7db2b8d66e46dd739cb3e55a8d8f74cb9920c711157d95b098dd7239fc"
    },
    {
      "file": "bipolar-vinyl.webp",
      "source": "public/media/bipolar-vinyl.webp",
      "category": "presentazione-ui",
      "description": "Presentazione della copertina Bipolar con vinile, usata nella UI Sound.",
      "sourceUrl": "https://soundcloud.com/benedetta-pasquariello/bipolar",
      "sourceReferences": [
        "src/data/artist.ts"
      ],
      "origin": "Asset di presentazione gia presente nel progetto. La copertina resta materiale del set dell’artista; processo produttivo del mockup non documentato.",
      "caseTransformation": "Copia invariata del file usato nel sito artista.",
      "path": "/media/case-studies/dj-kist/bipolar-vinyl.webp",
      "bytes": 53882,
      "sourceBytes": 53882,
      "width": 1100,
      "height": 733,
      "hasAlpha": true,
      "sha256": "1dd69c31c95e4b227ad303771902af968f32a6536cb53cd4dafe6e95fb92f3ed"
    },
    {
      "file": "declinatio-cover.webp",
      "source": "public/media/declinatio-cover.webp",
      "category": "materiali-artista",
      "description": "Copertina originale del set Declinatio electronica, usata senza sleeve aggiuntiva nella UI Sound.",
      "sourceUrl": "https://soundcloud.com/benedetta-pasquariello/declinatio-electronica",
      "sourceReferences": [
        "src/data/artist.ts",
        "ASSET-SOURCES.md"
      ],
      "origin": "Collegata al profilo ufficiale SoundCloud dalla bio Instagram dell’artista. Non attribuita a DOGO come nuova copertina.",
      "caseTransformation": "Copia invariata del file usato nel sito artista.",
      "path": "/media/case-studies/dj-kist/declinatio-cover.webp",
      "bytes": 72884,
      "sourceBytes": 72884,
      "width": 500,
      "height": 500,
      "hasAlpha": false,
      "sha256": "584ae8eb6f17a01c45fd8c54c792ac1326e066d89086851cadfca95e25532cc7"
    },
    {
      "file": "portrait.webp",
      "source": "public/media/hero/kist-mural-portrait-desktop-v1.webp",
      "category": "fotografia-fornita",
      "description": "Ritratto reale di KIST davanti al murale, derivato dalla foto originale fornita.",
      "sourceReferences": [
        "asset-manifest.md#additional-selections-for-the-rotating-hero--20-october-2026"
      ],
      "origin": "Originale WhatsApp Image 2026-10-03 at 12.42.37.jpeg, fornito dall’utente nell’archivio del 20 ottobre 2026. Derivato sito a 1600x1200 senza ritocco o sintesi; copia invariata nel case. Fotografo non identificato nella documentazione esaminata.",
      "caseTransformation": "Copia invariata del file usato nel sito artista.",
      "path": "/media/case-studies/dj-kist/portrait.webp",
      "bytes": 177992,
      "sourceBytes": 177992,
      "width": 1600,
      "height": 1200,
      "hasAlpha": false,
      "sha256": "22df9b01fe0f936a2187fbc1f79099439eca3509ae0c811f295055c27282e20d"
    },
    {
      "file": "fifteen-frames.webp",
      "source": "public/media/kist-fifteen-frames-clean-v2.webp",
      "category": "fotografia-rielaborata",
      "description": "KIST alla console durante Fifteen Frames: immagine ritoccata gia presente nel sito.",
      "sourceUrl": "https://www.instagram.com/reel/DbbEcZJt6uv/",
      "sourceReferences": [
        "src/data/artist.ts",
        "RESEARCH.md"
      ],
      "origin": "Fotogramma della sessione All For Music / Fifteen Frames S01-E29. E una fotografia ritoccata, non un video. Il metodo dei ritocchi non e documentato nei file esaminati; nessun nuovo ritocco nel case.",
      "caseTransformation": "Copia invariata del file usato nel sito artista.",
      "path": "/media/case-studies/dj-kist/fifteen-frames.webp",
      "bytes": 301158,
      "sourceBytes": 301158,
      "width": 1662,
      "height": 946,
      "hasAlpha": false,
      "sha256": "d01f319158f1f511562d86a5175632cc35aaede7e038270a30c172907dfa138a"
    },
    {
      "file": "plug-radio.webp",
      "source": "public/media/plug-radio-poster-v2.jpg",
      "category": "materiali-editore",
      "description": "Poster ufficiale pubblico della sessione KIST per Plug Radio; sessione video di 53:12.",
      "sourceUrl": "https://i.ytimg.com/vi/sP0j9EdBOxc/maxresdefault.jpg",
      "referenceUrl": "https://www.youtube.com/watch?v=sP0j9EdBOxc",
      "sourceReferences": [
        "asset-manifest.md#plug-radio-preview--21-october-2026"
      ],
      "origin": "Thumbnail ufficiale YouTube conservata nel progetto a 1280x720. Nel case e solo convertita in WebP quality 85, senza crop o modifica visiva. Il video completo resta erogato da YouTube.",
      "caseTransformation": "Conversione JPEG -> WebP, quality 85; nessun crop, upscaling o ritocco.",
      "path": "/media/case-studies/dj-kist/plug-radio.webp",
      "bytes": 71944,
      "sourceBytes": 126772,
      "width": 1280,
      "height": 720,
      "hasAlpha": false,
      "sha256": "ff35899011eeef735ce3875207ffb1da6dfa2202cc9975d51a72bb5ca5ee60d0"
    },
    {
      "file": "event-market.webp",
      "source": "public/media/cantina-letteraria-market-2026-10-25.jpg",
      "category": "materiali-organizzatore",
      "description": "Locandina originale del market con DJ set KIST, Cantina Letteraria, 25 ottobre 2026.",
      "sourceUrl": "https://www.instagram.com/p/DdGmU9uoaxH/",
      "sourceReferences": [
        "ASSET-SOURCES.md#cantina-letteraria-market--25-october-2026",
        "src/data/artist.ts"
      ],
      "origin": "Originale fornito dall’utente il 15 ottobre 2026 e conservato nel progetto. Conversione WebP quality 85 senza ritocco. L’apertura market e alle 17:00; non e un orario di inizio set separatamente confermato.",
      "caseTransformation": "Conversione JPEG -> WebP, quality 85; nessun crop, upscaling o ritocco.",
      "path": "/media/case-studies/dj-kist/event-market.webp",
      "bytes": 61492,
      "sourceBytes": 81937,
      "width": 920,
      "height": 1600,
      "hasAlpha": false,
      "sha256": "3974322ca950f77a9a12e3bd27ac2101d36dbf45946f6904f5228729b8306790"
    },
    {
      "file": "event-sinergie.webp",
      "source": "public/media/sinergie-2026.jpg",
      "category": "materiali-organizzatore",
      "description": "Locandina Sinergie: KIST alla Filla, Montagnola, Bologna, 9 luglio 2026.",
      "sourceUrl": "https://www.instagram.com/thats_kist/p/DadiXP_KgNF/",
      "sourceReferences": [
        "ASSET-SOURCES.md",
        "src/data/artist.ts"
      ],
      "origin": "Immagine pubblica del post dell’artista gia presente nel sito; la locandina reca il 9 luglio, distinto dalla data di pubblicazione del post. Conversione WebP quality 85 senza ritocco. Autore grafico non documentato.",
      "caseTransformation": "Conversione JPEG -> WebP, quality 85; nessun crop, upscaling o ritocco.",
      "path": "/media/case-studies/dj-kist/event-sinergie.webp",
      "bytes": 67354,
      "sourceBytes": 61709,
      "width": 480,
      "height": 640,
      "hasAlpha": false,
      "sha256": "344f4724590f121c4582a32febf00f39b9d0373cff9712bfc74d933d40f5b8d9"
    },
    {
      "file": "hero-poster.webp",
      "source": "public/media/hero/kist-night-desktop-poster-v1.webp",
      "category": "fotogramma-video-fornito",
      "description": "Poster del video hero desktop: atmosfera reale accanto alla console, folla e murale.",
      "sourceReferences": [
        "asset-manifest.md#desktop-hero"
      ],
      "origin": "Estratto a 1,2 secondi del derivato desktop, corrispondenti a 4,2 secondi della clip originale fornita. Copia invariata; il fotogramma non e un primo piano dell’artista.",
      "caseTransformation": "Copia invariata del file usato nel sito artista.",
      "path": "/media/case-studies/dj-kist/hero-poster.webp",
      "bytes": 32118,
      "sourceBytes": 32118,
      "width": 832,
      "height": 464,
      "hasAlpha": false,
      "sha256": "a5a2a5b2d1ba330cf9cdc8b6922a7f25868bc667ebadd48d256f54311a1d35ff"
    },
    {
      "file": "hero-mobile-poster.webp",
      "source": "public/media/hero/kist-night-mobile-poster-v1.webp",
      "category": "fotogramma-video-fornito",
      "description": "Poster della versione mobile del video hero, con artista e console.",
      "sourceReferences": [
        "asset-manifest.md#mobile-hero"
      ],
      "origin": "Estratto dalla clip originale fornita, con crop che esclude lo sticker di supporto incorporato. Copia invariata del derivato mobile presente nel sito.",
      "caseTransformation": "Copia invariata del file usato nel sito artista.",
      "path": "/media/case-studies/dj-kist/hero-mobile-poster.webp",
      "bytes": 16616,
      "sourceBytes": 16616,
      "width": 480,
      "height": 592,
      "hasAlpha": false,
      "sha256": "1971eed3ee19fa4cfe2bcaf529f8348d41cb02eec24df48cc67e1cb1ede505a8"
    },
    {
      "file": "hero-preview.mp4",
      "path": "/media/case-studies/dj-kist/hero-preview.mp4",
      "source": "public/media/hero/kist-night-desktop-v1.mp4",
      "category": "video-fornito",
      "description": "Estratto silenzioso desktop della clip reale fornita; atmosfera accanto alla console, crowd e murale.",
      "origin": "Originale WhatsApp Video 2026-10-20 at 14.34.32.mp4 fornito dall’utente. Il derivato sito corregge orientamento, seleziona secondi 3-15 e rimuove l’audio. Nessuna immagine sintetica. Copiato invariato nel case.",
      "sourceReferences": [
        "asset-manifest.md#desktop-hero"
      ],
      "width": 832,
      "height": 464,
      "durationSeconds": 12,
      "fps": 24,
      "hasAudio": false,
      "bytes": 1871107,
      "sourceBytes": 1871107,
      "sha256": "1b6513f82b8c1b8c48a56604d96ab86894ddc7811febd96c4ca0270a1f925d07",
      "caseTransformation": "Copia invariata; H.264, yuv420p, fast-start come documentato nel progetto sorgente."
    },
    {
      "file": "kist/kist-16bit-mix.webp",
      "source": "public/media/kist/kist-16bit-mix.webp",
      "category": "personaggio-pixel-art",
      "description": "Atlante completo mix, 8 frame sorgente in griglia 4 × 2.",
      "origin": "Asset generato con imagegen a partire dal personaggio approvato. Copia invariata del progetto artista.",
      "frames": 8,
      "columns": 4,
      "rows": 2,
      "frameWidth": 384,
      "frameHeight": 512,
      "playbackFrames": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7
      ],
      "path": "/media/case-studies/dj-kist/kist/kist-16bit-mix.webp",
      "bytes": 488860,
      "width": 1536,
      "height": 1024,
      "hasAlpha": true,
      "sha256": "5be87fcca90f36292bb974d00ffb4f7fc4012b35667a2bf9ba3118f7248f5158"
    },
    {
      "file": "kist/kist-16bit-mix-poster.webp",
      "source": "public/media/kist/kist-16bit-mix-poster.webp",
      "category": "personaggio-pixel-art",
      "description": "Primo frame mix.",
      "origin": "Asset generato con imagegen a partire dal personaggio approvato. Copia invariata del progetto artista.",
      "path": "/media/case-studies/dj-kist/kist/kist-16bit-mix-poster.webp",
      "bytes": 61542,
      "width": 384,
      "height": 512,
      "hasAlpha": true,
      "sha256": "24600a19cc7f27ddce01a25f6499b02b3d2840801d906298439104e8131bc797"
    },
    {
      "file": "kist/kist-16bit-wave.webp",
      "source": "public/media/kist/kist-16bit-wave.webp",
      "category": "personaggio-pixel-art",
      "description": "Atlante completo wave, 8 frame sorgente in griglia 4 × 2.",
      "origin": "Asset generato con imagegen a partire dal personaggio approvato. Copia invariata del progetto artista.",
      "frames": 8,
      "columns": 4,
      "rows": 2,
      "frameWidth": 384,
      "frameHeight": 512,
      "playbackFrames": [
        0,
        1,
        2,
        3,
        5,
        6,
        7
      ],
      "path": "/media/case-studies/dj-kist/kist/kist-16bit-wave.webp",
      "bytes": 510492,
      "width": 1536,
      "height": 1024,
      "hasAlpha": true,
      "sha256": "2e756be56242755e269e7c89c0cd7a4d7b43b221c6953183c948a8041c824369"
    },
    {
      "file": "kist/kist-16bit-wave-poster.webp",
      "source": "public/media/kist/kist-16bit-wave-poster.webp",
      "category": "personaggio-pixel-art",
      "description": "Primo frame wave.",
      "origin": "Asset generato con imagegen a partire dal personaggio approvato. Copia invariata del progetto artista.",
      "path": "/media/case-studies/dj-kist/kist/kist-16bit-wave-poster.webp",
      "bytes": 63534,
      "width": 384,
      "height": 512,
      "hasAlpha": true,
      "sha256": "276a588d5fd4b16dd80ad352b136515306a56d2c4b5ef4efd9322d49f10d59b1"
    },
    {
      "file": "kist/kist-16bit-groove.webp",
      "source": "public/media/kist/kist-16bit-groove.webp",
      "category": "personaggio-pixel-art",
      "description": "Atlante completo groove, 8 frame sorgente in griglia 4 × 2.",
      "origin": "Asset generato con imagegen a partire dal personaggio approvato. Copia invariata del progetto artista.",
      "frames": 8,
      "columns": 4,
      "rows": 2,
      "frameWidth": 384,
      "frameHeight": 512,
      "playbackFrames": [
        0,
        1,
        2,
        3,
        4,
        6,
        7
      ],
      "path": "/media/case-studies/dj-kist/kist/kist-16bit-groove.webp",
      "bytes": 515732,
      "width": 1536,
      "height": 1024,
      "hasAlpha": true,
      "sha256": "7163497f09ef4c579ae088ae37def6281ae144766edaf9c0c828599b5d36b813"
    },
    {
      "file": "kist/kist-16bit-groove-poster.webp",
      "source": "public/media/kist/kist-16bit-groove-poster.webp",
      "category": "personaggio-pixel-art",
      "description": "Primo frame groove.",
      "origin": "Asset generato con imagegen a partire dal personaggio approvato. Copia invariata del progetto artista.",
      "path": "/media/case-studies/dj-kist/kist/kist-16bit-groove-poster.webp",
      "bytes": 65642,
      "width": 384,
      "height": 512,
      "hasAlpha": true,
      "sha256": "ddd8f3a63e03a3b39366684c619f0136e80ffa8d9023bb2806f80b9e49ef8962"
    },
    {
      "file": "kist/kist-16bit-run.webp",
      "source": "public/media/kist/kist-16bit-run.webp",
      "category": "personaggio-pixel-art",
      "description": "Atlante completo run, 8 frame sorgente in griglia 4 × 2.",
      "origin": "Asset generato con imagegen a partire dal personaggio approvato. Copia invariata del progetto artista.",
      "frames": 8,
      "columns": 4,
      "rows": 2,
      "frameWidth": 384,
      "frameHeight": 512,
      "playbackFrames": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7
      ],
      "path": "/media/case-studies/dj-kist/kist/kist-16bit-run.webp",
      "bytes": 499804,
      "width": 1536,
      "height": 1024,
      "hasAlpha": true,
      "sha256": "15ca9f885c7469485c5534e1eb1726c37a3c2d5e33868d2474e167068595ce50"
    },
    {
      "file": "kist/kist-16bit-run-poster.webp",
      "source": "public/media/kist/kist-16bit-run-poster.webp",
      "category": "personaggio-pixel-art",
      "description": "Primo frame run.",
      "origin": "Asset generato con imagegen a partire dal personaggio approvato. Copia invariata del progetto artista.",
      "path": "/media/case-studies/dj-kist/kist/kist-16bit-run-poster.webp",
      "bytes": 67224,
      "width": 384,
      "height": 512,
      "hasAlpha": true,
      "sha256": "fd60afba349987ec179c6aadfcc6d51ce93bf4a90c9513f1e3f1128a442312f3"
    },
    {
      "file": "world/bologna-portici-v1.webp",
      "source": "public/media/world/bologna-portici-v1.webp",
      "category": "ambiente-pixel-art",
      "description": "Bologna immaginata / portici.",
      "origin": "Ambiente generato con imagegen per il sito artista; non una ricostruzione documentaria. Copia invariata.",
      "path": "/media/case-studies/dj-kist/world/bologna-portici-v1.webp",
      "bytes": 72944,
      "width": 640,
      "height": 360,
      "hasAlpha": false,
      "sha256": "e03f5b7b1db299d846e73fd16ede41ddd0a44bcd9cd3e41d4e179980a4db6fd7"
    },
    {
      "file": "world/bologna-piazza-v1.webp",
      "source": "public/media/world/bologna-piazza-v1.webp",
      "category": "ambiente-pixel-art",
      "description": "Bologna immaginata / piazza.",
      "origin": "Ambiente generato con imagegen per il sito artista; non una ricostruzione documentaria. Copia invariata.",
      "path": "/media/case-studies/dj-kist/world/bologna-piazza-v1.webp",
      "bytes": 88680,
      "width": 640,
      "height": 360,
      "hasAlpha": false,
      "sha256": "dc60a98e947484b9083e651aedfed2070d5758c1d6fa9c69752988590ae09277"
    },
    {
      "file": "world/bologna-rooftops-v1.webp",
      "source": "public/media/world/bologna-rooftops-v1.webp",
      "category": "ambiente-pixel-art",
      "description": "Bologna immaginata / rooftops.",
      "origin": "Ambiente generato con imagegen per il sito artista; non una ricostruzione documentaria. Copia invariata.",
      "path": "/media/case-studies/dj-kist/world/bologna-rooftops-v1.webp",
      "bytes": 92888,
      "width": 640,
      "height": 360,
      "hasAlpha": false,
      "sha256": "fdd4582d8229a5b3192e6a38ef65b34bf85c07270b62abaf0df4239bdd1ebf39"
    },
    {
      "file": "world/bologna-foreground-v1.webp",
      "source": "public/media/world/bologna-foreground-v1.webp",
      "category": "ambiente-pixel-art",
      "description": "Bologna immaginata / foreground.",
      "origin": "Ambiente generato con imagegen per il sito artista; non una ricostruzione documentaria. Copia invariata.",
      "path": "/media/case-studies/dj-kist/world/bologna-foreground-v1.webp",
      "bytes": 61456,
      "width": 640,
      "height": 360,
      "hasAlpha": true,
      "sha256": "6d939c90a5e88a6de428f809973563c20f9efd25506d0599c8ff31bf6186213e"
    },
    {
      "file": "ui-desktop.webp",
      "source": "https://www.djkist.it/",
      "category": "schermata-sito",
      "description": "Cattura reale della vista desktop, 23 ottobre 2026.",
      "origin": "Screenshot del sito pubblicato, convertito in WebP senza ritocchi al contenuto.",
      "capturedDate": "2026-10-23",
      "path": "/media/case-studies/dj-kist/ui-desktop.webp",
      "bytes": 57702,
      "width": 1265,
      "height": 712,
      "hasAlpha": false,
      "sha256": "83c7f5d0b800c9f466bb15d4f518bd0f3d8315b75b0828d850e23f1652b42984"
    },
    {
      "file": "ui-menu.webp",
      "source": "https://www.djkist.it/",
      "category": "schermata-sito",
      "description": "Cattura reale della vista menu, 23 ottobre 2026.",
      "origin": "Screenshot del sito pubblicato, convertito in WebP senza ritocchi al contenuto.",
      "capturedDate": "2026-10-23",
      "path": "/media/case-studies/dj-kist/ui-menu.webp",
      "bytes": 60858,
      "width": 1265,
      "height": 712,
      "hasAlpha": false,
      "sha256": "aa9cae56fd1be6424b7879836f0439af01a04d37ef1482cdc45f309526485a5b"
    },
    {
      "file": "ui-sound.webp",
      "source": "https://www.djkist.it/#sound",
      "category": "schermata-sito",
      "description": "Cattura reale della vista sound, 23 ottobre 2026.",
      "origin": "Screenshot del sito pubblicato, convertito in WebP senza ritocchi al contenuto.",
      "capturedDate": "2026-10-23",
      "path": "/media/case-studies/dj-kist/ui-sound.webp",
      "bytes": 53726,
      "width": 1265,
      "height": 712,
      "hasAlpha": false,
      "sha256": "d622e0f86dcbc39b9faeca8705b88cf618b3b17fa2a9880744ea343fc73ddf30"
    },
    {
      "file": "ui-sessions.webp",
      "source": "https://www.djkist.it/#sessions",
      "category": "schermata-sito",
      "description": "Cattura reale della vista sessions, 23 ottobre 2026.",
      "origin": "Screenshot del sito pubblicato, convertito in WebP senza ritocchi al contenuto.",
      "capturedDate": "2026-10-23",
      "path": "/media/case-studies/dj-kist/ui-sessions.webp",
      "bytes": 44460,
      "width": 1265,
      "height": 712,
      "hasAlpha": false,
      "sha256": "7cba2bd2f17cb4cb12ec74ef0334ebaa48cd34a7c51d08b548be8790e2319831"
    },
    {
      "file": "ui-events.webp",
      "source": "DJ KIST/kist-notti-clean-published.png",
      "category": "schermata-sito",
      "description": "Schermata reale pubblicata, conservata nel progetto artista.",
      "origin": "Cattura di progetto preesistente, convertita in WebP senza ritocchi al contenuto. Non datata come nuova acquisizione.",
      "path": "/media/case-studies/dj-kist/ui-events.webp",
      "bytes": 56230,
      "width": 1905,
      "height": 882,
      "hasAlpha": false,
      "sha256": "e9c4b1c28e145cd89c71130ddd4d8ab00bee15abd1e457175ac984ce641dc844"
    },
    {
      "file": "ui-mobile.webp",
      "source": "DJ KIST/kist-final-mobile-published.png",
      "category": "schermata-sito",
      "description": "Schermata reale pubblicata, conservata nel progetto artista.",
      "origin": "Cattura di progetto preesistente, convertita in WebP senza ritocchi al contenuto. Non datata come nuova acquisizione.",
      "path": "/media/case-studies/dj-kist/ui-mobile.webp",
      "bytes": 40798,
      "width": 305,
      "height": 705,
      "hasAlpha": false,
      "sha256": "ccae69e501316ef8a2b7bd745011295cfb64a673d2d7388b5d20ce7ac8c7201d"
    },
    {
      "file": "ui-mobile-menu.webp",
      "source": "DJ KIST/kist-final-dropdown-published.png",
      "category": "schermata-sito",
      "description": "Schermata reale pubblicata, conservata nel progetto artista.",
      "origin": "Cattura di progetto preesistente, convertita in WebP senza ritocchi al contenuto. Non datata come nuova acquisizione.",
      "path": "/media/case-studies/dj-kist/ui-mobile-menu.webp",
      "bytes": 24738,
      "width": 305,
      "height": 705,
      "hasAlpha": false,
      "sha256": "1e08566161871dc8ea97cae417fa31354dcd63e89547f88847e1c9b7e4fade0d"
    },
    {
      "file": "kist/kist-builder-poster-v1.webp",
      "source": "public/media/sprites/kist-builder-poster-v1.webp",
      "category": "personaggio-pixel-art",
      "description": "Prima posa di KIST con casco lime e martello per l’avviso temporaneo Stanza segreta.",
      "origin": "Derivato WebP lossless generato direttamente dal master ImageGen del progetto artista, a partire dal personaggio approvato. Copia invariata.",
      "sourceRevision": "6c8abc68097cbba2328d412fffef5b0928b213d3",
      "sourceReferences": [
        "design/kist-builder-v1.md",
        "asset-manifest.md"
      ],
      "caseTransformation": "Copia invariata; nessuna ricompressione o ritocco.",
      "path": "/media/case-studies/dj-kist/kist/kist-builder-poster-v1.webp",
      "bytes": 127088,
      "width": 384,
      "height": 384,
      "hasAlpha": true,
      "sha256": "8bfe92738afb15b69d383df3fda87c1e4f4128beecfeb13398e7180d9205e4ac"
    },
    {
      "file": "ui-construction.webp",
      "source": "DJ KIST/site/screenshots/construction-production/dialog-secret-room.png",
      "sourceUrl": "https://www.djkist.it/#b-side",
      "category": "schermata-sito",
      "description": "Cattura del dialog Stanza segreta pubblicato il 26 ottobre 2026, con la posa statica per movimento ridotto.",
      "origin": "Screenshot diretto del solo dialog nel sito pubblicato, a densità 2x, convertito da PNG a WebP lossless senza ritocchi al contenuto. Master PNG conservato nel progetto artista.",
      "capturedDate": "2026-10-26",
      "sourceRevision": "6c8abc68097cbba2328d412fffef5b0928b213d3",
      "caseTransformation": "Cattura del dialog a 420 × 478 CSS px, 840 × 956 pixel; conversione lossless.",
      "path": "/media/case-studies/dj-kist/ui-construction.webp",
      "bytes": 145600,
      "width": 840,
      "height": 956,
      "hasAlpha": false,
      "sha256": "83a3ae029ec3478f91e60dddcf09809d3065e4b5ecc4c1c01af00acfd9d33c46"
    },
    {
      "file": "ui-loader.webp",
      "source": "https://www.djkist.it/",
      "category": "schermata-sito",
      "description": "Apertura originale del sito: wordmark, personaggio alla console e onde colorate.",
      "origin": "Screenshot reale del loader pubblicato, con la foto critica trattenuta in caricamento e il vero atlante già decodificato. Nessuna modifica a composizione o contenuto.",
      "capturedDate": "2026-10-27",
      "sourceRevision": "6c8abc68097cbba2328d412fffef5b0928b213d3",
      "sourceReferences": [
        "design/kist-loader/provenance.json",
        "design/kist-loader/ui-loader-master.png"
      ],
      "caseTransformation": "WebP lossless derivato direttamente dal master PNG.",
      "path": "/media/case-studies/dj-kist/ui-loader.webp",
      "bytes": 209958,
      "width": 1440,
      "height": 900,
      "hasAlpha": false,
      "sha256": "0b04b0084006d6a20ed317dcd6a38f1e3cf78c77c1d94e68f3b2d887d32a2511"
    },
    {
      "file": "ui-loader.avif",
      "source": "https://www.djkist.it/",
      "category": "schermata-sito",
      "description": "Apertura originale del sito: wordmark, personaggio alla console e onde colorate.",
      "origin": "Screenshot reale del loader pubblicato, con la foto critica trattenuta in caricamento e il vero atlante già decodificato. Nessuna modifica a composizione o contenuto.",
      "capturedDate": "2026-10-27",
      "sourceRevision": "6c8abc68097cbba2328d412fffef5b0928b213d3",
      "sourceReferences": [
        "design/kist-loader/provenance.json",
        "design/kist-loader/ui-loader-master.png"
      ],
      "caseTransformation": "AVIF qualità 75, 4:4:4, derivato direttamente dal master PNG; confronto visivo a 480 px con fallback WebP.",
      "path": "/media/case-studies/dj-kist/ui-loader.avif",
      "bytes": 69747,
      "width": 1440,
      "height": 900,
      "hasAlpha": false,
      "sha256": "0f67ed6d7c434f28f75e6a87398f39d83b565223cb41a827228a4e1b4666b8ec"
    },
    {
      "file": "ui-loader-800.webp",
      "source": "https://www.djkist.it/",
      "category": "schermata-sito",
      "description": "Apertura originale del sito: wordmark, personaggio alla console e onde colorate.",
      "origin": "Screenshot reale del loader pubblicato, con la foto critica trattenuta in caricamento e il vero atlante già decodificato. Nessuna modifica a composizione o contenuto.",
      "capturedDate": "2026-10-27",
      "sourceRevision": "6c8abc68097cbba2328d412fffef5b0928b213d3",
      "sourceReferences": [
        "design/kist-loader/provenance.json",
        "design/kist-loader/ui-loader-master.png"
      ],
      "caseTransformation": "WebP lossless derivato direttamente dal master PNG.",
      "path": "/media/case-studies/dj-kist/ui-loader-800.webp",
      "bytes": 116576,
      "width": 800,
      "height": 500,
      "hasAlpha": false,
      "sha256": "8866c44cd028a5fa1d51ceaac0217309497e0f77894724de9f3d634a3fae9eab"
    },
    {
      "file": "ui-loader-800.avif",
      "source": "https://www.djkist.it/",
      "category": "schermata-sito",
      "description": "Apertura originale del sito: wordmark, personaggio alla console e onde colorate.",
      "origin": "Screenshot reale del loader pubblicato, con la foto critica trattenuta in caricamento e il vero atlante già decodificato. Nessuna modifica a composizione o contenuto.",
      "capturedDate": "2026-10-27",
      "sourceRevision": "6c8abc68097cbba2328d412fffef5b0928b213d3",
      "sourceReferences": [
        "design/kist-loader/provenance.json",
        "design/kist-loader/ui-loader-master.png"
      ],
      "caseTransformation": "AVIF qualità 75, 4:4:4, derivato direttamente dal master PNG; confronto visivo a 480 px con fallback WebP.",
      "path": "/media/case-studies/dj-kist/ui-loader-800.avif",
      "bytes": 29682,
      "width": 800,
      "height": 500,
      "hasAlpha": false,
      "sha256": "ae3788dddd60bc76e5a06b3553ac01dc63820cbfafb2141e591f99cfa366e746"
    },
    {
      "file": "ui-loader-480.webp",
      "source": "https://www.djkist.it/",
      "category": "schermata-sito",
      "description": "Apertura originale del sito: wordmark, personaggio alla console e onde colorate.",
      "origin": "Screenshot reale del loader pubblicato, con la foto critica trattenuta in caricamento e il vero atlante già decodificato. Nessuna modifica a composizione o contenuto.",
      "capturedDate": "2026-10-27",
      "sourceRevision": "6c8abc68097cbba2328d412fffef5b0928b213d3",
      "sourceReferences": [
        "design/kist-loader/provenance.json",
        "design/kist-loader/ui-loader-master.png"
      ],
      "caseTransformation": "WebP lossless derivato direttamente dal master PNG.",
      "path": "/media/case-studies/dj-kist/ui-loader-480.webp",
      "bytes": 50532,
      "width": 480,
      "height": 300,
      "hasAlpha": false,
      "sha256": "10f868db7a615082f3d3b645c43ad5a65c8833be3a666d3fb0cac35b92b6e3aa"
    },
    {
      "file": "ui-loader-480.avif",
      "source": "https://www.djkist.it/",
      "category": "schermata-sito",
      "description": "Apertura originale del sito: wordmark, personaggio alla console e onde colorate.",
      "origin": "Screenshot reale del loader pubblicato, con la foto critica trattenuta in caricamento e il vero atlante già decodificato. Nessuna modifica a composizione o contenuto.",
      "capturedDate": "2026-10-27",
      "sourceRevision": "6c8abc68097cbba2328d412fffef5b0928b213d3",
      "sourceReferences": [
        "design/kist-loader/provenance.json",
        "design/kist-loader/ui-loader-master.png"
      ],
      "caseTransformation": "AVIF qualità 75, 4:4:4, derivato direttamente dal master PNG; confronto visivo a 480 px con fallback WebP.",
      "path": "/media/case-studies/dj-kist/ui-loader-480.avif",
      "bytes": 11650,
      "width": 480,
      "height": 300,
      "hasAlpha": false,
      "sha256": "ee44d286e6011032d1cbb9a9c2bf86d0bebf017c9f338c87a51f18d9e1d61f73"
    }
  ],
  "fonts": [
    {
      "file": "dm-sans-latin-variable.woff2",
      "path": "/media/case-studies/dj-kist/fonts/dm-sans-latin-variable.woff2",
      "source": "public/fonts/dm-sans-latin-variable.woff2",
      "bytes": 36932,
      "sha256": "9fea608a947e67020c33cad9a6fe3d60c54119dfb8cff87768a8117a15ed7543",
      "origin": "Copia del file presente nel sito artista; licenze OFL originali incluse e non modificate."
    },
    {
      "file": "space-grotesk-latin-variable.woff2",
      "path": "/media/case-studies/dj-kist/fonts/space-grotesk-latin-variable.woff2",
      "source": "public/fonts/space-grotesk-latin-variable.woff2",
      "bytes": 22288,
      "sha256": "0640890476fc1198ab4de571fb658de443c4d85b66466ec09534a8737ab1ce9d",
      "origin": "Copia del file presente nel sito artista; licenze OFL originali incluse e non modificate."
    },
    {
      "file": "DM-Sans-OFL.txt",
      "path": "/media/case-studies/dj-kist/fonts/DM-Sans-OFL.txt",
      "source": "public/fonts/DM-Sans-OFL.txt",
      "bytes": 4482,
      "sha256": "9af36190332437f5ecd09974de43c1f7c77a310a996cdd8ceb25628b458840e1",
      "origin": "Copia del file presente nel sito artista; licenze OFL originali incluse e non modificate."
    },
    {
      "file": "Space-Grotesk-OFL.txt",
      "path": "/media/case-studies/dj-kist/fonts/Space-Grotesk-OFL.txt",
      "source": "public/fonts/Space-Grotesk-OFL.txt",
      "bytes": 4495,
      "sha256": "564ce565c371c5e5bbf286006565a7c9aa55a9f56e7ca58d56e05d649dd61a72",
      "origin": "Copia del file presente nel sito artista; licenze OFL originali incluse e non modificate."
    }
  ],
  "relatedAnimationAssets": {
    "owner": "Componente di animazione del case, preparato separatamente; file non modificati da questa raccolta.",
    "sprites": {
      "directory": "/media/case-studies/dj-kist/kist/",
      "sourceDirectory": "public/media/kist/",
      "files": [
        "kist-16bit-mix.webp",
        "kist-16bit-wave.webp",
        "kist-16bit-groove.webp",
        "kist-16bit-run.webp"
      ],
      "origin": "Atlanti generati con il tool integrato imagegen a partire dal personaggio approvato; direzione artistica e selezione delle pose nel progetto KIST.",
      "atlasWidth": 1536,
      "atlasHeight": 1024,
      "columns": 4,
      "rows": 2,
      "frameWidth": 384,
      "frameHeight": 512,
      "sourceFrameCount": 32,
      "playbackFrameCount": 30,
      "playbackSequences": {
        "mix": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ],
        "wave": [
          0,
          1,
          2,
          3,
          5,
          6,
          7
        ],
        "groove": [
          0,
          1,
          2,
          3,
          4,
          6,
          7
        ],
        "run": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ]
      },
      "selectionNote": "Wave esclude frame 4 e groove esclude frame 5 per dettagli incoerenti; gli atlanti completi contengono anche queste due pose escluse dalla riproduzione.",
      "sourceReferences": [
        "SPRITES.md",
        "src/components/KistSprite.astro"
      ]
    },
    "world": {
      "directory": "/media/case-studies/dj-kist/world/",
      "sourceDirectory": "public/media/world/",
      "files": [
        "bologna-portici-v1.webp",
        "bologna-piazza-v1.webp",
        "bologna-rooftops-v1.webp",
        "bologna-foreground-v1.webp"
      ],
      "origin": "Ambienti immaginati di Bologna generati con imagegen; non fotografie, riprese o ricostruzioni documentarie. Piani separati per parallasse, foreground con alpha reale.",
      "logicalWidth": 640,
      "logicalHeight": 360,
      "sourceReferences": [
        "design/world-art-prompts.md",
        "src/components/WorldExperience.astro"
      ]
    },
    "behavior": "Passaggio locale: corsa durante lo scroll, inversione del verso tornando indietro, groove quando lo scroll si ferma, pausa e movimento ridotto. L’ambiente riceve stato/progresso del player, non analizza beat o spettro audio."
  },
  "editorialBoundaries": [
    "Nessuna crescita di traffico, conversioni, booking o ranking e misurata o dichiarata.",
    "SEO/GEO descritto come base semantica, dati strutturati e leggibilita dell’identita; nessuna garanzia di risultati o presenza nelle risposte AI.",
    "I registri storici su mondo continuo, mappa a sei tappe, noindex e video mancanti sono superati dal sorgente corrente.",
    "La data/ora del market del 25 ottobre e distinta dall’inizio del set KIST, non confermato separatamente."
  ],
  "animation": {
    "sourceFrames": 32,
    "playbackPoses": 30,
    "note": "Indici a base zero: wave esclude 4; groove esclude 5. Le tavole mantengono tutti i frame sorgente."
  },
  "updatedDate": "2026-10-27",
  "contextualState": {
    "name": "Stanza segreta — In allestimento",
    "sourceRevision": "6c8abc68097cbba2328d412fffef5b0928b213d3",
    "frames": 4,
    "note": "Estensione temporanea del personaggio, separata dai quattro atlanti originali e dai loro 32 frame sorgente. Il case mostra la prima posa e il popup reale; non riproduce la stanza interattiva."
  },
  "loader": {
    "sourceRevision": "6c8abc68097cbba2328d412fffef5b0928b213d3",
    "preview": "/case-studies/dj-kist/#ingresso-originale",
    "frame": "/case-studies/dj-kist/intro/",
    "note": "Loader originale e sprite isolati nel case. Geometria, logo, onde, pose e tempi originali; adattati solo percorsi degli asset, pausa fuori schermo e movimento ridotto dinamico. Il gate UI riguarda il controllo locale e le immagini di arrivo vengono realmente decodificate. Il frame non carica player o sito completo."
  }
}
