-
Notifications
You must be signed in to change notification settings - Fork 1.2k
UsdUtilsComplianceChecker migration
jesschimein edited this page Jun 20, 2024
·
4 revisions
The following rules need to be migrated to the new validation framework.
- Review the list of rules to be migrated
- Add your name in the Volunteer column to let others know you're working on the validator
- Submit a PR!
- (optional) Update the status on this tracker.
# | Status | Volunteer | Rule | Group | Details |
---|---|---|---|---|---|
1 | To do | tbd | StageMetadataCheckerUpAxisY | ARKit | usdStage metadata of upAxis must be Y |
2 | To do | tbd | TextureChecker | ARKit | only support texture of type exr jpg jpeg or png, nothing else is allowed for arkit. |
3 | To do | tbd | ARKitPackageEncapsulationChecker | ARKit | For a package root layer, no referenced files should be outside this package. |
4 | To do | tbd | ARKitLayerChecker | ARKit | extensions of any layer in a arkit package. |
5 | To do | tbd | ARKitPrimTypeChecker | ARKit | ARkit can have only specific prim types. |
6 | To do | tbd | ARKitShaderCheckr | ARKit | ARKit shaders must have id as their implementationSource, + other checks |
7 | To do | tbd | ARKitMaterialBindingChecker | ARKit | material binding rels must have valid taget |
8 | To do | tbd | ARKitFileExtensionChecker | ARKit | Only layers and textures are allowed in a package. |
9 | To do | tbd | MissingReferenceChecker | coreUSD | Composed USD Stage should not contain any unresolvable asset dependencies, in every variant(s) of the asset, when using default asset resolver. |
10 | PR submitted | beersandrew | StageMetadataChecker | coreUSD | Various usdStage metadata checks, such as upAxis, metersPerUnit, defaultPrim. |
11 | To do | tbd | PrimEncapsulationRule | coreUSD, usdGeom, usdShade | Though this is a generic rule, currently it only is being used to test for UsdGeomBoundable and UsdShade related concepts. (1) Boundables may not be nested under Gprims (2) Connectable prims (eg Shaders, Materials, etc) can only be nested inside other container-like connected prims. |
12 | To do | tbd | NormalMapTexture | UsdPreviewSurface (usdShadeShader) | Rule governing nodes that feed the inputs:normal of a UsdPreviewSurface. |
13 | To do | tbd | MaterialBindingAPIAppliedChecker | UsdShade | A prim providing a material binding, must have MaterialBindingAPI applied. (This and other APISchema based test might get bundled in a generic coreUSD test instead of specific multiple domain level tests) |
14 | Done | tallytalwar | ShaderPropertyTypeConformanceChecker | UsdShadeShader | UsdShadeShader property types must conform to property types from their sdr representations. |
15 | To do | tbd | SkelBindingAPIAppliedChecker | UsdSkel | A prim providing a skelBinding properties, must have SkelBindingAPI applied. (This and other APISchema based test might get bundled in a generic coreUSD test instead of specific multiple domain level tests) |
16 | To do | tbd | ByteAlignmentChecker | usdz | Files in a usdz package must align to 64 bytes |
17 | To do | tbd | CompressionChecker | usdz | Files within usdz package should not be compressed or encrypted. |
- “Keyword” metadata for a validator belonging to a schemaDomain should be: Validators , Example: UsdCoreValidators, UsdShadeValidators.
- Prefix plugin based validators with plugin name. Example: “usd:CompositionErrorTest”, “usdShade:ShaderSdrCompliance”.
- Provide public tokens for validator name and keyword metadata. Examples: usdCore | usdShade
- Logical encapsulation of Validator rules.
- Granular validation rules using PrimValidateTask vs StageValidateTask (for improved performance)