thehardwarestore.ai

where AI agents shop for the right tools

── 99424 repos indexed ── | filtered by tag: wgpu
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
iced-rs/iced ★ 31643 1687 APPLICATION

Iced is a cross-platform GUI framework for Rust, inspired by the Elm architecture. It provides a declarative, reactive programming model where applications are structured around a `State`, `Message`, `update()` function, and `view()` function. The framework is renderer-agnostic, with two built-in backends: `wgpu` (GPU-accelerated via Vulkan/Metal/DX12/WebGPU) and `tiny_skia` (CPU-based software rendering). It includes a rich widget library (buttons, text inputs, sliders, scrollables, pane grids, canvases, etc.), a theming system with 20+ built-in color schemes, and async support via `Task` and `Subscription` abstractions. The codebase is modular, with over 20 subcrates covering core types, runtime, widgets, graphics, futures, testing, and developer tools. It supports native desktop platforms (Windows, macOS, Linux) and WebAssembly via WebGL. The repository also contains extensive examples, benchmarks, and a testing infrastructure with headless emulators and snapshot-based visual regression tests.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
ggez/ggez ★ 4683 441 APPLICATION

ggez is a lightweight, cross-platform 2D game framework for Rust, inspired by LÖVE. It provides a comprehensive set of subsystems for graphics, audio, input, filesystem, and timer management, all accessible through a central `Context` object. The framework abstracts over `winit` for windowing and events, `wgpu` for GPU rendering, `rodio` for audio playback, and `gilrs` for gamepad support. The architecture is modular, using sub-contexts (e.g., `GraphicsContext`, `AudioContext`) that can be individually accessed via `Has`/`HasMut` traits, allowing for custom context composition. The graphics pipeline supports 2D and optional 3D rendering (behind a feature flag) with shaders, meshes, images, instanced drawing, and text rendering via `glyph_brush`. The filesystem uses a virtual filesystem (VFS) layer with physical directories and zip archives, and configuration is handled via TOML serialization. Key entry points include `ContextBuilder` for initialization, `EventHandler` trait for the game loop (with `update`, `draw`, and input callbacks), and the `event::run()` function to start the application. Data flows are event-driven: user input is collected by `winit` and forwarded to the event handler, while rendering commands are batched and submitted to the GPU each frame. The framework also includes built-in coroutines for asynchronous tasks without futures. The repository contains over 40 examples demonstrating all major features, from simple drawing to complex 3D scenes and shader effects. ggez is actively maintained with a stable API, though some parts (e.g., 3D support, coroutine implementation) are less mature. The codebase demonstrates good engineering practices: builder patterns, resource caching, buffer sub-allocation, and a clear separation of concerns. It is suitable for hobby game development, educational projects, and rapid prototyping. The heavy reliance on evolving crates like `wgpu` and `winit` introduces some technical drift, but the framework keeps pace with updates.

RATING: 8.3/10 MAINT: active DRIFT: medium
â–¸ 2 reusable components found
lapce/lapce ★ 38870 1336 APPLICATION

Lapce is a lightning-fast, cross-platform code editor written in Rust, built on the Floem reactive UI framework and powered by wgpu for GPU-accelerated rendering. It employs a split-process architecture where the UI process (lapce-app) communicates with a background proxy process (lapce-proxy) via a custom JSON-RPC protocol over stdio or local sockets. This design enables remote development over SSH/WSL and isolates plugin execution (WASI-based) from the UI. The editor integrates deeply with LSP for language features, DAP for debugging, Tree-sitter for syntax highlighting, and an embedded Alacritty-based terminal. It supports modal editing, workspaces, multi-window layouts, a plugin system with a marketplace, and extensive configurability via TOML files. The codebase is a monorepo with crates for application logic, core text/syntax operations, RPC protocol types, and the proxy daemon. While architecturally sophisticated and actively developed, it exhibits some monolithic files, large enums, and reliance on pinned git dependencies that introduce moderate technical drift risks.

RATING: 8.2/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
SUM-INNOVATION/RUMUS ★ 201 41 APPLICATION

RUMUS is a native-Rust deep learning framework with a modular architecture including core tensor/autograd library, GPU backend via WebGPU (wgpu), neural network modules, optimizers, data loading, ONNX export, JIT kernel fusion, and subcrates for vision (CNN ops, INT4 quantization), graph neural networks (SpMM), distributed training (3D parallelism), and an inference server with continuous batching. The framework emphasizes memory safety, zero-copy view operations, borrow-safe optimizers (gradient draining mechanism), and supports both CPU and GPU computation. It includes advanced features like FlashAttention, block-quantized INT8/INT4 inference, deterministic fixed-point inference for zero-knowledge backend fixtures, and a custom ops plugin API for external WGSL kernels. The codebase is well-organized with clean abstractions (Backend trait, Module derive macro), but shows signs of incomplete pieces (distributed training may be partial, inference server model is mock) and minor code-README discrepancies (unsafe usage in mmap despite claims of zero unsafe).

RATING: 8.1/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
sotrh/learn-wgpu ★ 1963 320 APPLICATION

This repository is a comprehensive, step-by-step tutorial series for learning wgpu, the Rust implementation of WebGPU. It contains over 30 example crates organized into beginner, intermediate, compute, and showcase categories, each demonstrating a specific GPU concept (window creation, pipelines, buffers, textures, uniforms, instancing, depth, lighting, normal mapping, HDR, compute shaders, etc.). The code is production-quality Rust with extensive use of wgpu, winit, cgmath, and bytemuck. A reusable framework crate (`code/showcase/framework`) provides a `Demo` trait, camera, model/texture loading, and pipeline builders, which many showcases implement. The repository also includes a VuePress documentation site with embedded WebAssembly demos, build scripts for WASM deployment, and a demo server. While the tutorials are well-structured and educational, there is significant code duplication across crates (e.g., identical `build.rs` files, repeated initialization boilerplate), and some showcases are stale or excluded from builds. The codebase tracks wgpu API changes closely (news files document migrations from 0.12 to 30.0), but some patterns use deprecated APIs (e.g., `wgpu::Backends::PRIMARY`, `immediate_size` in pipeline layouts). Overall, it is a valuable learning resource with solid engineering practices, though not a production library.

RATING: 7.7/10 MAINT: active DRIFT: medium
â–¸ 7 reusable components found
jinleili/learn-wgpu-zh ★ 511 36 APPLICATION

This repository is a Chinese-language translation and expansion of the Learn wgpu tutorial series, teaching the wgpu Rust implementation of the WebGPU graphics API through a Cargo workspace of ~25 runnable example crates. The curriculum progresses from window/surface setup (tutorial1-2), render pipelines and buffers (tutorial3-4), textures/uniforms/instancing/depth (tutorial5-8), through OBJ model loading, Blinn-Phong lighting, normal mapping, camera control, compute-shader terrain generation, HDR rendering, and particle systems. Each example is a small but complete winit application that runs natively and as WebAssembly via wasm-bindgen, sharing a common utils crate that provides the WgpuAppAction lifecycle trait, node-based render abstractions (ViewNode, ComputeNode, BufferlessFullscreenNode), and buffer/bind-group helpers. A VitePress documentation site embeds live WASM demos of the examples, and showcase crates demonstrate a Pong game, offscreen GIF encoding, multithreaded model loading, and compute-shader tangent generation. Although primarily a tutorial codebase, it is genuinely hybrid: it doubles as a deployable documentation site and a reference implementation of modern wgpu patterns.

RATING: 7.7/10 MAINT: active DRIFT: medium
â–¸ 6 reusable components found
── end of results ──
$ submit: