Changelog
[0.20.0] - 2025-03-18
Added
Associate requirements to Validators
Document requirements implemented by Validators
Link requirement to the Content Capabilities documentation
Fixed
Multiple fixes in documentation
WeldChecker: Uncaught error index out of range.
[0.19.0] - 2025-03-11
Added
Add content capabilities
Add capabilities and requirements registry
Add code and requirement attributes to Issue class
Fixed
GroundTruthCapabilityChecker: Updates checker to current specification
[0.18.3] - 2025-02-27
Fixed
VehicleCapabilityChecker: Treat ‘tank’ and ‘none’ tokens as synonyms for vehicle steering
UnusedMeshTopologyChecker: Supports for numpy.
[0.18.2] - 2025-02-17
Fixed
Fix false positive GroundTruthCapabilityChecker validation issues when a prim’s
semantic:<instance_name>:params:semanticData
attribute is formatted as a QCode. An example of a false positive validation message is: “SemanticsAPI instance <instance_name> doesn’t have expected semanticType value. Expected ‘wikidata_qcode’, found.” ManifoldChecker: Supports for numpy.
IndexedPrimvarChecker: Supports for numpy.
[0.18.1] - 2025-01-30
Fixed
Fix a bug when writing CSV file through the command line interface.
Add missing legal headers to Python files.
[0.18.0] - 2025-01-28
Added
Add numpy implementation for has empty faces.
[0.17.0] - 2025-01-08
Added
Add MaterialOldMdlSchemaChecker to validate Shaders are not using the deprecated MDL schema and fix those that are.
Add UnicodeNameChecker to warn users about ambiguous siblings and non-normalized paths
Fixed
Catch I/O errors on saving fixes.
[0.16.2] - 2024-12-11
Fixed
Fix OmniSkelUpgradeChecker tests
[0.16.1] - 2024-12-10
Changed
CSV report now includes the asset as the first column. It also adds a
Rule
column and renamesInfo
toMessage
. Therefore, the updated CSV format is as follows:Asset, Rule, Message, Suggestion, Location, Fix Result
.
Fixed
Improve LayerSpecChecker performance
[0.16.0] - 2024-12-03
Added
Add OmniSkelUpgradeChecker to validate skinning method (Available from Kit 107)
Fixed
Fixed ShaderImplementationSourceChecker to respect default “id” implementationSource
[0.15.0] - 2024-11-20
Added
Add ShaderImplementationSourceChecker rule to verify Shader implementationSource
Fixed
Updating omni-docs changes to api docs
Fix incorrect tooltips
Add omni.kit.material.library to demo app to help resolver to find builtin materials
Implement suite option to SimReady CLI tool
Implement functions for JSON and CSV
Fixed exception when trying to use non-existent “allowedTokens” metadata
[0.14.2] - 2024-10-17
Fixed
Release for UI extension
[0.14.1] - 2024-10-16
Fixed
Update to kit 106.2
[0.14.0] - 2024-10-15
Added
Added validation of vehicle specific attribute types, allowed values and time variability.
Add fixer for UnusedMeshTopologyChecker.
KindChecker autofix.
Identifiers contains a reference to the variant selection.
Fixed
Formatting docstrings.
Fix a bug in KindChecker.
Suggestion bug for representation of partial functions.
[0.13.3] - 2024-09-10
Fixed
Issue and Fix accept any first class OpenUSD schema.
Change CLI so no fixes are default.
TextureCheckers prevent validating material templates.
GroundTruthValidator: reports missing semantics more than once for same prim
VehicleCapabilityChecker: Use wheel component transform to determine wheel alignment.
[0.13.2] - 2024-08-29
Fixed
Support multiple OpenUSD stock flavors.
Include simready packages.
Remove restrictions on preview surface.
Texture checker ignore ies files on lights.
Setup default rules for simready validator cli.
Remove material binding api requirements when query geomsubsets.
Build and publish simready package.
Make omni.asset_validator.simready module executable.
[0.13.1] - 2024-08-20
Fixed
Compute Extents fix fail.
Add checks for component rules to detect Xformable default prim
Use normalize_url in identifiers.
Add
--init-rules
,--disable-rules
,--disable-category
to common CLI.VehicleCapabilityChecker: Update vehicle axis alignment validator
VehicleCapabilityChecker: Ignore tasks and guides when checking semantic labels
[0.13.0] - 2024-08-15
Added
Common registry between omni.asset_validator and omni.asset_validator.core
Version can now be accessed in the module and CLI.
Fixed
Fix an error when nonvisual token array has only one invalid value
Filter more int types to skip validation
Fix bug in command line interfacec
Fix diagnostics delegate release
Fix disable rules
Fix MaterialPathChecker bug when fixing.
[0.12.0] - 2024-08-02
Added
Environment domain logic checker
Traffic light validator
Fixed
Allow UPS shader without emissive opacity
Use new names and types for non-visual sensors
Move Material checkers to common
omni.asset_validator
Add repr to IssuePredicate
omni.asset_validator
fix licensesEnable local extensions for validate.bat/validate.sh
[0.11.8] - 2024-07-23
Fixed
Rename AVSimComponent category to Omni:SimReady
Fix Layer Checker
Check all material bindings regardless if material binding api is applied
Progress shows 100 when checkers are still running
Add most of the rules for the Kit less implementation
Avoid calling UsdUtils.ComputeAllDependencies twice
IsAnIssue representation
Enable multiple arguments for IssuePredicates AND and OR
[0.11.7] - 2024-07-17
Added
Scripts to use asset validator command line interface with Omniverse.
Setup poetry for dependency management
[0.11.6] - 2024-07-08
Fixed
ValidateTopologyChecker: Error when no points attribute on a mesh
Update Kit 106
check_package
is skipped if the input stage is usdz formatRemove
attrs
python dependency
Added
NonVisualSensorChecker for avsim
Implement one or more validators to ensure that layer content is internally consistent
Add GroundTruthCapabilityChecker for avsim validators
Kit-less asset validator with basic rules implemented.
[0.11.5] - 2024-05-29
Fixed
OmniMaterialUsdPreviewSurfaceChecker failures are divided into multiple messages.
Add checks for info:mdl:sourceAsset property for OmniMaterialPathChecker.
[0.11.4] - 2024-05-13
Added
Added statistics per validation execution.
Fixed
Variant option was missing from command line arguments.
Improve progress reporting for jobs that are processed slower.
[0.11.3] - 2024-04-24
Fixed
Update for UI 0.11.3
[0.11.1] - 2024-04-09
Fixed
IndexedPrimvarChecker: Do not report non-indexed simple array types.
IndexedPrimvarChecker: Do not check usdSkel related primvars.
OmniDefaultPrimChecker: Allow Scope type to be default prim.
UsdAsciiPerformanceChecker: Skip if layer is anonymous.
ValidationEngine: Added disableRule method.
[0.11.0] - 2024-02-27
Added
OmniMaterialOutOfScopeChecker: Finds material bindings which target materials that are outside the payloads’ hierarchy.
MissingReferenceChecker: Missing reference checker now returns location of the problem.
Fixed
Performance improvements:
Logging: No logging side effects during validation.
Stage immutability: No rendering/UI side effects during validation.
Variants: Option to enable/disable checking all variants.
WeldChecker: Change error level and message.
[0.10.3] - 2024-02-15
Fixed
Tutorial content reviewed and tested to avoid incongruent output. Bugs fixed.
Extents checker comparison using GfIsClose.
Performance: Rules evaluating only assets (i.e.
CheckLayers
) do not evaluate prims.
[0.10.2] - 2024-01-30
Fixed
NormalMapTextureChecker fails to compute a value from a connection to a material file input.
Progress indicator implementation.
Add a summary per rule and per severity in Command Line.
[0.10.1] - 2023-12-15
Fixed
ZeroAreaFaceChecker: Fixed py37 source compatibility
[0.10.0] - 2023-12-14
Added
ManifoldChecker: Counts the number of non-manifold edges and vertices.
IndexedPrimvarChecker: Check optimization of indices for primvars.
UnusedMeshTopologyChecker: Points which are not referenced by the indices can be removed.
ZeroAreaFaceChecker: Faces with zero area can be removed.
WeldChecker: If attributes contain equal values they can be unified and the indices adjusted accordingly.
ValidateTopologyChecker: Validate the topology of a mesh on all time samples.
UnusedPrimvarChecker: Values which are not referenced by the indices in a primvar can be removed.
Fixed
SubdivisionSchemeChecker: remove “Normals should be defined when subdivision scheme is none”.
[0.9.5] - 2023-12-05
Fixed
Move OmniMaterialUsdPreviewSurfaceChecker for older USD releases.
[0.9.4] - 2023-12-04
Fixed
Fix for Python 3.7 compatibility.
Catch errors on class initialization.
[0.9.3] - 2023-11-22
Fixed
Update kit-sdk, repo tools and packman.
[0.9.2] - 2023-11-14
Fixed
Performance and stability issues with compliance checker async methods.
[0.9.1] - 2023-11-01
Fixed
Fixed bug in
omni.asset_validator.core.ValidationRulesRegistry.deregisterRule
(OM-113568).Updated to latest Kit SDK 105.1
[0.9.0] - 2023-10-12
Added
SubdivisionSchemeChecker: Check whether subdivision attribute is congruent with mesh attributes.
Fixed
Compliance checker, check and check_async methods added.
Change GetWarnings, GetErrors, GetFailedChecks for GetIssues
Issues and suggestions support Primvars.
[0.8.1] - 2023-08-18
Fixed
Update for UI 0.8.1
[0.8.0] - 2023-08-08
Fixed
SkelBindingAPIAppliedChecker added: Rule ensuring UsdSkel.BindingAPI is applied.
Fix Location empty for anonymous layers.
Type Checker should ignore /Render* prims.
[0.7.6] - 2023-08-02
Fixed
Update Kit SDK.
[0.7.5] - 2023-08-02
Fixed
Publishing process.
[0.7.1] - 2023-08-01
Fixed
Crash when using OmniMaterialUsdPreviewSurfaceChecker
PrimEncapsulationChecker: Add problem location.
OmniDefaultPrimChecker: Change descriptions.
NormalMapTextureChecker: Add problem location.
[0.7.0] - 2023-07-13
Added
OmniMaterialUsdPreviewSurfaceChecker added: Rule ensuring that UsdShadeShader prims conform to the UsdPreviewSurface specification.
[0.6.2] - 2023-06-20
Fixed
Additional to filter issues by predicates, it is possible to group issues by different criteria. Updated documentation.
[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 IssueRules can can include
suggestion
callables to fix layers/prims/attributes for one or more IssuesAdded 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 liveUsd.Stage
Results
captures anyIssues
for post-processing
ValidationRulesRegistry
enables new rules to be registered with the engineBaseRuleChecker
defines an interface to validate aUsd.Stage
Derived classes may be registered with the
ValidationEngine
via theValidationRulesRegistry
IssueFixer
automatically fixesIssues
where possible, using suggestions provided by theBaseRuleChecker
classes.ValidationRuleTestCase
(in thetests
submodule) simplifies testing of individual rulesPython script for initiating commandline validation runs