Appearance
Chapter overview
NOTEBOOK 01

Virtual Acoustic Objects

You’re reading the fixed September 2026 · research guides edition.Current notebook ↗
RESEARCH / NOTEBOOK 01

Follow an asset across its carriers

A VAO release describes a research object. Its carriers distribute exact realizations of that object’s assets. Keeping those two levels separate supports small downloads without losing the identity of the whole.

One semantic release, several useful packages

The VAO 0.5.0 manifest is the semantic contract: it identifies assets, realizations, relationships and the relevant capabilities. A carrier is a particular package of bytes. A bootstrap carrier supplies discovery and evidence material; a preservation carrier supplies the preservation closure; a custom carrier can collect a selected dependency closure. These roles answer different access needs while referring to the same unchanged manifest.

An asset expresses a role in the research object, such as an exterior geometry or an audio recording. A realization identifies a particular encoded form with an exact byte size and SHA-256 digest. A distribution tells a resolver where to obtain it. Treating these as distinct avoids confusing a convenient URL, a low-resolution derivative and the scientific asset they serve.

Resolve an exact version before selecting material

Discovery can begin with a concept-level landing page or a search result, but reproducible acquisition needs an exact release. The Dynamic Delivery Profile connects external carriers through exact identifiers, including the version PID, record and file identities, carrier ID and descriptor digest where applicable. A resolver checks the actual carrier descriptor and obtains the member path from that descriptor. A filename or an HTTP ETag alone is not the realization identity.

  • Inspect the release identity and manifest before choosing assets. Record the exact version used.
  • Select realizations suitable for the task, then compute their required dependency and fallback closure. Dependency and fallback graphs must be acyclic.
  • Retrieve the identified carrier or member bytes. Verify expected size and digest before exposing a realization as acquired.
  • Retain an acquisition receipt that distinguishes attempted, failed and verified retrieval. An inaccessible file gets a diagnostic, not an invented successful byte identity.

A mobile selection, step by step

Imagine a release with a detailed geometry, a smaller geometry and several audio realizations. A mobile selection asks for a suitable subset and its dependencies; it does not redefine the historical instrument. If the selected geometry depends on a material or coordinate frame, that dependency remains part of the usable selection. If a requested profile needs an unavailable group, the client should report that the profile is not materialized instead of silently treating the partial download as complete.

VAO CLI 0.3.1 source workflow · replace the value with an exact VAO version DOI
# These commands are documented for source version 0.3.1.
# Check your installed version and command help before use.
VAO_DOI="<exact version DOI of your VAO object>"
vao resolve "$VAO_DOI" --exact
vao inspect "$VAO_DOI" --exact --assets --groups --archive
vao select "$VAO_DOI" --kind geometry --quality low --max-bytes 100MiB

The placeholder must identify a VAO research object, not the DOI of the standard itself. Selection is a planning step; inspect its result before a fetch or materialization. The archived CLI 0.2.0 is a separate release and must not be assumed to implement the 0.3.1 source workflow. A reproducible record includes the actual CLI version as well as the object version.

When a smaller package is still the same release

A custom carrier can retain the original manifest bytes and package selected verified realizations under a new carrier identity. That changes delivery without changing the semantic release. Transcoding an audio file or simplifying a geometry is different: the result has new bytes and must be represented as a new realization with its derivation. Renaming a file does not make a derived object scientifically equivalent to its source.

The outer archive digest belongs in an external release descriptor rather than inside the archive it hashes. Otherwise the package would require a circular self-hash. VAO also distinguishes hashing the exact manifest bytes from canonicalizing other specified records. Reserializing equivalent JSON can change a byte digest; a verifier must use the hashing procedure defined for the particular artifact.

Sources & further reading

  1. VAO Standard 0.5.0

    Normative standard, profile index, Dynamic Delivery Profile and conformance specification in the versioned release.

  2. VAO CLI · source README, version 0.3.1

    Source documentation inspected on 26 September 2026. This source version was pending release; the separately linked 0.2.0 archive must not be assumed to provide all of these commands or VAO 0.5 behavior.

  3. VAO CLI 0.2.0 archive

    Archived release identity, distinct from the later source documentation used for the command example.

Page editions 2026-09-r4 ↓

Read a fixed snapshot of this chapter, or return to the current notebook.

Edition 2026-09-r4 · SHA-256 a48bb68c9457Page metadata ↗