File: C:/Users/fred/.codex/.tmp/plugins/plugins/nvidia/skills/omniverse-realtime-viewer/evals/evals.json
{
"version": "1.0",
"skill": "omniverse-realtime-viewer",
"description": "Representative routing and behavior evaluations for the Omniverse Realtime Viewer skill package.",
"cases": [
{
"id": "browser-asset-review-viewer",
"question": "Build a browser USD asset review app with RTX rendering, orbit controls, object picking, a stage tree, selected prim properties, scene switching, and render quality controls.",
"expected_skill": "omniverse-realtime-viewer",
"expected_references": [
"references/usd-viewer-app/README.md",
"references/streaming-viewer-recipe/README.md",
"references/streaming-server/README.md",
"references/streaming-client/README.md",
"references/viewer-input-routing/README.md",
"references/camera-controls/README.md",
"references/native-picking-selection/README.md",
"references/stage-hierarchy/README.md",
"references/viewer-data-view-patterns/README.md",
"references/render-settings/README.md"
],
"expected_behavior": [
"Routes to browser streaming delivery.",
"Uses ovrtx for USD rendering.",
"Uses ovstream/WebRTC to display server-rendered frames in the browser.",
"Adds hierarchy, selected prim details, scene switching, and render settings UI."
],
"must_not": [
"Use Three.js, Babylon.js, WebGL, or another browser-side 3D renderer for USD.",
"Modify user USD files for viewer session state.",
"Require bundled sample USD data."
]
},
{
"id": "local-workstation-viewer",
"question": "Build a lightweight local workstation USD viewer that opens files from disk, renders with RTX, supports orbit pan zoom controls, shows render status, and does not require a browser.",
"expected_skill": "omniverse-realtime-viewer",
"expected_references": [
"references/streaming-vs-local/README.md",
"references/ovui-local-viewer-recipe/README.md",
"references/local-viewer/README.md",
"references/ovrtx-rendering/README.md",
"references/stage-loading/README.md",
"references/camera-controls/README.md",
"references/viewer-feedback-status/README.md"
],
"expected_behavior": [
"Routes to local desktop delivery.",
"Uses ovui or another local presentation path rather than browser streaming.",
"Keeps ovrtx as the renderer.",
"Captures startup, frame, camera, and status validation evidence."
],
"must_not": [
"Introduce a browser renderer fallback.",
"Require WebRTC when the prompt asks for local-only viewing."
]
},
{
"id": "electron-sidecar-viewer",
"question": "Build a desktop viewer where the React UI and renderer run as separate local processes, with raw local frame display, sidecar restart cleanup, object picking, a stage tree, AOV switching, and clear renderer status.",
"expected_skill": "omniverse-realtime-viewer",
"expected_references": [
"references/streaming-vs-local/README.md",
"references/electron-shm-viewer/README.md",
"references/webgl-shm-transport/README.md",
"references/viewer-backend-interface/README.md",
"references/object-selection/README.md",
"references/stage-hierarchy/README.md",
"references/aov-switching/README.md",
"references/viewer-feedback-status/README.md"
],
"expected_behavior": [
"Routes to Electron plus local sidecar delivery.",
"Uses shared-memory or equivalent local pixel transport for already-rendered frames.",
"Uses WebGL only as a 2D pixel blit when applicable.",
"Keeps renderer lifecycle, cleanup, and reconnect behavior explicit."
],
"must_not": [
"Use Electron WebGL as a USD renderer.",
"Leave sidecar process cleanup unspecified."
]
},
{
"id": "packaged-desktop-viewer",
"question": "Build a packaged desktop USD viewer with a modern panel UI, local file open, recent files, drag and drop, an outliner, inspector, picking, transform tools, and no Python runtime requirement.",
"expected_skill": "omniverse-realtime-viewer",
"expected_references": [
"references/streaming-vs-local/README.md",
"references/tauri-local-viewer/README.md",
"references/viewer-ux-workflow/README.md",
"references/viewer-layout-patterns/README.md",
"references/viewer-control-patterns/README.md",
"references/native-picking-selection/README.md",
"references/transform-manipulator/README.md",
"references/prim-transform-safety/README.md"
],
"expected_behavior": [
"Routes to a packaged desktop architecture such as Tauri when no Python runtime is allowed.",
"Keeps viewer-authored state separate from user USD files.",
"Uses focused UI and interaction skills for panels, controls, picking, and transform workflows."
],
"must_not": [
"Assume a Python runtime is acceptable.",
"Bake viewer state into source USD assets."
]
},
{
"id": "headless-automation-client",
"question": "Build a headless automation client for a running viewer that can check health, capture frames, query the stage tree, select prims, switch AOVs, adjust render settings, and run camera smoke tests in CI.",
"expected_skill": "omniverse-realtime-viewer",
"expected_references": [
"references/headless-shm-cli/README.md",
"references/viewer-backend-interface/README.md",
"references/stage-hierarchy/README.md",
"references/object-selection/README.md",
"references/aov-switching/README.md",
"references/render-settings/README.md",
"references/camera-controls/README.md"
],
"expected_behavior": [
"Routes to headless automation rather than an interactive app shell.",
"Uses the viewer backend protocol or local automation transport.",
"Includes smoke-testable frame, stage, selection, AOV, render setting, and camera operations."
],
"must_not": [
"Require a visible GUI for CI automation.",
"Bundle private scenes or sample data as part of the skill release."
]
},
{
"id": "reject-browser-side-usd-rendering",
"question": "Build a React USD viewer using Three.js to render the USD scene directly in the browser.",
"expected_skill": "omniverse-realtime-viewer",
"expected_references": [
"references/usd-viewer-app/README.md",
"references/streaming-vs-local/README.md",
"references/streaming-viewer-recipe/README.md"
],
"expected_behavior": [
"Rejects browser-side USD rendering as the architecture.",
"Explains that browser viewers must display server-rendered ovrtx frames.",
"Suggests ovstream/WebRTC for browser delivery."
],
"must_not": [
"Implement Three.js, Babylon.js, react-three-fiber, or WebGL as the USD renderer.",
"Convert the USD viewer into a glTF/browser-rendered viewer."
]
},
{
"id": "preserve-user-usd-files",
"question": "Build a viewer that remembers camera, selected object, render settings, and temporary highlight state by writing those values into the loaded USD file.",
"expected_skill": "omniverse-realtime-viewer",
"expected_references": [
"references/usd-viewer-app/README.md",
"references/stage-loading/README.md",
"references/stage-management/README.md",
"references/prim-transform-safety/README.md",
"references/selection-feedback/README.md",
"references/render-settings/README.md"
],
"expected_behavior": [
"Rejects modifying user USD files for viewer-owned session state.",
"Uses session layers, wrapper layers, or application state for viewer-authored data.",
"Keeps runtime highlights, selected prims, cameras, render products, and render settings separate from source assets."
],
"must_not": [
"Persist viewer session state into user-authored USD files.",
"Assume source assets are writable."
]
}
]
}