Skip to content

docs: assembly-line walkthrough + README/vision update (closes #87) - #107

Open
dchaudhari7177 wants to merge 1 commit into
bamdadd:mainfrom
dchaudhari7177:docs/assembly-line-walkthrough
Open

docs: assembly-line walkthrough + README/vision update (closes #87)#107
dchaudhari7177 wants to merge 1 commit into
bamdadd:mainfrom
dchaudhari7177:docs/assembly-line-walkthrough

Conversation

@dchaudhari7177

Copy link
Copy Markdown
Contributor

Closes #87.

Adds docs/assembly-line.md and updates the README's positioning.

Scope note — part of this issue is blocked, and I did not paper over it

The issue asks for the multi-station topology, the operator route, and station-completion mapped to work-order line-items. Those come from #84 / #85, which are still open — the only scene that exists today is the single-station examples/assembly_station.py.

Documenting a station topology and operator route that aren't implemented would mean writing reproduce commands that cannot run, which this issue's acceptance criteria explicitly forbid. So the page documents what ships and opens with a Status note pointing at #84/#85 for the rest. I used the docs/assembly-line.md filename you asked for so the page is already at its final home as the line scene lands. Happy to extend it in the same PR if you'd rather wait for #84/#85.

What the walkthrough covers

  • The scene — entity table, and both cameras' position / look-at / FOV as built via CameraRig.stations(...).
  • Why two cameras aimed apart — the fusion story, with real numbers: the operator is in_view 11/11 on overview and 0/11 on worktop, the items exactly the reverse. Called out explicitly as not an occlusion story.
  • Work-order ground truthorder.json's status / expected / placed / missing / extra / wrong, and that actions names which joint placed what and when.
  • --placement-synced — the hand dips and the two deliberate negatives, with the punchline stated plainly: interactions.json holds three causal pairs while four items get placed, and part_d appears in none.
  • Coverage report + 3D view — with the embedded 3D still.

README

  • The positioning paragraph now names both scenario shapes — non-overlapping coverage and multi-station work-order / assembly-line — instead of only corridor MTMC, kept domain-neutral.
  • New "Assembly-line / work-order scenes" section with the 3D-view asset (docs/assets/assembly_station_scene_3d.png) and a link to the walkthrough, placed after the intro so the vision paragraph still leads.

Verification

Every command in the docs was executed verbatim from the repo root before committing. That caught two path errors in my own first draft: the example writes into examples/out/ (gitignored), not "next to this file" as its own module docstring claims — so coverage_metrics.py manifest.json and the 3D-view command both needed examples/out/manifest.json. All five documented commands now run:

Command
python examples/assembly_station.py
python examples/assembly_station.py --placement-synced
python scripts/coverage_metrics.py examples/out/manifest.json
... --panel docs/assets/assembly_station_coverage_metrics.png
python scripts/view_scene_3d.py --manifest examples/out/manifest.json --out ...

Every quoted output and number is copied from a real run (in_view 11/11 vs 0/11; coverage 0.25 = 11/44 and 0.75 = 33/44, zero overlap/blind/handoff; the three causal pairs). All relative links resolve.

Ran with PYTHONPATH=src python rather than uv run: uv run fails in this checkout because pyproject.toml references an editable ../multicam-occlusion sibling that isn't present. The plain python form is what the example's own docstring documents; the docs note uv run as the alternative.

Two defects found in passing (not fixed here)

  1. python examples/assembly_station.py --help crashes on Windows with UnicodeEncodeError: 'charmap' codec can't encode character 'δ' — the module docstring is passed to argparse as description and contains a δ, which a stock cp1252 console can't encode. The example itself runs fine. Given this repo already guards UTF-8 writes explicitly elsewhere, it looked worth flagging rather than silently fixing in a docs PR.
  2. The example's docstring says it emits sidecars "next to this file", but --out defaults to examples/out/.

The existing assembly_station_coverage_metrics.png asset is deliberately left untouched (I reverted an incidental re-render).

🤖 Generated with Claude Code

…d#87)

Adds docs/assembly-line.md covering the assembly-station scene end to end: the
station geometry (entity table + camera positions/look-at/FOV), why the two
cameras are aimed apart and what that does to per-entity in_view, the
work-order ground truth in order.json, the --placement-synced preset and its
two deliberate negatives, plus coverage and 3D-view inspection.

README: the positioning paragraph now names both scenario shapes -
non-overlapping coverage AND multi-station work-order / assembly-line - instead
of only corridor MTMC, and a new "Assembly-line / work-order scenes" section
carries the 3D-view asset and links the walkthrough.

PARTIALLY BLOCKED, deliberately. The issue asks for the multi-station topology,
the operator route, and station-completion mapped to work-order line-items.
Those come from bamdadd#84/bamdadd#85, which are still open - only the single-station scene
exists today. Documenting a station topology and operator route that aren't
implemented would mean writing reproduce commands that cannot run, which the
acceptance criteria explicitly forbid, so the page documents what ships and
carries a Status note pointing at bamdadd#84/bamdadd#85 for the rest.

Every command in the docs was executed verbatim from the repo root before
committing, which caught two path errors: the example writes into
examples/out/ (gitignored), not "next to this file" as its own docstring says,
so the coverage and 3D-view commands needed examples/out/manifest.json rather
than a bare manifest.json. All quoted output and numbers (in_view 11/11 vs
0/11, coverage 0.25 / 0.75, the three causal pairs against four placed items)
are copied from real runs.

Also regenerated docs/assets/assembly_station_scene_3d.png as the embedded 3D
still. The existing coverage-panel asset is deliberately left untouched.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.

Docs: assembly-line walkthrough + README/vision update

2 participants