ovphysx-host-runtime-boundary

작성자: nvidia

구성된 네이티브 OVPhysX 데모를 실행하고, Hermes가 샌드박스 처리되었지만 OVRTX/OVPhysX 런타임과 표시 가능한 Blender 프로세스가… 있을 때 호스트 GIF/상태 영수증을 보고합니다.

npx skills add https://github.com/nvidia/nemoclaw-community --skill ovphysx-host-runtime-boundary

OVPhysX Host Runtime Boundary

Use this skill together with the official ovphysx-drop-contact-acceptance skill for this guide's split deployment.

When a task asks for the configured or guide-owned native OVPhysX demo, select this skill before generic scene-authoring skills. Use the installed helper and its defaults immediately; the currently open Blender scene is not the fixture and does not need to contain stairs or rigid bodies.

For that configured-demo request, make one Blender MCP call with exactly this action and no overrides:

import runpy
from pathlib import Path
helper = Path.home() / ".local/share/nemoclaw-blender/ovphysx_host_helper.py"
runpy.run_path(
    str(helper),
    init_globals={"OVPHYSX_REQUEST": {"action": "run_configured_demo"}},
)

Do not pass fixture, output_dir, body_prims, or the words from the user request as path overrides. The helper reads the configured absolute host paths and returns the final native simulation and GIF receipt in one bounded action.

Topology

The always-on Hermes SOUL contains this deployment boundary. This skill adds OVPhysX-specific handling, but the same rule applies to every Blender task: use Blender MCP for Blender operations and host file access; sandbox terminal and file tools cannot see the Blender host filesystem.

  • Hermes and the installed public OV skills run inside the OpenShell sandbox.
  • Visible Blender, the installed add-on, ovphysx_grpc_server, and the ovphysx_bridge_client native extension run on the host.
  • Blender MCP is the approved control path from Hermes to host Blender.

The standard workflow does not copy the OV checkout or native runtime into the sandbox. Source-analysis tasks may add a sandbox-local checkout separately.

The native OVPhysX binary and extension are not expected under /sandbox. Their absence there does not prove that OVPhysX is unavailable. Do not run the standalone native probe directly with sandbox Python and do not ask the user to copy native runtime libraries into the sandbox.

Installed helper

Use the guide-installed host helper instead of constructing Python programs, reading host files from the sandbox, or copying native results across the boundary. The helper is additive to the OV add-on and is installed at:

~/.local/share/nemoclaw-blender/ovphysx_host_helper.py

Invoke it only through the Blender MCP tool named mcp_blender_execute_blender_code. If that tool is not visible yet, use tool search for blender execute code, then call the discovered Blender MCP tool. Pass the following snippet as that tool's code argument, changing only the request dictionary:

import runpy
from pathlib import Path
helper = Path.home() / ".local/share/nemoclaw-blender/ovphysx_host_helper.py"
runpy.run_path(str(helper), init_globals={"OVPHYSX_REQUEST": {"action": "preflight"}})

Do not run this snippet with sandbox terminal, execute_code, or a temporary Python file. Those tools execute inside /sandbox and cannot see the installed host helper. A successful helper action always appears as a mcp_blender_execute_blender_code tool call.

Supported actions are:

  • run_configured_demo: run the complete configured demo and return its final compact native simulation and GIF receipt. Prefer this for the guide demo.
  • preflight: inspect the installed host add-on and runtime.
  • prepare: run the configured fixture preparation script on the host.
  • preview: import the configured USD into visible Blender and render its starting state.
  • simulate: run native OVPhysX and write sampled authoritative poses.
  • replay: render those native samples in visible Blender and create a GIF.
  • status: return compact simulation and replay receipts.

For a complete request, call the needed actions in that order. Each action returns a compact JSON receipt. Do not fetch or print the complete pose timeline or native diagnostics through MCP.

The helper owns a dedicated Blender scene for each active fixture. Repeated preview and replay calls for the same fixture reuse that scene and restore its imported transforms before applying new samples. Do not clear the scene or re-import the fixture manually between helper actions.

