The `normal` input on the UsdPreviewSurface is defined as being of type `normal3f` rather than a plain old `float3` [1]. Found while adding more test coverage for material reading/writing. The following could also be seen from `usdchecker` when run over files produced by Blender: `Incorrect type for /root/_materials/Material/Principled_BSDF.inputs:normal. Expected 'normal3f'; got 'float3'. (fails 'ShaderPropertyTypeConformanceChecker')` [1] https://openusd.org/release/spec_usdpreviewsurface.html#preview-surface Pull Request: https://projects.blender.org/blender/blender/pulls/126747