CompanyCompany · Products, experiments, and the work behind them.

Spatial Gallery

Live · started June 2026

Walk through the work, open a project, and watch a talk inside the gallery.

A dual-mode WebXR scene supports gaze and pinch on Apple Vision Pro, plus mouse and touch in a browser. Spatial interaction and the conventional portfolio share the same content.

Open project · Follow the build

Scope: Product, spatial interaction design, WebXR engineering, performance, media delivery, and launch

Walk through a gallery of projects, open the work that catches your attention, and watch a talk on the wall. Spatial Gallery turns this portfolio into a place to explore. On Apple Vision Pro, its WebXR mode uses gaze and pinch; an ordinary browser offers mouse and touch controls for the same scene.

I designed and built the gallery with AI agents across spatial interaction, React Three Fiber, WebXR and media delivery. It uses the portfolio's actual content, including self-hosted talks rendered as video textures, rather than a second set of decorative exhibits. The working browser scene is available here; experiencing gaze, pinch and room-scale movement requires a compatible headset.

One gallery, two interaction models

The coved rotunda, projects, talks and writing are shared. WebXR reference-space locomotion and gaze-and-pinch selection serve the immersive session; a separate control scheme makes the same environment navigable on a screen. Full talks are self-hosted as video textures because ordinary embedded players cannot render into the immersive framebuffer. Nearest-video selection limits which media is active as the visitor moves.

Quality settings are not a comfort measurement

The headset tier caps device pixel ratio at 0.85, compared with 1.4 elsewhere. An immersive session pins fixed foveation to maximum and disables the shadow pass. These are concrete choices to reduce rendering work, not proof of a particular frame rate.

The code does not measure frame time. Whether the experience meets a headset's performance budget, remains comfortable, and responds correctly to native input must be checked on that physical device. A flat-browser preview or a passing build cannot establish those results. The gallery remains a live, evolving part of the portfolio as both its content and headset browser support change.