EssentiaRoot

EssentiaRoot es el componente raíz. Monta el canvas y orquesta la cámara, la captura de fondo, la interactividad y el entorno. Todo lo que dibuja Essentia va adentro.

Uso

<script>
  import { EssentiaRoot } from 'essentia-core'
</script>

<EssentiaRoot background="#ffffff">
  <!-- primitivas visuales y layout -->
</EssentiaRoot>

background se aplica a la escena, para que la captura lo vea y un Glass lo refracte. antialias arranca apagado: el antialiasing es del SDF y del MSDF de cada primitiva, y el MSAA cuesta entre un 35 y un 45 % del frame a DPR 2.

Referencia de props

PropTipoDefaultDescripción
classstring—
stylestring—
backgroundstring'#000000'Color de fondo de la escena (CSS hex o nombre). Se aplica a scene.background para que BackgroundCapture lo capture y Glass lo refracte correctamente.
envMapTexture | null—Textura de entorno (equirectangular) ya construida. Tiene precedencia sobre environment si ambos se proveen.
environmentEnvironmentOptions | null—Configuración para cargar el environment map automáticamente con <Environment/>. Se ignora si envMap está presente.
lightPartial<Light>{ direction: [-0.4, 0.7, 0.6], intensity: 1 }Luz direccional global que comparten todas las primitivas que iluminan (specular y rim del <Glass>). Los campos que faltan toman el default.
qualityQuality'medium'Calidad por defecto de las primitivas que la heredan: el <Glass> sin prop quality usa esta. 'low' recorta la dispersión, 'high' suma taps al blur.
maxDprnumber2Tope del device pixel ratio del canvas y de los render targets (la captura de fondo, la pirámide de blur). En pantallas DPR 3, con 2 se renderiza ~55 % menos de píxeles; Infinity usa el DPR nativo. engine.viewport.dpr refleja el valor efectivo.
antialiasbooleanfalseMSAA del canvas (antialias del WebGLRenderer). Essentia no lo necesita: las primitivas dibujan su forma con un SDF y el texto con MSDF, así que el antialiasing es analítico y el MSAA solo suaviza los bordes geométricos de los quads, que son transparentes. Apagado ahorra un 35–45 % del frame a DPR 2 (resolver y guardar 4 muestras por píxel en cada pasada). Prendelo si dibujás meshes propios con bordes duros (<T.Mesh> sin SDF).
loadingSnippet—Snippet de fallback (3D) que se renderiza dentro del Canvas mientras cualquier descendiente está cargando recursos asíncronos (texturas vía <Image/>, environment maps, etc.). Si está presente, los children se envuelven en <Suspense> y este snippet sustituye el contenido durante la carga. Si no se provee, no hay orquestación de Suspense — los componentes aparecen apenas su recurso propio termina de cargar (sin coordinación global).
childrenSnippet—
uiSnippet—

Anterior: Theme

Siguiente: EssentiaNode