open-index/open-npm huggingface dataset:
npm package: @otovo/tetris-3d
Description: This repository contains a react implementation using Cesium. It will only work in Otovo context.
Latest version: 1.2.1

# Tetris 3D

This repository contains a react implementation using Cesium.
It will only work in Otovo context.

## Installation

### Install packages and run

Install yarn if not installed yet.
Enter the root folder and run yarn.

```shell
  yarn
```

### Setup environment and Cesium ION

Copy `dev-template.env` and rename it to `.env`. Then, log into your account on Cesium, select the assets you would like to test and copy the IDs to the
environement file.

### Local development

To run the local server:

```shell
  yarn dev
```

## Publishing the package

To make the package ready for publishing, you first have to run

```shell
  yarn build
```

This creates css and build files in the `dist` folder, which you export as a package.

### Locally

To check the implementations locally you can use [yalc](https://www.npmjs.com/package/yalc).

To publish the package with yalc use this command.

```shell
yalc publish
```

In the project you want to test it, you can do that with the command

```shell
yalc add @otovo/tetris-3d@x.x.x
```

Where the `@x.x.x` is the version number specified in `package.json`.

Remember to remove the yalc configuration in the other package after local testing.

```shell
yalc remove @otovo/tetris-3d@x.x.x
```

### Via NPM

To properly publish a new version use npm. Make sure you have an Otovo account.

```shell
npm publish
```

## Deep dive

### [Cesium](https://cesium.com/)

Cesium is a geospatial platform for 3D maps. We are using Cesium ion and their javascript package.

**Cesium ion** is a SaaS platform for creating and hosting geospatial data. Based on geotiff files it will
create "assets" that is accessible via their javascript package.
This means that Cesium handles a lot of the heavy lifting for us so that we don't have to create the 3D rasters ourself.