{
  "title": "Choose a VAO client — Tools & experiences",
  "text": "MODAVIS (2026). Choose a VAO client — Tools & experiences. Research notebooks, September 2026 · research guides edition. https://modavis.org/editions/2026-09-r4/software/clients/",
  "bibtex": "@misc{modavis_software_clients_2026_09_r4,\n  author = {{MODAVIS}},\n  title = {Choose a VAO client — Tools & experiences},\n  year = {2026},\n  month = {09},\n  version = {2026-09-r4},\n  url = {https://modavis.org/editions/2026-09-r4/software/clients/},\n  note = {Content SHA-256: 7e810e6af062af1b2e7b9b2ad2a2f921d3e740c9661cacc23141ec2015f12a9a}\n}",
  "url": "https://modavis.org/editions/2026-09-r4/software/clients/",
  "sha256": "7e810e6af062af1b2e7b9b2ad2a2f921d3e740c9661cacc23141ec2015f12a9a",
  "edition": "2026-09-r4",
  "date": "2026-09-26",
  "canonicalPayload": "{\"book\":{\"number\":\"06\",\"slug\":\"software\",\"title\":\"Tools & experiences\"},\"chapter\":{\"blocks\":[{\"text\":\"“Supports VAO” is only the beginning of a compatibility statement. A client can support a particular contract, offer only selected capabilities, or be designed for a specific runtime. The exchange standard and the application release use independent version numbers. The comparison below records the documented states audited for this notebook edition.\",\"type\":\"p\"},{\"id\":\"client-tasks\",\"text\":\"Choose by the operation you need\",\"type\":\"heading\"},{\"headers\":[\"Implementation\",\"Primary use\",\"Recorded version boundary\"],\"rows\":[[\"VAO CLI\",\"DOI resolution, package inspection, bounded retrieval and local materialization.\",\"Archived 0.2.0 targets VAO 0.4; development 0.3.1 supports final 0.4 and 0.5.\"],[\"VAO Importer for Unity\",\"Import into Unity for supported media, control, MIDI and XR workflows.\",\"Archive: 0.6.0-rc.1. Development 0.6.0-rc.4 documents final 0.4 and a pinned 0.5 candidate.\"],[\"VAO Blender\",\"Package validation, inspection and verified embedded GLB materialization.\",\"Published 0.4.0-rc.2 documents final 0.4 and a pinned 0.5 candidate; fuller interaction is a legacy 0.2.2 path.\"],[\"OrgRec\",\"A recording and analysis workflow with VAO export.\",\"Published 0.3.2 provides VAO 0.5 export; consult its own import and export documentation.\"],[\"vaoXR\",\"Browser-based inspection and supported interactive experiences.\",\"Published 0.1.0 is independently versioned; capabilities depend on the package and browser.\"]],\"type\":\"table\"},{\"id\":\"inspect-before-playback\",\"text\":\"Inspect before attempting playback\",\"type\":\"heading\"},{\"items\":[\"Identify the exact object release and the format contract declared in its manifest.\",\"Check the client’s own version and supported profiles; distinguish final specifications from pinned candidates.\",\"Establish which resource groups must be available for the intended operation.\",\"Verify the required realizations before interpreting an image, model or audio result.\",\"Retain unsupported-capability messages with the report of what was actually tested.\"],\"type\":\"list\"},{\"text\":\"A client can be useful even when it cannot execute an entire experience. Metadata inspection, file-integrity checking and geometry import are meaningful operations with narrower requirements than sampled playback or XR. The interface should explain the level of support rather than implying that a successful import validates every aspect of the package.\",\"type\":\"p\"},{\"id\":\"compatibility-note\",\"text\":\"A practical compatibility note\",\"type\":\"heading\"},{\"label\":\"Illustrative record for an interchange test\",\"text\":\"Object release and version DOI:\\nVAO format version:\\nClient name, version and platform:\\nOperation tested:\\nRequired profiles and resource groups:\\nValidation result:\\nUnsupported capabilities or substitutions:\\nOutput artifacts and checksums:\",\"type\":\"code\"},{\"text\":\"Keep the source package unchanged when testing interchange. A newly materialized carrier or derived project is a separate artifact, even when it refers to the same semantic release. If a runtime needs a conversion, document that conversion and preserve a route back to the exact input.\",\"type\":\"p\"},{\"items\":[{\"href\":\"https://doi.org/10.5281/zenodo.22133810\",\"label\":\"VAO CLI 0.2.0 archive\"},{\"href\":\"https://doi.org/10.5281/zenodo.22134391\",\"label\":\"Unity importer 0.6.0-rc.1 archive\"},{\"href\":\"https://doi.org/10.5281/zenodo.22210517\",\"label\":\"Blender 0.4.0-rc.2 archive\"}],\"type\":\"links\"},{\"id\":\"materialization-and-execution\",\"text\":\"A loaded package is not necessarily an executed object\",\"type\":\"heading\"},{\"text\":\"The Unity source documentation distinguishes MetadataOnly, SelectedGroups and RuntimeRequired materialization. Those modes describe different local resource states, while the runtime’s supported behavior adds another layer. Preserve unsupported data for inspection where the client provides that capability, and record which operation was actually performed. Features documented in the later source candidate must not be attributed wholesale to the archived 0.6.0-rc.1 release.\",\"type\":\"p\"},{\"text\":\"For Blender 0.4.0-rc.2, the modern VAO path supports validation, inspection and verified visual materialization. It does not provide modern VAO runtime execution, impulse-response convolution or acoustic simulation. Legacy interaction support belongs to a different format path. This makes Blender useful for checking geometry without presenting it as a complete acoustic player.\",\"type\":\"p\"},{\"items\":[{\"detail\":\"Determine which bytes and dependencies the application needs.\",\"href\":\"/notebooks/vao/delivery/\",\"label\":\"Delivery and selection\"},{\"detail\":\"Report the exact scope of the interchange test.\",\"href\":\"/notebooks/standards/conformance/\",\"label\":\"Conformance layers\"}],\"type\":\"links\"}],\"intro\":\"Match the task, implementation version and declared package capabilities before moving an object between environments.\",\"slug\":\"clients\",\"sources\":[{\"href\":\"https://doi.org/10.5281/zenodo.22214248\",\"label\":\"VAO Standard 0.5.0\"},{\"href\":\"https://doi.org/10.5281/zenodo.22133810\",\"label\":\"VAO CLI archive\"},{\"href\":\"https://doi.org/10.5281/zenodo.22134391\",\"label\":\"Unity importer archive\"},{\"href\":\"https://doi.org/10.5281/zenodo.22210517\",\"label\":\"VAO Blender archive\"},{\"href\":\"https://doi.org/10.5281/zenodo.22698744\",\"label\":\"OrgRec 0.3.2\"},{\"detail\":\"Inspected 26 September 2026. Unity source 0.6.0-rc.4 is a pending candidate, distinct from archive 0.6.0-rc.1; Blender capabilities are bounded to published 0.4.0-rc.2 and its documented legacy path.\",\"label\":\"VAO Unity and VAO Blender · source READMEs\"}],\"title\":\"Choose a VAO client\"},\"date\":\"2026-09-26\",\"edition\":\"2026-09-r4\",\"figures\":{}}",
  "payload": {
    "edition": "2026-09-r4",
    "date": "2026-09-26",
    "book": {
      "slug": "software",
      "title": "Tools & experiences",
      "number": "06"
    },
    "chapter": {
      "slug": "clients",
      "title": "Choose a VAO client",
      "intro": "Match the task, implementation version and declared package capabilities before moving an object between environments.",
      "blocks": [
        {
          "type": "p",
          "text": "“Supports VAO” is only the beginning of a compatibility statement. A client can support a particular contract, offer only selected capabilities, or be designed for a specific runtime. The exchange standard and the application release use independent version numbers. The comparison below records the documented states audited for this notebook edition."
        },
        {
          "type": "heading",
          "text": "Choose by the operation you need",
          "id": "client-tasks"
        },
        {
          "type": "table",
          "headers": [
            "Implementation",
            "Primary use",
            "Recorded version boundary"
          ],
          "rows": [
            [
              "VAO CLI",
              "DOI resolution, package inspection, bounded retrieval and local materialization.",
              "Archived 0.2.0 targets VAO 0.4; development 0.3.1 supports final 0.4 and 0.5."
            ],
            [
              "VAO Importer for Unity",
              "Import into Unity for supported media, control, MIDI and XR workflows.",
              "Archive: 0.6.0-rc.1. Development 0.6.0-rc.4 documents final 0.4 and a pinned 0.5 candidate."
            ],
            [
              "VAO Blender",
              "Package validation, inspection and verified embedded GLB materialization.",
              "Published 0.4.0-rc.2 documents final 0.4 and a pinned 0.5 candidate; fuller interaction is a legacy 0.2.2 path."
            ],
            [
              "OrgRec",
              "A recording and analysis workflow with VAO export.",
              "Published 0.3.2 provides VAO 0.5 export; consult its own import and export documentation."
            ],
            [
              "vaoXR",
              "Browser-based inspection and supported interactive experiences.",
              "Published 0.1.0 is independently versioned; capabilities depend on the package and browser."
            ]
          ]
        },
        {
          "type": "heading",
          "text": "Inspect before attempting playback",
          "id": "inspect-before-playback"
        },
        {
          "type": "list",
          "items": [
            "Identify the exact object release and the format contract declared in its manifest.",
            "Check the client’s own version and supported profiles; distinguish final specifications from pinned candidates.",
            "Establish which resource groups must be available for the intended operation.",
            "Verify the required realizations before interpreting an image, model or audio result.",
            "Retain unsupported-capability messages with the report of what was actually tested."
          ]
        },
        {
          "type": "p",
          "text": "A client can be useful even when it cannot execute an entire experience. Metadata inspection, file-integrity checking and geometry import are meaningful operations with narrower requirements than sampled playback or XR. The interface should explain the level of support rather than implying that a successful import validates every aspect of the package."
        },
        {
          "type": "heading",
          "text": "A practical compatibility note",
          "id": "compatibility-note"
        },
        {
          "type": "code",
          "label": "Illustrative record for an interchange test",
          "text": "Object release and version DOI:\nVAO format version:\nClient name, version and platform:\nOperation tested:\nRequired profiles and resource groups:\nValidation result:\nUnsupported capabilities or substitutions:\nOutput artifacts and checksums:"
        },
        {
          "type": "p",
          "text": "Keep the source package unchanged when testing interchange. A newly materialized carrier or derived project is a separate artifact, even when it refers to the same semantic release. If a runtime needs a conversion, document that conversion and preserve a route back to the exact input."
        },
        {
          "type": "links",
          "items": [
            {
              "label": "VAO CLI 0.2.0 archive",
              "href": "https://doi.org/10.5281/zenodo.22133810"
            },
            {
              "label": "Unity importer 0.6.0-rc.1 archive",
              "href": "https://doi.org/10.5281/zenodo.22134391"
            },
            {
              "label": "Blender 0.4.0-rc.2 archive",
              "href": "https://doi.org/10.5281/zenodo.22210517"
            }
          ]
        },
        {
          "type": "heading",
          "id": "materialization-and-execution",
          "text": "A loaded package is not necessarily an executed object"
        },
        {
          "type": "p",
          "text": "The Unity source documentation distinguishes MetadataOnly, SelectedGroups and RuntimeRequired materialization. Those modes describe different local resource states, while the runtime’s supported behavior adds another layer. Preserve unsupported data for inspection where the client provides that capability, and record which operation was actually performed. Features documented in the later source candidate must not be attributed wholesale to the archived 0.6.0-rc.1 release."
        },
        {
          "type": "p",
          "text": "For Blender 0.4.0-rc.2, the modern VAO path supports validation, inspection and verified visual materialization. It does not provide modern VAO runtime execution, impulse-response convolution or acoustic simulation. Legacy interaction support belongs to a different format path. This makes Blender useful for checking geometry without presenting it as a complete acoustic player."
        },
        {
          "type": "links",
          "items": [
            {
              "label": "Delivery and selection",
              "href": "/notebooks/vao/delivery/",
              "detail": "Determine which bytes and dependencies the application needs."
            },
            {
              "label": "Conformance layers",
              "href": "/notebooks/standards/conformance/",
              "detail": "Report the exact scope of the interchange test."
            }
          ]
        }
      ],
      "sources": [
        {
          "label": "VAO Standard 0.5.0",
          "href": "https://doi.org/10.5281/zenodo.22214248"
        },
        {
          "label": "VAO CLI archive",
          "href": "https://doi.org/10.5281/zenodo.22133810"
        },
        {
          "label": "Unity importer archive",
          "href": "https://doi.org/10.5281/zenodo.22134391"
        },
        {
          "label": "VAO Blender archive",
          "href": "https://doi.org/10.5281/zenodo.22210517"
        },
        {
          "label": "OrgRec 0.3.2",
          "href": "https://doi.org/10.5281/zenodo.22698744"
        },
        {
          "label": "VAO Unity and VAO Blender · source READMEs",
          "detail": "Inspected 26 September 2026. Unity source 0.6.0-rc.4 is a pending candidate, distinct from archive 0.6.0-rc.1; Blender capabilities are bounded to published 0.4.0-rc.2 and its documented legacy path."
        }
      ]
    },
    "figures": {}
  }
}