sim2sim-onepass 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. sim2sim_onepass-0.1.0/LICENSE +118 -0
  2. sim2sim_onepass-0.1.0/MANIFEST.in +18 -0
  3. sim2sim_onepass-0.1.0/MANIFEST.md +40 -0
  4. sim2sim_onepass-0.1.0/PKG-INFO +156 -0
  5. sim2sim_onepass-0.1.0/PYPI_PACKAGE_NOTES.md +108 -0
  6. sim2sim_onepass-0.1.0/QUICKSTART.md +137 -0
  7. sim2sim_onepass-0.1.0/README.md +125 -0
  8. sim2sim_onepass-0.1.0/REPO_MAP.md +44 -0
  9. sim2sim_onepass-0.1.0/RESULTS_SUMMARY.md +62 -0
  10. sim2sim_onepass-0.1.0/VISUAL_INDEX.md +57 -0
  11. sim2sim_onepass-0.1.0/pyproject.toml +61 -0
  12. sim2sim_onepass-0.1.0/setup.cfg +4 -0
  13. sim2sim_onepass-0.1.0/src/sim2sim_onepass/__init__.py +3 -0
  14. sim2sim_onepass-0.1.0/src/sim2sim_onepass/cli.py +203 -0
  15. sim2sim_onepass-0.1.0/src/sim2sim_onepass/paths.py +44 -0
  16. sim2sim_onepass-0.1.0/src/sim2sim_onepass/resources/QUICKSTART.md +30 -0
  17. sim2sim_onepass-0.1.0/src/sim2sim_onepass/resources/README.md +19 -0
  18. sim2sim_onepass-0.1.0/src/sim2sim_onepass/resources/REPO_MAP.md +8 -0
  19. sim2sim_onepass-0.1.0/src/sim2sim_onepass/resources/RESULTS_SUMMARY.md +9 -0
  20. sim2sim_onepass-0.1.0/src/sim2sim_onepass/resources/VISUAL_INDEX.md +10 -0
  21. sim2sim_onepass-0.1.0/src/sim2sim_onepass/resources/__init__.py +1 -0
  22. sim2sim_onepass-0.1.0/src/sim2sim_onepass/utils/__init__.py +1 -0
  23. sim2sim_onepass-0.1.0/src/sim2sim_onepass/utils/docs.py +31 -0
  24. sim2sim_onepass-0.1.0/src/sim2sim_onepass/version.py +1 -0
  25. sim2sim_onepass-0.1.0/src/sim2sim_onepass/wrappers/__init__.py +1 -0
  26. sim2sim_onepass-0.1.0/src/sim2sim_onepass/wrappers/availability.py +51 -0
  27. sim2sim_onepass-0.1.0/src/sim2sim_onepass/wrappers/quick_sanity.py +162 -0
  28. sim2sim_onepass-0.1.0/src/sim2sim_onepass/wrappers/rollout.py +168 -0
  29. sim2sim_onepass-0.1.0/src/sim2sim_onepass/wrappers/state_project.py +52 -0
  30. sim2sim_onepass-0.1.0/src/sim2sim_onepass.egg-info/PKG-INFO +156 -0
  31. sim2sim_onepass-0.1.0/src/sim2sim_onepass.egg-info/SOURCES.txt +33 -0
  32. sim2sim_onepass-0.1.0/src/sim2sim_onepass.egg-info/dependency_links.txt +1 -0
  33. sim2sim_onepass-0.1.0/src/sim2sim_onepass.egg-info/entry_points.txt +2 -0
  34. sim2sim_onepass-0.1.0/src/sim2sim_onepass.egg-info/requires.txt +11 -0
  35. sim2sim_onepass-0.1.0/src/sim2sim_onepass.egg-info/top_level.txt +1 -0
