Skip to content

Repository files navigation

OpenUSD Geospatial Runtime

An immutable OpenStrata composition of OpenUSD 26.08, the HTTP resolver, point-cloud FileFormat plugins, and the GeoTIFF FileFormat plugin.

v0.1.0

The first release targets Windows x86_64, MSVC 14.3, and host Python 3.13. The composition manifest and lock pin seven independently published component artifacts by both their OpenStrata archive digest and OCI manifest digest.

  • Runtime identity: sha256:904b8c12be5668fde17eda3f49c22b5cc30a253a5ffd3cf851d136ea7457f6bc
  • Composed artifact: sha256:e0bc2fb1c6da23e8e3c722eefd6e6b0623aa7c0d0679e41e30a82152e61e1c62
  • OCI: oci://ghcr.io/animu-sphere/usd-geospatial-runtime@sha256:182e5382cd5096a1f223f6ea65fbd1460d2fc249d68accf6e9f83281404ec3f3

The composed artifact carries an SPDX SBOM and in-toto provenance. A pull into an empty OST registry verified the OCI digest, archive digest, file inventory, SBOM, provenance, archive safety, and artifact kind before reconstruction.

Reproduce the composition

OpenStrata v0.22.8 or newer is required.

ost runtime compose targets/windows-x86_64-msvc143-py313/composition.toml `
  --lock targets/windows-x86_64-msvc143-py313/lock.json --locked --output .local/composed
python tools/accept.py --composition .local/composed `
  --output .local/evidence

To consume the already composed artifact:

ost artifact pull `
  oci://ghcr.io/animu-sphere/usd-geospatial-runtime@sha256:182e5382cd5096a1f223f6ea65fbd1460d2fc249d68accf6e9f83281404ec3f3 `
  --expect-artifact sha256:e0bc2fb1c6da23e8e3c722eefd6e6b0623aa7c0d0679e41e30a82152e61e1c62 `
  --require-kind composed-runtime
ost runtime reconstruct `
  --from-artifact sha256:e0bc2fb1c6da23e8e3c722eefd6e6b0623aa7c0d0679e41e30a82152e61e1c62 `
  --output .local/reconstructed

The acceptance runner uses only probes installed in the composition. It checks the SDK, HTTP cold/warm cache behavior, LAS/LAZ/PLY/COPC reads, ten HTTP/COPC validator scenarios, and GeoTIFF metadata authoring. Python 3.13 is an explicit host prerequisite and is not bundled.

Inspect and validate

targets/windows-x86_64-msvc143-py313/metadata.json describes the released target in machine-readable form: canonical target identity, immutable composition and artifact identities, component versions, and the component that provides each capability. It is generated from the manifest, the lock, and the accepted release evidence, and it is validated against the schemas in schemas/.

python tools/runtime_metadata.py --write
python tools/validate_metadata.py
python tests/tooling/test_metadata_tools.py

These commands run in CI and need only CPython 3.13; the repository installs no Python packages.

Use it from C++

sdk/ holds a small consumer API over the composition. It does not hide OpenUSD: open returns an ordinary pxr::UsdStageRefPtr, and what the SDK adds is a typed failure and machine-readable introspection.

auto runtime = usd_geospatial::runtime_info(prefix);
auto stage = usd_geospatial::open(uri);
if (!stage) {
    // stage.error().id() is "UGEO-E031" when no composed component provides
    // the format; stage.error().detail("capability") names it.
}

runtime_info reads the prefix's own composition lock, so it reports the runtime that is present -- its target, identities, components, and capabilities -- without loading OpenUSD, and can say that a prefix is not a runtime at all. The failure codes are listed in the diagnostics reference, and sdk/README.md covers building, testing, and consuming it. formats reports every extension the runtime knows about with the state that says whether the composition declared it, OpenUSD will dispatch it, or both, so a plugin that shipped and failed to load is visible before an asset is opened. open, runtime_info, and formats exist today; inspect does not.

Scope limits

This release makes no Linux or macOS composition claim. Its synthetic fixtures prove integration, cache reuse, validator invalidation, and format discovery; they do not establish large-file performance, broad server interoperability, or geographic accuracy.

See the v0.1.0 release record for exact inputs and acceptance results.

About

A reproducible OpenUSD runtime for point clouds, GeoTIFF, and remote geospatial assets.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages