thehardwarestore.ai

where AI agents shop for the right tools

── 99240 repos indexed ── | filtered by tag: physics-simulation
google-deepmind/dm_control ★ 4681 763 APPLICATION

dm_control is Google DeepMind's Python library for physics-based simulation and reinforcement learning, built on the MuJoCo physics engine. It provides a comprehensive suite of benchmark RL tasks (cartpole, cheetah, humanoid, etc.), a modular composer framework for constructing custom environments from reusable entities and tasks, locomotion and manipulation domains, multi-agent soccer, motion capture integration for imitation learning, and an interactive viewer. The architecture is library-based with subpackages for core MuJoCo bindings, MJCF model manipulation, environment composition, and rendering. Key entry points include suite.load() for standard tasks, composer.Environment for custom environments, and viewer.launch() for interactive visualization. The codebase is well-tested, actively maintained, and demonstrates strong engineering practices with clean abstractions like the variation system, observable framework, and named indexing.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
rlguy/Blender-FLIP-Fluids ★ 1947 210 APPLICATION

FLIP Fluids is a production-grade Blender addon for liquid simulation, integrating a custom C++ FLIP (Fluid Implicit Particle) engine with a comprehensive Python UI. The engine implements advanced numerical methods including level sets, variational pressure solvers, PCG with MIC(0) preconditioning, force fields, whitewater particles, and viscosity solvers, all backed by a vendored Eigen linear algebra library. The Blender addon provides property groups, UI panels, preset management, material libraries, and command-line scripts for baking, rendering, and Alembic/USD export. The architecture is a hybrid: the C++ engine is compiled as a shared library and accessed via C bindings and Python ctypes wrappers, while the addon code follows standard Blender patterns (operators, panels, property groups). Key entry points include the baking operators, simulation domain properties, and the engine's Python bindings in `ffengine/`. External dependencies include Blender (4.5+), Eigen, and optionally Mixbox for color blending. The codebase is well-structured with extensive version compatibility layers, but the vendored Eigen and reliance on Blender's evolving API introduce moderate technical drift.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
openmm/openmm ★ 1966 634 APPLICATION

OpenMM is a high-performance molecular dynamics simulation library that provides a unified API across CPU (with SIMD and JIT compilation via AsmJit) and GPU backends (CUDA, OpenCL, HIP). The codebase is structured into several layers: the public API (`openmmapi`) defines `System`, `Force`, `Integrator`, and `Context` classes; the OLLA layer abstracts kernel dispatch; platform modules (`reference`, `cpu`, `cuda`, `opencl`, `hip`) provide concrete kernel implementations; and plugins extend functionality with AMOEBA polarizable force fields, Drude oscillators, and ring-polymer MD. The project supports standard force fields (AMBER, CHARMM, GROMACS, Tinker), advanced algorithms (PME, GB/SA, custom forces via the Lepton expression parser), and features like metadynamics, replica exchange, checkpointing, and XML serialization. It is primarily a library for computational chemistry and biophysics, designed to be used through Python (with extensive application-level tools in `openmm.app`) or C++.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
isHarryh/Ark-Pets ★ 1090 53 APPLICATION

Ark-Pets is a desktop pet simulator application built on Java 17, designed to render Spine 2D character models on the user's desktop with physics simulation and interactive behaviors. The architecture employs a dual-process model: a JavaFX-based Launcher (`DesktopLauncher`) handles the UI, configuration, and asset management, while a libGDX-based Core (`EmbeddedLauncher`) runs the rendering loop and physics engine. These processes communicate via a socket-based IPC protocol, allowing multiple pet instances to run simultaneously. The application integrates deeply with the operating system, particularly Windows, using JNA to manage window handles, taskbar visibility, and mouse event forwarding. It features a custom physics engine (`Plane.java`) that handles gravity, friction, and repulsion, alongside a shader pipeline for visual effects like outlines and shadows. Network capabilities include version checking, announcement fetching, and model downloads via a CDN, with configuration stored in JSON files. While the codebase demonstrates solid engineering practices in its separation of concerns and modular UI design, it exhibits significant platform lock-in due to heavy reliance on Windows-specific APIs. Security debt is present in the form of SSL verification bypasses in network utilities. The project is actively maintained with recent commits and version updates, though cross-platform support remains incomplete.

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
vasturiano/three-forcegraph ★ 303 52 APPLICATION

Three-forcegraph is a reusable JavaScript library for creating 3D force-directed graph visualizations using Three.js. It implements a reactive component that takes graph data (nodes and links) and renders them in 3D space using either d3-force-3d or ngraph.forcelayout for physics simulation. The library provides extensive customization options for node/link appearance, behavior, and layout constraints including DAG modes, directional arrows, and particle effects. Built with the Kapsule pattern for state management, it follows a modular architecture separating core logic, utilities, and Three.js object management. The library handles proper resource disposal to prevent WebGL memory leaks and offers both imperative and declarative APIs for integration into web applications.

RATING: 7.7/10 MAINT: active DRIFT: low
▸ 3 reusable components found
openai/gym ★ 37238 8676 APPLICATION

OpenAI Gym is a foundational Python library providing a standard API for Reinforcement Learning (RL) environments. It defines the core `Env` interface (`reset`, `step`, `render`) and includes a registry of environments spanning classic control (CartPole), physics simulations (MuJoCo, Box2D), and grid worlds. The architecture relies heavily on a composition-based wrapper pattern (`gym.wrappers`) to modify environment behavior without altering core logic, and includes a vectorization module (`gym.vector`) for parallel execution using shared memory. While the codebase demonstrates strong architectural craftsmanship in its abstraction layers and space definitions, it is in a maintenance phase with development migrated to Gymnasium. It relies on external compiled libraries (MuJoCo, Box2D, Pygame) which introduce platform-specific complexity and dependency drift.

RATING: 7.5/10 MAINT: maintained DRIFT: high
▸ 4 reusable components found
vlongle/pixie ★ 303 18 APPLICATION

This repository implements Pixie, a research framework for predicting dense physical material fields (density, Young's modulus, Poisson's ratio, material ID) from 2D image observations of 3D objects. Hydra configs drive a multi-stage pipeline: Objaverse object retrieval, Blender rendering, NeRF-based CLIP feature field training (F3RM), Gaussian Splatting training, voxel grid feature extraction, VLM-based or neural material segmentation, and MPM physics simulation via the vendored PhysGaussian codebase. The pipeline.py entry point orchestrates these stages with caching and reproducibility checks, while render.py produces Blender visualizations of segmented physics fields. Real-scene mode extends the same pipeline to captured datasets using COLMAP dataparsers. The repository also contains the full PixieVerse data curation workflow: class-based Objaverse selection using sentence-transformers, large-scale parallel Blender rendering, VLM-based filtering and critique (Gemini/Claude/GPT/Qwen via the vendored vlmx agent framework), and Streamlit tools for human-in-the-loop label correction and simulation validation. The discrete (semantic segmentation) and continuous (property regression) 3D UNet training lives in the vendored Wavelet-Generation submodule, with shared utilities in pixie/training_utils.py and normalization statistics already computed in normalization_stats/. Architecturally this is a hybrid research/application repository: primarily a configuration-driven pipeline framework with CLI entry points, but also a dataset-generation and model-training workflow. It depends heavily on vendored third-party code (nerfstudio, f3rm, PhysGaussian, Wavelet-Generation, vlmx) and shells out to Blender, CUDA rasterizers, and Hugging Face. Quality is research-grade: disciplined Hydra configs, contextual config snapshots, and skip-if-exists caching coexist with hardcoded user-specific paths, commented-out dead code, and a subprocess-heavy orchestration style. Download scripts for pre-trained models and the PixieVerse dataset are included and functional.

RATING: 6.8/10 MAINT: maintained DRIFT: medium
▸ 5 reusable components found
yapstudios/YapAnimator ★ 1931 76 APPLICATION

YapAnimator is a physics-based animation library for iOS, tvOS, and macOS, written in Swift 3.1. It provides a generic `YapAnimator<T>` class that animates any value conforming to the `Animatable` protocol by decomposing it into an array of doubles and applying spring physics integration with a fixed 1/240s timestep. The library includes a convenience layer (`YapAnimatedLayer`) attached to `CALayer` via associated objects, enabling one-liner animations of layer properties like position, bounds, opacity, transform, etc. The core engine runs on a display link (CADisplayLink on iOS/tvOS, CVDisplayLink on macOS) and manages all active animators. The repository is explicitly archived and no longer maintained, with Swift 3.0/3.1 dependencies and no updates since 2017.

RATING: 5.2/10 MAINT: archived DRIFT: high
▸ 1 reusable components found
── end of results ──
$ submit: