Skip to content

About

TerraExplorer is an interactive 3D globe application that lets users freely navigate the planet or quickly jump to cities, states, landmarks, and unique points of interest through a powerful search experience.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

214 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TerraExplorer Multi-Waypoint Route Results

TerraExplorer

TerraExplorer is an interactive 3D globe application for exploring locations, discovering geographic information, and building journeys across the world.

Search for cities, landmarks, historical sites, and points of interest, explore locations on a 3D globe or street-level map, ask contextual follow-up questions or your own questions to learn more, listen to location narration, and use Trace Route to turn articles, URLs, or text into connected geographic journeys. You can also view current news relevant to the locations you explore.

TerraExplorer Parchment Theme TerraExplorer Modern Theme TerraExplorer CRT Green Theme TerraExplorer CRT Amber Theme

Features

  • 3D Globe: Rotate, zoom, and explore the Earth from orbit to street level.
  • Smart Search: Find locations using natural-language queries.
  • AI Location Insights: Generate summaries, facts, climate, and other geographic information using local LM Studio or Google Gemini inference.
  • Contextual Follow-Up Questions: Continue exploring a location with contextually relevant suggested questions or ask your own follow-up question. Answers are displayed directly in the location information panel.
  • Street Maps: Switch from the 3D globe to a detailed street map to explore locations, roads, landmarks, and surrounding areas more closely.
  • Documentary Mode: Experience cinematic camera transitions and a guided visual presentation as you explore locations. Documentary Mode works independently, but is especially immersive when combined with Narration.
  • Location Narration: Listen to location descriptions and other exploration content as TerraExplorer reads it aloud using System Voice, Kokoro TTS, or Orpheus TTS.
  • Real-Time News: View current news relevant to selected locations.
  • Trace Route: Extract locations from articles, URLs, or text and build connected journeys.
  • Favorites & Notes: Save locations and attach personal notes.
  • Visual Themes: Parchment, Modern, CRT Green, and CRT Amber.

Kokoro TTS

Kokoro is an optional local neural TTS provider for TRACE ROUTE narration, powered by Apple Silicon MLX (mlx-community/Kokoro-82M-bf16).

  • Separate Local Service: Runs as an isolated Python service on http://127.0.0.1:8880.
  • Model & Caching: The Kokoro model weights (~82M parameters) are downloaded from Hugging Face on first run and cached locally. The model weights and Python virtual environment are not committed to Git.
  • Service Availability: The Kokoro service must be running locally before selecting or using Kokoro narration in TerraExplorer.

Setup

  1. One-Time Environment Setup:

    ./scripts/setup-kokoro.sh

    This creates an isolated virtual environment at local-services/kokoro-tts/.venv/ (Python 3.11+) and installs the necessary dependencies without modifying TerraExplorer's global or Node environment.

  2. Start the Service:

    ./scripts/start-kokoro.sh

    The service listens on:

    http://127.0.0.1:8880
    

    (To override the port, set KOKORO_PORT=8885 ./scripts/start-kokoro.sh)

Voice Options

The following six voices are available in the Settings Panel:

  • Michael (American) — am_michael (Default)
  • George (British) — bm_george
  • Bella (American) — af_bella
  • Sarah (American) — af_sarah
  • Emma (British) — bf_emma
  • Isabella (British) — bf_isabella

Repository Files

Note: The Python virtual environment (.venv), model weight caches, and generated audio files are intentionally excluded from Git.

Local Orpheus TTS

TerraExplorer also supports local neural narration through Orpheus TTS and LM Studio.

See the Orpheus TTS setup guide for installation, configuration, and troubleshooting.

Setup

Environment Variables

Copy .env.example to .env and configure the services you want to use:

# AI
GEMINI_API_KEY=your_gemini_api_key

# Maps
VITE_CARTO_API_KEY=your_carto_api_key

# Optional news providers
VITE_NYT_API_KEY=your_nytimes_api_key
VITE_NEWS_API_KEY=your_newsapi_org_key
VITE_NEWS_DATA_API_KEY=your_newsdata_io_key

AI, local LM Studio, narration, and news settings can also be configured in the application.

Run

npm install
npm run dev

Build for production:

npm run build

Key Components

  • Earth.tsx - 3D globe, lighting, atmosphere, and location markers.
  • OSMMapLayer.tsx - CARTO/OpenStreetMap street-level map rendering.
  • InfoPanel.tsx - Location information, news, notes, and related content.
  • Controls.tsx - Search, navigation, Trace Route, themes, and settings.
  • SettingsPanel.tsx - AI, map, news, narration, and Documentary Mode configuration.
  • documentaryController.ts - Cinematic camera and narration orchestration.
  • narrationService.ts - Browser speech synthesis.
  • geminiService.ts - AI location intelligence and search classification.
  • osmTileService.ts - CARTO map styles and geometry.
  • routeExtractionService.ts - Location extraction and geographic resolution.

AI Development Context

Before making architectural changes, review docs/AI_CONTEXT.md.

It contains the project's architecture, conventions, data models, debugging history, and design decisions.

About

TerraExplorer is an interactive 3D globe application that lets users freely navigate the planet or quickly jump to cities, states, landmarks, and unique points of interest through a powerful search experience.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages