Skip to content

Separation of Concerns for Identifiers in USD - #105

Open
asluk wants to merge 41 commits into
PixarAnimationStudios:mainfrom
asluk:aluk/source-identifiers
Open

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

Conversation

@asluk

@asluk asluk commented Mar 8, 2026

Copy link
Copy Markdown

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
Comment thread proposals/identifier_separation_of_concerns/README.md Outdated
Comment thread proposals/identifier_separation_of_concerns/README.md Outdated
Comment thread proposals/identifier_separation_of_concerns/README.md Outdated
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Comment thread proposals/UsdSolid/UsdSolidBrep.md Outdated
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>
Comment thread proposals/identifier_separation_of_concerns/README.md
…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
Feedback from Prof. Dr. Bernd Lüdemann-Ravit, Pooja Gupta (HS Kempten),
and Michael Wagner (SyncTwin) on the source identifiers proposal:

- Type-vs-instance scoping suggestion with AAS globalAssetId/specificAssetIds
  precedent and IDTA Digital Nameplate submodel reference (Key Questions,
  Emerging Consensus)
- Explicit identifier typing for deterministic round-tripping, filtering,
  and collision prevention (Single Value vs. Metadata Package)
- AAS multi-identifier pattern reference (Manufacturing section)
- Wagner's bidirectional AAS Digital Battery Passport ↔ OpenUSD
  proof-of-concept exercising both Approach A and B (Emerging Consensus,
  PR linked)
- Updated Appendix A context items and review bullets

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
asluk added a commit to asluk/OpenUSD-proposals that referenced this pull request Apr 8, 2026
- Rework phrasing to reduce AI-isms and diverge from identifiers
  proposal voice
- Break walls of text into bullets and sub-bullets throughout
- Add Media & Entertainment industry use case section (multi-vendor
  VFX, pre-release confidentiality, cross-studio collaboration)
- Reference M&E alongside other industries in intro, motivation,
  and design principles
- Link identifiers proposal to PR PixarAnimationStudios#105 instead of relative path
- Fix line widths to ~75 chars
- Drop NVIDIA platform vendor label, drop Omniverse mention

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

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
asluk and others added 2 commits April 15, 2026 18:09
…tification distinction

Signals to Semantic Web stakeholders that the proposal's separation of
concerns is a domain-specific application of an established knowledge
representation principle, not a reinvention.

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

Cites the W3C Semantic Web Primer: the set of external identifier
systems is not closed, and absence of a source identifier does not
imply absence of external identity.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
asluk added a commit to asluk/OpenUSD that referenced this pull request May 7, 2026
…rong repo

GitHub markdown auto-links bare #N references to the current repo,
so on the asluk/USD PR page "proposal PixarAnimationStudios#105" was resolving to
asluk/USD#105 (does not exist) rather than to OpenUSD-proposals
where the proposal actually lives.

Replaces "proposal PixarAnimationStudios#105" with "proposal 105" in prose contexts and
"Proposal PixarAnimationStudios#105's" with an explicit linked form in the PR body
caveat. Fully-qualified [PixarAnimationStudios/OpenUSD-proposals#105]
link forms throughout the docs are unchanged because they already
resolve correctly via the explicit URL.

Affects:
- _pr7_body.md (pushed via gh pr edit)
- extras/sourceIdentifiers/COMPARISON.md
- extras/sourceIdentifiers/details/field_classification_experiment.md

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
asluk added a commit to asluk/OpenUSD that referenced this pull request May 7, 2026
_pr7_comment_draft.md was a pre-rebuild response to Matt's review
that asserted "the doc now leans toward D" (concern 5). The leaning
has been retracted; updated draft rolls forward what's responsive to
each concern in the current state of the docs:

- Concerns 1, 2, 3, 6, 7 unchanged (already addressed)
- Concern 4 (schema-distribution friction): updated to reflect the
  conditional resolution (currently elevated, trending lighter as the
  AOUSD Build IG epic lands) per Aaron's 2026-05-07 call
- Concern 5 (Semantic Labels + identity dict): expanded to note the
  initial leaning toward D was retracted in light of the field census
  showing identifier packages are heterogeneously typed in every
  vertical surveyed; D's labels-only surface cannot carry that
  surface; D preserved as explored idea with provenance note
- Cross-cutting summary updated with rebuilt scoring totals and the
  methodology comment pointer

Draft remains untracked relative to PR-comment posting workflow; the
file is in the repo as a working document.

Also deletes the stale local copy _pr105_readme.md (proposal lives
canonically in PixarAnimationStudios/OpenUSD-proposals#105).

COMPARISON.md Repository Map: added inline comment in the pxr/usd/
tree clarifying that D has no module by design (reuses
UsdSemanticsLabelsAPI). The "D requires no new schema library"
sentence was already below the tree, but a reviewer scanning the
tree itself would wonder "where's D?"; the inline comment closes
that loop.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@meshula meshula mentioned this pull request Jun 2, 2026
1 task
@jesschimein jesschimein moved this from Todo to Draft in OpenUSD Proposals Status Jun 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Draft

Development

Successfully merging this pull request may close these issues.

6 participants