Sobre el proyecto

WaveFunctionCollapse Este programa genera mapas de bits localmente similares al mapa de bits de entrada. La similitud local significa que la salida solo contiene patrones NxN de píxeles presentes en la entrada y que la distribución de patrones en la salida es similar a la de la entrada. El algoritmo inicializa la salida en una superposición de estados posibles, observa iterativamente las regiones con la menor entropía de Shannon y propaga restricciones, hasta colapsar finalmente en un estado definido. Puede encontrarse con contradicciones, cuya evitación es NP-difícil, pero en la práctica esto es poco frecuente. El repositorio incluye el algoritmo central, ejemplos y documentación. Admite modelos de teselas superpuestas y simples, con opciones para simetría, restricciones y dimensiones superiores. El código es una aplicación de consola escrita en C# con .NET Core, sin dependencias externas. Puede compilarse con `dotnet run` o `dotnet publish`. El proyecto ha inspirado numerosos puertos a otros lenguajes (C++, Python, Rust, JavaScript, etc.) y adaptaciones a motores de videojuegos como Unity, Unreal Engine y Godot. Se ha utilizado en videojuegos comerciales como Bad North, Caves of Qud y Townscaper, y ha dado lugar a investigación académica. El README también discute algoritmos relacionados como ConvChain y síntesis de texturas, y ofrece una descripción detallada del algoritmo y referencias a trabajos anteriores.