Ice Motion Director
Installera

Spotify-konceptreklam

Hur den gjordes med Ice Motion Director, från prompten till den levererade filmen.

Inofficiellt koncept, inte knutet till Spotify

Filmen

Prompten

Gör en reklamfilm för Spotify, mellan 35 sekunder och en minut lång, med en arabisk och en engelsk version.

Visa originalet, exakt som det skrevs (arabiska)

Översatt från arabiska.

اعمل إعلان لسبوتيفاي، مدته من 35 ثانية لدقيقة، ونسخة عربي ونسخة إنجليزي.

Typ av film
Varumärkesfilm
Arbetsflöde
film
Hur den kördes
En prompt (automatiskt läge)
Storlek
Standard
Publicerad
21 oktober 2026

Levererad

  • engelska, 16:9, 0:35

Hur den gjordes

Agent
Claude Code 2.1.303 (desktop app)
Modell
claude-opus-5-5
Effort
xhigh
Subagenter
A director session, research agents, concept and stage critics, rework and verify critics, picture and sound critics, a cold viewer for the clarity read, the stage approver and a sound designer
Gjord
20 oktober 2026 till 21 oktober 2026
Från beställning till leverans
31 h 36 min
Aktivt arbete
15 h 43 min
Tokens
1,3 md totalt, varav 3,6 mn utdata
Kostnad via API
565,98 US$

Gjord med ett Claude Code abonnemang, så ingen token debiterades. Kostnaden via API är vad samma tokens skulle ha kostat enligt Anthropics listpriser för API:t den 31 oktober 2026 (prissidan för Claude API), med samma promptcachning. Från beställning till leverans räknas från första prompten till den levererade videon; aktivt arbete utelämnar väntan på svar och pauser på grund av användningsgränser. Arbete efter leveransen, som exporten av fallstudien och översättningarna av webbplatsen, räknas inte.

Vägen hit

Körningen som den gick, steg för steg, från prompten till leveransen, efter körningens egen klocka.

  1. Prompten

    En rad på natten: en Spotify-reklam, 35 sekunder till en minut, på arabiska och engelska. Beställaren gick och lade sig och sa att den inte skulle stanna för frågor, så körningen gick helt automatiskt och varje beslut researchades och loggades med sitt skäl och sin källa.

  2. Utkast 3

    Den första titten på arbetet. Agenten flaggade sina egna svaga punkter: de sista 8 sekunderna var stilla och tomma, kortet för toppresultatet var en grå platshållare, mixen var inte klar. Beställaren godkände looken och skar ner omfattningen från sex versioner till en: engelska, 16:9, komplett.

  3. Utkast 14

    Den svarta slutbilden med den officiella loggan som landar på sista slaget vid 33.5 sekunder. Beställaren lyssnade på ljudet och godkände det. Slutlig rendering i 1920 x 1080, den sista granskningsrundan, leveransen och den här fallstudien.

Vad Ice frågade

  1. Ägande av varumärket och material

    b) inte varumärket: inofficiellt koncept (standardval, användaren sa att den inte skulle fråga)

    Det rekommenderade standardvalet

  2. Röstkälla

    a) varje ord i bild, musikdriven (standardval, ingen tillåten röstkälla)

    Det rekommenderade standardvalet

  3. Bild i huvudet

    a) pitcha idéer (standardval)

    Det rekommenderade standardvalet

  4. Plattform

    YouTube och sociala flöden plus gallerisidan (beslut D-06)

    Det rekommenderade standardvalet

Vad som lämnades in

  • Briefdelvis

    Ifyllt: mål, målgrupp, plattform och format, budskap, uppmaning, innehåll som måste med, kommersiell användning saknas

  • Varumärkeskit (bara loggor)delvis

    Ifyllt: palett med roller, typsnitt och bildstil saknas (ifyllda av ice-assets från Spotifys egen sajt och riktlinjer)

Arbetsflödet, steg för steg

Alla tio steg, från brief till leverans: vad varje steg bestämde och varför, vad det tog fram, kritikerrundorna och rollerna som arbetade med det.

  1. Steg 01, Brief

    Tid inte registrerad

    Rolleranvändaregodkännarekritikerresearcher

    Intag, research R-01 till R-08, regelefterlevnad, faktablad, varumärkesmaterial; godkännaren gav PASS i andra omgången (ice/review/stages/01-approver.md)

    Beslut

    • D-01 Fråga eller inte fråga i steg 01

      • AValt
      • - A: Skicka inget meddelande
      • varje fält får sitt standardval med en D-post (vilar på: questions.md avsnitt 5, signalen ”fråga inte”)
      Varför, och källan

      Användarens egna ord är en signal om ”fråga inte”; routerns tabell över stopp har då noll stopp (inget meddelande i steg 01, inget godkännande av förhandsvisning).

      Källa: brief slot mode (router; user signal quoted); ice-motion-director/SKILL.md section 3.3 and section 5 "Stops"; ice-direction/references/questions.md section 5

    • D-02 Ägande av varumärket

      • BValt
      • - A: Jag är varumärket: använd dess officiella material som en officiell film
      Varför, och källan

      Angivet i körningens villkor och lika med det fasta standardvalet; inga butiksmärken, erbjudanden, priser eller påståenden som varumärkets egna sidor inte anger i dag.

      Källa: run conditions (quoted); ice-direction/references/questions.md section 2 fixed option set; ice-assets/references/brand-authenticity.md section 10 steps 1 and 10

    • D-04 Kommersiell användning

      • AValt
      • - A: okänt: öppna aldrig mappen noncommercial (standard när frågan är obesvarad)
      Varför, och källan

      Användaren sa inget; okänt håller alla källor som bara är icke-kommersiella stängda, vilket inte kostar något eftersom skillens tillåtande referenser täcker samma område.

      Källa: ice-film/SKILL.md section 8; ice-direction/references/intake-and-brief.md section 1 slot commercial_use

    • D-05 Marknad (preliminär, för research)

      • AValt
      • - A: Arabisk version för Egypten och resten av arabvärlden (MENA)
      • engelsk version globalt (vilar på: promptens språk och dialekt)
      Varför, och källan

      Användarens egen dialekt pekar på Egypten; en arabisk film för en panarabisk streamingpublik fungerar i MENA när orden i bild är tydlig arabiska; den engelska versionen når galleriets globala publik. Researchsökningarna använder marknaderna ”Egypt”, ”MENA” och ”global”.

      Källa: brief slots language and market (prompt); ice-direction/references/intake-and-brief.md section 1 ("market: infer from language and brand")

    • D-06 Plattform (preliminär, för research)

      • AValt
      • - A: YouTube och sociala flöden (Instagram
      • TikTok
      • YouTube Shorts)
      • plus den publika gallerisidan (vilar på: körningens villkor ”public gallery”
      • längdintervall)
      Varför, och källan

      En reklamfilm på 35 till 60 s för ett galleri ses på en webbsida och på YouTube (liggande); samma film återanvänds oftast i flöden (stående). Researchsökningarna använder plattformstermerna ”YouTube”, ”Instagram”, ”TikTok”. De slutliga formaten bestäms i 03 utifrån filmtypens leveranser.

      Källa: run conditions ("public gallery"); brief slot duration (prompt); ice-direction/references/intake-and-brief.md section 1 ("platform: infer")

    • D-08 Storlek och team

      • AValt
      • - A: Storlek standard (7 till 60 s, versioner inräknade)
      • team Full: längdrad Standard (21 till 45 s) eller Full (över 45 s), plus en rad per flagga: två språkversioner
      • ett riktigt varumärkes UI återskapat med 90 procents trohet
      • mer än ett masterformat komponerat separat (16:9 och 9:16 omlagda). Taket är Full
      Varför, och källan

      Regeln i film-setup.md flyttar upp en rad per flagga och aldrig över Full; med två språk och omlagda format har körningen 12 till 20 utskick, en granskare per runda och master, och upp till 3 filmgranskningsrundor per master. Storleken förblir standard eftersom routern säger att språkversioner och kortversioner av en film på 7 till 60 s behåller den som Standard.

      Källa: brief slots duration and language (prompt); ice-motion-director/SKILL.md section 4; ice-film/references/film-setup.md section 2

    • D-09 Mål och målgrupp

      • AValt
      • - A: Målet ”öppna Spotify och spela något för stunden du är i”
      • målgrupp 18 till 34 i mobilflöden (ofta utan ljud i början) för båda versionerna, plus galleribesökare på laptop för den engelska (vilar på: R-02 S-17 och S-15 om Egyptens hinder kring gratis lyssning och data
      • R-01 S-15 till S-19 om Spotifys egna kampanjer byggda på personliga lyssningsstunder
      • D-06 plattform)
      Varför, och källan

      Den enda handling ett inofficiellt koncept ärligt kan be om är att spela något; det är också den handling som Spotifys egna länktexter nämner (”PLAY ON SPOTIFY”, ”LISTEN ON SPOTIFY”, R-01 S-02). Att flöden ses utan ljud är skälet till att varje ord står i bild (D-03).

      Källa: brief slots platform (D-06), real_brand (prompt); R-01 (2026-10-20) S-02, S-15 to S-19; R-02 (2026-10-20) S-06, S-15, S-17

    • D-10 Bildformat och leveranser

      • AValt
      • - A: 16:9-master per språk, med 9:16 och 1:1 omlagda från samma tidslinje, plus en affischbild per version (vilar på: brand-film.md Deliverables
      • D-06)

      Typens leveranslista anger exakt detta, och D-06 nämner både liggande och stående destinationer. Kortversioner (15 s, 6 s) bestäms i 03 i versions.md.

      Källa: ice-film/references/film-types/brand-film.md Deliverables; D-06

    • D-11 Språkprofil för arabiska

      • AValt
      • - A: Egyptisk (Kairo) talad arabiska, i polerat register, så som Spotify Egypt skriver sina egna sidor (”اسمع موسيقى من غير حدود”، ”هتدفع ... بس بعد كده”) (vilar på: R-02 S-07
      • prompten skriven på egyptisk arabiska)
      Varför, och källan

      dialect-profiles.md avsnitt 1 säger att en textsnål film utan röst väljer mellan MSA och publikens mest sannolika dialekt; varumärkets egen arabiska copy för den här marknaden är egyptisk vardagsarabiska, och användaren skriver egyptiska. Infödd läsare: användaren som standard; godkännandet står öppet i leveransnotisen (inget godkännande av förhandsvisning i den här körningen).

      Källa: R-02 (2026-10-20) S-07; prompt; ice-arabic/SKILL.md section 1; ice-arabic/references/dialect-profiles.md sections 1 and 2

    • D-12 Bild i huvudet, och sorteringen av förfrågan

      • AValt
      • - A: Inte än, pitcha idéer (fast standardval för frågan)
      • sortering: berättandet är oformat, så hela konceptrundan körs i 02 (vilar på: questions.md avsnitt 4, standardval
      • intake-and-brief.md avsnitt 4 ”An ad prompt that gives facts and an occasion ... but no telling ... always enters the concept round”)
      Varför, och källan

      Prompten har ett ämne och begränsningar men inget berättande; skillens regel skickar en sådan reklamfilm till konceptrundan, och den obesvarade frågan får sitt standardval.

      Källa: prompt (quoted); ice/state.json questions[2]; ice-direction/references/questions.md sections 4 and 5; ice-direction/references/intake-and-brief.md section 4

    • D-16 Den fjärde ljudkällan: en rivningshammare i stället för tv-brus

      • BValt
      • - A: tuta
      • borr
      • motor
      • tv-brus (som kritikern listade) (vilar på: D-13-critic.md rättning 3)
      Varför, och källan

      Tv-brus har inget tydligt vardagligt egyptiskt substantiv och låter som ett väsande utan transient, så det kan inte bära backbeaten; rivningshammaren har ett vardagsord i Kairo (”تكسير”, grannens renovering) och en hård transient som blir backbeaten (tak i maqsum, virveln i rak fyrtakt). Den förblir en maskin- eller verktygskälla, inom kritikerns regel.

      Källa: ice/review/direction/D-13-critic.md fixes 3 and 4; ice/review/direction/D-13-consultant.md; ice/plan/script.md shot 1 and the Arabic dialect review

    • D-22 Delar av standardkitet som behölls, med skäl

      • A. Skäl: den mörka öppningen med kinetisk typografi är själva konceptet (gatans oljud skrivs som ord, D-13 och D-15), inte dekoration; sökrutan är Spotifys riktiga, inspelade inmatningsfält och filmens gångjärn, och svaret landar nu helt i stället för att skrivas in (kritikerns rättning 4); mintfärgen #91EEDA är Spotifys egen accent på Premium-sidan, inte en generisk ”cyan på mörkt”.Valt
      • - A: behåll den mörka öppningen med kinetisk typografi och sökrutan, med skäl
      • mint förblir accent för Premium-sidan (vilar på: D-15
      • TRUTH F1)

      Källa: D-17-critic.md (default kit count 3, fix 4); anti-sameness.md section 6

    • D-24 Bakgrund för slutbilden

      • AValt
      • - A: den gröna loggan på ren #000000 inuti en oval zon som är bredare än dess frizon
      • utanför zonen tunnas det svarta ut till 86 procent så att den dunkla gatan och dess ljus syns igenom (bakgrund med textur)
      • sökfältet under loggan (andra lagret)
      • två eller tre oskarpa körfältsljus nära objektivet i bildens hörn, som driver (förgrund) (vilar på: R-01 S-02, regeln grönt på svart
      • composition-and-staging.md avsnitt 7.2)
      Varför, och källan

      den gröna loggan är Spotifys primära färgställning och filmens enda gröna efter spelcirkeln, så den bör avsluta filmen; att hålla dess egen zon helt svart uppfyller logoregeln medan bilden runt den behåller gatans textur och djup; B ger upp det gröna; C klarar inte den lägsta nivån.

      Källa: R-01 (2026-10-20) S-02; ice/review/stages/05-approver.md item 1; ice-motion/references/composition-and-staging.md section 7.2

    • D-25 Ordföljd i det arabiska melodispåret

      • AValt
      • - A: orden i läsordning: ”حاجة” i melodicellen längst till höger
      • ”دي” längst till vänster
      • så att spåret läses rätt från höger till vänster medan spelhuvudet tänder dem från vänster till höger (vilar på: regel 11 för tidslinjen
      • letterforms-in-motion.md avsnitt 6, läsordning för ord)
      Varför, och källan

      orden läses, tidslinjen gör det inte; A håller båda reglerna. Melodins toner spelas fortfarande från vänster till höger; musiken sjunger inte orden, så ingen synk mellan ord och ton går förlorad.

      Källa: ice-arabic/SKILL.md section 2 rule 11; ice-arabic/references/letterforms-in-motion.md section 6; ice/review/stages/05-approver.md item 2

    • D-26 Storlek på de återskapade gränssnittstexterna på arabiska

      • AValt
      • - A: gränssnittstexter i inspelningens egen proportion (arabiska i samma storlek som latinsk text, så som Spotifys arabiska webbspelare sätter dem)
      • filmens egna ord (oljudsorden, spårorden, den målade raden, rutornas titlar) behåller D-19:s 1.35 (vilar på: uppmätt på inspelningarna i 07: den arabiska platshållaren är 128 px bred i ett fält på 474 px och ”أفضل النتائج” 121 px på ett kort på 388 px
      • vid 1.35 mätte återskapandet 175 px och 162 px, vid 1.0 mäter det 130 px och 121 px)
      Varför, och källan

      inuti det återskapade gränssnittet är inspelningen auktoriteten (avsnitt 11.1); Spotify sätter själv arabiska i samma storlek som latinsk text där, och IBM Plex Sans Arabic i den storleken motsvarar inspelningens bläckbredd inom 2 procent. D-19:s skäl (arabiska ord upplevs synbart mindre än latinska i samma storlek) gäller filmens egen typografi, som behåller 1.35. Svaret förblir läsbart: 40 px i 16:9-mastern, 37 px i 9:16.

      Källa: ice/review/ui-fidelity/sheet-ar.png; film/js/ui.js (uts); D-19

    • D-28 Bara en version: engelska, 16:9 (beställarens beslut)

      • BValt
      • - A: leverera de sex planerade filmerna (vilar på: prompten och D-10)
      Varför, och källan

      beställaren (Omar) snävade in omfattningen mitt i körningen, med hans ord: ”منا مش عايز غير نسخة واحدة فقط لا غير. انجليزي و 16:9 عجبتني ووافقت عليها ... هي نسخة واحدة كاملة من كل شيئ حتى الميوزك والساوند ايفكت وغيره” (jag vill bara ha en version, inget annat; engelska och 16:9, jag gillade den och godkände den; en komplett version av allt, musik och ljudeffekter inräknade). Han såg ice/renders/draft-3-en.mp4 och godkände dess berättelse, scenordning, look och tempo; senare ändringar är bara tillåtna där de rättar de statiska, tomma sista 8 s och det grå platshållarkortet Top result. Användarens senaste uttryckliga kommentar väger tyngre än tidigare kommentarer (ice-film SKILL.md).

    • D-40 En tätare kö inom bilden (kommentar 2)

      • AValt
      • - A: en andra rad i kön i det bortre körfältet (tre bilar och skåpbilar som står ovanför och bakom huvudbilen, lite mindre för djupets skull), motorcykeln flyttad framåt i det bortre körfältet mellan den raden och vägarbetet, de vida bilderna förskjutna för att rymma båda raderna
      • köns stötar från dropen går runt genom alla sju bilar, en bil per stöt (vilar på: sju fordon staplade i två rader läses som en kö med en gång, i samma bredd som maskinerna behöver)

      bara den andra raden får in fler bilar i samma bilder; att låta stötarna gå runt genom de sju bilarna stämmer med ljudet, som redan spelar en bil per stöt (08a-kommentar om draft-9).

      Källa: D-38; film/js2/street.js (JAM, order); ice/plan/cue-sheet.json (music.jam)

    • D-42 Topplimitering på högst 6 dB (kommentar 4)

      • AValt
      • - A: gör musikens egna toppar mindre i stället för att limitera dem (mjukare transienter vid dropens nedslag och i baskaggen, köns stötar hållna borta från bastoppen, försiktig mättnad före bussen), leverera musiken med true peak-marginal så att mastern lägger till lite, och mät den totala toppreduktionen från den olimiterade bussen till den slutliga mastern till 6 dB eller mindre (vilar på: skärpan kommer från att limitern jobbar hårt
      • en mindre crest behöver mindre av den)

      det behåller målet för ljudstyrka och tar bort orsaken vid källan.

      Källa: D-38; ice/audio/score.py (version 5); ice/audio/NOTES.md

    • D-47 Beställarens slutliga godkännande av draft-14 (2026-10-21)

      • draft-14 är det godkända klippet: slutlig rendering i 1920x1080, engelska, 16:9, en version; sedan leverans (ice/renders/final/, ice/review/NOTE.md, en engelsk affischbild i 16:9) och export av fallstudien.Valt

      hans beslut. Det bekräftar att loggan landar vid 33.5 s med pausen på 1.5 s (D-45; frågan om förvarning besvaras av hans godkännande av draft-14), och det stänger förbehållet ”ingen har lyssnat”: beställaren lyssnade på ljudet.

    • D-48 Vad tittaren ska ta med sig, skrivet sent i steg 09 (tydlighetskontroll)

      • (a): blocket ”## Viewer takeaway” under det valda konceptet i ice/plan/concepts.md, citerat här:Valt
      • - (a) skriv budskapet att ta med sig sent, bara utifrån text som låstes i 02 och före läsning 3, och kör sedan en blind läsning 3 på den levererade mastern (vilar på: clarity-gate.md avsnitt 2, budskapet är en omformulering av det låsta konceptet
      • avsnitt 3, en ny tittare per läsning
      • filmen är oförändrad, D-47)
      Varför, och källan

      (a) är det enda alternativet som prövar den levererade filmen mot ett mål som låstes före läsningen; (b) lämnar kontrollen oprövad och (c) saknar Sells och Offer's job och skulle jämföra tittaren med orden i bild i stället för med konceptet. Varje fält omformulerar text som låstes före läsning 3 (källor inom hakparentes i concepts.md); inget är nytt, så konceptet, filmen och dess godkännande (D-47) ändras inte.

      Källa: ice/plan/concepts.md "Viewer takeaway"; D-13; D-30; TRUTH.md; BRIEF.md; ice-qa/references/clarity-gate.md sections 2 to 5

    Gjort i det här steget

  2. Steg 02, Koncept

    Tid inte registrerad

    Rollerkritikerkonsultgodkännare

    Koncept D-13 (C2 plus C1 som gångjärn), struktur D-14 (kranåkning uppåt med kedjereaktion); godkännaren gav PASS i andra omgången

    Beslut

    • D-13 Koncept

      • en blandning av C2 (kropp och hjälte) med C1:s exakta fråga som gångjärn, kritikerns egen rekommendation, med kritikerns fem rättningar genomförda (ice/plan/concepts.md)Valt
      • - C1: En fråga
      • 777 miljoner svar (ämnesvärld) (vilar på: R-01 inspelningen ”What do you want to play?”
      • R-02 S-01 siffror
      • R-07 ledigt utrymme ”gränssnittet som huvudscen”)
      Varför, och källan

      C2 är den enda KEEP (7): en idé, läsbar utan ljud från bildruta 0, och dess slagverksdrivna musik är den mest kodvänliga i rundan; C1:s exakta Spotify-fråga rättar C2:s misslyckade konkurrentbyte. Kritikerns villkor på arabiska för pillret uppfylldes genom att Spotifys egen arabiska platshållare i sökfältet spelades in 2026-10-20.

      Källa: ice/review/direction/D-13-options.md; R-01, R-02, R-06, R-07, R-08 (2026-10-20); COMPLIANCE.md; TRUTH.md (F1, Arabic interface strings)

    Gjort i det här steget

    • 02-concepts.md

      Pitchade koncept och det som valdes

      Concepts: spotify-concept-ad

      Runtime date: 2026-10-20. Stage 02. Decision: D-13 (ice/DIRECTION.md). Options file: ice/review/direction/D-13-options.md. Consultant: ice/review/direction/D-13-consultant.md. Critic: ice/review/direction/D-13-critic.md.

      The round (five pitches, one per path)

      ID · Path · Concept in one sentence · Critic

      C1 · Subject world · Spotify's search field asks "What do you want to play?" and a day answers it, each answer re-scoring the frame, until the field multiplies into 777 million answers · REVISE, 6

      Läs hela filen: 02-concepts.md
    • 02-TREATMENT.md

      Treatmenten som lämnades över till bygget

      Treatment: spotify-concept-ad (The street plays along)

      Runtime date: 2026-10-20 Direction: D-17 (palette D-18, type D-19, sound D-20, motion D-21) Concept: D-13 (structure D-14, opening D-15)

      PAGE

      Problem: the city around you is loud with noise you did not choose: horns, drills, engines, the neighbour's renovation.

      Audience: 18 to 34, in Egypt and the Arab world (Arabic version) and worldwide (English version), on a phone feed that often starts muted, and gallery visitors on a laptop with sound.

      Läs hela filen: 02-TREATMENT.md
  3. Steg 03, Manus

    Tid inte registrerad

    Rollerkritikergodkännare

    Manus EN och AR, versioner (6 filmer plus affischer), krokar C plus A; godkännaren gav PASS i andra omgången

    Beslut

    • D-03 Röstkälla

      • AValt
      • - A: Varje ord i bild på varje språk
      • med musik och ljud
      • ingen röst (fast standardval)
      Varför, och källan

      Det finns ingen tillåten röstkälla; routerns regel ”röst underförstådd, ingen röstkälla” håller filmen i ice-film, musikdriven. Klippet är byggt så att en röst kan läggas till senare utan att klippas om.

      Källa: run conditions (quoted); ice-motion-director/SKILL.md section 2 "Voice implied, no voice source"; ice-direction/references/questions.md section 2 fixed option set

    • D-14 Struktur

      • S-B med S-A:s kedjereaktion som låsmekanism (kritikerns blandning), och kritikerns fem rättningar: visa valet (ett svar kommer in i pillret och blir melodispåret), kedjan orsakar stigningen och accelererar, viktbudget 2 av 8 och topp vid 67 procent, en kort nedstigning med gatan spelande under det avslutande pillret, ett lutande 2.5D-plan med skyltar rakt framifrån för ord som ska läsasValt
      • - S-A: Låsning, rad för rad (kedjereaktion på ett platt rutnät) (vilar på: structure.md avsnitt 2 ”chain reaction”
      • brand-film.md ”Narrative shapes”)
      Varför, och källan

      S-B är den enda KEEP (7): avslöjandet ovanifrån gör ”gatan spelar med” bokstavligt och en enda kamera uppfyller varumärkesfilmens princip att förvandla i stället för att klippa; S-A:s kedja ger orsaken som kameran saknade.

      Källa: ice/review/direction/D-14-structure-options.md; ice/review/direction/D-14-critic.md; ice-film/references/structure.md sections 2 to 7; film-types/brand-film.md

    • D-15 Öppning (de första 3 sekunderna)

      • C blandat med A:s dominerande tutord, med krokkritikerns fem rättningar (ice/plan/hooks.md)Valt
      • - A: typografin leder
      • ett jättelikt oljudsord slängt över bilden (vilar på: concept-menus.md avsnitt 3 ”A giant word cropped by the frame edge”)
      Varför, och källan

      krokkritikern gav C högst poäng (REVISE 6) som den enda första bild en tittare utan ljud läser direkt, med ett stegrat fall in i tutan vid 5.0 s; A:s beskärning är ett hårt fel för arabiskan, B har inget helt ord i bildruta 0.

      Källa: ice/plan/hooks.md; studies ice/renders/studies/opening-*.mp4 and ice/plan/hooks/opening-studies-sheet.png; ice/review/direction/D-15-critic.md

    Gjort i det här steget

    • 03-structure.md

      Struktur

      Structure: spotify-concept-ad

      Runtime date: 2026-10-20. Stage 02. Decisions: concept D-13, structure D-14. Critic: ice/review/direction/D-14-critic.md.

      Film type: brand film (D-07), borrowing the app ad's real product moment (Spotify's search field).

      One claim (seven words or fewer, no conjunction): You choose what you play.

      (The treatment does not exist yet at 02; the claim and PAGE lines are taken from the chosen concept here and copied into ice/plan/TREATMENT.md at 05. See PILOT-NOTES, structure.md section 1 problem.)

      Läs hela filen: 03-structure.md
    • 03-script.md

      Manus

      Script: spotify-concept-ad (The street plays along)

      Mode: Write (no script supplied)

      Language and dialect: two versions. English (plain international, sentence case). Arabic: Egyptian (Cairo) spoken Arabic, polished register (D-11), every on-screen word in Arabic lettering except the Latin name "Spotify" and the English unofficial line (RD-02); transcreated, not translated.

      Length target: 49.0 s (the D-14 beat plan re-timed at 03 so the question and the answer each get about 3 s of reading hold, and extended at 04 so the Arabic end card holds the logo plus both unofficial lines; the film runs 49.0 s in every plan file).

      Word budget: 20 words or fewer per version in total, counting each distinct on-screen string once (the closing question repeats the same string the viewer already read at 5.5 s, so it adds no new reading; brand film text density: manifesto lines word by word, at most 2 lines, about 6 percent of frame height per line). The required unofficial label is exempt from the count (truth-sheet.md section 12: disclaimers are marked and exempt from text counts).

      Läs hela filen: 03-script.md
    • 03-hooks.md

      Öppningar jämförda

      Hooks: spotify-concept-ad

      Runtime date: 2026-10-20. Stage 03 openings step (ice-film/references/openers-and-endings.md sections 2 to 4).

      Priority test: benefit "the noise around you can become your track"; open question "who wins: the noise, or me?"; payoff at 12.0 s (the play press locks the first noise to the beat) and fully at 31 s (the street as a drum machine).

      Studies: grey blocking, real copy, real candidate fonts (Inter Bold for English, Noto Kufi Arabic 800 for Arabic; type is decided at 05), first 3.2 s, rendered with the HTML capture renderer at half size: ice/renders/studies/opening-<A|B|C>-<en|ar>.mp4; stills at 0, 1 and 3 s: ice/plan/hooks/opening-studies-sheet.png. The studies are built in isolation from the film; their timing may differ from the final cut.

      Opening · Leads with · Frame 0 · By 1 s · By 3 s · Heard · Muted read · Choice notes

      Läs hela filen: 03-hooks.md
  4. Steg 04, Storyboard

    Tid inte registrerad

    Rollerkritikergodkännare

    omarbetning med tecknad gata (D-30): storyboard rev 5, bildplan rev 5 med 15 kontrakt, remsan som scenplan; godkännarens andra kontroll ice/review/stages/04-05-rework-approver.md

    Beslut

    • D-37 En närmare kamera och en högre gata (rättning b)

      • AValt
      • - A: tajta till layouten (motorcykeln i det bortre körfältet rakt ovanför huvudbilen, pålkranen på bygget rakt ovanför spettmaskinen, kön som löper ut ur bild åt vänster), höj byggnaderna bakom handlingen till precis under slutbildens gräns och höj kamerans skala: ungefär 1.1 på den första bilen, 0.85 till 1.0 på varje maskin när den ansluter, ungefär 0.72 när alla fyra spelar
      • slutbilden stannar på 0.342 (vilar på: maskinerna fyller bilden och bildens överkant möter fasader i stället för himmel, medan slutbilden behåller hela sin gata)

      bara A svarar på båda halvorna av kommentaren (maskinerna större i bild, mindre tom himmel); B och C flyttar var för sig tomheten eller lämnar maskinerna små.

      Källa: D-35; ice/plan/style-frames/v2/ (updated); film/js2/street.js (camera keys)

    Gjort i det här steget

    • 04-storyboard.md

      Storyboard

      Film type: brand film. Length 35.0 s (D-39; was 36.0 s, D-33; 33.5 s in draft-10). Master 16:9 1920x1080, English only (D-28). 30 fps. Clock: music-led, 120 BPM, bar 0 on the play press at 7.5 s; the noise (0 to 3.0 s) runs in free time.

      Style: Drawn night street (D-31): a flat-vector night street in side view built by code (buildings with windows, street lamps, a construction site behind solid hoarding, a jam of cars and vans led by the hero car, a road breaker on a small excavator at the head of the jam, a pile rig, a motorbike with a helmeted rider), the machines drawn 1.6 times the building scale so they read on a phone, grey before the press, each machine taking its Spotify lane colour as it joins the song; Spotify interface rebuilt from captures; one style for the whole film

      Palette: ground #121212, sky #0D0D0D to #1D1D1D, street greys #1A1A1A to #6A6A6A, field #1F1F1F, card #181818, ink #FFFFFF, ink muted #A7A7A7, accent #1ED760 (play circle and press ring only), lanes #FFA178 (horn), #608108 (hammer), #91EEDA (drill), #477D95 (engine), word outline #000000, end card sky and logo ground #000000 (D-18, D-24)

      Characters: one motorbike rider in a full-face helmet with a dark visor (no face shown); no other people (a system pointer operates the rebuilt interface)

      Video direction block

      Läs hela filen: 04-storyboard.md
    • 04-shot-plan.md

      Bildplan

      The contracts below hold for draft-14: the film is 35.0 s; shots 13 to 15 are re-timed (27.5 to 31.5, 31.5 to 33.5, 33.5 to 35.0; the end card is the logo alone on black, D-44 to D-46); shots 6 to 9 carry the camera pushes of D-41; the jam has a second row in the far lane (D-40). The draft-9 contracts are kept in shot-plan-draft9.md.

      One composition: film/v2-en-16x9.html loading film/js/util.js, config.js, ui.js, lockup.js and film/js2/street.js, main.js (one continuous timeline; shots are time ranges of one camera along a drawn street). English 16:9 only (D-28). Times in seconds at 30 fps, from storyboard.md revision 5 (D-33). Richness values are measured on the stills of the real build with ice-qa's own area function (film_gate.area_features, 320 px grey; temp/v2o/v2-en-16x9/), and for type and interface heroes as hero_width, the hero text or interface width over the frame width. Every camera entry gives its reason. The revision 3 contracts of the lane-grid world are kept in shot-plan-rev3.md.

      Shot · Time · Claim and evidence · Start state · Decisive state · Handoff state · Focal owner · Motion verb · Camera window and reason · Layer manifest (back to front) · Alive · Richness (hero_share / frame_fill of 16 / depth) · Cues · Assets · QA checks

      1 · 0.0-2.9 · none (situation) · close on the grey honking hero car at frame 0, the jam behind it, the motorbike above, HONK in front of it · 2.62: the whole noisy block, the loudest horn, all four machines and their words in frame (frame-1) · the field rises at 2.9 as the street dims · the honking car, then the whole street · fire, pull back · 0.0 to 2.5: pull back from scale 1.1 on the hero car and the jam behind it to 0.7 on the block; reason: find the noise, then show all of it · sky, far skyline (parallax), buildings and site, road and lamps, machines, words · the four machines fire out of time, words pop and fade, the camera pulls back · 91 at 0.3 and 100 at 2.62 / 16 / 4 · horn 0.0, 0.7, 1.4, 1.9, 2.6 (loudest); breaker 0.3, 1.1, 2.0; ram 0.5, 1.25, 2.2; engine 0.15, 1.6, 2.4 · none · frame 0 readable; every read word whole inside the 5 percent margins; no face

      2 · 2.9-3.3 · F1 search · the noisy block dimming · 3.2: the field risen with the question, caret showing · the first key at 3.3 · the search field · rise · held, slow drift; reason: the question rises over the dim street · street, dim layer, field · the field rises, the street drifts · hero_width 83 (the field) / 16 / 3 · pillIn 2.9 · webplayer-search-en · exact placeholder; field fidelity at least 90 percent

      Läs hela filen: 04-shot-plan.md
  5. Steg 05, Look

    Tid inte registrerad

    Rollergodkännarekritikerkonsult

    looken med tecknad gata D-31 (kontroller: standardlook godkänd, 4 av 6 mot 01-flat-vector, standardkit 2 med skäl); sex style frames i ice/plan/style-frames/v2/; D-34-raden lämnad åt beställaren; godkännarens andra kontroll ice/review/stages/04-05-rework-approver.md

    Beslut

    • D-07 Typ av film

      • A, varumärkesfilmValt
      • - A: Varumärkesfilm, som lånar appreklamens ”verkliga produktögonblick” (vilar på: brand-film.md Fit and Purpose ”a feeling the brand owns”
      • Timing master musikdriven som standard
      • Leverabler: 16:9-master med 9:16 och 1:1 omlagda)
      Varför, och källan

      Den begärda längden 35 till 60 s och ett inofficiellt koncept utan CTA-märke passar varumärkesfilmens syfte (en känsla som Spotify äger) och dess musikdrivna timing; appreklamens styrka, den riktiga produkten som gör sitt jobb, lånas som ett eller två återskapade UI-ögonblick från Spotifys publika sidor med neutralt innehåll, så att filmen ändå visar produkten.

      Källa: brief slots duration, real_brand (prompt); D-02; D-03; ice-film/references/film-setup.md section 1 ("Two types fit: pick the one whose purpose matches the goal, borrow parts of the other, log it"); film-types/brand-film.md and app-ad.md (Fit, Purpose, Rhythm ranges, Truth and content, Deliverables)

    • D-17 Riktning (looken)

      • A, med kritikerns fem korrigeringar: (1) vid 34 s viks de låsta spåren ihop till Spotifys rutlayout Browse all under sökfältet (gatan blir Spotifys egen söksida); (2) inget rött: spåren korall #FFA178 (tuta, första flödet), oliv #608108 (hammare), mint #91EEDA (borr), skiffer #477D95 (motor); (3) ljuset bär valet: lampor som hänger i ledningar ovanför, med 1.25x parallax, #2A2A2A tills deras spår låses, sedan en ljuspöl på 600 px i spårets färg på 30 procent över kornet; (4) standardkitet skuret till 2, loggat (D-22): svaret landar helt; (5) arabiska ord som ska läsas i IBM Plex Sans Arabic Bold på 1.35x den latinska storleken, textur minst 56 px; slutbilden på #000000Valt
      • - A: Nattskift: Spotifys mörka gränssnitt blir gatan
      • varje låst spår får en av Spotifys egna bläddringsfärger (vilar på: varumärkesbladet, inspelningar av bläddringsrutor, R-04, R-06)
      Varför, och källan

      A är den enda riktning som bär påståendet med sin egen mekanik (grått tills du trycker, färg bara vid en låsning) och ser ut som Spotifys eget gränssnitt och bläddringsfärger, fast bättre; B är ärvd från risograph-posten (3 av 6 axlar) och klarar inte kontrasten på krämfärgat; C är kategorins konvention och ärvd från Swiss Motion (2 av 6).

      Källa: ice/review/direction/D-17-options.md; D-17-consultant.md; D-17-critic.md; R-01 S-02 (2026-10-20); R-04 S-03, S-04; brand-sheet.json; assets/capture/spotify/webplayer-search-en (browse tiles)

    • D-18 Palett

      • BValt
      • - A: mörk grund med fyra bläddringsfärger
      • rött i spetsen (korall
      • oliv
      • mint
      • rött) (vilar på: D-17 alternativ A)
      Varför, och källan

      att ta bort rött flyttar närmaste Apple Music-röda från dE 4.2 till dE 15.2, tar bort de panarabiska flaggfärgerna och höjer det sämsta spårparet i simulering av färgseende från 4.9 till 6.7 (kritikerns och konsultens mätningar); spåren skiljer sig också åt genom position och ord, aldrig bara genom färg.

      Källa: D-17-critic.md fix 2; D-17-consultant.md (measurements); captures browse tiles (#477D95, #608108), Premium page (#FFA178, #91EEDA)

    • D-19 Typografi

      • A, med arabiska ord som ska läsas på 1.35x den latinska storleken (Plex Arabic-kroppen är 69 procent av Figtrees x-höjd vid samma synliga höjd) och arabiska texturord på 56 px eller merValt
      • - A: Figtree 700 och 500 (latinsk) med IBM Plex Sans Arabic Bold och Regular (arabisk) (vilar på: formöverlapp 0.310 latinsk
      • 0.393 arabisk
      • det bästa arabiska ekot av CircularSp-Arab)
      Varför, och källan

      A bär riktningens vänliga geometriska röst på latinska och det närmaste fristående ekot av typografin på Spotifys egen arabiska sajt; storleksfaktorn jämnar ut viktskillnaden som konsulten mätte. B:s latinska är ärvd från den förkastade riktningen; C:s arabiska radruta är mindre än bläcket och klipper diakriter.

      Källa: temp/fontmatch measurements (D-17-options.md); D-17-consultant.md; R-05; type-pairing.md sections 1 to 6

    • D-21 Rörelsespråk

      • A (ice/plan/motion-plan.md)Valt
      • - A: en obruten kamera
      • låsningar på takten
      • färg och ljus kommer med låsningen
      • inga klipp (vilar på: D-14
      • brand-film.md, principen för övergångar)

      varumärkesfilmens princip för övergångar kräver att nästan varje övergång förvandlar det aktuella föremålet till nästa; en enda kamera håller kedjan kausal.

      Källa: ice/plan/motion-plan.md; brand-film.md; D-14

    Gjort i det här steget

  6. Steg 06, Animatic

    Tid inte registrerad

    Rollerregissörgodkännare

    tecknad gata: cue sheet återuppbyggt och låst (46 händelser, 17 rutnätsankare kontrollerade, tangenttryck, köns steg 6 och 14 från dropen); en tavla med 15 timade stillbilder i vila, alla på eller över den lägsta nivån; lint YELLOW exit 0 med skäl; D-36 och D-37 godkända; ice/review/stages/06-drawn-street-approver.md

    Gjort i det här steget

    • 06-cue-sheet.json

      Cue sheet

      {
        "locked": true,
        "locked_at": "2026-10-21 (stage 06, the drawn street; re-timed at 07 for D-39)",
        "project": "spotify-concept-ad",
        "version": "en",
        "fps": 30,
        "duration": 35,
        "mode": "music-led",
        "note": "The drawn street (D-30 to D-37): free-time noise 0 to 3.0 s, the search and the typing in a quiet street bed to the press, then a 120 BPM grid from the first downbeat at 7.5 s. Exported from film/js/config.js and film/js2/street.js by temp/tools/export-cues-v2.mjs; the build, the score and the checks read this file, never retype it. The lane-grid sheet is kept as cue-sheet-v1.json.",
        "music": {
      Läs hela filen: 06-cue-sheet.json
  7. Steg 07, Bygge

    Tid inte registrerad

    Rollergodkännarekritiker

    draft-14 (svart slutbild, D-44 till D-46): cue sheet exporteras om identiskt, stillbilder vid varje cue, G5 PASS, look G2 och G3 PASS, Final Frame Contract 0 px på hela bilden; D-45 godkänd, med landningen vid 33.5 s i väntan på beställarens bekräftelse; ice/review/stages/07-08-draft14-approver.md

    Beslut

    • D-23 Motor

      • BValt
      • - A: HyperFrames (standard i rad 8) (vilar på: engine-choice.md avsnitt 1)
      Varför, och källan

      HyperFrames är inte installerat och körningen tillåter inga installationer; steg C renderar samma sidkontrakt med Chrome 149 och FFmpeg 8.1 som redan finns på datorn; ersättningskontrollerna i 7.5 gäller.

      Källa: engine-choice.md sections 1, 7.2, 7.4, 7.5; render-html.mjs first lines: "driver built-in Chrome DevTools driver, browser C:\Program Files\Google\Chrome\Application\chrome.exe", "browser version Chrome/149.0.7827.102"

    • D-27 Kompositläge för varje rendering

      • BValt
      • - A: GPU-komposition (standard) (vilar på: hastighet
      • uppmätt i 07: sista bildrutan skilde sig från den statiska loggan med upp till 28 av 255 på 7,800 till 8,700 kantpixlar i 16:9 och 9:16, och med 1 av 255 på 14 till 26 pixlar efter en rättning, olika från körning till körning beroende på vad som komponerats tidigare)

      bildrutan beror då bara på t, som byggreglerna kräver, och slutlåsningen landar exakt på den officiella loggan i varje version.

      Källa: ice/review/final-frame/result.json; temp renders ffc to ffc5 and cues6 to cues7

  8. Steg 08, Ljud

    Tid inte registrerad

    Rollerkritikergodkännare

    master på draft-14: -14.0 LUFS, -1.4 dBTP, LRA 7.4, mono -17.2, inga luckor, slag på sina cues inklusive det sista slaget vid 33.5; D-42 5.04 dB; ice/review/stages/07-08-draft14-approver.md

    Beslut

    • D-20 Ljudets huvudspår och musikkälla

      • A, loggat som en kodgjord ersättare för ett licensierat spår gjort av människor (nämnt i leveransnotisen som det ett ja till en nedladdning från ett bibliotek skulle tillföra)Valt
      • - A: musikdriven, komponerad i kod med projektets kopia av mgaudio: en groove byggd av gatans egna maskiner (tutan som en låg bleckblåsstöt med det låga slaget, hammaren som backbeat, borren som hi-hat, motorn som subbas), en melodistämma som spelar filmens motiv
      • arabisk version i maqsum, engelsk i rak fyrtakt, båda i 120 BPM
      • oljudsdelen som ljuddesign (vilar på: D-13, kritikerns rättning 1
      • ice-audio avsnitt 5, musik i kod när ingen licenssäker nedladdning är tillåten)
      Varför, och källan

      filmens påstående är att oljudet blir din musik, vilket bara en musik byggd av samma ljud kan visa; den är licensren och låst till cue sheet; C blockeras av körningens villkor.

      Källa: ice-audio/SKILL.md section 5; music-choice-and-licensing.md section 2 (music brands row; downloads not allowed row); D-13-critic.md fix 1

    • D-29 Ljudstyrkeprofil och musikens skydd för ljudstyrkeomfång

      • AValt
      • - A: Sociala medier och webb, slagkraftigt: -14 LUFS, högst -1 dBTP i den kodade filen, LRA högst 9 till 11 LU
      • musikskyddet på 5 till 8 LU mätt på musikens kropp (12 till 41 s), hela filmens LRA hållen inom profilen (vilar på: D-06 flöden och en energisk film
      • uppmätt: EN-master -14.3 LUFS, -1.1 dBTP, LRA 8.4
      • musik v2 hela filmen 8.63 LU, kroppen 4.58 LU)
      Varför, och källan

      filmen spelas mest i flöden (D-06), där -14 är ljudstyrkan på innehållet runt omkring, och hela filmen ligger inom profilens LRA (8.4 LU på den kodade mastern). Musikskyddets band (5 till 8 LU) nås inte på något av sätten: hela filmen mäter 8.63 LU (0.63 över, på grund av de redovisade tysta partierna) och musikens kropp, 12 till 41 s, mäter 4.58 LU (0.42 under: en jämn groove). Båda siffrorna redovisas i leveransnotisen som en öppen skyddspunkt. Det är de avsiktligt tysta partierna som trycker hela filmens siffra över 8; att fylla dem skulle ta bort tystnaden i den kalla öppningen och andrummet. Listat i leveransnotisen med siffrorna.

      Källa: ice/audio/qc_en_v2.json; ice/audio/master_draft4_en.json; ice/review/mix-08b.md; ice/review/stages/08-approver.md

    Gjort i det här steget

    • 08-sound-plan.md

      Ljudplan

      Sound plan: spotify-concept-ad (The street plays along), stage 08a

      Built by ice/audio/score.py (one script, --lang en|ar) with the project copy of mgaudio (MIT), every time read from ice/plan/cue-sheet.json (locked, not retimed). Clock: music-led, 120 BPM, bar 0 = the press at 12.0 s, 4/4, a 16th = 0.125 s; 0 to 12.0 s free time. Outputs: ice/audio/soundtrack_en.wav, ice/audio/soundtrack_ar.wav (48 kHz, 24-bit, stereo, 2,352,000 samples = 49.000 s), stems in ice/audio/stems_en/ and ice/audio/stems_ar/ (pre-master, written at -6 dB), score_spec_en.png, score_spec_ar.png, beatgrid.png, measured reports qc_en.json, qc_ar.json, beatgrid.json.

      Version 2 (section 7, the director's follow-up for the social-profile LRA): soundtrack_en_v2.wav, soundtrack_ar_v2.wav, stems_en_v2/, stems_ar_v2/, score_spec_en_v2.png, score_spec_ar_v2.png, beatgrid_v2.png, qc_en_v2.json, qc_ar_v2.json, beatgrid_v2.json, rendered with python ice/audio/score.py --lang en --v2 (and --lang ar --v2, --v2 --beatgrid). Version 1 files are unchanged (checksums verified after the v2 renders). Sections 1 to 6 describe version 1; section 7 lists what version 2 changes and its measured numbers.

      This is the 08a score and SFX pass. The final mix on the picture, the exported MP4 measurement and the human listening check belong to 08b and 10. Nothing below is a claim about how it sounds: every number is measured, and no one has listened yet.

      1. The four machines are the kit

      Läs hela filen: 08-sound-plan.md
  9. Steg 09, Granskning

    Tid inte registrerad

    Rollerkritikerregissörgodkännare

    runda 4 på det godkända klippet: kritiker A SHIP (5 P2), kritiker B SHIP (2 P3); tydlighetsläsning 3 PASS r5, en blind tittare på den levererade mastern: 'Press play and the noise around you turns into music.' (läsningen i runda 4 är ogiltig); QA för varumärkesfilm: varumärkestest FAIL 0 av 6, konkurrentbyte FAIL (36 procent specifikt för Spotify), övergångar PASS, värdevändningar PARTIAL, listat för beställaren; en kodningsrättning R4-01 (bt709-taggar); ice/review/stages/09-10-approver-r2.md

    Gjort i det här steget

    Kritikerrundor

    1. Runda 1REVISE

      • Kritiker A: 1 P0, 9 P1, 8 P2
      • Kritiker B: 1 P0, 8 P1, 6 P2
      • Kritiker C: 1 P0, 7 P1, 7 P2
      • Rättningar R1-01 till R1-20 i fixes.json; tutans uttoning i bildruta 0 och slutbilden var det som blockerade
    2. Runda 2ONE MORE PASS

      • verify-1: SHIP
      • verify-2: ONE MORE PASS (slutbilden: gatans luma, grooven på cellerna, spelhuvudet, fältet före 41.0)

      Åtgärdat

      • Punkter från runda 1: rättade eller delvis rättade, enligt tabellerna i verify-1.md och verify-2.md
    3. Runda 3ONE MORE PASS

      • verify-3: ONE MORE PASS (slutbildens spelhuvud, en avklippt grå cell, den sista blixten)

      Åtgärdat

      • Punkter från runda 2: enligt tabellen i verify-3.md
    4. Runda 4SHIP

      • Kritiker A (bild): SHIP, inga P0 eller P1, fem P2 loggade (källor utanför bild under de första 1.25 s, två ord 10 px utanför marginalen på 5 procent, motorcykeln är vänd åt fel håll, ingen rörelseoskärpa på fyra snabba rörelser, bt709-taggar saknas)
      • Kritiker B (ljud och synk): SHIP, inga P0 till P2, två P3 loggade (maskinernas pulser en bildruta efter baskaggen, 1.9 dB monoförlust i sista sekunden)
      • Första kalla tittaren (tydlighetsläsning 3): VOID, den öppnade utkastet via dess projektsökväg och kritikernas märkta paket, och det fanns inget budskap att jämföra med (ice/review/clarity/read-3-cold-viewer.md); läsningen som räknas, read-3-r5 på den levererade mastern, kördes efter den här rundan (ice/review/clarity/read-3-r5.md och dess jämförelse)
      • En rättning gjord utan att filmen ändrades: bt709-färgtaggar på den slutliga mastern (R4-01)
  10. Steg 10, Leverans

    Tid inte registrerad

    Rollerregissörgodkännare

    slutlig 1920x1080 30 fps 35.00 s, renderad i ordning från bildruta 0 med en worker, bt709, -14.0 LUFS, -1.4 dBTP, LRA 7.4, sista bildrutan 0 px mot den statiska logosidan; affisch och sex stillbilder; NOTE.md med ordalydelsen från D-46, tillstånden och de underkända QA-punkterna; fingeravtryck i ice/review/fingerprint.jsonl (lagret i hemkatalogen skrevs inte); ice/review/stages/09-10-approver-r2.md

    Gjort i det här steget

    • 10-NOTE.md

      Leveransrapport med uppmätta siffror

      spotify-concept-ad: delivery report (2026-10-21)

      Status: reviewer approved (stage 09 round 4: two fresh critics SHIP; clarity read 3 PASS r5, a blind viewer on the delivered master, in its own words: "Press play and the noise around you turns into music."), approved by the owner on draft-14 (D-47). Two brand film QA thresholds fail on the approved cut (brand test, competitor swap; see Gates), logged for the owner, not fixed, because a fix changes the approved film.

      File: ice/renders/final/spotify-concept-ad_street_16x9_35s.mp4 sha256 d206ae58123e3bf71764a6be0d17853c2000b4b5f127725eab0dff50a87f2784 1920x1080 30 fps 35.00 s h264 (bt709) / aac 48 kHz stereo

      Other deliverables: poster ice/renders/final/spotify-concept-ad_street_16x9_poster.jpg and .png (1920x1080, the drop at 20.2 s); six key stills ice/renders/final/stills/ (2.67, 8.20, 20.20, 22.30, 25.00, 34.97 s); the same master with its version in the name ice/renders/spotify-concept-ad_street_16x9_35s_v1.mp4; the case study ice/case-study/. One version only: English, 16:9 (the owner's decision, D-28); no Arabic version, no 9:16 or 1:1 re-layouts, no cutdowns.

      The non-affiliation line (D-46)

      Läs hela filen: 10-NOTE.md
    • Stillbild ur den levererade filmen vid 0.00 s
    • Stillbild ur den levererade filmen vid 17.50 s
    • Stillbild ur den levererade filmen vid 34.90 s
    • Levererad stillbild spotify-concept-ad_street_16x9_poster.jpg
    • Levererad stillbild spotify-concept-ad_street_16x9_poster.png
    • Levererad stillbild spotify-concept-ad_street_16x9_01-noisy-street_2.67s.jpg

Research, med datum

Anteckning om regelefterlevnad: spotify-concept-ad

21 källor

R-01 RQ-brand: Vad publicerar Spotifys egna officiella sidor i dag om logoregler, färger, typsnitt, live-sidor, butikssidor och aktuella kampanjer?

21 källor

R-02 RQ-business: Vad är Spotify, vem riktar det sig till, vad publicerar det som produktsanning i dag, vilka är konkurrenterna i Egypten, MENA och globalt, och hur pratar det?

19 källor

R-03 RQ-rules: Vilka reklamregler gäller för reklam för en musikstreamingapp i Egypten och MENA, och vad säger reklampolicyerna för YouTube (Google Ads), Instagram (Meta) och TikTok om den här inofficiella konceptfilmen?

18 källor

R-04 RQ-color: Vad betyder färger för varumärken inom musikstreaming och för publiken i Egypten och arabvärlden, och vilka paletter använder musikstreamingvarumärken 2025 och 2026?

7 källor

R-05 RQ-type: Vilka konventioner för arabisk typografi gäller för skärm och video i sociala medier 2025 och 2026, hur paras arabiska ihop med en latinsk sans, och vilka öppet licensierade arabiska typsnitt nämner källorna?

5 källor

R-06 RQ-category: Hur ser aktuell reklam för musikstreaming och Spotify-reklam ut (struktur, palett, typografi, rörelse, ljud), och hur ser alla andra videor om det här ämnet ut?

17 källor

R-07 RQ-ads: Vilka riktiga reklamfilmer från 2024 till 2026 från Spotify och de konkurrenter som våra källor nämner (Egypten, MENA och globalt) visar kategorins krokar, taktformer, paletter, typografi, klipptempo, ljud och slut?

24 källor

R-08 RQ-refs: Vilka riktiga, tillgängliga, dokumenterade verk kan fungera som riktmärken för berättar- och övergångsgrammatik, för typografi och komposition, och för ljud och tempo i en varumärkesfilm för musikstreaming?

18 källor

Kontroller av den levererade filen

KontrollResultatUppmätt
Tydlighet för kall tittareGodkänden ny subagent utan brief öppnade bara paketet (film.mp4 och format.txt) och skrev: säljer "Spotify."; gör "It lets you find and play music that fits your moment."; idé "Press play and the noise around you turns into music."; godkännaren jämförde det med budskapet (D-48): Sells, Offer's job och One-line idea MATCH, ingen feltolkning, ingen större förvirring, fem mindre punkter. Den första läsningen 3 (runda 4) är ogiltig: den öppnade utkastet via dess projektsökväg och kritikernas märkta paket, inget budskap fanns och ingen jämförelse kördes. Läsning 1 och 2 kördes inte (kontrollen kom in i skills mitt i körningen, efter 02). Begränsning: paketets sökväg innehåller "04-spotify", som tittaren såg
Lint av storyboardVarning
Lint och kontroll av motornGodkändsidkontraktet renderar 1050 bildrutor i ordning med en worker; cue sheet exporteras om identiskt (53 händelser)
G0 renderingen finnsGodkänd35.00 s stämmer med förväntade 35.00 s; ljud finns
G1 korrektur läsbarMed ögatfältets text 54 px på 1080 (5 procent), raden 104 och 64 px; ljudorden och kortet går att läsa i full storlek; kontrollerat på stillbilderna i 1920 och arket i mobilstorlek
G2 ingen tom bildrutaGodkändingen följd av mer än 3 platta bildrutor
G3 slutpaus, andel för uppmaningGodkändslutpaus 1.47 s (gräns 0.6 till 1.77 s för en slutbild utan text); uppmaning från 27.5 s = 21 procent (högst 25)
G4 en huvudsak per bildrutaMed ögaten huvudsak per slag (data-hero: ordet HONK, fältet, gatan, raden, fältet, loggan)
G5 inga sidelementGodkänd0 regelträffar, depth_layers median 5
FilmkontrollVarningsnabb rörelse i bild 0.151, tom mittdel 0.000 s, blålila grund 0.000; gula: hero_share och frame_fill under den lägsta nivån bara för slagen 31.25-35 s, 12 inåkningar per minut
Lägsta detaljnivåGodkändhero_share 90.9 procent (lägsta 30), frame_fill 16 av 16 (lägsta 10), empty_half 0 s, in_shot_motion 100 procent, longest_still 0 s utanför redovisade pauser; depth_layers median 5 (sidmarkeringar); ytdetaljer (asfaltens korn, fönster, byggställning och plank), ljushändelser (tryckringen, dropen), riktigt material (det återskapade gränssnittet, den officiella loggan) räknade av kritiker A
Rörelse och frysningarGodkänd0 klipp, 0 frysningar, 1 svart sträcka (den redovisade uttoningen före loggan), 0 vita; nästan frysta prov 16 (andrummet och loggans paus)
SkarvarEj tillämpligten obruten kamera, inga klipp (look.py läser dropens blixt vid 19.53 s som ett scenbyte)
Undertexter och synkSynk godkändingen röst, inga undertexter; varje cue startar inom en bildruta (kritiker B: tryck 7.5, drop 19.5, sista slaget 33.5 på sina bildrutor, 13 tutstötar från kön exakta på samplet)
LjudstyrkaGodkänd-14.0 LUFS, LRA 7.4 LU, true peak -1.4 dBFS (mål -14, -1 dBTP, D-29)
SpecifikationGodkänd1920x1080, h264, 30 fps, 35.00 s
Avstånd till mallGodkänd4 av 6 axlar mot ice-styles 01-flat-vector
FingeravtryckIngen tidigare postposten skrivs till ice/review/fingerprint.jsonl i projektet (körningen är begränsad till sin mapp, så ~/.ice-motion-director/fingerprints.jsonl skrevs inte)
Final Frame ContractGodkändsista bildrutan i den förlustfria slutversionen är identisk med den statiska logosidan över hela bilden: 0 avvikande pixlar
Slutversionen mot det godkända klippetGodkändslutliga bildrutor i 960x540 mot draft-14: PSNR 36.7 till 43.6 dB vid nio tidpunkter; den förlustfria slutversionen mot sökta stillbilder: 0 px på slutbilden och loggan, prickar på högst 29 av 255 i gatans lager (rasterhistorik, slutversionen renderad i ordning från bildruta 0 med en worker)
Varumärkestest (tröskel i QA för varumärkesfilm)Underkänd0 av 6 slumpvisa bildrutor uppfattades som Spotify med loggan och UI:t dolda (2 NO, 4 WEAK): Spotifys gröna finns bara på spelcirkeln och loggan, gatans färger är inte kända som Spotifys
Konkurrentbyte (tröskel i QA för varumärkesfilm)Underkänd12.5 av 35 s (36 procent) specifikt för Spotify, allt utbytbar yta (det återskapade gränssnittet, det gröna, loggan); idén går att flytta till vilken musikapp som helst
Övergångar förvandlar föremålet; värdevändningar (tröskel i QA för varumärkesfilm)Delvisövergångar godkända: inget hårt klipp på 1050 bildrutor (en obruten kamera); kapitlens luma vänder vid 4 av 7 byten, de tre sista stegar ner till svart
KlimaxduellInte körd
  • -14LjudstyrkaLUFS
  • -1.4True peakdBTP
  • 30Bildfrekvensbilder per sekund
  • 1920 x 1080Upplösningpixlar
Levererade versioner
SpråkBildformatLängdFil
engelska16:90:35ice/renders/final/spotify-concept-ad_street_16x9_35s.mp4

Erkännanden och verktyg

  • ice/audio/soundtrack_en.wav, local, code-generated, none, code-generated with mgaudio (MIT, project copy at ice/audio/lib/mgaudio, from Vincentwei1021/mg-styles-15), no third-party audio, score and SFX composed by code in ice/audio/score.py; mgaudio (c) 2026 Vincentwei1021, MIT, n/a (original output, mastered to -14 LUFS, -1 dBTP), English version, full soundtrack 0.0 to 49.0 s, 2026-10-20
  • ice/audio/soundtrack_ar.wav, local, code-generated, none, code-generated with mgaudio (MIT, project copy at ice/audio/lib/mgaudio, from Vincentwei1021/mg-styles-15), no third-party audio, score and SFX composed by code in ice/audio/score.py; mgaudio (c) 2026 Vincentwei1021, MIT, n/a (original output, mastered to -14 LUFS, -1 dBTP), Arabic version, full soundtrack 0.0 to 49.0 s, 2026-10-20
  • ice/audio/soundtrack_en_v2.wav, local, code-generated, none, code-generated with mgaudio (MIT, project copy at ice/audio/lib/mgaudio, from Vincentwei1021/mg-styles-15), no third-party audio, score and SFX composed by code in ice/audio/score.py (--v2); mgaudio (c) 2026 Vincentwei1021, MIT, version 2 levels for the social-profile LRA (mastered to -14 LUFS, -1 dBTP), English version, full soundtrack 0.0 to 49.0 s, 2026-10-20
  • ice/audio/soundtrack_ar_v2.wav, local, code-generated, none, code-generated with mgaudio (MIT, project copy at ice/audio/lib/mgaudio, from Vincentwei1021/mg-styles-15), no third-party audio, score and SFX composed by code in ice/audio/score.py (--v2); mgaudio (c) 2026 Vincentwei1021, MIT, version 2 levels for the social-profile LRA (mastered to -14 LUFS, -1 dBTP), Arabic version, full soundtrack 0.0 to 49.0 s, 2026-10-20
Alla 25 erkännanden
  • ice/audio/soundtrack_en_v3.wav (and stems_en_v3/), local, code-generated, none, code-generated with mgaudio (MIT, project copy at ice/audio/lib/mgaudio, from Vincentwei1021/mg-styles-15), no third-party audio, score and SFX composed by code in ice/audio/score.py (--v3); mgaudio (c) 2026 Vincentwei1021, MIT, version 3: full-level frame-0 horn, no fade-in, end hit at 46.0 and a natural ring-out (mastered to -14 LUFS, -1 dBTP), English 16:9 delivery film, full soundtrack 0.0 to 49.0 s, 2026-10-20
  • ice/audio/stems_en_v2/, ice/audio/stems_ar_v2/, local, code-generated, none, code-generated with mgaudio (MIT, project copy), no third-party audio, as above, pre-master stems written at -6 dB by mgaudio export, mix reference for 08b, 2026-10-20
  • ice/audio/stems_en/, ice/audio/stems_ar/, local, code-generated, none, code-generated with mgaudio (MIT, project copy), no third-party audio, as above, pre-master stems written at -6 dB by mgaudio export, mix reference for 08b, 2026-10-20
  • ice/audio/soundtrack_en_v4.wav, local, code-generated, none, code-generated with mgaudio (MIT, project copy at ice/audio/lib/mgaudio, from Vincentwei1021/mg-styles-15), no third-party audio, no samples, no AI generation, score and SFX composed by code in ice/audio/score.py (--v4); mgaudio (c) 2026 Vincentwei1021, MIT, version 4, the drawn street: timed from ice/plan/cue-sheet.json (36.0 s); mid-honk at frame 0, no fade-in, last hit at 33.5 and a natural ring-out (mastered to -14 LUFS, -1 dBTP; measured -14.08 LUFS, -1.21 dBTP), English 16:9 film, full soundtrack 0.0 to 36.0 s (08b input: ice/audio/master_input_en_v4.json), 2026-10-21
  • ice/audio/soundtrack_en_v4.wav: SFX (street noise of the hero car, four jam vehicles, road breaker, pile rig and motorbike; 26 key ticks; soft UI open; soft whoosh; click; riser; impact), local, code-generated, none, horn, breaker, pile rig, motorbike and key models written in ice/audio/score.py (horn4, road_breaker, breaker_hat, pile_ram, pile_backbeat, bike_rev, key_tick, building on jack_hammer and engine_bass there); UI open, whoosh, click, riser, impact and the drum bodies from mgaudio sfx and drums (MIT, project copy), as above, original output, mixed into the soundtrack, English 16:9 film, 0.0 to 36.0 s, 2026-10-21
  • ice/audio/stems_en_v4/, local, code-generated, none, code-generated with mgaudio (MIT, project copy), no third-party audio, as above, 31 pre-master stems written at -6 dB by mgaudio export, mix reference for 08b, 2026-10-21
  • ice/audio/soundtrack_en_v5.wav, local, code-generated, none, code-generated with mgaudio (MIT, project copy at ice/audio/lib/mgaudio, from Vincentwei1021/mg-styles-15), no third-party audio, no samples, no AI generation, score and SFX composed by code in ice/audio/score.py (--lang en --v5); mgaudio (c) 2026 Vincentwei1021, MIT, version 5 (D-38 to D-42): timed from the re-timed ice/plan/cue-sheet.json (33.5 s), seven jam cars, an alive ending, smaller peaks at the source (mastered to -14 LUFS, -2.5 dBTP ceiling; measured -14.03 LUFS, -2.68 dBTP), English 16:9 film, full soundtrack 0.0 to 33.5 s (08b input: ice/audio/master_input_en_v5.json; mastered into ice/renders/draft-10-en-av.mp4), 2026-10-21
  • ice/audio/soundtrack_en_v5.wav: SFX (street noise of the hero car, seven jam cars, road breaker, pile rig and motorbike; 26 key ticks; soft UI open; soft whoosh; click; riser; impact), local, code-generated, none, the same models as v4 in ice/audio/score.py (horn4 with seven horn timbres, road_breaker, breaker_hat, pile_ram, pile_backbeat, bike_rev, key_tick); UI open, whoosh, click, riser, impact (high-passed at 100 Hz) and the drum bodies from mgaudio sfx and drums (MIT, project copy), as above, original output, mixed into the soundtrack, English 16:9 film, 0.0 to 33.5 s, 2026-10-21
  • ice/audio/stems_en_v5/, local, code-generated, none, code-generated with mgaudio (MIT, project copy), no third-party audio, as above, 34 pre-master stems written at -6 dB by mgaudio export, mix reference for 08b, 2026-10-21
  • ice/audio/soundtrack_en_v6.wav, local, code-generated, none, code-generated with mgaudio (MIT, project copy at ice/audio/lib/mgaudio, from Vincentwei1021/mg-styles-15), no third-party audio, no samples, no AI generation, score and SFX composed by code in ice/audio/score.py (--lang en --v6); mgaudio (c) 2026 Vincentwei1021, MIT, version 6: the version 5 sound on the 35.0 s ice/plan/cue-sheet.json (last hit 32.5, ring-out to 35.0), the jam cars level-matched (mastered to -14 LUFS, -2.5 dBTP ceiling; measured -14.07 LUFS, -2.68 dBTP), English 16:9 film, full soundtrack 0.0 to 35.0 s (08b input: ice/audio/master_input_en_v6.json; mastered into ice/renders/draft-11-en-av.mp4), 2026-10-21
  • ice/audio/soundtrack_en_v6.wav: SFX (street noise of the hero car, seven jam cars, road breaker, pile rig and motorbike; 26 key ticks; soft UI open; soft whoosh; click; riser; impact), local, code-generated, none, the same models as v5 in ice/audio/score.py; UI open, whoosh, click, riser, impact (high-passed at 100 Hz) and the drum bodies from mgaudio sfx and drums (MIT, project copy), as above, original output, mixed into the soundtrack, English 16:9 film, 0.0 to 35.0 s, 2026-10-21
  • ice/audio/stems_en_v6/, local, code-generated, none, code-generated with mgaudio (MIT, project copy), no third-party audio, as above, 34 pre-master stems written at -6 dB by mgaudio export, mix reference for 08b, 2026-10-21
  • ice/audio/soundtrack_en_v7.wav, local, code-generated, none, code-generated with mgaudio (MIT, project copy at ice/audio/lib/mgaudio, from Vincentwei1021/mg-styles-15), no third-party audio, no samples, no AI generation, score and SFX composed by code in ice/audio/score.py (--lang en --v7); mgaudio (c) 2026 Vincentwei1021, MIT, version 7: the version 6 sound with the black end card (D-44 to D-46): the groove under the field, the street dropping out with the fade to black, a reverse-cymbal swell under the logo entrance, the final hit at 32.5 and the ring-out (mastered to -14 LUFS, -2.3 dBTP ceiling; measured -14.04 LUFS, -2.48 dBTP), English 16:9 film, full soundtrack 0.0 to 35.0 s (08b input: ice/audio/master_input_en_v7.json; mastered into ice/renders/draft-12-en-av.mp4), 2026-10-21
  • ice/audio/soundtrack_en_v7.wav: SFX (street noise of the hero car, seven jam cars, road breaker, pile rig and motorbike; 26 key ticks; soft UI open; soft whoosh; click; riser; impact; the swell into the final hit), local, code-generated, none, the same models as v6 in ice/audio/score.py; UI open, whoosh, click, riser, impact (high-passed at 100 Hz), the reverse cymbal of the logo entrance and the drum bodies from mgaudio sfx and drums (MIT, project copy; the cymbal is mgaudio's synthetic crash reversed, no sample pack installed), as above, original output, mixed into the soundtrack, English 16:9 film, 0.0 to 35.0 s, 2026-10-21
  • ice/audio/stems_en_v7/, local, code-generated, none, code-generated with mgaudio (MIT, project copy), no third-party audio, as above, 35 pre-master stems written at -6 dB by mgaudio export, mix reference for 08b, 2026-10-21
  • ice/audio/soundtrack_en_v8.wav, local, code-generated, none, code-generated with mgaudio (MIT, project copy at ice/audio/lib/mgaudio, from Vincentwei1021/mg-styles-15), no third-party audio, no samples, no AI generation, score and SFX composed by code in ice/audio/score.py (--lang en --v8); mgaudio (c) 2026 Vincentwei1021, MIT, version 8: version 7's sound on the re-timed ending (the field 27.5 to 31.5, the fade to black 31.5 to 32.0, the swell 31.9 to 33.5, the final hit at 33.5, the ring-out to 35.0) (mastered to -14 LUFS, -2.3 dBTP ceiling; measured -14.03 LUFS, -2.48 dBTP), English 16:9 film, full soundtrack 0.0 to 35.0 s (08b input: ice/audio/master_input_en_v8.json; mastered into ice/renders/draft-13-en-av.mp4), 2026-10-21
  • ice/audio/soundtrack_en_v8.wav: SFX (street noise of the hero car, seven jam cars, road breaker, pile rig and motorbike; 26 key ticks; soft UI open; soft whoosh; click; riser; impact; the swell into the final hit), local, code-generated, none, the same models as v7 in ice/audio/score.py; UI open, whoosh, click, riser, impact (high-passed at 100 Hz), the reverse cymbal of the logo entrance (mgaudio's synthetic crash reversed) and the drum bodies from mgaudio sfx and drums (MIT, project copy), as above, original output, mixed into the soundtrack, English 16:9 film, 0.0 to 35.0 s, 2026-10-21
  • ice/audio/stems_en_v8/, local, code-generated, none, code-generated with mgaudio (MIT, project copy), no third-party audio, as above, 35 pre-master stems written at -6 dB by mgaudio export, mix reference for 08b, 2026-10-21
  • ice/audio/soundtrack_en_v9.wav, local, code-generated, none, code-generated with mgaudio (MIT, project copy at ice/audio/lib/mgaudio, from Vincentwei1021/mg-styles-15), no third-party audio, no samples, no AI generation, score and SFX composed by code in ice/audio/score.py (--lang en --v9); mgaudio (c) 2026 Vincentwei1021, MIT, version 9: version 8's sound on the end card re-timed for look.py G3 (the street fading 31.5 to 33.0, the swell 32.5 to the hit at 33.5) (mastered to -14 LUFS, -2.3 dBTP ceiling; measured -14.08 LUFS, -2.48 dBTP), English 16:9 film, full soundtrack 0.0 to 35.0 s (08b input: ice/audio/master_input_en_v9.json; mastered into ice/renders/draft-14-en-av.mp4), 2026-10-21
  • ice/audio/soundtrack_en_v9.wav: SFX (as v8: street noise, 26 key ticks, UI open, whoosh, click, riser, impact, the swell into the final hit), local, code-generated, none, the same models as v8 in ice/audio/score.py and mgaudio sfx and drums (MIT, project copy), as above, original output, mixed into the soundtrack, English 16:9 film, 0.0 to 35.0 s, 2026-10-21
  • ice/audio/stems_en_v9/, local, code-generated, none, code-generated with mgaudio (MIT, project copy), no third-party audio, as above, 35 pre-master stems written at -6 dB by mgaudio export, mix reference for 08b, 2026-10-21

look.pylint.mjsfilm_gate.pymotion_check.pyfrozen-time.mjsloudness.mjsprobe-mp4.mjstransitions.py

Vad exporten inte hittade

  • media

    ice/review/ui-fidelity/sheet-ar.png exporterades inte: det råa trohetsarket hölls lokalt (det kan innehålla andra rättighetsinnehavares material; bara den maskerade delningskopian exporteras)

  • media

    ice/review/ui-fidelity/sheet-en-v2.png exporterades inte: det råa trohetsarket hölls lokalt (det kan innehålla andra rättighetsinnehavares material; bara den maskerade delningskopian exporteras)

  • media

    ice/review/ui-fidelity/sheet-en.png exporterades inte: det råa trohetsarket hölls lokalt (det kan innehålla andra rättighetsinnehavares material; bara den maskerade delningskopian exporteras)

  • media

    ice/review/ui-fidelity/sheet-tiles-ar.png exporterades inte: det råa trohetsarket hölls lokalt (det kan innehålla andra rättighetsinnehavares material; bara den maskerade delningskopian exporteras)

  • media

    ice/review/ui-fidelity/sheet-tiles-en.png exporterades inte: det råa trohetsarket hölls lokalt (det kan innehålla andra rättighetsinnehavares material; bara den maskerade delningskopian exporteras)

  • stages[].minutes

    minuter per steg registrerades inte i stegen i ice/state.json

  • stages[06].artifacts

    ingen rendering av animatic i körningens filer

  • gates[].threshold

    tabellen över kontroller i NOTE.md skiljer inte ut tröskelvärden; de står i respektive värde där rapporten anger dem

  • run-log

    25 bilder till utelämnade (högst 24)

  • run-log

    maskerat i exporten: 0 nycklar eller tokens, 0 e-postadresser, 0 telefonnummer, 1 absoluta sökvägar (ice/log/conversation.jsonl behåller den ordagranna texten)

Ge din agent en regissör

Klistra in en rad och be sedan om en film med vanliga ord. Ice tar den från brief till leverans och visar sitt arbete i varje steg du vill se.

npx skills add Omar-Tnzxo/ice-motion-director -g --all
Ice håller klappan öppen, redo att ropa tagning