@@ -0,0 +1,118 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction, and
10
+ distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by the copyright
13
+ owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all other entities
16
+ that control, are controlled by, or are under common control with that entity.
17
+ "Control" means (i) the power, direct or indirect, to cause the direction or
18
+ management of such entity, whether by contract or otherwise, or (ii) ownership
19
+ of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial
20
+ ownership of such entity.
21
+
22
+ "You" (or "Your") shall mean an individual or Legal Entity exercising
23
+ permissions granted by this License.
24
+
25
+ "Source" form shall mean the preferred form for making modifications, including
26
+ but not limited to software source code, documentation source, and configuration
27
+ files.
28
+
29
+ "Object" form shall mean any form resulting from mechanical transformation or
30
+ translation of a Source form, including but not limited to compiled object code,
31
+ generated documentation, and conversions to other media types.
32
+
33
+ "Work" shall mean the work of authorship, whether in Source or Object form, made
34
+ available under the License, as indicated by a copyright notice that is included
35
+ in or attached to the work.
36
+
37
+ "Derivative Works" shall mean any work, whether in Source or Object form, that
38
+ is based on (or derived from) the Work and for which the editorial revisions,
39
+ annotations, elaborations, or other modifications represent, as a whole, an
40
+ original work of authorship. For the purposes of this License, Derivative Works
41
+ shall not include works that remain separable from, or merely link (or bind by
42
+ name) to the interfaces of, the Work and Derivative Works thereof.
43
+
44
+ "Contribution" shall mean any work of authorship, including the original version
45
+ of the Work and any modifications or additions to that Work or Derivative Works
46
+ thereof, that is intentionally submitted to Licensor for inclusion in the Work
47
+ by the copyright owner or by an individual or Legal Entity authorized to submit
48
+ on behalf of the copyright owner.
49
+
50
+ "Contributor" shall mean Licensor and any individual or Legal Entity on behalf
51
+ of whom a Contribution has been received by Licensor and subsequently
52
+ incorporated within the Work.
53
+
54
+ 2. Grant of Copyright License. Subject to the terms and conditions of this
55
+ License, each Contributor hereby grants to You a perpetual, worldwide,
56
+ non-exclusive, no-charge, royalty-free, irrevocable copyright license to
57
+ reproduce, prepare Derivative Works of, publicly display, publicly perform,
58
+ sublicense, and distribute the Work and such Derivative Works in Source or
59
+ Object form.
60
+
61
+ 3. Grant of Patent License. Subject to the terms and conditions of this License,
62
+ each Contributor hereby grants to You a perpetual, worldwide, non-exclusive,
63
+ no-charge, royalty-free, irrevocable (except as stated in this section) patent
64
+ license to make, have made, use, offer to sell, sell, import, and otherwise
65
+ transfer the Work.
66
+
67
+ 4. Redistribution. You may reproduce and distribute copies of the Work or
68
+ Derivative Works thereof in any medium, with or without modifications, and in
69
+ Source or Object form, provided that You meet the following conditions:
70
+
71
+ (a) You must give any other recipients of the Work or Derivative Works a copy of
72
+ this License; and
73
+
74
+ (b) You must cause any modified files to carry prominent notices stating that You
75
+ changed the files; and
76
+
77
+ (c) You must retain, in the Source form of any Derivative Works that You
78
+ distribute, all copyright, patent, trademark, and attribution notices from the
79
+ Source form of the Work, excluding those notices that do not pertain to any part
80
+ of the Derivative Works; and
81
+
82
+ (d) If the Work includes a "NOTICE" text file as part of its distribution, then
83
+ any Derivative Works that You distribute must include a readable copy of the
84
+ attribution notices contained within such NOTICE file, excluding those notices
85
+ that do not pertain to any part of the Derivative Works, in at least one of the
86
+ following places: within a NOTICE text file distributed as part of the
87
+ Derivative Works; within the Source form or documentation, if provided along
88
+ with the Derivative Works; or within a display generated by the Derivative
89
+ Works, if and wherever such third-party notices normally appear.
90
+
91
+ 5. Submission of Contributions. Unless You explicitly state otherwise, any
92
+ Contribution intentionally submitted for inclusion in the Work by You to the
93
+ Licensor shall be under the terms and conditions of this License, without any
94
+ additional terms or conditions.
95
+
96
+ 6. Trademarks. This License does not grant permission to use the trade names,
97
+ trademarks, service marks, or product names of the Licensor, except as required
98
+ for reasonable and customary use in describing the origin of the Work.
99
+
100
+ 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in
101
+ writing, Licensor provides the Work on an "AS IS" BASIS, WITHOUT WARRANTIES OR
102
+ CONDITIONS OF ANY KIND, either express or implied, including, without
103
+ limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT,
104
+ MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible
105
+ for determining the appropriateness of using or redistributing the Work.
106
+
107
+ 8. Limitation of Liability. In no event and under no legal theory, whether in
108
+ tort (including negligence), contract, or otherwise, unless required by
109
+ applicable law, shall any Contributor be liable to You for damages, including
110
+ any direct, indirect, special, incidental, or consequential damages of any
111
+ character arising as a result of this License or out of the use or inability to
112
+ use the Work.
113
+
114
+ 9. Accepting Warranty or Additional Liability. While redistributing the Work or
115
+ Derivative Works thereof, You may choose to offer, and charge a fee for,
116
+ acceptance of support, warranty, indemnity, or other liability obligations.
117
+
118
+ END OF TERMS AND CONDITIONS
@@ -0,0 +1,18 @@
1
+ include LICENSE
2
+ include README.md
3
+ include QUICKSTART.md
4
+ include REPO_MAP.md
5
+ include RESULTS_SUMMARY.md
6
+ include VISUAL_INDEX.md
7
+ include MANIFEST.md
8
+ include PYPI_PACKAGE_NOTES.md
9
+ recursive-include src/sim2sim_onepass/resources *.md
10
+
11
+ prune outputs
12
+ prune assets
13
+ prune docs
14
+ prune examples
15
+ prune .git
16
+
17
+ global-exclude *.py[cod]
18
+ global-exclude __pycache__
@@ -0,0 +1,40 @@
1
+ # Manifest
2
+
3
+ This file defines what this curated release intentionally includes and excludes.
4
+
5
+ ## Included In The Curated Release
6
+
7
+ - [`README.md`](README.md), [`QUICKSTART.md`](QUICKSTART.md), [`REPO_MAP.md`](REPO_MAP.md), [`VISUAL_INDEX.md`](VISUAL_INDEX.md), [`RESULTS_SUMMARY.md`](RESULTS_SUMMARY.md)
8
+ - [`configs/canonical_sources.json`](configs/canonical_sources.json)
9
+ - [`scripts/package_release_assets.py`](scripts/package_release_assets.py)
10
+ - [`examples/canonical_commands.ps1`](examples/canonical_commands.ps1)
11
+ - [`assets/pipeline.pdf`](assets/pipeline.pdf)
12
+ - [`outputs/canonical_pass/report.md`](outputs/canonical_pass/report.md)
13
+ - [`outputs/canonical_pass/metrics_summary.json`](outputs/canonical_pass/metrics_summary.json)
14
+ - copied canonical plots, previews, and videos under [`outputs/canonical_pass/`](outputs/canonical_pass/)
15
+ - copied source reports:
16
+ - `source_stress_report.md`
17
+ - `source_stress_metrics.json`
18
+ - `source_behavioral_report.md`
19
+ - `source_triptych_report.md`
20
+
21
+ ## Intentionally Excluded From The Curated Layer
22
+
23
+ - all raw frame dumps from the original report folders
24
+ - most timestamped `reports/` runs that are intermediate, failed, or redundant
25
+ - training logs and exploratory experiments not needed to understand the public claim
26
+ - full paper build artifacts
27
+ - third-party simulator assets and environment internals copied into the release layer
28
+ - debug-only scripts and one-off diagnostics copied into the release layer
29
+
30
+ ## Why These Items Are Canonical
31
+
32
+ - `reports/stress_20260203-173231` is canonical because it is the clearest documented PASS for the quantitative hard-mode claim.
33
+ - `reports/20260210-173200/behavioral_acceptance` is canonical because it is a clean visual PASS with motion, visibility, rollout-improvement, and acrobatics gates all passing.
34
+ - The copied release assets are small, human-readable, and enough to verify the claim without browsing unrelated history.
35
+
36
+ ## Why The Rest Stays In The Repo
37
+
38
+ - The original repository still serves as provenance and development history.
39
+ - This release layer does not delete that history; it only controls what a reviewer sees first.
40
+ - Future pruning can happen later, after confirming which historical runs must remain for reproducibility.
@@ -0,0 +1,156 @@
1
+ Metadata-Version: 2.4
2
+ Name: sim2sim-onepass
3
+ Version: 0.1.0
4
+ Summary: A lightweight companion package for the Sim2Sim-OnePass public research release.
5
+ Author: ANTHONY-OLEVESTER
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://github.com/ANTHONY-OLEVESTER/Robotics_sim-to-sim_OnePass
8
+ Project-URL: Repository, https://github.com/ANTHONY-OLEVESTER/Robotics_sim-to-sim_OnePass
9
+ Project-URL: Documentation, https://github.com/ANTHONY-OLEVESTER/Robotics_sim-to-sim_OnePass
10
+ Project-URL: Issues, https://github.com/ANTHONY-OLEVESTER/Robotics_sim-to-sim_OnePass/issues
11
+ Keywords: robotics,simulation,mujoco,pybullet,research
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Topic :: Scientific/Engineering
19
+ Requires-Python: >=3.10
20
+ Description-Content-Type: text/markdown
21
+ License-File: LICENSE
22
+ Requires-Dist: numpy>=1.24
23
+ Provides-Extra: rollout
24
+ Requires-Dist: torch>=2.0; extra == "rollout"
25
+ Provides-Extra: alignment
26
+ Requires-Dist: PyYAML>=6.0; extra == "alignment"
27
+ Provides-Extra: dev
28
+ Requires-Dist: build>=1.2.2; extra == "dev"
29
+ Requires-Dist: twine>=5.1.1; extra == "dev"
30
+ Dynamic: license-file
31
+
32
+ # Sim2Sim-OnePass Public Release
33
+
34
+ This curated layer is the fast path through the repository. It is designed so a new visitor can understand the claim, watch the evidence, inspect the canonical PASS artifacts, and run the shortest validation path without digging through the full development history.
35
+
36
+ ## Companion Package
37
+
38
+ This branch adds a PyPI-ready package layer named `sim2sim-onepass`. It is a lightweight companion package for the public research release, not a standalone robotics simulator system. It provides an installable CLI, embedded docs access, results navigation, environment checks, and selected lightweight utilities around the curated repo.
39
+
40
+ Local editable install:
41
+
42
+ ```powershell
43
+ python -m pip install -e .
44
+ ```
45
+
46
+ Published PyPI install:
47
+
48
+ ```powershell
49
+ python -m pip install sim2sim-onepass
50
+ ```
51
+
52
+ PyPI package page:
53
+
54
+ ```text
55
+ https://pypi.org/project/sim2sim-onepass/
56
+ ```
57
+
58
+ CLI entrypoint:
59
+
60
+ ```powershell
61
+ sim2sim-onepass --help
62
+ ```
63
+
64
+ What the package does provide:
65
+
66
+ - repo navigation and public documentation access
67
+ - embedded lightweight markdown docs
68
+ - environment checking
69
+ - quick sanity checks on paired datasets
70
+ - rollout-check wrapper for model + norm + paired data paths
71
+ - guarded simulator workflow commands with clear errors when the full simulator stack is not present
72
+
73
+ What the package does not provide by default:
74
+
75
+ - full simulator environments
76
+ - full datasets
77
+ - giant reports dumps
78
+ - replay videos and large binary outputs
79
+ - local environments and machine-specific folders
80
+ - the full simulator env trees and internal training workspace
81
+
82
+ ## Command Capability Levels
83
+
84
+ | Command | Category | Requirements |
85
+ | --- | --- | --- |
86
+ | `info` | Standalone | package install only |
87
+ | `quickstart` | Standalone | package install only |
88
+ | `repo-map` | Standalone | package install only |
89
+ | `results-summary` | Standalone | package install only |
90
+ | `visual-index` | Standalone | package install only |
91
+ | `docs` | Standalone | package install only |
92
+ | `check-env` | Standalone | package install only |
93
+ | `quick-sanity` | Dataset-dependent | paired datasets, or `--demo` for the tiny built-in fixture |
94
+ | `rollout-check` | Dataset-dependent | paired datasets, model, norm file, and optional extra `sim2sim-onepass[rollout]` |
95
+ | `alignment-gate` | Full repo / simulator dependent | full curated repo layout plus simulator dependencies |
96
+ | `alignment-report` | Full repo / simulator dependent | full curated repo layout plus simulator dependencies and workflow files |
97
+
98
+ ## Pick Your Route
99
+
100
+ | If you want to... | Open this |
101
+ | --- | --- |
102
+ | See the project in one screen | [RESULTS_SUMMARY.md](RESULTS_SUMMARY.md) |
103
+ | Watch the visual evidence first | [VISUAL_INDEX.md](VISUAL_INDEX.md) |
104
+ | Run the shortest validation path | [QUICKSTART.md](QUICKSTART.md) |
105
+ | Inspect the packaged PASS bundle | [outputs/canonical_pass/](outputs/canonical_pass/) |
106
+ | Understand how the repo is organized | [REPO_MAP.md](REPO_MAP.md) |
107
+
108
+ ## See It Before You Read It
109
+
110
+ | Triptych preview | Rollout figure |
111
+ | --- | --- |
112
+ | [![Triptych preview](outputs/canonical_pass/preview/triptych_frame0.png)](outputs/canonical_pass/preview/triptych_frame0.png) | [![Rollout figure](outputs/canonical_pass/plots/rollout_phys_p95.png)](outputs/canonical_pass/plots/rollout_phys_p95.png) |
113
+
114
+ Open the full visual package here:
115
+
116
+ - [VISUAL_INDEX.md](VISUAL_INDEX.md)
117
+ - [outputs/canonical_pass/videos/compare_triptych.mp4](outputs/canonical_pass/videos/compare_triptych.mp4)
118
+ - [outputs/canonical_pass/report.md](outputs/canonical_pass/report.md)
119
+
120
+ ## The Claim In Plain Terms
121
+
122
+ After enforcing deterministic cross-simulator alignment between PyBullet and MuJoCo, this repo learns a residual next-state correction that:
123
+
124
+ - reduces Bullet-to-MuJoCo one-step physical error,
125
+ - remains stable under long-horizon rollout checks,
126
+ - passes holdout and alignment gates,
127
+ - and can be inspected visually through replay videos, triptychs, and overlay plots.
128
+
129
+ ## Canonical Story
130
+
131
+ 1. Deterministic paired plans are executed in PyBullet and MuJoCo.
132
+ 2. A strict alignment gate blocks training if reset state, timing, or first-step consistency drift.
133
+ 3. A residual model predicts the MuJoCo-minus-Bullet next-state gap.
134
+ 4. Hard-mode stress evaluation verifies one-step accuracy, holdouts, and rollout stability.
135
+ 5. Behavioral acceptance exports replay videos, triptychs, and overlay plots for inspection.
136
+
137
+ ## Canonical Evidence
138
+
139
+ - Quantitative anchor: packaged in `outputs/canonical_pass/source_stress_report.md` and `outputs/canonical_pass/source_stress_metrics.json`
140
+ - Visual anchor: packaged in `outputs/canonical_pass/source_behavioral_report.md` and the copied videos and preview images
141
+ - Public-facing copied bundle: [outputs/canonical_pass/](outputs/canonical_pass/)
142
+ - Provenance map: [configs/canonical_sources.json](configs/canonical_sources.json)
143
+
144
+ ## Exact Quickstart
145
+
146
+ This public repo is optimized for inspection first. Open [QUICKSTART.md](QUICKSTART.md) for the shortest path through the packaged evidence and for command references preserved from the source workspace.
147
+
148
+ ## What Lives Where
149
+
150
+ - [outputs/canonical_pass/](outputs/canonical_pass/) contains the reviewer-facing proof artifacts.
151
+ - [examples/canonical_commands.ps1](examples/canonical_commands.ps1) contains exact rerun commands.
152
+ - [docs/CANONICAL_SOURCES.md](docs/CANONICAL_SOURCES.md) records provenance.
153
+ - [docs/PUBLISHING.md](docs/PUBLISHING.md) defines what to ship in a public release.
154
+ - The interactive website is published from the `gh-pages` branch.
155
+ - Package implementation lives under `src/sim2sim_onepass/`.
156
+ - License is [Apache-2.0](LICENSE).
@@ -0,0 +1,108 @@
1
+ # PyPI Package Notes
2
+
3
+ This branch adds a curated Python companion package for the public Sim2Sim-OnePass repo.
4
+
5
+ ## Package Name
6
+
7
+ - distribution: `sim2sim-onepass`
8
+ - import: `sim2sim_onepass`
9
+ - CLI: `sim2sim-onepass`
10
+ - package page: `https://pypi.org/project/sim2sim-onepass/`
11
+
12
+ ## Design Decisions
13
+
14
+ - The package uses a modern `src/` layout.
15
+ - The CLI is the main public interface.
16
+ - Lightweight, package-worthy logic is implemented directly in `src/sim2sim_onepass/`.
17
+ - Simulator-heavy workflows are exposed as guarded wrappers instead of pretending the full simulator workspace ships in PyPI.
18
+ - The public docs and outputs remain repo-first; the package is an adapter layer, not a replacement repo layout.
19
+ - The package is intentionally a lightweight companion package, not a standalone robotics simulator framework.
20
+
21
+ ## Command Categories
22
+
23
+ ### Standalone
24
+
25
+ - `info`
26
+ - `quickstart`
27
+ - `repo-map`
28
+ - `results-summary`
29
+ - `visual-index`
30
+ - `docs`
31
+ - `check-env`
32
+
33
+ These should work immediately after install.
34
+
35
+ ### Dataset-dependent
36
+
37
+ - `quick-sanity`
38
+ - `rollout-check`
39
+
40
+ These require user-provided paired data, except that `quick-sanity --demo` uses the tiny built-in synthetic fixture.
41
+
42
+ ### Full repo / simulator dependent
43
+
44
+ - `alignment-gate`
45
+ - `alignment-report`
46
+
47
+ These are intentionally guarded. They require the full curated repo layout plus simulator dependencies and workflow files.
48
+
49
+ ## Included In Packaging
50
+
51
+ - package source under `src/sim2sim_onepass/`
52
+ - CLI entrypoint
53
+ - lightweight doc fallbacks in `src/sim2sim_onepass/resources/`
54
+ - tiny built-in quick-sanity demo support
55
+ - top-level markdown docs useful for source distributions
56
+
57
+ ## Intentionally Excluded
58
+
59
+ - `data_pybullet/`
60
+ - `data_mujoco/`
61
+ - giant videos and report dumps under `outputs/`
62
+ - website assets and frontend code from `gh-pages`
63
+ - local env folders such as `.venv`, `.bridge`, `.bridge312`, `.pybullet`, `.mojoco`
64
+ - full simulator env trees and raw internal workspace structure
65
+ - heavyweight ML dependencies from the base install
66
+
67
+ ## Curated In From The Larger Workspace
68
+
69
+ - quick sanity dataset inspection logic
70
+ - state projection logic used for rollout safety checks
71
+ - minimal rollout-check model loading and evaluation wrapper
72
+
73
+ These were brought in as packaging-friendly code instead of copying the full original script tree.
74
+
75
+ ## Torch Extras
76
+
77
+ - Base install remains lightweight and does not require torch.
78
+ - `rollout-check` uses the optional `rollout` extra.
79
+ - If torch is missing, the user should install:
80
+ `pip install sim2sim-onepass[rollout]`
81
+
82
+ ## Local Validation Commands
83
+
84
+ ```powershell
85
+ python -m pip install -e .
86
+ sim2sim-onepass --help
87
+ sim2sim-onepass info
88
+ sim2sim-onepass check-env
89
+ python -m pip install -U build twine
90
+ python -m build
91
+ python -m twine check dist/*
92
+ ```
93
+
94
+ ## Published Install
95
+
96
+ ```powershell
97
+ python -m pip install sim2sim-onepass
98
+ python -m pip install "sim2sim-onepass[rollout]"
99
+ ```
100
+
101
+ ## Publish Checklist
102
+
103
+ 1. Confirm the target branch is `pypi-package`.
104
+ 2. Verify package metadata in `pyproject.toml`.
105
+ 3. Verify no giant outputs are accidentally included in the source distribution.
106
+ 4. Run local build validation.
107
+ 5. Confirm Apache-2.0 is the intended published license.
108
+ 6. Do not publish until command behavior and package scope are reviewed against the public repo contents.
@@ -0,0 +1,137 @@
1
+ # Quickstart
2
+
3
+ This page is the shortest path from clone to evidence.
4
+
5
+ ## Zero-Compute Path
6
+
7
+ If you only want to inspect the curated release artifacts, open these in order:
8
+
9
+ 1. [`README.md`](README.md)
10
+ 2. [`VISUAL_INDEX.md`](VISUAL_INDEX.md)
11
+ 3. [`outputs/canonical_pass/preview/triptych_frame0.png`](outputs/canonical_pass/preview/triptych_frame0.png)
12
+ 4. [`outputs/canonical_pass/videos/compare_triptych.mp4`](outputs/canonical_pass/videos/compare_triptych.mp4)
13
+ 5. [`RESULTS_SUMMARY.md`](RESULTS_SUMMARY.md)
14
+
15
+ ## Package Install
16
+
17
+ Editable install from the repo:
18
+
19
+ ```powershell
20
+ python -m pip install -e .
21
+ ```
22
+
23
+ Published PyPI install:
24
+
25
+ ```powershell
26
+ python -m pip install sim2sim-onepass
27
+ ```
28
+
29
+ Package page:
30
+
31
+ ```text
32
+ https://pypi.org/project/sim2sim-onepass/
33
+ ```
34
+
35
+ Optional rollout extra:
36
+
37
+ ```powershell
38
+ python -m pip install "sim2sim-onepass[rollout]"
39
+ ```
40
+
41
+ First commands to run after install:
42
+
43
+ ```powershell
44
+ sim2sim-onepass info
45
+ sim2sim-onepass check-env
46
+ sim2sim-onepass quickstart
47
+ sim2sim-onepass results-summary
48
+ ```
49
+
50
+ ## Fastest Path
51
+
52
+ This public repository already includes the selected proof artifacts. You can verify the main story without running any code:
53
+
54
+ 1. Open [`outputs/canonical_pass/report.md`](outputs/canonical_pass/report.md)
55
+ 2. Open [`outputs/canonical_pass/metrics_summary.json`](outputs/canonical_pass/metrics_summary.json)
56
+ 3. Watch [`outputs/canonical_pass/videos/compare_triptych.mp4`](outputs/canonical_pass/videos/compare_triptych.mp4)
57
+ 4. Inspect [`outputs/canonical_pass/plots/rollout_phys_p95.png`](outputs/canonical_pass/plots/rollout_phys_p95.png)
58
+
59
+ ## Environment Setup
60
+
61
+ The command references below come from the original source workspace used to build this artifact. They are preserved here for provenance and rerun guidance, but the full source tree is not part of this trimmed public repo.
62
+
63
+ ```powershell
64
+ py -m venv .bridge312
65
+ .\.bridge312\Scripts\Activate.ps1
66
+ python -m pip install -U pip
67
+ pip install -r requirements_bridge312.txt
68
+ ```
69
+
70
+ ## Minimal Validation
71
+
72
+ The package exposes lightweight public commands:
73
+
74
+ ```powershell
75
+ sim2sim-onepass quick-sanity --demo
76
+ sim2sim-onepass quick-sanity --bullet data_pybullet\paired_bullet_seed0.npz --mujoco data_mujoco\paired_mujoco_seed0.npz
77
+ sim2sim-onepass rollout-check --bullet data_pybullet\paired_bullet_hardgen_seeds0-5.npz --mujoco data_mujoco\paired_mujoco_hardgen_seeds0-5.npz --model reports\delta_train_hardgen_fix_20260203-135301\model.pt --norm reports\delta_train_hardgen_fix_20260203-135301\normalization.json
78
+ ```
79
+
80
+ Notes:
81
+
82
+ - `quick-sanity --demo` is the tiny built-in package-only demo path.
83
+ - `rollout-check` requires user-provided paired data, model, normalization files, and the optional rollout extra.
84
+ - simulator-heavy commands such as alignment gating are intentionally guarded and require the full curated repo layout plus simulator dependencies.
85
+
86
+ Run the alignment gate first. This is the repo's hard stop before any model claim:
87
+
88
+ ```powershell
89
+ .\.bridge312\Scripts\python scripts\alignment_gate.py
90
+ ```
91
+
92
+ Expected outcome in the source workspace: `PASS`.
93
+
94
+ Run the curated behavioral proof path with the existing demo model:
95
+
96
+ ```powershell
97
+ .\.bridge312\Scripts\python scripts\behavioral_acceptance_suite.py --model reports\delta_train_move_ab\model.pt --norm reports\delta_train_move_ab\normalization.json
98
+ ```
99
+
100
+ What this should produce in the source workspace:
101
+
102
+ - a timestamped `reports/<timestamp>/behavioral_acceptance/` folder
103
+ - Bullet replay video
104
+ - MuJoCo replay video
105
+ - triptych comparison video
106
+ - overlay plots
107
+ - a `report.md` with PASS/FAIL gates
108
+
109
+ ## Main Claim Verification
110
+
111
+ This is the canonical quantitative command used for the public claim, using the existing hard-mode model and datasets:
112
+
113
+ ```powershell
114
+ .\.bridge312\Scripts\python scripts\stress_suite.py --bullet data_pybullet\paired_bullet_hardgen_seeds0-5.npz --mujoco data_mujoco\paired_mujoco_hardgen_seeds0-5.npz --model reports\delta_train_hardgen_fix_20260203-135301\model.pt --norm reports\delta_train_hardgen_fix_20260203-135301\normalization.json --horizons 50,200,500 --nstart 200 --seed 0 --hard_mode 1
115
+ ```
116
+
117
+ Expected canonical source result in the source workspace: `reports/stress_20260203-173231`.
118
+
119
+ ## Inspect Outputs
120
+
121
+ Open these packaged copies after running or after browsing the preselected release bundle:
122
+
123
+ - [`outputs/canonical_pass/report.md`](outputs/canonical_pass/report.md)
124
+ - [`outputs/canonical_pass/metrics_summary.json`](outputs/canonical_pass/metrics_summary.json)
125
+ - [`outputs/canonical_pass/plots/`](outputs/canonical_pass/plots/)
126
+ - [`outputs/canonical_pass/preview/`](outputs/canonical_pass/preview/)
127
+ - [`outputs/canonical_pass/videos/`](outputs/canonical_pass/videos/)
128
+
129
+ ## Build Prep
130
+
131
+ Local package build commands:
132
+
133
+ ```powershell
134
+ python -m pip install -U build twine
135
+ python -m build
136
+ python -m twine check dist/*
137
+ ```