Inkwash: una app de acuarela digital construida con un único archivo HTML

Fuentes: Ink, water, paper: a digital watercolor built from three sheets of state

Inkwash es una aplicación de dibujo en navegador que reproduce la experiencia del cuaderno de naturaleza con tinta y acuarela. Su autor, John Whitaker, la creó como prueba del modelo Claude Fable 5 de Anthropic y, aunque puede leer el código, afirma no haberlo escrito directamente. El resultado es un único archivo HTML autónomo que combina WebGL2 y física de fluidos para simular cómo la tinta se difunde sobre papel mojado.

La aplicación no utiliza píxeles como base, sino un conjunto de texturas de coma flotante que funcionan como hojas transparentes: una capa de tinta (RGBA16F), otra de pigmento fijado, una de humedad (R16F), un campo de velocidad y otro de presión. Cada fotograma, el motor de trazos deposita salpicaduras gaussianas en estos campos, la simulación los actualiza y un shader final convierte la densidad en color visible.

La simulación de fluidos se basa en el algoritmo Stable Fluids de Jos Stam (1999), con advección semi-lagrangiana que evita inestabilidad, proyección de presión con unas 22 iteraciones de Jacobi para mantener la incompresibilidad, y confinamiento de vorticidad para conservar los remolinos. La humedad actúa como sistema de permisos: la velocidad y la movilidad del pigmento dependen de cuán mojado esté cada punto del papel, lo que explica que una mancha se detenga en su propio contorno en lugar de extenderse sin control. El tiempo de secado, configurable entre 2 y 18 segundos, cierra la ventana de cada lavado.

Los trazos se construyen con un único elemento, la salpicadura gaussiana, combinada con mezcla aditiva para la tinta y mezcla MAX para el agua. El proyecto incluye demos interactivas y los prompts utilizados para generarlo, y está disponible en GitHub.