d-seoul
d-palace
d-food
d-mtn
d-market
What it buysWhy it is not a placeholder
It renders offlineA traveller lands in Korea with no data. A drawn scene renders in airplane mode; a photograph not yet on the phone is a grey box on the one day it matters.
It covers what no provider doesNothing supplies photography of every ordinary Korean venue, and it never will. The drawn set closes that permanently instead of waiting.
There is no empty stateEvery screen has an image always. There is no "photo missing" branch to design.
CoherenceFive scenes in one grammar read as a product where fifty mismatched stock photographs read as a directory.
The grammar is flat shapes, the flag palette, a gradient sky, and no gradient inside the subject — plus a silhouette. The grammar alone was necessary and not sufficient: the first set drew d-food as a plan view of circles and it read as an abstract test pattern, because a plan view has no outline to be recognised by. It is now a 뚝배기 on a table, and four of the five are elevations with something holding them up. d-palace's roof was also a correctness bug rather than a taste one — both eave edges bowed UP with the same control point, so the roof rendered as a band bulging at the centre with its corners hanging DOWN, the inverse of a 팔작지붕. 🚨 Icons.photo, Icons.broken_image and Icons.image are banned and a lint test fails the build on them — a broken-image glyph tells the user our app failed. Nothing failed; we drew it instead. These are the real scenes, drawn by screens/taegeuk-sprite.js — the same file every mock uses. §6.3, §6.3c.