Dubai Municipality AI Park Design Challenge · deliverable ⑫

Lamma — 1 min animation storyboard

Extended cut — the submission film with the afternoon played out · 2026-08-31 · 12 shots · 75 seconds

3s9.5s11s9s8s5s4.5s5s5s6s5s4s
0:000:150:300:451:00

Framing — who and where Problem — heat, wall, parking Design & the day — sketch to evening

Design Collaboratory presents — storyboard frame
0:00–0:03
Static · logo build-on
1

Design Collaboratory presents

Black card. The eight nodes of the mark appear one by one, then the lines draw between them — the logo performs a gathering. Wordmark resolves, then cut.

Design Collaboratory presents.

Al Safa 2_About Us.pdf p1 (Jiin, 23 Aug)
plates/logo_collaboratory.png — 900 dpi
plates/logo_collaboratory.svg — paths, for the node build-on

Al Safa Park 2 — storyboard frame
0:03–0:12
One move: 1972 → today → model stands up
2

Al Safa Park 2

The frame holds 2.6 km wide while fifty-three years run through it — desert, then the grid, then the city. Then it closes on the park, the imagery hands over from Sentinel-2 to aerial, the park becomes our model in place, and the camera tilts up out of plan into an oblique, resting there for a second.

Al Safa Park 2 — a neighbourhood park, cherished by generations of people who live around it.

build_history_clip.py → renders/history_morph.mp4
gee/historical/ — 11 epochs, 1972–2025
Esri World Imagery z18 + z19 (assets/sat/)
align_model_to_aerial.py — plan view registered, IoU 0.80
capture_tilt.mjs — 89° → 40°, north up

The cat and the surveyor — storyboard frame
0:12–0:24
One continuous move — dive, cat, robot, then its monitor
3 + 4

The cat and the surveyor

The camera falls out of the scene 2 oblique onto a lawn in the park as it is, finds a cat asleep, wakes it, and reveals the survey robot that woke it. The cat is asleep on that lawn the whole way down, and wakes by opening its eyes as the camera closes on it. Everything the old beats 3, 4.1 and 4.2 held up as a chart is now on the robot's face: the 360 walk with the thermal camera's own frames in the corner, and the review scroll with the six personas — plus, in the director's cut only, the 360 and the walk catchment wiping 261 → 323 households.

(narration is inside the clip)

Asset needed The 60 s cut shows two findings, the 80 s cut four. Four in fifteen seconds is what made the beat feel packed; the 360 and the catchment live on the boards instead.

build_scene34_clip.py → renders/scene34_survey.mp4 (15 s)
capture_pose.mjs --path scene34/dive.json — the dive is a real 60-frame move
characters2d.py — cat and robot are drawn sprites until they are modelled
scene34/beats.json — the shot list, and what each shot still needs built

From the sketch to the plan — storyboard frame
0:24–0:32
Dissolve (3 s) → 3D transition (6 s)
5 + 6

From the sketch to the plan

Jiin's hand sketch dissolves into the model, then the viewer's own Today → Proposal move runs in 3D: the old build sinks through the ground, the plan, the loop and the cafe carry across, and the proposal rises — structure, then planting, then furniture.

What people love… stays. We opened the edges, brought the park to the street, and created cooler places to gather.

proposal_1/proposal_sketch.jpeg
capture_transition.mjs --zoom 0.52 --zoom-end 0.95 → renders/transition.mp4 (7.2 s)
view_proposal.html __viz.transition.seek — sink / carry / emerge (the cafe morphs — cone to cylinder to the new footprint — rather than dissolving), plus the colour spotlight: the park greys and the colour returns one piece at a time (cafe → water → new kit), whole park back in colour past t=0.88 (TR_FOCUS)

لَمّة · Lamma — storyboard frame
0:32–0:40
Fly-in to the robot at the creek fountain; the name on its monitor
7

لَمّة · Lamma

The entrance fly-in the 60 s cut had dropped, repurposed as the name card: in over the gate, past the shade sail, down to the survey robot before the creek fountain. Its monitor turns three pages — its face, then Welcome to, then the لَمّة wordmark — and the push ends inside the screen, on the name full-frame. The cat trots out to meet the camera and falls in beside it: the park's two residents welcoming you in.

We call it… Lamma — gathering, in Arabic. A park shaped around everyday life, and coming together.

build_name_clip.py → renders/name_entrance.mp4
capture_pose.mjs --path scene34/name_entrance.json — a real move, provenance in _capture.json
plates/lamma_wordmark.png on the monitor
Al Safa 2_Design Narrative.pdf p1 (Jiin)

Morning — storyboard frame
0:40–0:46
Eye-level, held — the lawn
8.1

Morning

Eight on the lawn between reception and PG2, mats down under the canopy shadows.

Morning begins quietly — yoga on the lawn, walkers on the loop.

capture_entrance.mjs --stop 3 → renders/day_morning.mp4
view_proposal.html TOUR stop 3 — Yoga
photoreal inset: fal-ai/flux-pro/kontext restyle of this frame — study only, not in the film

Splash & play — storyboard frame
0:46–0:50
TOUR stop 1 — Splash & Play
8.2a

Splash & play

Crab sideways past the mushroom fountains, three kids in the water.

Afternoon. Water, and the shade that makes it usable.

capture_entrance.mjs --stop 1 --seconds 4.5 → renders/ext_splash

Tree house — storyboard frame
0:50–0:55
TOUR stop 2 — Tree house
8.2b

Tree house

The ladder → deck → slide circuit, the landing held in canopy shade.

The tree house — and a slide landing kept in shade.

capture_entrance.mjs --stop 2 --seconds 5 → renders/ext_treehouse

Neighbourhood Farm — storyboard frame
0:55–1:00
TOUR stop 7 — Gardeners
8.2c

Neighbourhood Farm

Down the bed aisle, two residents watering — and the survey robot from scene 3 is back, waving hello and naming what is planted in each bed (tomato, okra, mint) on its monitor face.

The Neighbourhood Farm, tended by residents.

capture_entrance.mjs --stop 7 --seconds 5 → renders/ext_farm → build_afternoon.py --garden-only composites the robot

Ehsan station — storyboard frame
1:00–1:06
TOUR stop 4 — Ehsan station
8.2d

Ehsan station

The park cat eating at Dubai Municipality's own AI feeding station — solar panel, sensor, food and water bowls — while a resident watches. DM launched Ehsan Stations on 2026-03-08; ten of the twelve pilot units are in public parks.

And an Ehsan station — Dubai Municipality's own feeder for the park's cats.

capture_entrance.mjs --stop 4 --seconds 6 → renders/ext_ehsan

Evening — storyboard frame
1:06–1:11
Locked wide, after sunset
8.3

Evening

The outdoor cinema: loungers filling in front of the screen, under low sunset light. The park's last use of the day, and the last frame of the film.

Evening: football, films, and neighbours gathering under the lights.

capture_entrance.mjs --stop 8 → renders/day_evening.mp4
warm_sky.py → day_evening_sunset.mp4 — the sunset grade
view_proposal.html TOUR stop 8 — Outdoor cinema
photoreal inset: fal-ai/flux-pro/kontext restyle of this frame — study only, not in the film

Lamma — storyboard frame
1:11–1:15
Pull back off the cinema, dissolve to the name
9

Lamma

The camera rises off the cinema lawn to the whole park lit at sunset, and dissolves to the wordmark over the line the film has been arguing for: a park that belongs to everyone.

Lamma — a park that belongs to everyone.

build_ending.py → renders/ending.mp4
capture_pose.mjs --path scene34/pullback.json, graded by warm_sky.py

Character assets

Each character in three states — the original as the film renders it (the footage the AI was given), the reference that defined the look, and what fal.ai actually created (Seedance 2.5 reference-to-video, re-animating the two characters and nothing else) — plus, set apart, the Blender model each character also has.

The cat

Original — in the film

The cat — Original — in the film

The character as the film draws it: the faceted sprite from characters2d.py, composited into the survey beat. This footage is what fal.ai was given to re-animate (@Video1).

Reference

The cat — Reference

ChatGPT reference, 2026-08-26, passed as @Image1 — the seal-point Siamese the film committed to: dark mask around blue eyes so a face still reads at the 20 px the dive reaches. Pose sheet: assets/characters/cat_poses.png.

fal.ai result

The cat — fal.ai result

What Seedance 2.5 reference-to-video actually created (anim/prototypes/p16_scene34_v2v.py): the beat re-animated, cat matched to the reference — the alternate cut in renders/scene34_survey_60_fal.mp4.

Blender model

The cat — Blender model

Separate from the fal trail: the character's Blender model — Hyper3D Rodin image-to-3D from the same reference, anim/prototypes/out/rodin_siamese.glb (20K tris) → proposal_2/cat.blend. Not yet in the film.

The survey robot (Sprouty)

Original — in the film

The survey robot (Sprouty) — Original — in the film

The character as the film draws it: the characters2d.py sprite, findings playing on its screen face. Part of the @Video1 footage fal.ai was asked to follow.

Reference

The survey robot (Sprouty) — Reference

ChatGPT reference, 2026-08-26, passed as @Image2 — the look the design settled on, wheels included (the earlier hover skirt lost to this image: a machine that touches the ground reads as one that surveys it).

fal.ai result

The survey robot (Sprouty) — fal.ai result

What Seedance actually created: the robot from @Image2, rolling on its wheels — the findings are keyed back onto its screen from our real captures, never generated.

Blender model

The survey robot (Sprouty) — Blender model

Separate from the fal trail: the character's Blender model — Sprouty_v0_7_face_fixed.glb → proposal_2/sprouty.blend. The GLB carries geometry only, so the film palette is applied here for legibility. Not yet in the film.

Sketching assets

How the design reveal gets drawn: fal.ai and ChatGPT were both asked to put the hand-drawn medium on the plan's true geometry. ChatGPT's sketch won — cafe roof refined on the second attempt — and, set apart, it is the seeing asset the realistic pass will be built from later, again via fal.ai.

From the plan to the sketch (scenes 5–6)

Original — the plan

From the plan to the sketch (scenes 5–6) — Original — the plan

Blender Line Art over the true geometry (proposal_2/sketch_lineart.py) — already a drawing of the real plan, so anything a model invents shows up against it.

Style reference

From the plan to the sketch (scenes 5–6) — Style reference

The medium being asked for: ink linework over loose watercolour washes. Rides beside the render in the fal.ai call — the thing P4 found words alone cannot do.

fal.ai experiment

From the plan to the sketch (scenes 5–6) — fal.ai experiment

nano-banana/edit with the style reference alongside (anim/prototypes/p14_sketch_fal.py, --foliage --materials --board): holds our geometry, adds figures and shadows. renders/board_vs_gpt.jpg compares the two side by side.

ChatGPT — chosen

From the plan to the sketch (scenes 5–6) — ChatGPT — chosen

The pick, 2026-08-26: stronger pencil underlay, more varied trees — and the cafe's louvered roof refined after the first attempt (assets/sketch/plan_gpt_v1.png) drew generic pavilions there. This is the seeing asset for the realistic pass to come, via fal.ai.