Skip to content

Separation of Concerns for Identifiers in USD#105

Open
asluk wants to merge 37 commits intoPixarAnimationStudios:mainfrom
asluk:aluk/source-identifiers
Open

Separation of Concerns for Identifiers in USD#105
asluk wants to merge 37 commits intoPixarAnimationStudios:mainfrom
asluk:aluk/source-identifiers

Conversation

@asluk
Copy link
Copy Markdown

@asluk asluk commented Mar 8, 2026

Description of Proposal

Summary

Standardize a mechanism for carrying external source identifiers on USD prims alongside namespace paths. Identifiers from systems like IFC, PLM, asset management databases, and telemetry platforms should round-trip through USD without loss or reliance on ad-hoc conventions.

Problem statement

There is no standardized place in USD to store external identifiers. Pipelines work around this by encoding them into prim names, customData, or displayName -- all with significant trade-offs. The displayName migration into uiHints makes this time-sensitive.

Glossary

  • Source identifier -- An identifier from an external system (e.g., IFC GlobalId, PLM part number) independent of the USD namespace path.
  • Identity continuity -- The requirement that source identifiers survive state transitions, re-parenting, and assembly changes.

Reference Links

Details

Two distinct problems are often conflated: (1) an unencumbered source identifier field, and (2) improved prim name ergonomics. This proposal focuses on (1) without foreclosing (2). Two candidate approaches -- extending assetInfo with stratified sub-dictionaries vs. applied schemas with typed properties -- are compared with trade-offs and eight open questions.

Risks

Uncurated proliferation, premature standardization, adoption fragmentation, and scope creep. See proposal for details.

Alternate solutions

Existing mechanisms (customData, displayName, encoding into prim names) are evaluated in the proposal and found insufficient. The two candidate approaches are the alternatives under consideration.

Out of Scope

Prim name grammar extensions, transcoding algorithms, feature-level identity continuity, and authorship traceability. Each is identified as complementary or downstream work in the proposal.

Link to Rendered Proposal

Supporting Materials

None at this time.

Contributing

asluk added 23 commits February 27, 2026 17:03
Captured reviewer's additional notes on UsdModel and UsdMedia as relevant illustrations--
to be addressed in a subsequent working session. Just checkpointing for now.
@asluk asluk force-pushed the aluk/source-identifiers branch from 5b556f2 to 54e5555 Compare March 10, 2026 23:26
asluk and others added 3 commits March 22, 2026 08:51
Add design requirement that vendor extensions are data-model-level
concepts, not OpenUSD plugins, per AOUSD Core Spec 1.0 precedent.
Expand step 5 with specifics of the vendor extensibility model.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@asluk asluk force-pushed the aluk/source-identifiers branch from aea4c30 to 87fe3e3 Compare March 24, 2026 20:18
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace manufacturing-specific framing with three industry-neutral
examples of collapsing internal asset structure (manufacturing,
service documentation, M&E layout).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…feedback

Adds Mercedes-Benz base-number + ES1/ES2 extension codes as a concrete
example of identifier schemes with internal structural rules. Clarifies
the distinction between USD built-in schema validation and domain-specific
validation, which applies equally to dictionaries or schemas.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@asluk asluk force-pushed the aluk/source-identifiers branch from d35b64e to c33200a Compare March 31, 2026 16:55
Source format provenance (URDF/SDF/MJCF round-trip), ROS package
identity, multi-robot fleet composition, sensor/actuator catalog
identifiers, and operational telemetry binding. References the
RobotecAI interoperability REP as a concrete community effort
that would benefit from a standardized identifier mechanism.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@asluk asluk force-pushed the aluk/source-identifiers branch from 9150faf to fea7d15 Compare April 1, 2026 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

6 participants