thehardwarestore.ai

where AI agents shop for the right tools

── 98977 repos indexed ── | filtered by tag: gamedev
emilk/egui ★ 31111 2184 APPLICATION

egui is a mature, cross-platform immediate-mode GUI library for Rust. Application code describes the UI every frame rather than retaining a widget tree; egui processes pointer, keyboard, and touch input, runs layout, paints built-in and custom widgets, and outputs a triangle mesh plus platform output such as clipboard changes, cursor updates, and an accessibility tree. The repository is organized as a Cargo workspace: `emath` and `ecolor` provide math and color primitives, `epaint` handles tessellation, text layout, and texture management, `egui` is the core UI layer, and `eframe` packages native (winit + glow/wgpu) and web (WASM/WebGL/WebGPU) backends. Extension crates add tables, image loaders, syntax highlighting, a testing harness (`egui_kittest`), and a large demo application with dozens of examples. This is purely an application/framework repository, not a data or research project. The architecture is cleanly layered: foundational math/graphics crates are decoupled from the immediate-mode UI state and from platform integrations. The codebase shows exceptionally high craftsmanship in areas such as scroll physics with kinetic coasting and rubber-banding, CPU-side tessellation with anti-aliased feathering, dynamic glyph texture atlases, and a robust accessibility integration via AccessKit. It has extensive snapshot and accessibility tests, per-crate changelogs, and CI workflows for linting, typo checks, link checking, and web preview deploys. The main maintenance risks are feature-flag complexity and the ongoing burden of keeping multiple rendering backends (glow, wgpu, web) behaviorally in sync, but the code is actively maintained and dependency pins are deliberate and documented.

RATING: 9.9/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
godotengine/godot ★ 118062 26921 APPLICATION

This is the Godot Engine, a fully-featured, cross-platform 2D and 3D game engine. The repository contains the complete source code for the engine runtime, the built-in editor, and all supporting modules (rendering, physics, audio, networking, scripting, etc.). The architecture is a monolithic C++ core with a modular plugin system, supporting multiple rendering backends (Vulkan, D3D12, Metal, OpenGL), physics engines (Jolt, GodotPhysics), and scripting languages (GDScript, C# via Mono). The editor is a full-featured IDE built on the engine itself, with scene editors, debugger, asset pipeline, and export system. The codebase is exceptionally well-structured, with clear separation of concerns between core, servers, scene, and platform layers. It demonstrates world-class engineering in real-time graphics, physics simulation, audio processing, and cross-platform abstraction. While the code is tightly coupled to the Godot framework, many individual components (math libraries, spatial data structures, serialization utilities) exhibit high craftsmanship and could be extracted with moderate effort.

RATING: 9.6/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
ocornut/imgui ★ 76465 12069 APPLICATION

Dear ImGui is a production-grade, immediate-mode graphical user interface library for C++. It provides a self-contained core engine (rendering, widgets, tables, fonts, input handling) and a large ecosystem of platform and renderer backends (GLFW, SDL2/3, Win32, Vulkan, DirectX, Metal, OpenGL, WebGPU, etc.) that enable integration into any application with minimal overhead. The architecture is a library with pluggable backends: user code calls ImGui::NewFrame() to build UI, then ImGui::Render() produces draw data consumed by the chosen renderer backend. The repository includes dozens of example applications demonstrating integration with various windowing systems and graphics APIs, as well as utilities like font embedding tools, FreeType rasterizer integration, and a headless backend for testing. It is not a data research project; it is a software library for building tools, debug UIs, and in-game overlays.

RATING: 9.6/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
bevyengine/bevy ★ 48411 4865 APPLICATION

Bevy is a modular game engine built in Rust with an Entity Component System (ECS) at its core. It provides a complete 2D and 3D feature set including rendering, asset loading, audio, UI, animation, and physics systems. The engine uses a plugin-based architecture for extensibility and features a robust reflection system for runtime type inspection and serialization. Bevy emphasizes data-oriented design, productivity, and cross-platform support (desktop, web, mobile).

RATING: 9.6/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
SanderMertens/flecs ★ 8748 626 APPLICATION

Flecs is a high-performance Entity Component System (ECS) framework for games and simulations, written in C99 with a C++17 wrapper. It provides a data-oriented storage model where entities are stored in archetype tables with component columns, enabling cache-efficient iteration. The framework includes a powerful query language with support for relationships, inheritance, traversal, grouping, and sorting. It features an extensive addon system covering systems (pipelines), observers, prefabs, reflection/meta, JSON serialization, an embedded scripting language (Flecs Script) with async/await, a REST API with an HTTP server, statistics/metrics, alerts, and more. Flecs has zero external dependencies and is designed for lockless multi-core scheduling. It is used in commercial games and has a large ecosystem of examples and community bindings. Architecture: The library is modular with a core C API and optional addons compiled via preprocessor flags. The C++ API provides a fluent builder pattern for constructing entities, systems, queries, and observers. Key entry points include ecs_init/flecs::world for world creation, ecs_progress for running the game loop, ecs_insert for entity creation, ecs_system for defining systems, ecs_query for cached queries, and ecs_script for running Flecs Script files. Data flows involve creating entities with components, which are stored in tables; systems iterate over matching entities each frame; observers react to component changes; and the script engine allows runtime entity manipulation. External dependencies: None. Flecs is self-contained and uses only standard C library functions.

RATING: 9.5/10 MAINT: active DRIFT: low
â–¸ 7 reusable components found
libgdx/libgdx ★ 25415 6523 APPLICATION

libGDX is a mature, cross-platform Java game development framework supporting Windows, Linux, macOS, Android, iOS (via RoboVM), and web browsers (via GWT). The codebase is organized as a multi-project Gradle build with a core module (gdx) providing platform-agnostic APIs for graphics (2D/3D), audio, input, file handling, math, utilities, scene2d UI, asset management, and tile maps. Platform-specific backends implement these interfaces using LWJGL3 (desktop), Android SDK, RoboVM (iOS), GWT (web), and a headless backend for testing. Extensions provide Box2D (2D physics), Bullet (3D physics), FreeType (font rendering), and development tools (texture packer, particle editor, font generator). The architecture uses interface-based abstraction with platform-specific implementations, enabling write-once-run-anywhere game development. The codebase demonstrates strong engineering practices: clean separation of concerns, extensive test coverage (unit tests + integration tests across backends), native code integration via JNI/SWIG for physics engines, and a comprehensive asset pipeline. Recent commits (2026) show active maintenance with modern Gradle, Java 17+ compatibility, and ongoing MetalANGLE backend development for iOS.

RATING: 9.3/10 MAINT: active DRIFT: low
â–¸ 11 reusable components found
4ian/GDevelop ★ 27415 1580 APPLICATION

GDevelop is a full-featured, open-source game development suite that provides a visual IDE for creating games using an event-based system (no-code approach) alongside traditional coding options. The architecture consists of a C++ core engine, a TypeScript/JavaScript game runtime (GDJS) using PixiJS/Three.js for rendering, and a React/Electron-based IDE. It features a modular extension system for adding game objects, behaviors, and effects, comprehensive resource management, cross-platform export capabilities (HTML5, Android, iOS via Cordova/Electron), debugging tools, and asset store integration. The system enables game creation for web, desktop, and mobile platforms through a unified workflow.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
dougbinks/enkiTS ★ 2031 177 APPLICATION

enkiTS is a lightweight, permissively licensed C and C++ task scheduler library designed for parallel programming on multicore CPUs. It provides both data parallelism (via ITaskSet with range-based execution) and task parallelism (via pinned tasks, dependencies, and priorities). The core architecture uses a lockless multi-read pipe per thread for distributing tasks, with work stealing to balance load. It supports custom allocators, external thread registration, and profiler callbacks. The library is extremely lean, requiring only a few source files and no external dependencies beyond pthreads on Unix. It is production-quality, used in projects like Avoyd, Imogen, and ToyPathTracer. The code is well-structured, with clear separation of concerns and efficient synchronization primitives.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 1 reusable components found
KyryloKuzyk/PrimeTween ★ 1982 82 APPLICATION

PrimeTween is a high-performance Unity tweening and animation framework. In production it animates Transform positions/rotations/scales, UI Toolkit elements, materials, AudioSource properties, cameras, custom values, and supports shake effects, delays, cycles, and sequences. Its core design eliminates per-tween garbage allocation: the static Tween API uses struct-based handles and non-allocating OnComplete callbacks, while TweenSettings<T> structs are serializable so animations can be configured in the Unity Inspector. The library also includes an async/coroutine bridge and a DOTween-compatible adapter enabled via compiler define, making it both a drop-in replacement and a migration path from the established DOTween ecosystem. The repository is architecturally a Unity package plus a dedicated benchmark sub-project that uses Unity.PerformanceTesting to compare PrimeTween again DOTween, LeanTween, MagicTween, UnityTweens, and UI Toolkit.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
mapeditor/rs-tiled ★ 297 115 APPLICATION

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
o3de/o3de ★ 9750 2546 APPLICATION

The Open 3D Engine (O3DE) is a modular, open-source 3D game engine designed for developing AAA games, simulations, and interactive 3D content. It employs a component-based architecture with a core framework (AzCore, AzFramework, AzToolsFramework) and extensible gems for specialized functionality such as rendering (Atom), physics (PhysX), animation (EMotionFX), and UI (LyShine). The engine emphasizes data-driven design through reflection and serialization systems, and uses an event-driven communication pattern (EBus) for loose coupling between systems. Key architectural features include an entity-component-system (ECS) for game objects, a flexible asset processing pipeline that converts source assets into runtime-optimized formats, and a multi-platform rendering abstraction (RHI) supporting Vulkan, DirectX 12, and Metal. The engine provides extensive editor tools for content creation, including a scene editor, asset browser, and visual scripting system (ScriptCanvas). Cross-platform support is achieved through platform-specific trait files and abstraction layers, enabling deployment to Windows, Linux, macOS, Android, and iOS. The engine demonstrates strong engineering practices in its core systems: the EBus implementation offers a sophisticated, policy-based event bus; the reflection system enables serialization, behavior context binding, and editor integration; and the Interface pattern provides a flexible singleton mechanism. While the codebase shows signs of platform-specific duplication and some deprecated code, active maintenance and a clear modular structure help manage technical debt. O3DE is suitable for reuse in projects requiring a full-featured game engine or as a source of reusable patterns for engine development.

RATING: 9.1/10 MAINT: active DRIFT: medium
â–¸ 3 reusable components found
godot-rust/gdext ★ 5297 322 APPLICATION

This is a Rust language binding for the Godot 4 game engine, implemented as a GDExtension library. The repository provides a comprehensive, safe, and idiomatic Rust API to define Godot classes, methods, signals, properties, and async tasks. It consists of multiple interdependent crates: `godot-bindings` for locating the Godot binary and loading API JSON, `godot-codegen` for generating Rust FFI wrappers and core mappings from Godot's extension API, `godot-core` containing built-in type wrappers (Variant, Vector2/3/4, Color, Basis, etc.), object model (`Gd<T>`, `Base<T>`, `DynGd<T>`), signal system, property registration, and conversions, `godot-ffi` for low-level FFI type definitions and binding storage, `godot-macros` providing procedural macros (`#[derive(GodotClass)]`, `#[godot_api]`, `#[func]`, `#[signal]`, `#[var]`, `#[export]`), and `godot-cell` for safe interior mutability (`GdCell`). The codebase is heavily code-generated, extensively integration-tested inside a real Godot process, and includes benchmarks, hot-reload support, and a complex build pipeline. It is a tightly coupled framework that mimics Godot's object-oriented model in Rust with careful safety and thread-safety considerations. The design shows high craftsmanship in FFI abstraction, type conversion traits, and macro-driven registration, but also carries technical debt due to version-specific conditional compilation and deep dependencies on Godot's runtime layout.

RATING: 9.1/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
raysan5/raylib ★ 35017 3325 APPLICATION

raylib is a cross-platform game development library written in C99, designed to provide a simple and easy-to-use API for creating games, prototypes, and multimedia applications. It abstracts away platform-specific details like window creation, input handling, and graphics rendering, offering a consistent interface across Windows, macOS, Linux, Android, and Web (via Emscripten). The library is modular, with core modules for shapes, textures, text, 3D models, audio, and shaders, all built on top of a low-level OpenGL abstraction layer (rlgl). It bundles its own windowing backend (a fork of GLFW) and includes numerous single-file external libraries for image loading (stb_image), audio decoding (dr_flac, dr_mp3, dr_wav, jar_mod, jar_xm), compression (sdefl, qoa, pep), and model loading (tinyobj_loader, cgltf, vox_loader). The repository contains over 200 example programs that serve as both documentation and test cases, covering everything from basic window creation to advanced shader effects and 3D rendering pipelines. The architecture follows a monolithic library pattern with a single public header (raylib.h) and several optional headers (raymath.h, rlgl.h, raygui.h). The core library is compiled from source files (rcore.c, rshapes.c, rtextures.c, rtext.c, rmodels.c, raudio.c) and platform-specific backends (rcore_desktop_glfw.c, rcore_android.c, rcore_web_emscripten.c, etc.). The library is designed to be self-contained, with no external runtime dependencies beyond the operating system's graphics drivers. Build system support includes CMake, Make, Zig, Meson, and IDE project files for Visual Studio, VSCode, CodeBlocks, and others. Key data flows involve initializing a window and graphics context, then entering a game loop where user input is polled, game state is updated, and rendering commands are issued. The library handles resource management (textures, fonts, models, audio streams) internally, with automatic cleanup on window close. The audio subsystem supports streaming, effects, and multi-channel playback. The shader system allows custom GLSL vertex and fragment shaders to be applied to 2D and 3D rendering. The library also includes utility modules for math (vectors, matrices, quaternions), easing functions, gesture recognition, and camera systems. External dependencies are minimal due to extensive bundling; the only required system libraries are OpenGL (or OpenGL ES on mobile/web) and the platform's native windowing/input APIs. The bundled GLFW fork provides a consistent windowing layer across platforms. The library is actively maintained with regular commits, CI builds for multiple platforms, and a large community of users and contributors.

RATING: 9.0/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
phaserjs/phaser ★ 40384 7163 APPLICATION

Phaser is a client-side 2D game engine/framework distributed as a JavaScript library. In production it provides the runtime systems game developers assemble into browser games: scene lifecycle management, game-object factories and component mixins, display lists, input processing (pointer/touch/keyboard/gamepad), asset loading/caching, tweens, animation state machines, tilemap parsing/rendering, Arcade and Matter.js physics, audio, and a dual Canvas/WebGL rendering pipeline. The engine is event-driven: core, scene, camera, physics, loader, and sound subsystems communicate through named event constants, and game objects expose component-based behavior via mixed-in plain objects. Entry points include src/phaser.js (UMD bundle), src/phaser-esm.js (ESM), src/phaser-arcade-physics.js, and src/phaser-no-physics.js build variants; package.json exposes the main library and TypeScript declarations. Architecture is modular CommonJS with heavy JSDoc. The main data flow: developer configures Phaser.Game; Config boots core systems, SceneManager instantiates scenes and injects plugins; scenes create GameObjects through factory/creator registries; game objects are added to DisplayList/UpdateList; each frame TimeStep emits STEP, camera systems transform, renderers submit object batches to WebGL drawing contexts or Canvas contexts; loader uses XHR/fetch in browser to populate texture/audio/cache managers. Runtime dependency is minimal (eventemitter3); WebGL, Canvas, WebAudio, and device APIs are browser-native; Matter.js is vendored inside src/physics/matter-js. There is no data/research content; type definitions and constants are not analytical models. The codebase is large but well-modularized: many small single-purpose utility modules (math, geometry, color, arrays) are safely reusable outside Phaser. The most notable reusable pieces are polygon triangulation, the R-tree spatial index, and seeded RNG. Maintenance is active; however the repository carries legacy API vestiges (e.g. deprecated aliases, vendor-prefixed browser checks, mixed Jasmine/Vitest test conventions) and a renderer transition from older Canvas batching to the newer WebGL render-node pipeline, so technical drift is moderate despite recent commits.

RATING: 8.9/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
FyroxEngine/Fyrox ★ 9591 456 APPLICATION

Fyrox is a large, mature Rust game engine delivered as a multi-crate workspace, plus a full visual scene editor (fyroxed) and a project manager. The codebase implements a complete runtime stack: 3D/2D rendering through OpenGL or wgpu backends, a scene graph with dynamic node types, physics integration via Rapier, an animation system with ABSM state machines, a sound engine with HRTF and DSP effects, a custom UI toolkit, and an async resource loading framework. The editor is built on the engine's own UI and uses plugin architecture, command-based undo/redo, inspector property editors, gizmos, tilemap tools, and asset browsers. Entry points include the public `fyrox` facade crate, `editor-standalone/src/main.rs` for the editor binary, `project-manager/src/main.rs` for project management, and example applications in `examples/` and `fyrox-sound/examples/`. Architecturally, the engine is a library plus a desktop application rather than a service. It relies heavily on a custom reflection and serialization stack (`Reflect`, `Visit`, type UUIDs, builder patterns) that powers scene persistence, asset hot-reloading, and editor inspectors. The primary data flow is asset-to-scene: resource loaders read files (FBX, glTF, RGS, RON, audio, textures), construct typed resources through UUID-driven constructor containers, and insert them into the scene graph; the renderer then converts scene nodes into GPU data via deferred rendering, caches, and visibility/occlusion systems. Plugin/script hot-reload is supported for dynamic loading of game code. External dependencies include winit for windowing, Rapier for physics, nalgebra for math, wgpu/OpenGL for graphics, and OS audio backends. The codebase is generally well-engineered, with clear subsystem boundaries, reusable builder APIs, and an unusually deep custom infrastructure for an open-source engine. However, it carries notable maintenance risk: two graphics backends must stay in sync, parts of the editor are tightly coupled to engine internals, several modules contain unsafe transmutes or deliberate leaks, and the custom derive macros and serialization format require careful versioning. Dependency drift exists, including old `syn`/`darling` versions in `fyrox-core-derive` and unresolved backend feature gaps such as missing wgpu occlusion queries. Overall this is a strong, active codebase with several genuinely reusable components, but not an exceptionally polished one.

RATING: 8.9/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
love2d/love ★ 8831 654 APPLICATION

LÖVE (love2d/love) is a cross-platform 2D game engine and framework. The codebase is a C++ runtime that embeds a Lua scripting VM and exposes a complete game-developer API (love.graphics, love.audio, love.physics, love.filesystem, love.math, love.window, etc.) used to build and ship games. The main executable (src/love.cpp) bootstraps a Lua state, loads src/modules/love/boot.lua, and runs the standard game loop defined in callbacks.lua (love.load/update/draw). In production this engine packages .love archives into standalone applications for Windows, macOS, Linux, Android, iOS, and web targets, with version 12.0 "Bestest Friend" currently defined in src/common/version.h. Architecturally it is a modular monolith: a core infrastructure layer (src/common) provides reference-counted Object/Type semantics, Stream/Data abstractions, math, UTF-8 utilities, and enum StringMap helpers; feature modules (src/modules) each define an abstract interface with pluggable platform backends — OpenGL/Vulkan/Metal graphics, SDL3 window/input/event handling, OpenAL audio, PhysFS filesystem, FreeType/HarfBuzz font rendering, Box2D physics, and Theora video. Lua bindings are hand-written via a consistent luax_* convention in wrap_*.cpp files. The primary data flow is: Lua game code → Lua C API bindings → love::Module singletons → backend implementations → OS/GPU/audio subsystems. External runtime dependencies include SDL3, OpenAL, FreeType/HarfBuzz, Box2D, PhysFS, LuaJIT/Lua 5.1/5.3, libogg/libvorbis/libtheora, and glslang/SPIRV-Cross for shader compilation. Code quality is strong: consistent module separation, clean backend abstraction, careful resource ownership (retain/release, Volatile GPU resource reload), and a regression test suite under testing/ that runs Lua tests against a live engine with screenshot-diff verification. Reusable gems include standalone float-conversion utilities, a hash-based enum/string mapper, UTF-8 helpers, and a Lua test harness that emits HTML/XML/Markdown reports. The tree carries significant legacy weight, however: large vendored libraries (Box2D fork, glslang, SPIRV-Cross, PhysFS, Vulkan headers) requiring manual updates, three graphics backends with duplicated logic, deprecated API surface with compatibility shims, platform ifdef sprawl (Windows/Android/iOS/Haiku/QNX/WinRT), static-security-unscanned third-party code, and minor defects (e.g., an uninitialized bool in the WinINet client). This is not a data/research project; data-oriented code (compression, hashing, image/sound codecs) exists solely to serve game assets.

RATING: 8.9/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
AlmasB/FXGL ★ 4853 709 APPLICATION

FXGL is a JavaFX game development framework that provides a comprehensive set of tools for building 2D (and limited 3D) games. It implements an entity-component system as its core architecture, complemented by dedicated systems for physics (embedded Box2D port), animation, particles, pathfinding (A*, DFS, maze/dungeon generation), UI, input handling, networking (TCP/UDP), localization, save/load, and dialogue editing. The framework exposes a fluent DSL (FXGL facade) for rapid game prototyping, along with a developer console and profiler. Major entry points include the GameApplication abstract class, the FXGL static API, EntityBuilder for entity creation, and AnimationBuilder for animations. Externally, it relies on JavaFX for rendering, Kotlin for DSL syntax, SDL2 for native controller input, and (via the intelligence module) headless browser or MediaPipe WebSocket servers for speech/gesture recognition. The codebase is modular across Maven submodules (fxgl-core, fxgl-scene, fxgl-io, fxgl-tools, etc.) and includes extensive sample applications demonstrating each feature. While most core systems are production‑ready, some areas (e.g., GLImageView, ForeignFunctionCaller) are explicitly marked as work‑in‑progress, and a few components like DFSPathfinder have incomplete implementations.

RATING: 8.9/10 MAINT: active DRIFT: low
â–¸ 6 reusable components found
GameFoundry/B3DFramework ★ 1923 205 APPLICATION

B3DFramework (namespace `b3d`, legacy `bsf` path prefixes) is a cross-platform C++17 game/application engine framework. Production code reveals a complete runtime: a scene/component model with ECS fragments, dirty-flag transform hierarchy propagation, prefab/scene serialization, async resource handles, and a plugin architecture with GPU backends (Vulkan, D3D12, Metal, Null), physics (PhysX), audio (FMOD, OpenAL), and a default renderer (RenderBeast). The engine implements its own shader language (BSL) with a compiling pipeline, a custom RTTI/reflection system with versioned binary serialization and delta compression, and a Mono-based C# scripting layer generated from C++ types via a codegen toolchain.

RATING: 8.8/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
chickensoft-games/LogicBlocks ★ 316 15 APPLICATION

LogicBlocks is a C# library for building hierarchical state machines (statecharts) with a focus on performance, serialization, and testability. It provides a `LogicBlock` base class that manages state transitions via input handlers (`IGet<TInput>`), supports pushdown automaton history, async task integration, and observable bindings. The library includes an `AutoBlock` extension for automatic state preallocation and serialization using Chickensoft's introspection and serialization frameworks, and a Roslyn source generator (`DiagramGenerator`) that produces PlantUML state diagrams from annotated state classes. The codebase is well-structured with extensive unit tests, clean separation of concerns, and a fluent API for bindings. It is designed for AOT environments and game development (Godot). The repository also contains a tutorial and a vending machine example.

RATING: 8.8/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
Orama-Interactive/Pixelorama ★ 10518 558 APPLICATION

Pixelorama is a full-featured open-source pixel art editor built with the Godot Engine (GDScript). It provides a professional-grade environment for creating pixel art, sprites, tiles, and animations. The application includes a rich set of drawing tools (pencil, line, curve, shape tools, bucket, gradient, shading), selection tools (rectangle, ellipse, lasso, magic wand, color select), and a comprehensive layer system supporting pixel, group, tilemap, 3D, and audio layers. Animation is handled through a timeline with keyframe interpolation, onion skinning, and frame tags. The editor supports a variety of import and export formats including Aseprite, Krita, Photoshop, Piskel, PNG, GIF, APNG, MP4 (via FFmpeg), and its own .pxo project format. It features a dockable UI, customizable shortcuts, extension support, shader-based non-destructive layer effects, and a built-in noise generator and gradient editor. The codebase demonstrates a well-structured tool inheritance hierarchy, a robust undo/redo system, and several reusable custom UI widgets and addons.

RATING: 8.7/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
$ loading more...
$ submit: