What did the Prophet ﷺ do to his enemies when he conquered Mecca? — credits
When the Prophet ﷺ entered Mecca, the people who had persecuted him and his followers were helpless; he said Sa'd was wrong to call it "the day of slaughter", declared safe whoever entered Abu Sufyan's house, laid down arms or locked his door, and gave safety to all but a handful, some of whom were executed and others later pardoned. A hand-made-style paper-collage animation, rendered live in your browser with plain JavaScript and canvas.
Sources for the story
- Sahih al-Bukhari 240 and 3856: the Prophet ﷺ physically abused in Mecca (entrails laid on his back; choked with a garment)
- Sahih al-Bukhari 4276: he set out in Ramadan with ten thousand
- Ibn ʿAbd al-Barr, al-Durar fi Ikhtisar al-Maghazi; al-Qahtani, Ghazwat Fath Makka: Quraysh's allies broke the Treaty of Hudaybiya with Quraysh men's help (sirah reports, stated generally)
- Sahih al-Bukhari 4280: Saʿd ibn ʿUbada: “Today is the day of slaughter…”; the Prophet ﷺ: “Saʿd is wrong; today Allah will give greatness to the Kaʿba”
- Sahih Muslim 1780: Abu Sufyan: “No Quraysh after today”; the declaration: whoever enters Abu Sufyan's house, lays down arms or locks his door is safe; the people locked their doors
- Sahih Muslim 1781: he struck at the idols around the Kaʿba
- Sunan Abi Dawud 2683 and Sunan an-Nasa'i 4067: safety for all but four men and two women; some of them were executed, others later pardoned
- Sahih al-Bukhari 4333: “With the Prophet ﷺ were ten thousand, and the Tulaqa'” (the freed ones)
Out of respect, the Prophet ﷺ is never depicted. This film shows no people at all: only a hand-made map, its doors and one red thread. His words appear only as gold stitching.
Made with
- Narration: Google Gemini 3.8 Flash TTS (voice “Algieba”), directed and edited for this film.
- Illustrations: Google Gemini 3.1 Flash Image (backgrounds) and OpenAI GPT Image 2.5 (cut-outs), art-directed and reviewed frame by frame.
- Typefaces (SIL Open Font License): Caveat Brush, Caveat, Patrick Hand, Aref Ruqaa.
- Animation engine, sound design and mix: written for this series.
Sound
No music is used. All sound effects are CC0 unless noted.
- amb_desert_wind_day — #81798 "Silencyo_CC_Wind Mistral_gusts_dry grassinsects_distant cars.aif" by silencyo, CC0 1.0. Edits: cut 110.0-145.0 s (a stretch with no audible traffic, insects or birds); 4-pole HPF 150 Hz (removes low rumble/distant hum); 30 s seamless loop (2 s crossfade), -25 LUFS
- amb_desert_wind_gentle — Looping Gentle Wind Ambience on an Open Desert Plain.wav (Freesound) by dhallcomposer, CC0 1.0. Edits: source 2.0-38.0 s; highpass=f=50:poles=2; gentle dry wind on an open desert plain (Hijaz wadi, dusk); 30 s seamless loop, -24 LUFS; 48k/16-bit
- amb_desert_wind_night — #796193 "Wind in the desert countryside 1" by fran_marenco, CC0 1.0; #651241 "Slight cricket singing with silent breeze recorded at night in the desert at Bagdad California" by felix.blume, CC0 1.0. Edits: soft wind 290-324 s (HPF 50 Hz, a stretch without the recording's daytime birds) + faint night-cricket air 2-36 s (HPF 150 Hz, 0 dB); 30 s seamless loop, -24 LUFS
- amb_fire_crackle — #363092 "Fire Crackle and Flames 002" by TheWoodlandNomad, CC0 1.0. Edits: 10 s seamless crackle loop, -24 LUFS
- amb_harrah_noon_wind — #457159 "Desert binaural Wind.WAV" by Benbojangles, CC0 1.0. Edits: cut 692.00-756.00 s (steadiest stretch); HPF 60 Hz + 130 Hz (removes traffic-like mic rumble); -26 LUFS, 2 s fade-in/3 s fade-out (not a seamless loop)
- amb_jm_lane_quiet — #653946 "Quiet breeze with bird singing softly, insect noises, a horse neighs far sometimes" by felix.blume, CC0 1.0. Edits: cut 25.0-49.0 s (no horse/insect buzz in this window); HPF 150 Hz x2; 22 s seamless loop (2 s crossfade), -24 LUFS
- amb_mcm_camp_night — Campfire deer camp - adding kindling - med wind - part 4.wav (Freesound) by Ambient-X, CC0 1.0. Edits: source 8.0-56.0 s (after the kindling handling); highpass=f=60:poles=2, lowpass=f=7000, +10 dB into alimiter (limit 0.7, so the crackle sits back as if a little distant); medium wind and a crackling campfire, no voices; 40 s seamless loop, -26 LUFS; 48k/16-bit
- amb_mcm_town_dawn — Wind in the Mexican Desert (Freesound) by Sassaby, CC0 1.0; 5am_voegel_abudhabi_park.flac (Freesound) by nikitralala, CC0 1.0. Edits: soft desert wind 80-123 s (highpass 50 Hz) + sparse 5 am birds 60-103 s (highpass 1.5 kHz, lowpass 9 kHz, -9 dB under the wind; a different window from amb_dawn_birds_soft, well before the source's distant Athan at 2:40); each looped, 40 s seamless loop, -26 LUFS; 48k/16-bit
- sfx_camel_grunt_soft — #675449 "S30-27 Camels grunt and call; birds in bg.wav" by craigsmith, CC0 1.0. Edits: cut 5.40-7.35 s (two short soft grunts; spoken slate at 0.3 s excluded); HPF 60 Hz; trim, fades, peak -1 dBFS
- sfx_camel_steps_sand — #480668 "R19-19-Slow Footsteps Deep Dirt.wav" by craigsmith, CC0 1.0. Edits: cut 2.45-6.45 s (four slow soft steps); HPF 50 Hz; trim, fades, peak -1 dBFS
- sfx_card_fold — #364740 "open-cardboard-box-compartment.wav" by newagesoup, CC0 1.0. Edits: cut 0.12-0.95 s (quick cardboard flap fold); HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_card_thud — #824385 "Softcover book hitting table" by nyxlitten, CC0 1.0. Edits: cut 3.80-4.25 s; HPF 60 Hz; trim, fades, peak -1 dBFS
- sfx_cloth_drop — #844390 "Cloth flaps" by Maraboop, CC0 1.0. Edits: cut 0.02-0.72 s (soft double flap); HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_cloth_flap — #391945 "cloth flap" by ssierra1202, CC0 1.0. Edits: cut 0.00-0.74 s; HPF 60 Hz; trim, fades, peak -1 dBFS
- sfx_cloth_swish_1 — #391448 "Shirt Whoosh 1.wav" by saturdaysoundguy, CC0 1.0. Edits: cut 6.70-7.40 s; HPF 80 Hz,FFT denoise 10 dB (floor -72); trim, fades, peak -1 dBFS
- sfx_cord_pull_1 — #646586 "Sewing cloth.wav" by heifabaisi, CC0 1.0. Edits: cut 9.37-10.08 s (thread pulled through cloth); HPF 120 Hz,FFT denoise 8 dB (floor -60); trim, fades, peak -1 dBFS
- sfx_cord_pull_2 — #646586 "Sewing cloth.wav" by heifabaisi, CC0 1.0. Edits: cut 29.16-29.86 s; HPF 120 Hz,FFT denoise 8 dB (floor -60); trim, fades, peak -1 dBFS
- sfx_cord_pull_3 — #646586 "Sewing cloth.wav" by heifabaisi, CC0 1.0. Edits: cut 35.20-35.77 s; HPF 120 Hz,FFT denoise 8 dB (floor -60); trim, fades, peak -1 dBFS
- sfx_dream_shimmer_short — synthesized for this series: Same engine, 1.6 s dense sparkle sting.
- sfx_flame_catch_soft — #326463 "Lighting A Match OWI.wav" by miekyj, CC0 1.0. Edits: cut 0.42-1.85 s (flame flare only, strike removed); HPF 80 Hz; trim, 0.25 s fade-out, peak -1 dBFS
- sfx_heat_cicadas — #483917 "athens cicadas" by jenkmasler, CC0 1.0. Edits: cut 335.0-375.0 s; HPF 200 Hz, LPF 11 kHz; 30 s seamless loop (2 s crossfade), -26 LUFS. Non-musical insect bed
- sfx_jm_wood_thunk — #669467 "SFX_wood_stone_floor_axe_handling_drop.wav" by EricsSoundschmiede, CC0 1.0. Edits: cut 0.05-1.50 s; HPF 40 Hz; trim, fades, peak -1 dBFS
- sfx_mcm_bolt_slide_clack_1 — Sliding wooden shutter with a clunk.wav (Freesound) by ross_sinc, CC0 1.0. Edits: source 9.90-10.80 s; highpass=f=60:poles=2; end of a wooden shutter's slide and its wooden clunk shut, used as a low wooden bolt sliding home; trim, fades, peak -1 dBFS; 48k/16-bit
- sfx_mcm_bolt_slide_clack_2 — wood_drawer_open_and_close.wav (Freesound) by LightningMan711, CC0 1.0. Edits: source 1.80-2.42 s; highpass=f=70:poles=2; wooden drawer slid shut with a clack (mid-pitch bolt); trim, fades, peak -1 dBFS; 48k/16-bit
- sfx_mcm_cloth_flutter — Fabric Flapping (Freesound) by IENBA, CC0 1.0. Edits: source 9.05-10.60 s; highpass=f=80:poles=2; fabric flapping foley (cape/flag), used as a small cloth banner fluttering; fades, peak -1 dBFS; 48k/16-bit
- sfx_mcm_door_creak_soft_1 — door_creak_4_short.wav (Freesound) by Brighella, CC0 1.0. Edits: source 0.10-0.90 s (the tonal creak only, the rattly second creak left out); highpass=f=80:poles=2; trim, fades, peak -1 dBFS; 48k/16-bit
- sfx_mcm_door_creak_soft_2 — Creaking wooden door 02 (small) (Freesound) by xkeril, CC0 1.0. Edits: source 9.45-10.40 s; highpass=f=80:poles=2; light wooden door, small creaking movement; trim, fades, peak -1 dBFS; 48k/16-bit
- sfx_mcm_latch_click_small_1 — Wooden slide :drawer shutting 1.wav (Freesound) by sophiehall3535, CC0 1.0. Edits: source 0.15-0.305 s (first of two clicks); highpass=f=120:poles=2; piece of wood slotted into place, tiny wooden click; trim, fades, peak -1 dBFS; 48k/16-bit
- sfx_mcm_latch_click_small_2 — Little Wooden Box Opening And Closing (Freesound) by arduenn, CC0 1.0. Edits: source 20.425-20.60 s; highpass=f=150:poles=2 (removes the source's low rumble); little wooden box's sliding hatch clicking shut; trim, fades, peak -1 dBFS; 48k/16-bit
- sfx_mcm_pin_push — Tacking paper to a cork board (Freesound) by pfranzen, CC BY 4.0. Edits: whole file 0.0-0.128 s; highpass=f=150:poles=2; one pushpin tacking paper to a cork board; fades, peak -1.6 dBFS (true peak -1 dBTP); 48k/16-bit. Attribution required: "Tacking paper to a cork board" by pfranzen (freesound.org/s/266894), CC BY 4.0, trimmed and levelled
- sfx_mcm_stone_topple_soft_1 — Stone dropping to ground_northern87 (Freesound), CC0 1.0. Edits: source 24.45-25.20 s; highpass=f=35:poles=2; one heavy stone hitting the ground, dull thud with no shatter (mostly low end); trim, fades, peak -1 dBFS; 48k/16-bit
- sfx_mcm_stone_topple_soft_2 — Stone dropping to ground_northern87 (Freesound), CC0 1.0. Edits: source 0.45-1.06 s (cut before the bounce); highpass=f=35:poles=2; another single dull stone hit; trim, fades, peak -2.4 dBFS (true peak -1 dBTP); 48k/16-bit
- sfx_mcm_wool_through_cloth — point broderie.mp3 (Freesound) by joesgarage, CC0 1.0. Edits: source 30.62-31.65 s; highpass=f=90:poles=2; embroidery thread drawn through taut linen in a wooden frame (soft rasp); trim, fades, peak -1 dBFS; 48k/16-bit
- sfx_needle_punch_1 — #188178 "Sewing/stitching up some fabric" by pfranzen, CC0 1.0. Edits: cut 0.05-0.30 s; HPF 150 Hz; trim, fades, peak -1 dBFS
- sfx_needle_punch_2 — #188178 "Sewing/stitching up some fabric" by pfranzen, CC0 1.0. Edits: cut 1.85-2.12 s; HPF 150 Hz; trim, fades, peak -1 dBFS
- sfx_needle_punch_3 — #188178 "Sewing/stitching up some fabric" by pfranzen, CC0 1.0. Edits: cut 2.20-2.44 s; HPF 150 Hz; trim, fades, peak -1 dBFS
- sfx_paper_rustle_1 — #181774 "rustling paper.wav" by keweldog, CC0 1.0. Edits: cut 0.30-2.55 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_paper_rustle_2 — #181774 "rustling paper.wav" by keweldog, CC0 1.0. Edits: cut 2.50-4.45 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_paper_rustle_3 — #449127 "Rustling Paper" by HarpyHarpHarp, CC0 1.0. Edits: cut 1.45-2.15 s; HPF 80 Hz,FFT denoise 10 dB (floor -60); trim, fades, peak -1 dBFS
- sfx_paper_rustle_4 — #449127 "Rustling Paper" by HarpyHarpHarp, CC0 1.0. Edits: cut 5.70-6.41 s; HPF 80 Hz,FFT denoise 10 dB (floor -60); trim, fades, peak -1 dBFS
- sfx_paper_rustle_5 — #211246 "PageRustle" by Tomoyo Ichijouji, CC0 1.0. Edits: cut 0.10-1.90 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_paper_slide_1 — #464302 "PaperSlide.wav" by eyesonlegs, CC0 1.0. Edits: cut 0.00-1.64 s; HPF 60 Hz,FFT denoise 10 dB (floor -55); trim, fades, peak -1 dBFS
- sfx_paper_slide_2 — #444431 "Sliding Envelope.wav" by MTJohnson, CC0 1.0. Edits: cut 0.20-1.10 s; HPF 80 Hz; trim, fades, peak -3 dBFS
- sfx_paper_tear_1 — #272028 "Ripping Paper" by aldenroth2, CC0 1.0. Edits: cut 0.00-1.96 s; HPF 60 Hz,FFT denoise 8 dB (floor -60); trim, fades, peak -1 dBFS
- sfx_paper_tear_2 — #342541 "Fast Paper Rip" by sgrowe, CC0 1.0. Edits: cut 0.00-0.89 s; HPF 60 Hz; trim, fades, peak -1 dBFS
- sfx_paper_tear_3 — #170311 "Tearing paper" by ludde44, CC0 1.0. Edits: cut 0.20-1.52 s; HPF 60 Hz; trim, fades, peak -1 dBFS
- sfx_pen_tick_1 — #85703 "Pencil_scibble.aif" (via house `sfx_pencil_scribble_2.wav`) by tmkappelt, CC0 1.0. Edits: one tick cut from sfx_pencil_scribble_2 at 0.545-0.785 s; trim, fades, peak -1 dBFS
- sfx_pencil_scribble_1 — #257518 "Scribble_short.wav" by waldram, CC0 1.0. Edits: cut 0.00-1.27 s; HPF 150 Hz,FFT denoise 12 dB (floor -50); trim, fades, peak -1 dBFS
- sfx_pencil_scribble_2 — #85703 "Pencil_scibble.aif" by tmkappelt, CC0 1.0. Edits: cut 0.00-3.20 s; HPF 150 Hz,FFT denoise 12 dB (floor -62); trim, fades, peak -1 dBFS
- sfx_rope_creak — #231438 "hamp rope creaks" by 6polnic, CC0 1.0. Edits: cut 6.64-7.38 s; HPF 90 Hz; trim, fades, peak -1 dBFS (true peak about +0.3 dBTP)
- sfx_thread_creak — #862995 "26.07.04- Creaky Playground Swing - Rope Friction 1" by Valerie-Vivegnis, CC0 1.0. Edits: cut 24.50-25.05 s (one creak); HPF 300 Hz; trim, fades, peak -1 dBFS
- sfx_thread_pull_1 — #646586 "Sewing cloth.wav" by heifabaisi, CC0 1.0. Edits: cut 92.55-93.30 s; HPF 100 Hz,FFT denoise 10 dB (floor -60); trim, fades, peak -1 dBFS
- sfx_tick — synthesized for this series: A short synthesized key click for typing in the Qaf app screen (made for this series). Non-instrumental.
- sfx_tissue_slide_1 — #147281 "fh_Paper_Swipe_Surface2_Long_01.wav" by Frank1100, CC0 1.0. Edits: cut 0.10-1.42 s; HPF 120 Hz; trim, fades, peak -1 dBFS
- sfx_tissue_slide_2 — #147286 "fh_Paper_Swipe_Surface2_Mid_01.wav" by Frank1100, CC0 1.0. Edits: cut 0.00-1.24 s; HPF 120 Hz,FFT denoise 8 dB (floor -55); trim, fades, peak -1 dBFS
- sfx_whoosh_2 — #683101 "quick woosh" by florianreichelt, CC0 1.0. Edits: cut 0.05-2.05 s; no EQ; trim, fades, peak -1 dBFS
- sfx_whoosh_soft_synth — synthesized for this series: White noise through a time-varying log-Gaussian band-pass sweeping 300 Hz -> 2.2 kHz, swell envelope, slow L->R pan.