Skip to content

Latest commit

 

History

217 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terranoetis

A real-time geospatial intelligence platform. Combines a photorealistic Cesium 3D globe with a comprehensive backend serving live environmental data, satellite imagery, 150 real scientific equation engines, physics simulations, realtime voice, and AI-driven cognition. Unlike a passive globe viewer, Terranoetis computes — it runs literature-grounded equations over live data, reasons about what it sees, and paints real results back onto the Earth.

Documentation site → https://sreyassanker.github.io/Terranoetis

Website Website GitHub LinkedIn Buy Me a Coffee YouTube


Highlights

  • 150 analytical models grounded in primary literature across 26 domains — every equation cites its source paper, book, or standard (80 references carry a DOI, 12 an ISBN, 4 are flagged NO-DOI) (catalog · verified engine page)
  • Photorealistic CesiumJS 3D globe with 41 rendering modules, satellite imagery, and sensor styles
  • 7 physics simulations — 3 run locally on CPU (earthquake, wildfire, hurricane); 4 execute on free Kaggle kernels (tsunami, volcano, landslide, flood). All kernels are NumPy/CPU code; only flood-sim requests Kaggle's GPU accelerator in its metadata (verified modes table)
  • AI cognition — System 1 / System 2 reasoning, multi-agent debate, causal + counterfactual analysis
  • 82 registered live-data integrations — seismic, weather, aviation, maritime, satellite, traffic, space (inventory)
  • Realtime voice — OpenAI Realtime → Gemini Live (server-side brokering)
  • Explainable AI — evidence chains, uncertainty quantification, human-override workflow
  • Global model selector — pick any LLM provider (or local GGUF) from the AI chat panel
  • One-click model install — download the local LFM 2.5 2.6B Q4_K_M GGUF model directly from the admin panel with live progress, speed, ETA, and resume-on-interrupt
  • Smart study-area flow — auto-detects real OSM boundaries, or lets you draw/adjust one
  • Worldwide timezone support — set your location + timezone; all timestamps follow it

Gallery

Multi-hazard risk map — fused seismic, fire, storm and flood risk rendered on the globe (animated) Landslide physics simulation — Kaggle-routed terrain failure over real topography (animated)
Multi-Hazard Risk Map
fused live risk surfaces on the 3D globe
Landslide Simulation
one of 7 physics engines, run over real terrain
Live aviation tracker — ADS-B aircraft streamed onto the globe (animated) Live satellite tracker — TLE orbits propagated and rendered in real time (animated)
Aviation Tracker
live ADS-B flights on the globe
Satellite Tracker
real-time TLE orbit propagation

Quick Start

git clone https://github.com/sreyassanker/Terranoetis.git
cd Terranoetis
cp .env.example .env    # Fill in API keys as needed
npm install
npm run dev             # Vite (3000) + Express API (3001); Redis optional

Redis is optional — the server falls back to SQLite automatically if Redis is unavailable. See Deployment guide for the full Docker + production setup.


Documentation

Document Covers
Architecture (web) System topology, request flow, background services, module inventory
API Reference (web) 360+ REST endpoints + WebSocket channel
Frontend (web) React components, rendering engine, simulation overlays, hooks
Backend (web) Server modules, cognition, memory, security, observability
Analytical Models (web) The 150 equation engines, 7 parts, 26 domains
Deployment (web) Docker, environment variables, Kaggle token setup, CI/CD, security

The full rendered site lives at https://sreyassanker.github.io/Terranoetis/ — diagrams, tables and navigation included. The GitHub Pages site (from docs/) opens with a product landing page (landing) and a navigation-first documentation hub (documentation hub) with per-capability pages carrying file-level citations, measured verification data and a CI quality gate. Highlights: Getting started · Hazard simulations · Methodology & verification.


Repository Structure

terranoetis/
├── src/                          # React 19 + CesiumJS frontend
│   ├── main.tsx                  # Router: /, /v2/globe, /v2/canvas, /v2/scenarios, /v2/tours
│   ├── App.tsx                   # Globe shell (~11k lines, 11 lazy-loaded panels)
│   ├── components/               # UI components (chat/, cockpit/, scenarios/, kaggle/, ...)
│   ├── rendering/                # 41 Cesium rendering modules (ais, flights, satellites, ...)
│   ├── hooks/                    # useChat, useWebSocket, useRealtimeVoice, ...
│   ├── lib/                      # API client, chat store, formatTime, DuckDB, PDF
│   ├── data/                     # Analytical models catalog, land cover classes
│   ├── store/                    # Zustand: chat store, user location/timezone prefs
│   └── __tests__/                # Frontend unit tests
│
├── server/                       # Express 4 + TypeScript API
│   ├── index.ts                  # App entry: routes, middleware, background services (14,573 lines)
│   ├── agent.ts                  # Intent router + cognition pipeline
│   ├── analytical-models/        # 150-equation engine, 7 parts, 26 domains
│   ├── cognition/                # System 1 / System 2, MCTS, tree-of-thoughts
│   ├── sentinel/                 # Continuous monitoring, anomaly detection
│   ├── memory/ + memoryV2/       # Working/episodic/semantic/procedural memory
│   ├── ai-router/                # Omninet 9-provider LLM router (incl. local GGUF)
│   ├── sandboxV2/                # Simplified surrogate engines (farsiteLite, adcircLite, wrfLite, hysplitLite, FNO)
│   ├── causal/ + kgV2/           # Causal reasoning + knowledge graph
│   ├── scenarios/                # Disaster scenario generation
│   ├── data/                     # Live-data fetchers (82 registered sources)
│   ├── db/                       # SQLite schema (47 tables), migrations
│   ├── middleware/               # JWT auth, rate limiter, validation, audit
│   ├── observability/            # Pino, in-house OpenTelemetry-style tracing, Sentry
│   ├── selfImprover.ts           # Feedback-driven prompt evolution
│   └── __tests__/                # 1,700+ tests (1,653 unit + 49 integration passing)
│
├── kaggle-kernels/               # 7 NumPy physics kernels pushed locally or to Kaggle (earthquake, tsunami, ...)
├── server/plugins/               # Plugin drop-in dir (auto-loads *.ts; installed plugins gitignored, example.ts tracked; system: pluginManager.ts)
├── docs/
│   ├── site/                     # The GitHub Pages website — everything below deploys to sreyassanker.github.io/Terranoetis
│   │   ├── index.html            # Product landing page (generated)
│   │   ├── documentation.html    # Documentation hub (generated)
│   │   ├── capabilities/ · reference/ · governance/ · narratives/
│   │   ├── assets/ (css · img · gallery — animated WebP captures used by the README and landing)
│   │   ├── markdown/             # ARCHITECTURE · API · BACKEND · FRONTEND · MODELS · DEPLOYMENT · getting-started
│   │   └── platform-overview.html # Legacy URL — redirects to the docs index
│   └── Research papers/          # Source PDFs backing the equation citations → local-only (gitignored)
│
├── e2e/                          # Playwright browser tests (7 spec files; 15 test declarations, 14 registered by default — 1 gated behind LULC_HEAVY=1)
├── scripts/                      # Dev utilities, live smoke scripts, docs build + quality gate
├── data/                         # Runtime databases + ML models → gitignored
├── models/                       # Local GGUF model (downloadable from admin panel) → gitignored
├── public/                       # Static assets (DuckDB-WASM, fonts, offline data; Cesium synced from node_modules at build; models gitignored)
│
├── docker-compose.yml            # 3 services (terranoetis + redis + causal-service)
├── Dockerfile                    # Multi-stage build (node:20-alpine)
├── .github/workflows/ci.yml      # 10 CI jobs (typecheck, lint, tests, coverage, build, docker, audit, browser, summary)
├── package.json                  # 96 dependencies, 14 scripts
├── tsconfig.json                 # Project references: app + node + server + scripts
├── vite.config.ts                # Vite 7 config with a custom Cesium asset-copy plugin
├── playwright.config.ts          # Playwright: WebGL args, reuse server
└── vitest.config.ts              # Vitest: include server + frontend tests
Command Purpose
npm run dev Concurrent: server + client (+ Redis if available)
npm run dev:client Vite dev server on :3000
npm run dev:server Express API on :3001
npm run build tsc -b && vite build
npm test Vitest — unit + integration tests
npm run test:unit Unit tests only
npm run test:integration Integration + e2e tests
npm run test:coverage Coverage report

Testing

npm test              # Vitest — unit + integration tests
npx playwright test   # Playwright — Chromium with software WebGL (SwiftShader); runs headless in CI

License

Terranoetis is licensed under the Business Source License 1.1 (BUSL-1.1).

  • Free to use, run locally, self-host for yourself, modify, learn from, and contribute.
  • Commercial use — offering Terranoetis (or a modified version) to third parties as a hosted / embedded / SaaS service, or embedding it in a product you sell — requires a separate commercial license. Contact: sreyassanker001@gmail.com.
  • Each version automatically converts to the MIT License 4 years after it is published.

Third-party components (CesiumJS, ONNX models, satellite data sources, etc.) remain under their own original licenses.

Copyright (c) 2026 Sreyas S S.

About

Real-time Earth intelligence platform — 150+ peer-reviewed scientific equation engines, AI cognition, and live 3D geospatial visualization on CesiumJS.

Topics

Resources

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages