Title: [NuRec 26.04] remove requires undocumented client-side --enable-editing-actors; enabling it changes other actors’ poses

Hi NVIDIA team,

I am testing actor editing in a NuRec-exported USDZ scene using nvcr.io/nvidia/nre/nre-ga:26.04. My goal is to remove one existing dynamic actor while preserving the original motion of all other actors.

I followed the official Edit Actors in a USDZ dataset instructions and observed two issues:

  1. remove does not take effect unless I also add --enable-editing-actors to the render-grpc client. The documentation shows this option on the server command, but omits it from the client example.
  2. Once I enable this client-side option, the target actor is removed, but other actors’ positions and orientations change, with visible discontinuities between consecutive frames.

My environment:

  • Container: nvcr.io/nvidia/nre/nre-ga:26.04
  • Scene: a NuRec-exported USDZ containing existing dynamic actors
  • Client: the official render-grpc, invoked inside the container using /app/run render-grpc
  • Server: actor editing enabled, NRend disabled

The following commands show the configuration, with example paths and placeholder IDs.

The server runs with:

/app/run serve-grpc \
  --artifact-glob "/workdir/output/repackaged.usdz" \
  --no-enable-nrend \
  --test-scenes-are-valid \
  --enable-editing-actors \
  --port 8080

For the removal test, the edit JSON has the following structure. TARGET_TRACK_ID refers to the existing dynamic actor I want to remove:

{
  "metadata": {
    "output_artifact_path": "/workdir/output/repackaged.usdz",
    "external_assets_metadata": []
  },
  "replace": [],
  "remove": ["TARGET_TRACK_ID"],
  "insert": {
    "asset_ids": [],
    "data": {}
  }
}

I first run the client following the documented example, without the additional client-side actor editing option:

/app/run render-grpc \
  --artifact-path "/workdir/output/repackaged.usdz" \
  --edit-assets "/workdir/output/edit-assets.json" \
  --output-dir "/workdir/output/render_without_client_flag" \
  --camera-id "CAMERA_ID" \
  --host localhost \
  --port 8080

Result: The target actor remains visible.

I then run the same client with --enable-editing-actors:

/app/run render-grpc \
  --artifact-path "/workdir/output/repackaged.usdz" \
  --edit-assets "/workdir/output/edit-assets.json" \
  --output-dir "/workdir/output/render_with_client_flag" \
  --camera-id "CAMERA_ID" \
  --host localhost \
  --port 8080 \
  --enable-editing-actors

Result: The target actor disappears. However, other dynamic actors change position and orientation, and their motion becomes discontinuous between consecutive frames.

The server configuration is unchanged between these two cases: --enable-editing-actors is enabled and --no-enable-nrend is set throughout.

Client configuration Target actor removed? Other actors
--edit-assets only No Original playback behavior
--edit-assets plus --enable-editing-actors Yes Position/orientation changes and temporal discontinuities

In my tests, replace and insert can take effect without the additional client-side flag, whereas remove requires it.

My expected behavior is that the specified actor is removed and all unedited actors retain their original positions, orientations, and motion.

Could you please clarify:

  1. Is client-side --enable-editing-actors required for remove in the 26.04 GA container? If so, should the documentation and client example include it?
  2. What changes in the handling of existing actors’ poses when this client-side option is enabled? How can their original playback trajectories be preserved during removal?
  3. Is this a known issue, and is there a fix or supported workaround? If it has been fixed, please provide the specific container tag or build.

Thank you.