Open-source physics simulations, tools, and documentation, built for the web.
OpenPhysics maintains SceneryStack simulations, supporting libraries, a documentation stack, and the tooling that keeps the fleet in sync. The catalog is managed in Baton, and this workspace currently contains 28 repositories: 20 simulations, 3 tools, 3 hardware libraries, 1 template, and .github.
| Repo | Live Demo | What it is |
|---|---|---|
| DopplerEffect | Live | Sound waves and relative motion |
| ElectricFieldOfDreams | Live | Coulomb forces and uniform external fields |
| ExtrasolarPlanets | Live | Radial-velocity and transit exoplanet detection |
| HabitableZones | — | Circumstellar and galactic habitability |
| LadyBug | Live | 2D motion, position, velocity, and acceleration |
| LightPropagation | Live | Polarizers and wave plates |
| LunarLander | Live | Thrust, tilt, and landing dynamics |
| MazeGame | Live | Tile-based kinematics challenge |
| MovingMan | Live | 1D kinematics with graphs |
| OpticsLab | Live | Geometric optics and refraction |
| OscillationsAndChaos | Live | Springs, pendulums, and chaos |
| QubitSketch | Live | Drag-and-drop quantum circuits |
| RadioWaves | Live | Electromagnetic radiation and antenna fields |
| Resonance | Live | Driven oscillators and Chladni patterns |
| RotatingSky | Live | Horizon and celestial-sphere motion |
| SolarSystemModels | Live | Ptolemaic and heliocentric models |
| TheRamp | Live | Forces, friction, and energy on a ramp |
| TrackLab | Live | Video motion analysis and object tracking |
| VariableStarPhotometry | Live | Photometry, registration, and period finding |
| WaveComposer | Live | Live voice analysis and composition |
| Repo | Live Demo | What it is |
|---|---|---|
| Almanach | Live | SceneryStack documentation and LLM-facing reference material |
| Baton | Live | Repo catalog, fleet automation, and shared workflows |
| pyro | Live | Browser-based VPython editor |
| Repo | Description | Language |
|---|---|---|
| jscd48 | Browser UI and control layer for the CD48 coincidence counter | JavaScript |
| tscd48 | TypeScript library for the CD48 coincidence counter | TypeScript |
| pycd48 | Python interface for CD48 data acquisition and automation | Python |
TemplateSingleSim is the starting point for new SceneryStack simulations.