vis compare flag + uv changes + git workflow - #72
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
vis.py
--comparemode, uv migration, CI re-enableSummary
vis.py: new--compare <algo>flag. Runs a second registered algo for the same--taskon identical frames and stacks its debug-frame grid below the primary algo's in one "Debug Frames" window (not beside it, so neither pane's width shrinks). Each half is corner-labeled with its algo name; sliders for both algos share the window, prefixed by algo name (e.g.center: canny_low) so they don't collide.setup.pyreplaced withpyproject.toml; README installation instructions rewritten accordingly..github/workflows/ci.yml): restoredpush/pull_requesttriggers (previouslyworkflow_dispatch-only) and dropped thelintjob — ruff/black aren't gating yet, since the repo carries pre-existing style debt (226 ruff errors / 40 files needing reformat, even excluding_archive/and the vendoredthird_party/sortsubmodule) unrelated to this change.test-classicalis unchanged and passing.perception/tasks/_archive/slot_machine/slot_machine_test.py→slot_machine_demo.py. It wasn't a real test (no assertions, just an old exploratory OpenCV script using a deprecatedcv.findContoursAPI) — it only got swept into pytest collection because its filename matched pytest's*_test.pydiscovery pattern, which was blocking every other test in the suite from running.How to test
--compareq/Escquits,ppauses,i/oslow down/speed up playback.slalomonly has one registered algo (classical) right now, so there's nothing to compare it against yet.uv setup vs. the old conda flow
curl -LsSf https://astral.sh/uv/install.sh | sh(orbrew install uv)conda create -n urobotics python=3.11uv venv --python 3.11(downloads 3.11 automatically if missing, creates.venv/in the repo)conda activate uroboticssource .venv/bin/activatepip3 install -e ./uv pip install -e .pip3 install -r requirements-classical.txtuv pip install -r requirements-classical.txtpip3 install -r requirements-torch.txtuv pip install -r requirements-torch.txtEverything downstream (Cython build,
python -m perception.vis.vis ...,pytest) is unchanged once the venv is activated. Env is now per-repo (.venv/insideperception/, gitignored) rather than one shared named conda env.CI workflow change
Before:
on: workflow_dispatchonly (manual-trigger-only,lint+test-classicaljobs, both effectively dead since nothing ran automatically).After:
on: push / pull_request / workflow_dispatch(runs automatically again),lintjob removed,test-classicaljob unchanged. Verified locally end-to-end (submodule fetch, dependency install, Cython rebuild,pytest -v --tb=short) — 20 passed, 0 failed, only expected torch-not-installed skip warnings.Out of scope / follow-up