<div align="center">
  <img src="public/s2-globe.jpg" alt="Cover Image" style="border-radius: 7px; max-width: 100%; margin-bottom: 20px"/>
</div>
<h1 align="center">S2 Maps GPU</h1>

<p align="center">
  <img src="https://img.shields.io/github/stars/Open-S2/s2maps-gpu" alt="stars">
  <a href="https://img.shields.io/github/actions/workflow/status/Open-S2/s2maps-gpu/test.yml?logo=github">
    <img src="https://img.shields.io/github/actions/workflow/status/Open-S2/s2maps-gpu/test.yml?logo=github" alt="GitHub Actions Workflow Status">
  </a>
  <a href="https://www.npmjs.com/package/s2maps-gpu">
    <img src="https://img.shields.io/npm/dm/s2maps-gpu.svg" alt="downloads">
  </a>
  <img src="https://raw.githubusercontent.com/Open-S2/s2maps-gpu/master/assets/doc-coverage.svg" alt="doc-coverage">
  <a href="https://open-s2.github.io/s2maps-gpu/">
    <img src="https://img.shields.io/badge/docs-typescript-yellow.svg" alt="docs-ts">
  </a>
  <a href="https://coveralls.io/github/Open-S2/s2maps-gpu?branch=master">
    <img src="https://coveralls.io/repos/github/Open-S2/s2maps-gpu/badge.svg?branch=master" alt="code-coverage">
  </a>
  <a href="https://discord.opens2.com">
    <img src="https://img.shields.io/discord/953563031701426206?logo=discord&logoColor=white" alt="Discord">
  </a>
</p>

<div align="center">
  <a href="https://opens2.com/docs/maps">Documentation</a>
  <span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
  <a href="https://discord.opens2.com">Discord</a>
  <span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
  <a href="https://github.com/Open-S2/s2maps-gpu/issues/new">Issues</a>
  <span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
  <a href="https://github.com/Open-S2/s2maps-gpu/issues/2">Roadmap</a>
</div>

<br />

[S2 Maps GPU](https://opens2.com/s2maps-gpu) is an open source, high-performance, and GPU-accelerated map engine for rendering large-scale, interactive maps. Supports advanced features like `WebGPU`, rendering on a seperate thread using `OffscreenCanvas`, a modern more powerful approach to custom styling of data, rendering complex languages and unicode patterns correctly, and more.

You can learn more about the S2 Map Engine on [our website](https://opens2.com/s2maps-gpu).

## Quick links

- [Documentation](https://opens2.com/docs/maps)
- [API](https://opens2.com/docs/maps/api)
- [Style Specification](https://opens2.com/docs/maps/style-specification)
- [Examples](https://opens2.com/docs/maps/examples)
- [Getting Started](https://opens2.com/docs/maps/getting-started)

## Stability

S2 Maps GPU is currently in **alpha**. We are actively working on it and would love to hear your feedback. We are very close to achieving beta. You can track our progress to beta on [our roadmap](https://github.com/Open-S2/s2maps-gpu/issues/2)

Although it's still a young product, we are using [playwright](https://playwright.dev/) to ensure features that do exist work as intended across all major browsers. Feel free to [open an issue](https://github.com/Open-S2/s2maps-gpu/issues/new) if you find a bug or have a feature request.

---

<div align="center">
  <img src="public/3d-cards.png" alt="Cover Image" style="border-radius: 7px; max-width: 100%;"/>
</div>
