The running editor shows separate USD schema cards, UR10 articulation settings and the source asset window.
中文版在文末,点开即可阅读。
Each USD schema on the selected cube (Collision, Mesh Collision, Rigid Body, Mass) now sits in its own card with its USD schema name.
The selected UR10 shows Translate, Rotate, Scale and Articulation Root settings in the running editor.
The source asset window shows a hierarchy, preview and Properties/Raw USD tabs.
Situation
Turing Sim is an experimental OpenUSD editor and robotics simulation workbench. Its Schemas tab lists every schema on the selected prim, including physics APIs, and every edit goes through the document's undo history. On September 28 the tab worked, but it was hard to read. A viewport tool section sat between the name and the Transform, schemas without properties printed "No additional properties", and the Rigid Body and Mass fields ran together with no visible boundary. Transform showed only the transform parts already stored in the file, so the UR10 showed Position but no Rotation or Scale.
Task
The goal was to make the tab read the way USD is structured, following the conventions of Isaac Sim's Property panel. Every property should clearly belong to one schema, Transform should own translate, rotation and scale, and the Articulation Root should expose settings such as self collision. The difficulty was doing this without hardcoding robot or schema names, which the project rules forbid, and without breaking undo.
A second problem appeared during testing. After moving the UR10 with the gizmo, the Transform section switched to "custom transform stack" and the position fields went stale.
Action
-
One card per schema. Each schema is now a bordered card. Its header shows a readable name on the left, the USD schema identifier (for example
PhysicsRigidBodyAPI) on the right, and a remove button for applied APIs. Removing a schema also clears its values in the current edit layer, as one undo step. Cards that are mostly arrays, such as mesh topology, start collapsed. -
Isaac Sim-style rows. Rows are two columns, label and value, and stack when the panel is narrow. Labels come from the schema's own
displayNamemetadata, such as "Center of Mass". A dot at the end of each row shows whether the value is authored: hollow for the schema default, blue when set in the current edit layer (click to revert), grey when set in another layer. Booleans are checkboxes, and physics fields whose USD default is infinity read as "Auto". -
Transform owns position, rotation and scale. Translate, Rotate (or Orient) and Scale always appear, named after their USD transform ops. Rotation switches between Euler degrees and a quaternion. Either input is converted to whichever form the prim already stores, so Isaac-style
orientquaternions stay quaternions. - The gizmo edits the real transform. The cause of the stale fields was that drags wrote a separate matrix op instead of changing the prim's own translate and rotate values. Drags now update those values directly. The matrix op remains only as a fallback for transforms that position/rotation/scale cannot represent. Older matrix ops are merged back on the next edit.
- Articulation Root settings. The card counts the rigid bodies and joints found under the root and offers the PhysX articulation settings: enabled, self collisions, solver iterations, and sleep and stabilization thresholds. Editing one writes the value and applies the PhysX articulation schema in the same undo step.
- Source asset editor. The separate editor for referenced assets now uses the same glass cards and segmented tabs as the main window. A user-provided screenshot of the native editor shows the revised layout; editing behavior in that window has not been checked in a headed session.
Regression tests cover each new edit path with undo and redo, plus a check of all six Euler axis orders against USD's own rotation ops. The full offscreen suite gave 525 passed, 3 failed and 6 skipped. The three failures were older tests still looking up the field by its previous name, "Position X". After updating them, the affected test files pass (61 tests). The whole suite has not been re-run since that fix. The three screenshots at the top show the running app after the changes: separate schema cards, the UR10 Transform and Articulation Root panels, and the source asset editor. They show visible layout and values, not an end-to-end edit or save. The other checks were headless, and today's changes are not yet committed.
Result
In the running editor, a cube with collision, rigid body and mass now shows four clearly separated cards, and each field sits under the schema that owns it. Gizmo moves now show up in the Transform fields, and the UR10's articulation settings can be edited in place.
Next steps are to commit and push these changes, re-run the full suite, test the gizmo against real robot assets in the native viewport, and check the Translate fields at narrow panel widths.
运行中的编辑器展示分开的 USD schema 卡片、UR10 关节体设置及源资产窗口。 Turing Sim 是一个实验性的 OpenUSD 编辑器和机器人仿真工作台。Schemas 页会列出所选 prim 上的所有 schema(包括物理 API),所有修改都进入文档的撤销历史。9 月 28 日时,这个页面能用,但很难读:视口工具区夹在名称和 Transform 之间;没有属性的 schema 显示“No additional properties”;刚体(Rigid Body)和质量(Mass)的字段之间没有边界,混在一起。Transform 只显示文件里已写入的部分,所以 UR10 只有位置,没有旋转和缩放。 目标是让这个页面按 USD 的结构来呈现,并参考 Isaac Sim 属性面板的做法:每个属性都明确属于一个 schema;Transform 负责位置、旋转和缩放;Articulation Root 能设置自碰撞等参数。难点在于不能硬编码机器人或 schema 名称(项目规则禁止),也不能破坏撤销。 测试时又发现一个问题:用 gizmo 移动 UR10 后,Transform 变成“custom transform stack”,位置数值不再更新。 每条新的编辑路径都有带撤销/重做的回归测试,另外还用 USD 自身的旋转操作验证了全部六种欧拉轴顺序。完整的离屏测试结果为 525 项通过、3 项失败、6 项跳过。3 项失败都是旧测试仍按原名称“Position X”查找字段;更新后,相关测试文件(61 项)全部通过,但此后尚未重新运行整套测试。文章顶部的三张截图均展示改动后运行中的应用:分开的 schema 卡片、UR10 的 Transform 与 Articulation Root 面板,以及源资产编辑器。它们证明的是可见布局与数值,并不能证明完整的编辑或保存流程。其余检查均为无界面运行,今天的改动也还没有提交。 在运行中的编辑器里,一个带碰撞、刚体和质量的立方体现在显示为四张清晰分开的卡片,每个字段都在它所属的 schema 下面。gizmo 的移动会直接反映在 Transform 字段里,UR10 的关节体设置也可以直接编辑。 下一步:提交并推送这些改动,重新运行整套测试,在原生视口中用真实机器人资产测试 gizmo,并检查窄面板下的 Translate 字段。中文版 · Chinese version(点击展开)
背景
目标与难点
解决思路与行动
PhysicsRigidBodyAPI),已应用的 API 还有删除按钮。删除 schema 时会一并清除它在当前编辑层的数值,整体是一步撤销。以数组为主的卡片(如网格拓扑)默认折叠。displayName 元数据,例如“Center of Mass”。行尾的圆点表示数值是否已写入:空心是 schema 默认值;蓝色表示已写入当前编辑层(点击可恢复默认);灰色表示写在其他层。布尔值改为复选框;USD 默认值为无穷大的物理字段显示为“Auto”。orient 四元数仍保持为四元数。
结果与下一步



Top comments (0)