{
  "title": "Choose a VAO client — Tools & experiences",
  "text": "MODAVIS (2026). Choose a VAO client — Tools & experiences. Research notebooks, September 2026 · expanded edition. https://modavis.org/editions/2026-09-r3/software/clients/",
  "bibtex": "@misc{modavis_software_clients_2026_09_r3,\n  author = {{MODAVIS}},\n  title = {Choose a VAO client — Tools & experiences},\n  year = {2026},\n  month = {09},\n  version = {2026-09-r3},\n  url = {https://modavis.org/editions/2026-09-r3/software/clients/},\n  note = {Content SHA-256: 1b129cf47939aa6c1ae512f3274b72c488eec4be4d6342f54c377d4e51f40a29}\n}",
  "url": "https://modavis.org/editions/2026-09-r3/software/clients/",
  "sha256": "1b129cf47939aa6c1ae512f3274b72c488eec4be4d6342f54c377d4e51f40a29",
  "edition": "2026-09-r3",
  "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\"}],\"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\"}],\"title\":\"Choose a VAO client\"},\"date\":\"2026-09-26\",\"edition\":\"2026-09-r3\",\"figures\":{}}",
  "payload": {
    "edition": "2026-09-r3",
    "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"
            }
          ]
        }
      ],
      "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"
        }
      ]
    },
    "figures": {}
  }
}