# Umbra.js low-level API

**Stream in optimized 3D scenes for high performance rendering**

This is a library that allows you to stream 3D scenes from [Umbra's cloud service](https://www.umbra3d.com/).
For three.js support you should use the [`umbrajs-three`](https://github.com/UmbraSoftware/umbrajs-three) high-level package instead.

See the [API reference](https://github.com/UmbraSoftware/umbrajs/wiki/API-reference) if you want to use Umbra with your own renderer.

## Getting the library

    npm install @umbra3d/umbrajs

## Building it

To build an UMD module `dist/umbra.js` run

    npm install
    npm run build

### Building it together with umbrajs-three

To test local changes in umbrajs-three you can use the `npm link` feature in the following way.

    cd ~/umbrajs
    npm install
    npm run build
    npm link # make a symlink

    cd ~/umbrajs-three
    npm install
    npm install three@0.110.0 --no-save
    npm link @umbra3d/umbrajs # use symlinked local package, not NPM
    npm run build

During development you may want to build first umbrajs and then umbrajs-three:

    cd ~/umbrajs && npm run build && cd ~/umbrajs-three && npm run build

## Testing

    npx http-server -c 0

Then visit `http://127.0.0.1:8000/examples/runtime_example.html`. Remember to run `npm run build` beforehand.

## License

MIT

