Skip to content

SamDuo/gtHackVR

Repository files navigation

PolyScape Heritage

Walk through a UNESCO World Heritage site. Make a choice. Watch the world change.

Built for ImmerseGT 2026 | World Labs + Gemini + ElevenLabs + TanitXR

What is this?

PolyScape Heritage is an immersive 3D experience where you step inside the ruins of Carthage — a 2,800-year-old Phoenician city on the Gulf of Tunis. You walk through a photorealistic Gaussian Splat world generated by World Labs' Marble AI, explore ancient artifacts, and hear a narrator describe the site's history and the climate threats it faces.

Then you make a choice: Protect or Do Nothing.

The entire world around you transforms. If you protect Carthage, you find yourself in a modern museum where every artifact has been preserved. If you do nothing, you stand in flooded ruins — statues toppled, inscriptions eroded by salt, a UNESCO sign rusting in rising seawater.

This is not a dashboard. This is not a website with a 3D widget. You are inside the world.

The Experience

  1. Enter Carthage — A cinematic title card fades into a sunlit archaeological site on Byrsa Hill
  2. Explore — Walk freely (WASD + mouse) through the ruins, discover artifacts
  3. Ask questions — Chat with an AI narrator powered by Gemini, hear responses via ElevenLabs
  4. Drag the timeline — Slide from 2026 to 2075 and see the climate projections
  5. Make your choice — At year 2040, choose to Protect or Do Nothing
  6. Watch the world change — The screen fades to black and a completely different 3D world loads around you, with ambient soundscape and narrated epilogue

Technology

Layer Technology Purpose
3D Worlds World Labs Marble API (marble-1.1 / 1.1-plus) Generates 3 photorealistic Gaussian Splat environments from text prompts
Rendering Three.js + SparkJS Renders Gaussian Splat (SPZ) worlds with orbit + WASD first-person controls
AI Narration Google Gemini 2.0 Flash Generates contextual narration grounded in IPCC AR6 climate data
Voice ElevenLabs TTS + Sound Effects Speaks narration aloud; generates ambient soundscapes per world
3D Artifacts TanitXR Sketchfab model (CC BY-NC-SA 4.0) Carthage Tanit Stela from the Tophet of Salammbo
Frontend React 18 + Vite 6 Minimal floating HUD over fullscreen 3D world
VR Ready WebXR via Three.js renderer.xr.enabled = true — works in PICO Browser and any WebXR headset

Climate Data

All climate projections are grounded in real science:

  • IPCC AR6 WG1 Ch.12 (2021) — SSP5-8.5 Mediterranean temperature and sea-level projections
  • UNESCO Climate Vulnerability Index (2022) — Heritage site risk assessments
  • Carthage: +3.1C anomaly, +58cm sea level rise, severe erosion risk by 2075

Setup

npm install
cp .env.example .env
# Add your API keys to .env
npm run dev

Open http://localhost:5173 in your browser.

Required API Keys

Key Service Get it at
VITE_GEMINI_API_KEY Google Gemini aistudio.google.com
VITE_ELEVENLABS_API_KEY ElevenLabs TTS + SFX elevenlabs.io
VITE_WLT_API_KEY World Labs Marble platform.worldlabs.ai

Generate New Worlds

WLT_API_KEY=your_key node scripts/generate-worlds.js

Tracks

Track How We Qualify
Spatial Design World-first 3D experience — user walks inside a Gaussian Splat world, not a dashboard
Best Overall Full integration: 3D worlds + AI narration + climate data + emotional branching choice
MLH: Best Use of Gemini Gemini generates contextual narration and branching epilogues grounded in IPCC data
MLH: Best Use of ElevenLabs FIFO TTS queue for narration + Sound Effects API for ambient soundscapes
TanitXR TanitXR Carthage heritage model + Tunisian cultural preservation focus

3D Model Attribution

Tanit Stela — Tophet of Salammbo, Carthage by TanitXR, licensed under CC BY-NC-SA 4.0.

3D worlds generated by World Labs Marble API. Rendering powered by SparkJS and Three.js.

Team

Sam Duong — Georgia Institute of Technology

License

MIT

About

a project repo of my gtImmerse project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors