Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Patch usddiff for USDZ containing crate layers #3438

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

andrewkaufman
Copy link

@andrewkaufman andrewkaufman commented Nov 25, 2024

Description of Change(s)

The underlying layers need to be converted to usda before they are diffed.

Previously a crate layer within a USDZ would produce the following failure when run through usddiff:

Differences in a.usdz[basic.usdc] and b.usdz[basic.usdc]:
'utf-8' codec can't decode byte 0xfe in position 16: invalid start byte

Note that there are 2 test changes here:

  • A new test using the same composed stage as the original testDiffToolIterateUsdz, but with the internal basic.usda converted to basic.usdc.
    • This was done by unzipping the original a.usdz and b.usdz, using usdcat to convert the layer, then usdzip to make the new archives.
  • A change to the expected output in testDiffToolIterateUsdz
    • This is due to all layers within a USDZ running through usdcat now, which did not occur previously.
    • This is an additional bug fix, as _runDiff is called unconditionally on non-zipped layers, so should also be called unconditionally on internal layers. Previously, whitespace diffs in USDA layers would cause failures when embedded in USDZ, but would not cause failures if extracted first & diff'd outside the USDZ. Now the diff result is consistent whether the usda is tested on its own or within an archive.

Checklist

The underlying layers need to be converted to usda before they are diffed.

Previously a crate layer within a USDZ would produce the following failure when run through usddiff:

  Differences in a.usdz[basic.usdc] and b.usdz[basic.usdc]:
  'utf-8' codec can't decode byte 0xfe in position 16: invalid start byte

The change in test output is due to the ascii layer running through usdcat which it did not previously. The particulars of the diff remain the same.
@jesschimein
Copy link
Contributor

Filed as internal issue #USD-10468

@jesschimein
Copy link
Contributor

/AzurePipelines run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants