Skip to content

sim: consolidate to Tsimulation/{sim_v1,sim_v2}, retire v3 numbering - #546

Draft
ElmoPA wants to merge 1 commit into
sim/version-forkfrom
sim/converge-layout
Draft

sim: consolidate to Tsimulation/{sim_v1,sim_v2}, retire v3 numbering#546
ElmoPA wants to merge 1 commit into
sim/version-forkfrom
sim/converge-layout

Conversation

@ElmoPA

@ElmoPA ElmoPA commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Replaces the three-version pushshapes/{v1,v2,v3} fork from the parent branch
with two standalone sibling packages, each carrying its own pushshapes/,
collect/, examples/ and tests/.

There is no v3. What was labelled v3 is the socket fix that ships AS v2 -- the
intermediate all-faces-grip build was a bug, never a release -- so SIM_VERSION
goes 3 -> 2. Content is otherwise identical to the old v3: obstacles, render
and shapes differ by 0 lines. sim_v1 is unchanged physics (imports and a stale
banner only), which is why every v1 dataset still replays bit-exact.

Tsimulation/init.py aliases the active version submodules to the top level,
so existing "from Tsimulation.pushshapes import X" call sites keep working.
Version selection moves to TSIM_VERSION (default sim_v2) -- per-process and
visible in the job environment, unlike the old symlink.

Verified by replay against real data: 74,001 episodes across 25 datasets. v1
sets reproduce at 100%, v2 sets at 92-99%. Post-consolidation regression:
probe_indomain_circle_v1 100%, u_socket_3000_v2 96%.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_012V58H37tmcvgDthELMd5Xk

Replaces the three-version pushshapes/{v1,v2,v3} fork from the parent branch
with two standalone sibling packages, each carrying its own pushshapes/,
collect/, examples/ and tests/.

There is no v3. What was labelled v3 is the socket fix that ships AS v2 -- the
intermediate all-faces-grip build was a bug, never a release -- so SIM_VERSION
goes 3 -> 2. Content is otherwise identical to the old v3: obstacles, render
and shapes differ by 0 lines. sim_v1 is unchanged physics (imports and a stale
banner only), which is why every v1 dataset still replays bit-exact.

Tsimulation/__init__.py aliases the active version submodules to the top level,
so existing "from Tsimulation.pushshapes import X" call sites keep working.
Version selection moves to TSIM_VERSION (default sim_v2) -- per-process and
visible in the job environment, unlike the old symlink.

Verified by replay against real data: 74,001 episodes across 25 datasets. v1
sets reproduce at 100%, v2 sets at 92-99%. Post-consolidation regression:
probe_indomain_circle_v1 100%, u_socket_3000_v2 96%.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012V58H37tmcvgDthELMd5Xk
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant