Skip to content

aelatgt/ethereal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

cbf6811 · Aug 17, 2022
Apr 15, 2021
Aug 17, 2022
Aug 17, 2022
Aug 17, 2022
May 22, 2021
Aug 27, 2021
May 22, 2021
May 11, 2020
Jan 17, 2022
Oct 8, 2020
Aug 17, 2022
Aug 17, 2022
Jan 19, 2022
May 11, 2021
Jan 14, 2022

Repository files navigation

ethereal

An integrated toolkit for building spatially adaptive immersive interfaces

Package exports:

  • "ethereal" - all core ethereal tooling, rendering-library agnostic
  • "ethereal/three" (wip) - all three.js specific wrappers for ethereal tooling

@etherealjs/web-layer

A bridge from the traditional 2D-web, into the immersive web.

This library rasterizes the DOM by allowing you to organize it into separate independently manipulable and interactive web layers, automatically directing immersive input back to the live DOM instance. A number of optimizations allow you to maintain a live link between the real DOM and it's counterpart within an immersive (i.e., webGL-backed) environment, including: individually hashed DOM layers and rasterized textures, real-time encoding to a compressed texture format w/ low memory footprint and fast GPU uploads, and persistence of compressed textures in client storage for quick retreival and minimal processing in subsequent sessions.

THREE.js Usage:

import {WebContainer3D, WebLayerManager} from '@etherealjs/web-layer/three'

WebLayerManager.intialize(renderer)

const webContainer = new WebContainer3D(el)
scene.add(webContainer)

@etherealjs/spatial-optimizer (wip)

A library designed for metaheuristic optimization of spatial variables and objectives

@etherealjs/spatial-adaptivity (wip)