{
  "title": "Working with the standard — Virtual Acoustic Objects",
  "text": "MODAVIS (2026). Working with the standard — Virtual Acoustic Objects. Research notebooks, September 2026 · expanded edition. https://modavis.org/editions/2026-09-r3/vao/implementation/",
  "bibtex": "@misc{modavis_vao_implementation_2026_09_r3,\n  author = {{MODAVIS}},\n  title = {Working with the standard — Virtual Acoustic Objects},\n  year = {2026},\n  month = {09},\n  version = {2026-09-r3},\n  url = {https://modavis.org/editions/2026-09-r3/vao/implementation/},\n  note = {Content SHA-256: 58a98acfdf8d4e6e5d25466549ab0244d2d0106d345fdb0e21ba0e67c24dede3}\n}",
  "url": "https://modavis.org/editions/2026-09-r3/vao/implementation/",
  "sha256": "58a98acfdf8d4e6e5d25466549ab0244d2d0106d345fdb0e21ba0e67c24dede3",
  "edition": "2026-09-r3",
  "date": "2026-09-26",
  "canonicalPayload": "{\"book\":{\"number\":\"01\",\"slug\":\"vao\",\"title\":\"Virtual Acoustic Objects\"},\"chapter\":{\"blocks\":[{\"items\":[\"Read the final 0.5.0 specification and the profiles relevant to your object.\",\"Keep original measurements and source evidence separate from derived representations.\",\"Record rights for each resource; a package does not erase third-party restrictions.\",\"Validate the workspace and release bindings before packing a carrier.\",\"Verify the carrier and publish it with its version identifier and checksums.\"],\"type\":\"list\"},{\"id\":\"validation\",\"text\":\"Reference validation\",\"type\":\"heading\"},{\"label\":\"From the VAO 0.5.0 source checkout\",\"text\":\"python Tools/vao05.py validate path/to/workspace\\npython Tools/vao05.py pack path/to/workspace output.vao\",\"type\":\"code\"},{\"text\":\"The release includes schemas, conformance fixtures, reference tools and migration guidance. Use the environment and installation instructions distributed with that release rather than assuming that an unrelated tool version implements the same contract.\",\"type\":\"p\"},{\"text\":\"Conformance checks structure, semantics, declared profiles and file integrity. It does not certify the scientific truth of a measurement, attribution or interpretation.\",\"title\":\"What validation establishes\",\"type\":\"note\"},{\"id\":\"implementation-decisions\",\"text\":\"Decide the contract before building the viewer\",\"type\":\"heading\"},{\"headers\":[\"Decision\",\"Why it matters\"],\"rows\":[[\"Object and historical state\",\"Determines which subjects the resources and claims refer to.\"],[\"Profiles and required capabilities\",\"Determines the responsibilities a conforming implementation must satisfy.\"],[\"Exact realizations and provenance\",\"Distinguishes captured material from conversions, derivations and simulations.\"],[\"Delivery and dependencies\",\"Determines which groups must be present before an experience can run.\"]],\"type\":\"table\"},{\"text\":\"For final VAO 0.5.0, Core and Dynamic Delivery are mandatory. Additional profiles express further requirements; they are not decorative labels. An implementation that can display metadata but cannot satisfy a required playback capability should report that limitation. It may still provide useful lower-level inspection without claiming full support for the playable profile.\",\"type\":\"p\"},{\"id\":\"validation-levels\",\"text\":\"Validate at more than one level\",\"type\":\"heading\"},{\"text\":\"Start with a workspace whose manifest and resource paths can be inspected locally. Check the manifest’s references and declared profiles, then verify the exact payload realizations. After packaging, check the carrier mapping and release bindings as well. A structurally valid manifest does not establish that a published carrier contains the bytes it promises.\",\"type\":\"p\"},{\"text\":\"Keep a small fixture with a known result for each capability you implement. Include an unsupported-profile case and an intentionally altered payload: these should produce clear limitations or validation failures, not silent substitution. Record the validator version with the result. This is practical implementation guidance; the versioned conformance specification remains the authority for required tests.\",\"type\":\"p\"},{\"text\":\"The VAO CLI, Unity importer, Blender extension and OrgRec have independent release histories. Consult the client comparison before assuming that an archived client accepts every final 0.5 package.\",\"title\":\"Choose a client by its supported contract\",\"type\":\"note\"},{\"items\":[{\"href\":\"/notebooks/software/clients/\",\"label\":\"Compare the VAO implementations\"}],\"type\":\"links\"},{\"items\":[{\"detail\":\"The versioned specification and reference tools.\",\"href\":\"https://doi.org/10.5281/zenodo.22214248\",\"label\":\"VAO Standard 0.5.0\"},{\"href\":\"https://w3id.org/modavis/vao/0.5.0/\",\"label\":\"VAO persistent entry point\"}],\"type\":\"links\"}],\"intro\":\"Start with a pinned release, declare the capabilities you provide, and preserve exact file identities.\",\"slug\":\"implementation\",\"sources\":[{\"detail\":\"The versioned specification and reference tools.\",\"href\":\"https://doi.org/10.5281/zenodo.22214248\",\"label\":\"VAO Standard 0.5.0\"}],\"title\":\"Working with the standard\"},\"date\":\"2026-09-26\",\"edition\":\"2026-09-r3\",\"figures\":{}}",
  "payload": {
    "edition": "2026-09-r3",
    "date": "2026-09-26",
    "book": {
      "slug": "vao",
      "title": "Virtual Acoustic Objects",
      "number": "01"
    },
    "chapter": {
      "slug": "implementation",
      "title": "Working with the standard",
      "intro": "Start with a pinned release, declare the capabilities you provide, and preserve exact file identities.",
      "blocks": [
        {
          "type": "list",
          "items": [
            "Read the final 0.5.0 specification and the profiles relevant to your object.",
            "Keep original measurements and source evidence separate from derived representations.",
            "Record rights for each resource; a package does not erase third-party restrictions.",
            "Validate the workspace and release bindings before packing a carrier.",
            "Verify the carrier and publish it with its version identifier and checksums."
          ]
        },
        {
          "type": "heading",
          "text": "Reference validation",
          "id": "validation"
        },
        {
          "type": "code",
          "label": "From the VAO 0.5.0 source checkout",
          "text": "python Tools/vao05.py validate path/to/workspace\npython Tools/vao05.py pack path/to/workspace output.vao"
        },
        {
          "type": "p",
          "text": "The release includes schemas, conformance fixtures, reference tools and migration guidance. Use the environment and installation instructions distributed with that release rather than assuming that an unrelated tool version implements the same contract."
        },
        {
          "type": "note",
          "title": "What validation establishes",
          "text": "Conformance checks structure, semantics, declared profiles and file integrity. It does not certify the scientific truth of a measurement, attribution or interpretation."
        },
        {
          "type": "heading",
          "text": "Decide the contract before building the viewer",
          "id": "implementation-decisions"
        },
        {
          "type": "table",
          "headers": [
            "Decision",
            "Why it matters"
          ],
          "rows": [
            [
              "Object and historical state",
              "Determines which subjects the resources and claims refer to."
            ],
            [
              "Profiles and required capabilities",
              "Determines the responsibilities a conforming implementation must satisfy."
            ],
            [
              "Exact realizations and provenance",
              "Distinguishes captured material from conversions, derivations and simulations."
            ],
            [
              "Delivery and dependencies",
              "Determines which groups must be present before an experience can run."
            ]
          ]
        },
        {
          "type": "p",
          "text": "For final VAO 0.5.0, Core and Dynamic Delivery are mandatory. Additional profiles express further requirements; they are not decorative labels. An implementation that can display metadata but cannot satisfy a required playback capability should report that limitation. It may still provide useful lower-level inspection without claiming full support for the playable profile."
        },
        {
          "type": "heading",
          "text": "Validate at more than one level",
          "id": "validation-levels"
        },
        {
          "type": "p",
          "text": "Start with a workspace whose manifest and resource paths can be inspected locally. Check the manifest’s references and declared profiles, then verify the exact payload realizations. After packaging, check the carrier mapping and release bindings as well. A structurally valid manifest does not establish that a published carrier contains the bytes it promises."
        },
        {
          "type": "p",
          "text": "Keep a small fixture with a known result for each capability you implement. Include an unsupported-profile case and an intentionally altered payload: these should produce clear limitations or validation failures, not silent substitution. Record the validator version with the result. This is practical implementation guidance; the versioned conformance specification remains the authority for required tests."
        },
        {
          "type": "note",
          "title": "Choose a client by its supported contract",
          "text": "The VAO CLI, Unity importer, Blender extension and OrgRec have independent release histories. Consult the client comparison before assuming that an archived client accepts every final 0.5 package."
        },
        {
          "type": "links",
          "items": [
            {
              "label": "Compare the VAO implementations",
              "href": "/notebooks/software/clients/"
            }
          ]
        },
        {
          "type": "links",
          "items": [
            {
              "label": "VAO Standard 0.5.0",
              "href": "https://doi.org/10.5281/zenodo.22214248",
              "detail": "The versioned specification and reference tools."
            },
            {
              "label": "VAO persistent entry point",
              "href": "https://w3id.org/modavis/vao/0.5.0/"
            }
          ]
        }
      ],
      "sources": [
        {
          "label": "VAO Standard 0.5.0",
          "href": "https://doi.org/10.5281/zenodo.22214248",
          "detail": "The versioned specification and reference tools."
        }
      ]
    },
    "figures": {}
  }
}