Documentación

Essentia es un framework GPU-first para construir aplicaciones, no páginas ni juegos, cuya interfaz se renderiza íntegramente en la GPU. El DOM no es la superficie de render: es una capa de soporte para accesibilidad y eventos nativos.

Instalación

Los paquetes todavía no se publican a npm: se usan como workspaces de este monorepo, que resuelve npm.

"dependencies": {
  "essentia-core": "*",
  "essentia-styles": "*",
  "essentia-ui": "*"
}

Capas

Hay tres paquetes, y cada uno depende solo de los de abajo:

Coordenadas

La cámara es ortográfica y 1:1: una unidad de mundo es un píxel CSS. El origen está en el centro del canvas y la y crece hacia arriba.

Render on-demand

La escena se redibuja solo cuando algo cambia. En reposo cuesta 0 draws por frame.

Niveles de captura

Cada z distinta de un Glass es un nivel de captura: un render de escena más por frame, y una pirámide de blur si ese nivel tiene un vidrio con blur mayor que 0. El tope es de tres niveles en pantalla, porque un vidrio fuera de cámara no cuenta. Conviene poner a la misma z los vidrios que no se superponen.

Siguiente: Glass