Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
11f5f0c
Align the doc, test, and client with the newest .env setup (image seg…
MuziWong Aug 10, 2026
4c68adf
Add image generation client + update .env + update doc + test files
MuziWong Aug 11, 2026
88de161
Reformat the code, add scene edit basic framework, notice that the do…
MuziWong Aug 11, 2026
139850b
Basic design of scene graph
MuziWong Aug 12, 2026
ecaacda
i
MuziWong Aug 12, 2026
51e1c64
Fixed the prompt of scne understanding: delete the location in descri…
MuziWong Aug 12, 2026
64ca9f1
modify the prompt of scene understanding, to avoid a very long descri…
MuziWong Aug 12, 2026
4236f9d
finish the llm understand scene edit
MuziWong Aug 12, 2026
e52db87
finish the scene edit plan -> updated scene graph
MuziWong Aug 12, 2026
95f4759
move client try catch outside the understand_scene
MuziWong Aug 12, 2026
a72f101
finish part of the scene edit: from user prompt to simreadyed asset, …
MuziWong Aug 13, 2026
a2398eb
finish basic simready real world scale + semantic-based rotation
MuziWong Aug 13, 2026
ccab0f3
Moved the table support infos into simready.
MuziWong Aug 14, 2026
9b27be2
Finished scene edit
MuziWong Aug 14, 2026
78e01a3
fix some bug before pr
MuziWong Aug 14, 2026
3cd9147
fix a real-world size bug, using z-up mesh
MuziWong Aug 14, 2026
69431c2
update image-to-scene scene understanding: let vlm give orientation s…
MuziWong Aug 15, 2026
083d614
fix big-font problem in asset_masks_with_ids; add scene graph based c…
MuziWong Aug 15, 2026
c5e9087
run black
MuziWong Aug 15, 2026
4779f01
run black to tests/
MuziWong Aug 15, 2026
4a792f0
replace hard-code bottle-z-up with VLM auto-analyze
MuziWong Aug 18, 2026
d3f4365
make assets group layout optimizer more rubust
MuziWong Aug 18, 2026
1d5e367
delete the hard-coded spatial check in assets' names and descriptionsa
MuziWong Aug 18, 2026
9eb4ca1
replace jiange's pca heuristic method with VLM operate rotation tools…
MuziWong Aug 18, 2026
ccb4a94
ignore the fixed 2d aabb overlap when doing the on-table optimization
MuziWong Aug 19, 2026
031b5f8
finished the table as root layout optimization (but still needs to be…
MuziWong Aug 19, 2026
ae4095e
finish a simple on-relationship optimizer
MuziWong Aug 19, 2026
73d3c7f
add the heuristic attaches in collision optimization
MuziWong Aug 19, 2026
a03cda1
replace the assets gravity settler with gravity settler
MuziWong Aug 19, 2026
6f8e26e
use gravity settler in parent surface layout
MuziWong Aug 20, 2026
a84be90
Updated docs
MuziWong Aug 20, 2026
654165c
fix(scene-engine): validate edit categories and preserve batched plan…
MuziWong Aug 20, 2026
e92e978
Outside-table-2d-region checker now does not check those who did not …
MuziWong Aug 20, 2026
ad23063
fix(scene-engine): delete the function export
MuziWong Aug 24, 2026
301d7eb
finished scene-graph based on realtion addtion in image as input pipe…
MuziWong Aug 24, 2026
86ef235
Delete the debug code for coarse layout from server output
MuziWong Aug 25, 2026
0865b90
support lying object VLM-based simready
MuziWong Aug 25, 2026
3f8cba3
add: 1. articulated or not 2. segmented RGBA image for each asset
MuziWong Aug 25, 2026
a9afa66
1. VLM judge lying or standing 2. VLM give a yaw 3. updated render to…
MuziWong Aug 27, 2026
3aeede4
add dongge's client, but failed
MuziWong Aug 27, 2026
acd4387
VLM-auto gives a yaw, but still have a small bug in coarse layout: so…
MuziWong Aug 28, 2026
342f151
Transform each asset into the SimReady table frame to preserve its co…
MuziWong Aug 28, 2026
d4dd211
finished articulated replace: need to be tested
MuziWong Aug 28, 2026
6e5f2bd
Merge remote-tracking branch 'origin/main' into muzi/update_image_input
MuziWong Aug 28, 2026
6217e79
fix the preview problem after added usdc format articulated object
MuziWong Aug 28, 2026
6c15627
fix bug in scene engine preview, delete the wrong-import
MuziWong Aug 28, 2026
245d716
add articulation affordance | add turn knob
Aug 12, 2026
3ec392c
update
Aug 14, 2026
647b406
update
Aug 17, 2026
9d3c9cc
update press button
Aug 17, 2026
8c5d6e7
fix test
Aug 17, 2026
deb94c4
add pull push articulation part
Aug 18, 2026
91d7137
update
Aug 18, 2026
c0962b6
fix module import
Aug 18, 2026
6926307
rename
Aug 19, 2026
1b51dd0
Add unified policy evaluation for RL checkpoints (#510)
acrlw Aug 19, 2026
a4636fa
Revert "Add unified policy evaluation for RL checkpoints (#510)"
acrlw Aug 19, 2026
2953d0b
stash
Aug 19, 2026
ccfb7a7
fix
Aug 19, 2026
34178ca
add pour action
Aug 20, 2026
bd3c0de
fix docs
Aug 24, 2026
adfe065
feat(scene-engine): add versioned authoring API
skywhite1024 Aug 24, 2026
838b167
feat(atomic-actions): preserve GenSim execution contracts
skywhite1024 Aug 24, 2026
168ed64
feat(gen-sim): migrate action engine onto axis baseline
skywhite1024 Aug 24, 2026
9f28ef0
feat(gen-sim): migrate task orchestration onto scene baseline
skywhite1024 Aug 24, 2026
33f570d
feat(action-engine): add body-grasp planning and verified cleanup for…
skywhite1024 Aug 25, 2026
e8a724a
feat(action-engine): add body-grasp planning and verified cleanup for…
skywhite1024 Aug 25, 2026
063cd5e
feat(gen-sim): add failure continuation and task video archival
skywhite1024 Aug 25, 2026
0219d5a
feat(action-engine): implement single-arm E3 pour workflow
skywhite1024 Aug 25, 2026
ebdb66a
feat(action-engine): add contract-driven payload-aware coordinated ma…
skywhite1024 Aug 25, 2026
a371e85
feat(gen-sim): add configurable PGI and Robotiq gripper profiles
skywhite1024 Aug 25, 2026
62ab860
fix(gen-sim): preserve source videos and reduce recording frequency
skywhite1024 Aug 26, 2026
f611c0f
fix(action-engine): align E2 upright orientation to the local z-axis
skywhite1024 Aug 26, 2026
fa26c34
feat(gen-sim): add configurable planner modes and runtime diagnostics
skywhite1024 Aug 26, 2026
8caf7f7
feat(action-engine): extend E4 handover with hold and placement outcomes
skywhite1024 Aug 27, 2026
ad283d5
fix(action-engine): harden E2 and E5 post-action cleanup safety
skywhite1024 Aug 27, 2026
d8c5d2c
refactor(action-engine): use stable entity IDs for object semantics
skywhite1024 Aug 27, 2026
7def96b
refactor(action-engine): use stable entity IDs for object semantics
skywhite1024 Aug 27, 2026
7304a92
feat(gen-sim): add IK solver profiles and E5 grasp diagnostics
skywhite1024 Aug 27, 2026
5f5dbce
fix(gen-sim): harden coordinated pickment safety
skywhite1024 Aug 27, 2026
1921e9e
temp
skywhite1024 Aug 28, 2026
8899abc
refactor(action-engine): implement E2 upright placement with pickup a…
skywhite1024 Aug 31, 2026
e4468a8
Merge remote-tracking branch 'origin/muzi/update_image_input' into lj…
skywhite1024 Aug 31, 2026
e8c86b3
feat(gen-sim): support articulated objects in scene generation and ex…
skywhite1024 Aug 31, 2026
2beaf92
temp
skywhite1024 Sep 1, 2026
8eeb6e8
fix(graspkit): switch convex collision decomposition to V-HACD
skywhite1024 Sep 1, 2026
9125f34
feat(task-engine): add --open-window simulator execution option
skywhite1024 Sep 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions docs/source/api_reference/public_api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,58 @@ embodichain.gen_sim.scene_engine.core.scene_edit_plan
SceneEditOperation
SceneEditPlan

embodichain.gen_sim.scene_engine.errors
---------------------------------------

.. currentmodule:: embodichain.gen_sim.scene_engine.errors

Scene service failures preserve typed preparation and materialization errors
across the Task Engine boundary.

.. autosummary::

SceneServiceError

embodichain.gen_sim.scene_engine.pipeline
-----------------------------------------

.. currentmodule:: embodichain.gen_sim.scene_engine.pipeline

The public authoring boundary separates deterministic scene analysis from
side-effecting materialization for generated and edited scenes.

.. autosummary::

SCENE_BLUEPRINT_SCHEMA
SCENE_EDIT_BLUEPRINT_SCHEMA
SceneBlueprintPackage
SceneEditBlueprintPackage
SceneMaterialization
analyze_edit
analyze_image
materialize_blueprint
materialize_edit

embodichain.gen_sim.scene_engine.pipeline.api
---------------------------------------------

.. currentmodule:: embodichain.gen_sim.scene_engine.pipeline.api

Versioned blueprint artifacts and analyze/materialize operations provide the
implementation-level Scene Engine authoring contract.

.. autosummary::

SCENE_BLUEPRINT_SCHEMA
SCENE_EDIT_BLUEPRINT_SCHEMA
SceneBlueprintPackage
SceneEditBlueprintPackage
SceneMaterialization
analyze_edit
analyze_image
materialize_blueprint
materialize_edit

embodichain.gen_sim.scene_engine.pipeline.editing.scene_edit_asset_preparation
-------------------------------------------------------------------------------

Expand Down
10 changes: 9 additions & 1 deletion docs/source/features/generative_sim/scene_engine.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ debugging.
## Configuration

Scene Engine reads the LLM, segmentation, image-generation, and
geometry-generation settings from `embodichain/gen_sim/.env`:
geometry-generation settings from `embodichain/gen_sim/.env`. The same file
also contains the optional articulation-server connection used by the
articulated-asset generation client:

```bash
OPENAI_API_KEY="your-api-key"
Expand All @@ -83,6 +85,12 @@ SCENE_ENGINE_GEOMETRY_GENERATION_TIMEOUT_S=600
SCENE_ENGINE_GEOMETRY_GENERATION_MAX_ATTEMPTS=3
SCENE_ENGINE_GEOMETRY_GENERATION_HEALTH_PATH="/health"
SCENE_ENGINE_GEOMETRY_GENERATION_OBJECTS_PATH="/generate_multiple_objects"

SCENE_ENGINE_ARTICULATED_GENERATION_BASE_URL="http://host:port"
SCENE_ENGINE_ARTICULATED_GENERATION_TIMEOUT_S=7200
SCENE_ENGINE_ARTICULATED_GENERATION_MAX_ATTEMPTS=3
SCENE_ENGINE_ARTICULATED_GENERATION_HEALTH_PATH="/health"
SCENE_ENGINE_ARTICULATED_GENERATION_GENERATE_PATH="/generate_articulation"
```

## Processing Flow
Expand Down
2 changes: 1 addition & 1 deletion docs/source/overview/sim/atomic_actions/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,7 @@ instances to the engine's planning services:
```python
engine = AtomicActionEngine(motion_generator, control_profiles=profiles)

# All eleven built-ins are immediately usable by stable skill ID.
# All twelve built-ins are immediately usable by stable skill ID.
assert "move_end_effector" in engine.actions
assert "pick_up" in engine.actions
```
Expand Down
2 changes: 1 addition & 1 deletion embodichain/data/assets/obj_assets.py
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ class Drawer(EmbodiChainDataset):
def __init__(self, data_root: str = None):
data_descriptor = o3d.data.DataDescriptor(
os.path.join(EMBODICHAIN_DOWNLOAD_PREFIX, obj_assets, "Drawer.zip"),
"3981636db1f4188146fce25d54084612",
"eba30c852074388c2e5b634b1ae37572",
)
prefix = type(self).__name__
path = EMBODICHAIN_DEFAULT_DATA_ROOT if data_root is None else data_root
Expand Down
398 changes: 398 additions & 0 deletions embodichain/gen_sim/action_engine/ARCHITECTURE.md

Large diffs are not rendered by default.

50 changes: 50 additions & 0 deletions embodichain/gen_sim/action_engine/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# ----------------------------------------------------------------------------
# Copyright (c) 2021-2026 DexForce Technology Co., Ltd.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------

"""Capability-driven planning and live execution for generated simulations.

Action Engine deliberately exposes a small public surface. Natural-language
goals become a typed TaskSpec, deterministic planning lowers them into a
coordinate-free SeedGraph, and the runtime grounds that graph only against live
simulator state.
"""

from __future__ import annotations

from .unbound import (
UNBOUND_ACTION_PLAN_SCHEMA,
UnboundActionPlan,
build_unbound_action_plan,
validate_unbound_action_plan,
)

from .protocol import (
ACTION_ENGINE_CONFIG_SCHEMA,
ACTION_ENGINE_ENV_ID,
EXECUTION_PROGRAM_SCHEMA,
TASK_AGENT_SCHEMA,
)

__all__ = [
"ACTION_ENGINE_CONFIG_SCHEMA",
"ACTION_ENGINE_ENV_ID",
"EXECUTION_PROGRAM_SCHEMA",
"TASK_AGENT_SCHEMA",
"UNBOUND_ACTION_PLAN_SCHEMA",
"UnboundActionPlan",
"build_unbound_action_plan",
"validate_unbound_action_plan",
]
Loading