Skip to content

feat(assets): a snapshot import places the robot at any heading in the room - #24

Merged
ZJLi2013 merged 1 commit into
feat/library-regenfrom
feat/snapshot-yaw
Oct 22, 2026
Merged

ZJLi2013 merged 1 commit into
feat/library-regenfrom
feat/snapshot-yaw

Conversation

@ZJLi2013

Copy link
Copy Markdown
Owner

Stacked on #23.

What this does

aha3d_snapshot takes --yaw (the robot's heading in the room frame, degrees from +X). Root positions and bounds
go through one room-to-robot transform (to_robot / box_to_robot; boxes take the bounds of their rotated
corners) before the existing keep/drop rules, and each kept object gets yaw_deg = -yaw. The default --yaw 0
gives the same output as before. A test checks that turning a scene by 90 degrees and the robot with it gives the
same mapping.

Result: a living room reconstructed from video

The input was an editable room that a coding agent (Codex + GPT-6 Astra) built in Blender from an 8.8 s navigation
clip of the BEHAVIOR Challenge 2025 demos (task turning_on_radio). The room is in the reconstruction's predicted
metres. The robot stands at the coffee table's +Y end, the only open floor within reach of the radio, so it faces
room -Y (--yaw -90).

  • Kept 1 of 13 roots: the radio, on the table at (0.53, 0.00) m from the base. The coffee table became the robot's
    table (top 0.389 m becomes 0.775 m). The sofa was dropped by the existing rule because it overlaps the robot's
    table by 2 cm. Wall fixtures, the pendant and the structure were dropped as well.
  • Object review (GPT-6 Astra with simulator probes): the radio was accepted in round 1. The top handle leaves a
    2.2 cm grip depth and 3.35 cm of clearance under the crossbar.
  • Scene review (Astra, source renders vs simulator snapshots and settle readings): accepted in round 1. The radio
    moves 1 mm in 3 s.

Not covered: no grasp was executed. Generated assets stay out of git, so scenarios/behavior_living_radio.yaml is
not committed.

AI disclosure

Written with Cursor (Claude) acting as the coding agent: it wrote the code, the test, the import and review scripts
and this description, and ran the simulator checks. The room was modelled by Codex with GPT-6 Astra, and the object
and scene reviews were done by GPT-6 Astra. A human approved the design; the code needs human review before merging.

…e room

The only open floor beside a reconstructed living room's coffee table faces the robot toward room -Y;
the importer assumed +X. Positions and bounds now go through one room-to-robot transform, and kept
objects turn with it.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ZJLi2013
ZJLi2013 marked this pull request as ready for review October 22, 2026 14:16
@ZJLi2013
ZJLi2013 merged commit 195c7c4 into feat/library-regen Oct 22, 2026
4 checks passed
@ZJLi2013 ZJLi2013 mentioned this pull request Oct 23, 2026
ZJLi2013 added a commit that referenced this pull request Oct 23, 2026
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