Webots is an open-source robot simulator providing a complete environment for modeling, programming, and simulating robots. It consists of a C++ Qt-based main application (src/webots) that manages 3D rendering via the custom WREN engine (src/wren), physics simulation via a forked ODE engine (src/ode) with fluid dynamics extensions, and a multi-language controller API (C, C++, Python, Java, MATLAB) in src/controller. The repository includes a vast library of reusable robot models, sensors, actuators, objects, vehicles, and environments under projects/, as well as extensive documentation (docs/) and a web-based streaming interface (resources/web/wwi). The architecture is modular: the simulation world is defined in VRML-based .wbt files, robots are instantiated from PROTO definitions, and controllers run as separate processes communicating via shared memory. Webots supports ROS integration, SUMO traffic simulation, and OpenStreetMap import. The project is actively maintained with comprehensive CI/CD, test suites, and packaging scripts.
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.
LearnGitBranching is a client-side interactive web application that teaches Git branching through visualization and gamified levels. It simulates a full Git command set (commit, branch, merge, rebase, push, pull, etc.) in the browser, rendering commit trees as SVG graphics using Raphael.js. The application follows a Flux-like architecture with a dispatcher, stores (CommandLine, Level, Locale, GlobalState), and actions, all running entirely in the browser with no backend. Users progress through 36+ levels organized into sequences (intro, ramp-up, remote, advanced), each with a goal tree, solution command, hints, and multi-language dialogs. A sandbox mode allows free experimentation, and a level builder enables custom level creation. The app supports 20+ locales with dynamic import of translation strings, and includes a certificate of completion generated as SVG. The architecture is modular: a headless Git engine (src/js/git/headless.js) provides the core simulation logic, decoupled from the visualization layer (src/js/visuals/). Commands are defined as a config object with regex matchers and execute functions. Level definitions are self-contained JSON objects with goal trees, start trees, and localized content. The app uses Vite for bundling with a custom CommonJS lazy interop plugin to handle circular dependencies. Testing is done with Jasmine, covering the Git engine, command parsing, stores, and level validation. Key reusable components include the tree comparison algorithm (treeCompare.js) with multiple comparison modes, an event baton pattern for coordinated event handling, a standalone SVG certificate builder, and a composable command parsing waterfall. The internationalization system features locale detection, fallback chains, and dynamic imports. Despite some legacy patterns (Backbone views, jQuery UI), the codebase is well-structured and actively maintained, with CI/CD pipelines for GitHub Pages and Docker deployment.
This is a full-stack cultivation world simulator game (xianxia RPG) with a Python backend (FastAPI + asyncio) and a Vue 3 + TypeScript + PixiJS frontend, supported by an optional Electron desktop shell for Epic Games Store distribution. The simulation engine runs a month-by-month tick system orchestrating ~29 phases (lifecycle, actions, social, war, world events, etc.) producing emergent narratives driven by LLM calls (OpenAI/Anthropic compatible) for character decisions, story generation, world lore rewriting, and roleplay interactions. The codebase is heavily data-driven with static game configurations (sects, techniques, items, regions) loaded from CSV files and multi-language localization via gettext PO files. It exposes a public REST API (query/command) and WebSocket for real-time state updates, supports save/load with JSON snapshots and SQLite event storage, and includes comprehensive test coverage (pytest, vitest, Playwright) and CI/CD workflows. While the architecture shows strong engineering patterns (effect system, action registry, single-choice decision framework, phased simulation pipeline), it carries risks from tight coupling of global singleton registries, LLM dependency, and use of `eval` in effect conditions.
Pyroomacoustics is a Python library for room acoustics simulation and audio array signal processing. It provides a modular framework for creating virtual acoustic environments (rooms with walls, materials, sources, and microphone arrays) and simulating room impulse responses using both image-source and ray-tracing methods, with a C++ backend for performance. Beyond simulation, it offers a comprehensive suite of audio processing algorithms: beamforming (delay-and-sum, MVDR, rake filters), direction-of-arrival estimation (MUSIC, SRP-PHAT, FRIDA, CSSM, TOPS, WAVES), blind source separation (AuxIVA, ILRMA, FastMNMF, TRINICON), adaptive filtering (NLMS, RLS, subband LMS), and noise reduction (spectral subtraction, subspace, iterative Wiener). It also includes directivity modeling (analytic patterns and measured SOFA data), STFT/DFT transforms with multiple backends, and utility modules for resampling, filterbanks, and metrics (RT60, PESQ). The library is designed for research prototyping and reproducible experiments, with extensive unit tests and CI/CD for multi-platform builds.
SmartNode is a satellite relay simulation platform for space-based data backhaul, combining a Flask REST API backend with a Vue 3 frontend that visualizes satellite constellations on a Cesium 3D globe. It simulates LEO/MEO/GEO satellites, ground stations, and relay links, processing data transmission requests with configurable QoS, security, and value profiles. The backend implements orbital propagation (SGP4/TLE, Keplerian elements), ITU-R link budget models (rain attenuation, gaseous absorption, laser ISL), and scheduling strategies (GreedyMaxRate, QoS-aware admission control, handover with hysteresis). Results are persisted in SQLite and an append-only event log, with real-time updates pushed via SSE. The platform includes a full observability stack (Prometheus, Grafana, OpenTelemetry), containerized deployment, and extensive testing (unit, integration, property-based, golden regression, load). While primarily an application, it incorporates significant data/research components in orbital mechanics, communications, and scheduling algorithms, making it a hybrid but application-dominant project.
libOpenDRIVE is a C++17 library that parses OpenDRIVE (.xodr) road network definition files and generates 3D mesh models for visualization and simulation. The architecture is a classic object-oriented library with a central OpenDriveMap class that loads an XML file and exposes roads, junctions, lanes, road marks, objects, and signals. Key modules include geometry types (Line, Arc, Spiral, ParamPoly3), cubic spline profiles for elevation and lane offsets, a routing graph based on lane connectivity, and multi-resolution mesh generation with triangle strips. The library is dependency-light, relying only on pugixml for XML parsing and a bundled Fresnel integral implementation for spirals. It provides efficient coordinate transforms, surface point queries, and boundary approximation using Ramer–Douglas–Peucker or bezier decomposition. Tests using Catch2 validate parsing and routing against a real-world test file.
Solar Wanderer is a browser-based 1:1 real-time solar system explorer powered by NASA JPL ephemerides. Built with Three.js 0.165 and Vite 5, it renders the entire solar system at true scale (0.5m to 1e15 km) using a floating-origin world engine, logarithmic depth buffer, and Keplerian orbital mechanics. Users can seamlessly fly through space, walk on planetary surfaces (including real DEM terrain for Earth, Moon, Mars), dive into Earth's oceans, or orbit from a Google Earth-style camera. The application includes a bilingual (Chinese/English) interface with 7-language i18n, search, guided tours, educational facts with NASA sources, mobile touch controls, and shareable URLs. All ephemeris data—planets, 21 moons, 28 TNOs, 4 comets, and ~5400 small bodies—is generated offline via scripts that fetch from NASA JPL and fitted to Horizons state vectors. The architecture is a client-only SPA with modular ES modules; no backend, no registration, no cookies. The codebase demonstrates high craftsmanship in its floating-origin precision, pure-function ephemeris, procedural terrain generation, and real-time atmosphere scattering, though it carries technical debt from a monolithic main.js and incomplete i18n for half its languages.
This repository implements a complete quantitative trading framework for A-shares, known as 'zettaranc-skill'. It is a dual-track project: (1) a Python/Rust software application providing CLI tools, a FastAPI REST API, and a React frontend for stock analysis, backtesting, simulation, screening, and strategy optimization; (2) an AI character-play skill pack that encodes a specific trading methodology (Zettaranc/Shaofu strategies) into a SKILL.md for LLM role-play. The application side dominates: it has 15+ CLI subcommands, a modular architecture with 30+ technical indicators, 20+ strategy detectors, a multi-source data layer (Tushare, Indevs, A-Stock-Data, Hithink, SQLite), a Rust-accelerated backtesting engine (via PyO3), a walk-forward simulation framework, and a self-optimization pipeline. The codebase is well-structured with clean abstractions (DataSource protocol, unified error codes, parameter registration), extensive test coverage, and CI/CD. However, it suffers from some technical drift: dual Python/Rust implementations must stay synchronized, Chinese vernacular naming reduces readability, hardcoded constants persist, and the self-optimizer's LLM judge is a stub. Overall, it is a production-grade personal quant framework with high craftsmanship in its core components.
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++.
PhiFlow is a Python library for differentiable physics simulation, primarily targeting fluid dynamics, particle systems, and PDE-based optimization. It provides a unified field abstraction (CenteredGrid, StaggeredGrid, PointCloud, Mesh) with automatic resampling and boundary handling, enabling seamless integration with machine learning workflows. The library supports multiple backends (NumPy, PyTorch, TensorFlow, JAX) and features a rich geometry module, physics solvers (advection, diffusion, incompressible flow, SPH, waves), and visualization tools. While its core abstractions are clean and well-tested, the codebase exhibits some technical drift due to deprecated API surface, large monolithic Dash-based web UI, and heavy reliance on the external phiml tensor library. Nonetheless, it is actively maintained with extensive test coverage and a growing research community.
This repository is a research fork of Meta's Habitat-Sim, extended with 3D Gaussian Splatting (3DGS) for photo-realistic rendering in embodied AI navigation tasks. It provides a full simulation platform with physics (Bullet), sensors (RGB, depth, semantic, fisheye), navigation meshes, and a CUDA-accelerated Gaussian splatting rasterizer supporting dynamic avatars. The codebase includes training and evaluation pipelines for PointNav, ImageNav, ObjectNav, Vision-Language Navigation (StreamVLN, Uni-NaVid), and dynamic avatar avoidance. It also contains an LLM-driven agent system (HabitatAgent) with a bridge API, MCP server, and TUI for interactive navigation. The repository is hybrid: primarily a research platform for embodied AI experiments, but also includes application-like components such as web tools (navmesh editor, object annotation helper), a real-time Rerun viewer, and a conda packaging system. The core C++ simulator is well-architected with managed object patterns, replay recording, and PBR rendering, while the Python layer provides episode generation, prompt-based agent control, and analytics dashboards. Data assets (GS scenes, avatars, checkpoints) are hosted externally on Hugging Face, and the setup requires multiple conda environments for different tasks.
Flix is an open-source ESP32-based quadcopter project built from scratch. The repository contains flight controller firmware, a Python control/telemetry library, C++ utilities for log conversion, simulation assets, and extensive documentation. It is primarily an application repo, though it also includes CAD models and data-conversion tools that serve as supporting assets. At runtime, the ESP32 firmware reads IMU data, estimates attitude, and drives motors, communicating via MAVLink and ESP-NOW for telemetry and control. The Python library (tools/pyflix/flix.py) provides an observable API for interacting with the vehicle, and CLI tools convert flight logs from CSV to MCAP and ULog formats for analysis in standard robotics tooling. A Gazebo simulation and a Python test harness validate behavior without hardware. Architecture is a multi-part monorepo: firmware, Python tools, C++ tools, docs, and 3D-printable mechanical parts. External dependencies include the Arduino ESP32 core, MAVLink, ESP-NOW, Gazebo, and custom math classes. The code is generally well-structured, but some data flow relies on global variables and hardware-specific assumptions, limiting reuse outside the ESP32 ecosystem. The project appears actively maintained with CI workflows, but dependency pinning and tight hardware coupling create moderate drift risk.
This repository is the complete open-source hardware and software stack for the Roboto Origin bipedal robot, formerly known as Atom01. It is a hybrid monorepo covering mechanical design (CAD files, 3D printing, BOMs), electronics (PCB designs, firmware for a USB2CAN board), low-level ROS2 control (motor drivers, IMU, camera, inference), simulation and reinforcement learning training (roboparty_train with Isaac Sim/MuJoCo and PPO/AMP algorithms), navigation (LiDAR localization, UWB, path planning), and XR teleoperation. The repository is organized into multiple modules, each with its own build system (CMake, Zephyr, Python). The dominant character is an application (a robot system), but it includes a substantial data_research component in the training module where RL policies are trained using motion capture data. The codebase is well-structured, actively maintained, and provides a complete recipe for building and deploying a humanoid robot from scratch.
AutoPy is a cross-platform GUI automation library implemented in Rust and exposed to Python through PyO3. It provides programmatic control of the mouse and keyboard, screen capture, bitmap pixel inspection, and color detection. The library abstracts over Windows, macOS, and X11 backends, so the same Python API works across desktop platforms. It is distributed as a Python extension module built with maturin/setuptools-rust and is also usable as a Rust crate.
flow5 is a comprehensive desktop application for preliminary aerodynamic analysis and design of 2D airfoils, 3D aircraft configurations, and sailing vessels. It implements multiple potential-flow solvers: XFoil for viscous 2D analysis, and 3D panel methods (VLM, LLT, QuadPanel) coupled with wake models and boundary-layer corrections. The application provides a full-featured GUI built on Qt with OpenGL 3D views, interactive geometry editors (splines, NURBS, STL, OpenCASCADE), and extensive plotting capabilities. It supports batch analysis, scripting, and CAD import/export. The architecture is a modular monolith separating core computational library (flow5-lib), I/O serialization (flow5-io-lib), and the Qt application (flow5-app) with three main modules: XDirect (foils), XPlane (aircraft), and XSail (boats/sails). While the codebase shows professional engineering craftsmanship with well-defined abstractions for panel methods, splines, and task threading, it suffers from technical debt including global static state, code duplication between libraries, and experimental/test components intermingled with production code.
SimScale is a research codebase for data-driven, non-reactive autonomous vehicle simulation and benchmarking, developed by OpenDriveLab. It provides a comprehensive pipeline for training and evaluating end-to-end driving policies on the nuPlan/OpenScene dataset, with support for synthetic data augmentation (SimScale) and multiple agent architectures including Transfuser, DiffusionDrive, and GTRS-Dense. The repository implements a Plan-Do-Measure (PDM) closed-loop scoring framework, metric caching, and a Hydra-based configuration system for flexible experiment management. While primarily a research platform, it includes production-like training scripts, evaluation pipelines, and submission tools for the NAVSIM v2 challenge. The codebase is heavily coupled to the nuPlan ecosystem and requires large-scale data downloads (>1TB), but offers reusable components such as abstract agent interfaces, feature/target builders, and batch IDM policies. It is actively maintained with recent commits and a growing community of extensions.
ScenarioNet is a data-centric toolkit for managing and converting autonomous driving datasets into a unified scenario format. It provides converters for Waymo, nuScenes, nuPlan, Argoverse 2, VoD, and procedural generation (PG) datasets, transforming raw data into a common ScenarioDescription structure compatible with the MetaDrive simulator. The repository includes dataset management operations (merge, split, filter, copy), verification tools (existence and simulation checks), and utilities for handling scenario metadata. While it contains training and evaluation scripts for machine learning models, its primary focus is on data preparation and scenario engineering for autonomous driving research. The data lineage involves ingesting raw datasets via dataset-specific toolkits, extracting scenario elements (object tracks, map features, traffic signals, timestamps), and serializing them into pickle-based dataset structures with mapping and summary files. These outputs enable downstream tasks such as multi-dataset aggregation, scenario filtering for ML training, simulation-based validation, and dataset splitting. The toolkit addresses research questions around dataset scalability, scenario diversity, and reproducible evaluation of autonomous driving systems by providing a standardized interface across heterogeneous data sources. Key reusable components include the modular converter utility for multiprocessing data transformation, generic dataset operations (merge/split/copy) that operate on the standardized scenario format, and a verification framework with parallel processing and error reporting. These components demonstrate solid data engineering practices but are tempered by dependency management issues (commented-out packages requiring manual installation), hardcoded paths in training scripts, and reliance on external SDKs that may introduce version drift.
PythonRobotics is a large collection of robotics algorithms implemented in Python, designed primarily for educational purposes and as a companion to a textbook. It covers a wide range of robotics domains including localization (EKF, particle filter, histogram filter), mapping (grid maps, NDT, clustering), SLAM (EKF SLAM, FastSLAM, GraphSLAM), path planning (A*, Dijkstra, RRT variants, PRM, DWA, Frenet, etc.), path tracking (Stanley, LQR, MPC, pure pursuit), arm navigation (inverse kinematics, RRT for arms), aerial navigation (drone trajectory, rocket landing), bipedal walking, inverted pendulum control, and mission planning (state machines, behavior trees). Each algorithm is implemented as a standalone script with a main() function that runs a simulation and visualizes results using matplotlib. The code is not packaged as a library and is not intended for production use; it is a learning resource with clear, readable implementations that reference academic papers. The repository includes extensive documentation in Sphinx RST format, CI/CD pipelines, and a test suite that runs each demo without animation.
PyLTSpice is a Python library and CLI toolkit for automating LTspice circuit simulations. It exposes programmatic editing of .asc netlists (AscEditor/SpiceEditor), reading of LTspice .raw binary output files (RawRead), histogram generation for Monte Carlo analysis, and command-line utilities (ltsteps, histogram, raw_convert, rawplot, run_server, asc_to_qsch). The codebase is primarily a compatibility layer over the spicelib package: many modules are thin re-exports that emit deprecation notices and delegate to spicelib, while preserving legacy class names such as SimCommander and LTSpiceRawRead. The repository includes unit tests with sample .raw/.log/.asc files, Sphinx documentation, and examples. Although it processes simulation data, this is an application/library rather than a data-research repository. Maintenance is active, but the tight dependency on spicelib and the presence of legacy shims create moderate drift risk.