Scaled Sortation combines a browser-based fluid simulation prototype with a Python control stack for Gymnasium experiments.
3dfluid/contains the WebGL prototype for browser-based simulation and speaker control.scaled_sortation/contains the Python package, desktop demo, shader assets, and Gymnasium environment.tests/contains smoke tests for the environment and a legacy-name audit.
python -m pip install -e .[dev]python -m scaled_sortation.simulation_demoimport gymnasium as gym
import scaled_sortation
env = gym.make("ScaledSortation-v0", launch_demo=False)
observation, info = env.reset()
observation, reward, terminated, truncated, info = env.step([1.0, 0.5])
env.close()The action and observation vectors are [amplitude, frequency].
Set launch_demo=True if you want the environment to mirror its commands into the desktop demo window.
Serve the repository over HTTP before opening the browser prototype. Modern browsers block the shader XMLHttpRequest calls when the page is loaded from file://.
python -m http.server 8000Then open http://localhost:8000/3dfluid/ in a WebGL-capable browser.
This repository is publicly visible but not open source. Noncommercial use is allowed under LICENSE.md. Commercial use is forbidden without a separate written license. AI or machine-learning training use, including model training, fine-tuning, benchmarking, and dataset creation from repository materials, is forbidden without a separate written license.