Changelog

[0.6.1] - 2023-05-25

Added

  • CLI: Added parameters for fixing issues and filter by predicate. Added documentation.

[0.6.0] - 2023-05-19

Added

  • ExtentsChecker: Implements auto fixing.

  • OmniDefaultPrimChecker: Filters out specific prims.

  • Usd:Schema Rules: Auto fixing is scoped to the location of the issue.

Fixed

  • Regression in anonymous layers, test cases added.

  • Asset Validation blocks when dealing with more than 100 files in async methods.

[0.5.1] - 2023-05-10

Fixed

  • Fixing publishing of extension.

[0.5.0] - 2023-05-10

Fixed

  • Restoring prim may lead to an uncaught error.

  • GetDescription takes doc from class.

  • Auto fixing, Rules can select which layers the fix should be applied first.

  • Update documentation to reflect latest changes.

  • Update to Kit 105

[0.4.0] - 2023-04-27

Added

  • Auto fixing, adding the ability to fix a specific layer via API.

  • Add test for missing types.

[0.3.3] - 2023-03-28

Added

  • Enable pyCoverage.

  • Add validation check + fix for dangling material bindings.

Fixed

  • Add missing lines to Tutorial scripts. Tutorial script samples must be self-sufficient.

[0.3.2] - 2023-03-09

Fixed

  • Adjusted test data for new validation Warnings issued by USD 22.11

[0.3.1] - 2023-03-07

Fixed

  • combine_urls changed behavior, use pathlib.Path instead.

[0.3.0] - 2023-02-07

Added

  • Added a Rule to detect ASCII USD layers containing large array data.

  • Added a new “Usd:Performance” category for optimization based rules.

[0.2.4] - 2023-01-31

Fixed

  • Updated to build with Kit 104.2 by default

  • Fixed unittests when running with Kit 104.2

[0.2.3] - 2023-01-26

Added

  • Asset Validation Tutorial and updated documentation.

[0.2.2] - 2023-01-23

Added

  • UsdGeomSubset and MaterialBindingAPI validators

  • For Python 3.8 and newer add CARB_APP_PATH with os.add_dll_directory()

[0.2.1] - 2022-11-21

Fixed

  • String representation of Issue

[0.2.0] - 2022-10-28

Added

  • Rules can include at to describe the layer/prim/attribute that has been flagged for a particular Issue

  • Rules can can include suggestion callables to fix layers/prims/attributes for one or more Issues

  • Added Suggestions to fix non-relative MDL pathing issues

  • Added Suggestions to fix some OmniDefaultPrimChecker issues

  • Added a rule for UsdLux schema changes, with a Suggestion to create inputs: prefixed attributes matching all known UsdLux attributes.

    • For backwards compatibility with current/older USD libraries, the non-prefixed attributes will be maintained.

    • Note Assets already containing prefixed attributes (eg created in a modern USD application) will not be flagged or modified by this rule.

Fixed

  • Improved asynchronous logic to avoid blocking the primary application (eg Create) & to fix crashes on some larger stages

  • Fixed KindChecker logic, which was previously flagging false issues with assemblies

[0.1.2] - 2022-09-15

Fixed

  • Fixed documentation build & publish.

[0.1.1] - 2022-09-14

Fixed

  • Updated extension registry details and documentation.

[0.1.0] - 2022-09-13

Added

  • ValidationEngine runs a set of rules on a given USD layer file, folder/container URI, or live Usd.Stage

    • Results captures any Issues for post-processing

  • ValidationRulesRegistry enables new rules to be registered with the engine

  • BaseRuleChecker defines an interface to validate a Usd.Stage

    • Derived classes may be registered with the ValidationEngine via the ValidationRulesRegistry

  • IssueFixer automatically fixes Issues where possible, using suggestions provided by the BaseRuleChecker classes.

  • ValidationRuleTestCase (in the tests submodule) simplifies testing of individual rules

  • Python script for initiating commandline validation runs