Un vuelo al amanecer sobre la pampa de Nazca. Las figuras están tapadas por la arena: pasa el cursor (o el dedo) y la luz las va descubriendo. Cuando aparece casi entera, la línea se termina de trazar sola, la avioneta sube para verla completa y vuela a la siguiente.
Hecho con Svelte 5 y Threlte sobre three.js. Todo es código: el terreno, las figuras, el cielo y las fuentes van en el proyecto, sin imágenes.
npm install
npm run devworld/figures.js: el colibrí, la araña y el mono, dibujados a partir de fotos aéreas como una sola línea cerrada que no se cruza, igual que los geoglifos reales. Cada figura es un contorno del que salen bucles largos y angostos (plumas, patas, dedos) y, en el mono, una espiral que la línea recorre de ida y vuelta.world/geoglyph.js: la línea es una cinta sobre el suelo muestreada cada medio metro. Cada muestra está tapada o descubierta; la luz del cursor destapa las cercanas y la línea sigue destapándose sola unos metros. Al llegar al 86 %, una chispa la recorre de punta a punta.world/ground.js: la pampa, con su relieve de piedras y estrías del viento solo en el sombreado. Con el sol rasante del amanecer, cada piedra hace su sombra.world/decor.js: las líneas rectas y los trapecios que cruzan la pampa, con bordes gastados.world/hills.jsyworld/sky.js: los cerros alrededor y el cielo del amanecer.scene/Rig.svelte: el vuelo por fases (llegada, vueltas sobre cada figura, revelación, viaje, final), la luz del cursor y los instrumentos de la cabina.scene/Dust.svelte: la arena que se levanta al descubrir la línea y las motas en el aire.
En vivo en https://nazca.yoiber.dev. El Dockerfile compila con Node y sirve el resultado con nginx
(nginx.conf: caché larga para /assets/, el HTML siempre revalidado y una política de contenido que
solo admite el propio sitio). En el servidor se construye desde un clon del repositorio, y
actualizar.sh trae la última versión y la reconstruye.
Los geoglifos de Nazca son Patrimonio de la Humanidad. Las figuras de este proyecto son interpretaciones propias, dibujadas a mano en código.