# PRISMA · Procedencia y funcionamiento

Concepto original de Laboratorio Fai. No es un producto disponible ni un caso de cliente.

## Escena

- `weather.js`: shader WebGL2 propio. Genera el terreno, los biomas por latitud, el océano (Fresnel y destello solar), las nubes (ruido con deformación de dominio y autosombra), las luces nocturnas, el limbo atmosférico y la neblina con coeficientes aproximados de Rayleigh ∝ 1/λ⁴, y el tonemapping ACES. Es una interpretación visual, no una simulación calibrada. No usa fotografías, mapas, vídeos ni conjuntos de datos de NASA.
- `compositor.js`: compone las tres aperturas en el mismo contexto. Añade la dispersión lateral leve del cristal, la caída de luz hacia el borde y un grano fino. La placa de nubes se actualiza a unos 24 Hz de tiempo de escena; la composición sigue el ritmo de pantalla.
- `material.js`: bisel metálico 2.5D horneado a partir de un campo de distancia. No es una oclusión ambiental 3D.
- La escena arranca cuando el navegador queda libre, después de pintar el póster local. Los shaders se enlazan en segundo plano cuando hay `KHR_parallel_shader_compile`. La animación se detiene si hay movimiento reducido, si la pestaña está oculta, si la escena queda fuera de vista o si se pulsa Pausar. Si WebGL2 no está disponible, se queda el póster.

## Taller

`app.js` traza una ruta ilustrativa con reglas locales. No usa IA ni APIs. El texto no sale de la pestaña ni se guarda. Copiar la ruta requiere pulsar el botón; si el portapapeles no está disponible, la ruta se selecciona para copiarla a mano. No evalúa la viabilidad de nada.

## Licencias

Código bajo licencia MIT; arte procedural e imágenes bajo CC BY 4.0, citando a FAI ([detalle](../LICENSE.txt)). Las fuentes son locales y se distribuyen con la licencia SIL OFL 1.1:

- `assets/fraunces-*.woff2`: [Fraunces](/demos/licenses/fraunces-OFL.txt)
- `assets/manrope.woff2`: [Manrope](/demos/licenses/manrope-OFL.txt)
- `../../fonts/fai-*.woff2` (kit FAI): sus licencias OFL están en la misma carpeta.

[Volver a PRISMA](/demos/prisma/) · [Todas las demos](/demos/)