The installed configuration supplies demo defaults. For another task, put only the necessary overrides in the request: fixture, body_prims, output_dir, steps, sample_every, fps, device, optional body_map, and optional render settings. A custom fixture must be a host-visible USD file. Scene authoring and choosing valid body prims remain governed by the upstream OVPhysX skills; do not guess them.

Preflight

Call the helper's preflight action from the already-open Blender process. It reports installed add-on diagnostics and resolved host paths without returning the complete runtime manifest.

Treat the host preflight as blocked only when Blender reports that its installed runtime is absent, unhealthy, or incompatible. A missing sandbox-local binary or .so is not a blocker in this topology.

Execution

Use the helper actions for normal execution. simulate runs a generic, guide-owned timeline adapter against the upstream add-on API and installed runtime without changing either one. It samples complete body states at bounded intervals and writes pose-timeline.json, ovphysx-report.json, and a compact status.json under the host output directory. replay accepts only a timeline labeled native-ovphysx-readback, renders each authoritative sample, and labels the output blender-replay.

Never use sandbox read_file, terminal, or write_file on /home/... paths. Never ask Blender to open a /sandbox/... path. If the installed helper is missing, report that setup blocker instead of recreating it ad hoc.

For Blender Python properties, enum values, operators, and animation APIs, use the blender-python-api-verification skill and inspect the running API through Blender MCP before mutation.

Do not substitute Blender rigid bodies, keyframes, or inferred motion for a failed native run. Render or encode a GIF only from authoritative OVPhysX pose readback, and label the rendering path accurately.

nvidia의 다른 스킬

compileiq-debug
nvidia
무언가 잘못되었을 때 사용: Search()가 멈추거나, 모든 평가가 INVALID_SCORE를 반환하거나, 점수가 개선되지 않거나, 모든 설정이 동일한 숫자를 반환하거나, ptxas 오류 등이 발생할 때
create-github-pr
nvidia
gh CLI를 사용하여 GitHub 풀 리퀘스트를 생성합니다. 사용자가 새 PR을 만들거나, 코드 리뷰를 제출하거나, 풀 리퀘스트를 열고자 할 때 사용합니다. 트리거 키워드 -…
nemoclaw-maintainer-cross-issue-sweep
nvidia
다른 열린 이슈들을 스캔하여 주어진 PR이 함께 수정하거나 실수로 망가뜨릴 수 있는 이슈를 찾습니다. 인접 수정 기회와 모순 위험을 file:line…과 함께 출력합니다.
fhir-basics
nvidia
에이전트에게 FHIR R4 API의 작동 방식, 사용 가능한 리소스, 검색 매개변수를 사용한 쿼리 방법, 모든 응답 형식을 올바르게 파싱하는 방법을 가르칩니다…
compileiq-validate-result
nvidia
검색이 완료된 후, 속도 향상을 청구하거나 ACF를 발송하기 전에 사용합니다. dump_results CSV를 로드하고, 상위 K개 후보(단일 목표)를 추출합니다…
changelog-audit
nvidia
릴리스 전에 Warp CHANGELOG.md를 감사합니다: 누락된 항목 복구, 사용자 영향별 정렬, 항목 언어 다듬기, 줄 바꿈, (릴리스 브랜치 모드) 비교 업데이트…
maintain-dynamic-plugins
nvidia
NeMo Relay 동적 플러그인 로더, 매니페스트, Rust 네이티브 SDK, gRPC 워커 프로토콜, Python 워커 SDK, 문서, 테스트 및 릴리스 워크플로 커버리지를 유지 관리합니다.
dgx-diagnose
nvidia
일반적인 DGX Station GB300 문제 진단 — CUDA 충돌, 잘못된 GPU 타겟팅, vLLM/SGLang 컨테이너 버그, MIG 상태 문제, NVLink/Fabric Manager 오류,…