thehardwarestore.ai

where AI agents shop for the right tools

── 99005 repos indexed ── | filtered by tag: 2d
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
jonobr1/two.js ★ 8670 465 APPLICATION

Two.js is a renderer-agnostic 2D drawing library for the web, providing a unified scene graph API that renders to SVG, Canvas2D, or WebGL. The library supports creation and manipulation of shapes (paths, circles, rectangles, polygons, etc.), text, gradients, textures, sprites, and image sequences, all with transformations, animation, and hit testing. It includes utilities for SVG import and export, curve math (Bezier/Catmull-Rom), and serialization via `toObject`/`fromObject`. The architecture is modular: a core `Two` class manages the scene and animation loop, with a hierarchy of elements (Element → Shape → Path/Text/Points), a Group container for scene graph nesting, and separate renderer implementations for each target. Key entry points are the `Two` constructor, factory methods (`makeCircle`, `makePath`, etc.), `update()`, `play()`, and `pause()`. The library has no external runtime dependencies beyond standard browser APIs, though optional `node-canvas` enables headless rendering. Notably, the codebase demonstrates high craftsmanship with a flag-based dirty tracking system for efficient updates, an event system with cross-object observation, and a collection pattern with mutation events. However, it shows maintenance drift through some outdated development dependencies (e.g., `babel-eslint`, `underscore`) and manually maintained TypeScript declarations that may lag behind the source.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 4 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
twpayne/go-geom ★ 976 115 APPLICATION

This repository is a comprehensive Go library for geometric data structures and operations. It provides implementations of OGC-standard geometry types (Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, GeometryCollection) with support for 2D, 3D, and measured dimensions. The library includes algorithms for computational geometry (area, centroid, convex hull, line intersection, etc.) and encoders/decoders for formats like WKT, WKB, GeoJSON, KML, and IGC. Architecture is modular: core `geom` package defines types and interfaces, `xy`/`xyz` packages handle planar/spatial algorithms, `encoding/*` packages manage format serialization, and utilities like `transform` and `sorting` offer reusable helpers. Command-line tools for IGC parsing and PostGIS integration demonstrate practical usage. The code emphasizes clean separation of concerns, interface-driven design, and thorough testing including property-based and fuzzing tests.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
godotengine/godot-demo-projects ★ 9646 2255 APPLICATION

This repository is the official collection of Godot Engine demo projects, maintained by the Godot Foundation. It contains hundreds of self-contained, runnable demo projects that showcase specific engine features across 2D, 3D, audio, GUI, networking, XR, mobile, compute shaders, and editor plugins. Each demo is a standalone Godot project with its own project.godot, scenes, scripts, and assets. The repository serves as both a learning resource for developers and a testbed for engine capabilities. While not a single application, it demonstrates a wide range of game development patterns and engine APIs. Notable highlights include a generic state machine implementation, a 2.5D node system, a virtual joystick for touch input, a custom logger with UI integration, and a JSON-driven dialogue system. The codebase is actively maintained with recent commits, low technical drift, and consistent use of modern Godot 4.x APIs.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
cocos/cocos-engine ★ 9854 2140 APPLICATION

Cocos Creator engine runtime is a cross-platform 2D/3D game engine framework written in TypeScript and C++. It provides a component-entity architecture with scene graph, rendering pipelines (forward/deferred/custom), physics (PhysX, Bullet, Box2D, builtin), animation (marionette state machine, pose graph, Spine, DragonBones), audio, UI, particle systems, and asset management. The engine is designed to be used with the Cocos Creator editor but can run standalone. It abstracts platform-specific APIs (graphics, input, audio, system) behind a common interface, supporting Web, iOS, Android, Windows, macOS, Linux, and various mini-game platforms. Key entry points include the Director, Scene, Node, Component, and the rendering pipeline. External dependencies include graphics APIs (Vulkan, Metal, GLES, WebGPU), physics libraries (PhysX, Bullet, Box2D), and scripting engines (V8, SpiderMonkey, JavaScriptCore).

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
Unity-Technologies/UnityPlayground ★ 974 162 APPLICATION

This repository contains two distinct Unity projects: the Unity Playground, an educational framework for teaching 2D physics game development through modular scripts and example scenes (Adventure, Defender, Maze, Lander, etc.), and the com.unity.asset-store-tools, an Editor extension for publishing packages to the Unity Asset Store. The Playground provides atomic movement, condition, action, and attribute components that can be combined visually in the Editor, with custom inspectors to guide beginners. The Asset Store Tools implement a full publishing workflow including package validation (30+ automated tests), preview generation (native and custom), package exporting, and upload with authentication and analytics. Both projects are well-structured with clear separation of concerns, but the Asset Store Tools show signs of version-specific conditional compilation and reliance on internal Unity APIs, indicating medium technical drift. The Playground examples are simple but functional, while the tools demonstrate more advanced patterns like service providers and interface-based validation frameworks.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found

FunGen is a desktop application for generating funscripts (motion scripts for interactive haptic devices) from video content using AI-based computer vision. It provides a full GUI built with Dear ImGui, supporting video playback via mpv, real-time and offline object detection (YOLO), optical flow analysis, and a plugin system for funscript transformations. The application integrates device control for hardware like The Handy, OSR, and Buttplug.io, and includes batch processing, watched folders, and a WebSocket API. The codebase is large and well-structured with many reusable components (plugin architecture, async YOLO worker, undo/redo system, checkpointing, theme management), but the project is explicitly deprecated in favor of a native binary rewrite (FunGen 2). The repository is kept for reference and no longer actively developed, leading to high technical drift and potential compatibility issues with current dependencies.

RATING: 6.1/10 MAINT: deprecated DRIFT: high
▸ 7 reusable components found
── end of results ──
$ submit: