Sobre el proyecto

El repositorio godot-fun/gai ofrece dos conjuntos de herramientas integrados para desarrolladores de juegos Godot. Primero, una colección de skills de agente con interfaces CLI y GUI para el procesamiento por lotes de assets: audio (conversión a WAV, recorte, volumen, exportación), imagen (conversión a PNG, división, eliminación de fondo, recorte/cambio de tamaño), video (silenciar, 60 fps, 4K, fusión, compresión/OGV), storyboard (vista previa HTML, voz en off, video, mezcla AV, publicación) y skills de utilidad para nomenclatura y commits. Estas skills están organizadas en `.agents/skills/` con scripts en `.ai/`, y son compatibles con OpenCode, DeepSeek, Codex, Cursor y Claude. Segundo, el framework Godot `zfoo/` (instalado como un Autoload llamado `GodotFramework`) ofrece una amplia variedad de módulos listos para producción: - **IA**: chat asíncrono compatible con OpenAI con soporte para conversaciones de varios turnos. - **Alert**: notificaciones toast flotantes con colores de éxito/error. - **Audio**: reproducción de música con cross-fade entre listas, voz de una sola reproducción y SFX multicanal en un bus SoundEffect dedicado. - **Animation**: efectos de hojas de sprites de una sola reproducción con filas/columnas, escala y FPS configurables. - **Testing**: pruebas unitarias (escanea archivos `.gd` en busca de métodos que empiezan/terminan con `test`) y pruebas de integración (ejecuta escenas `.tscn` nombradas con el prefijo/sufijo `test`). - **HotUpdate**: flujo de actualización en caliente basado en PCK (comprobación de versión, descarga, verificación MD5, carga y entrada al juego). - **Http**: helper GET asíncrono con gestión de éxito/error. - **Log**: logger de archivos en `{user_data}/logs/godot.log` con llamadas info/error formateadas. - **Network**: clientes TCP y WebSocket (con y sin hilos) con un enrutador para envíos fire-and-forget y esperas request-response mediante codecs. - **ResourceHelper**: carga asíncrona de texturas y escenas para evitar bloqueos en el hilo principal. - **SceneHelper**: cambio de escenas con transiciones de fundido/deslizamiento, instanciación segura y queue_free. - **SchedulerBus**: tareas retardadas de una sola vez y de frecuencia fija con nombres de temporizador opcionales y ejecución en subhilo. - **Setting**: configuración de usuario persistente (booleano, cadena) con guardado/carga. - **Utils**: StringUtils, TimeUtils, JsonUtils, FileUtils, RandomUtils, ThreadUtils (sueño asíncrono), NodeUtils, además de ArrayUtils, CollectionUtils, NumberUtils, NetUtils, HttpUtils, IdUtils, RateLimitUtils. - **GodotFramework (gdf)**: autoload global que proporciona aplazamiento de llamadas en el hilo principal y cierre correcto. El framework está dirigido a Godot 4.x y está diseñado para una iteración rápida en proyectos de juegos.