{
  "schemaVersion": "1.0.0",
  "project": {
    "id": "casa-cornell",
    "title": "Casa Cornell",
    "purpose": "Evidence-preserving visual demo geometry",
    "status": "manually reviewed schematic",
    "disclaimer": "Room topology, labels, and visible relationships are grounded in the supplied photographed drawings. Schematic polygons are deterministic design geometry for the demo, not a survey, permit set, or substitute for measured CAD."
  },
  "coordinateSystem": {
    "viewBox": [0, 0, 1200, 720],
    "axis": "x right, y down",
    "units": "schematic display units",
    "precisionPolicy": "Never infer measurements from polygon scale; preserve only legible dimension strings as evidence."
  },
  "palette": {
    "living": "#d7b978",
    "bedroom": "#c98f7b",
    "bath": "#80aaa4",
    "service": "#9aa2aa",
    "circulation": "#87a6c0",
    "storage": "#ada58f",
    "garage": "#8e949b",
    "exterior": "#91a584",
    "void": "#d7d3c8"
  },
  "floors": [
    {
      "id": "floor-01",
      "name": "First floor",
      "source": {
        "file": "assets/source/floor-01-original.jpg",
        "pixelSize": [1952, 978],
        "observedCondition": [
          "strong blue cast",
          "large directional sunlight and shadow bands",
          "paper creases and local wrinkles",
          "slight handheld perspective",
          "fine linework partially low contrast"
        ]
      },
      "footprints": [
        [[150, 75], [850, 75], [850, 275], [915, 325], [850, 390], [850, 565], [685, 565], [635, 610], [420, 610], [375, 565], [170, 565], [170, 400], [150, 400]],
        [[850, 75], [1030, 40], [1180, 185], [1065, 335], [915, 325]],
        [[850, 390], [955, 315], [1135, 430], [1045, 585], [900, 535]]
      ],
      "spaces": [
        {"id":"f1-mud","label":"Mud room","kind":"service","dimensions":"11'8\" x 9'6\"","polygon":[[150,75],[275,75],[275,150],[150,150]],"sourceAnchor":[340,145],"confidence":0.97},
        {"id":"f1-bath-6","label":"Bath 6","kind":"bath","dimensions":"9'4\" x 5'2\"","polygon":[[275,75],[355,75],[355,150],[275,150]],"sourceAnchor":[520,151],"confidence":0.95},
        {"id":"f1-kitchen","label":"Kitchen","kind":"living","dimensions":"22'0\" x 16'0\"","polygon":[[170,150],[390,150],[390,345],[170,345]],"sourceAnchor":[470,270],"confidence":0.99,"heroCandidate":true},
        {"id":"f1-pantry","label":"Pantry","kind":"storage","dimensions":"8'9\" x 6'6\"","polygon":[[170,345],[250,345],[250,405],[170,405]],"sourceAnchor":[420,470],"confidence":0.97},
        {"id":"f1-ah-2","label":"A/H #2","kind":"service","dimensions":null,"polygon":[[250,345],[330,345],[330,405],[250,405]],"sourceAnchor":[527,460],"confidence":0.94},
        {"id":"f1-butler-pantry","label":"Butler pantry","kind":"service","dimensions":null,"polygon":[[330,345],[390,345],[390,405],[330,405]],"sourceAnchor":[618,445],"confidence":0.97,"evidenceNote":"Vertical source annotation reads PANTRY / BUTLER; retained separately from the main pantry."},
        {"id":"f1-dining","label":"Dining room","kind":"living","dimensions":"19'4\" x 13'2\"","polygon":[[170,405],[390,405],[390,565],[170,565]],"sourceAnchor":[420,585],"confidence":0.99,"heroCandidate":true},
        {"id":"f1-great","label":"Great room","kind":"living","dimensions":"28'0\" x 28'6\"","polygon":[[390,75],[690,75],[690,360],[390,360]],"sourceAnchor":[775,267],"confidence":0.99,"heroCandidate":true},
        {"id":"f1-office","label":"Office","kind":"living","dimensions":"13'6\" x 10'0\"","polygon":[[690,75],[850,75],[850,190],[690,190]],"sourceAnchor":[1035,130],"confidence":0.98},
        {"id":"f1-wic-office","label":"Walk-in closet, office wing","kind":"storage","dimensions":"5'2\" x 4'2\"","polygon":[[790,40],[850,40],[850,75],[790,75]],"sourceAnchor":[1190,86],"confidence":0.97,"evidenceNote":"A magnified evidence review confirms the source abbreviation W.I.C."},
        {"id":"f1-powder","label":"Powder","kind":"bath","dimensions":"5'2\" x 5'2\"","polygon":[[790,190],[850,190],[850,250],[790,250]],"sourceAnchor":[1195,150],"confidence":0.96},
        {"id":"f1-wic-1","label":"Walk-in closet 1","kind":"storage","dimensions":"10'4\" x 15'4\"","polygon":[[690,250],[770,250],[770,380],[690,380]],"sourceAnchor":[1050,360],"confidence":0.97},
        {"id":"f1-bath-1","label":"Bath 1","kind":"bath","dimensions":"7'0\" x 15'2\"","polygon":[[770,250],[850,250],[850,380],[770,380]],"sourceAnchor":[1164,323],"confidence":0.98,"evidenceNote":"Confirmed in a magnified evidence crop."},
        {"id":"f1-bridge-above","label":"Bridge above","kind":"void","dimensions":null,"polygon":[[390,360],[690,360],[690,420],[390,420]],"sourceAnchor":[785,466],"confidence":0.99},
        {"id":"f1-foyer","label":"Foyer","kind":"circulation","dimensions":null,"polygon":[[420,420],[690,420],[690,565],[635,610],[420,610]],"sourceAnchor":[782,590],"confidence":0.99},
        {"id":"f1-stair","label":"Main stair","kind":"circulation","dimensions":null,"polygon":[[610,455],[690,420],[715,475],[670,565],[620,535]],"sourceAnchor":[928,600],"confidence":0.98},
        {"id":"f1-gym","label":"Gym","kind":"living","dimensions":"13'4\" x 12'0\"","polygon":[[690,380],[850,380],[850,530],[690,530]],"sourceAnchor":[1090,580],"confidence":0.98},
        {"id":"f1-ah-1","label":"A/H #1","kind":"service","dimensions":null,"polygon":[[800,345],[850,345],[850,380],[800,380]],"sourceAnchor":[1190,515],"confidence":0.94},
        {"id":"f1-wic-suite","label":"Walk-in closet, Suite 1","kind":"storage","dimensions":"6'8\" x 11'0\"","polygon":[[850,350],[925,350],[970,405],[910,455],[850,420]],"sourceAnchor":[1314,504],"confidence":0.91},
        {"id":"f1-suite-closet","label":"Closet, Suite 1","kind":"storage","dimensions":null,"polygon":[[800,420],[850,420],[850,490],[800,490]],"sourceAnchor":[1210,620],"confidence":0.92},
        {"id":"f1-suite-1","label":"Suite 1","kind":"bedroom","dimensions":"18'8\" x 24'3\"","polygon":[[850,420],[970,325],[1135,430],[1045,585],[900,535]],"sourceAnchor":[1370,610],"confidence":0.98,"heroCandidate":true,"evidenceNote":"Magnified evidence confirms dimensions and the revision note INCREASE 9'-8\"."},
        {"id":"f1-garage-2car","label":"2-car garage","kind":"garage","dimensions":"23'8\" x 25'8\"","polygon":[[850,75],[1030,40],[1120,130],[1035,270],[915,325],[850,275]],"sourceAnchor":[1380,240],"confidence":0.98,"evidenceNote":"Confirmed after rotating and magnifying the label crop."},
        {"id":"f1-garage-tandem","label":"Tandem garage","kind":"garage","dimensions":"14'8\" x 41'4\"","polygon":[[1030,40],[1180,185],[1120,260],[1035,270],[1120,130]],"sourceAnchor":[1460,90],"confidence":0.98,"evidenceNote":"Confirmed after rotating and magnifying the label crop."},
        {"id":"f1-gazebo","label":"Gazebo","kind":"exterior","dimensions":"19'4\" x 18'4\"","polygon":[[70,520],[190,470],[300,535],[275,650],[120,665],[55,600]],"sourceAnchor":[225,795],"confidence":0.99},
        {"id":"f1-covered-entry","label":"Covered entry","kind":"exterior","dimensions":null,"polygon":[[420,610],[635,610],[685,565],[685,660],[390,660],[390,565]],"sourceAnchor":[800,780],"confidence":0.99,"evidenceNote":"Drawing notes balcony above."},
        {"id":"f1-covered-porch-south","label":"Covered porch, south","kind":"exterior","dimensions":null,"polygon":[[685,530],[900,530],[1045,585],[1000,660],[685,660]],"sourceAnchor":[1120,750],"confidence":0.99},
        {"id":"f1-covered-porch-west","label":"Covered porch, west","kind":"exterior","dimensions":null,"polygon":[[70,140],[150,140],[170,400],[170,520],[80,520]],"sourceAnchor":[73,170],"confidence":0.98,"evidenceNote":"Lower portion is noted balcony above."},
        {"id":"f1-covered-porch-east","label":"Covered porch, east","kind":"exterior","dimensions":null,"polygon":[[1045,365],[1160,420],[1140,590],[1045,585],[1135,430]],"sourceAnchor":[1490,550],"confidence":0.96}
      ],
      "openings": [
        {"id":"f1-o1","kind":"door","between":["f1-mud","f1-kitchen"]},
        {"id":"f1-o2","kind":"door","between":["f1-kitchen","f1-pantry"]},
        {"id":"f1-o3","kind":"opening","between":["f1-kitchen","f1-great"]},
        {"id":"f1-o4","kind":"opening","between":["f1-dining","f1-foyer"]},
        {"id":"f1-o5","kind":"opening","between":["f1-great","f1-bridge-above"]},
        {"id":"f1-o6","kind":"door","between":["f1-office","f1-great"]},
        {"id":"f1-o7","kind":"door","between":["f1-wic-1","f1-bath-1"]},
        {"id":"f1-o8","kind":"door","between":["f1-gym","f1-foyer"]},
        {"id":"f1-o9","kind":"door","between":["f1-suite-1","f1-covered-porch-east"]},
        {"id":"f1-o10","kind":"door","between":["f1-foyer","f1-covered-entry"]}
      ],
      "review": {
        "visibleLabelInventory": ["f1-mud","f1-bath-6","f1-kitchen","f1-pantry","f1-ah-2","f1-butler-pantry","f1-dining","f1-great","f1-office","f1-wic-office","f1-powder","f1-wic-1","f1-bath-1","f1-bridge-above","f1-foyer","f1-stair","f1-gym","f1-ah-1","f1-wic-suite","f1-suite-closet","f1-suite-1","f1-garage-2car","f1-garage-tandem","f1-gazebo","f1-covered-entry","f1-covered-porch-south","f1-covered-porch-west","f1-covered-porch-east"],
        "knownAmbiguities": [
          "Some small dimensions remain degraded by shadow and must be checked against the original drawing before downstream quantitative use.",
          "Garage and Suite 1 oblique geometry is schematic; the source outlines remain the authority.",
          "The schematic polygons deliberately regularize the photographed layout without claiming survey accuracy."
        ]
      }
    },
    {
      "id": "floor-02",
      "name": "Second floor",
      "source": {
        "file": "assets/source/floor-02-original.jpg",
        "pixelSize": [1883, 1018],
        "observedCondition": [
          "strong blue cast",
          "large directional sunlight and shadow bands",
          "paper creases and local wrinkles",
          "roof lines compete with room boundaries",
          "fine dimensions partially low contrast"
        ]
      },
      "footprints": [
        [[90,130],[385,130],[385,80],[740,80],[740,70],[1030,70],[1030,580],[780,580],[780,650],[350,650],[350,550],[90,550]],
        [[45,170],[90,130],[90,360],[45,360]]
      ],
      "spaces": [
        {"id":"f2-br-4","label":"Bedroom 4","kind":"bedroom","dimensions":"13'0\" x 11'2\"","polygon":[[90,130],[260,130],[260,300],[90,300]],"sourceAnchor":[490,328],"confidence":0.99},
        {"id":"f2-wic-4","label":"Walk-in closet 4","kind":"storage","dimensions":"4'0\" x 7'2\"","polygon":[[260,100],[330,100],[330,170],[260,170]],"sourceAnchor":[560,264],"confidence":0.96},
        {"id":"f2-ah-3","label":"A/H #3","kind":"service","dimensions":null,"polygon":[[330,100],[385,100],[385,170],[330,170]],"sourceAnchor":[631,270],"confidence":0.95},
        {"id":"f2-bath-4","label":"Bath 4","kind":"bath","dimensions":"10'4\" x 5'2\"","polygon":[[260,170],[385,170],[385,240],[260,240]],"sourceAnchor":[436,406],"confidence":0.97},
        {"id":"f2-balcony-west","label":"Balcony, west","kind":"exterior","dimensions":"12'0\" x 25'4\"","polygon":[[45,170],[90,130],[90,360],[45,360]],"sourceAnchor":[250,420],"confidence":0.97},
        {"id":"f2-linen","label":"Linen","kind":"storage","dimensions":null,"polygon":[[385,170],[430,170],[430,240],[385,240]],"sourceAnchor":[575,440],"confidence":0.92},
        {"id":"f2-bath-3","label":"Bath 3","kind":"bath","dimensions":"7'2\" x 8'0\"","polygon":[[260,240],[340,240],[340,325],[260,325]],"sourceAnchor":[413,523],"confidence":0.99,"evidenceNote":"Magnified source crop clearly reads 7'2\" x 8'0\"."},
        {"id":"f2-wic-3","label":"Walk-in closet 3","kind":"storage","dimensions":"8'4\" x 5'10\"","polygon":[[340,240],[400,240],[400,325],[340,325]],"sourceAnchor":[493,508],"confidence":0.99,"evidenceNote":"Magnified source crop clearly reads 8'4\" x 5'10\"."},
        {"id":"f2-br-3","label":"Bedroom 3","kind":"bedroom","dimensions":"14'0\" x 11'2\"","polygon":[[90,350],[360,350],[360,550],[90,550]],"sourceAnchor":[455,675],"confidence":0.99},
        {"id":"f2-loft","label":"Loft","kind":"living","dimensions":"8'4\" x 13'8\"","polygon":[[360,350],[480,350],[480,550],[360,550]],"sourceAnchor":[655,620],"confidence":0.98},
        {"id":"f2-great-below","label":"Great room below","kind":"void","dimensions":null,"polygon":[[385,80],[740,80],[740,350],[400,350]],"sourceAnchor":[830,328],"confidence":0.99},
        {"id":"f2-bridge","label":"Bridge","kind":"circulation","dimensions":null,"polygon":[[400,350],[780,350],[780,420],[400,420]],"sourceAnchor":[837,500],"confidence":0.99},
        {"id":"f2-foyer-below","label":"Foyer below","kind":"void","dimensions":null,"polygon":[[480,420],[690,420],[690,580],[480,580]],"sourceAnchor":[823,675],"confidence":0.99},
        {"id":"f2-stair","label":"Main stair","kind":"circulation","dimensions":null,"polygon":[[690,420],[780,420],[780,580],[690,580]],"sourceAnchor":[1010,610],"confidence":0.99},
        {"id":"f2-balcony-south","label":"Balcony, south","kind":"exterior","dimensions":"36'0\" x 7'0\"","polygon":[[350,580],[780,580],[780,650],[350,650]],"sourceAnchor":[840,830],"confidence":0.99,"evidenceNote":"Magnified source crop clearly reads 36'0\" x 7'0\"."},
        {"id":"f2-br-5","label":"Bedroom 5","kind":"bedroom","dimensions":"13'0\" x 10'4\"","polygon":[[780,70],[940,70],[940,190],[780,190]],"sourceAnchor":[1110,170],"confidence":0.98},
        {"id":"f2-bath-5","label":"Bath 5","kind":"bath","dimensions":"7'8\" x 5'2\"","polygon":[[780,190],[850,190],[850,270],[780,270]],"sourceAnchor":[1110,270],"confidence":0.94},
        {"id":"f2-theater","label":"Theater","kind":"living","dimensions":"11'4\" x 16'8\"","polygon":[[850,190],[1030,190],[1030,360],[850,360]],"sourceAnchor":[1210,318],"confidence":0.98,"heroCandidate":true},
        {"id":"f2-laundry","label":"Laundry","kind":"service","dimensions":"5'4\" x 6'0\"","polygon":[[780,360],[860,360],[860,430],[780,430]],"sourceAnchor":[1130,435],"confidence":0.97},
        {"id":"f2-wic-2","label":"Walk-in closet 2","kind":"storage","dimensions":"4'4\" x 4'10\"","polygon":[[860,360],[930,360],[930,430],[860,430]],"sourceAnchor":[1170,504],"confidence":0.95},
        {"id":"f2-bath-2","label":"Bath 2","kind":"bath","dimensions":"7'2\" x 6'0\"","polygon":[[930,360],[1030,360],[1030,450],[930,450]],"sourceAnchor":[1240,470],"confidence":0.96},
        {"id":"f2-br-2","label":"Bedroom 2","kind":"bedroom","dimensions":"18'0\" x 11'2\"","polygon":[[780,430],[1030,430],[1030,580],[780,580]],"sourceAnchor":[1190,630],"confidence":0.99},
        {"id":"f2-ah","label":"A/H","kind":"service","dimensions":null,"polygon":[[385,300],[430,300],[430,350],[385,350]],"sourceAnchor":[696,420],"confidence":0.82,"evidenceNote":"Small service label adjacent to the great-room void; exact system number is not legible."}
      ],
      "openings": [
        {"id":"f2-o1","kind":"door","between":["f2-br-4","f2-bath-4"]},
        {"id":"f2-o2","kind":"door","between":["f2-bath-3","f2-br-3"]},
        {"id":"f2-o3","kind":"opening","between":["f2-loft","f2-bridge"]},
        {"id":"f2-o4","kind":"opening","between":["f2-bridge","f2-stair"]},
        {"id":"f2-o5","kind":"door","between":["f2-br-5","f2-theater"]},
        {"id":"f2-o6","kind":"door","between":["f2-theater","f2-laundry"]},
        {"id":"f2-o7","kind":"door","between":["f2-wic-2","f2-br-2"]},
        {"id":"f2-o8","kind":"door","between":["f2-bath-2","f2-br-2"]},
        {"id":"f2-o9","kind":"opening","between":["f2-foyer-below","f2-balcony-south"]}
      ],
      "review": {
        "visibleLabelInventory": ["f2-br-4","f2-wic-4","f2-ah-3","f2-bath-4","f2-balcony-west","f2-linen","f2-bath-3","f2-wic-3","f2-br-3","f2-loft","f2-great-below","f2-bridge","f2-foyer-below","f2-stair","f2-balcony-south","f2-br-5","f2-bath-5","f2-theater","f2-laundry","f2-wic-2","f2-bath-2","f2-br-2","f2-ah"],
        "knownAmbiguities": [
          "Roof geometry is deliberately excluded from the room inventory and rendered as contextual roof zones only.",
          "Several small closet and bath dimensions require confirmation against the original drawing.",
          "The small A/H annotation near the great-room void is recorded without inventing a system number."
        ]
      }
    }
  ],
  "crossFloorReview": {
    "verticalRelationships": [
      {"from":"f1-great","to":"f2-great-below","relationship":"double-height void"},
      {"from":"f1-foyer","to":"f2-foyer-below","relationship":"double-height void"},
      {"from":"f1-stair","to":"f2-stair","relationship":"vertical circulation"},
      {"from":"f1-covered-entry","to":"f2-balcony-south","relationship":"balcony / covered entry relationship shown by source notes"}
    ],
    "verificationPolicy": [
      "Every visibly named room or spatial label must have exactly one inventory entry.",
      "Review uncertain labels separately from geometry; never silently convert uncertain text into a dimension constraint.",
      "Keep generated cleanup, source evidence, and schematic geometry as three separate assets.",
      "Use the source drawing—not the cleaned image—as the final arbiter when a cleanup suppresses faint linework."
    ]
  }
}
