Skip to content

Add browser review/edit app for ArenaEnvGraphSpec#790

Draft
qianl-nv wants to merge 19 commits into
mainfrom
qianl/dev/agentic_review
Draft

Add browser review/edit app for ArenaEnvGraphSpec#790
qianl-nv wants to merge 19 commits into
mainfrom
qianl/dev/agentic_review

Conversation

@qianl-nv

Copy link
Copy Markdown
Collaborator

Summary

Adds a browser based tool for reviewing and editing ArenaEnvGraphSpec generated by agent.

Detailed description

Provide user a interface for modifying agent generated spec before running solver and sim app.

  • What has been changed?
    Adds a Streamlit-based live editor for reviewing and editing UnresolvedArenaEnvGraphSpec YAMLs. The review tool renders:
  • A mermaid.js spatial graph of initial-state constraints with anchor highlighting, task-constraint dashed edges, and objectReference dotted edges
  • A task table (index, kind, description, params)
  • A node card grid with type badges and per-node YAML stanzas

The YAML editor auto-renders when the spec is valid and changed. Node cards display a two-letter placeholder thumbnail by default.

  • What is the impact of this change?
    A new tool is added.
    Adds YAML round-trip serialization to ArenaEnvGraphSpec and moves assert_unique_ids/assert_references_exist to post_init so validation fires on every load-from-yaml/dict path.

qianl-nv added 19 commits June 15, 2026 23:58
Adds a Streamlit-based live editor for reviewing and editing
UnresolvedArenaEnvGraphSpec YAMLs. The review tool renders:
- A mermaid.js spatial graph of initial-state constraints with
  anchor highlighting, task-constraint dashed edges, and
  objectReference dotted edges
- A task table (index, kind, description, params)
- A node card grid with type badges and per-node YAML stanzas

The YAML editor auto-renders when the spec is valid and changed.
Node cards display a two-letter placeholder thumbnail by default.

Also adds YAML round-trip serialization to ArenaEnvGraphSpec and
moves assert_unique_ids/assert_references_exist to __post_init__
so validation fires on every load-from-yaml/dict path.

Signed-off-by: Qian Lin <qianl@nvidia.com>
Replace monolithic review_graph.py and review_app.py with server, streamlit_ui,
and a render subpackage; node thumbnails remain placeholders until SimApp lands.

Signed-off-by: Qian Lin <qianl@nvidia.com>
Replace html_document.render_html_for_spec with dashboard.render_dashboard_html.

Signed-off-by: Qian Lin <qianl@nvidia.com>
… GUI.

Route TaskRegistry and relation checks through a persistent Kit subprocess
so Streamlit re-validation stays fast after the first boot, and rebuild
validated specs locally via skip_registry context.

Signed-off-by: Qian Lin <qianl@nvidia.com>
Render node thumbnails via Kit viewport capture in the sidecar, wire
render_spec through the client, and inline PNGs in the dashboard.

Signed-off-by: Qian Lin <qianl@nvidia.com>
… import.

Wire LLM fetch plus sidecar catalogue/compile into the live editor with optional
--yaml, and lazy-load USD helpers so library registration avoids early pxr imports.

Signed-off-by: Qian Lin <qianl@nvidia.com>
Stack visualizer sections vertically with three node thumbnails per row and unary
constraints beside the Mermaid spatial graph instead of below it.

Signed-off-by: Qian Lin <qianl@nvidia.com>
Link YAML to arena env, solve relations, run 50 zero-action steps, and show
overview captures after reset and rollout in the visualization panel.

Signed-off-by: Qian Lin <qianl@nvidia.com>
Multi-env sim preview failed because get_viewer_cfg_look_at_object only
handled Pose and PoseRange; add as_single_pose and use it at call sites.

Signed-off-by: Qian Lin <qianl@nvidia.com>
Drop the custom grid overview camera and task look-at-object offsets;
use Isaac Lab ViewerCfg like policy_runner and shorten the rollout.

Signed-off-by: Qian Lin <qianl@nvidia.com>
Extract close_env_and_reset_sim so the sidecar resets SimulationContext,
closes the gym env, and clears CUDA cache between preview runs instead of
swallowing partial cleanup errors.

Signed-off-by: Qian Lin <qianl@nvidia.com>
Boot the persistent sidecar with --viz kit so thumbnails and sim preview
render in an interactive Kit viewport instead of headless mode.

Signed-off-by: Qian Lin <qianl@nvidia.com>
Set a raised world-frame camera via ViewerCfg and re-apply it through the
viewport controller before each capture so all 16 clones stay in frame.

Signed-off-by: Qian Lin <qianl@nvidia.com>
Close gym env managers while SimulationContext is still valid, then
new_stage and pump Kit updates so stale cloner prims do not break the
next preview build in the sidecar.

Signed-off-by: Qian Lin <qianl@nvidia.com>
Emit flushed stderr milestones for teardown, spec linking, relation
solving, and gym.make so sidecar progress is visible during the silent
pre-spawn window.

Signed-off-by: Qian Lin <qianl@nvidia.com>
Reuse the editor panel's ValidationResult on preview button click to
avoid a second validate_spec IPC round-trip on the same Streamlit rerun.

Signed-off-by: Qian Lin <qianl@nvidia.com>
@qianl-nv qianl-nv force-pushed the qianl/dev/agentic_review branch from 023cabd to ce1d94b Compare June 16, 2026 14:59
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