Skip to content

schplitt/event-globe

Repository files navigation

Event Globe

A lightweight, framework-agnostic 3D globe visualization library powered by Three.js. Display animated arc and ripple events, land masses with H3 hexagon tessellation, and atmospheric glow effects.

Features

  • 🌍 Interactive 3D globe with orbit controls
  • ✈️ Animated arc events between geographic coordinates
  • 💫 Standalone ripple events at any geographic coordinate
  • 🗺️ GeoJSON-based land visualization with H3 hexagons
  • 🌌 Atmospheric glow and configurable globe materials
  • 🎨 Fully customizable colors and animations
  • 📦 Framework wrappers: TypeScript, React, Vue, Svelte, Solid

Quick Start

npm install @event-globe/ts
import { EventGlobeRenderer } from '@event-globe/ts'

const container = document.getElementById('globe')
const renderer = new EventGlobeRenderer(container, {
  autoRotate: true,
  globe: {
    globeColor: '#3a228a',
    showLandPolygons: true,
  }
})

const event = renderer.addEvent('arc', {
  lat: 40.7128,
  lng: -74.0060,
  endLat: 51.5074,
  endLng: -0.1278,
  showEndRipple: true,
})

renderer.addEvent('ripple', {
  lat: 34.0522,
  lng: -118.2437,
  color: '#DD63AF',
})

event.removed.then((result) => {
  console.log(event.event, result.reason)
})

Packages

Package Description
@event-globe/core Framework-agnostic Three.js component
@event-globe/ts Managed renderer with controls
@event-globe/react React wrapper
@event-globe/vue Vue 3 wrapper
@event-globe/svelte Svelte wrapper
@event-globe/solid Solid.js wrapper

Documentation

See individual package READMEs for detailed documentation:

Acknowledgements

This project was inspired by and builds upon the following excellent works:

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Contributors