About this project

The godot-fun/gai repository provides two integrated toolsets for Godot game developers. First, a collection of agent skills with CLI and GUI interfaces for batch asset processing — covering audio (to-wav, trim, loudness, export), image (to-png, split, background removal, trim/resize), video (mute, 60fps, 4K, merge, compress/OGV), storyboard (HTML preview, voice-over, video, AV mix, publish), and utility skills for naming and commits. These skills are organized in `.agents/skills/` with scripts in `.ai/`, compatible with OpenCode, DeepSeek, Codex, Cursor, and Claude. Second, the `zfoo/` Godot framework (installed as an Autoload named `GodotFramework`) delivers a wide range of production-ready modules: - **AI**: OpenAI-compatible async chat with multi-turn conversation support. - **Alert**: Floating toast notifications with success/error colors. - **Audio**: Music playback with playlist cross-fade, one-shot voice, and multi-channel SFX on a dedicated SoundEffect bus. - **Animation**: One-shot sprite-sheet effects with configurable rows/columns, scale, and FPS. - **Testing**: Unit tests (scan `.gd` files for methods starting/ending with `test`) and integration tests (run `.tscn` scenes named with `test` prefix/suffix). - **HotUpdate**: PCK-based hot update workflow (version check, download, MD5 verify, load, enter game). - **Http**: Async GET helper with success/error handling. - **Log**: File logger at `{user_data}/logs/godot.log` with formatted info/error calls. - **Network**: TCP and WebSocket clients (threaded and non-threaded) with a router for fire-and-forget sends and request-response awaits using codecs. - **ResourceHelper**: Async loading of textures and scenes to avoid main-thread blocking. - **SceneHelper**: Scene switching with fade/slide transitions, safe instantiation, and queue_free. - **SchedulerBus**: One-shot and fixed-rate delayed tasks with optional timer names and sub-thread execution. - **Setting**: Persistent user config (bool, string) with save/load. - **Utils**: StringUtils, TimeUtils, JsonUtils, FileUtils, RandomUtils, ThreadUtils (async sleep), NodeUtils, plus ArrayUtils, CollectionUtils, NumberUtils, NetUtils, HttpUtils, IdUtils, RateLimitUtils. - **GodotFramework (gdf)**: Global autoload providing main-thread callable deferral and graceful quit. The framework targets Godot 4.x and is designed for rapid iteration in game projects.