What this is — three flat photographs read as 2.5D space. Two use a layered-plane technique: each image is decomposed offline into 3–4 depth bands (rock walls / road / sky for the gorge; foreground dune / lake / mid-ridge / hazy horizon for Band-e-Amir), each band its own textured plane at its own distance from camera, all sharing one colour texture cropped by a soft grayscale alpha mask so the seams stay invisible at rest. Scroll drives a gentle forward dolly and lets the near/far planes drift apart under pointer or tilt input — parallax, not warping. The third image (the man in the window) uses a different technique: a single plane with a custom fragment shader that offsets UV sampling by a hand-authored depth map, so only the visible mountains behind the glass receive any displacement at all.
What it costs — nine grayscale mask/depth PNGs generated offline with Python (PIL + numpy) from hand-set geometric priors and luminance/hue/local-detail heuristics — no depth-sensing hardware, no ML model, just reasoned approximation of where a photograph's planes actually sit. At runtime: one WebGL canvas, up to four transparent textured planes per chapter (depth-write and depth-test both off, ordered by renderOrder to blend correctly), one small fragment shader for the window. DPR capped at 2, render loop halts on tab-hide, and — this is the one that matters most here — the displacement amplitude on the window chapter is capped low in the shader itself (uAmp = 0.012, eased in from zero) and the eroded, feathered protection zone around the man and the stone frame is pure black in the depth map, so it never receives a non-zero offset. He cannot warp; the math doesn't allow it.
How it transfers — this is the difference between showing a photograph and letting someone stand inside it for a moment. A documentary image already implies the space beyond its edges — the technique just lets a viewer lean into that implication without ever pretending the photograph is a 3D scan. The restraint is the point: the gorge walls part by inches, not metres; the ridgelines drift, they don't spin; the man in the window is the one thing in the whole room that is not allowed to move. Useful anywhere a single strong image needs to hold a viewer's attention for longer than a glance — a memorial portrait, an establishing shot, a moment a subject specifically asked to be still for.
A note on the source — the brief for this room specified afg-09 for the ridgeline chapter. The file at that path is, on inspection, a car-interior portrait — a manifest/filename mismatch, confirmed against a full contact sheet of the shoot. afg-15 (the Band-e-Amir lake, verified by eye) matches the intended "layered ridgelines, atmospheric haze" description and was used in its place.