Add browser review/edit app for ArenaEnvGraphSpec#790
Draft
qianl-nv wants to merge 19 commits into
Draft
Conversation
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>
023cabd to
ce1d94b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
Adds a Streamlit-based live editor for reviewing and editing UnresolvedArenaEnvGraphSpec YAMLs. The review tool renders:
The YAML editor auto-renders when the spec is valid and changed. Node cards display a two-letter placeholder thumbnail by default.
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.