{
  "standardId": "VIS",
  "standardLabel": "TLA-VIS — Landscape Archive plant visualisation grammar",
  "version": "1.0.0",
  "conditionGrammarVersion": "1.0.0",
  "generatedAt": "2026-09-07T06:54:23.503Z",
  "steward": "The Landscape Archive Foundation",
  "licence": {
    "vocabulary": "CC-BY-4.0",
    "specification": "CC-BY-4.0",
    "referenceImplementation": "Apache-2.0",
    "trademark": "The \"TLA-VIS\" name and conformance mark are retained by the steward.",
    "note": "The vocabulary is open so it can be implemented. The curated species records, meshes and stills built with it are separately licensed and are not covered by this grant."
  },
  "scope": "A controlled vocabulary mapping botanical form and individual condition to renderable parameters. Complements TLA-185 (records and disclosure); it does not replace or extend it.",
  "notStandard": [
    "Not a file format. Geometry ships as glTF / USD.",
    "Not a shading model. Surfaces resolve through standard PBR.",
    "Not a taxonomy. Names come from the relevant flora authority.",
    "Not a genomics ontology. Plant Ontology (PO) already covers anatomy for phenotyping."
  ],
  "termCount": 330,
  "measuredSlotCount": 16,
  "moduleCount": 8,
  "modules": [
    {
      "id": "habit",
      "label": "Habit & architecture",
      "what": "How the plant supports itself and distributes its branches.",
      "termCount": 33,
      "slots": [
        {
          "slot": "growthForm",
          "label": "Growth form",
          "terms": [
            "tree",
            "shrub",
            "palm",
            "grass",
            "groundcover",
            "fern",
            "climber"
          ]
        },
        {
          "slot": "crownShape",
          "label": "Crown shape",
          "terms": [
            "natural",
            "open",
            "spreading",
            "domed",
            "round",
            "conical",
            "columnar",
            "vase",
            "weeping",
            "candelabra",
            "umbrella"
          ]
        },
        {
          "slot": "trunkHabit",
          "label": "Trunk habit",
          "terms": [
            "single",
            "forked",
            "multiStem",
            "mallee"
          ]
        },
        {
          "slot": "branchingGradient",
          "label": "Branching gradient",
          "terms": [
            "acrotonic",
            "mesotonic",
            "basitonic"
          ]
        },
        {
          "slot": "phyllotaxis",
          "label": "Phyllotaxis",
          "terms": [
            "random",
            "alternate",
            "spiral",
            "opposite",
            "whorled",
            "distichous"
          ]
        },
        {
          "slot": "branchInsertion",
          "label": "Branch insertion",
          "terms": [
            "alternate",
            "whorled"
          ]
        }
      ],
      "measured": []
    },
    {
      "id": "foliage",
      "label": "Foliage assembly",
      "what": "How organs are seated on the shoot, and which organ type is applied.",
      "termCount": 150,
      "slots": [
        {
          "slot": "leafTemplate",
          "label": "Leaf template",
          "terms": [
            "auto",
            "genericBroad",
            "eucalyptus",
            "smallLeaf",
            "needle",
            "strap",
            "fernlet",
            "pendulous",
            "acacia",
            "casuarina",
            "melaleuca",
            "banksia",
            "grevillea",
            "stenocarpus",
            "flindersia",
            "callitris",
            "doryphora",
            "syzygium",
            "photinia",
            "pyrus",
            "corymbia",
            "angophora",
            "leptospermum",
            "callistemon",
            "hakea",
            "kunzea",
            "tristaniopsis",
            "lophostemon",
            "syncarpia",
            "westringia",
            "pittosporum",
            "ficus",
            "toona",
            "macadamia",
            "nothofagus",
            "cryptocarya",
            "lomandra",
            "brachychitonJuvenile",
            "mangrove",
            "allocasuarina",
            "brachychiton",
            "araucaria",
            "macrozamia",
            "dacrydium",
            "podocarpus",
            "shrubSmall",
            "shrubMyrtle",
            "shrubHeath",
            "shrubWattle",
            "shrubWisteria",
            "shrubBottlebrush",
            "shrubLavender",
            "shrubRosemary",
            "shrubHawthorn",
            "shrubElaeagnus",
            "shrubBurgundy",
            "shrubSilverberry",
            "shrubLoropetalum",
            "shrubCeanothus",
            "shrubAzalea",
            "shrubDaphne",
            "shrubMolina",
            "shrubDeutzia",
            "shrubForsythia",
            "shrubNandina",
            "shrubBlueberry",
            "shrubCotoneaster",
            "shrubEskimo",
            "shrubHibiscus",
            "shrubIndigofera",
            "shrubEremophila",
            "shrubRhagodia",
            "shrubAcacia",
            "shrubLeptodermis",
            "shrubGardenia",
            "shrubCitrus",
            "shrubViburnum",
            "shrubPieris",
            "shrubChoisya",
            "shrubSpiraea",
            "shrubWeigela",
            "shrubHydrangea",
            "shrubKerria",
            "shrubBerberis",
            "shrubCistus",
            "shrubGenista",
            "shrubUlex",
            "shrubSantolina",
            "shrubTeucrium",
            "shrubSarcococca",
            "shrubDaphneOdora",
            "shrubPhiladelphus",
            "shrubEscallonia"
          ]
        },
        {
          "slot": "twigCluster",
          "label": "Twig cluster",
          "terms": [
            "needle",
            "strap",
            "broadleaf",
            "smallleaf",
            "pendulous",
            "fernlet",
            "eucalypt",
            "wattle",
            "banksia",
            "paperbark",
            "snowpaperbark",
            "melaleucasmallleaf",
            "sheoak",
            "grevillea",
            "hakea",
            "macadamia",
            "westringia",
            "lophostemon",
            "pyrus",
            "palmpinnate",
            "palmfan",
            "foxtailfrond",
            "nikaufrond",
            "fishtailfrond",
            "crownshaftpinnate",
            "cycadfrond",
            "grassblade",
            "tendril",
            "fernfrond",
            "stolon",
            "acaciahair",
            "bipinnate",
            "caudexskirt",
            "spearstrap",
            "succulentrosette",
            "paddleleaf",
            "pandanuscrown",
            "cactuscolumn",
            "cactuspad",
            "cactusbarrel",
            "wollemi",
            "peavine"
          ]
        },
        {
          "slot": "leafType",
          "label": "Leaf type",
          "terms": [
            "broadleaf",
            "smallleaf",
            "needle",
            "strap",
            "fernlet",
            "pendulous"
          ]
        },
        {
          "slot": "leafPosture",
          "label": "Leaf posture",
          "terms": [
            "upright",
            "neutral",
            "droop",
            "pendulous"
          ]
        },
        {
          "slot": "foliageRenderMode",
          "label": "Foliage render mode",
          "terms": [
            "twig",
            "billboard",
            "hybrid"
          ]
        },
        {
          "slot": "frondType",
          "label": "Frond type",
          "terms": [
            "pinnate",
            "fan"
          ]
        }
      ],
      "measured": []
    },
    {
      "id": "lamina",
      "label": "Lamina morphology",
      "what": "Botanical description of the blade, corresponding to flora descriptions.",
      "termCount": 77,
      "slots": [
        {
          "slot": "laminaClass",
          "label": "Lamina outline class",
          "drivesGeometry": true,
          "terms": [
            "lanceolate",
            "falcate",
            "ovate",
            "obovate",
            "elliptic",
            "orbicular",
            "cordate",
            "linear",
            "strap",
            "terete",
            "needle",
            "scale",
            "cladode",
            "phyllode",
            "pinnate",
            "bipinnate",
            "palmate"
          ]
        },
        {
          "slot": "margin",
          "label": "Margin",
          "drivesGeometry": true,
          "terms": [
            "entire",
            "serrate",
            "dentate",
            "crenate",
            "lobed",
            "undulate",
            "spinose"
          ]
        },
        {
          "slot": "apex",
          "label": "Apex form",
          "drivesGeometry": false,
          "terms": [
            "acuminate",
            "acute",
            "obtuse",
            "rounded",
            "emarginate",
            "mucronate",
            "pungent"
          ]
        },
        {
          "slot": "base",
          "label": "Base form",
          "drivesGeometry": false,
          "terms": [
            "cuneate",
            "attenuate",
            "rounded",
            "cordate",
            "oblique",
            "amplexicaul"
          ]
        },
        {
          "slot": "phyllotaxis",
          "label": "Phyllotaxis",
          "drivesGeometry": true,
          "terms": [
            "alternate",
            "spiral",
            "distichous",
            "opposite",
            "decussate",
            "whorled",
            "fascicled",
            "basal"
          ]
        },
        {
          "slot": "attachment",
          "label": "Attachment",
          "drivesGeometry": true,
          "terms": [
            "petiolate",
            "sessile",
            "sheathing",
            "amplexicaul",
            "decurrent"
          ]
        },
        {
          "slot": "orientation",
          "label": "Orientation",
          "drivesGeometry": true,
          "terms": [
            "erect",
            "spreading",
            "pendulous"
          ]
        },
        {
          "slot": "compoundness",
          "label": "Blade complexity",
          "drivesGeometry": true,
          "terms": [
            "simple",
            "compound",
            "pinnate",
            "bipinnate",
            "palmate",
            "trifoliate",
            "phyllode",
            "scale",
            "leafless"
          ]
        },
        {
          "slot": "phenology",
          "label": "Phenology",
          "drivesGeometry": false,
          "terms": [
            "evergreen",
            "deciduous",
            "semi_deciduous",
            "drought_deciduous"
          ]
        },
        {
          "slot": "venation",
          "label": "Venation architecture",
          "drivesGeometry": false,
          "terms": [
            "pinnate",
            "brochidodromous",
            "parallel",
            "palmate",
            "obscure"
          ]
        },
        {
          "slot": "luster",
          "label": "Surface luster",
          "drivesGeometry": false,
          "terms": [
            "glossy",
            "semi_glossy",
            "matte",
            "glaucous",
            "pubescent",
            "scurfy"
          ]
        }
      ],
      "measured": [
        {
          "slot": "lengthMm",
          "label": "Lamina length",
          "unit": "mm",
          "min": 0.2,
          "max": 6000,
          "drivesGeometry": true
        },
        {
          "slot": "widthMm",
          "label": "Lamina width",
          "unit": "mm",
          "min": 0.05,
          "max": 3000,
          "drivesGeometry": true
        },
        {
          "slot": "aspect",
          "label": "Width ÷ length",
          "unit": "",
          "min": 0.01,
          "max": 3,
          "drivesGeometry": true
        },
        {
          "slot": "whorlCount",
          "label": "Leaves per whorl",
          "unit": "",
          "min": 2,
          "max": 16,
          "drivesGeometry": true
        },
        {
          "slot": "divergenceDeg",
          "label": "Divergence angle",
          "unit": "°",
          "min": 30,
          "max": 180,
          "drivesGeometry": true
        },
        {
          "slot": "petioleLengthMm",
          "label": "Petiole length",
          "unit": "mm",
          "min": 0,
          "max": 900,
          "drivesGeometry": true
        },
        {
          "slot": "leafletCount",
          "label": "Leaflets per leaf",
          "unit": "",
          "min": 2,
          "max": 400,
          "drivesGeometry": false
        },
        {
          "slot": "leavesPerShoot",
          "label": "Leaves per shoot",
          "unit": "",
          "min": 1,
          "max": 16,
          "drivesGeometry": true
        },
        {
          "slot": "internodeMm",
          "label": "Internode spacing",
          "unit": "mm",
          "min": 0.5,
          "max": 600,
          "drivesGeometry": false
        },
        {
          "slot": "areaMm2",
          "label": "Lamina area",
          "unit": "mm²",
          "min": 0.1,
          "max": 4000000,
          "drivesGeometry": false
        },
        {
          "slot": "specificLeafAreaMm2Mg",
          "label": "Specific leaf area",
          "unit": "mm²/mg",
          "min": 0.1,
          "max": 200,
          "drivesGeometry": false
        },
        {
          "slot": "glaucousness",
          "label": "Glaucous bloom",
          "unit": "",
          "min": 0,
          "max": 1,
          "drivesGeometry": false
        },
        {
          "slot": "oilGlands",
          "label": "Oil gland density",
          "unit": "",
          "min": 0,
          "max": 1,
          "drivesGeometry": false
        }
      ]
    },
    {
      "id": "surface",
      "label": "Surface & material",
      "what": "Surface response of bark and leaf to incident light.",
      "termCount": 14,
      "slots": [
        {
          "slot": "barkTexture",
          "label": "Bark texture / profile",
          "terms": [
            "smooth",
            "furrowed",
            "mottled",
            "peeling",
            "charcoal",
            "paperbark",
            "sheoak",
            "ironbark",
            "scribbly"
          ]
        },
        {
          "slot": "leafMaterial",
          "label": "Leaf material class",
          "terms": [
            "matte",
            "waxy",
            "silvery",
            "autumn",
            "dry"
          ]
        }
      ],
      "measured": []
    },
    {
      "id": "reproductive",
      "label": "Reproductive structure",
      "what": "Flower and fruit organs, and their arrangement on the shoot.",
      "termCount": 16,
      "slots": [
        {
          "slot": "bloomType",
          "label": "Bloom type",
          "terms": [
            "blossom",
            "pompom",
            "operculum",
            "spike",
            "bottlebrush",
            "toothbrush",
            "puff",
            "waratah",
            "catkin",
            "daisy"
          ]
        },
        {
          "slot": "inflorescence",
          "label": "Inflorescence arrangement",
          "terms": [
            "single",
            "spike",
            "raceme",
            "umbel",
            "head",
            "panicle"
          ]
        }
      ],
      "measured": []
    },
    {
      "id": "condition",
      "label": "Condition & state",
      "what": "The state of this individual. Scenario grammar: a condition is usually modelled, not asserted of the taxon.",
      "termCount": 26,
      "slots": [
        {
          "slot": "condition.water",
          "label": "Water & vigour",
          "terms": [
            "well-watered",
            "adequate",
            "mild-deficit",
            "deficit",
            "severe-deficit",
            "waterlogged"
          ]
        },
        {
          "slot": "condition.decline",
          "label": "Decline & senescence",
          "terms": [
            "vigorous",
            "stable",
            "early-decline",
            "stag-headed",
            "senescent",
            "dead-standing"
          ]
        },
        {
          "slot": "condition.wounds[].kind",
          "label": "Wound taxonomy",
          "terms": [
            "target-cut",
            "flush-cut",
            "stub-cut",
            "storm-snap",
            "fork-failure",
            "natural-shed",
            "fire-scar",
            "strike"
          ]
        },
        {
          "slot": "condition.response",
          "label": "Plant response",
          "terms": [
            "none",
            "epicormic-flush",
            "lignotuber-resprout",
            "coppice-regrowth",
            "kino-exudate",
            "basal-sprout"
          ]
        }
      ],
      "measured": [
        {
          "slot": "condition.wounds[].ageYears",
          "label": "Wound age",
          "unit": "years",
          "min": 0,
          "max": 400,
          "drivesGeometry": true
        },
        {
          "slot": "condition.wounds[].diameterMm",
          "label": "Wound diameter",
          "unit": "mm",
          "min": 5,
          "max": 3000,
          "drivesGeometry": true
        },
        {
          "slot": "condition.wounds[].occlusion",
          "label": "Occlusion (derived)",
          "unit": "0..1",
          "min": 0,
          "max": 1,
          "drivesGeometry": true
        }
      ]
    },
    {
      "id": "temporal",
      "label": "Temporal state",
      "what": "Seasonal position and life-history stage. Neither is a condition.",
      "termCount": 8,
      "slots": [
        {
          "slot": "season",
          "label": "Season",
          "terms": [
            "spring",
            "summer",
            "autumn",
            "winter"
          ]
        },
        {
          "slot": "growth.ageStage",
          "label": "Age stage",
          "terms": [
            "sapling",
            "juvenile",
            "mature",
            "veteran"
          ]
        }
      ],
      "measured": []
    },
    {
      "id": "provenance",
      "label": "Provenance & honesty",
      "what": "The evidentiary basis of each term. Required: a term with no basis is not conformant.",
      "termCount": 6,
      "slots": [
        {
          "slot": "condition.basis",
          "label": "Condition basis",
          "terms": [
            "observed",
            "specified",
            "engine"
          ]
        },
        {
          "slot": "trait.provenance",
          "label": "Trait provenance",
          "terms": [
            "measured",
            "derived",
            "archetype"
          ]
        }
      ],
      "measured": []
    }
  ],
  "conformance": {
    "level1": "Consumes the vocabulary — recognises terms and renders something plausible.",
    "level2": "Round-trips the vocabulary — reads and re-emits without term loss.",
    "level3": "Honours honesty gates — refuses terms a growth form or taxon cannot express, and carries basis."
  },
  "honesty": [
    "A term with no provenance basis is not conformant.",
    "Condition terms are scenario claims unless basis is `observed`.",
    "Implementations must not invent a term to fill a gap; unknown input degrades to the default.",
    "The vocabulary is open; the curated records built with it are not covered by this grant."
  ]
}
