Skip to content

USD Optimize v1.2.1

Choose a tag to compare

@dsaxon-nvidia dsaxon-nvidia released this 08 Sep 18:53
· 3 commits to main since this release

[1.2.1] - 2026-09-04

Added

  • shrinkwrap: Temporal Combined mode — sweep meshes over a time range into one static
    envelope mesh (startTime, endTime, timeStep, connectTimeSamples).
  • editStageMetrics: stopAtSkeletonRoot — correct a skeleton at its SkelRoot rather
    than at every prim beneath it.
  • Performance validators: tunable parameters on CoincidingGeometryChecker,
    ColocatedVerticesChecker, FlatHierarchiesChecker, HighVertexCountChecker,
    PrimitiveFitChecker, RedundantTimeSamplesChecker, and RtxMeshCountChecker.
  • Performance validators: mark the rule family @multiprocess_safe, so
    usd-validation-nvidia --process COUNT can pool it.
  • summarize_csv.py: accept a --json-output report as well as a CSV.
  • GitHub Pages workflows for the rendered docs, plus a CI doc-link checker.

Changed

  • Breaking: run-validators: --fix now writes to <stem>.fixed<ext> (or
    --fix-output <path>) and leaves the source untouched. A caller that runs --fix and
    then re-reads the source path gets unfixed data, with no warning and exit 0; pass
    --fix-in-place to restore the previous in-place behaviour.
  • run-validators: the driver exits 2 on fix-flag misuse — --fix-output without a path or
    without --fix, --fix-in-place without --fix, the two combined, zero or several
    candidate assets to protect, or --fix-output resolving to the source.
  • Performance validators: WindingsChecker, ColocatedVerticesChecker, and
    ZeroAreaFacesChecker declare explicit meshCleanup arguments instead of inheriting
    its six enabled defect categories.
  • tools/validators/run.{sh,bat}: stop stripping -v / --verbose, which is upstream's
    own flag.
  • Package config_presets/ in the shipped drop; the docs and skills tell readers to run
    usdOptimize -c config_presets/<name>.json, but the presets shipped in no package.
  • Pin the wheel's usd-exchange to >=2.2,<3; unpinned, it resolved 3.0.0 (OpenUSD 26.08)
    against a wheel built for 25.05.
  • Raise the usd-validation-nvidia floor to 1.21.0 (was 1.19.3).
  • Bump poetry to 2.3.4 and poetry-core to 2.3.2 for CVE fixes.
  • merge / splitMeshes: document the mergePoint values.
  • Shorten the README, moving runbook material into docs/.

Fixed

  • CUDA detection on WSL: load libcuda.so instead of pre-checking sysfs for a PCI display
    adapter, which WSL does not expose. GPU work no longer falls back to CPU.
  • Windows packages: stage the MaterialX runtime DLLs into extraLibs, without which any
    shader lookup failed to load.
  • usdOptimize CLI: run shutdown callbacks on every exit, removing the
    CUDA error: driver shutting down abort on GPU runs.
  • usdOptimize CLI: exit 0 from an explicit -h / --help, and stop consuming a
    flag-shaped final argument as the input path.
  • summarize_csv.py: raise csv's field-size limit so very large fields still parse.
  • Agent skills: correct validator exit codes, the --fix summary and folder restriction,
    an unreachable artifact-replay path, and the unknown-argument policy.
  • Agent skills: move version under metadata and drop angle brackets from description,
    which fail frontmatter validation.
  • Agent skills and guides: the new-operation template returned OperationResult::eSuccess,
    which has never existed, so the documented scaffold could not compile. Also corrected the
    validator-class naming row, debug-operation's -r, repo.bat ci format (CI-only), the
    Windows usdOptimize.bat launcher, a stale path and a wrong "no --fix mode" claim in
    interpret-validators, and stale PLUGINS.md / AGENTS.md paths.
  • config_presets/safe-cleanup.json and memory-reduction.json passed
    considerInstanceability to deduplicateGeometry, which declares no such argument.