ORI, un bajista de tinta con casco de visor redondo, toca de pie en un vagón del tren de Loopville; la luz cian de las ventanas cae sobre los pasajeros grises sentados detrás.

El Viaje (The Journey)

Cinco canciones. Cinco capítulos. Cinco videos hechos con código.

Desplázate para entrar a Loopville

El mismo día, otra vez.

Loopville repite su día cada 32 compases: El mismo tren, el mismo semáforo, la misma gente. ORI toca el bajo y su slap deja una estela que nadie ve. Hasta que un píxel que no debería existir rompe el patrón.

Cada canción es un capítulo.

Cinco temas, 21:04 en total. Un video por tema, hecho con código, que sale el mismo día que la canción.

  1. Infinite Loop

    4:48 Disponible desde el

    ORI vive el mismo día hasta que rompe el patrón.

    Color del mundo: Gris y cian

    → Chromosphere

    La portada del single Infinite Loop: Un píxel magenta impreso en trama sobre tinta, con F8205 y INFINITE LOOP abajo.
  2. Chromosphere

    3:48 Llega en octubre de 2026

    Cae a una atmósfera donde cada color dura un compás.

    Color del mundo: Estallidos que se apagan

    → Eternal Delay

  3. Eternal Delay

    3:46 Próximamente

    Cada nota vuelve un compás tarde.

    Color del mundo: Invertido

  4. Cosmic Dub

    4:14 Próximamente

    Mundos dentro de mundos.

    Color del mundo: Un color por nivel

  5. Threshold

    4:28 Próximamente

    La nota que nunca tocó nadie.

    Color del mundo: Todo el espectro

Capítulo 01: Infinite Loop

ORI vive el mismo día hasta que rompe el patrón.

Video hecho con código: 8.641 cuadros a 30 fps, 1920 × 1080, a tempo con el máster. Se carga desde YouTube al tocar. Ver en YouTube

Este cuadro lo dibuja código

La misma cadena que dibujó el video, corriendo en tu navegador. Desplázate: Cada línea se suma al cuadro. Después cambia los valores.

Lo que arma la escena: 5 capas

  1. Las formas del mundo en grises planos, sin contorno ni trama.Mundo
  2. Una máscara blanca donde va la luz cian: la franja de arriba y los reflejos del andén.Luz
  3. La distancia de cada forma a la cámara, en colores de datos.Profundidad
  4. ORI solo, sobre fondo transparente.ORI
  5. El contador 4.096 solo.Contador

post.js: Las junta e imprime el cuadro

El cuadro 1130 del capítulo 01: ORI salta en el andén de la torre; arriba, el contador del pueblo marca 4.096 bajo una franja de luz cian.
Cuadro 1130 del capítulo 01. Los valores los decide una persona; el código los cumple en los 8.641 cuadros del tema. El bajo, el visor y el 4.096 traen su cian de la escena: El post tiñe la trama, la plancha y la luz del mundo. Tu navegador no tiene WebGL2: El cuadro no se recalcula.

post.js, la cadena de post del capítulo 01

1// La paleta: La elige una persona.2post.colores.brand = rgb('')  // la tinta cian3post.colores.fg    = rgb('')  // el papel4// Los efectos: 0 apaga cada uno.5post.render({  // tinta:    ,  // dibuja el contorno  // halftone: ,  // la luz se vuelve puntos  // paso:     ,  // px entre punto y punto  // registro: ,  // corre el cian, a 15°  // bloom:    ,  // el cian brilla  // papel:    ,  // la luz se imprime en puntos  // grano:    ,  // el grano del papel13})

Prueba paso: 14 o la plancha en '#FF2BD6' (↑ ↓ ajustan). El número de línea la comenta.

La historia se escribe en compases

El guion de Infinite Loop no dice segundos: Dice compases, a 136,004 BPM. Loopville es un pueblo de reglas que el código cumple solo, y la historia empieza cuando algo las rompe. Abajo, el drop medido del máster.

// mundo.js: Las reglas de Loopville.
// c es el compás en curso: 1, 2, 3…
// El semáforo cambia cada 2 compases:
// Siga en el 4, 8, 12…;
// pare en el 2, 6…
const par = c - mod(c, 2)
return mod(par, 4) === 0 ? 'siga' : 'pare'
// El peatón 7 y el tren
// siguen la misma idea.
// Un día son 32 compases.

// tramos.js: La historia, en compases.
// 'c17.2' es el compás 17, tiempo 2;
// tr.f() lo pasa a número de cuadro:
tr.f('c17.2')  // → 859, el golpe
El bajo, el bombo y los hats de los compases 17 a 33, medidos del máster y los stems. Sin audio. En cian, cuando pasan: El drop (c17.2) y el gris (c31.3).

Un slap, cuadro a cuadro

Compás 17, el drop. 48 cuadros: ORI salta de la cama y toca. A 30 fps cada cuadro dura 48000 / 30 = 1600 muestras del audio: Imagen y sonido cortan en la misma muestra. Muévelos con el scroll.

salta y suena THWOK
f859
el punto más alto del salto, a 0,39 m
f868
aterriza en la pose héroe, con el segundo slap
f876

En cian, las 25 poses de los 48 cuadros: Una cada 2; los golpes de f859 y f876 la reinician.

f850 en pantalla

Capítulo 01, tramo 1 (aprobado el 9 de octubre de 2026). ORI se dibuja en dos, contados desde el último golpe, y en tres en la calma; en unos, una sola vez en todo el video. A 60 fps el render tardaba el doble y la imagen no mejoraba.

// tramos.js: El cuadro donde se dibuja
// la pose de ORI (n = 2 desde el drop)
return Math.max(seg, ancla +
  Math.floor((fx - ancla) / n) * n)

Cada texto se lee entero

Antes de renderizar, la máquina mide cuánto queda quieto cada texto. Necesita 0,6 s más un segundo cada 14 caracteres, y nunca menos de 1,5 s.

// lectura.js: Lo que necesita un texto
LECTURA = { cps: 14, buscar: 0.6, min: 1.5 }
return Math.max(r.min,
  r.buscar + largo(texto) / r.cps)
Segundos que cada texto queda entero y quieto en pantalla en Infinite Loop, en el orden en que aparece. La línea de papel marca lo que necesita.
  1. «loop 4.096 / ∞»0:02 Necesita 0,6 s + 14 caracteres ÷ 14 = 1,60 s 1,78 s
  2. «4.096»0:07 Necesita 0,6 s + 5 caracteres ÷ 14 = 0,96 s; mínimo 1,5 s 3,53 s
  3. «THWOK»0:28 Necesita 0,6 s + 5 caracteres ÷ 14 = 0,96 s; mínimo 1,5 s 1,63 s
  4. «690.4»1:47 Necesita 0,6 s + 5 caracteres ÷ 14 = 0,96 s; mínimo 1,5 s 7,07 s
  5. «el reflejo va un compás tarde»1:51 Necesita 0,6 s + 29 caracteres ÷ 14 = 2,67 s 3,66 s

Medido en los dos primeros minutos, antes de renderizar. El texto más justo, «THWOK», queda 1,63 s y necesita 1,5.

El casco de ORI muy ampliado: Círculos de tinta en una grilla a 45 grados, más grandes donde le da la luz, con la plancha cian corrida al costado.

De lejos, un damero

36 cuadros del capítulo 01. Acércate al que falta.

La hoja de contactos: 36 cuadros del capítulo 01 en una grilla de 6 por 6, desenfocados en manchas de luz claras y oscuras; en el cuadro que falta se ve, muy ampliada, la trama de puntos del casco de ORI.

Cada punto es una decisión.

Lo que de lejos parece una imagen, de cerca son miles de puntos. En el video, cada uno se decidió y se dibujó con código, 30 veces por segundo, al ritmo de la música.

ORI de cerca, con el visor del casco encendido y la estela magenta del slap sobre las cuerdas del bajo.

Cada canción es un capítulo.

El capítulo 02, Chromosphere, llega en octubre de 2026.

Sigue el disco