Yuanming
Reconstructing Time
A playable Three.js Yuanmingyuan garden: explore artistic Dashuifa ruins, then restore a blue-roofed palace in four seconds.
Enter the gardenPlayable online · work in progress
Open the garden in a new window below. The first visit loads about 380 MiB of assets; a desktop browser is recommended. This playable build is still in development.
E moves between ruins and palace · R replays · Scrub the timeline · Drag to orbit and scroll to zoom · View changes camera · M mutes sound.
Open the garden in a new window ↗From ruins to an imagined garden.
Begin at the overgrown Dashuifa-inspired ruins. Press E to bring the blue-roofed palace into view through a roughly four-second choreographed transition; press E again to return, or R to replay. Scrub the timeline or choose views of the palace, water, ruins and garden.
Seven large foundation assemblies are split into 734 stair, railing and platform stones. They fall and return with the upper pieces along staggered paths; dust keeps expanding, drifting and fading after the buildings settle. The ruins and palace use different assets, not a one-to-one historical mapping.
Water returns with the architecture.
The fountain floor is split into 40 irregular stone slabs and the central feature into 15 separate stones, each moving with the architectural sequence. Once the palace appears, jets, cascades, impact ripples and reflections come to life; the water recedes at the ruins.
The ruins remain in natural color; the restored palace takes on an “old photograph” look. The burn, dust, moving pieces and water are realtime visual choreography, not realtime rigid-body or fluid simulation.

An imagined garden.
This Three.js garden experience draws on Yuanmingyuan as an artistic source. The blue-roofed palace, ruins and compressed garden layout are creative interpretations, not archaeological, survey-based or historically exact reconstruction. The work remains in progress and has not passed final visual review.
Production credits: GPT-6 Sol handled execution; Astra served as orchestrator.