An independent study in presence / 2026
A small gesture.
A living world.
A passage through a forest of light, guided by a few lines of calligraphy. Made to be explored slowly, and felt before it is explained.
↓- Project
- Self-initiated artwork
- Discipline
- Art direction · Creative development
- Medium
- Real-time 3D / Browser
01 / The intention
Not a page to consume.
A place to notice.
Luminaria asks a simple design question: can a website feel like somewhere you have been, rather than something you have looked at?
The answer begins with one leaf. Its veins hold light; its surface catches the pointer. Scrolling changes the scale of the encounter, carrying you beneath the canopy and toward an open clearing. Nearby grass bends and fireflies gather around a touch, then return to their own rhythm.
This is an independent portfolio piece, not a commissioned campaign or a product for sale. Its purpose is to explore an expressive, tactile alternative to a conventional website.
02 / A change of scale
Encounter. Passage. Arrival.
- 01
The leaf
An intimate opening. Fine veins, reflected color and a fluid response invite the first gesture.
- 02
The grove
A continuous walk through grass and luminous branches. Your pointer makes a small, local difference.
- 03
The pond
The path arrives at reflective water. A pearlescent lily opens in three layers, lifting a warm light above its petals. A few words give the moment its meaning: here, you can bloom.



03 / The making
Built as a world.
Delivered as a website.
The plants are procedural geometry rendered in Three.js. Vertex shaders provide rooted wind movement; luminous vein shading gives the leaves their material character. A shared animation clock keeps foliage, fireflies and sky in the same rhythm.
The camera follows native scroll. A fluid simulation refracts the live scene, while a separate, bounded ground interaction lets nearby grass and fireflies respond in world space. These are real-time effects, not a background video.
- Instanced geometry reuses plants across the grove.
- The fluid solver runs at a fixed cadence, independent of display refresh rate.
- Pause, keyboard scrolling and reduced-motion presentation are built in.
- A simplified botanical still remains available if WebGL cannot run.
The illustration above is the lightweight fallback artwork. The full grove is rendered live in the experience.
04 / Process & credits
Human direction.
AI-assisted development.
- Creative direction
- Project owner — concept selection, visual direction, review and iteration.
- Development collaboration
- Built and refined with OpenAI Codex (procedural geometry, shaders, interaction code, testing) and Claude Code (the atelier layer: the opening storm and its match cut into the forest, the liquid-glass cursor, cinematography, depth of field, the flight, sound, and the light that keeps its colour between visits).
- Rendering
- Three.js and WebGL. The browser geometry is independently authored code; this build does not contain exported Houdini Apprentice geometry.
- Creative references
- Noomo’s digital storytelling and Unseen Studio informed the study of movement, materials and immersive composition. Their assets and private code are not used.
An ongoing independent study. No client outcomes, awards or cross-device performance claims are implied.
Journey calligraphy: Pinyon Script, distributed by Google Fonts under the SIL Open Font License. The pond uses a small real-time planar reflection with shader ripples; it is not a fluid-dynamics simulation.
Less explanation. More exploration.