Reconstructions are interpretive and deliberately modest; hotspots explain what is known and what is conjecture.
Tap to walk · drag to look · pinch to zoom
Tap anywhere on the map to travel there · gold dots are doorways
Sound
All sound is synthesized live: tanpura drone, bansuri-like flute, tabla/mridanga-like drums, birds, crickets, water, wind and more.
How to explore
Mouse/keyboard: click to walk there, drag to look, WASD / arrows to move, Shift to run, F fly, V view mode, M map, Space/E up, Q/C down, wheel zooms.
Touch: tap the ground to walk there (the route avoids walls); tap a building or its doorway to walk inside. Drag to look, pinch to zoom. A big Enter / Exit button appears near doorways. ↩ Back out leaves a building or steps back. 👁 cycles first person / third person / overhead map. 🕹 turns on the optional joystick (left side). Tap the minimap (or ⤢ for a large map) to travel.
Tap the gold i markers for history notes. 🎬 plays a narrated flyover. The slider sets the time of day.
Quality adapts automatically; choose Low/Med/High to override.
Photoreal textures (Med/High): scans from Poly Haven, all CC0 (public domain):
Clay Plaster (Amal Kumar)
White Plaster Rough 01 (Rob Tuytel)
Dry Ground 01 (Rob Tuytel)
Withered Grass (Charlotte Baglioni)
Damp Sand (eye-candy.xyz)
Weathered Planks (Dimitrios Savva, Dario Barresi)
Thatch Roof Angled (Dimitrios Savva, Rob Tuytel)
Old Sandstone 02 (Dimitrios Savva)
Tiger Rock (Dario Barresi)
Red Sandstone Pavement (Amal Kumar)
Castle Wall Slates (Rob Tuytel)
Shrub 02 model (Rico Cilliers)
Skies: tonemapped from the HDRIs Qwantani Late Afternoon (Pure Sky) and Kloofendal 48d Partly Cloudy (Pure Sky) by Greg Zaal and Jarod Guest
The Harappan (28×14×7 cm) and Gupta brick textures are custom: generated in code, with surface grain taken from the CC0 Clay Plaster and Dry Ground scans. Everything else, including people, animals and all the sound, is procedural. Three.js (MIT).