AlexWortega/physics-scenarios-packed
physics-scenarios-packed Packed (tar.gz) version of a 2D rigid body physics dataset for training language models on next-frame prediction. 1,000,020 scenes × 200 frames simulated with Pymunk / Chipmunk2D. This repo is bandwidth-friendly: each scenario type ships as a single .tar.gz. For the unpacked JSONL files see physics-scenarios-raw. Scale Train: 900,000 scenes (24 seen scenario types × 37,500 each) Val: 100,020 scenes (30 scenario types × 3,334 each —… See the full description on the dataset page: https://huggingface.co/datasets/AlexWortega/physics-scenarios-packed.
physics-scenarios-packed
Packed (tar.gz) version of a 2D rigid body physics dataset for training language models on next-frame prediction. 1,000,020 scenes × 200 frames simulated with Pymunk / Chipmunk2D.
This repo is bandwidth-friendly: each scenario type ships as a single .tar.gz. For the unpacked JSONL files see physics-scenarios-raw.
Scale
- Train: 900,000 scenes (24 seen scenario types × 37,500 each)
- Val: 100,020 scenes (30 scenario types × 3,334 each — includes 6 OOD types)
- Frames per scene: 200
- Format: JSONL inside tar.gz (1 header line + 200 frame lines per scene file)
Layout
manifest.json # full dataset spec
train/
avalanche.tar.gz # 24 seen-type archives
basketball.tar.gz
...
val/
avalanche.tar.gz # 30 archives (24 seen + 6 OOD)
pong.tar.gz # OOD types — never seen at train time
bowling.tar.gz
...Scenario types
Seen (24) — train + val: avalanche, basketball, billiards, breakout, bridge, chain, conveyor, dominos, explosion, funnel, headon, jenga, marblerun, orbit, pendulum, pinball, plinko, projectile, pyramid, seesaw, skijump, tower, wind, wreckingball
Unseen / OOD (6) — val only:
- Simple: pong, bowling, ramp_roll
- Complex: angrybirds, hourglass, newtonscradle
The 6 unseen types are held out to measure generalization to scenarios with new dynamics or interactions.
Schema (per scene file)
Line 1 — header:
{"scenario": "billiards", "difficulty": 3, "static_geometry": [...], "constraints": [...], "objects": [...]}Lines 2–201 — frames:
{"frame": 0, "objects": [{"id": 0, "x": 1.234, "y": 5.678, "vx": ..., "vy": ..., "angle": ..., "omega": ...}, ...]}Categories
The 30 scenario types span 6 categories:
- Collision — head_on, billiards, breakout, bowling, pong
- Stacking — jenga, tower, pyramid, dominos
- Ramp — skijump, projectile, ramproll, marble_run
- Constraint — pendulum, chain, bridge, newtons_cradle, hourglass
- Minigame — pinball, plinko, basketball, angry_birds
- Complex — avalanche, explosion, wind, wrecking_ball, conveyor, funnel, orbit, seesaw
Usage
from huggingface_hub import snapshot_download
import tarfile
snapshot_download("AlexWortega/physics-scenarios-packed", repo_type="dataset", local_dir="data")
with tarfile.open("data/train/billiards.tar.gz") as tar:
tar.extractall("data/train_extracted")Citation
ICML-2026 submission (in progress). Generation pipeline: src/physics/scenario_generator.py.
