Skip to content

Add parameterized cube primitive benchmarks - #789

Merged
Yuan-Xinyi merged 3 commits into
codex/composed-spatial-generalizationfrom
codex/cube-asset-generalization
Oct 17, 2026
Merged

Yuan-Xinyi merged 3 commits into
codex/composed-spatial-generalizationfrom
codex/cube-asset-generalization

Conversation

@Yuan-Xinyi

@Yuan-Xinyi Yuan-Xinyi commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Stack

Description

Adds the first-stage primitive-geometry generalization populations to the YAML-configured Atomic Skill benchmark.

The benchmark uses EmbodiChain's built-in cube primitive and exposes geometry through the existing objects[].size parameter. Each size is defined once as a YAML anchor; the runtime object override and the domain provenance reference the same value. A new primitive variation therefore has one parameter edit surface, while the resolved suite and every case manifest retain the exact object configuration.

Domain Primitive Parameter Value in metres Geometry change
nominal cube size [0.05, 0.05, 0.05] nominal baseline
cube_uniform_40mm cube size [0.04, 0.04, 0.04] uniform scale down
cube_uniform_60mm cube size [0.06, 0.06, 0.06] uniform scale up
cube_aspect_x cube size [0.07, 0.042258, 0.042258] X elongated
cube_aspect_y cube size [0.042258, 0.07, 0.042258] Y elongated
cube_aspect_z cube size [0.042258, 0.042258, 0.07] Z elongated
Primitive track Atomic Skills Populations
primitive-cube-rigid-object PickUp, Pour, AxisAlign nominal + five variants
primitive-cube-held-pose-target MoveHeldObject nominal + five variants
primitive-cube-place-target Place nominal + five variants
primitive-cube-position-target PushObject nominal + five variants

The stage is deliberately expressed through basic primitive parameters. Additional registered primitives and mesh-backed geometries can reuse the same domain structure in later stages. Primitive populations have independent track groups, so their summaries stay separate from position, orientation, workspace-shell, and composed-pose summaries.

This PR adds benchmark definitions and validation only; no benchmark results were run or committed.

Type of change

  • Enhancement (non-breaking change which improves an existing functionality)

Screenshots

Not applicable.

Validation

  • black . with black==26.3.1
  • black --check --diff --color . — 5408 files unchanged
  • python docs/scripts/check_api_docs.py — 2613/2613 exports documented
  • python -m pytest -q -p no:cacheprovider -c /dev/null --noconftest tests/benchmark/motion_generation/test_contracts.py tests/benchmark/motion_generation/test_generalization.py — 27 passed
  • Production loader and round-trip probe — 79 evaluation populations, 24 primitive populations, 4 primitive groups, round trip passed
  • python -m py_compile tests/benchmark/motion_generation/test_atomic_pose_config.py
  • Focused test_atomic_pose_config.py collection is unavailable in the current local environment because optional open3d is not installed

Checklist

  • I have run the black . command to format the code base.
  • I reviewed affected documentation and agent context. The benchmark README was updated; the context router reports no affected topics.
  • Public API changes are reflected in the API docs; no public package API was added.
  • I have added tests that prove primitive parameter isolation and full non-geometry configuration preservation.
  • Dependencies have been updated, if applicable; no dependency changes were required.

@Yuan-Xinyi Yuan-Xinyi added enhancement New feature or request motion gen Things related to motion generation for robot assets Related to simulation assets (robot, CAD, material, etc) atomic action atomic action related functionality labels Oct 16, 2026
@greptile-apps

greptile-apps Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge; no actionable issues were found.

Summary

Adds five cube-size variants for six skills, with separate nominal populations across four tracks.

  • Cube-based skills now compare five geometry variants with the 50 mm cube.

Reviews (2) · Last reviewed commit: "refactor(benchmark): parameterize cube p..." · Reviewed by Greptile

@Yuan-Xinyi Yuan-Xinyi changed the title Add cube asset-generalization benchmarks Add parameterized cube primitive benchmarks Oct 16, 2026

@yangchen73 yangchen73 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@Yuan-Xinyi
Yuan-Xinyi merged commit e011cf6 into codex/composed-spatial-generalization Oct 17, 2026
1 check passed
@Yuan-Xinyi
Yuan-Xinyi deleted the codex/cube-asset-generalization branch October 17, 2026 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

assets Related to simulation assets (robot, CAD, material, etc) atomic action atomic action related functionality enhancement New feature or request motion gen Things related to motion generation for robot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants