Skip to content
forked from CesiumGS/cesium

An open-source TypeScript library for world-class 3D globes and maps 🌎

License

Notifications You must be signed in to change notification settings

vespo92/cesiumTS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CesiumTS - TypeScript Fork of CesiumJS

🚀 TypeScript-first fork of the official CesiumJS library, converted from JavaScript to TypeScript for improved type safety and developer experience.

Original Build Status npm License

Cesium

🎯 About This Fork

This is a TypeScript conversion of CesiumJS - a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.

Key Differences from Official CesiumJS:

  • Full TypeScript source instead of JavaScript + .d.ts files
  • Compile-time type safety for 3D graphics and geospatial operations
  • Better IDE support with real types, not JSDoc-generated definitions
  • Improved developer experience for TypeScript-first projects

Original CesiumJS Features:

  • Uses WebGL for hardware-accelerated graphics
  • Cross-platform and cross-browser compatible
  • Designed for robust interoperability and scaling for massive datasets
  • Built on open formats for geospatial visualization

Examples 🌏 Docs 🌎 Website 🌍 Forum 🌏 User Stories


🚀 Get started

Installation

Install the TypeScript fork via npm:

npm install @vespo/cesium --save

Or using Bun (faster alternative):

bun add @vespo/cesium

Usage

Import and use CesiumTS in your TypeScript app with full type safety:

import { Viewer } from "@vespo/cesium";
import "@vespo/cesium/Build/Cesium/Widgets/widgets.css";

const viewer = new Viewer("cesiumContainer");

Import individual modules to benefit from tree shaking optimizations:

import { Cartesian3, Color } from "@vespo/cesium";

Scoped Packages

This fork maintains the modular structure with scoped packages:

What next?

See our Quickstart Guide for more information on getting a CesiumJS app up and running.

Instructions for serving local data are in the CesiumJS Offline Guide.

Interested in contributing? See CONTRIBUTING.md. ❤️

📦 Publishing

Build for Production

bun run build-release

Publish to npm

# Login to npm (first time only)
npm login

# Publish the package
npm publish --access public

# Or publish with Bun
bun publish --access public

Version Management

Follow semantic versioning with the -vespo suffix:

  • Patch: 1.135.0-vespo.11.135.0-vespo.2
  • Minor upstream sync: 1.135.0-vespo.11.136.0-vespo.1
  • Major: 1.135.0-vespo.12.0.0-vespo.1

🔄 Syncing with Upstream

To pull updates from the official CesiumJS:

# Add upstream remote (first time only)
git remote add upstream https://github.com/CesiumGS/cesium.git

# Fetch upstream changes
git fetch upstream

# Merge upstream main (requires manual TypeScript conversion)
git merge upstream/main

# Resolve conflicts and re-apply TypeScript conversions

🛠️ Development

Build

bun install
bun run build

Watch Mode

bun run bun:dev

Type Check

bun run bun:typecheck

📗 License

Apache 2.0. CesiumJS is free for both commercial and non-commercial use.

This fork maintains the same Apache 2.0 license as the original CesiumJS project. All credit goes to the original CesiumGS team and contributors.

🌎 Where does the Global 3D Content come from?

The Cesium platform follows an open-core business model with open source runtime engines such as CesiumJS and optional commercial subscription to Cesium ion.

CesiumJS can stream 3D content such as terrain, imagery, and 3D Tiles from the commercial Cesium ion platform alongside open standards from other offline or online services. We provide Cesium ion as the quickest option for all users to get up and running, but you are free to use any combination of content sources with CesiumJS that you please.

Bring your own data for tiling, hosting, and streaming from Cesium ion. Using Cesium ion helps support CesiumJS development.

✅ Features

  • Stream in 3D Tiles and other standard formats from Cesium ion or another source
  • Visualize and analyze on a high-precision WGS84 globe
  • Share with users on desktop or mobile

See more in the CesiumJS Features Checklist.

About

An open-source TypeScript library for world-class 3D globes and maps 🌎

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 89.8%
  • HTML 7.8%
  • GLSL 2.0%
  • Other 0.4%