{
  "schema": "obras-casa-coordenado/2",
  "revision": "R42_ESPELHOS_1760_QUARTOS",
  "units": "metres",
  "coordinateSystem": {
    "x": "CAD x",
    "y": "CAD y",
    "z": "height above finished floor",
    "threeJsMapping": "[x,z,-y]",
    "northWestRoad": "positive CAD y",
    "southEastGarden": "negative CAD y"
  },
  "source": {
    "geometry": "Verificacao_R21.json",
    "cad": "Obras_Casa_Correcoes_R21_mm.dxf",
    "cadSha256": "7f1d0b538738d68cc518ce526bdfaa06e3bb3dd25f3eba1d26ac526d29f2d25a",
    "revision": "R21",
    "cadFile": "Obras_Casa_Correcoes_R21_mm.dxf",
    "previous_global_json": "output\\Atualizacao_Casa_Simoes_R27\\Dados_Coordenados_R27.json",
    "previous_global_sha256": "06361e0521fa79a6d4900bfa3ccbd1106e3ef6cd9fece1d40565713db33ec043",
    "adopted_suite_json": "output\\R31_Suite_Cama_Rodada\\C2_Coordenado.json",
    "adopted_suite_sha256": "bd3cb5459d972065c0fb34e9c1ebeca02804d09251a303931e0048d302d2ed18",
    "current_geometry": "Dados_Coordenados_R38.json; consolidação digital R38 sobre a implantação C2 e decisão S2. Não é levantamento físico.",
    "source_R37_global_sha256": "cfb91d61031f758cb3ee4d925c5f3954eb394294f6494c0c99582e7afcbd9e0e"
  },
  "accuracy": {
    "plan": "R38: implantação C2, S2 comum escolhida para desenvolvimento, sem armários suspensos nos banhos; duas cómodas, cozinha/eletricidade/solar coordenadas por contratos de domínio.",
    "heights": "Pé-direito/vãos R5 mantidos. Platibanda e acabamento de cobertura são cotas de estudo a confirmar nos cortes.",
    "appearance": "Cores, acabamentos, tecidos, vegetação e forma decorativa são proposta ilustrativa.",
    "structure": "Ampliação, cobertura, pala, fundações, redes, impermeabilização e terreno por verificar nas especialidades; sem liberação de execução.",
    "technicalHall": "R05 é técnico à cor da parede, push-latch. Equipamentos e projeto elétrico/ITED ainda por definir. Casacos/mochilas emPANTRY.",
    "suite_dresser": "C2: cómoda independente2000×450×800, seisgavetas, espelhoØ850. Substitui consola; gavetas curso350 em estudo, com uso sequencial da aproximação VE7.",
    "R27_scope": "Revisão por compartimento, estudo das casas de banho, uniformização do hall e superiores da cozinha abertos. Base publicada35renders consultada28/10/2026.",
    "bathrooms_R27": "I.S.comum conservada:WCjá160mmdo poliban. I.S.suíte em estudo:WCjuntoaoduche e lavatório800x500paredenascente, faceW. Sem certificação/levantamento nem execução de redes.",
    "R32_laundry": "Congelado integralmente proposal.study.laundry efetivo R27. Cópias gerais antigas normalizadas para esse bloco; faixa adicional300W apenas reservada.",
    "active_authority": "Esta versão consolidada e os contratos de domínio R38; referências R21..R37 conservadas para rastreabilidade, não estados atuais de aprovação."
  },
  "bodyBBox": [
    -0.3,
    -0.25,
    16.6,
    8.75
  ],
  "floorHeight": 0,
  "wallHeight": 2.7,
  "technicalUndersideHeight": 3.1,
  "technicalCeilingZone": 0.4,
  "areas": {
    "house": 152.1,
    "carport": 33.63,
    "gardenCanopy": 8.45,
    "entryCanopy": 2.0,
    "houseAndCarport": 185.73,
    "allRoofProjections": 196.18
  },
  "walls": [
    {
      "id": "W01",
      "bbox": [
        -0.3,
        -0.25,
        -0.04999999999999999,
        4.15
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": false,
      "heightStatus": "pé-direito definido na R5",
      "group": "exterior",
      "material": "wall",
      "layoutRevision": "R32",
      "geometryStatus": "Adotado para desenvolvimento; cotas digitais, sem levantamento ou liberação de fabrico"
    },
    {
      "id": "W02",
      "bbox": [
        -0.3,
        5.25,
        -0.04999999999999999,
        6.8
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": false,
      "heightStatus": "pé-direito definido na R5",
      "group": "exterior",
      "material": "wall",
      "layoutRevision": "R32",
      "geometryStatus": "Adotado para desenvolvimento; cotas digitais, sem levantamento ou liberação de fabrico"
    },
    {
      "id": "W03",
      "bbox": [
        -0.3,
        7.7,
        -0.04999999999999999,
        8.75
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": false,
      "heightStatus": "pé-direito definido na R5",
      "group": "exterior",
      "material": "wall",
      "layoutRevision": "R32",
      "geometryStatus": "Adotado para desenvolvimento; cotas digitais, sem levantamento ou liberação de fabrico"
    },
    {
      "id": "W04",
      "bbox": [
        -0.3,
        -0.25,
        1.4,
        0.0
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": false,
      "heightStatus": "pé-direito definido na R5",
      "group": "exterior",
      "material": "wall",
      "layoutRevision": "R32",
      "geometryStatus": "Adotado para desenvolvimento; cotas digitais, sem levantamento ou liberação de fabrico"
    },
    {
      "id": "W05",
      "bbox": [
        3.2,
        -0.25,
        4.235355338,
        0.0
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "exterior",
      "material": "wall"
    },
    {
      "id": "W06",
      "bbox": [
        6.935355338,
        -0.25,
        10.85,
        0.0
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "exterior",
      "material": "wall"
    },
    {
      "id": "W07",
      "bbox": [
        12.65,
        -0.25,
        13.4,
        0.0
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "exterior",
      "material": "wall"
    },
    {
      "id": "W08",
      "bbox": [
        15.2,
        -0.25,
        16.6,
        0.0
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "exterior",
      "material": "wall"
    },
    {
      "id": "W09",
      "bbox": [
        -0.3,
        8.5,
        2.0,
        8.75
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": false,
      "heightStatus": "pé-direito definido na R5",
      "group": "exterior",
      "material": "wall",
      "layoutRevision": "R32",
      "geometryStatus": "Adotado para desenvolvimento; cotas digitais, sem levantamento ou liberação de fabrico"
    },
    {
      "id": "W10",
      "bbox": [
        3.0,
        8.5,
        5.4,
        8.75
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "exterior",
      "material": "wall"
    },
    {
      "id": "W11",
      "bbox": [
        7.2,
        8.5,
        9.1,
        8.75
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "exterior",
      "material": "wall"
    },
    {
      "id": "W12",
      "bbox": [
        10.1,
        8.5,
        11.3,
        8.75
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "exterior",
      "material": "wall"
    },
    {
      "id": "W13",
      "bbox": [
        12.3,
        8.5,
        13.4,
        8.75
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "exterior",
      "material": "wall"
    },
    {
      "id": "W14",
      "bbox": [
        15.2,
        8.5,
        16.6,
        8.75
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "exterior",
      "material": "wall"
    },
    {
      "id": "W15",
      "bbox": [
        16.35,
        -0.25,
        16.6,
        8.75
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "exterior",
      "material": "wall"
    },
    {
      "id": "W16",
      "bbox": [
        3.85,
        0.0,
        4.0,
        2.55
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall"
    },
    {
      "id": "W17",
      "bbox": [
        3.85,
        3.45,
        4.0,
        3.65
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall"
    },
    {
      "id": "W20",
      "bbox": [
        3.85,
        3.65,
        4.0,
        6.5
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": false,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall",
      "layoutRevision": "R32",
      "geometryStatus": "Adotado para desenvolvimento; cotas digitais, sem levantamento ou liberação de fabrico"
    },
    {
      "id": "W21",
      "bbox": [
        3.85,
        7.4,
        4.0,
        8.5
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall"
    },
    {
      "id": "W22",
      "bbox": [
        -0.05,
        5.68,
        4.0,
        5.85
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": false,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall",
      "layoutRevision": "R32",
      "geometryStatus": "Adotado para desenvolvimento; cotas digitais, sem levantamento ou liberação de fabrico"
    },
    {
      "id": "W23",
      "bbox": [
        10.25,
        0.0,
        10.4,
        3.9
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall"
    },
    {
      "id": "W24",
      "bbox": [
        10.25,
        4.8,
        10.4,
        5.55
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall"
    },
    {
      "id": "W25",
      "bbox": [
        10.95,
        5.55,
        11.1,
        8.5
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall"
    },
    {
      "id": "W26",
      "bbox": [
        10.25,
        5.4,
        12.23,
        5.55
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall"
    },
    {
      "id": "W27",
      "bbox": [
        13.13,
        5.4,
        13.35,
        5.55
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall"
    },
    {
      "id": "W28",
      "bbox": [
        13.35,
        4.14,
        16.6,
        4.35
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "exterior",
      "material": "wall"
    },
    {
      "id": "W31",
      "bbox": [
        14.75,
        3.54,
        14.85,
        4.14
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall"
    },
    {
      "id": "W32",
      "bbox": [
        14.75,
        4.35,
        14.85,
        4.95
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall"
    },
    {
      "id": "W33",
      "bbox": [
        8.5,
        7.591515906,
        8.65,
        8.5
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall"
    },
    {
      "id": "W34",
      "bbox": [
        -0.3,
        -0.75,
        -0.04999999999999999,
        -0.25
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": false,
      "heightStatus": "pé-direito definido na R5",
      "group": "exterior",
      "material": "wall",
      "layoutRevision": "R32",
      "geometryStatus": "Adotado para desenvolvimento; cotas digitais, sem levantamento ou liberação de fabrico"
    },
    {
      "id": "W35",
      "bbox": [
        16.35,
        -0.75,
        16.6,
        -0.25
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "exterior",
      "material": "wall"
    },
    {
      "id": "W36",
      "bbox": [
        13.2,
        0.0,
        13.35,
        3.19
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall"
    },
    {
      "id": "W37",
      "bbox": [
        13.2,
        4.09,
        13.35,
        4.4
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall"
    },
    {
      "id": "W38",
      "bbox": [
        13.2,
        5.3,
        13.35,
        5.55
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall"
    },
    {
      "id": "W39",
      "bbox": [
        13.18,
        5.55,
        13.35,
        8.5
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall"
    },
    {
      "id": "W40",
      "bbox": [
        10.4,
        2.94,
        11.1,
        3.09
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall"
    },
    {
      "id": "W41",
      "bbox": [
        12.0,
        2.94,
        13.35,
        3.09
      ],
      "height": 2.7,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "pé-direito definido na R5",
      "group": "interior",
      "material": "wall"
    },
    {
      "id": "W_SU_N",
      "bbox": [
        -0.04999999999999999,
        3.1,
        2.95,
        3.25
      ],
      "height": 2.7,
      "base": 0,
      "group": "interior",
      "material": "wall",
      "exactPlan": false,
      "layoutRevision": "R32",
      "note": "Parede norte do quarto; antiga porta direta eliminada, acesso900 ao closet."
    },
    {
      "id": "W_IS_CL_S",
      "bbox": [
        1.84,
        3.25,
        2,
        4.175
      ],
      "height": 2.7,
      "base": 0,
      "group": "interior",
      "material": "wall",
      "exactPlan": false,
      "layoutRevision": "R37_PROPOSTA",
      "note": "Divisória150com cassete sul deP5, adjacente ao duche; sem perfurações.",
      "notes": "EWOLUTO reforçada150 +10acabamento húmido; preencher25do antigo vão para encaixarA850 e conservar claro800."
    },
    {
      "id": "W_IS_CL_N",
      "bbox": [
        1.84,
        5.025,
        2,
        5.68
      ],
      "height": 2.7,
      "base": 0,
      "group": "interior",
      "material": "wall",
      "exactPlan": false,
      "layoutRevision": "R37_PROPOSTA",
      "note": "Pano entre o vãoP5 e parede norte da I.S.",
      "notes": "Recomposição do aro/terminal mantendo claroY4.20..5.00; heatercomeça5.10."
    }
  ],
  "openings": [
    {
      "id": "VE1",
      "category": "VE",
      "bbox": [
        2.0,
        8.5,
        3.0,
        8.75
      ],
      "width": 1.0,
      "height": 0.4,
      "sill": 1.7,
      "head": 2.1,
      "orientation": "horizontal",
      "facade": "NW",
      "rooms": [
        "Lavandaria"
      ],
      "type": "Janela alta de iluminação, oscilobatente, uma folha",
      "materialDescription": "Alumínio com corte térmico; vidro fosco de segurança",
      "notes": "Janela de iluminação1000 ×400, peitoril1700, cabeça2100. Uma folha praticável, vidro fosco e comando acessível. Não se aplica automaticamente à lavandaria o mínimo das janelas de I.S. Ventilação, ar de combustão se aplicável e condições de equipamentos a compatibilizar.",
      "transparent": false,
      "frosted": true,
      "sliding": false,
      "frameMaterial": "aluminium",
      "exactPlan": true,
      "leafCount": 1,
      "activeLeafSide": null
    },
    {
      "id": "VE2",
      "category": "VE",
      "bbox": [
        5.4,
        8.5,
        7.2,
        8.75
      ],
      "width": 1.8,
      "height": 1.0,
      "sill": 1.1,
      "head": 2.1,
      "orientation": "horizontal",
      "facade": "NW",
      "rooms": [
        "Cozinha"
      ],
      "type": "Janela de correr em vidro transparente, duas folhas iguais e duas calhas",
      "materialDescription": "Alumínio com corte térmico, acabamento antracite; vidro duplo transparente de segurança",
      "notes": "R17: 1800 x 1000 mm; peitoril 1100 mm; cabeça 2100 mm; eixo x=6300 mm alinhado com lava-loiça. Duas folhas de correr em planos distintos; sem projeção de folha sobre bancada/torneira. Dimensões nominais de estudo; caixilharia e verga a dimensionar pelo projeto de execução.",
      "transparent": true,
      "frosted": false,
      "sliding": true,
      "frameMaterial": "aluminium",
      "exactPlan": true,
      "leafCount": 2,
      "activeLeafSide": "both",
      "trackCount": 2,
      "centredOnSink": true
    },
    {
      "id": "VE3",
      "category": "VE",
      "bbox": [
        11.3,
        8.5,
        12.3,
        8.75
      ],
      "width": 1.0,
      "height": 0.4,
      "sill": 1.7,
      "head": 2.1,
      "orientation": "horizontal",
      "facade": "NW",
      "rooms": [
        "I.S. comum"
      ],
      "type": "Janela alta de iluminação, oscilobatente, uma folha",
      "materialDescription": "Alumínio com corte térmico; vidro fosco de segurança",
      "notes": "Alteração pedida:1000 ×400, peitoril1700, cabeça2100. Uma folha praticável, vidro fosco, comando acessível. Área bruta0,40 m² inferior à regra dimensional do art.87.º(0,54/0,36 m²). Requer justificar admissibilidade do art.87.º,n.º2 e ventilação; presença de VMC não é dispensa automática.",
      "transparent": false,
      "frosted": true,
      "sliding": false,
      "frameMaterial": "aluminium",
      "exactPlan": true,
      "leafCount": 1,
      "activeLeafSide": null
    },
    {
      "id": "VE4",
      "category": "VE",
      "bbox": [
        13.4,
        8.5,
        15.2,
        8.75
      ],
      "width": 1.8,
      "height": 2.1,
      "sill": 0.0,
      "head": 2.1,
      "orientation": "horizontal",
      "facade": "NW",
      "rooms": [
        "Quarto1"
      ],
      "type": "Correr envidraçado, 2 folhas",
      "materialDescription": "Alumínio com corte térmico; vidro duplo de segurança",
      "notes": "Família1800x2100; passagem útil>=800mm e altura útil>=2000mm a comprovar pelo sistema; soleira nivelada, alvo0mm e máximo20mm. Folha de acesso: oeste; comprovar posição da passagem e aproximações do desenho, não apenas largura útil.",
      "transparent": true,
      "frosted": false,
      "sliding": true,
      "frameMaterial": "aluminium",
      "exactPlan": true,
      "leafCount": 2,
      "activeLeafSide": "oeste"
    },
    {
      "id": "VE5",
      "category": "VE",
      "bbox": [
        13.4,
        -0.25,
        15.2,
        0.0
      ],
      "width": 1.8,
      "height": 2.1,
      "sill": 0.0,
      "head": 2.1,
      "orientation": "horizontal",
      "facade": "SE",
      "rooms": [
        "Quarto2"
      ],
      "type": "Correr envidraçado, 2 folhas",
      "materialDescription": "Alumínio com corte térmico; vidro duplo de segurança",
      "notes": "Família1800x2100; passagem útil>=800mm e altura útil>=2000mm a comprovar pelo sistema; soleira nivelada, alvo0mm e máximo20mm. Folha de acesso: oeste; comprovar posição da passagem e aproximações do desenho, não apenas largura útil.",
      "transparent": true,
      "frosted": false,
      "sliding": true,
      "frameMaterial": "aluminium",
      "exactPlan": true,
      "leafCount": 2,
      "activeLeafSide": "oeste"
    },
    {
      "id": "VE6",
      "category": "VE",
      "bbox": [
        4.235355338,
        -0.25,
        6.935355338,
        0.0
      ],
      "width": 2.7,
      "height": 2.1,
      "sill": 0.0,
      "head": 2.1,
      "orientation": "horizontal",
      "facade": "SE",
      "rooms": [
        "Sala"
      ],
      "type": "Correr envidraçado, 2 folhas",
      "materialDescription": "Alumínio com corte térmico; vidro duplo de segurança",
      "notes": "Normalizado para2700mm; útil de fornecimento mínimo1200mm. Folha de acesso: oeste; comprovar posição da passagem e aproximações do desenho, não apenas largura útil.",
      "transparent": true,
      "frosted": false,
      "sliding": true,
      "frameMaterial": "aluminium",
      "exactPlan": true,
      "leafCount": 2,
      "activeLeafSide": "oeste"
    },
    {
      "id": "VE7",
      "category": "VE",
      "bbox": [
        1.4,
        -0.25,
        3.2,
        0.0
      ],
      "width": 1.8,
      "height": 2.1,
      "sill": 0.0,
      "head": 2.1,
      "orientation": "horizontal",
      "facade": "SE",
      "rooms": [
        "Quarto Suite"
      ],
      "type": "Correr envidraçado, 2 folhas",
      "materialDescription": "Alumínio com corte térmico; vidro duplo de segurança",
      "notes": "Família1800x2100; passagem útil>=800mm e altura útil>=2000mm a comprovar pelo sistema; soleira nivelada, alvo0mm e máximo20mm. Folha de acesso: este; comprovar posição da passagem e aproximações do desenho, não apenas largura útil.",
      "transparent": true,
      "frosted": false,
      "sliding": true,
      "frameMaterial": "aluminium",
      "exactPlan": true,
      "leafCount": 2,
      "activeLeafSide": "este"
    },
    {
      "id": "VE8",
      "category": "VE",
      "bbox": [
        -0.3,
        4.15,
        -0.05,
        5.25
      ],
      "width": 1.1,
      "height": 0.6,
      "sill": 1.5,
      "head": 2.1,
      "orientation": "vertical",
      "facade": "SW",
      "rooms": [
        "I.S. Suite"
      ],
      "type": "Oscilobatente alta, uma folha",
      "materialDescription": "Alumínio com corte térmico; vidro fosco de segurança",
      "notes": "Uma folha integralmente praticável; 1100 x 600, peitoril1500. Parte de abrir>=0,36 m² a declarar pelo fabricante; comando acessível; vidro de segurança fosco.",
      "transparent": false,
      "frosted": true,
      "sliding": false,
      "frameMaterial": "aluminium",
      "exactPlan": false,
      "leafCount": 1,
      "activeLeafSide": null,
      "layoutRevision": "R32",
      "geometryStatus": "Adotado para desenvolvimento; cotas digitais, sem levantamento ou liberação de fabrico"
    },
    {
      "id": "P1",
      "category": "P",
      "bbox": [
        9.1,
        8.5,
        10.1,
        8.75
      ],
      "width": 1.0,
      "height": 2.1,
      "sill": 0.0,
      "head": 2.1,
      "orientation": "horizontal",
      "facade": null,
      "rooms": [
        "Exterior NW",
        "Hall de entrada"
      ],
      "type": "Batente",
      "materialDescription": "Exterior isolada, acabamento madeira",
      "notes": "Aros, folgas e cota de instalação conforme kit; confirmar antes de encomendar.",
      "transparent": false,
      "frosted": false,
      "sliding": false,
      "frameMaterial": "oak",
      "exactPlan": true,
      "clearWidth": 0.9,
      "leafWidth": 0.92,
      "leafThickness": 0.04,
      "leafNominalHeight": 2.1,
      "frameAllowance": 0.05,
      "doorGeometry": {
        "bbox": [
          9.1,
          8.5,
          10.1,
          8.75
        ],
        "hinge": [
          10.07,
          8.5
        ],
        "openAngleDegrees": 270,
        "swingArcDegrees": [
          180,
          270
        ]
      }
    },
    {
      "id": "P2",
      "category": "P",
      "bbox": [
        -0.3,
        6.8,
        -0.05,
        7.7
      ],
      "width": 0.9,
      "height": 2.1,
      "sill": 0.0,
      "head": 2.1,
      "orientation": "vertical",
      "facade": null,
      "rooms": [
        "Pala carros",
        "Lavandaria"
      ],
      "type": "Batente",
      "materialDescription": "Caixilharia com vidro fosco de segurança",
      "notes": "Proposta R23B: deslocar800mm para norte; abertura e soleira a rever. Representada fechada.",
      "transparent": false,
      "frosted": true,
      "sliding": false,
      "frameMaterial": "aluminium",
      "exactPlan": false,
      "clearWidth": 0.8,
      "leafWidth": 0.82,
      "leafThickness": 0.04,
      "leafNominalHeight": 2.1,
      "frameAllowance": 0.05,
      "doorGeometry": {
        "bbox": [
          -0.3,
          6.8,
          -0.05,
          7.7
        ],
        "hinge": [
          -0.04999999999999999,
          6.83
        ],
        "openAngleDegrees": 90,
        "swingArcDegrees": [
          0,
          90
        ]
      },
      "layoutRevision": "R32",
      "geometryStatus": "Adotado para desenvolvimento; cotas digitais, sem levantamento ou liberação de fabrico"
    },
    {
      "id": "P3",
      "category": "P",
      "bbox": [
        10.85,
        -0.25,
        12.65,
        0.0
      ],
      "width": 1.8,
      "height": 2.1,
      "sill": 0.0,
      "head": 2.1,
      "orientation": "horizontal",
      "facade": null,
      "rooms": [
        "Exterior SE",
        "Escritório"
      ],
      "type": "Correr envidraçado, 2 folhas; igual à família dos quartos",
      "materialDescription": "Alumínio com corte térmico; vidro duplo de segurança",
      "notes": "P3:1800 ×2100, caixilharia de correr com duas folhas e vidro transparente de segurança, igual à famíliaVE4/VE5/VE7. Passagem ativa oeste alvo≥800 e altura útil≥2000 a comprovar pelo fornecedor. Soleira nivelada; manter aproximações e patamar. Substitui completamente as folhas de abrir da R4.",
      "transparent": true,
      "frosted": false,
      "sliding": true,
      "frameMaterial": "oak",
      "exactPlan": true,
      "leafCount": 2,
      "activeLeafSide": "oeste",
      "clearWidth": 0.8
    },
    {
      "id": "P4",
      "category": "P",
      "bbox": [
        3.85,
        2.55,
        4.0,
        3.45
      ],
      "width": 0.9,
      "height": 2.1,
      "sill": 0.0,
      "head": 2.1,
      "orientation": "vertical",
      "facade": null,
      "rooms": [
        "Sala",
        "Quarto Suite"
      ],
      "type": "Correr embutida",
      "materialDescription": "Madeira; cassete compatível com divisória PGL150",
      "notes": "Aros, folgas e cota de instalação conforme kit; confirmar antes de encomendar.",
      "transparent": false,
      "frosted": false,
      "sliding": true,
      "frameMaterial": "oak",
      "exactPlan": true,
      "clearWidth": 0.8,
      "leafWidth": 0.9,
      "leafThickness": 0.04,
      "leafNominalHeight": 2.1,
      "frameAllowance": 0.05,
      "doorGeometry": {
        "bbox": [
          3.85,
          2.55,
          4.0,
          3.45
        ],
        "slide": "north",
        "pocket": [
          3.85,
          3.45,
          4.0,
          4.45
        ]
      }
    },
    {
      "id": "P5",
      "category": "P",
      "bbox": [
        1.84,
        4.175,
        2,
        5.025
      ],
      "width": 0.85,
      "height": 2.1,
      "sill": 0.0,
      "head": 2.1,
      "orientation": "vertical",
      "facade": null,
      "rooms": [
        "Closet suíte",
        "I.S. Suite"
      ],
      "type": "Correr embutida em estudo",
      "materialDescription": "Porta de correr; acabamento e kit por fechar",
      "notes": "EWOLUTO800×2100: alvo800claro conservado emY4.20..5.00; não é troca sem cálculo da antiga reserva900.",
      "transparent": false,
      "frosted": false,
      "sliding": true,
      "frameMaterial": "wall",
      "exactPlan": false,
      "clearWidth": 0.8,
      "leafWidth": 0.825,
      "leafThickness": 0.04,
      "leafNominalHeight": 2.11,
      "frameAllowance": 0.05,
      "doorGeometry": {
        "bbox": [
          1.84,
          4.175,
          2,
          5.025
        ],
        "slide": "south",
        "pocket": [
          1.85,
          3.313,
          2,
          4.175
        ],
        "clear_bbox": [
          1.84,
          4.2,
          2,
          5
        ],
        "leafClosedBBox": [
          1.905,
          4.1875,
          1.945,
          5.0125
        ],
        "leafOpenBBox": [
          1.905,
          3.3315,
          1.945,
          4.1565
        ],
        "leafTravel": 0.856,
        "nominalParkingMarginEach": 0.0185,
        "factory_outer_frame_bbox": [
          1.85,
          3.295,
          2,
          5.071
        ],
        "factory_frame_total_width_mm": 1776,
        "factory_frame_total_height_mm": 2205,
        "cassette_body_width_mm": 862,
        "untrimmed_opening_mm": 850,
        "trim_allowance_each_mm": 25,
        "leaf_width_mm": 825,
        "leaf_height_mm": 2110,
        "manufacturing_position_verified": false,
        "explanation": "18terminalS +862caixa +850A +46terminalN =1776.850−2×25=800.Implantaçãoinferida da ficha para conservar o claro: submeter planta ao fabricante."
      },
      "layoutRevision": "R37_PROPOSTA",
      "thresholdFloorBBox": [
        1.84,
        4.175,
        2,
        5.025
      ],
      "thresholdMaterial": "tile",
      "thresholdNote": "Soleira interior de ligação entre os pisos; não é um compartimento adicional.",
      "leafWidthStatus": "825da fichaECLISSE03/2026; folha de estudo, não fabricar.",
      "frameStudyR37": {
        "reference": "ECLISSE EWOLUTO, enlucido150, una hoja800×2100",
        "source_url": "https://eclisse.es/wp-content/uploads/2026/04/ft-eclisseewoluto-ewolutoextension.pdf",
        "manufacturer_finished_plaster_wall_mm": 150,
        "additional_wet_finish_allowance_mm": 10,
        "resulting_total_wall_mm": 160,
        "old_bath_face_x": 1.85,
        "new_bath_face_x": 1.84,
        "clear_unchanged": true,
        "closet_and_bed_unchanged": true,
        "load_fixing": "EWOLUTO permite cargas/resguardos segundo fabricante. Aprovar combinação com perfilAura, pontos/profundidade/ancoragem e impermeabilização; não reutilizar cassette simples."
      }
    },
    {
      "id": "P6",
      "category": "P",
      "bbox": [
        3.85,
        6.5,
        4,
        7.4
      ],
      "width": 0.9,
      "height": 2.1,
      "sill": 0.0,
      "head": 2.1,
      "orientation": "vertical",
      "facade": null,
      "rooms": [
        "Lavandaria",
        "Cozinha"
      ],
      "type": "Correr embutida, folha e aro à cor da parede",
      "materialDescription": "Lacado mate afinado à parede; aro minimalista pintável, sem guarnição saliente",
      "notes": "Vão nominal1100→900mm; passagem alvo1000→800mm. Confirmar kit, acesso e circulação com o arquiteto.",
      "transparent": false,
      "frosted": false,
      "sliding": true,
      "frameMaterial": "wall",
      "exactPlan": true,
      "clearWidth": 0.8,
      "leafWidth": 0.9,
      "leafThickness": 0.04,
      "leafNominalHeight": 2.1,
      "frameAllowance": 0.05,
      "doorGeometry": {
        "bbox": [
          3.85,
          6.5,
          4,
          7.4
        ],
        "slide": "north",
        "pocket": [
          3.85,
          7.4,
          4,
          8.4
        ]
      },
      "leafMaterial": "wall",
      "defaultOpen": true,
      "noteR26": "Cassete existente preservada, puxador de embutir discreto, bolso visitável. Não fixar móveis no miolo da cassete."
    },
    {
      "id": "P7",
      "category": "P",
      "bbox": [
        10.25,
        3.9,
        10.4,
        4.8
      ],
      "width": 0.9,
      "height": 2.1,
      "sill": 0.0,
      "head": 2.1,
      "orientation": "vertical",
      "facade": null,
      "rooms": [
        "Sala",
        "Distribuição"
      ],
      "type": "Correr embutida, folha e aro à cor da parede",
      "materialDescription": "Lacado mate afinado à parede; aro minimalista pintável, sem guarnição saliente",
      "notes": "Aros, folgas e cota de instalação conforme kit; confirmar antes de encomendar.",
      "transparent": false,
      "frosted": false,
      "sliding": true,
      "frameMaterial": "wall",
      "exactPlan": true,
      "clearWidth": 0.8,
      "leafWidth": 0.9,
      "leafThickness": 0.04,
      "leafNominalHeight": 2.1,
      "frameAllowance": 0.05,
      "doorGeometry": {
        "bbox": [
          10.25,
          3.9,
          10.4,
          4.8
        ],
        "slide": "south",
        "pocket": [
          10.25,
          2.95,
          10.4,
          3.9
        ]
      },
      "leafMaterial": "wall",
      "defaultOpen": true,
      "noteR26": "Cassete existente preservada, puxador de embutir discreto, bolso visitável. Não fixar móveis no miolo da cassete."
    },
    {
      "id": "P8",
      "category": "P",
      "bbox": [
        12.23,
        5.4,
        13.13,
        5.55
      ],
      "width": 0.9,
      "height": 2.1,
      "sill": 0.0,
      "head": 2.1,
      "orientation": "horizontal",
      "facade": null,
      "rooms": [
        "Distribuição",
        "I.S. comum"
      ],
      "type": "Batente de madeira, abre para dentro da I.S. comum",
      "materialDescription": "Madeira interior",
      "notes": "Porta de abrir para dentro. Vão900, folha de projeto820, útil geométrico800. Aro120 na divisória150; dobradiças30 mm recuadas da face da I.S. e80 mm afastadas da paredeE, para manípulo e abertura90°. PormenorR5 e ferragens por confirmar; útil real≥770. Varrimento completo independente do círculoØ1500. Garantir possibilidade de socorro/desmontagem da folha.",
      "transparent": false,
      "frosted": false,
      "sliding": false,
      "frameMaterial": "oak",
      "exactPlan": true,
      "clearWidth": 0.8,
      "leafWidth": 0.82,
      "leafThickness": 0.04,
      "leafNominalHeight": 2.1,
      "frameAllowance": 0.05,
      "doorGeometry": {
        "bbox": [
          12.23,
          5.4,
          13.13,
          5.55
        ],
        "frameBBox": [
          12.23,
          5.4,
          13.13,
          5.52
        ],
        "hinge": [
          13.1,
          5.52
        ],
        "openAngleDegrees": 90,
        "swingArcDegrees": [
          90,
          180
        ]
      }
    },
    {
      "id": "P9",
      "category": "P",
      "bbox": [
        13.2,
        4.4,
        13.35,
        5.3
      ],
      "width": 0.9,
      "height": 2.1,
      "sill": 0.0,
      "head": 2.1,
      "orientation": "vertical",
      "facade": null,
      "rooms": [
        "Distribuição",
        "Quarto1"
      ],
      "type": "Batente",
      "materialDescription": "Madeira interior",
      "notes": "Aros, folgas e cota de instalação conforme kit; confirmar antes de encomendar.",
      "transparent": false,
      "frosted": false,
      "sliding": false,
      "frameMaterial": "oak",
      "exactPlan": true,
      "clearWidth": 0.8,
      "leafWidth": 0.82,
      "leafThickness": 0.04,
      "leafNominalHeight": 2.1,
      "frameAllowance": 0.05,
      "doorGeometry": {
        "bbox": [
          13.2,
          4.4,
          13.35,
          5.3
        ],
        "hinge": [
          13.35,
          4.43
        ],
        "openAngleDegrees": 0,
        "swingArcDegrees": [
          0,
          90
        ]
      }
    },
    {
      "id": "P10",
      "category": "P",
      "bbox": [
        13.2,
        3.19,
        13.35,
        4.09
      ],
      "width": 0.9,
      "height": 2.1,
      "sill": 0.0,
      "head": 2.1,
      "orientation": "vertical",
      "facade": null,
      "rooms": [
        "Distribuição",
        "Quarto2"
      ],
      "type": "Batente",
      "materialDescription": "Madeira interior",
      "notes": "Aros, folgas e cota de instalação conforme kit; confirmar antes de encomendar.",
      "transparent": false,
      "frosted": false,
      "sliding": false,
      "frameMaterial": "oak",
      "exactPlan": true,
      "clearWidth": 0.8,
      "leafWidth": 0.82,
      "leafThickness": 0.04,
      "leafNominalHeight": 2.1,
      "frameAllowance": 0.05,
      "doorGeometry": {
        "bbox": [
          13.2,
          3.19,
          13.35,
          4.09
        ],
        "hinge": [
          13.35,
          4.06
        ],
        "openAngleDegrees": 0,
        "swingArcDegrees": [
          270,
          360
        ]
      }
    },
    {
      "id": "P11",
      "category": "P",
      "bbox": [
        11.1,
        2.94,
        12.0,
        3.09
      ],
      "width": 0.9,
      "height": 2.1,
      "sill": 0.0,
      "head": 2.1,
      "orientation": "horizontal",
      "facade": null,
      "rooms": [
        "Distribuição",
        "Escritório"
      ],
      "type": "Batente",
      "materialDescription": "Madeira interior",
      "notes": "Aros, folgas e cota de instalação conforme kit; confirmar antes de encomendar.",
      "transparent": false,
      "frosted": false,
      "sliding": false,
      "frameMaterial": "oak",
      "exactPlan": true,
      "clearWidth": 0.8,
      "leafWidth": 0.82,
      "leafThickness": 0.04,
      "leafNominalHeight": 2.1,
      "frameAllowance": 0.05,
      "doorGeometry": {
        "bbox": [
          11.1,
          2.94,
          12.0,
          3.09
        ],
        "hinge": [
          11.97,
          2.94
        ],
        "openAngleDegrees": 270,
        "swingArcDegrees": [
          180,
          270
        ]
      }
    }
  ],
  "floors": [
    {
      "id": "Q_S",
      "name": "Quarto Suite",
      "polygon": [
        [
          -0.05,
          0
        ],
        [
          3.85,
          0
        ],
        [
          3.85,
          3.1
        ],
        [
          -0.05,
          3.1
        ]
      ],
      "area": 12.09,
      "material": "oak",
      "base": -0.025,
      "height": 0.025,
      "exactPlan": false,
      "layoutRevision": "R32"
    },
    {
      "id": "Q_1",
      "name": "Quarto 1",
      "polygon": [
        [
          13.35,
          4.35
        ],
        [
          14.75,
          4.35
        ],
        [
          14.75,
          4.95
        ],
        [
          14.85,
          4.95
        ],
        [
          14.85,
          4.35
        ],
        [
          16.35,
          4.35
        ],
        [
          16.35,
          8.5
        ],
        [
          13.35,
          8.5
        ]
      ],
      "area": 12.390000000000015,
      "material": "oak",
      "base": -0.025,
      "height": 0.025,
      "exactPlan": true
    },
    {
      "id": "Q_2",
      "name": "Quarto 2",
      "polygon": [
        [
          13.35,
          0.0
        ],
        [
          16.35,
          0.0
        ],
        [
          16.35,
          4.14
        ],
        [
          14.85,
          4.14
        ],
        [
          14.85,
          3.54
        ],
        [
          14.75,
          3.54
        ],
        [
          14.75,
          4.14
        ],
        [
          13.35,
          4.14
        ]
      ],
      "area": 12.36000000000002,
      "material": "oak",
      "base": -0.025,
      "height": 0.025,
      "exactPlan": true
    },
    {
      "id": "IS_S",
      "name": "I.S. Suite",
      "polygon": [
        [
          -0.05,
          3.25
        ],
        [
          1.84,
          3.25
        ],
        [
          1.84,
          5.68
        ],
        [
          -0.05,
          5.68
        ]
      ],
      "area": 4.5927,
      "material": "tile",
      "base": -0.025,
      "height": 0.025,
      "exactPlan": false,
      "layoutRevision": "R37_PROPOSTA"
    },
    {
      "id": "IS_C",
      "name": "I.S. comum",
      "polygon": [
        [
          11.1,
          5.55
        ],
        [
          13.18,
          5.55
        ],
        [
          13.18,
          8.5
        ],
        [
          11.1,
          8.5
        ]
      ],
      "area": 6.136000000000003,
      "material": "tile",
      "base": -0.025,
      "height": 0.025,
      "exactPlan": true
    },
    {
      "id": "LAV",
      "name": "Lavandaria / Casa das Máquinas",
      "polygon": [
        [
          -0.05,
          5.85
        ],
        [
          3.85,
          5.85
        ],
        [
          3.85,
          8.5
        ],
        [
          -0.05,
          8.5
        ]
      ],
      "area": 10.335,
      "material": "tile",
      "base": -0.025,
      "height": 0.025,
      "exactPlan": false,
      "layoutRevision": "R32"
    },
    {
      "id": "ESC",
      "name": "Escritório",
      "polygon": [
        [
          10.4,
          0.0
        ],
        [
          13.2,
          0.0
        ],
        [
          13.2,
          2.94
        ],
        [
          10.4,
          2.94
        ]
      ],
      "area": 8.232,
      "material": "oak",
      "base": -0.025,
      "height": 0.025,
      "exactPlan": true
    },
    {
      "id": "SAL",
      "name": "Sala e Cozinha",
      "polygon": [
        [
          4.0,
          0.0
        ],
        [
          10.25,
          0.0
        ],
        [
          10.25,
          6.683031812
        ],
        [
          8.5,
          6.683031812
        ],
        [
          8.5,
          8.5
        ],
        [
          4.0,
          8.5
        ]
      ],
      "area": 49.94530567100001,
      "material": "oak",
      "base": -0.025,
      "height": 0.025,
      "exactPlan": true
    },
    {
      "id": "ENTRY_HALL",
      "name": "Hall de entrada",
      "polygon": [
        [
          8.65,
          6.683031812
        ],
        [
          10.25,
          6.683031812
        ],
        [
          10.25,
          8.5
        ],
        [
          8.65,
          8.5
        ]
      ],
      "area": 2.907149100799991,
      "material": "oak",
      "base": -0.025,
      "height": 0.025,
      "exactPlan": true
    },
    {
      "id": "DISTR",
      "name": "Distribuição",
      "polygon": [
        [
          11.0,
          3.09
        ],
        [
          13.2,
          3.09
        ],
        [
          13.2,
          5.4
        ],
        [
          11.0,
          5.4
        ],
        [
          11.0,
          4.9
        ],
        [
          10.4,
          4.9
        ],
        [
          10.4,
          3.8
        ],
        [
          11.0,
          3.8
        ]
      ],
      "area": 5.74199999999999,
      "material": "oak",
      "base": -0.025,
      "height": 0.025,
      "exactPlan": true
    },
    {
      "id": "PAN",
      "name": "Casacos e mochilas",
      "polygon": [
        [
          10.25,
          5.55
        ],
        [
          10.95,
          5.55
        ],
        [
          10.95,
          7.3
        ],
        [
          10.25,
          7.3
        ]
      ],
      "area": 1.2249999999999872,
      "material": "oak",
      "base": -0.025,
      "height": 0.025,
      "exactPlan": true
    },
    {
      "id": "HALL_ARM",
      "name": "Armário técnico da entrada — quadro e rede",
      "polygon": [
        [
          10.25,
          7.3
        ],
        [
          10.95,
          7.3
        ],
        [
          10.95,
          8.5
        ],
        [
          10.25,
          8.5
        ]
      ],
      "area": 0.8400000000000034,
      "material": "oak",
      "base": -0.025,
      "height": 0.025,
      "exactPlan": true
    },
    {
      "id": "ARR_S",
      "name": "Arrumação distribuição sul",
      "polygon": [
        [
          10.4,
          3.09
        ],
        [
          11.0,
          3.09
        ],
        [
          11.0,
          3.8
        ],
        [
          10.4,
          3.8
        ]
      ],
      "area": 0.42600000000000904,
      "material": "oak",
      "base": -0.025,
      "height": 0.025,
      "exactPlan": true
    },
    {
      "id": "ARR_N",
      "name": "Armário de apoio",
      "polygon": [
        [
          10.4,
          4.9
        ],
        [
          11.0,
          4.9
        ],
        [
          11.0,
          5.4
        ],
        [
          10.4,
          5.4
        ]
      ],
      "area": 0.30000000000000426,
      "material": "oak",
      "base": -0.025,
      "height": 0.025,
      "exactPlan": true
    },
    {
      "id": "CLOSET_SU",
      "name": "Closet da suíte",
      "polygon": [
        [
          2,
          3.25
        ],
        [
          3.85,
          3.25
        ],
        [
          3.85,
          5.68
        ],
        [
          2,
          5.68
        ]
      ],
      "area": 4.4955,
      "material": "wood",
      "base": -0.025,
      "height": 0.025,
      "exactPlan": false,
      "layoutRevision": "R32"
    }
  ],
  "furniture": {
    "beds": [
      {
        "id": "BED_SUITE",
        "bbox": [
          0.075,
          0.6,
          2.175,
          2.5
        ],
        "height": 0.54,
        "base": 0,
        "exactPlan": false,
        "heightStatus": "visualização nominal",
        "room": "Q_S",
        "headSide": "W",
        "name": "Cama suíte",
        "layoutRevision": "R32",
        "geometryStatus": "Adotado para desenvolvimento; cotas digitais, sem levantamento ou liberação de fabrico",
        "historicalCadHandle": "227",
        "mattress_mm": [
          1800,
          2000
        ],
        "frame_mm": [
          1900,
          2100
        ],
        "product_selected": false
      },
      {
        "id": "BED_Q1",
        "bbox": [
          14.35,
          6.25,
          16.35,
          7.85
        ],
        "height": 0.54,
        "base": 0,
        "exactPlan": false,
        "heightStatus": "Envolvente digital de estudo; produto/cotasdeobra por confirmar",
        "cadHandle": "24D",
        "room": "Q_1",
        "headSide": "E",
        "name": "Cama quarto 1",
        "layoutRevision": "R38"
      },
      {
        "id": "BED_Q2",
        "bbox": [
          14.35,
          0.65,
          16.35,
          2.25
        ],
        "height": 0.54,
        "base": 0,
        "exactPlan": false,
        "heightStatus": "Envolvente digital de estudo; produto/cotasdeobra por confirmar",
        "cadHandle": "246",
        "room": "Q_2",
        "headSide": "E",
        "name": "Cama quarto 2",
        "layoutRevision": "R38"
      }
    ],
    "nightstands": [
      {
        "id": "NT01",
        "bbox": [
          -0.025,
          0.1,
          0.375,
          0.55
        ],
        "height": 0.17,
        "base": 0.43,
        "exactPlan": false,
        "heightStatus": "visualização nominal",
        "room": "Q_S",
        "layoutRevision": "R32",
        "geometryStatus": "Adotado para desenvolvimento; cotas digitais, sem levantamento ou liberação de fabrico",
        "historicalCadHandle": "254",
        "bottom": 0.43,
        "top": 0.6,
        "face": "E",
        "drawerCount": 1,
        "product_selected": false
      },
      {
        "id": "NT02",
        "bbox": [
          -0.025,
          2.55,
          0.375,
          3.0
        ],
        "height": 0.17,
        "base": 0.43,
        "exactPlan": false,
        "heightStatus": "visualização nominal",
        "room": "Q_S",
        "layoutRevision": "R32",
        "geometryStatus": "Adotado para desenvolvimento; cotas digitais, sem levantamento ou liberação de fabrico",
        "historicalCadHandle": "256",
        "bottom": 0.43,
        "top": 0.6,
        "face": "E",
        "drawerCount": 1,
        "product_selected": false
      },
      {
        "id": "NT03",
        "bbox": [
          15.95,
          5.85,
          16.35,
          6.25
        ],
        "height": 0.5,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "visualização nominal",
        "cadHandle": "25C",
        "room": "Q_1",
        "layoutRevision": "R38"
      },
      {
        "id": "NT04",
        "bbox": [
          15.95,
          7.85,
          16.35,
          8.25
        ],
        "height": 0.5,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "visualização nominal",
        "cadHandle": "25E",
        "room": "Q_1",
        "layoutRevision": "R38"
      },
      {
        "id": "NT05",
        "bbox": [
          15.95,
          0.25,
          16.35,
          0.65
        ],
        "height": 0.5,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "visualização nominal",
        "cadHandle": "258",
        "room": "Q_2",
        "layoutRevision": "R38"
      },
      {
        "id": "NT06",
        "bbox": [
          15.95,
          2.25,
          16.35,
          2.65
        ],
        "height": 0.5,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "visualização nominal",
        "cadHandle": "25A",
        "room": "Q_2",
        "layoutRevision": "R38"
      }
    ],
    "wardrobes": [
      {
        "id": "R01",
        "bbox": [
          14.85,
          4.35,
          16.35,
          5.01
        ],
        "height": 2.7,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "R15 - embutido até ao teto falso; instrução do proprietário",
        "room": "Quarto 1",
        "face": "N",
        "slidingFront": true
      },
      {
        "id": "R02",
        "bbox": [
          14.85,
          3.48,
          16.35,
          4.14
        ],
        "height": 2.7,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "R15 - embutido até ao teto falso; instrução do proprietário",
        "room": "Quarto 2",
        "face": "S",
        "slidingFront": true
      },
      {
        "id": "R05",
        "bbox": [
          10.25,
          7.3,
          10.95,
          8.5
        ],
        "height": 2.7,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "R15 - embutido até ao teto falso; instrução do proprietário",
        "room": "Hall: quadro elétrico e internet",
        "face": "W",
        "slidingFront": false,
        "frontCount": 4,
        "technicalCabinet": true,
        "doorType": "4 frentes lacadas, 2 pares articulados push-latch; amostra e ferragens por fechar",
        "finish": "Lacado mate afinado à cor da parede interior",
        "technicalCompartments": 2
      },
      {
        "id": "CLB01",
        "bbox": [
          2,
          3.25,
          2.95,
          3.85
        ],
        "height": 2.7,
        "base": 0,
        "bottom": 0,
        "room": "Closet suíte",
        "face": "N",
        "slidingFront": false,
        "openFront": true,
        "layoutRevision": "R32",
        "exactPlan": false,
        "interiorUse": "Duplo varão1000/1950, maleiro2300; corpo autoportante, travado fora da casseteP5.",
        "carcass_mm": 18,
        "supportOutsidePocketRequired": true
      },
      {
        "id": "CLB02",
        "bbox": [
          2,
          5.1,
          2.86,
          5.68
        ],
        "height": 2.7,
        "base": 0,
        "bottom": 0,
        "room": "Closet suíte",
        "face": "S",
        "slidingFront": false,
        "openFront": true,
        "layoutRevision": "R32",
        "exactPlan": false,
        "interiorUse": "Varão comprido1700, maleiro2300.",
        "carcass_mm": 18,
        "supportOutsidePocketRequired": true
      },
      {
        "id": "CLB03",
        "bbox": [
          2.86,
          5.1,
          3.85,
          5.68
        ],
        "height": 2.7,
        "base": 0,
        "bottom": 0,
        "room": "Closet suíte",
        "face": "S",
        "slidingFront": false,
        "openFront": true,
        "layoutRevision": "R32",
        "exactPlan": false,
        "interiorUse": "Seisgavetas2colunas×3, vãos468antesferragens, curso450emestudo; prateleiras acima e maleiro.",
        "carcass_mm": 18,
        "supportOutsidePocketRequired": true
      }
    ],
    "storage": [
      {
        "id": "ARR_S",
        "bbox": [
          10.4,
          3.09,
          11.0,
          3.8
        ],
        "height": 2.7,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "R15 - embutido até ao teto falso; instrução do proprietário",
        "cadHandle": "278",
        "face": "E",
        "name": "Arrumação distribuição sul",
        "technicalNetwork": false,
        "finish": "Carvalho natural mate",
        "storageUse": "Apoio doméstico; rede transferida para R05 na entrada"
      },
      {
        "id": "ARR_N",
        "bbox": [
          10.4,
          4.9,
          11.0,
          5.4
        ],
        "height": 2.7,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "R15 - embutido até ao teto falso; instrução do proprietário",
        "cadHandle": "27C",
        "face": "E",
        "name": "Roupa branca e toalhas da família — distribuição",
        "storageUse": "Roupa branca e8toalhas familiares de reserva; semquímicos",
        "slidingFront": false
      },
      {
        "id": "PANTRY",
        "bbox": [
          10.25,
          5.55,
          10.95,
          7.3
        ],
        "height": 2.7,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "R15 - embutido até ao teto falso; instrução do proprietário",
        "face": "W",
        "name": "Casacos e mochilas — antigo despenseiro",
        "storageUse": "Casacos, duas mochilas e maleiro; sem alimentos ou rede",
        "slidingFront": true,
        "finish": "Carvalho natural mate",
        "frontCount": 2,
        "lower_cubbies_clear_WHD_mm": [
          848,
          450,
          550
        ],
        "rail_height_mm": 1650,
        "shelf_height_mm": 1950
      }
    ],
    "kitchenModules": [
      {
        "id": "K01",
        "bbox": [
          4.05,
          7.9,
          4.65,
          8.5
        ],
        "height": 2.7,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "R15 - embutido até ao teto falso; instrução do proprietário",
        "name": "Frigorífico integrado Siemens KI86FHDD0, ventilação e maleiro",
        "equipment": "C01",
        "face": "S",
        "tall": true,
        "appliance_model": "KI86FHDD0",
        "appliance_product_hwd": [
          1.772,
          0.558,
          0.545
        ],
        "appliance_niche_hwd": [
          1.775,
          0.56,
          0.55
        ],
        "niche_bottom": 0.168,
        "niche_top": 1.943,
        "front_z": [
          [
            0.155,
            0.882
          ],
          [
            0.886,
            1.943
          ],
          [
            2.095,
            2.395
          ],
          [
            2.405,
            2.678
          ]
        ],
        "ventilation_inlet_bbox": [
          4.07,
          7.9,
          4.63,
          7.904
        ],
        "ventilation_inlet_z": [
          0.045,
          0.12
        ],
        "ventilation_outlet_z": [
          1.98,
          2.055
        ],
        "ventilation_free_area_cm2": 200,
        "layoutRevision": "R38",
        "frontsR38": [
          {
            "id": "K01-F11",
            "u0_mm": 2,
            "u1_mm": 598,
            "z0_mm": 155,
            "z1_mm": 882,
            "width_mm": 596,
            "height_mm": 727,
            "thickness_mm": 20,
            "material": "lacado marfim mate",
            "status": "PROPOSTA_NOMINAL_SIEMENS; FORMULAS_PASSAM; GABARITO_E_PESO_PENDENTES"
          },
          {
            "id": "K01-F21",
            "u0_mm": 2,
            "u1_mm": 598,
            "z0_mm": 886,
            "z1_mm": 1943,
            "width_mm": 596,
            "height_mm": 1057,
            "thickness_mm": 20,
            "material": "lacado marfim mate",
            "status": "PROPOSTA_NOMINAL_SIEMENS; FORMULAS_PASSAM; GABARITO_E_PESO_PENDENTES"
          },
          {
            "id": "K01-F31",
            "u0_mm": 2,
            "u1_mm": 598,
            "z0_mm": 2095,
            "z1_mm": 2395,
            "width_mm": 596,
            "height_mm": 300,
            "thickness_mm": 20,
            "material": "carvalho natural",
            "status": "FRONTAL_NOMINAL_MODELO; CONFIRMAR_FERRAGENS_E_FOLGAS"
          },
          {
            "id": "K01-F41",
            "u0_mm": 2,
            "u1_mm": 598,
            "z0_mm": 2405,
            "z1_mm": 2678,
            "width_mm": 596,
            "height_mm": 273,
            "thickness_mm": 20,
            "material": "carvalho natural",
            "status": "FRONTAL_NOMINAL_MODELO; CONFIRMAR_FERRAGENS_E_FOLGAS"
          }
        ]
      },
      {
        "id": "K02",
        "bbox": [
          4.65,
          7.9,
          5.25,
          8.5
        ],
        "height": 2.7,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "R15 - embutido até ao teto falso; instrução do proprietário",
        "name": "Torre fornoHB478G5B7 e micro-ondasCM724G1B1 proposto",
        "equipment": "C02/C03",
        "face": "S",
        "tall": true,
        "appliance_model": "HB478G5B7",
        "appliance_product_hwd": [
          0.595,
          0.594,
          0.548
        ],
        "appliance_bottom": 0.55,
        "microwave_adopted": false,
        "optional_microwave": "CM724G1B1",
        "front_z": [
          [
            0.155,
            0.545
          ],
          [
            1.805,
            2.395
          ],
          [
            2.405,
            2.678
          ]
        ],
        "appliance_models": [
          "HB478G5B7",
          "CM724G1B1"
        ],
        "microwaveProposed": true,
        "layoutRevision": "R38",
        "frontsR38": [
          {
            "id": "K02-F1",
            "u0_mm": 2,
            "u1_mm": 598,
            "z0_mm": 155,
            "z1_mm": 545,
            "width_mm": 596,
            "height_mm": 390,
            "thickness_mm": 20,
            "material": "lacado marfim mate",
            "status": "PROPOSTA; confirmar gabaritos e ferragens",
            "operation": "porta de abrir105graus para manutenção; não gaveta"
          },
          {
            "id": "K02-F2",
            "u0_mm": 2,
            "u1_mm": 598,
            "z0_mm": 1805,
            "z1_mm": 2395,
            "width_mm": 596,
            "height_mm": 590,
            "thickness_mm": 20,
            "material": "carvalho natural",
            "status": "PROPOSTA; confirmar gabaritos e ferragens"
          },
          {
            "id": "K02-F3",
            "u0_mm": 2,
            "u1_mm": 598,
            "z0_mm": 2405,
            "z1_mm": 2678,
            "width_mm": 596,
            "height_mm": 273,
            "thickness_mm": 20,
            "material": "carvalho natural",
            "status": "PROPOSTA; confirmar gabaritos e ferragens"
          }
        ],
        "dryServiceCompartmentR38": {
          "bbox_xyz_mm": [
            4668,
            7920,
            168,
            5232,
            8420,
            521.5
          ],
          "accessible_front_id": "K02-F1",
          "front_hinge_side": "W",
          "opening_angle_study_deg": 105,
          "electrical_backbox_reserve_xyz_mm": [
            4870,
            8390,
            270,
            5030,
            8460,
            430
          ],
          "socket_centre_m": [
            4.95,
            8.43,
            0.35
          ],
          "protected_from_oven_by": {
            "support_panel_z_mm": [
              539.5,
              557.5
            ],
            "material": "painel de suporte do forno conforme fabricante/carga",
            "note": "Separação física; detalhe térmico e carga/apoios a dimensionar. Não é uma classificação de resistência ao fogo."
          },
          "no_drawers": true,
          "no_food_storage": true,
          "cable_route": "Saída no painel lateralE emzona técnica baixa paraK03; sem passar pelo bojoK04 ou mecanismoK05; caboMLL1750mm, trajeto a medir, sem extensão improvisada.",
          "rear_ventilation_exclusion": "Não ocupar o canal de ventilação dos dois fornos com caixa de tomadas ou cabo enrolado."
        }
      },
      {
        "id": "K03",
        "bbox": [
          5.25,
          7.9,
          5.85,
          8.5
        ],
        "height": 0.87,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "carpintaria R5",
        "name": "Máquina de loiça integrada Siemens SN65YX00CE",
        "equipment": "C04",
        "face": "S",
        "tall": false,
        "top_with_worktop": 0.9,
        "appliance_model": "SN65YX00CE",
        "appliance_product_hwd": [
          0.815,
          0.598,
          0.55
        ],
        "layoutRevision": "R38",
        "frontsR38": [
          {
            "id": "K03-F11",
            "u0_mm": 2,
            "u1_mm": 598,
            "z0_mm": 152,
            "z1_mm": 868,
            "width_mm": 596,
            "height_mm": 716,
            "thickness_mm": 20,
            "material": "lacado marfim mate",
            "status": "COTA_DE_DESENVOLVIMENTO_R38_FERRAGENS_GABARITO_E_OBRA_POR_VALIDAR"
          }
        ],
        "front_type": "integrated_dishwasher_panel",
        "applianceInterfaceR38": {
          "reference": "Siemens SN65YX00CE — selecionado no dossier do utilizador",
          "product_HWD_mm": [
            815,
            598,
            550
          ],
          "niche_HWD_mm": [
            [
              815,
              875
            ],
            600,
            550
          ],
          "bay_clear_width_mm": 600,
          "available_floor_to_counter_underside_mm": 870,
          "height_adjustment_from_product_min_mm": 55,
          "manufacturer_height_adjustment_max_mm": 60,
          "front_height_range_reference_mm": [
            655,
            725
          ],
          "front_height_proposed_mm": 716,
          "front_width_proposed_mm": 596,
          "front_mass_limit_kg": 8.5,
          "plinth_height_range_reference_mm": [
            90,
            220
          ],
          "project_plinth_mm": 150,
          "cable_length_mm": 1750,
          "inlet_hose_length_mm": 1650,
          "outlet_hose_length_mm": 1900,
          "power_W": 2400,
          "manufacturer_fuse_A": 10,
          "door_open_total_depth_mm": 1150,
          "closed_front_y_mm": 7900,
          "back_plane_y_mm": 8500,
          "open_remaining_to_island_mm": 600,
          "front": "R38: frente 596 × 716 × 20 mm; altura dentro da faixa 655–725. Pesar frente acabada (2,5–8,5 kg) e aplicar gabarito do E-Nr. Sem varioHinge; não prescrever kit deslizante por analogia.",
          "door_sweep_status": "R38: profundidade aberta 1150 mm confirmada no portal oficial Siemens BE. Projeção nominal 600 mm; implantação conservadora resulta em 600 mm residuais. Ver door_sweep_R38 e confirmar gabarito/rodapé do E-Nr.",
          "front_mass_min_kg": 2.5,
          "front_source_url": "https://www.siemens-home.bsh-group.com/be/fr/mkt-product/SN65YX00CE",
          "varioHinge": false,
          "source_current_status": "SKU indisponível no portalBE; fornecimentoPT/E-Nr final por confirmar",
          "front_mass_check": {
            "density_assumption_kg_m3": 850,
            "panel_volume_m3": 0.008534719999999999,
            "panel_mass_kg": 7.254511999999999,
            "handle_fixings_finish_allowance_kg": 0.5,
            "total_study_kg": 7.754511999999999,
            "limit_kg": 8.5,
            "density_range_study_kg_m3": [
              750,
              850
            ],
            "panel_mass_range_kg": [
              6.401039999999999,
              7.254511999999999
            ],
            "finished_total_range_with_allowance_kg": [
              6.901039999999999,
              7.754511999999999
            ],
            "release": "A massa estimada não substitui pesagem da frente acabada e gabaritoE-Nr."
          },
          "door_sweep_R38": {
            "product_closed_depth_mm": 550,
            "open_depth_mm": 1150,
            "product_open_additional_mm": 600,
            "proposed_machine_front_y_mm": 7920,
            "proposed_machine_back_y_mm": 8470,
            "nominal_open_tip_y_mm": 7320,
            "conservative_envelope_tip_y_mm": 7300,
            "conservative_remaining_to_island_mm": 600,
            "note": "Posição de máquina/cassete/porta a confirmar na montagem. Reservar20mm adicionais à ponta teórica; não prometer circulação confortável com a porta aberta."
          }
        }
      },
      {
        "id": "K04",
        "bbox": [
          5.85,
          7.9,
          6.75,
          8.5
        ],
        "height": 0.87,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "carpintaria R5",
        "name": "Lava-loiça de duas cubas — duas portas de abrir, sem gavetas",
        "equipment": "C07",
        "face": "S",
        "tall": false,
        "top_with_worktop": 0.9,
        "front_type": "two_side_hinged_doors_no_top_drawer",
        "front_z_mm": [
          152,
          868
        ],
        "front_u_ranges_mm": [
          [
            2,
            449
          ],
          [
            451,
            898
          ]
        ],
        "doors": {
          "type": "hinged",
          "hinge_sides": [
            "W",
            "E"
          ],
          "opening_angle_study_deg": 95,
          "front_count": 2
        },
        "no_drawers": true,
        "no_top_horizontal_panel": true,
        "no_fixed_internal_shelf": true,
        "service_reservations": {
          "status": "ENVELOPES_DE_ESTUDO_A_VALIDAR_COM_VALVULAS_E_SIFOES_REAIS",
          "sink_assembly_conservative_bbox_xyz_mm": [
            5867.5,
            7980,
            671,
            6732.5,
            8420,
            870
          ],
          "upper_no_storage_bbox_xyz_mm": [
            5868,
            7920,
            420,
            6732,
            8462,
            870
          ],
          "rear_no_storage_bbox_xyz_mm": [
            5868,
            8300,
            168,
            6732,
            8500,
            870
          ],
          "optional_loose_tray": {
            "selected": false,
            "max_outer_WDH_mm": [
              800,
              350,
              20
            ],
            "bbox_xyz_mm": [
              5900,
              7940,
              168,
              6700,
              8290,
              188
            ],
            "max_contents_height_mm": 230,
            "contents_top_max_mm": 418,
            "no_rails_or_drawer": true,
            "note": "Tabuleiro solto não incluído na lista de painéis de fabrico; dimensão apenas prova de reserva, depende de sifões e acesso reais."
          }
        }
      },
      {
        "id": "K05",
        "bbox": [
          6.75,
          7.9,
          7.35,
          8.5
        ],
        "height": 0.87,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "carpintaria R5",
        "name": "Resíduos e reciclagem ocultos — extraível dedicado",
        "equipment": "",
        "face": "S",
        "tall": false,
        "top_with_worktop": 0.9,
        "layoutRevision": "R38",
        "frontsR38": [
          {
            "id": "K05-F1-R38",
            "u0_mm": 2,
            "u1_mm": 598,
            "z0_mm": 152,
            "z1_mm": 868,
            "width_mm": 596,
            "height_mm": 716,
            "thickness_mm": 20,
            "material": "lacado marfim mate",
            "status": "COTA_DE_DESENVOLVIMENTO_R38_FERRAGENS_GABARITO_E_OBRA_POR_VALIDAR"
          }
        ],
        "front_type": "single_pullout_waste",
        "wasteSystemR38": {
          "reference": "HAILO AS Euro Cargo60038/38/12/D/2,5",
          "part_number": "3619771",
          "finish": "darkgrey",
          "source_url": "https://www.hailo.de/en/p/hailo-as-euro-cargo-600-383812d2-5-3619771",
          "installation_manual_url": "https://cdn.hailo.de/data/programme/1134/anlagen/MA_3619_371_421_471_581_731_531_721_621_771_Euro_Cargo.pdf",
          "cabinet_external_width_mm": 600,
          "allowed_side_mm": [
            16,
            19
          ],
          "product_width_range_mm": [
            562,
            568
          ],
          "minimum_depth_mm": 528,
          "product_height_mm": 545,
          "product_capacity_components_l": [
            38,
            38,
            12,
            2.5
          ],
          "component_capacity_sum_l": 90.5,
          "commercial_capacity_l": 91,
          "cabin_interior_WDH_mm": [
            564,
            542,
            684
          ],
          "available_depth_margin_mm": 14,
          "available_height_margin_mm": 139,
          "proposed_closed_bbox_xyz_mm": [
            6768,
            7920,
            168,
            7332,
            8448,
            713
          ],
          "physical_load_limit_kg": null,
          "load_note": "Capacidade emlitros não é carga admissível. Confirmar carga dinâmica e ancoragens na versãofornecida antes decompra.",
          "fully_open_extension_mm": null,
          "maximum_extension_allowed_by_study_mm": 600,
          "open_envelope_study_bbox_xyz_mm": [
            6750,
            7300,
            152,
            7350,
            7900,
            868
          ],
          "operational_note": "600mm éreserva conservadora do projeto,não curso certificado do fabricante. Seaferragem ultrapassar estaenvolvente, recalcular.",
          "streams": [
            {
              "bucket_l": 38,
              "use": "Indiferenciado"
            },
            {
              "bucket_l": 38,
              "use": "Embalagens"
            },
            {
              "bucket_l": 12,
              "use": "Vidro"
            },
            {
              "bucket_l": 2.5,
              "use": "Orgânico: esvaziar diariamente; tampa individual compatível por confirmar"
            }
          ],
          "lid": "Tampa metálica do sistema; tampade12L incluída. Não prometer tampa individual de2,5L sem acessório confirmado.",
          "paper_cardboard": "I03-F1-R38, tabuleiro seco removível560×330×140; separado dos alimentos e dos detergentes.",
          "selected_for_study": true,
          "purchase_approved": false,
          "mounting_template_final": false,
          "service": "Removerbaldes pela extração frontal; conjunto desmontável conforme manual, sem cortar ou desencaixar a bancada.",
          "front_operation": "Frente fixa ao mecanismo; sem dobradiças decaneco; não duplicarfrenteornamental+porta interior."
        },
        "no_drawers": true
      },
      {
        "id": "K06",
        "bbox": [
          7.35,
          7.9,
          8.25,
          8.5
        ],
        "height": 0.87,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "carpintaria R5",
        "name": "Indução + gavetas",
        "equipment": "C05/C06",
        "face": "S",
        "tall": false,
        "top_with_worktop": 0.9,
        "appliance_model": "ED651HSC1E",
        "appliance_product_hwd": [
          0.051,
          0.592,
          0.522
        ],
        "drawer_box_max_z": 0.8,
        "layoutRevision": "R38",
        "frontsR38": [
          {
            "id": "K06-F11",
            "u0_mm": 2,
            "u1_mm": 898,
            "z0_mm": 155,
            "z1_mm": 414,
            "width_mm": 896,
            "height_mm": 259,
            "thickness_mm": 20,
            "material": "lacado marfim mate",
            "status": "FRONTAL_NOMINAL_MODELO; CONFIRMAR_FERRAGENS_E_FOLGAS"
          },
          {
            "id": "K06-F21",
            "u0_mm": 2,
            "u1_mm": 898,
            "z0_mm": 424,
            "z1_mm": 644,
            "width_mm": 896,
            "height_mm": 220,
            "thickness_mm": 20,
            "material": "lacado marfim mate",
            "status": "FRONTAL_NOMINAL_MODELO; CONFIRMAR_FERRAGENS_E_FOLGAS"
          },
          {
            "id": "K06-F31",
            "u0_mm": 2,
            "u1_mm": 898,
            "z0_mm": 654,
            "z1_mm": 865,
            "width_mm": 896,
            "height_mm": 211,
            "thickness_mm": 20,
            "material": "lacado marfim mate",
            "status": "FRONTAL_NOMINAL_MODELO; CONFIRMAR_FERRAGENS_E_FOLGAS"
          }
        ]
      },
      {
        "id": "K07",
        "bbox": [
          8.25,
          7.9,
          8.45,
          8.5
        ],
        "height": 0.87,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "carpintaria R5",
        "name": "Arrumação estreita com porta e duas prateleiras",
        "equipment": "",
        "face": "S",
        "tall": false,
        "layoutRevision": "R38",
        "note": "Corpo normalizado 200 mm e remate/filler 50 mm até à divisória x8.50 m.",
        "top_with_worktop": 0.9,
        "frontsR38": [
          {
            "id": "K07-F1-R38",
            "u0_mm": 2,
            "u1_mm": 198,
            "z0_mm": 152,
            "z1_mm": 868,
            "width_mm": 196,
            "height_mm": 716,
            "thickness_mm": 20,
            "material": "lacado marfim mate",
            "status": "COTA_DE_DESENVOLVIMENTO_R38_FERRAGENS_GABARITO_E_OBRA_POR_VALIDAR",
            "operation": "abrir",
            "hinge_side": "E",
            "opening_angle_study_deg": 100
          }
        ],
        "front_type": "single_hinged_door",
        "shelfTopsR38": [
          380,
          600
        ]
      }
    ],
    "kitchenWorktop": {
      "id": "KT",
      "bbox": [
        5.25,
        7.9,
        8.5,
        8.5
      ],
      "height": 0.03,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "tampo R5 a 0,90 m",
      "top": 0.9,
      "material": "stone"
    },
    "kitchenSink": {
      "id": "C07",
      "bbox": [
        5.8675,
        7.98,
        6.7325,
        8.42
      ],
      "height": 0.199,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "visualização nominal",
      "top": 0.9,
      "model": "BLANCOANDANO400/400-U522987",
      "bowlCount": 2,
      "bowlWidth": 0.4,
      "bowlDepth": 0.4,
      "bowlHeight": 0.19,
      "tapCentreCAD": [
        6.3,
        8.465
      ],
      "cutoutBBox": [
        5.8875,
        8.0,
        6.7125,
        8.4
      ]
    },
    "hob": {
      "id": "C05",
      "bbox": [
        7.504,
        7.939,
        8.096,
        8.461
      ],
      "height": 0.006,
      "base": 0.9,
      "exactPlan": true,
      "heightStatus": "visualização nominal",
      "top": 0.906,
      "name": "Placa Siemens ED651HSC1E",
      "appliance_model": "ED651HSC1E",
      "product_height": 0.051
    },
    "kitchenUpperCabinets": [
      {
        "id": "U02",
        "bbox": [
          7.35,
          8.15,
          8.25,
          8.5
        ],
        "height": 1.12,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "R15 - topo ao teto falso; base e exaustor mantidos",
        "bottom": 1.58,
        "face": "S",
        "integratedHood": true,
        "carcass_top": 2.68,
        "top_filler": 0.02,
        "hood_face_bottom": 1.58,
        "hood_body_reference_m": [
          0.598,
          0.298,
          0.34
        ],
        "appliance_model": "LJ67BDP60",
        "body_widths_m": [
          0.15,
          0.6,
          0.15
        ],
        "hood_visor_projection_open": 0.097,
        "hood_duct_diameter": 0.15,
        "hood_cabinet_depth_max": 0.36,
        "hood_installation_status": "Siemens LJ67BDP60: ficha/diagramas e manual conferidos; gabarito E-Nr, frisos/compensação, fixações e conduta por fechar antes do fabrico"
      },
      {
        "id": "U03",
        "bbox": [
          8.25,
          8.15,
          8.45,
          8.5
        ],
        "height": 1.12,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "R15 - topo ao teto falso; base e exaustor mantidos",
        "bottom": 1.58,
        "face": "S",
        "layoutRevision": "R18",
        "note": "Corpo 200 mm e remate lateral 50 mm até à divisória.",
        "carcass_top": 2.68,
        "top_filler": 0.02
      },
      {
        "id": "U_BRIDGE",
        "bbox": [
          5.25,
          8.15,
          7.35,
          8.5
        ],
        "height": 0.6,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "R17 - base à cabeça da VE2 (2,10 m); topo ao teto falso (2,70 m); U01 integrado na ponte",
        "bottom": 2.1,
        "face": "S",
        "frontCount": 3,
        "frontWidths": [
          0.7,
          0.7,
          0.7
        ],
        "name": "Armário ponte sobre VE2, três frentes de 700 mm",
        "frontsR38": [
          {
            "id": "U_BRIDGE-F11",
            "u0_mm": 2,
            "u1_mm": 698,
            "z0_mm": 2108,
            "z1_mm": 2678,
            "width_mm": 696,
            "height_mm": 570,
            "thickness_mm": 20,
            "material": "carvalho natural",
            "status": "FRONTAL_NOMINAL_MODELO; CONFIRMAR_FERRAGENS_E_FOLGAS"
          },
          {
            "id": "U_BRIDGE-F12",
            "u0_mm": 702,
            "u1_mm": 1398,
            "z0_mm": 2108,
            "z1_mm": 2678,
            "width_mm": 696,
            "height_mm": 570,
            "thickness_mm": 20,
            "material": "carvalho natural",
            "status": "FRONTAL_NOMINAL_MODELO; CONFIRMAR_FERRAGENS_E_FOLGAS"
          },
          {
            "id": "U_BRIDGE-F13",
            "u0_mm": 1402,
            "u1_mm": 2098,
            "z0_mm": 2108,
            "z1_mm": 2678,
            "width_mm": 696,
            "height_mm": 570,
            "thickness_mm": 20,
            "material": "carvalho natural",
            "status": "FRONTAL_NOMINAL_MODELO; CONFIRMAR_FERRAGENS_E_FOLGAS"
          }
        ]
      }
    ],
    "island": {
      "id": "ISLAND",
      "bbox": [
        5.15,
        5.8,
        7.55,
        6.7
      ],
      "height": 0.9,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "carpintaria R5",
      "bodyBBox": [
        5.15,
        6.2,
        7.55,
        6.7
      ],
      "overhang": 0.4,
      "bodyDepth": 0.5,
      "face": "N",
      "topThickness": 0.03,
      "frontsR38": [
        {
          "id": "I01-F1-R38",
          "u0_mm": 32,
          "u1_mm": 798,
          "z0_mm": 152,
          "z1_mm": 412,
          "width_mm": 766,
          "height_mm": 260,
          "thickness_mm": 20,
          "material": "carvalho natural",
          "status": "COTA_DE_DESENVOLVIMENTO_R38_FERRAGENS_GABARITO_E_OBRA_POR_VALIDAR",
          "operation": "gavetaextraçãoN",
          "nominal_runner_length_mm": 400
        },
        {
          "id": "I01-F2-R38",
          "u0_mm": 32,
          "u1_mm": 798,
          "z0_mm": 416,
          "z1_mm": 642,
          "width_mm": 766,
          "height_mm": 226,
          "thickness_mm": 20,
          "material": "carvalho natural",
          "status": "COTA_DE_DESENVOLVIMENTO_R38_FERRAGENS_GABARITO_E_OBRA_POR_VALIDAR",
          "operation": "gavetaextraçãoN",
          "nominal_runner_length_mm": 400
        },
        {
          "id": "I01-F3-R38",
          "u0_mm": 32,
          "u1_mm": 798,
          "z0_mm": 646,
          "z1_mm": 868,
          "width_mm": 766,
          "height_mm": 222,
          "thickness_mm": 20,
          "material": "carvalho natural",
          "status": "COTA_DE_DESENVOLVIMENTO_R38_FERRAGENS_GABARITO_E_OBRA_POR_VALIDAR",
          "operation": "gavetaextraçãoN",
          "nominal_runner_length_mm": 400
        },
        {
          "id": "I02-F1-R38",
          "u0_mm": 802,
          "u1_mm": 1598,
          "z0_mm": 152,
          "z1_mm": 412,
          "width_mm": 796,
          "height_mm": 260,
          "thickness_mm": 20,
          "material": "carvalho natural",
          "status": "COTA_DE_DESENVOLVIMENTO_R38_FERRAGENS_GABARITO_E_OBRA_POR_VALIDAR",
          "operation": "gavetaextraçãoN",
          "nominal_runner_length_mm": 400
        },
        {
          "id": "I02-F2-R38",
          "u0_mm": 802,
          "u1_mm": 1598,
          "z0_mm": 416,
          "z1_mm": 642,
          "width_mm": 796,
          "height_mm": 226,
          "thickness_mm": 20,
          "material": "carvalho natural",
          "status": "COTA_DE_DESENVOLVIMENTO_R38_FERRAGENS_GABARITO_E_OBRA_POR_VALIDAR",
          "operation": "gavetaextraçãoN",
          "nominal_runner_length_mm": 400
        },
        {
          "id": "I02-F3-R38",
          "u0_mm": 802,
          "u1_mm": 1598,
          "z0_mm": 646,
          "z1_mm": 868,
          "width_mm": 796,
          "height_mm": 222,
          "thickness_mm": 20,
          "material": "carvalho natural",
          "status": "COTA_DE_DESENVOLVIMENTO_R38_FERRAGENS_GABARITO_E_OBRA_POR_VALIDAR",
          "operation": "gavetaextraçãoN",
          "nominal_runner_length_mm": 400
        },
        {
          "id": "I03-F1-R38",
          "u0_mm": 1602,
          "u1_mm": 2368,
          "z0_mm": 152,
          "z1_mm": 412,
          "width_mm": 766,
          "height_mm": 260,
          "thickness_mm": 20,
          "material": "carvalho natural",
          "status": "COTA_DE_DESENVOLVIMENTO_R38_FERRAGENS_GABARITO_E_OBRA_POR_VALIDAR",
          "operation": "gavetaextraçãoN",
          "nominal_runner_length_mm": 400
        },
        {
          "id": "I03-F2-R38",
          "u0_mm": 1602,
          "u1_mm": 2368,
          "z0_mm": 416,
          "z1_mm": 642,
          "width_mm": 766,
          "height_mm": 226,
          "thickness_mm": 20,
          "material": "carvalho natural",
          "status": "COTA_DE_DESENVOLVIMENTO_R38_FERRAGENS_GABARITO_E_OBRA_POR_VALIDAR",
          "operation": "gavetaextraçãoN",
          "nominal_runner_length_mm": 400
        },
        {
          "id": "I03-F3-R38",
          "u0_mm": 1602,
          "u1_mm": 2368,
          "z0_mm": 646,
          "z1_mm": 868,
          "width_mm": 766,
          "height_mm": 222,
          "thickness_mm": 20,
          "material": "carvalho natural",
          "status": "COTA_DE_DESENVOLVIMENTO_R38_FERRAGENS_GABARITO_E_OBRA_POR_VALIDAR",
          "operation": "gavetaextraçãoN",
          "nominal_runner_length_mm": 400
        }
      ],
      "drawerBoxesR38": [
        {
          "id": "I01-D1",
          "module_id": "I01",
          "front_id": "I01-F1-R38",
          "front_closed_bbox_xyz_mm": [
            5182,
            6680,
            152,
            5948,
            6700,
            412
          ],
          "box_closed_bbox_xyz_mm": [
            5203.000000000001,
            6288,
            210,
            5927.0,
            6678,
            390
          ],
          "runner_reference": "BLUM MOVENTO760H4000S",
          "locking_pair": "T51.7601 esquerda/direita",
          "motion": "BLUMOTION S, extração total; abertura manual por puxador/cava a selecionar",
          "nominal_runner_length_mm": 400,
          "minimum_internal_depth_mm": 403,
          "inside_available_depth_mm": 448,
          "runner_depth_margin_mm": 45,
          "side_thickness_mm": 16,
          "drawer_side_length_mm": 390,
          "cabinet_clear_width_mm": 733.9999999999991,
          "drawer_internal_width_mm": 691.9999999999991,
          "drawer_external_width_mm": 723.9999999999991,
          "box_external_depth_mm": 390,
          "drawer_internal_depth_mm": 358,
          "box_side_height_mm": 180,
          "floor_thickness_mm": 12,
          "floor_underside_above_side_bottom_mm": 13.5,
          "floor_top_above_side_bottom_mm": 25.5,
          "floor_groove_each_side_study_mm": 6,
          "floor_panel_WD_mm": [
            703.9999999999991,
            370
          ],
          "inside_clear_height_mm": 154.5,
          "rectangular_geometric_capacity_l": 38.27521199999995,
          "full_open_travel_study_mm": 400,
          "full_open_tip_y_mm": 7100,
          "product_dynamic_class_kg": 40,
          "load_note": "40kginclui gaveta/frente/conteúdo. Fixações/caixa do móvel e balanço da pedra não são certificados por esta classe.",
          "machining_status": "Corte acabado doestudo;juntas/rasgos/furação pelo gabaritoT65.1000.02 e amostra deoficina, nãoCNC autorizado.",
          "use": "Panelas/tabuleiros",
          "cut_panels": [
            {
              "name": "Lateralgaveta",
              "qty": 2,
              "length_mm": 390,
              "width_mm": 180,
              "thickness_mm": 16
            },
            {
              "name": "Frenteinterior/costasgaveta",
              "qty": 2,
              "length_mm": 691.9999999999991,
              "width_mm": 180,
              "thickness_mm": 16
            },
            {
              "name": "Fundogaveta emrasgo6",
              "qty": 1,
              "length_mm": 703.9999999999991,
              "width_mm": 370,
              "thickness_mm": 12
            }
          ]
        },
        {
          "id": "I01-D2",
          "module_id": "I01",
          "front_id": "I01-F2-R38",
          "front_closed_bbox_xyz_mm": [
            5182,
            6680,
            416,
            5948,
            6700,
            642
          ],
          "box_closed_bbox_xyz_mm": [
            5203.000000000001,
            6288,
            452,
            5927.0,
            6678,
            602
          ],
          "runner_reference": "BLUM MOVENTO760H4000S",
          "locking_pair": "T51.7601 esquerda/direita",
          "motion": "BLUMOTION S, extração total; abertura manual por puxador/cava a selecionar",
          "nominal_runner_length_mm": 400,
          "minimum_internal_depth_mm": 403,
          "inside_available_depth_mm": 448,
          "runner_depth_margin_mm": 45,
          "side_thickness_mm": 16,
          "drawer_side_length_mm": 390,
          "cabinet_clear_width_mm": 733.9999999999991,
          "drawer_internal_width_mm": 691.9999999999991,
          "drawer_external_width_mm": 723.9999999999991,
          "box_external_depth_mm": 390,
          "drawer_internal_depth_mm": 358,
          "box_side_height_mm": 150,
          "floor_thickness_mm": 12,
          "floor_underside_above_side_bottom_mm": 13.5,
          "floor_top_above_side_bottom_mm": 25.5,
          "floor_groove_each_side_study_mm": 6,
          "floor_panel_WD_mm": [
            703.9999999999991,
            370
          ],
          "inside_clear_height_mm": 124.5,
          "rectangular_geometric_capacity_l": 30.843131999999958,
          "full_open_travel_study_mm": 400,
          "full_open_tip_y_mm": 7100,
          "product_dynamic_class_kg": 40,
          "load_note": "40kginclui gaveta/frente/conteúdo. Fixações/caixa do móvel e balanço da pedra não são certificados por esta classe.",
          "machining_status": "Corte acabado doestudo;juntas/rasgos/furação pelo gabaritoT65.1000.02 e amostra deoficina, nãoCNC autorizado.",
          "use": "Loiça deuso diário",
          "cut_panels": [
            {
              "name": "Lateralgaveta",
              "qty": 2,
              "length_mm": 390,
              "width_mm": 150,
              "thickness_mm": 16
            },
            {
              "name": "Frenteinterior/costasgaveta",
              "qty": 2,
              "length_mm": 691.9999999999991,
              "width_mm": 150,
              "thickness_mm": 16
            },
            {
              "name": "Fundogaveta emrasgo6",
              "qty": 1,
              "length_mm": 703.9999999999991,
              "width_mm": 370,
              "thickness_mm": 12
            }
          ]
        },
        {
          "id": "I01-D3",
          "module_id": "I01",
          "front_id": "I01-F3-R38",
          "front_closed_bbox_xyz_mm": [
            5182,
            6680,
            646,
            5948,
            6700,
            868
          ],
          "box_closed_bbox_xyz_mm": [
            5203.000000000001,
            6288,
            680,
            5927.0,
            6678,
            830
          ],
          "runner_reference": "BLUM MOVENTO760H4000S",
          "locking_pair": "T51.7601 esquerda/direita",
          "motion": "BLUMOTION S, extração total; abertura manual por puxador/cava a selecionar",
          "nominal_runner_length_mm": 400,
          "minimum_internal_depth_mm": 403,
          "inside_available_depth_mm": 448,
          "runner_depth_margin_mm": 45,
          "side_thickness_mm": 16,
          "drawer_side_length_mm": 390,
          "cabinet_clear_width_mm": 733.9999999999991,
          "drawer_internal_width_mm": 691.9999999999991,
          "drawer_external_width_mm": 723.9999999999991,
          "box_external_depth_mm": 390,
          "drawer_internal_depth_mm": 358,
          "box_side_height_mm": 150,
          "floor_thickness_mm": 12,
          "floor_underside_above_side_bottom_mm": 13.5,
          "floor_top_above_side_bottom_mm": 25.5,
          "floor_groove_each_side_study_mm": 6,
          "floor_panel_WD_mm": [
            703.9999999999991,
            370
          ],
          "inside_clear_height_mm": 124.5,
          "rectangular_geometric_capacity_l": 30.843131999999958,
          "full_open_travel_study_mm": 400,
          "full_open_tip_y_mm": 7100,
          "product_dynamic_class_kg": 40,
          "load_note": "40kginclui gaveta/frente/conteúdo. Fixações/caixa do móvel e balanço da pedra não são certificados por esta classe.",
          "machining_status": "Corte acabado doestudo;juntas/rasgos/furação pelo gabaritoT65.1000.02 e amostra deoficina, nãoCNC autorizado.",
          "use": "Talheres/utensílios",
          "cut_panels": [
            {
              "name": "Lateralgaveta",
              "qty": 2,
              "length_mm": 390,
              "width_mm": 150,
              "thickness_mm": 16
            },
            {
              "name": "Frenteinterior/costasgaveta",
              "qty": 2,
              "length_mm": 691.9999999999991,
              "width_mm": 150,
              "thickness_mm": 16
            },
            {
              "name": "Fundogaveta emrasgo6",
              "qty": 1,
              "length_mm": 703.9999999999991,
              "width_mm": 370,
              "thickness_mm": 12
            }
          ]
        },
        {
          "id": "I02-D1",
          "module_id": "I02",
          "front_id": "I02-F1-R38",
          "front_closed_bbox_xyz_mm": [
            5952,
            6680,
            152,
            6748,
            6700,
            412
          ],
          "box_closed_bbox_xyz_mm": [
            5973.0,
            6288,
            210,
            6727.0,
            6678,
            390
          ],
          "runner_reference": "BLUM MOVENTO760H4000S",
          "locking_pair": "T51.7601 esquerda/direita",
          "motion": "BLUMOTION S, extração total; abertura manual por puxador/cava a selecionar",
          "nominal_runner_length_mm": 400,
          "minimum_internal_depth_mm": 403,
          "inside_available_depth_mm": 448,
          "runner_depth_margin_mm": 45,
          "side_thickness_mm": 16,
          "drawer_side_length_mm": 390,
          "cabinet_clear_width_mm": 764.0,
          "drawer_internal_width_mm": 722.0,
          "drawer_external_width_mm": 754.0,
          "box_external_depth_mm": 390,
          "drawer_internal_depth_mm": 358,
          "box_side_height_mm": 180,
          "floor_thickness_mm": 12,
          "floor_underside_above_side_bottom_mm": 13.5,
          "floor_top_above_side_bottom_mm": 25.5,
          "floor_groove_each_side_study_mm": 6,
          "floor_panel_WD_mm": [
            734.0,
            370
          ],
          "inside_clear_height_mm": 154.5,
          "rectangular_geometric_capacity_l": 39.934542,
          "full_open_travel_study_mm": 400,
          "full_open_tip_y_mm": 7100,
          "product_dynamic_class_kg": 40,
          "load_note": "40kginclui gaveta/frente/conteúdo. Fixações/caixa do móvel e balanço da pedra não são certificados por esta classe.",
          "machining_status": "Corte acabado doestudo;juntas/rasgos/furação pelo gabaritoT65.1000.02 e amostra deoficina, nãoCNC autorizado.",
          "use": "Taças/caixas",
          "cut_panels": [
            {
              "name": "Lateralgaveta",
              "qty": 2,
              "length_mm": 390,
              "width_mm": 180,
              "thickness_mm": 16
            },
            {
              "name": "Frenteinterior/costasgaveta",
              "qty": 2,
              "length_mm": 722.0,
              "width_mm": 180,
              "thickness_mm": 16
            },
            {
              "name": "Fundogaveta emrasgo6",
              "qty": 1,
              "length_mm": 734.0,
              "width_mm": 370,
              "thickness_mm": 12
            }
          ]
        },
        {
          "id": "I02-D2",
          "module_id": "I02",
          "front_id": "I02-F2-R38",
          "front_closed_bbox_xyz_mm": [
            5952,
            6680,
            416,
            6748,
            6700,
            642
          ],
          "box_closed_bbox_xyz_mm": [
            5973.0,
            6288,
            452,
            6727.0,
            6678,
            602
          ],
          "runner_reference": "BLUM MOVENTO760H4000S",
          "locking_pair": "T51.7601 esquerda/direita",
          "motion": "BLUMOTION S, extração total; abertura manual por puxador/cava a selecionar",
          "nominal_runner_length_mm": 400,
          "minimum_internal_depth_mm": 403,
          "inside_available_depth_mm": 448,
          "runner_depth_margin_mm": 45,
          "side_thickness_mm": 16,
          "drawer_side_length_mm": 390,
          "cabinet_clear_width_mm": 764.0,
          "drawer_internal_width_mm": 722.0,
          "drawer_external_width_mm": 754.0,
          "box_external_depth_mm": 390,
          "drawer_internal_depth_mm": 358,
          "box_side_height_mm": 150,
          "floor_thickness_mm": 12,
          "floor_underside_above_side_bottom_mm": 13.5,
          "floor_top_above_side_bottom_mm": 25.5,
          "floor_groove_each_side_study_mm": 6,
          "floor_panel_WD_mm": [
            734.0,
            370
          ],
          "inside_clear_height_mm": 124.5,
          "rectangular_geometric_capacity_l": 32.180262,
          "full_open_travel_study_mm": 400,
          "full_open_tip_y_mm": 7100,
          "product_dynamic_class_kg": 40,
          "load_note": "40kginclui gaveta/frente/conteúdo. Fixações/caixa do móvel e balanço da pedra não são certificados por esta classe.",
          "machining_status": "Corte acabado doestudo;juntas/rasgos/furação pelo gabaritoT65.1000.02 e amostra deoficina, nãoCNC autorizado.",
          "use": "Pratos/copos",
          "cut_panels": [
            {
              "name": "Lateralgaveta",
              "qty": 2,
              "length_mm": 390,
              "width_mm": 150,
              "thickness_mm": 16
            },
            {
              "name": "Frenteinterior/costasgaveta",
              "qty": 2,
              "length_mm": 722.0,
              "width_mm": 150,
              "thickness_mm": 16
            },
            {
              "name": "Fundogaveta emrasgo6",
              "qty": 1,
              "length_mm": 734.0,
              "width_mm": 370,
              "thickness_mm": 12
            }
          ]
        },
        {
          "id": "I02-D3",
          "module_id": "I02",
          "front_id": "I02-F3-R38",
          "front_closed_bbox_xyz_mm": [
            5952,
            6680,
            646,
            6748,
            6700,
            868
          ],
          "box_closed_bbox_xyz_mm": [
            5973.0,
            6288,
            680,
            6727.0,
            6678,
            830
          ],
          "runner_reference": "BLUM MOVENTO760H4000S",
          "locking_pair": "T51.7601 esquerda/direita",
          "motion": "BLUMOTION S, extração total; abertura manual por puxador/cava a selecionar",
          "nominal_runner_length_mm": 400,
          "minimum_internal_depth_mm": 403,
          "inside_available_depth_mm": 448,
          "runner_depth_margin_mm": 45,
          "side_thickness_mm": 16,
          "drawer_side_length_mm": 390,
          "cabinet_clear_width_mm": 764.0,
          "drawer_internal_width_mm": 722.0,
          "drawer_external_width_mm": 754.0,
          "box_external_depth_mm": 390,
          "drawer_internal_depth_mm": 358,
          "box_side_height_mm": 150,
          "floor_thickness_mm": 12,
          "floor_underside_above_side_bottom_mm": 13.5,
          "floor_top_above_side_bottom_mm": 25.5,
          "floor_groove_each_side_study_mm": 6,
          "floor_panel_WD_mm": [
            734.0,
            370
          ],
          "inside_clear_height_mm": 124.5,
          "rectangular_geometric_capacity_l": 32.180262,
          "full_open_travel_study_mm": 400,
          "full_open_tip_y_mm": 7100,
          "product_dynamic_class_kg": 40,
          "load_note": "40kginclui gaveta/frente/conteúdo. Fixações/caixa do móvel e balanço da pedra não são certificados por esta classe.",
          "machining_status": "Corte acabado doestudo;juntas/rasgos/furação pelo gabaritoT65.1000.02 e amostra deoficina, nãoCNC autorizado.",
          "use": "Pequenos utensílios",
          "cut_panels": [
            {
              "name": "Lateralgaveta",
              "qty": 2,
              "length_mm": 390,
              "width_mm": 150,
              "thickness_mm": 16
            },
            {
              "name": "Frenteinterior/costasgaveta",
              "qty": 2,
              "length_mm": 722.0,
              "width_mm": 150,
              "thickness_mm": 16
            },
            {
              "name": "Fundogaveta emrasgo6",
              "qty": 1,
              "length_mm": 734.0,
              "width_mm": 370,
              "thickness_mm": 12
            }
          ]
        },
        {
          "id": "I03-D1",
          "module_id": "I03",
          "front_id": "I03-F1-R38",
          "front_closed_bbox_xyz_mm": [
            6752,
            6680,
            152,
            7518,
            6700,
            412
          ],
          "box_closed_bbox_xyz_mm": [
            6773.0,
            6288,
            210,
            7379.0,
            6678,
            390
          ],
          "runner_reference": "BLUM MOVENTO760H4000S",
          "locking_pair": "T51.7601 esquerda/direita",
          "motion": "BLUMOTION S, extração total; abertura manual por puxador/cava a selecionar",
          "nominal_runner_length_mm": 400,
          "minimum_internal_depth_mm": 403,
          "inside_available_depth_mm": 448,
          "runner_depth_margin_mm": 45,
          "side_thickness_mm": 16,
          "drawer_side_length_mm": 390,
          "cabinet_clear_width_mm": 616.0,
          "drawer_internal_width_mm": 574.0,
          "drawer_external_width_mm": 606.0,
          "box_external_depth_mm": 390,
          "drawer_internal_depth_mm": 358,
          "box_side_height_mm": 180,
          "floor_thickness_mm": 12,
          "floor_underside_above_side_bottom_mm": 13.5,
          "floor_top_above_side_bottom_mm": 25.5,
          "floor_groove_each_side_study_mm": 6,
          "floor_panel_WD_mm": [
            586.0,
            370
          ],
          "inside_clear_height_mm": 154.5,
          "rectangular_geometric_capacity_l": 31.748514,
          "full_open_travel_study_mm": 400,
          "full_open_tip_y_mm": 7100,
          "product_dynamic_class_kg": 40,
          "load_note": "40kginclui gaveta/frente/conteúdo. Fixações/caixa do móvel e balanço da pedra não são certificados por esta classe.",
          "machining_status": "Corte acabado doestudo;juntas/rasgos/furação pelo gabaritoT65.1000.02 e amostra deoficina, nãoCNC autorizado.",
          "use": "Papelseco/cartão; tabuleiroamovível560×330×140; sem alimentos/limpeza.",
          "cut_panels": [
            {
              "name": "Lateralgaveta",
              "qty": 2,
              "length_mm": 390,
              "width_mm": 180,
              "thickness_mm": 16
            },
            {
              "name": "Frenteinterior/costasgaveta",
              "qty": 2,
              "length_mm": 574.0,
              "width_mm": 180,
              "thickness_mm": 16
            },
            {
              "name": "Fundogaveta emrasgo6",
              "qty": 1,
              "length_mm": 586.0,
              "width_mm": 370,
              "thickness_mm": 12
            }
          ]
        },
        {
          "id": "I03-D2",
          "module_id": "I03",
          "front_id": "I03-F2-R38",
          "front_closed_bbox_xyz_mm": [
            6752,
            6680,
            416,
            7518,
            6700,
            642
          ],
          "box_closed_bbox_xyz_mm": [
            6773.0,
            6288,
            452,
            7379.0,
            6678,
            602
          ],
          "runner_reference": "BLUM MOVENTO760H4000S",
          "locking_pair": "T51.7601 esquerda/direita",
          "motion": "BLUMOTION S, extração total; abertura manual por puxador/cava a selecionar",
          "nominal_runner_length_mm": 400,
          "minimum_internal_depth_mm": 403,
          "inside_available_depth_mm": 448,
          "runner_depth_margin_mm": 45,
          "side_thickness_mm": 16,
          "drawer_side_length_mm": 390,
          "cabinet_clear_width_mm": 616.0,
          "drawer_internal_width_mm": 574.0,
          "drawer_external_width_mm": 606.0,
          "box_external_depth_mm": 390,
          "drawer_internal_depth_mm": 358,
          "box_side_height_mm": 150,
          "floor_thickness_mm": 12,
          "floor_underside_above_side_bottom_mm": 13.5,
          "floor_top_above_side_bottom_mm": 25.5,
          "floor_groove_each_side_study_mm": 6,
          "floor_panel_WD_mm": [
            586.0,
            370
          ],
          "inside_clear_height_mm": 124.5,
          "rectangular_geometric_capacity_l": 25.583754,
          "full_open_travel_study_mm": 400,
          "full_open_tip_y_mm": 7100,
          "product_dynamic_class_kg": 40,
          "load_note": "40kginclui gaveta/frente/conteúdo. Fixações/caixa do móvel e balanço da pedra não são certificados por esta classe.",
          "machining_status": "Corte acabado doestudo;juntas/rasgos/furação pelo gabaritoT65.1000.02 e amostra deoficina, nãoCNC autorizado.",
          "use": "Panos/cozinha",
          "cut_panels": [
            {
              "name": "Lateralgaveta",
              "qty": 2,
              "length_mm": 390,
              "width_mm": 150,
              "thickness_mm": 16
            },
            {
              "name": "Frenteinterior/costasgaveta",
              "qty": 2,
              "length_mm": 574.0,
              "width_mm": 150,
              "thickness_mm": 16
            },
            {
              "name": "Fundogaveta emrasgo6",
              "qty": 1,
              "length_mm": 586.0,
              "width_mm": 370,
              "thickness_mm": 12
            }
          ]
        },
        {
          "id": "I03-D3",
          "module_id": "I03",
          "front_id": "I03-F3-R38",
          "front_closed_bbox_xyz_mm": [
            6752,
            6680,
            646,
            7518,
            6700,
            868
          ],
          "box_closed_bbox_xyz_mm": [
            6773.0,
            6288,
            680,
            7379.0,
            6678,
            830
          ],
          "runner_reference": "BLUM MOVENTO760H4000S",
          "locking_pair": "T51.7601 esquerda/direita",
          "motion": "BLUMOTION S, extração total; abertura manual por puxador/cava a selecionar",
          "nominal_runner_length_mm": 400,
          "minimum_internal_depth_mm": 403,
          "inside_available_depth_mm": 448,
          "runner_depth_margin_mm": 45,
          "side_thickness_mm": 16,
          "drawer_side_length_mm": 390,
          "cabinet_clear_width_mm": 616.0,
          "drawer_internal_width_mm": 574.0,
          "drawer_external_width_mm": 606.0,
          "box_external_depth_mm": 390,
          "drawer_internal_depth_mm": 358,
          "box_side_height_mm": 150,
          "floor_thickness_mm": 12,
          "floor_underside_above_side_bottom_mm": 13.5,
          "floor_top_above_side_bottom_mm": 25.5,
          "floor_groove_each_side_study_mm": 6,
          "floor_panel_WD_mm": [
            586.0,
            370
          ],
          "inside_clear_height_mm": 124.5,
          "rectangular_geometric_capacity_l": 25.583754,
          "full_open_travel_study_mm": 400,
          "full_open_tip_y_mm": 7100,
          "product_dynamic_class_kg": 40,
          "load_note": "40kginclui gaveta/frente/conteúdo. Fixações/caixa do móvel e balanço da pedra não são certificados por esta classe.",
          "machining_status": "Corte acabado doestudo;juntas/rasgos/furação pelo gabaritoT65.1000.02 e amostra deoficina, nãoCNC autorizado.",
          "use": "Sacoslimpos/acessórios",
          "cut_panels": [
            {
              "name": "Lateralgaveta",
              "qty": 2,
              "length_mm": 390,
              "width_mm": 150,
              "thickness_mm": 16
            },
            {
              "name": "Frenteinterior/costasgaveta",
              "qty": 2,
              "length_mm": 574.0,
              "width_mm": 150,
              "thickness_mm": 16
            },
            {
              "name": "Fundogaveta emrasgo6",
              "qty": 1,
              "length_mm": 586.0,
              "width_mm": 370,
              "thickness_mm": 12
            }
          ]
        }
      ],
      "technicalBayR38": {
        "inner_bbox_xyz_mm": [
          7402,
          6232,
          168,
          7502,
          6680,
          852
        ],
        "clear_width_mm": 100,
        "access": "Tampa removível pelo interiorI03,comgavetas retiradas; tomadaacessível exteriorfaceE.",
        "no_food": true,
        "no_loose_objects": true,
        "socket_centreCAD_m": [
          7.55,
          6.4,
          0.65
        ],
        "socket_face": "E",
        "plate_WH_mm": [
          160,
          80
        ],
        "connection_reserve_bbox_xyz_mm": [
          7460,
          6300,
          590,
          7550,
          6500,
          710
        ],
        "maximum_recess_from_outer_face_mm": 90,
        "no_cut_without_stone_supplier": true,
        "note": "Partiçãoretira118mm da larguradasgavetasI03. Nãoencaixarcaixadeligaçãoatrásdagavetaantiga692mm. Fixação/cabos/aterramentopeloeletricista; recortepedra e travamento pelo fornecedor."
      },
      "paperTrayR38": {
        "drawer_id": "I03-D1",
        "outer_WDH_mm": [
          560,
          330,
          140
        ],
        "thickness_mm": 8,
        "inner_WDH_mm": [
          544,
          314,
          132
        ],
        "geometric_inner_volume_l": 22.547712,
        "cut_panels": [
          {
            "name": "Fundotabuleiro",
            "qty": 1,
            "length_mm": 560,
            "width_mm": 330,
            "thickness_mm": 8
          },
          {
            "name": "Lateraistabuleiro",
            "qty": 2,
            "length_mm": 330,
            "width_mm": 132,
            "thickness_mm": 8
          },
          {
            "name": "Frente/costastabuleiro",
            "qty": 2,
            "length_mm": 544,
            "width_mm": 132,
            "thickness_mm": 8
          }
        ],
        "note": "Dimensões exterior/interno separadas; tapete removível e proteção lavável; papel sempreseco. Não é baldealimentar nemcapacidadecertificada."
      }
    },
    "stools": [
      {
        "id": "B01",
        "bbox": [
          5.225,
          5.75,
          5.675,
          6.2
        ],
        "height": 0.65,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "visualização nominal",
        "seatHeight": 0.65,
        "occupiedBBox": [
          5.15,
          5.2,
          5.75,
          5.8
        ],
        "face": "N"
      },
      {
        "id": "B02",
        "bbox": [
          5.825,
          5.75,
          6.275,
          6.2
        ],
        "height": 0.65,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "visualização nominal",
        "seatHeight": 0.65,
        "occupiedBBox": [
          5.75,
          5.2,
          6.35,
          5.8
        ],
        "face": "N"
      },
      {
        "id": "B03",
        "bbox": [
          6.425,
          5.75,
          6.875,
          6.2
        ],
        "height": 0.65,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "visualização nominal",
        "seatHeight": 0.65,
        "occupiedBBox": [
          6.35,
          5.2,
          6.95,
          5.8
        ],
        "face": "N"
      },
      {
        "id": "B04",
        "bbox": [
          7.025,
          5.75,
          7.475,
          6.2
        ],
        "height": 0.65,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "visualização nominal",
        "seatHeight": 0.65,
        "occupiedBBox": [
          6.95,
          5.2,
          7.55,
          5.8
        ],
        "face": "N"
      }
    ],
    "diningTable": {
      "id": "TABLE",
      "bbox": [
        5.985,
        3.48,
        8.385,
        4.38
      ],
      "height": 0.75,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "visualização nominal",
      "places": 8
    },
    "diningChairs": [
      {
        "id": "CH01",
        "bbox": [
          6.145,
          2.97,
          6.585,
          3.41
        ],
        "height": 0.82,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "visualização nominal",
        "seatHeight": 0.45,
        "face": "N"
      },
      {
        "id": "CH02",
        "bbox": [
          6.145,
          4.45,
          6.585,
          4.89
        ],
        "height": 0.82,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "visualização nominal",
        "seatHeight": 0.45,
        "face": "S"
      },
      {
        "id": "CH03",
        "bbox": [
          6.965,
          2.97,
          7.405,
          3.41
        ],
        "height": 0.82,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "visualização nominal",
        "seatHeight": 0.45,
        "face": "N"
      },
      {
        "id": "CH04",
        "bbox": [
          6.965,
          4.45,
          7.405,
          4.89
        ],
        "height": 0.82,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "visualização nominal",
        "seatHeight": 0.45,
        "face": "S"
      },
      {
        "id": "CH05",
        "bbox": [
          7.785,
          2.97,
          8.225,
          3.41
        ],
        "height": 0.82,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "visualização nominal",
        "seatHeight": 0.45,
        "face": "N"
      },
      {
        "id": "CH06",
        "bbox": [
          7.785,
          4.45,
          8.225,
          4.89
        ],
        "height": 0.82,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "visualização nominal",
        "seatHeight": 0.45,
        "face": "S"
      },
      {
        "id": "CH07",
        "bbox": [
          5.475,
          3.71,
          5.915,
          4.15
        ],
        "height": 0.82,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "visualização nominal",
        "seatHeight": 0.45,
        "face": "E"
      },
      {
        "id": "CH08",
        "bbox": [
          8.455,
          3.71,
          8.895,
          4.15
        ],
        "height": 0.82,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "visualização nominal",
        "seatHeight": 0.45,
        "face": "W"
      }
    ],
    "sofa": {
      "id": "SOFA",
      "bbox": [
        7.31,
        0.629238,
        10.21,
        2.279238
      ],
      "height": 0.85,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "visualização nominal",
      "face": "S",
      "places": 4,
      "chaiseBBox": [
        9.26,
        0.629238,
        10.21,
        2.279238
      ],
      "mainBBox": [
        7.31,
        1.329238,
        10.21,
        2.279238
      ],
      "seatHeight": 0.45,
      "backSide": "N",
      "layoutRevision": "R18",
      "sourceBBox": [
        5.812407,
        0.649238,
        8.992407,
        2.279238
      ],
      "shiftFromR8": [
        0.68,
        0
      ],
      "note": "Sofá creme 2,90 x 1,65 m, chaise a nascente a 40 mm da divisória do escritório. Eixo TV x=8,760 m. Dimensões de projeto a conferir ao escolher o produto.",
      "legHeight": 0.12,
      "chaiseSide": "E"
    },
    "coffeeTable": {
      "id": "COFFEE",
      "circle": [
        8.25,
        0.65,
        0.275
      ],
      "height": 0.38,
      "exactPlan": true,
      "heightStatus": "visualização nominal",
      "layoutRevision": "R19",
      "shiftFromR8": [
        0.68,
        0
      ],
      "finish": "Tambor baixo em carvalho natural com réguas verticais finas",
      "note": "Mesa circular de 550 mm, mantém 125 mm estáticos até ao móvel TV; acesso ao móvel pelos lados, sem gavetas."
    },
    "tv": {
      "id": "TV",
      "bbox": [
        8.035,
        0.0975978,
        9.485,
        0.1575978
      ],
      "height": 0.815625,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "visualização nominal",
      "cadHandle": "28A",
      "bottom": 0.9,
      "face": "N",
      "note": "Televisão nominal de 1,450 x 0,815625 m, centrada no sofá; base a 0,90 m. Modelo e fixação finais a selecionar.",
      "layoutRevision": "R19",
      "axisX": 8.76,
      "top": 1.715625,
      "screenWidth": 1.45,
      "screenHeight": 0.815625
    },
    "office": {
      "layout": "double_R21",
      "roomID": "ESC",
      "desk": {
        "id": "OFFICE_DESK",
        "bbox": [
          12.55,
          0.1,
          13.2,
          2.7
        ],
        "height": 0.75,
        "base": 0,
        "exactPlan": true,
        "top": 0.75,
        "thickness": 0.03,
        "face": "W"
      },
      "desks": [
        {
          "id": "OFFICE_DESK",
          "bbox": [
            12.55,
            0.1,
            13.2,
            2.7
          ],
          "height": 0.75,
          "base": 0,
          "exactPlan": true,
          "top": 0.75,
          "thickness": 0.03,
          "face": "W"
        }
      ],
      "chairs": [
        {
          "id": "OFFICE_CHAIR_1",
          "bbox": [
            12.0,
            0.23500000000000004,
            12.649999999999999,
            0.885
          ],
          "height": 0.945,
          "base": 0,
          "exactPlan": true,
          "diameter": 0.65,
          "centreCAD": [
            12.325,
            0.56
          ],
          "pullback": 0.3,
          "seatHeight": 0.455,
          "face": "E"
        },
        {
          "id": "OFFICE_CHAIR_2",
          "bbox": [
            12.0,
            1.375,
            12.649999999999999,
            2.025
          ],
          "height": 0.945,
          "base": 0,
          "exactPlan": true,
          "diameter": 0.65,
          "centreCAD": [
            12.325,
            1.7
          ],
          "pullback": 0.3,
          "seatHeight": 0.455,
          "face": "E"
        }
      ],
      "chair": {
        "id": "OFFICE_CHAIR_1",
        "bbox": [
          12.0,
          0.23500000000000004,
          12.649999999999999,
          0.885
        ],
        "height": 0.945,
        "base": 0,
        "exactPlan": true,
        "diameter": 0.65,
        "centreCAD": [
          12.325,
          0.56
        ],
        "pullback": 0.3,
        "seatHeight": 0.455,
        "face": "E"
      },
      "lowCabinet": null,
      "cabinets": [
        {
          "id": "OFFICE_DRAWER_CENTRAL",
          "bbox": [
            12.6,
            1.02,
            13.16,
            1.32
          ],
          "height": 0.72,
          "base": 0,
          "exactPlan": true,
          "front": "W",
          "drawers": 3
        },
        {
          "id": "OFFICE_CABINET_NORTH",
          "bbox": [
            12.6,
            2.22,
            13.16,
            2.7
          ],
          "height": 0.72,
          "base": 0,
          "exactPlan": true,
          "front": "W",
          "drawers": 3
        }
      ],
      "shelves": [
        {
          "id": "OFFICE_SHELF_1",
          "bbox": [
            12.98,
            0.14,
            13.2,
            1.1400000000000001
          ],
          "height": 0.025,
          "base": 1.43,
          "exactPlan": true,
          "ledKelvin": 3000
        },
        {
          "id": "OFFICE_SHELF_2",
          "bbox": [
            12.98,
            1.56,
            13.2,
            2.56
          ],
          "height": 0.025,
          "base": 1.43,
          "exactPlan": true,
          "ledKelvin": 3000
        },
        {
          "id": "OFFICE_SHELF_3",
          "bbox": [
            12.98,
            0.14,
            13.2,
            1.1400000000000001
          ],
          "height": 0.025,
          "base": 2.03,
          "exactPlan": true,
          "ledKelvin": 3000
        },
        {
          "id": "OFFICE_SHELF_4",
          "bbox": [
            12.98,
            1.56,
            13.2,
            2.56
          ],
          "height": 0.025,
          "base": 2.03,
          "exactPlan": true,
          "ledKelvin": 3000
        }
      ],
      "slatPanel": {
        "id": "OFFICE_SLATS",
        "bbox": [
          13.16,
          1.2,
          13.2,
          1.5
        ],
        "height": 1.95,
        "base": 0.75,
        "exactPlan": true,
        "count": 10
      },
      "workstationCentresCADY": [
        0.56,
        1.7
      ],
      "measuredRoom": {
        "id": "ESC",
        "bbox": [
          10.4,
          0,
          13.2,
          2.94
        ],
        "height": 2.7,
        "area": 8.232
      },
      "pullbackStudy": {
        "distance": 0.3,
        "doorArcReserve": 0.095,
        "conditional": "Cadeiras compactas de 65 cm; respeitar posição norte e recuo de estudo. Gavetas usam espaço das pernas quando abertas.",
        "doorApproach": "A área reservada F02 de aproximação P11 pode ser parcialmente ocupada pelas bases das cadeiras; a reserva de 95 mm refere-se somente ao arco da folha. Não declarar aproximação/acessibilidade global livre."
      },
      "finish": "Carvalho natural, tecido areia, LED 3000 K",
      "removedIDs": [
        "OFFICE_CABINET"
      ]
    },
    "bathrooms": [
      {
        "id": "IS_C",
        "roomBBox": [
          11.1,
          5.55,
          13.18,
          8.5
        ],
        "shower": {
          "id": "IS_C_SHOWER",
          "bbox": [
            11.1,
            7.7,
            13.18,
            8.5
          ],
          "height": 0,
          "base": 0,
          "exactPlan": true,
          "heightStatus": "Piso revestido com pendente2%, não uma placa plana de25mm.",
          "material": "tile",
          "floorBuildR37": {
            "system": "Schlüter KERDI-LINE-H50 +betonilha inclinada +KERDI200 +bandas/cantos/guarnições do sistema",
            "drain_reference": "KLH50GE180",
            "drain_length_mm": 1800,
            "drain_outer_length_mm": 1850,
            "drain_body_width_wall_mm": 120,
            "cover_width_mm": 74,
            "support_height_mm": 97,
            "outlet_nominal_DN": 50,
            "capacity_l_per_s_at20mm_head": 0.6,
            "capacity_l_per_s_at10mm_head": 0.57,
            "water_seal_height_mm": 30,
            "proposed_drain_centreCAD": [
              12.14,
              8.44
            ],
            "proposed_drain_outer_bboxCAD": [
              11.215,
              8.38,
              13.065,
              8.5
            ],
            "proposed_drain_cover_bboxCAD": [
              11.24,
              8.403,
              13.04,
              8.477
            ],
            "drain_offset_from_back_wall_mm": 60,
            "offset_status": "Proposta geométrica com corpo120; fixar com desenho de instalação da variante de parede e revestimento real.",
            "front_surface_level_mm": 0,
            "dry_floor_level_mm": 0,
            "drain_surface_level_mm": -14.8,
            "back_wall_surface_level_mm": -13.6,
            "slope_percent": 2,
            "long_slope_run_mm": 740,
            "long_fall_mm": 14.8,
            "ceramic_tile_study_mm": 8,
            "tile_adhesive_study_mm": 4,
            "KERDI200_mm": 0.2,
            "membrane_bonding_adhesive_allowance_mm": 2,
            "membrane_is_entire_finished_layer": false,
            "under_cover_build_to_flange_study_mm": 14.2,
            "body_bottom_relative_dry_floor_mm": -126.0,
            "leveling_allowance_mm": 5,
            "acoustic_allowance_mm": 6,
            "total_local_floor_reserve_below_dry_finish_mm": 137.0,
            "floor_reserve_is_measured_existing": false,
            "pipes_falls_slab_not_included": "Altura local calculada não inclui percursoDN50/falls de rede nem travessias de laje, piso radiante, isolamento geral e suporte estrutural.",
            "threshold": {
              "substrate_step_mm": 0,
              "bottom_strip_height_mm": null,
              "assembled_step_target_max_mm": 20,
              "required_supplier_detail": "A pletina real é incluída no resguardo mas Hnão está cotada nas fichas consultadas. ConfirmarHmontada<=20com remates; se exceder, trocar perfil/modelo antes da encomenda. Não somar ressalto inventado.",
              "seal": "Fecho magnético +juntas verticais +pletina/vedante inferior +selagem contínua da base/perímetro conforme manual, não apenas silicone aparente."
            },
            "waterproofing": {
              "KERDI200_mm": 0.2,
              "overlap_min_mm": 50,
              "corners": "KERECK +KEBA e colaKERDI-COLL-L",
              "pipe_passages": "guarniçõesKERDI-MV do diâmetro real",
              "floor": "membrana contínua sob todo recinto e ligação ao flange do ralo; prolongar no piso daI.S. e remates/P5 por projeto",
              "walls": "retorno contínuo nas paredes até altura do chuveiro2250; extensão ao teto se recinto for fechado até ao teto, conforme sistema",
              "test": "Ensaio de estanquidade do sistema e ligaçãoDN50 antes de revestir, após cura especificada; acesso ao sifão pelo ralo.",
              "shower_glass_not_waterproofing": "Resguardo não substitui impermeabilização do piso/parede."
            },
            "selected_for_study_only": true,
            "source_url": "https://eu.schluter.com/pt-PT/escoamento-312/e/22093/kerdi-line-h"
          }
        },
        "screen": {
          "line": [
            11.1,
            7.72,
            13.18,
            7.72
          ],
          "height": 2,
          "thickness": 0.01,
          "exactPlan": true,
          "state": "closed",
          "sliding": true,
          "configuration": "2 fixos + 2 portas de correr com fecho central",
          "enclosureR37": {
            "reference": "Duscholux D3 Gredel, frontal2F2P sob medida",
            "nominal_width_mm": 2080,
            "nominal_height_mm": 2000,
            "glass_mm": {
              "fixed": 8,
              "sliding": 6
            },
            "catalogue_width_range_mm": [
              1160,
              2100
            ],
            "adaptation_mm": 10,
            "entry_approx_percent": 41,
            "entry_estimated_mm": 852.8,
            "entry_is_factory_dimension": false,
            "required_clear_entry_target_mm": 800,
            "acceptance": "Exigir plano de encomenda com passagem realmente livre>=800; a percentagem41% é aproximação comercial, não cota de fabrico.",
            "magnetic_closure": true,
            "vertical_seals": true,
            "bottom_strip_included": true,
            "bottom_strip_height_mm": null,
            "finish": "preto mate pretendido; código3984NM consta do manual da série, confirmar variante frontal",
            "swing_outside_room": false,
            "headroom_installation_mm": 700,
            "fixing": "Panos laterais sólidos; fixações escolhidas para substrato, impermeabilizadas pelo sistema.",
            "source_url": "https://www.duscholux.es/es/Producto/D3-Gredel-Frontal-para-ducha-de-2-fijos-2-puertas-correderas",
            "assembly_manual": "referencias/Duscholux_Gredel_MI.pdf",
            "not_hermetic_claim": true,
            "selected_for_study_only": true
          }
        },
        "basin": {
          "id": "IS_C_BASIN",
          "bbox": [
            11.15,
            5.55,
            12.15,
            5.95
          ],
          "height": 0.85,
          "base": 0,
          "exactPlan": false,
          "heightStatus": "visualização nominal",
          "face": "N",
          "width": 1.0,
          "depth": 0.4,
          "accessibleUnder": false,
          "bottom": 0.25,
          "slabThickness": 0.035,
          "fasciaBottom": 0.78,
          "fasciaTop": 0.85,
          "layoutRevision": "R38_S2_ESCOLHIDA",
          "product_selected": false,
          "design_adopted": true,
          "productStudyR36": {
            "basin": "Duravit0338490000",
            "externalMm": [
              525,
              320,
              175
            ],
            "counterTopMm": 850,
            "counterThicknessMm": 35,
            "basinUpperEdgeMm": 815,
            "basinBottomEnvelopeMm": 640,
            "drainCentreCAD": [
              11.65,
              5.685
            ],
            "mixerProjectionMm": 174,
            "purchaseApproved": false,
            "heightDiscrepancyMm": {
              "dimensioned_sheet": 175,
              "portal_description": 210,
              "lowerReserveIf210": 605,
              "confirmationRequired": true
            },
            "rearOverflowReliefMm": 6.25,
            "mixerAxisMm": 1042,
            "spoutOutletMm": 1000,
            "mixerControlCentresMm": 100,
            "mixerBackplateMm": [
              173,
              74
            ],
            "outerBasinBBoxCAD": [
              11.3875,
              5.59,
              11.9125,
              5.91
            ],
            "mixerWallCAD": [
              11.65,
              5.55
            ],
            "spoutOutletCAD": [
              11.65,
              5.724,
              1.0
            ],
            "dimensions_reoriented_for_S_wall": true
          },
          "noteR36": "S2escolhida para desenvolvimento pelo proprietário; requisito posteriorR38 retiraarmários suspensos. Geometria1000×400preservada; execução pendente.",
          "closedCabinet": true,
          "vanityBase": 0.25,
          "cabinetBottom": 0.25,
          "cabinetTop": 0.815,
          "cabinetDoorStudy": {
            "type": "duas portas de abrir",
            "hardware_selected": false,
            "doors_open_during_service_only": true,
            "note": "Varrimento das portas não é parte da manobra livre; uso de arrumação/serviço sequencial. Alternativa deslizante requer ferragem e acesso ao sifão a estudar."
          },
          "drawerCount": 0
        },
        "wc": {
          "id": "IS_C_WC",
          "bbox": [
            12.64,
            7.165,
            13.18,
            7.535
          ],
          "height": 0.45,
          "base": 0,
          "exactPlan": false,
          "heightStatus": "visualização nominal",
          "face": "W",
          "seatHeight": 0.45,
          "panReference": "Duravit D-Code25130900002",
          "product_selected": false,
          "noteR36": "Candidato real540×370. Mantém eixoY7.35 e face acabadaE13.18 APENAS se estrutura/cisterna couberem na parede170 por reconstruir/verificar; produto não comprado. Sem deslocaçãoN junto ao vidro.",
          "cisternStudy": {
            "reference": "Geberit Duofix111.791.00.2, Sigma8cm, substitui111.791.00.1",
            "manufacturer_frame_width_height_body_depth_mm": [
              500,
              1140,
              80
            ],
            "manufacturer_front_cladding_range_mm": [
              10,
              50
            ],
            "installation_envelope_depth_reserve_mm": 130,
            "installation_envelope_is_manufacturer_total": false,
            "scope_of_130": "Reserva de estudo com revestimento25 e zona inferior para curvaDN90/ancoragens. Corpo80 é dimensão do produto, não profundidade total montada.",
            "actuator_reference": "Geberit Sigma20 preto mate115.882.16.1, produto de estudo",
            "actuator_width_height_projection_mm": [
              246,
              164,
              12
            ],
            "actuator_centre_height_mm": 1045,
            "maintenance": "Manutenção e corte do autoclismo acessíveis pela placa amovível. Não fechar essa tampa com móvel, espelho ou revestimento colado.",
            "no_visible_box_inside_bath": true,
            "source_url": "https://catalog.geberit.pt/pt-PT/product/PRO_3938109",
            "procurement_approved": false,
            "wall_id": "W39E",
            "wall_total_mm": 170,
            "frame_bboxCAD": [
              13.205,
              7.1,
              13.285,
              7.6
            ],
            "technical_envelope_bboxCAD": [
              13.18,
              7.1,
              13.31,
              7.6
            ],
            "remaining_back_wall_reserve_mm": 40,
            "actuator_bboxCAD": [
              13.168,
              7.227,
              13.18,
              7.473
            ],
            "condition": "Reconstruir faixa técnica no pano170 sem deslocar face13.18 ou invadirQuarto1. Confirmar estrutura/curvaDN90/ruído. Não cortar parede resistente por inferência de desenho."
          },
          "cisternBBox": [
            13.18,
            7.1,
            13.31,
            7.6
          ],
          "cisternHeight": 1.14,
          "cisternVisible": false,
          "note": "Bacia540×370 de estudo. Autoclismo dentro do envelope da parede; remover qualquer caixa interior herdada. Ver cisternStudy."
        },
        "grabBars": [],
        "barHeight": null,
        "layoutStatus": "S2 escolhida para desenvolvimento; autoclismo/circulação/instalações ainda sujeitos àsvalidações específicas.",
        "finishStudyR33": {
          "generalCeramic": "greige quente ligeiramente mais escuro",
          "showerCeramic": "pedra discreta mais quente no mesmo conjunto cromático",
          "profileFinish": "preto mate",
          "woodFinish": "carvalho claro natural",
          "vanityFront": "Gabinete fechado, carvalho/lacado, sem gavetas sob a cuba; redes e apoios visitáveis.",
          "mirrorDiameterMm": 800,
          "mirrorCentreHeightMm": 1550,
          "mirrorBacklitKelvinStudy": 3000,
          "productSelected": false,
          "roomGeometryUnchanged": true,
          "ownerAdoptedR36": false
        },
        "mirrorR36": {
          "diameter": 0.8,
          "centreCAD": [
            11.65,
            5.55
          ],
          "centreHeight": 1.55,
          "backlitKelvin": 3000,
          "face": "N"
        },
        "plateAnchors": [],
        "showerAssemblyR36": {
          "wall": "E",
          "wallCAD": [
            13.18,
            8.1
          ],
          "headCAD": [
            12.791,
            8.1
          ],
          "mixerHeightMm": 1100,
          "armHeightMm": 2250,
          "headDiameterMm": 280,
          "armProjectionMm": 389,
          "armReference": "hansgrohe27413670",
          "headReference": "hansgroheCroma26220670",
          "status": "PROPOSTA DE ADENDA, não adotada nem certificada; não encomendar/fabricar.",
          "note": "Braço real389mm, não350. Alturas são propostas, não cotas de fábrica. Misturador/desviador/duche de mão por confirmar como conjunto compatível; origemflexível usada na análiseelétrica é ponto mural do chuveiro."
        },
        "maneuveringStudy": {
          "circleCentreCAD": [
            11.87,
            6.75
          ],
          "circleDiameterMm": 1500,
          "margin_W_mm": 20,
          "margin_basin_S_mm": 50,
          "margin_WC_corner_mm": 124.71423905181867,
          "margin_P8_full_disc_conservative_mm": 169.48268171890757,
          "certified": false,
          "condition": "Só com gabinete/coluna fechados e faceWC13.18 preservada por solução real de cisterna. Necessários área transferência,apoios futuros e parecer do arquiteto."
        }
      },
      {
        "id": "IS_S",
        "roomBBox": [
          -0.05,
          3.25,
          1.84,
          5.68
        ],
        "shower": {
          "id": "IS_S_SHOWER",
          "bbox": [
            -0.05,
            3.25,
            1.84,
            4.15
          ],
          "height": 0,
          "base": 0,
          "material": "tile",
          "exactPlan": false,
          "layoutRevision": "R32",
          "product_selected": false,
          "heightStatus": "Piso revestido com pendente2%, não uma placa plana de25mm.",
          "floorBuildR37": {
            "system": "Schlüter KERDI-LINE-H50 +betonilha inclinada +KERDI200 +bandas/cantos/guarnições do sistema",
            "drain_reference": "KLH50GE170",
            "drain_length_mm": 1700,
            "drain_outer_length_mm": 1750,
            "drain_body_width_wall_mm": 120,
            "cover_width_mm": 74,
            "support_height_mm": 97,
            "outlet_nominal_DN": 50,
            "capacity_l_per_s_at20mm_head": 0.6,
            "capacity_l_per_s_at10mm_head": 0.57,
            "water_seal_height_mm": 30,
            "proposed_drain_centreCAD": [
              0.895,
              3.31
            ],
            "proposed_drain_outer_bboxCAD": [
              0.02,
              3.25,
              1.77,
              3.37
            ],
            "proposed_drain_cover_bboxCAD": [
              0.045,
              3.273,
              1.745,
              3.347
            ],
            "drain_offset_from_back_wall_mm": 60,
            "offset_status": "Proposta geométrica com corpo120; fixar com desenho de instalação da variante de parede e revestimento real.",
            "front_surface_level_mm": 0,
            "dry_floor_level_mm": 0,
            "drain_surface_level_mm": -16.8,
            "back_wall_surface_level_mm": -15.6,
            "slope_percent": 2,
            "long_slope_run_mm": 840,
            "long_fall_mm": 16.8,
            "ceramic_tile_study_mm": 8,
            "tile_adhesive_study_mm": 4,
            "KERDI200_mm": 0.2,
            "membrane_bonding_adhesive_allowance_mm": 2,
            "membrane_is_entire_finished_layer": false,
            "under_cover_build_to_flange_study_mm": 14.2,
            "body_bottom_relative_dry_floor_mm": -128.0,
            "leveling_allowance_mm": 5,
            "acoustic_allowance_mm": 6,
            "total_local_floor_reserve_below_dry_finish_mm": 139.0,
            "floor_reserve_is_measured_existing": false,
            "pipes_falls_slab_not_included": "Altura local calculada não inclui percursoDN50/falls de rede nem travessias de laje, piso radiante, isolamento geral e suporte estrutural.",
            "threshold": {
              "substrate_step_mm": 0,
              "bottom_strip_height_mm": null,
              "assembled_step_target_max_mm": 20,
              "required_supplier_detail": "A pletina real é incluída no resguardo mas Hnão está cotada nas fichas consultadas. ConfirmarHmontada<=20com remates; se exceder, trocar perfil/modelo antes da encomenda. Não somar ressalto inventado.",
              "seal": "Fecho magnético +juntas verticais +pletina/vedante inferior +selagem contínua da base/perímetro conforme manual, não apenas silicone aparente."
            },
            "waterproofing": {
              "KERDI200_mm": 0.2,
              "overlap_min_mm": 50,
              "corners": "KERECK +KEBA e colaKERDI-COLL-L",
              "pipe_passages": "guarniçõesKERDI-MV do diâmetro real",
              "floor": "membrana contínua sob todo recinto e ligação ao flange do ralo; prolongar no piso daI.S. e remates/P5 por projeto",
              "walls": "retorno contínuo nas paredes até altura do chuveiro2250; extensão ao teto se recinto for fechado até ao teto, conforme sistema",
              "test": "Ensaio de estanquidade do sistema e ligaçãoDN50 antes de revestir, após cura especificada; acesso ao sifão pelo ralo.",
              "shower_glass_not_waterproofing": "Resguardo não substitui impermeabilização do piso/parede."
            },
            "selected_for_study_only": true,
            "source_url": "https://eu.schluter.com/pt-PT/escoamento-312/e/22093/kerdi-line-h"
          }
        },
        "screen": {
          "line": [
            -0.05,
            4.13,
            1.84,
            4.13
          ],
          "height": 2,
          "thickness": 0.01,
          "exactPlan": false,
          "fixedWidthStudy": 1.0,
          "entryWidthStudy": 0.9,
          "state": "closed",
          "sliding": true,
          "configuration": "2 fixos + 2 portas de correr com fecho central",
          "enclosureR37": {
            "reference": "Duscholux D2 Aura, frontal2F2P sob medida",
            "nominal_width_mm": 1890,
            "nominal_height_mm": 2000,
            "glass_mm": {
              "fixed": 6,
              "sliding": 6
            },
            "catalogue_width_range_mm": [
              1160,
              2000
            ],
            "adaptation_mm": 20,
            "entry_approx_percent": 43,
            "entry_estimated_mm": 812.7,
            "entry_is_factory_dimension": false,
            "required_clear_entry_target_mm": 800,
            "acceptance": "Exigir plano de encomenda com passagem realmente livre>=800; a percentagem43% é aproximação comercial, não cota de fabrico.",
            "magnetic_closure": true,
            "vertical_seals": true,
            "bottom_strip_included": true,
            "bottom_strip_height_mm": null,
            "finish": "preto mate pretendido; confirmar código da variante",
            "swing_outside_room": false,
            "fixing": "PerfilE em cassete reforçada EWOLUTO. Não aplicar buchas aleatórias ao modelo simples de cassete.",
            "source_url": "https://www.duscholux.es/es/Producto/D2-Aura-Frontal-para-ducha-de-2-fijos-2-puertas-correderas",
            "assembly_manual": "referencias/Duscholux_Aura_MI.pdf",
            "not_hermetic_claim": true,
            "selected_for_study_only": true
          }
        },
        "basin": {
          "id": "IS_S_BASIN",
          "bbox": [
            0.45,
            5.18,
            1.65,
            5.68
          ],
          "height": 0.85,
          "base": 0,
          "face": "S",
          "width": 1.2,
          "depth": 0.5,
          "vanityBase": 0.25,
          "exactPlan": false,
          "product_selected": false,
          "note": "Reserva1200×500 com gabinete fechado sem gavetas. Cuba/sifão e apoios por fechar; candidata Duravit0338490000 sob tampo35 e torneira muralC.1, mesmas ressalvas175/210 do estudoCOM.",
          "closedCabinet": true,
          "accessibleUnder": false,
          "cabinetBottom": 0.25,
          "cabinetTop": 0.815,
          "cabinetDoorStudy": {
            "type": "duas frentes de correr",
            "hardware_selected": false,
            "track_depth_reserve_mm": [
              40,
              50
            ],
            "contained_within_bbox": true,
            "front_overlap_study_mm": 30,
            "front_nominal_width_before_final_gaps_mm": 615,
            "approx_access_each_half_mm": 560,
            "fixed_central_divider": false,
            "reason": "A porta esquerda de abrir600 ao abrir90° cruzaria a sanita na faixaX.45.. .65/Y4.58..4.78. Frentes deslizantes evitam esse varrimento. Confirmar ferragem,extração dos painéis e visitação de sifão/caixas."
          },
          "drawerCount": 0,
          "design_adopted": false,
          "slabThickness": 0.035,
          "bottom": 0.25,
          "productStudyR36": {
            "basin": "Duravit0338490000",
            "externalMm": [
              525,
              320,
              175
            ],
            "counterTopMm": 850,
            "counterThicknessMm": 35,
            "basinUpperEdgeMm": 815,
            "basinBottomEnvelopeMm": 640,
            "drainCentreCAD": [
              1.05,
              5.495
            ],
            "outerBasinBBoxCAD": [
              0.7875,
              5.27,
              1.3125,
              5.59
            ],
            "mixerWallCAD": [
              1.05,
              5.68
            ],
            "spoutOutletCAD": [
              1.05,
              5.506,
              1.0
            ],
            "mixerProjectionMm": 174,
            "purchaseApproved": false,
            "heightDiscrepancyMm": {
              "dimensioned_sheet": 175,
              "portal_description": 210,
              "lowerReserveIf210": 605,
              "confirmationRequired": true
            },
            "rearOverflowReliefMm": 6.25,
            "mixerAxisMm": 1042,
            "spoutOutletMm": 1000,
            "mixerControlCentresMm": 100,
            "mixerBackplateMm": [
              173,
              74
            ]
          },
          "layoutRevision": "R37_PROPOSTA"
        },
        "wc": {
          "id": "IS_S_WC",
          "bbox": [
            -0.05,
            4.405,
            0.49,
            4.775
          ],
          "totalEnvelopeBBox": [
            -0.05,
            4.405,
            0.49,
            4.775
          ],
          "cisternBBox": [
            -0.18,
            4.34,
            -0.05,
            4.84
          ],
          "height": 0.45,
          "base": 0,
          "face": "E",
          "seatHeight": 0.45,
          "exactPlan": false,
          "product_selected": false,
          "panReference": "Duravit D-Code25130900002",
          "note": "Bacia540×370 de estudo. Autoclismo dentro do envelope da parede; remover qualquer caixa interior herdada. Ver cisternStudy.",
          "cisternStudy": {
            "reference": "Geberit Duofix111.791.00.2, Sigma8cm, substitui111.791.00.1",
            "manufacturer_frame_width_height_body_depth_mm": [
              500,
              1140,
              80
            ],
            "manufacturer_front_cladding_range_mm": [
              10,
              50
            ],
            "installation_envelope_depth_reserve_mm": 130,
            "installation_envelope_is_manufacturer_total": false,
            "scope_of_130": "Reserva de estudo com revestimento25 e zona inferior para curvaDN90/ancoragens. Corpo80 é dimensão do produto, não profundidade total montada.",
            "actuator_reference": "Geberit Sigma20 preto mate115.882.16.1, produto de estudo",
            "actuator_width_height_projection_mm": [
              246,
              164,
              12
            ],
            "actuator_centre_height_mm": 1045,
            "maintenance": "Manutenção e corte do autoclismo acessíveis pela placa amovível. Não fechar essa tampa com móvel, espelho ou revestimento colado.",
            "no_visible_box_inside_bath": true,
            "source_url": "https://catalog.geberit.pt/pt-PT/product/PRO_3938109",
            "procurement_approved": false,
            "wall_id": "W exterior/sobVE8",
            "wall_total_mm": 250,
            "frame_bboxCAD": [
              -0.155,
              4.34,
              -0.075,
              4.84
            ],
            "technical_envelope_bboxCAD": [
              -0.18,
              4.34,
              -0.05,
              4.84
            ],
            "remaining_external_wall_reserve_mm": 120,
            "window_sill_mm": 1500,
            "frame_top_mm": 1140,
            "frame_to_sill_gap_mm": 360,
            "actuator_bboxCAD": [
              -0.05,
              4.467,
              -0.038,
              4.713
            ],
            "condition": "Planear faixa técnica na nova paredeW daC2 com quadro autoportante e envolvente térmica/estrutural contínua. Os120restantes não são parede certificada. Se a composição real não couber, estudar engrossamento exterior explícito, não repor caixa interior sem decisão."
          },
          "noteR37": "Elimina caixa interior150. Bacia540 encosta à faceW−.05; frente passa.650→.490, ganhando160. EixoY4.590 mantido.",
          "cisternHeight": 1.14,
          "cisternVisible": false
        },
        "grabBars": [],
        "barHeight": null,
        "layoutStatus": "PROPOSTA R37 para revisão; não adotada nem certificada; produtos sem compra/fabrico autorizado.",
        "finishStudyR33": {
          "generalCeramic": "greige quente ligeiramente mais escuro",
          "showerCeramic": "pedra discreta mais quente no mesmo conjunto cromático",
          "profileFinish": "preto mate",
          "woodFinish": "carvalho claro natural",
          "vanityFront": "Gabinete fechado, carvalho/lacado, sem gavetas sob a cuba; redes e apoios visitáveis.",
          "mirrorDiameterMm": 800.0,
          "mirrorCentreHeightMm": 1550,
          "mirrorBacklitKelvinStudy": 3000,
          "productSelected": false,
          "roomGeometryUnchanged": false,
          "ownerAdoptedR36": false
        },
        "plateAnchors": [],
        "mirrorR36": {
          "diameter": 0.8,
          "centreCAD": [
            1.05,
            5.68
          ],
          "centreHeight": 1.55,
          "backlitKelvin": 3000,
          "face": "S"
        },
        "showerAssemblyR36": {
          "wall": "W",
          "wallCAD": [
            -0.05,
            3.9
          ],
          "headCAD": [
            0.339,
            3.9
          ],
          "mixerHeightMm": 1100,
          "armHeightMm": 2250,
          "headDiameterMm": 280,
          "armProjectionMm": 389,
          "armReference": "hansgrohe27413670",
          "headReference": "hansgroheCroma26220670",
          "status": "PROPOSTA DE ADENDA, não adotada nem certificada; não encomendar/fabricar.",
          "note": "Braço real389mm, não350. Alturas são propostas, não cotas de fábrica. Misturador/desviador/duche de mão por confirmar como conjunto compatível; origemflexível usada na análiseelétrica é ponto mural do chuveiro."
        }
      }
    ],
    "plantEquipment": [
      {
        "id": "T01",
        "bbox": [
          0.09,
          6.06,
          0.69,
          6.695
        ],
        "height": 1.937,
        "base": 0,
        "exactPlan": false,
        "heightStatus": "reserva volumétrica de equipamento R5",
        "name": "AQS bomba calor 250 L R290 (referência S2)",
        "serviceBBox": [
          0.09,
          6.695,
          0.69,
          7.695
        ],
        "bottom": 0,
        "front": "N",
        "layoutRevision": "R37_PROPOSTA",
        "note": "Implantação adotada para desenvolvimento R36; manual, redes, suporte e implantação de obra por compatibilizar.",
        "left_gap": 0.14,
        "right_gap": 0.35,
        "rear_gap": 0.21,
        "front_reserve_bbox": [
          0.09,
          6.695,
          0.69,
          7.695
        ],
        "installation": "PROPOSTA R37: folgas do desenho ES A 140 (mínimo 120), B 350 e C 210 paraØ 160. A reserva frontal 1000 é proposta de serviço, não mínimo numérico Ariston. Sem armário a fechar o aparelho. Confirmar mercado/revisão e R290.",
        "baseline_reference_only_R38": true,
        "solar_compatibility_proven": false
      },
      {
        "id": "T02",
        "bbox": [
          1.04,
          5.85,
          1.765,
          6.42
        ],
        "height": 0.85,
        "base": 0.25,
        "exactPlan": false,
        "heightStatus": "reserva volumétrica de equipamento R5",
        "name": "VMC duplo fluxo Q350 (referência)",
        "serviceBBox": [
          1.04,
          6.42,
          1.765,
          7.42
        ],
        "bottom": 0.25,
        "front": "N",
        "layoutRevision": "R37_PROPOSTA",
        "note": "Implantação adotada para desenvolvimento R36; manual, redes, suporte e implantação de obra por compatibilizar.",
        "front_reserve_bbox": [
          1.04,
          6.42,
          1.765,
          7.42
        ],
        "installation": "PROPOSTA R37: chassis original de solo, base de estudo 250; serviço frontal 1000 prescrito na edição consultada. Sem fixação à cassete nem ligação rígida ao móvel das máquinas. Confirmar versão portuguesa/acessórios."
      }
    ],
    "cars": [
      {
        "id": "CAR01",
        "bbox": [
          -5.45,
          3.35,
          -3.6,
          7.85
        ],
        "height": 1.5,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "visualização nominal",
        "cadHandle": "2FC"
      },
      {
        "id": "CAR02",
        "bbox": [
          -3.0,
          3.35,
          -1.15,
          7.85
        ],
        "height": 1.5,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "visualização nominal",
        "cadHandle": "2FE"
      }
    ],
    "livingDisplay": {
      "id": "ARM-SALA-R20",
      "name": "Aparador ampliado e cristaleira alinhada com os aros",
      "bbox": [
        4.01,
        3.6,
        4.41,
        5.8
      ],
      "height": 2.1,
      "base": 0,
      "face": "E",
      "exactPlan": true,
      "layoutRevision": "R20",
      "depth": 0.4,
      "length": 2.2,
      "moduleCount": 3,
      "fronts": "Quatro frentes de correr no aparador; uma porta de vidro transparente na coluna",
      "finish": "Carvalho natural, espelho oval, pedra clara, aro preto e LED quente 3000 K",
      "placementWall": "W20 — entre portas P4 da suíte e P6 da lavandaria",
      "note": "Conjunto 2,20 x 0,40 m; cristaleira e fundo de pedra a 2,10 m. Aparador baixo 1,75 m de comprimento (+0,90 m), 0,85 m de altura, mantém a coluna de vidro e garrafeira nas posições anteriores. Começa em Y3,60 m: 100 mm depois da aproximação P4. Apoiado no pavimento com rodapé recuado; extensão Y3,60–4,45 m sem fixações à cassete P4. Travamento ao pano maciço mais a norte e reforços a definir pela carpintaria. Roupeiros e cozinha mantêm 2,70 m.",
      "moduleWidths": [
        1.45,
        0.3,
        0.45
      ],
      "sideboardHeight": 0.85,
      "sideboardWidth": 1.75,
      "previousID": "ARM-SALA-R18",
      "sideboardFrontCount": 4,
      "mirrorWidth": 0.65,
      "mirrorHeight": 1.05,
      "mirrorBottom": 0.95,
      "wineLevels": [
        1.04,
        1.3,
        1.56,
        1.82
      ],
      "glassShelfLevels": [
        0.2,
        0.56,
        0.92,
        1.28,
        1.64
      ],
      "glassBBox": [
        4.01,
        5.35,
        4.41,
        5.8
      ],
      "wineBBox": [
        4.01,
        5.05,
        4.41,
        5.35
      ],
      "sideboardBBox": [
        4.01,
        3.6,
        4.41,
        5.35
      ],
      "mirrorBay": [
        3.6,
        5.05
      ],
      "heightStatus": "R20 - topo 2,10 m, alinhado exatamente com os aros P4/P6; exceção expressa aos restantes embutidos ao teto",
      "supports": "floor_recessed_plinth",
      "noFixingPocketY": [
        3.6,
        4.45
      ]
    },
    "armchairs": [
      {
        "id": "AC01",
        "bbox": [
          5.15,
          1.15,
          6.11,
          1.97
        ],
        "height": 1.01,
        "seatHeight": 0.45,
        "face": "E",
        "base": 0,
        "exactPlan": true,
        "layoutRevision": "R18",
        "colour": "#bd8329",
        "nominalWidth": 0.82,
        "nominalDepth": 0.96,
        "note": "Poltrona de orelhas mostarda, envelope de estudo 820 x 960 mm; pés de madeira natural; confirmar produto antes de encomendar."
      },
      {
        "id": "AC02",
        "bbox": [
          5.15,
          2.02,
          6.11,
          2.84
        ],
        "height": 1.01,
        "seatHeight": 0.45,
        "face": "E",
        "base": 0,
        "exactPlan": true,
        "layoutRevision": "R18",
        "colour": "#bd8329",
        "nominalWidth": 0.82,
        "nominalDepth": 0.96,
        "note": "Segunda poltrona idêntica; sem pousa-pés; 50 mm entre envelopes."
      }
    ],
    "hallConsole": {
      "id": "HC01",
      "name": "Consola suspensa contínua do hall",
      "bbox": [
        8.65,
        6.78,
        8.93,
        7.98
      ],
      "height": 0.24,
      "bottom": 0.61,
      "top": 0.85,
      "length": 1.2,
      "depth": 0.28,
      "face": "E",
      "layoutRevision": "R36",
      "finish": "Bicolor adotado: G01/G02 branco acetinado; G03 madeira à cor do biombo. Fronteira material R33 preservada.",
      "drawers": true,
      "note": "Corpo240 mm, três gavetas curtas; implantação auditada, ferragens/suportes por selecionar. Curso200 mm é envelope máximo de colisão e não corrediça garantida.",
      "colour": "#f7f6f2",
      "cadID": "CONS01",
      "proposal_id": "HC01-R33",
      "drawerCount": 3,
      "drawerStudy": {
        "count": 3,
        "hardware_selected": false,
        "max_collision_envelope_stroke_mm": 200,
        "open_max_bbox": [
          8.93,
          6.78,
          9.13,
          7.98
        ],
        "envelope_is_not_a_guaranteed_runner_stroke": true,
        "drawer_box_target_external_depth_mm": 200,
        "useful_depth_target_mm": 170,
        "useful_height_target_mm": 140,
        "suitable_contents": "Chaves, telemóveis, pequenos livros/blocos e objetos leves; não grande arrumação.",
        "planning_allowances_mm": {
          "front": 20,
          "back": 8,
          "rear_service_and_structure_zone": 30,
          "carcass_sides_top_bottom": 18
        },
        "depth_remainder_before_hardware_mm": 222,
        "note": "222=280−20−8−30; caixa exterior alvo 200 deixa 22 mm de reserva antes da seleção de ferragem. Espessuras são hipóteses de estudo, não lista de corte. O driver LED não fica encerrado na gaveta.",
        "hardware_evidence": {
          "primary_source": "https://catalog.hettich.com/General/TA_2025/en_DE/catalogs/TA_2025_en_DE/pdf/save/bk_398.pdf",
          "observed": "Hettich KA1730 nominal 200, gaveta 155–210, extensão parcial/perda 32 mm, classe 10 kg. Demonstra existência de ferragem curta; não constitui seleção ou promessa de extração total/amortecimento.",
          "selection_pending": "Confirmar profundidade real, fixações, carga, travão, abertura sem puxador e amortecimento com a carpintaria. A extração de200mm só é envelope conservador de colisão."
        }
      },
      "adopted_R36": true,
      "hardwareStudyR36": {
        "reference": "Hettich KA1730 NL200",
        "nominalExtensionMm": 168,
        "collisionEnvelopeMm": 200,
        "purchaseApproved": false,
        "anchorsDesigned": false
      }
    },
    "kitchenFillers": [
      {
        "id": "K07_FILLER",
        "bbox": [
          8.45,
          7.9,
          8.5,
          8.5
        ],
        "height": 0.87,
        "bottom": 0,
        "face": "S"
      },
      {
        "id": "U03_FILLER",
        "bbox": [
          8.45,
          8.15,
          8.5,
          8.5
        ],
        "height": 1.12,
        "bottom": 1.58,
        "face": "S"
      }
    ],
    "tvConsole": {
      "id": "TV01",
      "name": "Móvel TV suspenso marfim",
      "bbox": [
        7.36,
        0,
        10.16,
        0.25
      ],
      "height": 0.3,
      "bottom": 0.25,
      "top": 0.55,
      "topThickness": 0.025,
      "frontType": "sliding",
      "frontCount": 4,
      "finish": "Marfim mate e tampo de carvalho natural",
      "face": "N",
      "layoutRevision": "R19",
      "exactPlan": true,
      "note": "2800 x 250 x 300 mm, suspenso a 250 mm. Frentes de correr sem gavetas nem portas de batente; folga local de 125 mm para a mesa de centro não é passagem."
    },
    "tvSlatPanel": {
      "id": "TV02",
      "name": "Faixa de ripado vertical junto ao escritório",
      "bbox": [
        9.61,
        0,
        10.16,
        0.022
      ],
      "height": 2.7,
      "bottom": 0,
      "slatWidth": 0.02,
      "pitch": 0.035,
      "slatCount": 16,
      "finish": "Carvalho natural",
      "face": "N",
      "layoutRevision": "R19",
      "exactPlan": true,
      "note": "Apenas faixa de 550 mm no lado do escritório; o resto da parede mantém-se claro. Painel até ao teto falso de 2700 mm."
    },
    "tvShelf": {
      "id": "TV03",
      "name": "Prateleira carvalho sobre TV com LED",
      "bbox": [
        7.36,
        0,
        10.16,
        0.18
      ],
      "height": 0.04,
      "bottom": 2.12,
      "top": 2.16,
      "face": "N",
      "finish": "Carvalho natural",
      "layoutRevision": "R19",
      "exactPlan": true,
      "led": {
        "bbox": [
          7.4,
          0.145,
          10.12,
          0.155
        ],
        "bottom": 2.113,
        "height": 0.007,
        "temperatureK": 3000
      },
      "note": "2800 x 180 x 40 mm; base 2120 mm, topo 2160 mm; perfil LED sob a prateleira e driver acessível."
    },
    "livingRug": {
      "id": "TAP01",
      "name": "Tapete sala marfim/areia de pelo baixo",
      "bbox": [
        7.21,
        0.35,
        10.21,
        2.35
      ],
      "height": 0.006,
      "bottom": 0.009,
      "top": 0.015,
      "finish": "Tecido plano de pelo baixo, antiderrapante",
      "layoutRevision": "R19",
      "exactPlan": true,
      "note": "3000 x 2000 mm e 6 mm de espessura; sem franjas, base antiderrapante e bordas planas. Não constitui obstáculo rígido de mobiliário."
    },
    "diningPendant": {
      "id": "LJ01",
      "name": "Pendente linear preto mate sobre mesa",
      "bbox": [
        6.485,
        3.9075,
        7.885,
        3.9525
      ],
      "height": 0.05,
      "bottom": 1.55,
      "top": 1.6,
      "anchorTop": 2.7,
      "centre": [
        7.185,
        3.93
      ],
      "length": 1.4,
      "depth": 0.045,
      "wireCount": 2,
      "temperatureK": 3000,
      "finish": "Preto mate com difusor opalino contínuo",
      "layoutRevision": "R19",
      "exactPlan": true,
      "note": "Perfil luminoso 1400 x 45 x 50 mm, centrado na mesa. Face inferior a 1550 mm (800 mm sobre o tampo). Duas suspensões ao teto falso de 2700 mm; fixação e instalação por compatibilizar."
    },
    "hallMirror": {
      "id": "HM01",
      "name": "Espelho redondo no hall",
      "bbox": [
        8.65,
        7.625,
        8.685,
        8.375
      ],
      "height": 0.75,
      "bottom": 1.175,
      "top": 1.925,
      "centreCAD": [
        8.685,
        8.0
      ],
      "centreHeight": 1.55,
      "frame": "Perfil fino preto mate",
      "face": "E",
      "layoutRevision": "R36",
      "exactPlan": true,
      "note": "Espelho circularØ750, retroiluminação3000K de estudo; dentro do pano sólido. Não abre nem oculta quadro técnico.",
      "cadID": "ESP-H01",
      "shape": "circle",
      "width": 0.75,
      "hinged": false,
      "diameter": 0.75,
      "proposal_id": "HM01-R33",
      "backlit": true,
      "lighting": {
        "type": "LED oculto atrás do espelho, luz indireta difusa",
        "cct_study_K": 3000,
        "driver_selected": false,
        "switching_selected": false,
        "driver_location": "Acessível para manutenção em posição a definir pelo eletricista; eventual compartimento elétrico segregado R05 só após projeto. Não misturar rede/potência nem fechar driver atrás de móvel inacessível.",
        "cable_route": "Reserva de passagem no tardoz/estrutura; percurso final e alimentação por definir",
        "underside_console_LED": "Não incluído como obrigatório; alternativa só se desejada após proposta."
      },
      "halo_extra_mm": 20,
      "adopted_R36": true
    },
    "hallConsoleDecor": {
      "id": "HD00",
      "name": "Pequena planta e tabuleiro para chaves na consola do hall",
      "base": 0.85,
      "layoutRevision": "R33_ESTUDO",
      "decorativeOnly": true,
      "architectureUnchanged": true,
      "plant": {
        "id": "HD01",
        "centreCAD": [
          8.79,
          7.78
        ],
        "bbox": [
          8.725,
          7.715,
          8.855,
          7.845
        ],
        "height": 0.22,
        "top": 1.07,
        "potDiameter": 0.09,
        "potHeight": 0.08,
        "finish": "Vaso cerâmico marfim e folhagem irregular natural",
        "note": "Pequena planta sobre a consola;105mm livres ao espelho."
      },
      "tray": {
        "id": "HD02",
        "centreCAD": [
          8.79,
          7.15
        ],
        "bbox": [
          8.74,
          7.05,
          8.84,
          7.25
        ],
        "height": 0.015,
        "top": 0.865,
        "finish": "Tabuleiro oval de madeira natural com duas chaves automóveis genéricas, preto mate e metal",
        "keys": [
          {
            "vehicle": "Tesla",
            "genericShape": true,
            "logos": false
          },
          {
            "vehicle": "MG",
            "genericShape": true,
            "logos": false
          }
        ],
        "note": "Chaves e argolas dentro do tabuleiro, sem ganchos ou novos furos na parede."
      }
    },
    "suiteDresser": {
      "id": "SU-COM-001",
      "bbox": [
        3.4,
        0.3,
        3.85,
        2.3
      ],
      "face": "W",
      "height": 0.8,
      "base": 0,
      "topThickness": 0.02,
      "finish": "Frentes brancas lacadas satinadas, tampo carvalho natural; cómoda independente, sem armário alto, ponte ou nicho. Puxador discreto tipo cava, a coordenar com a referência.",
      "drawers": 6,
      "drawerExtension": 0.35,
      "mirror": {
        "shape": "circle",
        "diameter": 0.85,
        "centreCAD": [
          3.842,
          1.3
        ],
        "centreHeight": 1.45
      },
      "proposal": false,
      "clearances_mm": {
        "closed_to_bed_foot": 1225,
        "drawer_open_to_bed_foot": 875,
        "south_wall_curtain_reserve": 300,
        "to_P4_opening_start": 250,
        "to_VE7_reserve_when_closed": 150
      },
      "fabrication_released": false,
      "design": "Cómoda independente2000×450×800, seis gavetas2×3, pés com120mm de altura e70mm de recuo; sem armário alto, ponte ou consola coexistente.",
      "drawerColumns": 2,
      "drawerRows": 3,
      "status": "Adotada para desenvolvimento R32; ferragens, tolerâncias e fabrico por fechar.",
      "drawerOpenBBox": [
        3.05,
        0.3,
        3.4,
        2.3
      ],
      "feetHeight": 0.12,
      "feetSetback": 0.07,
      "layoutRevision": "R32",
      "exactPlan": false,
      "product_selected": false,
      "note": "Substitui consola apenas na C2 adotada. Gavetas da coluna sul fechadas antes de usar VE7; ferragens por selecionar."
    },
    "suiteHeadboard": {
      "id": "SU-HB-C2",
      "bbox": [
        -0.05,
        0.6,
        0.075,
        2.5
      ],
      "height": 2.7,
      "base": 0,
      "claddingBBox": [
        -0.04999999999999999,
        0,
        -0.024999999999999988,
        3.1
      ],
      "claddingTotalDepth": 0.025,
      "centralTotalDepth": 0.125,
      "centralWidth": 1.9,
      "finish": "Carvalho natural e encosto estofado; referência de design R31",
      "layoutRevision": "R32",
      "exactPlan": false,
      "note": "125mm apenas no troço da cama; fora desse troço ripado25mm. Não sobrepor mesas nem reter a antiga caixa norte.",
      "centralBottom": 0.24,
      "centralHeight": 0.91,
      "centralTop": 1.15,
      "slatDetailR37": {
        "count": 77,
        "width_mm": 28,
        "gap_mm": 12,
        "edge_margins_mm": 16,
        "batten_depth_mm": 18,
        "substrate_mm": 7,
        "status": "pormenor de estudo R37, sem alterar envolvente25/125"
      }
    },
    "bedroomDressers": [
      {
        "id": "COM-MA-001",
        "room": "Q_1",
        "bbox": [
          13.35,
          6.15,
          13.8,
          7.95
        ],
        "face": "E",
        "base": 0,
        "height": 0.8,
        "topThickness": 0.02,
        "drawers": 6,
        "drawerColumns": 2,
        "drawerRows": 3,
        "drawerExtension": 0.35,
        "feetHeight": 0.12,
        "feetSetback": 0.07,
        "finish": "Frentes lacado marfim mate; tampo em carvalho natural mate. Confirmar amostra de marfim e veio/lote do carvalho com os restantes móveis do quarto.",
        "proposal": true,
        "layoutRevision": "R41",
        "product_selected": false,
        "fabrication_released": false,
        "width_mm": 1800,
        "decision": "Decisão expressa posterior ao brief: 1800 mm mantendo cómodo e espelho centrados com a cama.",
        "drawer_contract_revision": "R41",
        "drawer_bottom_mm": 15,
        "history_clearances_R38": {
          "role": "HISTÓRICO ANTES DA RELOCALIZAÇÃO — não usar como geometria ativa",
          "data": {
            "bed_shift_Y_mm": 150.0,
            "open_drawer_bbox": [
              13.8,
              5.35,
              14.15,
              6.25
            ],
            "standing_zone_bbox": [
              14.15,
              5.35,
              14.75,
              6.25
            ],
            "standing_depth_mm": 600,
            "door_conservative_bbox": [
              13.35,
              4.43,
              14.22,
              5.3
            ],
            "curtain_200mm_bbox": [
              13.35,
              8.3,
              16.35,
              8.5
            ],
            "curtain_closest_nightstand_margin_mm": 50,
            "bed_foot_corridor_mm": 1000,
            "reason": "Cómoda fica fora da faixaYdos pés da cama; zona600livre àfrente da gavetaaberta. Reserva200para cortina é hipótese; confirmar produto e folga50nominal àmesa, ajustando mesa caso necessário."
          }
        },
        "clearancesR41": {
          "bed_foot_closed_mm": 550,
          "drawer_travel_study_mm": 350,
          "residual_with_one_drawer_open_mm": 200,
          "drawer_open_bbox": [
            13.8,
            6.15,
            14.15,
            7.95
          ],
          "standing_zone_bbox": null,
          "usage": "Uso sequencial aceite pelo proprietário. Saldo 200 mm não garante permanência/conforto; acesso lateral e abertura real a ensaiar.",
          "bed_envelope_basis": "Cama em modelo 1600×2000; estrutura comercial e roupa de cama ainda por escolher.",
          "curtain_reserve_mm": 200,
          "facade_gap_mm": 550,
          "window_access": "Conferir relatório métrico R41: reserva nominal 550; folha móvel útil/produto e encontro cortina ainda por validar.",
          "electrical_conflict_ids": [
            "T-MA-03"
          ],
          "electrical_reposition_not_approved": true
        }
      },
      {
        "id": "COM-FR-001",
        "room": "Q_2",
        "bbox": [
          13.35,
          0.55,
          13.8,
          2.35
        ],
        "face": "E",
        "base": 0,
        "height": 0.8,
        "topThickness": 0.02,
        "drawers": 6,
        "drawerColumns": 2,
        "drawerRows": 3,
        "drawerExtension": 0.35,
        "feetHeight": 0.12,
        "feetSetback": 0.07,
        "finish": "Frentes lacado marfim mate; tampo em carvalho natural mate. Confirmar amostra de marfim e veio/lote do carvalho com os restantes móveis do quarto.",
        "proposal": true,
        "layoutRevision": "R41",
        "product_selected": false,
        "fabrication_released": false,
        "width_mm": 1800,
        "decision": "Decisão expressa posterior ao brief: 1800 mm mantendo cómodo e espelho centrados com a cama.",
        "drawer_contract_revision": "R41",
        "drawer_bottom_mm": 15,
        "history_clearances_R38": {
          "role": "HISTÓRICO ANTES DA RELOCALIZAÇÃO — não usar como geometria ativa",
          "data": {
            "bed_shift_Y_mm": -200.0,
            "open_drawer_bbox": [
              13.8,
              2.25,
              14.15,
              3.15
            ],
            "standing_zone_bbox": [
              14.15,
              2.25,
              14.75,
              3.15
            ],
            "standing_depth_mm": 600,
            "door_conservative_bbox": [
              13.35,
              3.19,
              14.22,
              4.06
            ],
            "curtain_200mm_bbox": [
              13.35,
              0,
              16.35,
              0.2
            ],
            "curtain_closest_nightstand_margin_mm": 50,
            "bed_foot_corridor_mm": 1000,
            "reason": "Cómoda fica fora da faixaYdos pés da cama; zona600livre àfrente da gavetaaberta. Reserva200para cortina é hipótese; confirmar produto e folga50nominal àmesa, ajustando mesa caso necessário."
          }
        },
        "clearancesR41": {
          "bed_foot_closed_mm": 550,
          "drawer_travel_study_mm": 350,
          "residual_with_one_drawer_open_mm": 200,
          "drawer_open_bbox": [
            13.8,
            0.55,
            14.15,
            2.35
          ],
          "standing_zone_bbox": null,
          "usage": "Uso sequencial aceite pelo proprietário. Saldo 200 mm não garante permanência/conforto; acesso lateral e abertura real a ensaiar.",
          "bed_envelope_basis": "Cama em modelo 1600×2000; estrutura comercial e roupa de cama ainda por escolher.",
          "curtain_reserve_mm": 200,
          "facade_gap_mm": 550,
          "window_access": "Conferir relatório métrico R41: reserva nominal 550; folha móvel útil/produto e encontro cortina ainda por validar.",
          "electrical_conflict_ids": [
            "T-FR-03"
          ],
          "electrical_reposition_not_approved": true
        }
      }
    ],
    "bedroomMirrors": [
      {
        "id": "MIR-MA-001",
        "name": "Espelho Matilde",
        "room": "Q_1",
        "face": "E",
        "placement": "Conjunto exterior1760×800 sobre a cómoda1800, recuado20 em cada lado, ambos centrados com a cama; contorno retangular90° nominal, face interior da parede oeste, sem rasgo/encastre na parede.",
        "support_ids": [
          "W39"
        ],
        "bbox_CAD_m": [
          13.35,
          6.17,
          1.2,
          13.37,
          7.93,
          2.0
        ],
        "bbox_plan_m": [
          13.35,
          6.17,
          13.37,
          7.93
        ],
        "centre_CAD_m": [
          13.36,
          7.05,
          1.6
        ],
        "width_mm": 1760,
        "height_mm": 800,
        "projection_mm": 20,
        "bottom_mm": 1200,
        "top_mm": 2000,
        "corner_radius_mm": 0,
        "frame_profile_width_mm": 8,
        "frame_finish": "Branco mate; face decorativa fina de8 mm. Material de suporte e sistema de suspensão a selecionar, sem função portante atribuída ao aro.",
        "mirror_clear_nominal_mm": [
          1744,
          784
        ],
        "lighting": false,
        "backlight": false,
        "product_selected": false,
        "fabrication_released": false,
        "revision": "R42",
        "use": "Espelho para rosto e zona superior do corpo conforme a altura real; não é espelho de corpo inteiro.",
        "ergonomic_note": "Base a1200mm e topo2000mm. Confirmar altura dos utilizadores na amostra de implantação; não deduzir antropometria individual pela idade. Não criar banco/degrau junto à cómoda.",
        "mounting": "Sistema oculto de suspensão e retenção mecânica a selecionar e dimensionar pelo fornecedor para massa final e suporte real. Considerar apoio inferior contínuo oculto e retenção superior antilevantamento, independentes do aro decorativo8 branco mate. Sem número de buchas, profundidade ou gabarito aprovado. Não apoiar solto no tampo.",
        "safety": "Especificar espelho próprio para interior, arestas protegidas e retenção de fragmentos documentada.90° define apenas o contorno estético: não deixar extremidades de vidro cortantes expostas. Candidato de referência: espelho com película de segurança de fábrica ou solução equivalente comprovada, com DoP/declarações aplicáveis ao produto exato. Não se atribui a classificação de um produto não selecionado ao conjunto do projeto.",
        "wall_services_note": "Matilde:W39 nominal170 com reserva do autoclismo atrás da faixaY7100..7600; sobra nominal40 até à face do quarto. O novo espelho também sobrepõe230 emY ao pano do duche comum, Y7700..7930, com impermeabilização na outra face. Não são profundidades/zonas admissíveis de furação. Conferir redes, suporte e impermeabilização; não fixar atravessando o pano.",
        "related_dresser": "COM-MA-001",
        "AC_id": "AC-MA-01",
        "plates_nearby": [
          {
            "id": "S-MA-01",
            "bbox_CAD_m": [
              13.35,
              5.41,
              1.06,
              13.37,
              5.49,
              1.1400000000000001
            ],
            "centre_CAD_m": [
              13.35,
              5.45,
              1.1
            ]
          },
          {
            "id": "E-MA-01",
            "bbox_CAD_m": [
              13.35,
              5.61,
              1.06,
              13.37,
              5.69,
              1.1400000000000001
            ],
            "centre_CAD_m": [
              13.35,
              5.65,
              1.1
            ]
          },
          {
            "id": "T-MA-03",
            "bbox_CAD_m": [
              13.35,
              5.77,
              0.26,
              13.37,
              5.93,
              0.33999999999999997
            ],
            "centre_CAD_m": [
              13.35,
              5.85,
              0.3
            ],
            "revision": "R41",
            "status": "PROPOSTA_REPOSICAO_R41_NAO_APROVADA_EXECUCAO",
            "execution_released": false,
            "purchase_released": false,
            "change_reason": "Sai da nova envolvente da cómoda1800. Reposição de coordenação a validar por eletricista/obra; série e redes ocultas por confirmar."
          },
          {
            "id": "T-MA-COM-R38",
            "bbox_CAD_m": [
              13.35,
              5.97,
              1.01,
              13.37,
              6.13,
              1.09
            ],
            "centre_CAD_m": [
              13.35,
              6.05,
              1.05
            ]
          }
        ],
        "render_targets": [
          "MA-R38-VG-D-001",
          "MA-R38-VG-N-001",
          "MA-R38-COM-AB-001"
        ],
        "glass_cut_size_mm": null,
        "visible_opening_not_cut_size": "1744×784 é o vão visual nominal (aro branco mate de8 mm em cada bordo), não recorte de vidro. Vidro, folgas, rebaixo, espessura, cantos e retenção pelo sistema real; não encomendar1760×800 como vidro.",
        "history_clearances_R39": {
          "role": "HISTÓRICO — cómoda900 fora do eixo da cama",
          "data": {
            "above_dresser_mm": 400,
            "lateral_inset_each_mm": 100,
            "AC_vertical_clear_mm": 250.5,
            "control_plate_vertical_clear_mm": 60,
            "nearest_door_edge_along_wall_mm": 150,
            "additional_floor_occupation_mm": 0,
            "drawer_and_standing_zones_changed": false
          }
        },
        "clearances": {
          "above_dresser_mm": 400,
          "lateral_inset_each_mm": 20,
          "aligned_with_dresser_edges": false,
          "aligned_with_dresser_axis": true,
          "AC_vertical_clear_mm": 250.5,
          "AC_overlap_along_Y_mm": 729.0,
          "AC_geometric_intersection": false,
          "AC_maintenance_release": false,
          "nearest_door_bbox_edge_along_wall_mm": 870.0,
          "additional_floor_occupation_mm": 0,
          "drawer_and_standing_zones_changed": false,
          "control_plate_relation": "Sem interseção geométrica com as placas listadas da baseR41; as duas tomadas deslocadas continuam propostas não aprovadas para execução.",
          "mounting_service_scan_pending": true
        },
        "nominal_corner_style": "Retangular90° no contorno estético; aresta técnica protegida pelo sistema real, sem bordo cortante exposto.",
        "mounting_study": {
          "recessed_in_wall": false,
          "decorative_frame_not_structural": true,
          "glass_cut_size_mm": null,
          "fixing_locations_CAD_m": null,
          "drilling_depth_mm": null,
          "anchor_count": null,
          "anchor_type": null,
          "system_selected": false,
          "wall_scan_required": true,
          "source_wall_ids": [
            "W39"
          ],
          "mass_study_id": "R42-MASS-01",
          "minimum_back_air_gap_reference_mm": 5,
          "air_gap_inside_projection_to_verify": true,
          "shower_other_face_overlap_Y_mm": 230,
          "shower_waterproofing_not_to_puncture": true
        },
        "mass_study": {
          "method": "Área retangular exterior conservadora:1,76×0,80=1,408 m². m=A×t×2,5; não deduz o aro. Não é o recorte de vidro.",
          "reference_density_kg_m2_per_mm": 2.5,
          "outer_rectangle_m2": 1.408,
          "glass_scenarios": [
            {
              "thickness_mm": 4,
              "glass_only_mass_kg": 14.08,
              "glass_only_weight_N": 138.12,
              "selected": false
            },
            {
              "thickness_mm": 6,
              "glass_only_mass_kg": 21.12,
              "glass_only_weight_N": 207.19,
              "selected": false
            }
          ],
          "precheck": {
            "status": "CENÁRIO CONSERVADOR DE ESTUDO; NÃO É CARGA APROVADA OU CAPACIDADE DE FIXAÇÃO",
            "assembly_scenario_mass_kg": 35,
            "assembly_scenario_weight_N": 343.35,
            "scope": "35 kg serve apenas de cenário para consulta do sistema oculto de suspensão; não é a massa medida do conjunto. Aro, travessas, película, eventual fundo e ferragens reais exigem pesagem/dimensionamento.",
            "structural_approval": false,
            "anchors_per_wall": null,
            "anchor_type": null,
            "drill_depth_mm": null,
            "drill_template": null,
            "safety_factor": null,
            "proof_tests_pending": true
          },
          "limitations": [
            "A espessura de vidro não está selecionada;4/6 mm são cenários, não encomenda.",
            "Vidro laminado, película, fundo e perfis acrescentam massa; recalcular para a composição escolhida.",
            "Não repartir automaticamente a carga por um número arbitrário de buchas.",
            "Aro decorativo8 não é considerado elemento portante; suspensão e retenção devem ser independentes e dimensionadas para o suporte real."
          ]
        }
      },
      {
        "id": "MIR-FR-001",
        "name": "Espelho Francisco",
        "room": "Q_2",
        "face": "E",
        "placement": "Conjunto exterior1760×800 sobre a cómoda1800, recuado20 em cada lado, ambos centrados com a cama; contorno retangular90° nominal, face interior da parede oeste, sem rasgo/encastre na parede.",
        "support_ids": [
          "W36"
        ],
        "bbox_CAD_m": [
          13.35,
          0.57,
          1.2,
          13.37,
          2.33,
          2.0
        ],
        "bbox_plan_m": [
          13.35,
          0.57,
          13.37,
          2.33
        ],
        "centre_CAD_m": [
          13.36,
          1.45,
          1.6
        ],
        "width_mm": 1760,
        "height_mm": 800,
        "projection_mm": 20,
        "bottom_mm": 1200,
        "top_mm": 2000,
        "corner_radius_mm": 0,
        "frame_profile_width_mm": 8,
        "frame_finish": "Branco mate; face decorativa fina de8 mm. Material de suporte e sistema de suspensão a selecionar, sem função portante atribuída ao aro.",
        "mirror_clear_nominal_mm": [
          1744,
          784
        ],
        "lighting": false,
        "backlight": false,
        "product_selected": false,
        "fabrication_released": false,
        "revision": "R42",
        "use": "Espelho para rosto e zona superior do corpo conforme a altura real; não é espelho de corpo inteiro.",
        "ergonomic_note": "Base a1200mm e topo2000mm. Confirmar altura dos utilizadores na amostra de implantação; não deduzir antropometria individual pela idade. Não criar banco/degrau junto à cómoda.",
        "mounting": "Sistema oculto de suspensão e retenção mecânica a selecionar e dimensionar pelo fornecedor para massa final e suporte real. Considerar apoio inferior contínuo oculto e retenção superior antilevantamento, independentes do aro decorativo8 branco mate. Sem número de buchas, profundidade ou gabarito aprovado. Não apoiar solto no tampo.",
        "safety": "Especificar espelho próprio para interior, arestas protegidas e retenção de fragmentos documentada.90° define apenas o contorno estético: não deixar extremidades de vidro cortantes expostas. Candidato de referência: espelho com película de segurança de fábrica ou solução equivalente comprovada, com DoP/declarações aplicáveis ao produto exato. Não se atribui a classificação de um produto não selecionado ao conjunto do projeto.",
        "wall_services_note": "Francisco:W36 com comandos e alimentação do AC. Localizar conduítes/redes e composição da parede antes de dimensionar ou furar. Não usar a espessura nominal como profundidade de bucha.",
        "related_dresser": "COM-FR-001",
        "AC_id": "AC-FR-01",
        "plates_nearby": [
          {
            "id": "S-FR-01",
            "bbox_CAD_m": [
              13.35,
              2.96,
              1.06,
              13.37,
              3.04,
              1.1400000000000001
            ],
            "centre_CAD_m": [
              13.35,
              3.0,
              1.1
            ]
          },
          {
            "id": "E-FR-01",
            "bbox_CAD_m": [
              13.35,
              2.8,
              1.06,
              13.37,
              2.88,
              1.1400000000000001
            ],
            "centre_CAD_m": [
              13.35,
              2.84,
              1.1
            ]
          },
          {
            "id": "T-FR-03",
            "bbox_CAD_m": [
              13.35,
              2.62,
              0.26,
              13.37,
              2.78,
              0.33999999999999997
            ],
            "centre_CAD_m": [
              13.35,
              2.7,
              0.3
            ],
            "revision": "R41",
            "status": "PROPOSTA_REPOSICAO_R41_NAO_APROVADA_EXECUCAO",
            "execution_released": false,
            "purchase_released": false,
            "change_reason": "Sai da nova envolvente da cómoda1800. Reposição de coordenação a validar por eletricista/obra; série e redes ocultas por confirmar."
          },
          {
            "id": "T-FR-COM-R38",
            "bbox_CAD_m": [
              13.35,
              2.52,
              1.01,
              13.37,
              2.68,
              1.09
            ],
            "centre_CAD_m": [
              13.35,
              2.6,
              1.05
            ]
          }
        ],
        "render_targets": [
          "FR-R38-VG-D-001",
          "FR-R38-VG-N-001",
          "FR-R38-COM-AB-001"
        ],
        "glass_cut_size_mm": null,
        "visible_opening_not_cut_size": "1744×784 é o vão visual nominal (aro branco mate de8 mm em cada bordo), não recorte de vidro. Vidro, folgas, rebaixo, espessura, cantos e retenção pelo sistema real; não encomendar1760×800 como vidro.",
        "history_clearances_R39": {
          "role": "HISTÓRICO — cómoda900 fora do eixo da cama",
          "data": {
            "above_dresser_mm": 400,
            "lateral_inset_each_mm": 100,
            "AC_vertical_clear_mm": 250.5,
            "control_plate_vertical_clear_mm": 60,
            "nearest_door_edge_along_wall_mm": 140,
            "additional_floor_occupation_mm": 0,
            "drawer_and_standing_zones_changed": false
          }
        },
        "clearances": {
          "above_dresser_mm": 400,
          "lateral_inset_each_mm": 20,
          "aligned_with_dresser_edges": false,
          "aligned_with_dresser_axis": true,
          "AC_vertical_clear_mm": 250.5,
          "AC_overlap_along_Y_mm": 79.0,
          "AC_geometric_intersection": false,
          "AC_maintenance_release": false,
          "nearest_door_bbox_edge_along_wall_mm": 860.0,
          "additional_floor_occupation_mm": 0,
          "drawer_and_standing_zones_changed": false,
          "control_plate_relation": "Sem interseção geométrica com as placas listadas da baseR41; as duas tomadas deslocadas continuam propostas não aprovadas para execução.",
          "mounting_service_scan_pending": true
        },
        "nominal_corner_style": "Retangular90° no contorno estético; aresta técnica protegida pelo sistema real, sem bordo cortante exposto.",
        "mounting_study": {
          "recessed_in_wall": false,
          "decorative_frame_not_structural": true,
          "glass_cut_size_mm": null,
          "fixing_locations_CAD_m": null,
          "drilling_depth_mm": null,
          "anchor_count": null,
          "anchor_type": null,
          "system_selected": false,
          "wall_scan_required": true,
          "source_wall_ids": [
            "W36"
          ],
          "mass_study_id": "R42-MASS-01",
          "minimum_back_air_gap_reference_mm": 5,
          "air_gap_inside_projection_to_verify": true,
          "shower_other_face_overlap_Y_mm": 0,
          "shower_waterproofing_not_to_puncture": null
        },
        "mass_study": {
          "method": "Área retangular exterior conservadora:1,76×0,80=1,408 m². m=A×t×2,5; não deduz o aro. Não é o recorte de vidro.",
          "reference_density_kg_m2_per_mm": 2.5,
          "outer_rectangle_m2": 1.408,
          "glass_scenarios": [
            {
              "thickness_mm": 4,
              "glass_only_mass_kg": 14.08,
              "glass_only_weight_N": 138.12,
              "selected": false
            },
            {
              "thickness_mm": 6,
              "glass_only_mass_kg": 21.12,
              "glass_only_weight_N": 207.19,
              "selected": false
            }
          ],
          "precheck": {
            "status": "CENÁRIO CONSERVADOR DE ESTUDO; NÃO É CARGA APROVADA OU CAPACIDADE DE FIXAÇÃO",
            "assembly_scenario_mass_kg": 35,
            "assembly_scenario_weight_N": 343.35,
            "scope": "35 kg serve apenas de cenário para consulta do sistema oculto de suspensão; não é a massa medida do conjunto. Aro, travessas, película, eventual fundo e ferragens reais exigem pesagem/dimensionamento.",
            "structural_approval": false,
            "anchors_per_wall": null,
            "anchor_type": null,
            "drill_depth_mm": null,
            "drill_template": null,
            "safety_factor": null,
            "proof_tests_pending": true
          },
          "limitations": [
            "A espessura de vidro não está selecionada;4/6 mm são cenários, não encomenda.",
            "Vidro laminado, película, fundo e perfis acrescentam massa; recalcular para a composição escolhida.",
            "Não repartir automaticamente a carga por um número arbitrário de buchas.",
            "Aro decorativo8 não é considerado elemento portante; suspensão e retenção devem ser independentes e dimensionadas para o suporte real."
          ]
        }
      }
    ]
  },
  "canopy": [
    {
      "id": "CARPORT",
      "bbox": [
        -6.0,
        2.85,
        -0.3,
        8.75
      ],
      "height": 0.16,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "visualização nominal",
      "bottom": 3.1,
      "note": "Apoio exterior fixo; pala nominal perde300mm de largura. Estrutura, fecho e circulação dos carros por verificar.",
      "areaStudy": 33.63,
      "usefulWidthStudy": 5.5
    },
    {
      "id": "GARDEN_CANOPY",
      "bbox": [
        -0.3,
        -0.75,
        16.6,
        -0.25
      ],
      "height": 0.16,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "visualização nominal",
      "bottom": 3.1,
      "note": "Alinhada com cobertura principal: face inferior3.10/superior3.26, cotas de estudo.",
      "areaStudy": 8.45
    },
    {
      "id": "ENTRY_CANOPY",
      "bbox": [
        8.6,
        8.75,
        10.6,
        9.75
      ],
      "height": 0.15,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "visualização nominal",
      "bottom": 2.7,
      "note": "Projeção CAD exata 2,00 × 1,00 m; espessura ilustrativa."
    }
  ],
  "exterior": {
    "carportPavingBBox": [
      -6.0,
      0.0,
      -0.3,
      8.75
    ],
    "gardenContextBBox": [
      -7.2,
      -4.5,
      27.9,
      11.5
    ],
    "siteBoundaryKnown": false,
    "description": "Muro NE representado a11m livres da fachada cega. Estrada NW sobe do lado da pala para o lado dos quartos; pendente ilustrativa, sem cotas topográficas.",
    "farWallInsideX": 27.6,
    "blindFacadeToWallClear": 11.0,
    "roadRiseDirection": "carport_to_bedrooms",
    "roadRiseIllustrative": true,
    "carportUsefulWidthStudy": 5.5,
    "extensionWest_m": 0.3
  },
  "materials": {
    "wall": "#eeeae1",
    "wallCut": "#d8d3c9",
    "oak": "#b78e65",
    "stone": "#e9e5dd",
    "upholstery": "#c2bbb0",
    "darkMetal": "#343936",
    "tile": "#d5d4cf",
    "glass": "#b7d3d9",
    "kitchen": "#d6d3c8",
    "roof": "#cbc6bd",
    "garden": "#5f7551"
  },
  "timberScreen": {
    "id": "B01",
    "bbox": [
      8.5,
      6.683031812,
      8.65,
      7.591515906
    ],
    "height": 2.7,
    "pitch": 0.082,
    "slatCount": 11,
    "thickness": 0.15,
    "orientation": "vertical",
    "slatWidth": 0.04,
    "layoutRevision": "R18",
    "edgeClearance": 0.024242046999999933
  },
  "carportClosures": [
    {
      "id": "FE01_APOIO01",
      "bbox": [
        -6.0,
        2.85,
        -5.8,
        3.1
      ],
      "height": 3.1,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "apoio exterior de estudo, dimensionamento estrutural pendente"
    },
    {
      "id": "FE01_APOIO02",
      "bbox": [
        -6.0,
        8.5,
        -5.8,
        8.75
      ],
      "height": 3.1,
      "base": 0,
      "exactPlan": true,
      "heightStatus": "apoio exterior de estudo, dimensionamento estrutural pendente"
    }
  ],
  "carportTimberScreen": {
    "id": "FE01",
    "slats": [
      [
        -5.975,
        3.12,
        -5.825,
        3.2
      ],
      [
        -5.975,
        3.28,
        -5.825,
        3.36
      ],
      [
        -5.975,
        3.44,
        -5.825,
        3.52
      ],
      [
        -5.975,
        3.6,
        -5.825,
        3.68
      ],
      [
        -5.975,
        3.76,
        -5.825,
        3.84
      ],
      [
        -5.975,
        3.92,
        -5.825,
        4.0
      ],
      [
        -5.975,
        4.08,
        -5.825,
        4.16
      ],
      [
        -5.975,
        4.24,
        -5.825,
        4.32
      ],
      [
        -5.975,
        4.4,
        -5.825,
        4.48
      ],
      [
        -5.975,
        4.56,
        -5.825,
        4.64
      ],
      [
        -5.975,
        4.72,
        -5.825,
        4.8
      ],
      [
        -5.975,
        4.88,
        -5.825,
        4.96
      ],
      [
        -5.975,
        5.04,
        -5.825,
        5.12
      ],
      [
        -5.975,
        5.2,
        -5.825,
        5.28
      ],
      [
        -5.975,
        5.36,
        -5.825,
        5.44
      ],
      [
        -5.975,
        5.52,
        -5.825,
        5.6
      ],
      [
        -5.975,
        5.68,
        -5.825,
        5.76
      ],
      [
        -5.975,
        5.84,
        -5.825,
        5.92
      ],
      [
        -5.975,
        6.0,
        -5.825,
        6.08
      ],
      [
        -5.975,
        6.16,
        -5.825,
        6.24
      ],
      [
        -5.975,
        6.32,
        -5.825,
        6.4
      ],
      [
        -5.975,
        6.48,
        -5.825,
        6.56
      ],
      [
        -5.975,
        6.64,
        -5.825,
        6.72
      ],
      [
        -5.975,
        6.8,
        -5.825,
        6.88
      ],
      [
        -5.975,
        6.96,
        -5.825,
        7.04
      ],
      [
        -5.975,
        7.12,
        -5.825,
        7.2
      ],
      [
        -5.975,
        7.28,
        -5.825,
        7.36
      ],
      [
        -5.975,
        7.44,
        -5.825,
        7.52
      ],
      [
        -5.975,
        7.6,
        -5.825,
        7.68
      ],
      [
        -5.975,
        7.76,
        -5.825,
        7.84
      ],
      [
        -5.975,
        7.92,
        -5.825,
        8.0
      ],
      [
        -5.975,
        8.08,
        -5.825,
        8.16
      ],
      [
        -5.975,
        8.24,
        -5.825,
        8.32
      ],
      [
        -5.975,
        8.4,
        -5.825,
        8.48
      ]
    ],
    "base": 0.1,
    "top": 2.94,
    "beam": [
      -6.0,
      2.85,
      -5.8,
      8.75
    ],
    "height": 3.1,
    "structuralStatus": "Pórtico/apoios e ligações a dimensionar; traves verticais representadas como preenchimento."
  },
  "facadeFinish": {
    "id": "F01",
    "orientation": "vertical",
    "finishedPlaneY": -0.25,
    "startX": -0.05,
    "endX": 16.35,
    "base": 0.08,
    "top": 3.1,
    "pitch": 0.055,
    "width": 0.04,
    "totalDepth": 0.045,
    "description": "Ripado vertical castanho na fachada SE, dentro do plano exterior acabado. Juntas, ventilação e fixações a pormenorizar. Extensão W300 a compatibilizar com remates e vãos, R32.",
    "layoutRevision": "R32"
  },
  "revisionChanges": [
    "Planta e modelo sincronizados com sofá e mesa de apoio R9 e vitrine da sala",
    "Embutidos e colunas altas até ao teto falso a2,70m, sem baixar o teto",
    "Quartos com identidades R14, numeração Matilde/Francisco proposta",
    "LED linear contínuo na pala do jardim",
    "Texturas PBR locais, sombras de contacto, modos dia/noite e apuramento progressivo da luz",
    "R16: correção da envolvente, ruas e controlos de camadas",
    "R16: iluminação de ambiente independente do fundo visível",
    "R17: VE2 1,80 x 1,00 m, duas folhas de correr transparentes, peitoril 1,10 m e cabeça 2,10 m. U01 absorvido em U_BRIDGE de 2,10 m com três frentes, topo a 2,70 m. Restante arquitetura, equipamentos e navegação R16 preservados.",
    "R18: sofá creme com chaise nascente, TV centrada, duas poltronas mostarda, mesa redonda e aparador/vitrine novos. Biombo vertical e W33 deslocados 200 mm para poente, consola de hall 1200 x 180 mm com continuidade no pano sólido. K07/U03 de 200 mm + remate 50 mm. Janela VE2 R17 preservada.",
    "Correção final do proprietário: cristaleira entre P4/suíte e P6/lavandaria, fora da cassete e das reservas de acesso; localização anterior junto ao jardim eliminada.",
    "R19: conjunto TV com móvel marfim suspenso de frentes de correr, tampo e prateleira de carvalho, ripado parcial de 550 mm e LED quente. Ecrã 1450 x 815,625 mm, tapete 3000 x 2000 x 6 mm, mesa de centro 550 mm e pendente linear preto de 1400 mm sobre a mesa de jantar. Hall, cozinha VE2, sofá, poltronas e vitrine R18 preservados.",
    "R20: aparador baixo 1,75 m (+0,90 m) em conjunto de 2,20 x 0,40 m; coluna de vidro e garrafeira mantêm posição e baixam para 2,10 m, alinhadas com aros. Consola do hall integralmente lacada branca e espelho retangular vertical de 650 x 900 mm no pano branco. Restantes embutidos mantêm 2,70 m. Círculo de rotação da cozinha em CAD ajustado para centro (5,20;4,95), somente disponível com bancos recolhidos e desocupados.",
    "R21: escritório com dois postos, secretária 2600 x650, cadeiras Ø650, dois gaveteiros, ripado e quatro prateleiras LED; retirado armário baixo oposto. Portas, vãos e restante R20 preservados.",
    "R26: revisão expressa do proprietário em28/10/2026: armário técnico R05, casacos/PANTRY, espelho circular, prateleiras largas, portas ocultas, AQS canto, lavatório esquerda e K04 sem gavetas sob cubas.",
    "Proprietário rejeita cómoda em nicho/ponte: retirar ponte e revestimento envolvente, estudar cómoda independente mais leve. Não reutilizar renderSU-COM-001v01.",
    "R26v03: proprietário rejeita tambémv02 e manda eliminar todo o armário embutidoR03, substituindo por cómoda grande. R04 preservado, móvel2000x450x800, seis gavetas e espelhoØ850.",
    "R27: estudarWCsuítejuntoaoduche e lavatório800x500 noutra parede(nascente); manter I.S.comum porqueWCjá160mmdo poliban, lavatório àesquerda. Proposta de redes/peças por validar.",
    "R32: proprietário adota C2 para desenvolvimento; ampliação W300, cama de180cm rodada, duas mesas, cómoda de2m, closet e I.S. coordenados. Lavandaria efetiva congelada; pala, redes e obra por validar."
  ],
  "architectureRevision": "R38",
  "exteriorFinishes": {
    "wall": "#D9C7B1",
    "wood": "#53453C",
    "wallDescription": "Pintura exterior castanho muito claro, referência hexadecimal fornecida pelo dono de obra.",
    "woodDescription": "Madeira exterior castanho escuro, referência hexadecimal fornecida pelo dono de obra.",
    "interiorFinishesUnchanged": true,
    "colourNote": "Os valores são cores base sRGB; iluminação, textura, ecrã e amostra física alteram a perceção."
  },
  "roofFinish": {
    "contour": [
      [
        -6,
        2.85
      ],
      [
        -0.3,
        2.85
      ],
      [
        -0.3,
        -0.75
      ],
      [
        16.6,
        -0.75
      ],
      [
        16.6,
        8.75
      ],
      [
        -6,
        8.75
      ]
    ],
    "slabTop": 3.26,
    "parapetThickness": 0.15,
    "parapetTop": 3.6,
    "copingThickness": 0.025,
    "copingWidth": 0.18,
    "gravelThickness": 0.05,
    "gravelTop": 3.31,
    "wallColor": "#D9C7B1",
    "gravelType": "godo lavado",
    "nominalStudy": true,
    "notes": "Platibanda perimetral e godo lavado na cobertura contínua da casa, pala do jardim e pala dos carros. Cotas nominais de estudo. Camadas, pendentes, ralos, descarregadores, impermeabilização, remates e cargas a definir nos cortes e especialidades. A pequena pala de entrada continua separada e mais baixa.",
    "revision": "R32"
  },
  "vehicleAppearance": {
    "model": "Tesla Model 3 + MG S5 EV",
    "count": 2,
    "colours": [
      "#ECECEA",
      "#59636B"
    ],
    "models": [
      {
        "model": "Tesla Model 3",
        "representation": "Licensed detailed mesh by David_Holiday; CC BY 4.0",
        "length": 4.69,
        "widthIncludingMirrors": 2.106807,
        "height": 1.462452
      },
      {
        "model": "MG S5 EV",
        "representation": "Original illustrative geometry based on official proportions; not an official MG mesh",
        "length": 4.476,
        "bodyWidth": 1.849,
        "widthIncludingMirrors": 2.094,
        "height": 1.633,
        "wheelbase": 2.73,
        "source": "https://cdn.mgmotor.eu/files/EU-Brochure-MGS5EV-Sept-2025_compressed.pdf"
      }
    ],
    "placement": "Centros e orientação dos símbolos CAD mantidos, frente para o acesso noroeste.",
    "nominalLength": 4.69,
    "nominalWidthIncludingMirrors": 2.106807,
    "nominalHeight": 1.462452,
    "source": "https://sketchfab.com/3d-models/tesla-model-3-123c10f376ec4f18b93c73afc382808b",
    "author": "David_Holiday",
    "license": "CC BY 4.0",
    "dimensionsStatus": "Dimensões dos modelos ilustrativos; não são validação de abertura de portas ou manobras."
  },
  "bedroomDesign": {
    "Q_S": {
      "occupants": "Casal",
      "palette": "Marfim, greige e carvalho natural",
      "layout": "EST-SU-004 v03 / R32",
      "bed_mattress_mm": [
        1800,
        2000
      ],
      "dresser": "SU-COM-001 2000mm",
      "closet": "CLOSET_SU"
    },
    "Q_1": {
      "occupants": "Matilde",
      "ageAtCompletion": 15,
      "assignment": "proposta de numeração",
      "palette": "Marfim, carvalho e lavanda suave",
      "dresser": "COM-MA-001",
      "layoutRevision": "R41",
      "bed_shift_Y_mm": 150.0
    },
    "Q_2": {
      "occupants": "Francisco",
      "ageAtCompletion": 10,
      "assignment": "proposta de numeração",
      "palette": "Linho, carvalho e sálvia suave",
      "dresser": "COM-FR-001",
      "layoutRevision": "R41",
      "bed_shift_Y_mm": -200.0
    }
  },
  "lightingStudy": {
    "gardenCanopy": "LED linear contínuo embutido no teto da pala, acima dos vãos e do ripado",
    "temperatureK": [
      2700,
      3000
    ],
    "status": "Estudo visual; instalação e dimensionamento por desenvolver"
  },
  "accessibilityStudy": {
    "kitchenTurningCircle": {
      "centre": [
        5.2,
        4.95
      ],
      "radius": 0.75,
      "staticClearanceToDisplay": 0.04,
      "availability": "Bancos altos recolhidos e desocupados; não é uma área livre permanente em todos os estados de uso.",
      "status": "Círculo de estudo em CAD, não desenhado na visita 3D; não constitui certificação de acessibilidade."
    },
    "R26_common_basin": {
      "bbox": [
        11.1,
        6.1,
        11.5,
        7.3
      ],
      "turning_circle_centre": [
        11.85,
        6.7
      ],
      "turning_radius": 0.75,
      "status": "B-W adotada para desenvolvimento. Círculo projeta sob bancada; secção real da cuba/sifão obrigatória. Não certifica acessibilidade.",
      "revision": "R36"
    }
  },
  "proposal": {
    "status": "R32: C2 adotada para desenvolvimento, sem liberação de obra ou fabrico",
    "measures": "../Estudo_Metrico_R23B.json",
    "living": {
      "id": "ESC-PR-R24",
      "placement_wall": "W23; face nascente no escritório, oposta à secretária",
      "wall_bbox": [
        10.25,
        0,
        10.4,
        2.94
      ],
      "ceiling_height": 2.7,
      "proposal_bbox": [
        10.41,
        0.65,
        10.65,
        1.9
      ],
      "nominal_length": 1.25,
      "nominal_depth": 0.24,
      "finish": "Carvalho natural, igual à família de madeira interior; fundo branco quente existente",
      "light": "Perfil LED contínuo oculto sob cada prateleira, 3000 K, difusor opalino e driver acessível",
      "shelves": [
        {
          "id": "ESC-PR01",
          "bbox": [
            10.41,
            0.45,
            10.65,
            2.7
          ],
          "bottom": 0.4,
          "thickness": 0.035,
          "length": 2.25
        },
        {
          "id": "ESC-PR02",
          "bbox": [
            10.41,
            0.45,
            10.65,
            2.2
          ],
          "bottom": 0.78,
          "thickness": 0.035,
          "length": 1.75
        },
        {
          "id": "ESC-PR03",
          "bbox": [
            10.41,
            0.85,
            10.65,
            2.7
          ],
          "bottom": 1.16,
          "thickness": 0.035,
          "length": 1.85
        },
        {
          "id": "ESC-PR04",
          "bbox": [
            10.41,
            0.45,
            10.65,
            2.4
          ],
          "bottom": 1.54,
          "thickness": 0.035,
          "length": 1.95
        },
        {
          "id": "ESC-PR05",
          "bbox": [
            10.41,
            0.9,
            10.65,
            2.7
          ],
          "bottom": 1.92,
          "thickness": 0.035,
          "length": 1.8
        },
        {
          "id": "ESC-PR06",
          "bbox": [
            10.41,
            0.45,
            10.65,
            2.7
          ],
          "bottom": 2.3,
          "thickness": 0.035,
          "length": 2.25
        }
      ],
      "reserved_areas_preserved": {
        "behind_pulled_back_chairs_m": 1.05,
        "to_door_P11_arc_side_m": 0.5
      },
      "invariants": [
        "Duas cadeiras e secretária preservadas; prateleiras retiradas da sala"
      ],
      "limits": [
        "Cargas/ancoragem/fiação por validar na obra; manter decoração dentro240mm"
      ],
      "location": "Escritório"
    },
    "laundry": {
      "machine_station": {
        "bbox": [
          1.81,
          5.85,
          3.07,
          6.55
        ],
        "width": 1.26,
        "depth": 0.7,
        "base": 0.4,
        "top": 1.3,
        "machine_body_width": 0.598,
        "machine_body_centres_x": [
          2.13,
          2.75
        ],
        "drawer_target_l": null,
        "condition": "Estrutura de suporte, retenção antiqueda, vibração, ligações e elevação a validar para os modelos efetivamente fornecidos. Não fabricar um simples móvel sob os aparelhos.",
        "occupied_bbox": [
          1.81,
          5.85,
          3.07,
          6.562
        ],
        "selected_models": [
          "WG54N2A0ES",
          "WQ46N2D0ES"
        ],
        "rear_service_reserve": 0.06,
        "closed_product_depths": [
          0.633,
          0.648
        ],
        "manufacturer_body_depths": [
          0.59,
          0.613
        ],
        "machine_base": 0.4,
        "support_strategy": "Duas bases originais Siemens WZWP50W/WZDP40D 400 x 600 x 570; confirmar E-Nr; sem caixa estrutural de carpintaria",
        "drawer_capacity_note": "Gavetas dos pedestais originais. Capacidade útil e curso por ficha do acessório; nenhum alvo volumétrico de carpintaria atribuído.",
        "status": "PROPOSTA NÃO ADOTADA; compatibilidade E-Nr e montagem por confirmar"
      },
      "upper": {
        "bbox": [
          1.81,
          5.85,
          3.07,
          6.2
        ],
        "bottom": 1.5,
        "height": 1.2,
        "front": "N",
        "use": "Roupa e lavagem; fundos e laterais próprios, separados dos alimentos",
        "left_filler": 0.02,
        "carcass_top": 2.68,
        "top_filler": 0.02,
        "body_widths_m": [
          0.62,
          0.62
        ]
      },
      "sink": {
        "id": "L-PIA-R37",
        "bbox": [
          3.07,
          5.85,
          3.85,
          6.45
        ],
        "height": 0.9,
        "width_mm": 780,
        "depth_mm": 600,
        "front": "N",
        "front_count": 2,
        "occupied_bbox": [
          3.07,
          5.85,
          3.85,
          6.45
        ],
        "use": "Lavagem manual de pequenas peças, pré-tratamento, enxaguamento e balde; não bancada de dobrar roupa.",
        "front_strategy": "Duas portas; pega em cava sem projeção sobre o vão P6. Sem gavetas na zona da cuba/sifão.",
        "selected_for_study_only": "RODI UNA 57 (móvel mínimo 600); modelo e acabamento ainda sujeitos a aprovação/compra.",
        "sink_outer_bbox": [
          3.185,
          5.89,
          3.735,
          6.395
        ],
        "bowl_top_nominal_bbox": [
          3.21,
          5.97,
          3.71,
          6.37
        ],
        "bowl_depth_m": 0.2,
        "bowl_corner_radius_m": 0.025,
        "bowl_step_inner_frontback_mm": 380,
        "bowl_bottom_z_nominal_m": 0.7,
        "tap_axis_study": [
          3.46,
          5.93,
          0.9
        ],
        "tap_height_m": 0.312,
        "tap_outlet_height_above_counter_m": 0.278,
        "tap_type_study": "RODI LINE MN807PT 10004062, duche extraível; corpoØ 54/furoØ 35; curso/contrapeso/rosca por manual final.",
        "tap_finish_study": "preto mate; alternativa cromada deve conservar cotas verificadas",
        "cutout_reference_mm": [
          530,
          485,
          10
        ],
        "cutout_status": "Gabarito superior publicado; não liberar corte pelo retângulo do estudo. Versão exata, clips, pedra e reforços por confirmar.",
        "counter_landings_mm": {
          "west": 115,
          "east": 115,
          "rear": 40,
          "front": 55
        },
        "tap_axis_wall_distance_mm": 80,
        "tap_base_rear_clearance_mm": 53,
        "volume_litre_certified": null,
        "volume_note": "Não se atribui 40 L úteis por multiplicar 500 × 400 × 200: há raios, degrau, fundo, válvula, nível de enchimento e roupa. O fabricante não publicou aqui capacidade útil."
      },
      "folding_table_removed": true,
      "equipment": [
        {
          "id": "T01",
          "bbox": [
            0.09,
            6.06,
            0.69,
            6.695
          ],
          "height": 1.937,
          "front": "N",
          "left_gap": 0.14,
          "right_gap": 0.35,
          "rear_gap": 0.21,
          "front_reserve_bbox": [
            0.09,
            6.695,
            0.69,
            7.695
          ],
          "installation": "PROPOSTA R37: folgas do desenho ES A 140 (mínimo 120), B 350 e C 210 paraØ 160. A reserva frontal 1000 é proposta de serviço, não mínimo numérico Ariston. Sem armário a fechar o aparelho. Confirmar mercado/revisão e R290."
        },
        {
          "id": "T02",
          "bbox": [
            1.04,
            5.85,
            1.765,
            6.42
          ],
          "height": 0.85,
          "bottom": 0.25,
          "front": "N",
          "front_reserve_bbox": [
            1.04,
            6.42,
            1.765,
            7.42
          ],
          "installation": "PROPOSTA R37: chassis original de solo, base de estudo 250; serviço frontal 1000 prescrito na edição consultada. Sem fixação à cassete nem ligação rígida ao móvel das máquinas. Confirmar versão portuguesa/acessórios."
        }
      ],
      "west_extension_reserve_bbox": [
        -0.05,
        5.85,
        0.25,
        8.5
      ],
      "folding_worktop": {
        "included": false
      },
      "geometrySource": "R37-A780",
      "hanging_rail": {
        "included": false
      }
    },
    "suite": {
      "id": "EST-SU-004",
      "version": 3,
      "option": "C2",
      "revision": "R32",
      "title": "C2 — cama rodada, ampliação de 30 cm e cómoda de 2 m",
      "status": "C2 adotada para desenvolvimento; especialidades, obra e fabrico ainda por validar",
      "date": "2026-10-28",
      "units": "m em bboxes; mm em métricas; m² nas áreas",
      "comparison_base": "R31 C2 v02, geometria preservada",
      "enlargement_delta_W_m": 0.3,
      "west_outer_x": -0.3,
      "west_inner_x": -0.04999999999999999,
      "proposal": {
        "bedroom": [
          -0.05,
          0,
          3.85,
          3.1
        ],
        "bathroom": [
          -0.05,
          3.25,
          1.85,
          5.68
        ],
        "closet": [
          2,
          3.25,
          3.85,
          5.68
        ],
        "bed": [
          0.075,
          0.6,
          2.175,
          2.5
        ],
        "bath_closet_partition": [
          1.85,
          3.25,
          2,
          5.68
        ],
        "console": null,
        "console_height_mm": 800,
        "console_drawers": false,
        "P4": [
          3.85,
          2.55,
          4,
          3.45
        ],
        "P4_pocket": [
          3.85,
          3.45,
          4,
          4.45
        ],
        "P5": [
          1.85,
          4.15,
          2,
          5.05
        ],
        "P5_opens_into_bath": false,
        "shower": [
          -0.05,
          3.25,
          1.85,
          4.15
        ],
        "screen": [
          -0.05,
          4.13,
          0.95,
          4.13
        ],
        "wc": [
          -0.05,
          4.4,
          0.65,
          4.78
        ],
        "basin": [
          0.45,
          5.18,
          1.65,
          5.68
        ],
        "former_P5_closed_wall": [
          -0.04999999999999999,
          3.1,
          1.15,
          3.25
        ],
        "P5_type": "pocket_study",
        "P5_clear_opening": [
          1.85,
          4.2,
          2,
          5
        ],
        "P5_pocket": [
          1.85,
          3.25,
          2,
          4.15
        ],
        "P5_parking": "S, embutida na nova divisória sem varrimento no pavimento",
        "closet_south_bank": [
          2,
          3.25,
          2.95,
          3.85
        ],
        "closet_north_bank": [
          2,
          5.1,
          3.85,
          5.68
        ],
        "closet_north_long_bank": [
          2,
          5.1,
          2.86,
          5.68
        ],
        "closet_north_drawers_bank": [
          2.86,
          5.1,
          3.85,
          5.68
        ],
        "wc_face": "E",
        "wc_total_depth_including_cistern_mm": 700,
        "wc_pan_envelope_mm": 550,
        "wc_cistern_and_cladding_reserve_mm": 150,
        "basin_face": "S",
        "shower_entry_width_mm": 900,
        "headboard_west": [
          -0.05,
          0.6,
          0.075,
          2.5
        ],
        "nightstands_south": [
          -0.025,
          0.1,
          0.375,
          0.55
        ],
        "nightstands_north": [
          -0.025,
          2.55,
          0.375,
          3.0
        ],
        "closet_entry_bbox": [
          2.95,
          3.1,
          3.85,
          3.25
        ],
        "VE8": [
          -0.3,
          4.15,
          -0.05,
          5.25
        ],
        "closet_partition": [
          -0.04999999999999999,
          3.1,
          2.95,
          3.25
        ],
        "headboard_partition": [
          -0.04999999999999999,
          3.1,
          2.95,
          3.25
        ],
        "headboard_west_cladding": [
          -0.04999999999999999,
          0,
          -0.024999999999999988,
          3.1
        ],
        "headboard_west_cladding_height_mm": 2700,
        "console_enabled": false,
        "dresser_east": [
          3.4,
          0.3,
          3.85,
          2.3
        ],
        "dresser": [
          3.4,
          0.3,
          3.85,
          2.3
        ],
        "dresser_mirror": {
          "wall": "E",
          "plane_x": 3.842,
          "centre_y": 1.3,
          "centre_height_m": 1.45,
          "diameter_mm": 850
        }
      },
      "metrics_mm": {
        "south_bedside_strip": 600,
        "north_bedside_strip_with_old_N_joinery_removed": 600,
        "north_if_old_25mm_N_cladding_kept": 575,
        "north_if_old_200mm_N_box_kept": 400,
        "foot_to_E_wall": 1675,
        "gap_each_table_to_frame_along_Y": 50,
        "each_table_to_nearest_S_N_wall": 100,
        "north_table_to_old_N_cladding_if_kept": 75,
        "table_back_to_W_wall": 25,
        "table_front_X": 375,
        "closet_entry": 900,
        "P4_nominal": 900,
        "P4_existing_study_clear": 800,
        "clear_X_aligned_with_VE7_E_edge": 1025,
        "margin_foot_to_old_VE7_approach_X": 75,
        "table_back_to_W_wall_civil": 25,
        "table_back_to_25mm_W_finish": 0,
        "foot_to_dresser_closed": 1225,
        "foot_to_dresser_drawer_open": 875,
        "dresser_to_P4_along_Y": 250,
        "dresser_closed_to_VE7_approach_along_X": 150,
        "dresser_drawer_stroke": 350
      },
      "envelope_assumptions": {
        "mattress": [
          1800,
          2000
        ],
        "frame": [
          1900,
          2100
        ],
        "headboard_total_depth": 125,
        "nightstand_width_along_Y": 450,
        "nightstand_depth_along_X": 400,
        "chosen_product": false
      },
      "areas_m2": {
        "bedroom": 12.09,
        "bathroom": 4.617000000000001,
        "closet": 4.495500000000001,
        "laundry": 10.334999999999999,
        "house_gross": 152.1,
        "gross_increase": 2.6999999999999997
      },
      "window_VE7": {
        "bbox": [
          1.4,
          -0.25,
          3.2,
          0
        ],
        "active_side": "E",
        "previous_approach_bbox": [
          2.25,
          0,
          3.25,
          1.1
        ],
        "previous_approach_preserved": true,
        "scope": "Reserva do estudo R27, não mínimo legal certificado"
      },
      "headboard_construction": {
        "slat_cladding_total_depth_mm": 25,
        "central_padded_depth_after_slats_mm": 100,
        "central_total_depth_mm": 125,
        "central_width_mm": 1900,
        "nightstand_front": "E",
        "nightstand_height_mm": 600,
        "nightstand_box_height_mm": 170,
        "nightstand_drawer_count_each": 1,
        "north_old_joinery_removed": true,
        "note": "Cabeceira espessa só atrás da cama. Ripado25no resto do panoW, sem sobrepor as mesinhas. Não manter caixa/nichos ou ripado antigos na paredeN."
      },
      "carport": {
        "useful_width_before_m": 5.8,
        "useful_width_after_m": 5.5,
        "roof_area_before_m2": 35.4,
        "roof_area_remaining_if_outer_edge_fixed_m2": 33.63,
        "outer_support_x": -5.8,
        "note": "A ampliação ocupa parte da pala se o apoio exterior ficar fixo; rever circulação dos carros e estrutura antes de decisão."
      },
      "laundry_study": {
        "equipment_and_furniture_positions": "Mantidas coordenadas efetivas R27; não deslocar AQS/VMC para a nova parede de forma automática.",
        "new_strip_bbox": [
          -0.04999999999999999,
          5.85,
          0.25,
          8.5
        ],
        "new_strip_status": "Reserva de estudo, sem novo armário/capacidade prometida. Ligações, porta exterior, ventilação e remates por compatibilizar. A adição da cómoda não altera a lavandaria."
      },
      "audit": {
        "status": "Estudo geométrico condicionado; não planta final nem aprovação de obra",
        "proposal": {
          "bed": [
            0.075,
            0.6,
            2.175,
            2.5
          ],
          "headboard_west": [
            -0.05,
            0.6,
            0.075,
            2.5
          ],
          "nightstands_south": [
            -0.025,
            0.1,
            0.375,
            0.55
          ],
          "nightstands_north": [
            -0.025,
            2.55,
            0.375,
            3.0
          ],
          "console": null,
          "closet_entry_bbox": [
            2.95,
            3.1,
            3.85,
            3.25
          ],
          "bathroom": [
            -0.05,
            3.25,
            1.85,
            5.68
          ],
          "closet": [
            2,
            3.25,
            3.85,
            5.68
          ],
          "P4": [
            3.85,
            2.55,
            4,
            3.45
          ],
          "P4_pocket": [
            3.85,
            3.45,
            4,
            4.45
          ],
          "P5": [
            1.85,
            4.15,
            2,
            5.05
          ],
          "P5_pocket": [
            1.85,
            3.25,
            2,
            4.15
          ],
          "closet_south_bank": [
            2,
            3.25,
            2.95,
            3.85
          ],
          "closet_north_long_bank": [
            2,
            5.1,
            2.86,
            5.68
          ],
          "closet_north_drawers_bank": [
            2.86,
            5.1,
            3.85,
            5.68
          ],
          "bedroom": [
            -0.05,
            0,
            3.85,
            3.1
          ],
          "wc": [
            -0.05,
            4.4,
            0.65,
            4.78
          ],
          "shower": [
            -0.05,
            3.25,
            1.85,
            4.15
          ],
          "screen": [
            -0.05,
            4.13,
            0.95,
            4.13
          ],
          "basin": [
            0.45,
            5.18,
            1.65,
            5.68
          ],
          "VE8": [
            -0.3,
            4.15,
            -0.05,
            5.25
          ],
          "dresser_east": [
            3.4,
            0.3,
            3.85,
            2.3
          ]
        },
        "external_mattress_assumption_mm": {
          "mattress": [
            1800,
            2000
          ],
          "frame": [
            1900,
            2100
          ],
          "headboard_total_depth": 125,
          "nightstand_width_along_Y": 450,
          "nightstand_depth_along_X": 400,
          "chosen_product": false
        },
        "metrics_mm": {
          "south_bedside_strip": 600,
          "north_bedside_strip_with_old_N_joinery_removed": 600,
          "north_if_old_25mm_N_cladding_kept": 575,
          "north_if_old_200mm_N_box_kept": 400,
          "foot_to_E_wall": 1675,
          "gap_each_table_to_frame_along_Y": 50,
          "each_table_to_nearest_S_N_wall": 100,
          "north_table_to_old_N_cladding_if_kept": 75,
          "table_back_to_W_wall": 25,
          "table_front_X": 375,
          "closet_entry": 900,
          "P4_nominal": 900,
          "P4_existing_study_clear": 800,
          "clear_X_aligned_with_VE7_E_edge": 1025,
          "margin_foot_to_old_VE7_approach_X": 75,
          "table_back_to_W_wall_civil": 25,
          "table_back_to_25mm_W_finish": 0,
          "foot_to_dresser_closed": 1225,
          "foot_to_dresser_drawer_open": 875
        },
        "checks": {
          "all_furniture_inside_room": true,
          "no_solid_overlap_furniture": true,
          "P4_approach_not_crossed_by_frame": true,
          "old_VE7_approach_preserved": true,
          "closet_banks_and_door_bboxes_preserved": true,
          "VE7_frame_location_preserved": true,
          "VE7_approach_preserved_with_closed_dresser": true,
          "VE7_approach_preserved_with_south_drawer_open": false
        },
        "furniture_collisions": [],
        "old_VE7_approach_intersection": {
          "X_mm": 0,
          "Y_mm": 500,
          "area_m2": 0.0
        },
        "VE7_note": "VE7 tem folha ativa este. A reserva R27 [2.25,0,3.25,1.10] é dado de estudo anterior, não certificação nem mínimo legal. Não confundir ausência de colisão com caixilho com preservação da aproximação. Se houver sobreposição, rever aproximação/família de vão/implantação antes de apresentar como resolvido.",
        "nightstand_use": "As mesas aproximam-se pela frente E, a partir das faixas laterais. O intervalo de 50 mm mesa/cama é folga de mobiliário, não passagem. As faixas600não são contínuas até à parede W: a mesa ocupa a zona junto à cabeça até X da sua frente; entrada na cama e aproximação ao móvel pela frente, com gavetas fechadas e uso sequencial se abrirem para E.",
        "route_note": "P4→closet pode seguir diretamente pela faixa E, sem contornar a cama. O ocupante do lado norte também acede por essa faixa. O ocupante do lado sul continua a contornar os pés para chegar ao closet; não há acesso através da cabeceira W.",
        "remove_or_relocate_from_R30": [
          "Caixa de cabeceira norte200mm e nichos integrados",
          "Ripado norte25mm, para obter600mmnominais acabados a norte; se mantido declarar575mm",
          "Apliques/tomadas da antiga cabeceira norte, para a nova cabeceira W"
        ],
        "enlargement_delta_W_m": 0.3,
        "enlargement_changes_if_delta_positive": [
          "FaçadeW,VE8 eP2deslocadas300mm; redes,soleiras,cobertura/estrutura/fundaçõesporrever.",
          "WCacompanhanovaparedeW; duche1900×900apenasreservadimensional; lavatóriona posiçãoatual.",
          "AQS,VMC,máquinas,pia,despensa mantidosnosbboxespublicados; faixanova300somentereservada.",
          "Pala/perímetroexteriorcarecemrevisãoparapreservarlarguradosdoiscarros."
        ],
        "id": "C2",
        "title": "Cama180 rodada e ampliação300mm paraW",
        "headboard_construction": "Volume125mm apenas no troço central de1900mm correspondente à cama. Fora desse troço, eventual ripado deve ficar dentro de25mm totais desde a parede W; não prolongar125mm atrás das mesas. As mesas começam25mmàfrente da parede civil e ficam rasantes a um painel25mm, sem sobreposição.",
        "footnote": "Faixas laterais compactas, nominais; o estudo não certifica acessibilidade. O corredor P4tem passagem útil800mmdeestudo, embora o acesso do closet tenha900mm.",
        "preserves_in_C2": [
          "P4 e P5, incluindo cassetes",
          "Bancos e interiores do closet",
          "Consola da parede E",
          "Lavatório da I.S. na posição atual",
          "VE7 na posição atual",
          "Todos os bboxes efetivos de máquinas, AQS, VMC, pia e despensa da lavandaria"
        ],
        "bathroom_adaptation": {
          "status": "Reserva dimensional, não escolha de louça/vidro nem projeto de redes",
          "WC": "Acompanha paredeW−300mm; mantém reserva total700mm, não produto escolhido.",
          "shower_nominal_mm": [
            1900,
            900
          ],
          "screen_study_fixed_width_mm": 1000,
          "screen_note": "Extensão do vidro fixo até à nova parede W, mantendo entrada900mmàdireita; não perfurar o bolso P5. Vidro/sistema/fixações por selecionar.",
          "basin": "Mantém1200×500na posição atual; não aumenta automaticamente o móvel.",
          "P5_and_pocket": "Bboxes e funcionamento preservados.",
          "WC_front_clear_mm": 1200,
          "WC_to_shower_mm": 250
        },
        "laundry_adaptation": {
          "status": "TODOS os equipamentos e móveis existentes preservados nos bboxes publicados. Faixa nova apenas como reserva de estudo.",
          "published_room_bbox": [
            0.25,
            5.85,
            3.85,
            8.5
          ],
          "expanded_room_bbox": [
            -0.05,
            5.85,
            3.85,
            8.5
          ],
          "new_reserved_strip_bbox": [
            -0.05,
            5.85,
            0.25,
            8.5
          ],
          "equipment_existing_grey": [
            {
              "id": "T01",
              "bbox": [
                0.37,
                6.06,
                0.97,
                6.695
              ],
              "height": 1.937,
              "front": "N",
              "left_gap": 0.12,
              "right_gap": 0.35,
              "rear_gap": 0.21,
              "front_reserve_bbox": [
                0.37,
                6.695,
                0.97,
                7.695
              ],
              "installation": "AQS proposta com admissão e descarga de ar conduzidas ao exterior; traçado, caudais, ruído, condensados, ligações e suporte por projeto AVAC. Não fechar em armário. Folgas A120/B350/C210 e topo65mm desenhadas como estudo a conferir no manual/modelo final."
            },
            {
              "id": "T02",
              "bbox": [
                1.32,
                5.85,
                2.045,
                6.42
              ],
              "height": 0.85,
              "bottom": 0.25,
              "front": "N",
              "front_reserve_bbox": [
                1.32,
                6.42,
                2.045,
                7.42
              ],
              "installation": "VMC rodada, em chassis próprio no piso; 1m livre à frente. Quatro condutas e condensados a rever; não fixar à cassete."
            }
          ],
          "machine_station_existing_grey": {
            "bbox": [
              2.09,
              5.85,
              3.35,
              6.55
            ],
            "width": 1.26,
            "depth": 0.7,
            "base": 0.4,
            "top": 1.3,
            "machine_body_width": 0.598,
            "machine_body_centres_x": [
              2.41,
              3.03
            ],
            "drawer_target_l": null,
            "condition": "Estrutura de suporte, retenção antiqueda, vibração, ligações e elevação a validar para os modelos efetivamente fornecidos. Não fabricar um simples móvel sob os aparelhos.",
            "occupied_bbox": [
              2.09,
              5.85,
              3.35,
              6.562
            ],
            "selected_models": [
              "WG54N2A0ES",
              "WQ46N2D0ES"
            ],
            "rear_service_reserve": 0.06,
            "closed_product_depths": [
              0.633,
              0.648
            ],
            "manufacturer_body_depths": [
              0.59,
              0.613
            ],
            "machine_base": 0.4,
            "support_strategy": "Duas bases originaisSiemensWZWP50W/WZDP40D400x600x570; confirmarE-Nr; sem caixa estrutural de carpintaria",
            "drawer_capacity_note": "Gavetas dos pedestais originais. Capacidade útil e curso por ficha do acessório; nenhum alvo volumétrico de carpintaria atribuído."
          },
          "upper_existing_grey": {
            "bbox": [
              2.09,
              5.85,
              3.35,
              6.2
            ],
            "bottom": 1.5,
            "height": 1.2,
            "front": "N",
            "use": "Roupa e lavagem; fundos e laterais próprios, separados dos alimentos",
            "left_filler": 0.02,
            "carcass_top": 2.68,
            "top_filler": 0.02,
            "body_widths_m": [
              0.62,
              0.62
            ]
          },
          "sink_existing_grey": {
            "bbox": [
              3.35,
              5.85,
              3.85,
              6.45
            ],
            "occupied_bbox": [
              3.35,
              5.85,
              3.85,
              6.463
            ],
            "action": "MANTER"
          },
          "pantry_existing_grey": {
            "columns": [
              {
                "id": "D01",
                "bbox": [
                  0.27,
                  8.05,
                  0.8,
                  8.5
                ],
                "height": 2.7,
                "plinth": 0.1,
                "leaf_count": 2,
                "max_leaf_width": 0.275,
                "shelf_levels": [
                  0.118,
                  0.478,
                  0.838,
                  1.198,
                  1.558,
                  1.918,
                  2.278
                ],
                "carcass_top": 2.68,
                "carcass_height": 2.58,
                "top_filler": 0.02,
                "shelf_levels_are": "TOP"
              },
              {
                "id": "D02",
                "bbox": [
                  0.8,
                  8.05,
                  1.35,
                  8.5
                ],
                "height": 2.7,
                "plinth": 0.1,
                "leaf_count": 2,
                "max_leaf_width": 0.275,
                "shelf_levels": [
                  0.118,
                  0.478,
                  0.838,
                  1.198,
                  1.558,
                  1.918,
                  2.278
                ],
                "carcass_top": 2.68,
                "carcass_height": 2.58,
                "top_filler": 0.02,
                "shelf_levels_are": "TOP"
              },
              {
                "id": "D03",
                "bbox": [
                  1.35,
                  8.05,
                  1.95,
                  8.5
                ],
                "height": 2.7,
                "plinth": 0.1,
                "leaf_count": 2,
                "max_leaf_width": 0.29999999999999993,
                "shelf_levels": [
                  0.118,
                  0.478,
                  0.838,
                  1.198,
                  1.558,
                  1.918,
                  2.278
                ],
                "carcass_top": 2.68,
                "carcass_height": 2.58,
                "top_filler": 0.02,
                "shelf_levels_are": "TOP"
              },
              {
                "id": "D04",
                "bbox": [
                  3.05,
                  8.05,
                  3.45,
                  8.5
                ],
                "height": 2.7,
                "plinth": 0.1,
                "leaf_count": 2,
                "max_leaf_width": 0.20000000000000018,
                "shelf_levels": [
                  0.118,
                  0.478,
                  0.838,
                  1.198,
                  1.558,
                  1.918,
                  2.278
                ],
                "carcass_top": 2.68,
                "carcass_height": 2.58,
                "top_filler": 0.02,
                "shelf_levels_are": "TOP"
              },
              {
                "id": "D05",
                "bbox": [
                  3.45,
                  8.05,
                  3.83,
                  8.5
                ],
                "height": 2.7,
                "plinth": 0.1,
                "leaf_count": 2,
                "max_leaf_width": 0.19999999999999996,
                "shelf_levels": [
                  0.118,
                  0.478,
                  0.838,
                  1.198,
                  1.558,
                  1.918,
                  2.278
                ],
                "carcass_top": 2.68,
                "carcass_height": 2.58,
                "top_filler": 0.02,
                "shelf_levels_are": "TOP"
              }
            ],
            "base": {
              "bbox": [
                1.95,
                8.05,
                3.05,
                8.5
              ],
              "height": 1.5,
              "drawer_count": 6,
              "internal_drawer_target": [
                0.47,
                0.36
              ],
              "usable_heights": [
                0.3,
                0.38,
                0.42
              ]
            },
            "bridge": {
              "bbox": [
                1.95,
                8.05,
                3.05,
                8.5
              ],
              "bottom": 2.2,
              "height": 0.5,
              "body_count": 2,
              "carcass_height": 0.48,
              "carcass_top": 2.68,
              "top_filler": 0.02
            },
            "overall_front_m": 3.6,
            "tall_front_m": 2.46,
            "depth_m": 0.45,
            "net_shelf_surface_m2": 8.257632,
            "tall_geometric_l": 2232.74016,
            "bridge_geometric_l": 176.047056,
            "drawer_target_l": 372.2399999999999,
            "total_geometric_plus_drawer_l": 2781.0272159999995,
            "capacity_basis": "R24: frente3,60m inclui remates20+20mm; colunas2,46m. Topo dos corpos2680+remate20 até teto2700. Profundidade das prateleiras402mm; cotas dos níveis são superfícies superiores. Capacidade nominal antes de ferragens e embalagens.",
            "organization": [
              "D01: pequeno-almoço e cereais",
              "D02: arroz, massas e leguminosas",
              "D03: conservas, frascos e reservas",
              "D04: lanches e snacks",
              "D05: stock complementar/utensílios alimentares",
              "Seis gavetas sob a janela: pacotes, garrafas deitadas e reservas pesadas",
              "Ponte alta: uso ocasional; acesso com escadote, fora da circulação quando recolhido"
            ],
            "fillers": [
              {
                "id": "DL-REM",
                "bbox": [
                  0.25,
                  8.05,
                  0.27,
                  8.5
                ],
                "height": 2.7
              },
              {
                "id": "DR-REM",
                "bbox": [
                  3.83,
                  8.05,
                  3.85,
                  8.5
                ],
                "height": 2.7
              }
            ],
            "closed_clear_aisle_handles_m": 1.342,
            "drawer_open_aisle_handles_m": 0.942
          },
          "new_storage_assigned": false,
          "additional_capacity_promised": false,
          "external_door_P2_study_bbox": [
            -0.3,
            6.8,
            -0.05,
            7.7
          ],
          "limits": [
            "Não traduzirAQS/VMCnemmáquinas; manterbases/ligaçõesdereferência, paraauditoriacompletaposterior.",
            "PortaP2,cotasdesoleira,redes,condutas e relação com pala porreverantesdeobra.",
            "Faixa−.05.. .25nãoéumarmárionovo; não adicionarfrentes,litrosoucapacidadealimentar."
          ],
          "rejected_automatic_translation": {
            "AQS_shift_W300_bbox": [
              1.33,
              6.06,
              1.93,
              6.695
            ],
            "machine_overlap": {
              "X_mm": 180,
              "Y_mm": 502,
              "area_m2": 0.09036
            },
            "reason": "Deslocar só aAQS300mmparaWcruzaas máquinas; opção descartada nesta comparação."
          },
          "status_R36": "Coordenadas reemitidas na ordem adotada; faixaW300 reserva livre."
        },
        "version_scope": "Cama/volume originalmente auditados em C2v01. Para a cómoda C2v02, usar também Auditoria_Comoda_C2.json. Consola removida nesta versão.",
        "dresser_audit_source": "auditoria/Auditoria_Comoda_C2.json"
      },
      "preserves": [
        "P4 e cassete",
        "Passagem900do closet",
        "P5 closet/I.S.",
        "Bancos e interiores do closet",
        "VE7 no jardim",
        "Cores e linguagem de materiais",
        "R30 sem alterações"
      ],
      "limits": [
        "Colchão1800×2000 e frame1900×2100são hipóteses dimensionais; produto real por selecionar.",
        "As faixas laterais600são compactas e nominais; mesas usam-se pela frente, nunca pelo intervalo50àcama.",
        "P4→closet é direto; a pessoa do lado sul continua a contornar os pés.",
        "Ampliar paraW aumenta o comprimento aos pés, não a largura transversalY nem as faixas600.",
        "No ampliado, implantação, estrutura, cobertura, redes e terreno ainda por verificar.",
        "C2 duche1900×900éreserva de adaptação, não modelo escolhido.",
        "C2v02 substitui a consola por uma cómoda de2000×450×800. Com uma gaveta de350aberta sobram875aos pés; a coluna sul aberta cruza a reservaVE7em200×800 e deve fechar antes de aceder ao jardim.",
        "C1 não adota automaticamente esta cómoda: teria925mmfechada/575mmaberta.",
        "Fixações, construção da cómoda, curso real das ferragens e tolerâncias ainda por confirmar antes de fabrico."
      ],
      "fabrication_released": false,
      "publication_executed": false,
      "project_model_modified": false,
      "dresser_study": {
        "bbox": [
          3.4,
          0.3,
          3.85,
          2.3
        ],
        "width_along_Y_mm": 2000,
        "depth_X_mm": 450,
        "total_height_mm": 800,
        "top_oak_thickness_mm": 20,
        "feet_height_mm": 120,
        "feet_horizontal_setback_mm": 70,
        "carcass_bottom_mm": 120,
        "carcass_top_mm": 780,
        "drawer_count": 6,
        "drawer_arrangement": "2 columns x 3 rows",
        "drawer_stroke_assumption_mm": 350,
        "drawer_open_bbox": [
          3.05,
          0.3,
          3.4,
          2.3
        ],
        "drawer_internal_opening_before_hardware_mm": 973,
        "drawer_internal_opening_basis": "(2000 - 3 x18)/2; caixa/ferragens por confirmar",
        "finish": "Frentes brancas lacadas satinadas, tampo carvalho natural; cómoda independente, sem armário alto, ponte ou nicho. Puxador discreto tipo cava, a coordenar com a referência.",
        "mirror": {
          "wall": "E",
          "plane_x": 3.842,
          "centre_y": 1.3,
          "centre_height_m": 1.45,
          "diameter_mm": 850
        },
        "replaces": "Consola pequena da parede E apenas nesta alternativa C2; não coexistem.",
        "VE7_closed": "Reserva anterior livre com gavetas fechadas;150mm até à cómoda.",
        "VE7_south_column_open_intersection_mm": [
          200,
          800
        ],
        "VE7_open_note": "Gavetas da coluna sul, junto ao jardim, fechadas antes de usar a aproximação VE7. A coluna norte não cruza essa reserva. Uso sequencial; não alegar reserva permanentemente livre.",
        "hardware_selected": false,
        "fabrication_released": false
      },
      "version_history": [
        {
          "version": 1,
          "change": "Cama rodada180 e ampliação300; consola pequena mantida.",
          "archive": "arquivo_C2_v01"
        },
        {
          "version": 2,
          "change": "Consola pequena substituída por cómoda independente2m, seisgavetas, tampo20e espelhoØ850; resto do layout preservado."
        },
        {
          "version": 3,
          "change": "Adoção para desenvolvimento R32, sem alteração dos bboxes da v02."
        }
      ],
      "geometry_equal_to_R31_C2_v02": true
    },
    "suitePendant": {
      "id": "SUITE-PENDANT-R23",
      "centreCAD": [
        1.125,
        1.55
      ],
      "diameter": 0.4,
      "height": 0.2,
      "bottom": 2.3,
      "top": 2.5,
      "stem_top": 2.7,
      "status": "Centro de estudo acompanha cama C2; instalação/altura/fixações por compatibilizar."
    },
    "study": {
      "revision": "R37",
      "date": "2026-10-27",
      "status": "Coordenação e consulta à carpintaria; recortes/ferragens/obra por fechar antes do fabrico",
      "family_members": 4,
      "room": {
        "bbox": [
          -0.05,
          5.85,
          3.85,
          8.5
        ],
        "width": 3.9,
        "depth": 2.65,
        "height": 2.7,
        "area": 10.335,
        "status": "C2 preservada; A780 proposta recupera280mm e deixa20mm de reserva adicional juntoAQS."
      },
      "food": {
        "columns": [
          {
            "id": "D01",
            "bbox": [
              0.27,
              8.05,
              0.8,
              8.5
            ],
            "height": 2.7,
            "plinth": 0.1,
            "leaf_count": 2,
            "max_leaf_width": 0.275,
            "shelf_levels": [
              0.118,
              0.478,
              0.838,
              1.198,
              1.558,
              1.918,
              2.278
            ],
            "carcass_top": 2.68,
            "carcass_height": 2.58,
            "top_filler": 0.02,
            "shelf_levels_are": "TOP"
          },
          {
            "id": "D02",
            "bbox": [
              0.8,
              8.05,
              1.35,
              8.5
            ],
            "height": 2.7,
            "plinth": 0.1,
            "leaf_count": 2,
            "max_leaf_width": 0.275,
            "shelf_levels": [
              0.118,
              0.478,
              0.838,
              1.198,
              1.558,
              1.918,
              2.278
            ],
            "carcass_top": 2.68,
            "carcass_height": 2.58,
            "top_filler": 0.02,
            "shelf_levels_are": "TOP"
          },
          {
            "id": "D03",
            "bbox": [
              1.35,
              8.05,
              1.95,
              8.5
            ],
            "height": 2.7,
            "plinth": 0.1,
            "leaf_count": 2,
            "max_leaf_width": 0.29999999999999993,
            "shelf_levels": [
              0.118,
              0.478,
              0.838,
              1.198,
              1.558,
              1.918,
              2.278
            ],
            "carcass_top": 2.68,
            "carcass_height": 2.58,
            "top_filler": 0.02,
            "shelf_levels_are": "TOP"
          },
          {
            "id": "D04",
            "bbox": [
              3.05,
              8.05,
              3.45,
              8.5
            ],
            "height": 2.7,
            "plinth": 0.1,
            "leaf_count": 2,
            "max_leaf_width": 0.20000000000000018,
            "shelf_levels": [
              0.118,
              0.478,
              0.838,
              1.198,
              1.558,
              1.918,
              2.278
            ],
            "carcass_top": 2.68,
            "carcass_height": 2.58,
            "top_filler": 0.02,
            "shelf_levels_are": "TOP"
          },
          {
            "id": "D05",
            "bbox": [
              3.45,
              8.05,
              3.83,
              8.5
            ],
            "height": 2.7,
            "plinth": 0.1,
            "leaf_count": 2,
            "max_leaf_width": 0.19999999999999996,
            "shelf_levels": [
              0.118,
              0.478,
              0.838,
              1.198,
              1.558,
              1.918,
              2.278
            ],
            "carcass_top": 2.68,
            "carcass_height": 2.58,
            "top_filler": 0.02,
            "shelf_levels_are": "TOP"
          }
        ],
        "base": {
          "bbox": [
            1.95,
            8.05,
            3.05,
            8.5
          ],
          "height": 1.5,
          "drawer_count": 6,
          "internal_drawer_target": [
            0.47,
            0.36
          ],
          "usable_heights": [
            0.3,
            0.38,
            0.42
          ]
        },
        "bridge": {
          "bbox": [
            1.95,
            8.05,
            3.05,
            8.5
          ],
          "bottom": 2.2,
          "height": 0.5,
          "body_count": 2,
          "carcass_height": 0.48,
          "carcass_top": 2.68,
          "top_filler": 0.02
        },
        "overall_front_m": 3.6,
        "tall_front_m": 2.46,
        "depth_m": 0.45,
        "net_shelf_surface_m2": 7.242432,
        "tall_geometric_l": 2232.74016,
        "bridge_geometric_l": 176.047056,
        "drawer_target_l": 372.2399999999999,
        "total_geometric_plus_drawer_l": 2781.0272159999995,
        "capacity_basis": "R24: frente3,60m inclui remates20+20mm; colunas2,46m. Topo dos corpos2680+remate20 até teto2700. Profundidade das prateleiras402mm; cotas dos níveis são superfícies superiores. Capacidade nominal antes de ferragens e embalagens.",
        "organization": [
          "D01: pequeno-almoço e cereais",
          "D02: arroz, massas e leguminosas",
          "D03: conservas, frascos e reservas",
          "D04: lanches e snacks",
          "D05: stock complementar/utensílios alimentares",
          "Seis gavetas sob a janela: pacotes, garrafas deitadas e reservas pesadas",
          "Ponte alta: uso ocasional; acesso com escadote, fora da circulação quando recolhido"
        ],
        "fillers": [
          {
            "id": "DL-REM",
            "bbox": [
              0.25,
              8.05,
              0.27,
              8.5
            ],
            "height": 2.7
          },
          {
            "id": "DR-REM",
            "bbox": [
              3.83,
              8.05,
              3.85,
              8.5
            ],
            "height": 2.7
          }
        ],
        "closed_clear_aisle_handles_m": 1.342,
        "drawer_open_aisle_handles_m": 0.942,
        "drawer_target_floor_surface_m2": 1.0152,
        "combined_shelves_drawer_floor_surface_m2": 8.257632,
        "surface_area_basis_R38": "Prateleiras/basealimentar7.242432m²; fundosalvode6gavetas1.0152m². Antigos8.257632eram asoma,nãosóprateleiras. Não é capacidade comercial."
      },
      "laundry": {
        "machine_station": {
          "bbox": [
            1.81,
            5.85,
            3.07,
            6.55
          ],
          "width": 1.26,
          "depth": 0.7,
          "base": 0.4,
          "top": 1.3,
          "machine_body_width": 0.598,
          "machine_body_centres_x": [
            2.13,
            2.75
          ],
          "drawer_target_l": null,
          "condition": "Estrutura de suporte, retenção antiqueda, vibração, ligações e elevação a validar para os modelos efetivamente fornecidos. Não fabricar um simples móvel sob os aparelhos.",
          "occupied_bbox": [
            1.81,
            5.85,
            3.07,
            6.562
          ],
          "selected_models": [
            "WG54N2A0ES",
            "WQ46N2D0ES"
          ],
          "rear_service_reserve": 0.06,
          "closed_product_depths": [
            0.633,
            0.648
          ],
          "manufacturer_body_depths": [
            0.59,
            0.613
          ],
          "machine_base": 0.4,
          "support_strategy": "Duas bases originais Siemens WZWP50W/WZDP40D 400 x 600 x 570; confirmar E-Nr; sem caixa estrutural de carpintaria",
          "drawer_capacity_note": "Gavetas dos pedestais originais. Capacidade útil e curso por ficha do acessório; nenhum alvo volumétrico de carpintaria atribuído.",
          "status": "PROPOSTA NÃO ADOTADA; compatibilidade E-Nr e montagem por confirmar"
        },
        "upper": {
          "bbox": [
            1.81,
            5.85,
            3.07,
            6.2
          ],
          "bottom": 1.5,
          "height": 1.2,
          "front": "N",
          "use": "Roupa e lavagem; fundos e laterais próprios, separados dos alimentos",
          "left_filler": 0.02,
          "carcass_top": 2.68,
          "top_filler": 0.02,
          "body_widths_m": [
            0.62,
            0.62
          ]
        },
        "sink": {
          "id": "L-PIA-R37",
          "bbox": [
            3.07,
            5.85,
            3.85,
            6.45
          ],
          "height": 0.9,
          "width_mm": 780,
          "depth_mm": 600,
          "front": "N",
          "front_count": 2,
          "occupied_bbox": [
            3.07,
            5.85,
            3.85,
            6.45
          ],
          "use": "Lavagem manual de pequenas peças, pré-tratamento, enxaguamento e balde; não bancada de dobrar roupa.",
          "front_strategy": "Duas portas; pega em cava sem projeção sobre o vão P6. Sem gavetas na zona da cuba/sifão.",
          "selected_for_study_only": "RODI UNA 57 (móvel mínimo 600); modelo e acabamento ainda sujeitos a aprovação/compra.",
          "sink_outer_bbox": [
            3.185,
            5.89,
            3.735,
            6.395
          ],
          "bowl_top_nominal_bbox": [
            3.21,
            5.97,
            3.71,
            6.37
          ],
          "bowl_depth_m": 0.2,
          "bowl_corner_radius_m": 0.025,
          "bowl_step_inner_frontback_mm": 380,
          "bowl_bottom_z_nominal_m": 0.7,
          "tap_axis_study": [
            3.46,
            5.93,
            0.9
          ],
          "tap_height_m": 0.312,
          "tap_outlet_height_above_counter_m": 0.278,
          "tap_type_study": "RODI LINE MN807PT 10004062, duche extraível; corpoØ 54/furoØ 35; curso/contrapeso/rosca por manual final.",
          "tap_finish_study": "preto mate; alternativa cromada deve conservar cotas verificadas",
          "cutout_reference_mm": [
            530,
            485,
            10
          ],
          "cutout_status": "Gabarito superior publicado; não liberar corte pelo retângulo do estudo. Versão exata, clips, pedra e reforços por confirmar.",
          "counter_landings_mm": {
            "west": 115,
            "east": 115,
            "rear": 40,
            "front": 55
          },
          "tap_axis_wall_distance_mm": 80,
          "tap_base_rear_clearance_mm": 53,
          "volume_litre_certified": null,
          "volume_note": "Não se atribui 40 L úteis por multiplicar 500 × 400 × 200: há raios, degrau, fundo, válvula, nível de enchimento e roupa. O fabricante não publicou aqui capacidade útil."
        },
        "folding_table_removed": true,
        "equipment": [
          {
            "id": "T01",
            "bbox": [
              0.09,
              6.06,
              0.69,
              6.695
            ],
            "height": 1.937,
            "front": "N",
            "left_gap": 0.14,
            "right_gap": 0.35,
            "rear_gap": 0.21,
            "front_reserve_bbox": [
              0.09,
              6.695,
              0.69,
              7.695
            ],
            "installation": "PROPOSTA R37: folgas do desenho ES A 140 (mínimo 120), B 350 e C 210 paraØ 160. A reserva frontal 1000 é proposta de serviço, não mínimo numérico Ariston. Sem armário a fechar o aparelho. Confirmar mercado/revisão e R290."
          },
          {
            "id": "T02",
            "bbox": [
              1.04,
              5.85,
              1.765,
              6.42
            ],
            "height": 0.85,
            "bottom": 0.25,
            "front": "N",
            "front_reserve_bbox": [
              1.04,
              6.42,
              1.765,
              7.42
            ],
            "installation": "PROPOSTA R37: chassis original de solo, base de estudo 250; serviço frontal 1000 prescrito na edição consultada. Sem fixação à cassete nem ligação rígida ao móvel das máquinas. Confirmar versão portuguesa/acessórios."
          }
        ],
        "west_extension_reserve_bbox": [
          -0.05,
          5.85,
          0.25,
          8.5
        ],
        "folding_worktop": {
          "included": false
        },
        "geometrySource": "R37-A780",
        "hanging_rail": {
          "included": false
        }
      },
      "doors": {
        "P2": {
          "old_bbox": [
            0,
            6,
            0.25,
            6.9
          ],
          "bbox": [
            -0.3,
            6.8,
            -0.05,
            7.7
          ],
          "width": 0.9,
          "clear_target": 0.8,
          "hinge": [
            -0.05,
            6.83
          ],
          "leaf": 0.82,
          "arc_reserve_radius": 0.87,
          "historical_bbox_before_R32": [
            0,
            6.8,
            0.25,
            7.7
          ]
        },
        "P6": {
          "old_bbox": [
            3.85,
            6,
            4,
            7.1
          ],
          "bbox": [
            3.85,
            6.5,
            4,
            7.4
          ],
          "width": 0.9,
          "clear_target": 0.8,
          "pocket": [
            3.85,
            7.4,
            4,
            8.4
          ],
          "change": "Vão nominal1100→900mm; passagem alvo1000→800mm. Confirmar kit, acesso e circulação com o arquiteto."
        }
      },
      "office": {
        "room_bbox": [
          10.4,
          0,
          13.2,
          2.94
        ],
        "shelf_bbox": [
          10.41,
          0.65,
          10.65,
          1.9
        ],
        "length": 1.25,
        "depth": 0.24,
        "thickness": 0.035,
        "shelf_bottoms": [
          0.4,
          0.78,
          1.16,
          1.54,
          1.92,
          2.3
        ],
        "max_top": 2.335,
        "desk_front_x": 12.55,
        "chair_min_x": 12.0,
        "chair_pullback": 0.3,
        "shelf_front_x": 10.65,
        "passage_chair_retracted_m": 1.05,
        "between_desk_and_shelf_m": 1.9,
        "door_arc_min_x": 11.15,
        "door_arc_side_gap_m": 0.5,
        "south_start_m": 0.65,
        "pocket_P7_starts_y": 2.95,
        "use": "Prateleiras com livros retiradas da sala e transferidas para o escritório, na parede oposta à secretária. Fixar ao pano maciço e manter decoração dentro dos240mm."
      },
      "changes_required": [
        "Reimplantar P2 no mesmo pano exterior; conferir percurso no carport e soleira.",
        "Reimplantar e reduzir P6 para vão900; nova cassete a norte, sem entrar na I.S. nem na cristaleira.",
        "Mover AQS220mm para oeste, rodar frente para norte e prever ar conduzido ao exterior.",
        "Transferir/rodar VMC para a fila sul e rever todas as redes.",
        "Rever água/esgotos, eletricidade e suportes de máquinas elevadas.",
        "Retirar mesa rebatível; bancada elevada não é uma bancada ergonómica de trabalho.",
        "Não perfurar a cassete P6 com armários de despensa. Remates e apoio próprios."
      ],
      "limitations": [
        "Reservas de serviço e áreas de uso não são armazenamento. Aberturas de máquinas e manutenção usam o corredor por turnos; não representam utilização simultânea de tudo.",
        "Corredor mínimo1355mm com frentes fechadas; gavetas400mm deixam955mm até ao ponto mais saliente da AQS. Portas altas de duas folhas estreitas, projeção máxima300mm.",
        "AQS com ar conduzido é condição da proposta; não usar o volume bruto da divisão como validação de instalação sem condutas.",
        "Estas alterações são uma proposta para revisão do arquiteto/AVAC; planta R21 e site publicado continuam referências anteriores."
      ],
      "frozen_laundry_source": "Implantação efetiva publicada R27; objeto laundry integralmente preservado.",
      "new_west_strip_reserve": {
        "bbox": [
          -0.05,
          5.85,
          0.25,
          8.5
        ],
        "width_mm": 300,
        "status": "Reserva de estudo, sem novo móvel nem capacidade prometida."
      },
      "verification_R32": {
        "status": "Posições efetivas congeladas e dentro do novo domínio; obra/redes/soleira por rever",
        "laundry_payload_unchanged": true,
        "food_payload_unchanged": true
      },
      "equipment": [
        {
          "id": "T01",
          "bbox": [
            0.09,
            6.06,
            0.69,
            6.695
          ],
          "height": 1.937,
          "front": "N",
          "left_gap": 0.14,
          "right_gap": 0.35,
          "rear_gap": 0.21,
          "front_reserve_bbox": [
            0.09,
            6.695,
            0.69,
            7.695
          ],
          "installation": "PROPOSTA R37: folgas do desenho ES A 140 (mínimo 120), B 350 e C 210 paraØ 160. A reserva frontal 1000 é proposta de serviço, não mínimo numérico Ariston. Sem armário a fechar o aparelho. Confirmar mercado/revisão e R290."
        },
        {
          "id": "T02",
          "bbox": [
            1.04,
            5.85,
            1.765,
            6.42
          ],
          "height": 0.85,
          "bottom": 0.25,
          "front": "N",
          "front_reserve_bbox": [
            1.04,
            6.42,
            1.765,
            7.42
          ],
          "installation": "PROPOSTA R37: chassis original de solo, base de estudo 250; serviço frontal 1000 prescrito na edição consultada. Sem fixação à cassete nem ligação rígida ao móvel das máquinas. Confirmar versão portuguesa/acessórios."
        }
      ]
    },
    "officeBooks": {
      "room_bbox": [
        10.4,
        0,
        13.2,
        2.94
      ],
      "shelf_bbox": [
        10.41,
        0.45,
        10.65,
        2.7
      ],
      "length": 2.25,
      "depth": 0.24,
      "thickness": 0.035,
      "shelf_bottoms": [
        0.4,
        0.78,
        1.16,
        1.54,
        1.92,
        2.3
      ],
      "max_top": 2.335,
      "desk_front_x": 12.55,
      "chair_min_x": 12.0,
      "chair_pullback": 0.3,
      "shelf_front_x": 10.65,
      "passage_chair_retracted_m": 1.05,
      "between_desk_and_shelf_m": 1.9,
      "door_arc_min_x": 11.15,
      "door_arc_side_gap_m": 0.5,
      "south_start_m": 0.45,
      "pocket_P7_starts_y": 2.95,
      "use": "R26: prateleiras alargadas, até2250mm de comprimento e240mm de profundidade. Terminar250mm antes da casseteP7; fixações só no pano maciço, cargas/suportes por dimensionar."
    },
    "R32_order": {
      "layout": "C2 adotada para desenvolvimento",
      "laundry": "Equipamentos efetivos e arrumação publicados mantidos; faixa300W reservada",
      "food_preserved": true,
      "AVAC_installation_pending": true
    }
  },
  "sourceR24": {
    "sourceSceneSHA256": "fab4981958637a9242fa572c4f72b96c1799a3e8686ca60d6474a26d9b229468",
    "source": "R23B; corrigido após auditoria de carpintaria",
    "date": "2026-10-27",
    "status": "Coordenação e consulta à carpintaria; recortes/ferragens/obra por fechar antes do fabrico"
  },
  "selectedAppliancesR24": [
    "HB478G5B7",
    "ED651HSC1E",
    "LJ67BDP60",
    "SN65YX00CE",
    "KI86FHDD0",
    "WG54N2A0ES",
    "WQ46N2D0ES"
  ],
  "applianceSelectionStatus": "Selecionados pelo utilizador; implantação nominal para coordenação. Compra, E-Nr, gabaritos, ferragens, ventilação e obra não são certificados pelo modelo.",
  "areasR24": {
    "Q_S": 12.9,
    "Q_1": 12.390000000000015,
    "Q_2": 12.36000000000002,
    "IS_S": 6.768,
    "IS_C": 6.136000000000003,
    "LAV": 9.54,
    "ESC": 8.232,
    "SAL": 49.94530567100001,
    "ENTRY_HALL": 2.907149100799991,
    "DISTR": 5.74199999999999,
    "PAN": 1.2249999999999872,
    "HALL_ARM": 0.8400000000000034,
    "ARR_S": 0.42600000000000904,
    "ARR_N": 0.30000000000000426
  },
  "technicalCabinet": {
    "id": "R05",
    "location": "Entrada, antigo armário de casacos e mochilas, imediatamente junto à porta principal",
    "bbox": [
      10.25,
      7.3,
      10.95,
      8.5
    ],
    "width_mm": 1200,
    "height_mm": 2700,
    "depth_mm": 700,
    "finish": "Lacado mate à cor da parede interior; sem puxadores salientes; push-latch",
    "fronts": {
      "count": 4,
      "pair_count": 2,
      "system": "Pares articulados de2x300, empilhamento a sul, removíveis para montagem/manutenção",
      "hardware_not_selected": true,
      "service_P1_closed": true
    },
    "clear_bays_WD_mm": [
      573,
      650
    ],
    "electrical": {
      "bbox": [
        10.55,
        7.3295,
        10.675,
        7.8795
      ],
      "bottom": 0.9,
      "height": 1.0,
      "reference_only": true,
      "selected": false,
      "reference_model": "Quitérios+34940:550Lx1000Ax125P, referência de volume; circuitos e invólucro por projetista",
      "own_protected_enclosure": true
    },
    "network": {
      "bbox": [
        10.38,
        7.916,
        10.88,
        8.466
      ],
      "bottom": 0.85,
      "height": 0.75,
      "selected": false,
      "maximum_study_body_WHD_mm": [
        550,
        750,
        500
      ],
      "excluded_previous_reference": "Bastidor anterior600mm de largura não cabe nas baias573mm",
      "notes": "Equipamentos próprios de rede, cabos, raio de curvatura, ventilação e perdas por fechar; prateleira inferior para eventualUPS/NAS, sem definição de aparelhos."
    },
    "separation": "Compartimentos e caminhos de cabos distintos; não misturar rede com potência; invólucro elétrico certificado independente da frente decorativa. Separação térmica/projetoITED por especialistas.",
    "ventilation": "Entrada e saída de ar em juntas/recuos ocultos mas livres; área livre e ventilação ativa por calcular para equipamentos reais. Não selar para obter aparência oculta.",
    "status": "Proposta de volume/implantação; não é projeto elétrico ou deITED",
    "fabrication_released": false
  },
  "finishesR24": {
    "stone": "Pedra clara de grão/veio discreto, acabamento acetinado; amostra real por aprovar. Espessura30 e união topo/lateral a45° segundo fabricante/pedreiro. Não presumir juntas invisíveis ou pedra sem limitações.",
    "oak": "Folheado de carvalho natural selecionado, veios orientados e casados por frente; acabamento mate resistente e amostra luzdiurna/3000K. Réguas com remates limpos.",
    "lacquer": "Lacado mate/acetinado claro, suporte e acabamento em todas as arestas, ensaio amostra e brilho; sem base de MDF não protegido em zonas húmidas.",
    "hardware": "Dobradiças/corrediças com amortecimento e capacidade selecionadas pelo peso/ciclo; desmontagem de serviço e manutenção acessível."
  },
  "sourceR25": "Revisão R25 publicada observada em 28/10/2026; alterações expressas do proprietário substituem decisões anteriores.",
  "layoutDecision": {
    "id": "EST-SU-004",
    "version": 3,
    "status": "C2 adotada para desenvolvimento pelo proprietário; não fabrico",
    "geometry_equal_to": "R31 C2 v02",
    "date": "2026-10-28"
  },
  "adopted_suite_C2": {
    "id": "EST-SU-004",
    "version": 3,
    "option": "C2",
    "revision": "R32",
    "title": "C2 — cama rodada, ampliação de 30 cm e cómoda de 2 m",
    "status": "C2 adotada para desenvolvimento; especialidades, obra e fabrico ainda por validar",
    "date": "2026-10-28",
    "units": "m em bboxes; mm em métricas; m² nas áreas",
    "comparison_base": "R31 C2 v02, geometria preservada",
    "enlargement_delta_W_m": 0.3,
    "west_outer_x": -0.3,
    "west_inner_x": -0.04999999999999999,
    "proposal": {
      "bedroom": [
        -0.05,
        0,
        3.85,
        3.1
      ],
      "bathroom": [
        -0.05,
        3.25,
        1.85,
        5.68
      ],
      "closet": [
        2,
        3.25,
        3.85,
        5.68
      ],
      "bed": [
        0.075,
        0.6,
        2.175,
        2.5
      ],
      "bath_closet_partition": [
        1.85,
        3.25,
        2,
        5.68
      ],
      "console": null,
      "console_height_mm": 800,
      "console_drawers": false,
      "P4": [
        3.85,
        2.55,
        4,
        3.45
      ],
      "P4_pocket": [
        3.85,
        3.45,
        4,
        4.45
      ],
      "P5": [
        1.85,
        4.15,
        2,
        5.05
      ],
      "P5_opens_into_bath": false,
      "shower": [
        -0.05,
        3.25,
        1.85,
        4.15
      ],
      "screen": [
        -0.05,
        4.13,
        0.95,
        4.13
      ],
      "wc": [
        -0.05,
        4.4,
        0.65,
        4.78
      ],
      "basin": [
        0.45,
        5.18,
        1.65,
        5.68
      ],
      "former_P5_closed_wall": [
        -0.04999999999999999,
        3.1,
        1.15,
        3.25
      ],
      "P5_type": "pocket_study",
      "P5_clear_opening": [
        1.85,
        4.2,
        2,
        5
      ],
      "P5_pocket": [
        1.85,
        3.25,
        2,
        4.15
      ],
      "P5_parking": "S, embutida na nova divisória sem varrimento no pavimento",
      "closet_south_bank": [
        2,
        3.25,
        2.95,
        3.85
      ],
      "closet_north_bank": [
        2,
        5.1,
        3.85,
        5.68
      ],
      "closet_north_long_bank": [
        2,
        5.1,
        2.86,
        5.68
      ],
      "closet_north_drawers_bank": [
        2.86,
        5.1,
        3.85,
        5.68
      ],
      "wc_face": "E",
      "wc_total_depth_including_cistern_mm": 700,
      "wc_pan_envelope_mm": 550,
      "wc_cistern_and_cladding_reserve_mm": 150,
      "basin_face": "S",
      "shower_entry_width_mm": 900,
      "headboard_west": [
        -0.05,
        0.6,
        0.075,
        2.5
      ],
      "nightstands_south": [
        -0.025,
        0.1,
        0.375,
        0.55
      ],
      "nightstands_north": [
        -0.025,
        2.55,
        0.375,
        3.0
      ],
      "closet_entry_bbox": [
        2.95,
        3.1,
        3.85,
        3.25
      ],
      "VE8": [
        -0.3,
        4.15,
        -0.05,
        5.25
      ],
      "closet_partition": [
        -0.04999999999999999,
        3.1,
        2.95,
        3.25
      ],
      "headboard_partition": [
        -0.04999999999999999,
        3.1,
        2.95,
        3.25
      ],
      "headboard_west_cladding": [
        -0.04999999999999999,
        0,
        -0.024999999999999988,
        3.1
      ],
      "headboard_west_cladding_height_mm": 2700,
      "console_enabled": false,
      "dresser_east": [
        3.4,
        0.3,
        3.85,
        2.3
      ],
      "dresser": [
        3.4,
        0.3,
        3.85,
        2.3
      ],
      "dresser_mirror": {
        "wall": "E",
        "plane_x": 3.842,
        "centre_y": 1.3,
        "centre_height_m": 1.45,
        "diameter_mm": 850
      }
    },
    "metrics_mm": {
      "south_bedside_strip": 600,
      "north_bedside_strip_with_old_N_joinery_removed": 600,
      "north_if_old_25mm_N_cladding_kept": 575,
      "north_if_old_200mm_N_box_kept": 400,
      "foot_to_E_wall": 1675,
      "gap_each_table_to_frame_along_Y": 50,
      "each_table_to_nearest_S_N_wall": 100,
      "north_table_to_old_N_cladding_if_kept": 75,
      "table_back_to_W_wall": 25,
      "table_front_X": 375,
      "closet_entry": 900,
      "P4_nominal": 900,
      "P4_existing_study_clear": 800,
      "clear_X_aligned_with_VE7_E_edge": 1025,
      "margin_foot_to_old_VE7_approach_X": 75,
      "table_back_to_W_wall_civil": 25,
      "table_back_to_25mm_W_finish": 0,
      "foot_to_dresser_closed": 1225,
      "foot_to_dresser_drawer_open": 875,
      "dresser_to_P4_along_Y": 250,
      "dresser_closed_to_VE7_approach_along_X": 150,
      "dresser_drawer_stroke": 350
    },
    "envelope_assumptions": {
      "mattress": [
        1800,
        2000
      ],
      "frame": [
        1900,
        2100
      ],
      "headboard_total_depth": 125,
      "nightstand_width_along_Y": 450,
      "nightstand_depth_along_X": 400,
      "chosen_product": false
    },
    "areas_m2": {
      "bedroom": 12.09,
      "bathroom": 4.617000000000001,
      "closet": 4.495500000000001,
      "laundry": 10.334999999999999,
      "house_gross": 152.1,
      "gross_increase": 2.6999999999999997
    },
    "window_VE7": {
      "bbox": [
        1.4,
        -0.25,
        3.2,
        0
      ],
      "active_side": "E",
      "previous_approach_bbox": [
        2.25,
        0,
        3.25,
        1.1
      ],
      "previous_approach_preserved": true,
      "scope": "Reserva do estudo R27, não mínimo legal certificado"
    },
    "headboard_construction": {
      "slat_cladding_total_depth_mm": 25,
      "central_padded_depth_after_slats_mm": 100,
      "central_total_depth_mm": 125,
      "central_width_mm": 1900,
      "nightstand_front": "E",
      "nightstand_height_mm": 600,
      "nightstand_box_height_mm": 170,
      "nightstand_drawer_count_each": 1,
      "north_old_joinery_removed": true,
      "note": "Cabeceira espessa só atrás da cama. Ripado25no resto do panoW, sem sobrepor as mesinhas. Não manter caixa/nichos ou ripado antigos na paredeN."
    },
    "carport": {
      "useful_width_before_m": 5.8,
      "useful_width_after_m": 5.5,
      "roof_area_before_m2": 35.4,
      "roof_area_remaining_if_outer_edge_fixed_m2": 33.63,
      "outer_support_x": -5.8,
      "note": "A ampliação ocupa parte da pala se o apoio exterior ficar fixo; rever circulação dos carros e estrutura antes de decisão."
    },
    "laundry_study": {
      "equipment_and_furniture_positions": "Mantidas coordenadas efetivas R27; não deslocar AQS/VMC para a nova parede de forma automática.",
      "new_strip_bbox": [
        -0.04999999999999999,
        5.85,
        0.25,
        8.5
      ],
      "new_strip_status": "Reserva de estudo, sem novo armário/capacidade prometida. Ligações, porta exterior, ventilação e remates por compatibilizar. A adição da cómoda não altera a lavandaria."
    },
    "audit": {
      "status": "Estudo geométrico condicionado; não planta final nem aprovação de obra",
      "proposal": {
        "bed": [
          0.075,
          0.6,
          2.175,
          2.5
        ],
        "headboard_west": [
          -0.05,
          0.6,
          0.075,
          2.5
        ],
        "nightstands_south": [
          -0.025,
          0.1,
          0.375,
          0.55
        ],
        "nightstands_north": [
          -0.025,
          2.55,
          0.375,
          3.0
        ],
        "console": null,
        "closet_entry_bbox": [
          2.95,
          3.1,
          3.85,
          3.25
        ],
        "bathroom": [
          -0.05,
          3.25,
          1.85,
          5.68
        ],
        "closet": [
          2,
          3.25,
          3.85,
          5.68
        ],
        "P4": [
          3.85,
          2.55,
          4,
          3.45
        ],
        "P4_pocket": [
          3.85,
          3.45,
          4,
          4.45
        ],
        "P5": [
          1.85,
          4.15,
          2,
          5.05
        ],
        "P5_pocket": [
          1.85,
          3.25,
          2,
          4.15
        ],
        "closet_south_bank": [
          2,
          3.25,
          2.95,
          3.85
        ],
        "closet_north_long_bank": [
          2,
          5.1,
          2.86,
          5.68
        ],
        "closet_north_drawers_bank": [
          2.86,
          5.1,
          3.85,
          5.68
        ],
        "bedroom": [
          -0.05,
          0,
          3.85,
          3.1
        ],
        "wc": [
          -0.05,
          4.4,
          0.65,
          4.78
        ],
        "shower": [
          -0.05,
          3.25,
          1.85,
          4.15
        ],
        "screen": [
          -0.05,
          4.13,
          0.95,
          4.13
        ],
        "basin": [
          0.45,
          5.18,
          1.65,
          5.68
        ],
        "VE8": [
          -0.3,
          4.15,
          -0.05,
          5.25
        ],
        "dresser_east": [
          3.4,
          0.3,
          3.85,
          2.3
        ]
      },
      "external_mattress_assumption_mm": {
        "mattress": [
          1800,
          2000
        ],
        "frame": [
          1900,
          2100
        ],
        "headboard_total_depth": 125,
        "nightstand_width_along_Y": 450,
        "nightstand_depth_along_X": 400,
        "chosen_product": false
      },
      "metrics_mm": {
        "south_bedside_strip": 600,
        "north_bedside_strip_with_old_N_joinery_removed": 600,
        "north_if_old_25mm_N_cladding_kept": 575,
        "north_if_old_200mm_N_box_kept": 400,
        "foot_to_E_wall": 1675,
        "gap_each_table_to_frame_along_Y": 50,
        "each_table_to_nearest_S_N_wall": 100,
        "north_table_to_old_N_cladding_if_kept": 75,
        "table_back_to_W_wall": 25,
        "table_front_X": 375,
        "closet_entry": 900,
        "P4_nominal": 900,
        "P4_existing_study_clear": 800,
        "clear_X_aligned_with_VE7_E_edge": 1025,
        "margin_foot_to_old_VE7_approach_X": 75,
        "table_back_to_W_wall_civil": 25,
        "table_back_to_25mm_W_finish": 0,
        "foot_to_dresser_closed": 1225,
        "foot_to_dresser_drawer_open": 875
      },
      "checks": {
        "all_furniture_inside_room": true,
        "no_solid_overlap_furniture": true,
        "P4_approach_not_crossed_by_frame": true,
        "old_VE7_approach_preserved": true,
        "closet_banks_and_door_bboxes_preserved": true,
        "VE7_frame_location_preserved": true,
        "VE7_approach_preserved_with_closed_dresser": true,
        "VE7_approach_preserved_with_south_drawer_open": false
      },
      "furniture_collisions": [],
      "old_VE7_approach_intersection": {
        "X_mm": 0,
        "Y_mm": 500,
        "area_m2": 0.0
      },
      "VE7_note": "VE7 tem folha ativa este. A reserva R27 [2.25,0,3.25,1.10] é dado de estudo anterior, não certificação nem mínimo legal. Não confundir ausência de colisão com caixilho com preservação da aproximação. Se houver sobreposição, rever aproximação/família de vão/implantação antes de apresentar como resolvido.",
      "nightstand_use": "As mesas aproximam-se pela frente E, a partir das faixas laterais. O intervalo de 50 mm mesa/cama é folga de mobiliário, não passagem. As faixas600não são contínuas até à parede W: a mesa ocupa a zona junto à cabeça até X da sua frente; entrada na cama e aproximação ao móvel pela frente, com gavetas fechadas e uso sequencial se abrirem para E.",
      "route_note": "P4→closet pode seguir diretamente pela faixa E, sem contornar a cama. O ocupante do lado norte também acede por essa faixa. O ocupante do lado sul continua a contornar os pés para chegar ao closet; não há acesso através da cabeceira W.",
      "remove_or_relocate_from_R30": [
        "Caixa de cabeceira norte200mm e nichos integrados",
        "Ripado norte25mm, para obter600mmnominais acabados a norte; se mantido declarar575mm",
        "Apliques/tomadas da antiga cabeceira norte, para a nova cabeceira W"
      ],
      "enlargement_delta_W_m": 0.3,
      "enlargement_changes_if_delta_positive": [
        "FaçadeW,VE8 eP2deslocadas300mm; redes,soleiras,cobertura/estrutura/fundaçõesporrever.",
        "WCacompanhanovaparedeW; duche1900×900apenasreservadimensional; lavatóriona posiçãoatual.",
        "AQS,VMC,máquinas,pia,despensa mantidosnosbboxespublicados; faixanova300somentereservada.",
        "Pala/perímetroexteriorcarecemrevisãoparapreservarlarguradosdoiscarros."
      ],
      "id": "C2",
      "title": "Cama180 rodada e ampliação300mm paraW",
      "headboard_construction": "Volume125mm apenas no troço central de1900mm correspondente à cama. Fora desse troço, eventual ripado deve ficar dentro de25mm totais desde a parede W; não prolongar125mm atrás das mesas. As mesas começam25mmàfrente da parede civil e ficam rasantes a um painel25mm, sem sobreposição.",
      "footnote": "Faixas laterais compactas, nominais; o estudo não certifica acessibilidade. O corredor P4tem passagem útil800mmdeestudo, embora o acesso do closet tenha900mm.",
      "preserves_in_C2": [
        "P4 e P5, incluindo cassetes",
        "Bancos e interiores do closet",
        "Consola da parede E",
        "Lavatório da I.S. na posição atual",
        "VE7 na posição atual",
        "Todos os bboxes efetivos de máquinas, AQS, VMC, pia e despensa da lavandaria"
      ],
      "bathroom_adaptation": {
        "status": "Reserva dimensional, não escolha de louça/vidro nem projeto de redes",
        "WC": "Acompanha paredeW−300mm; mantém reserva total700mm, não produto escolhido.",
        "shower_nominal_mm": [
          1900,
          900
        ],
        "screen_study_fixed_width_mm": 1000,
        "screen_note": "Extensão do vidro fixo até à nova parede W, mantendo entrada900mmàdireita; não perfurar o bolso P5. Vidro/sistema/fixações por selecionar.",
        "basin": "Mantém1200×500na posição atual; não aumenta automaticamente o móvel.",
        "P5_and_pocket": "Bboxes e funcionamento preservados.",
        "WC_front_clear_mm": 1200,
        "WC_to_shower_mm": 250
      },
      "laundry_adaptation": {
        "status": "TODOS os equipamentos e móveis existentes preservados nos bboxes publicados. Faixa nova apenas como reserva de estudo.",
        "published_room_bbox": [
          0.25,
          5.85,
          3.85,
          8.5
        ],
        "expanded_room_bbox": [
          -0.05,
          5.85,
          3.85,
          8.5
        ],
        "new_reserved_strip_bbox": [
          -0.05,
          5.85,
          0.25,
          8.5
        ],
        "equipment_existing_grey": [
          {
            "id": "T01",
            "bbox": [
              0.37,
              6.06,
              0.97,
              6.695
            ],
            "height": 1.937,
            "front": "N",
            "left_gap": 0.12,
            "right_gap": 0.35,
            "rear_gap": 0.21,
            "front_reserve_bbox": [
              0.37,
              6.695,
              0.97,
              7.695
            ],
            "installation": "AQS proposta com admissão e descarga de ar conduzidas ao exterior; traçado, caudais, ruído, condensados, ligações e suporte por projeto AVAC. Não fechar em armário. Folgas A120/B350/C210 e topo65mm desenhadas como estudo a conferir no manual/modelo final."
          },
          {
            "id": "T02",
            "bbox": [
              1.32,
              5.85,
              2.045,
              6.42
            ],
            "height": 0.85,
            "bottom": 0.25,
            "front": "N",
            "front_reserve_bbox": [
              1.32,
              6.42,
              2.045,
              7.42
            ],
            "installation": "VMC rodada, em chassis próprio no piso; 1m livre à frente. Quatro condutas e condensados a rever; não fixar à cassete."
          }
        ],
        "machine_station_existing_grey": {
          "bbox": [
            2.09,
            5.85,
            3.35,
            6.55
          ],
          "width": 1.26,
          "depth": 0.7,
          "base": 0.4,
          "top": 1.3,
          "machine_body_width": 0.598,
          "machine_body_centres_x": [
            2.41,
            3.03
          ],
          "drawer_target_l": null,
          "condition": "Estrutura de suporte, retenção antiqueda, vibração, ligações e elevação a validar para os modelos efetivamente fornecidos. Não fabricar um simples móvel sob os aparelhos.",
          "occupied_bbox": [
            2.09,
            5.85,
            3.35,
            6.562
          ],
          "selected_models": [
            "WG54N2A0ES",
            "WQ46N2D0ES"
          ],
          "rear_service_reserve": 0.06,
          "closed_product_depths": [
            0.633,
            0.648
          ],
          "manufacturer_body_depths": [
            0.59,
            0.613
          ],
          "machine_base": 0.4,
          "support_strategy": "Duas bases originaisSiemensWZWP50W/WZDP40D400x600x570; confirmarE-Nr; sem caixa estrutural de carpintaria",
          "drawer_capacity_note": "Gavetas dos pedestais originais. Capacidade útil e curso por ficha do acessório; nenhum alvo volumétrico de carpintaria atribuído."
        },
        "upper_existing_grey": {
          "bbox": [
            2.09,
            5.85,
            3.35,
            6.2
          ],
          "bottom": 1.5,
          "height": 1.2,
          "front": "N",
          "use": "Roupa e lavagem; fundos e laterais próprios, separados dos alimentos",
          "left_filler": 0.02,
          "carcass_top": 2.68,
          "top_filler": 0.02,
          "body_widths_m": [
            0.62,
            0.62
          ]
        },
        "sink_existing_grey": {
          "bbox": [
            3.35,
            5.85,
            3.85,
            6.45
          ],
          "occupied_bbox": [
            3.35,
            5.85,
            3.85,
            6.463
          ],
          "action": "MANTER"
        },
        "pantry_existing_grey": {
          "columns": [
            {
              "id": "D01",
              "bbox": [
                0.27,
                8.05,
                0.8,
                8.5
              ],
              "height": 2.7,
              "plinth": 0.1,
              "leaf_count": 2,
              "max_leaf_width": 0.275,
              "shelf_levels": [
                0.118,
                0.478,
                0.838,
                1.198,
                1.558,
                1.918,
                2.278
              ],
              "carcass_top": 2.68,
              "carcass_height": 2.58,
              "top_filler": 0.02,
              "shelf_levels_are": "TOP"
            },
            {
              "id": "D02",
              "bbox": [
                0.8,
                8.05,
                1.35,
                8.5
              ],
              "height": 2.7,
              "plinth": 0.1,
              "leaf_count": 2,
              "max_leaf_width": 0.275,
              "shelf_levels": [
                0.118,
                0.478,
                0.838,
                1.198,
                1.558,
                1.918,
                2.278
              ],
              "carcass_top": 2.68,
              "carcass_height": 2.58,
              "top_filler": 0.02,
              "shelf_levels_are": "TOP"
            },
            {
              "id": "D03",
              "bbox": [
                1.35,
                8.05,
                1.95,
                8.5
              ],
              "height": 2.7,
              "plinth": 0.1,
              "leaf_count": 2,
              "max_leaf_width": 0.29999999999999993,
              "shelf_levels": [
                0.118,
                0.478,
                0.838,
                1.198,
                1.558,
                1.918,
                2.278
              ],
              "carcass_top": 2.68,
              "carcass_height": 2.58,
              "top_filler": 0.02,
              "shelf_levels_are": "TOP"
            },
            {
              "id": "D04",
              "bbox": [
                3.05,
                8.05,
                3.45,
                8.5
              ],
              "height": 2.7,
              "plinth": 0.1,
              "leaf_count": 2,
              "max_leaf_width": 0.20000000000000018,
              "shelf_levels": [
                0.118,
                0.478,
                0.838,
                1.198,
                1.558,
                1.918,
                2.278
              ],
              "carcass_top": 2.68,
              "carcass_height": 2.58,
              "top_filler": 0.02,
              "shelf_levels_are": "TOP"
            },
            {
              "id": "D05",
              "bbox": [
                3.45,
                8.05,
                3.83,
                8.5
              ],
              "height": 2.7,
              "plinth": 0.1,
              "leaf_count": 2,
              "max_leaf_width": 0.19999999999999996,
              "shelf_levels": [
                0.118,
                0.478,
                0.838,
                1.198,
                1.558,
                1.918,
                2.278
              ],
              "carcass_top": 2.68,
              "carcass_height": 2.58,
              "top_filler": 0.02,
              "shelf_levels_are": "TOP"
            }
          ],
          "base": {
            "bbox": [
              1.95,
              8.05,
              3.05,
              8.5
            ],
            "height": 1.5,
            "drawer_count": 6,
            "internal_drawer_target": [
              0.47,
              0.36
            ],
            "usable_heights": [
              0.3,
              0.38,
              0.42
            ]
          },
          "bridge": {
            "bbox": [
              1.95,
              8.05,
              3.05,
              8.5
            ],
            "bottom": 2.2,
            "height": 0.5,
            "body_count": 2,
            "carcass_height": 0.48,
            "carcass_top": 2.68,
            "top_filler": 0.02
          },
          "overall_front_m": 3.6,
          "tall_front_m": 2.46,
          "depth_m": 0.45,
          "net_shelf_surface_m2": 8.257632,
          "tall_geometric_l": 2232.74016,
          "bridge_geometric_l": 176.047056,
          "drawer_target_l": 372.2399999999999,
          "total_geometric_plus_drawer_l": 2781.0272159999995,
          "capacity_basis": "R24: frente3,60m inclui remates20+20mm; colunas2,46m. Topo dos corpos2680+remate20 até teto2700. Profundidade das prateleiras402mm; cotas dos níveis são superfícies superiores. Capacidade nominal antes de ferragens e embalagens.",
          "organization": [
            "D01: pequeno-almoço e cereais",
            "D02: arroz, massas e leguminosas",
            "D03: conservas, frascos e reservas",
            "D04: lanches e snacks",
            "D05: stock complementar/utensílios alimentares",
            "Seis gavetas sob a janela: pacotes, garrafas deitadas e reservas pesadas",
            "Ponte alta: uso ocasional; acesso com escadote, fora da circulação quando recolhido"
          ],
          "fillers": [
            {
              "id": "DL-REM",
              "bbox": [
                0.25,
                8.05,
                0.27,
                8.5
              ],
              "height": 2.7
            },
            {
              "id": "DR-REM",
              "bbox": [
                3.83,
                8.05,
                3.85,
                8.5
              ],
              "height": 2.7
            }
          ],
          "closed_clear_aisle_handles_m": 1.342,
          "drawer_open_aisle_handles_m": 0.942
        },
        "new_storage_assigned": false,
        "additional_capacity_promised": false,
        "external_door_P2_study_bbox": [
          -0.3,
          6.8,
          -0.05,
          7.7
        ],
        "limits": [
          "Não traduzirAQS/VMCnemmáquinas; manterbases/ligaçõesdereferência, paraauditoriacompletaposterior.",
          "PortaP2,cotasdesoleira,redes,condutas e relação com pala porreverantesdeobra.",
          "Faixa−.05.. .25nãoéumarmárionovo; não adicionarfrentes,litrosoucapacidadealimentar."
        ],
        "rejected_automatic_translation": {
          "AQS_shift_W300_bbox": [
            1.33,
            6.06,
            1.93,
            6.695
          ],
          "machine_overlap": {
            "X_mm": 180,
            "Y_mm": 502,
            "area_m2": 0.09036
          },
          "reason": "Deslocar só aAQS300mmparaWcruzaas máquinas; opção descartada nesta comparação."
        },
        "status_R36": "Coordenadas reemitidas na ordem adotada; faixaW300 reserva livre."
      },
      "version_scope": "Cama/volume originalmente auditados em C2v01. Para a cómoda C2v02, usar também Auditoria_Comoda_C2.json. Consola removida nesta versão.",
      "dresser_audit_source": "auditoria/Auditoria_Comoda_C2.json"
    },
    "preserves": [
      "P4 e cassete",
      "Passagem900do closet",
      "P5 closet/I.S.",
      "Bancos e interiores do closet",
      "VE7 no jardim",
      "Cores e linguagem de materiais",
      "R30 sem alterações"
    ],
    "limits": [
      "Colchão1800×2000 e frame1900×2100são hipóteses dimensionais; produto real por selecionar.",
      "As faixas laterais600são compactas e nominais; mesas usam-se pela frente, nunca pelo intervalo50àcama.",
      "P4→closet é direto; a pessoa do lado sul continua a contornar os pés.",
      "Ampliar paraW aumenta o comprimento aos pés, não a largura transversalY nem as faixas600.",
      "No ampliado, implantação, estrutura, cobertura, redes e terreno ainda por verificar.",
      "C2 duche1900×900éreserva de adaptação, não modelo escolhido.",
      "C2v02 substitui a consola por uma cómoda de2000×450×800. Com uma gaveta de350aberta sobram875aos pés; a coluna sul aberta cruza a reservaVE7em200×800 e deve fechar antes de aceder ao jardim.",
      "C1 não adota automaticamente esta cómoda: teria925mmfechada/575mmaberta.",
      "Fixações, construção da cómoda, curso real das ferragens e tolerâncias ainda por confirmar antes de fabrico."
    ],
    "fabrication_released": false,
    "publication_executed": false,
    "project_model_modified": false,
    "dresser_study": {
      "bbox": [
        3.4,
        0.3,
        3.85,
        2.3
      ],
      "width_along_Y_mm": 2000,
      "depth_X_mm": 450,
      "total_height_mm": 800,
      "top_oak_thickness_mm": 20,
      "feet_height_mm": 120,
      "feet_horizontal_setback_mm": 70,
      "carcass_bottom_mm": 120,
      "carcass_top_mm": 780,
      "drawer_count": 6,
      "drawer_arrangement": "2 columns x 3 rows",
      "drawer_stroke_assumption_mm": 350,
      "drawer_open_bbox": [
        3.05,
        0.3,
        3.4,
        2.3
      ],
      "drawer_internal_opening_before_hardware_mm": 973,
      "drawer_internal_opening_basis": "(2000 - 3 x18)/2; caixa/ferragens por confirmar",
      "finish": "Frentes brancas lacadas satinadas, tampo carvalho natural; cómoda independente, sem armário alto, ponte ou nicho. Puxador discreto tipo cava, a coordenar com a referência.",
      "mirror": {
        "wall": "E",
        "plane_x": 3.842,
        "centre_y": 1.3,
        "centre_height_m": 1.45,
        "diameter_mm": 850
      },
      "replaces": "Consola pequena da parede E apenas nesta alternativa C2; não coexistem.",
      "VE7_closed": "Reserva anterior livre com gavetas fechadas;150mm até à cómoda.",
      "VE7_south_column_open_intersection_mm": [
        200,
        800
      ],
      "VE7_open_note": "Gavetas da coluna sul, junto ao jardim, fechadas antes de usar a aproximação VE7. A coluna norte não cruza essa reserva. Uso sequencial; não alegar reserva permanentemente livre.",
      "hardware_selected": false,
      "fabrication_released": false
    },
    "version_history": [
      {
        "version": 1,
        "change": "Cama rodada180 e ampliação300; consola pequena mantida.",
        "archive": "arquivo_C2_v01"
      },
      {
        "version": 2,
        "change": "Consola pequena substituída por cómoda independente2m, seisgavetas, tampo20e espelhoØ850; resto do layout preservado."
      },
      {
        "version": 3,
        "change": "Adoção para desenvolvimento R32, sem alteração dos bboxes da v02."
      }
    ],
    "geometry_equal_to_R31_C2_v02": true
  },
  "areasR32": {
    "Q_S": 12.09,
    "Q_1": 12.390000000000015,
    "Q_2": 12.36000000000002,
    "IS_S": 4.617,
    "IS_C": 6.136000000000003,
    "LAV": 10.335,
    "ESC": 8.232,
    "SAL": 49.94530567100001,
    "ENTRY_HALL": 2.907149100799991,
    "DISTR": 5.74199999999999,
    "PAN": 1.2249999999999872,
    "HALL_ARM": 0.8400000000000034,
    "ARR_S": 0.42600000000000904,
    "ARR_N": 0.30000000000000426,
    "CLOSET_SU": 4.4955
  },
  "areasR32Basis": "Áreas digitais de polígonos acabados e projeções nominais; não medição certificada nem validação urbanística.",
  "historical_context_not_active_geometry_R27": {
    "walls": [
      {
        "id": "W18",
        "bbox": [
          0.25,
          3.65,
          2.55,
          3.8
        ],
        "height": 2.7,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "pé-direito definido na R5",
        "group": "interior",
        "material": "wall"
      },
      {
        "id": "W19",
        "bbox": [
          3.45,
          3.65,
          4.0,
          3.8
        ],
        "height": 2.7,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "pé-direito definido na R5",
        "group": "interior",
        "material": "wall"
      },
      {
        "id": "W29",
        "bbox": [
          3.25,
          2.05,
          3.85,
          2.25
        ],
        "height": 2.7,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "pé-direito definido na R5",
        "group": "interior",
        "material": "wall"
      },
      {
        "id": "W30",
        "bbox": [
          2.25,
          3.05,
          2.45,
          3.65
        ],
        "height": 2.7,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "pé-direito definido na R5",
        "group": "interior",
        "material": "wall"
      }
    ],
    "opening_P5": {
      "id": "P5",
      "category": "P",
      "bbox": [
        2.55,
        3.65,
        3.45,
        3.8
      ],
      "width": 0.9,
      "height": 2.1,
      "sill": 0.0,
      "head": 2.1,
      "orientation": "horizontal",
      "facade": null,
      "rooms": [
        "Quarto Suite",
        "I.S. Suite"
      ],
      "type": "Batente",
      "materialDescription": "Madeira interior",
      "notes": "Abre para fora da I.S.; folha e puxador afastados dos roupeiros e da outra porta.",
      "transparent": false,
      "frosted": false,
      "sliding": false,
      "frameMaterial": "oak",
      "exactPlan": true,
      "clearWidth": 0.8,
      "leafWidth": 0.82,
      "leafThickness": 0.04,
      "leafNominalHeight": 2.1,
      "frameAllowance": 0.05,
      "doorGeometry": {
        "bbox": [
          2.55,
          3.65,
          3.45,
          3.8
        ],
        "hinge": [
          2.58,
          3.65
        ],
        "openAngleDegrees": 270,
        "swingArcDegrees": [
          270,
          360
        ]
      }
    },
    "suite_wardrobes": [
      {
        "id": "R04",
        "bbox": [
          0.65,
          2.99,
          2.25,
          3.65
        ],
        "height": 2.7,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "R15 - embutido até ao teto falso; instrução do proprietário",
        "room": "Suíte norte",
        "face": "S",
        "slidingFront": true
      }
    ],
    "laundry_old_duplicates": {
      "proposal_laundry": {
        "machine_station": {
          "bbox": [
            2.09,
            5.85,
            3.35,
            6.55
          ],
          "width": 1.26,
          "depth": 0.7,
          "base": 0.4,
          "top": 1.3,
          "machine_body_width": 0.598,
          "machine_body_centres_x": [
            2.41,
            3.03
          ],
          "drawer_target_l": 133.10000000000002,
          "condition": "Estrutura de suporte, retenção antiqueda, vibração, ligações e elevação a validar para os modelos efetivamente fornecidos. Não fabricar um simples móvel sob os aparelhos.",
          "selected_models": [
            "WG54N2A0ES",
            "WQ46N2D0ES"
          ],
          "rear_service_reserve": 0.06,
          "closed_product_depths": [
            0.633,
            0.648
          ],
          "manufacturer_body_depths": [
            0.59,
            0.613
          ],
          "machine_base": 0.4,
          "occupied_bbox": [
            2.09,
            5.85,
            3.35,
            6.562
          ]
        },
        "sink_station": {
          "bbox": [
            3.35,
            5.85,
            3.85,
            6.45
          ],
          "height": 0.9,
          "use": "Pia500mm; detergentes em compartimento próprio sob a pia, sem alimentos"
        },
        "high_cabinet": {
          "bbox": [
            2.09,
            5.85,
            3.35,
            6.2
          ],
          "bottom": 1.5,
          "height": 1.2,
          "front": "N",
          "use": "Roupa e lavagem; fundos e laterais próprios, separados dos alimentos",
          "left_filler": 0.02,
          "carcass_top": 2.68,
          "top_filler": 0.02
        },
        "food_pantry": {
          "columns": [
            {
              "id": "D01",
              "bbox": [
                0.27,
                8.05,
                0.8,
                8.5
              ],
              "height": 2.7,
              "plinth": 0.1,
              "leaf_count": 2,
              "max_leaf_width": 0.275,
              "shelf_levels": [
                0.118,
                0.478,
                0.838,
                1.198,
                1.558,
                1.918,
                2.278
              ],
              "carcass_top": 2.68,
              "carcass_height": 2.58,
              "top_filler": 0.02,
              "shelf_levels_are": "TOP"
            },
            {
              "id": "D02",
              "bbox": [
                0.8,
                8.05,
                1.35,
                8.5
              ],
              "height": 2.7,
              "plinth": 0.1,
              "leaf_count": 2,
              "max_leaf_width": 0.275,
              "shelf_levels": [
                0.118,
                0.478,
                0.838,
                1.198,
                1.558,
                1.918,
                2.278
              ],
              "carcass_top": 2.68,
              "carcass_height": 2.58,
              "top_filler": 0.02,
              "shelf_levels_are": "TOP"
            },
            {
              "id": "D03",
              "bbox": [
                1.35,
                8.05,
                1.95,
                8.5
              ],
              "height": 2.7,
              "plinth": 0.1,
              "leaf_count": 2,
              "max_leaf_width": 0.29999999999999993,
              "shelf_levels": [
                0.118,
                0.478,
                0.838,
                1.198,
                1.558,
                1.918,
                2.278
              ],
              "carcass_top": 2.68,
              "carcass_height": 2.58,
              "top_filler": 0.02,
              "shelf_levels_are": "TOP"
            },
            {
              "id": "D04",
              "bbox": [
                3.05,
                8.05,
                3.45,
                8.5
              ],
              "height": 2.7,
              "plinth": 0.1,
              "leaf_count": 2,
              "max_leaf_width": 0.20000000000000018,
              "shelf_levels": [
                0.118,
                0.478,
                0.838,
                1.198,
                1.558,
                1.918,
                2.278
              ],
              "carcass_top": 2.68,
              "carcass_height": 2.58,
              "top_filler": 0.02,
              "shelf_levels_are": "TOP"
            },
            {
              "id": "D05",
              "bbox": [
                3.45,
                8.05,
                3.83,
                8.5
              ],
              "height": 2.7,
              "plinth": 0.1,
              "leaf_count": 2,
              "max_leaf_width": 0.19999999999999996,
              "shelf_levels": [
                0.118,
                0.478,
                0.838,
                1.198,
                1.558,
                1.918,
                2.278
              ],
              "carcass_top": 2.68,
              "carcass_height": 2.58,
              "top_filler": 0.02,
              "shelf_levels_are": "TOP"
            }
          ],
          "base": {
            "bbox": [
              1.95,
              8.05,
              3.05,
              8.5
            ],
            "height": 1.5,
            "drawer_count": 6,
            "internal_drawer_target": [
              0.47,
              0.36
            ],
            "usable_heights": [
              0.3,
              0.38,
              0.42
            ]
          },
          "bridge": {
            "bbox": [
              1.95,
              8.05,
              3.05,
              8.5
            ],
            "bottom": 2.2,
            "height": 0.5,
            "body_count": 2,
            "carcass_height": 0.48,
            "carcass_top": 2.68,
            "top_filler": 0.02
          },
          "overall_front_m": 3.6,
          "tall_front_m": 2.46,
          "depth_m": 0.45,
          "net_shelf_surface_m2": 8.257632,
          "tall_geometric_l": 2232.74016,
          "bridge_geometric_l": 176.047056,
          "drawer_target_l": 372.2399999999999,
          "total_geometric_plus_drawer_l": 2781.0272159999995,
          "capacity_basis": "R24: frente3,60m inclui remates20+20mm; colunas2,46m. Topo dos corpos2680+remate20 até teto2700. Profundidade das prateleiras402mm; cotas dos níveis são superfícies superiores. Capacidade nominal antes de ferragens e embalagens.",
          "organization": [
            "D01: pequeno-almoço e cereais",
            "D02: arroz, massas e leguminosas",
            "D03: conservas, frascos e reservas",
            "D04: lanches e snacks",
            "D05: stock complementar/utensílios alimentares",
            "Seis gavetas sob a janela: pacotes, garrafas deitadas e reservas pesadas",
            "Ponte alta: uso ocasional; acesso com escadote, fora da circulação quando recolhido"
          ],
          "fillers": [
            {
              "id": "DL-REM",
              "bbox": [
                0.25,
                8.05,
                0.27,
                8.5
              ],
              "height": 2.7
            },
            {
              "id": "DR-REM",
              "bbox": [
                3.83,
                8.05,
                3.85,
                8.5
              ],
              "height": 2.7
            }
          ],
          "closed_clear_aisle_handles_m": 1.342,
          "drawer_open_aisle_handles_m": 0.942
        },
        "hanging_rail": {
          "included": false
        },
        "folding_worktop": {
          "included": false
        }
      },
      "plantEquipment": [
        {
          "id": "T01",
          "bbox": [
            0.37,
            6.06,
            0.97,
            6.695
          ],
          "height": 1.937,
          "base": 0,
          "exactPlan": true,
          "heightStatus": "reserva volumétrica de equipamento R5",
          "name": "AQS bomba calor 250 L R290 (referência S2)",
          "serviceBBox": [
            0.37,
            6.695,
            0.97,
            7.695
          ],
          "bottom": 0.0,
          "front": "N"
        },
        {
          "id": "T02",
          "bbox": [
            1.32,
            5.85,
            2.045,
            6.42
          ],
          "height": 0.85,
          "base": 0,
          "exactPlan": true,
          "heightStatus": "reserva volumétrica de equipamento R5",
          "name": "VMC duplo fluxo Q350 (referência)",
          "serviceBBox": [
            1.32,
            6.42,
            2.045,
            7.42
          ],
          "bottom": 0.25,
          "front": "N"
        }
      ]
    },
    "laundry_verification": {
      "pass": true,
      "checks": [
        {
          "name": "machines inside room",
          "pass": true,
          "value": null
        },
        {
          "name": "machines / AQS no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "machines / VMC no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "machines / sink no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "machines / D01 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "machines / D02 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "machines / D03 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "machines / D04 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "machines / D05 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "machines / base no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "AQS inside room",
          "pass": true,
          "value": null
        },
        {
          "name": "AQS / VMC no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "AQS / sink no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "AQS / D01 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "AQS / D02 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "AQS / D03 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "AQS / D04 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "AQS / D05 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "AQS / base no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "VMC inside room",
          "pass": true,
          "value": null
        },
        {
          "name": "VMC / sink no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "VMC / D01 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "VMC / D02 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "VMC / D03 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "VMC / D04 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "VMC / D05 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "VMC / base no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "sink inside room",
          "pass": true,
          "value": null
        },
        {
          "name": "sink / D01 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "sink / D02 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "sink / D03 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "sink / D04 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "sink / D05 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "sink / base no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "D01 inside room",
          "pass": true,
          "value": null
        },
        {
          "name": "D01 / D02 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "D01 / D03 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "D01 / D04 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "D01 / D05 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "D01 / base no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "D02 inside room",
          "pass": true,
          "value": null
        },
        {
          "name": "D02 / D03 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "D02 / D04 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "D02 / D05 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "D02 / base no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "D03 inside room",
          "pass": true,
          "value": null
        },
        {
          "name": "D03 / D04 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "D03 / D05 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "D03 / base no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "D04 inside room",
          "pass": true,
          "value": null
        },
        {
          "name": "D04 / D05 no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "D04 / base no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "D05 inside room",
          "pass": true,
          "value": null
        },
        {
          "name": "D05 / base no solid overlap",
          "pass": true,
          "value": null
        },
        {
          "name": "base inside room",
          "pass": true,
          "value": null
        },
        {
          "name": "food front3.60m",
          "pass": true,
          "value": null
        },
        {
          "name": "AQS120mmleft",
          "pass": true,
          "value": null
        },
        {
          "name": "AQS350mmright",
          "pass": true,
          "value": null
        },
        {
          "name": "AQS210mmrear",
          "pass": true,
          "value": null
        },
        {
          "name": "VMC1mfront free of cabinets",
          "pass": true,
          "value": null
        },
        {
          "name": "AQS1mstudyfront free of cabinets",
          "pass": true,
          "value": null
        },
        {
          "name": "P2arc reserve clear solids",
          "pass": true,
          "value": null
        },
        {
          "name": "P2arc clear fooddoors",
          "pass": true,
          "value": null
        },
        {
          "name": "P6approach clear solids",
          "pass": true,
          "value": null
        },
        {
          "name": "P6pocket above IS return",
          "pass": true,
          "value": null
        },
        {
          "name": "P6pocket100mm before north wall",
          "pass": true,
          "value": null
        },
        {
          "name": "P6kitchen approach50mm before island",
          "pass": true,
          "value": null
        },
        {
          "name": "P6door500mm before fridge",
          "pass": true,
          "value": null
        },
        {
          "name": "1355mmclosed aisle",
          "pass": true,
          "value": null
        },
        {
          "name": "955mmdraweropen aisle",
          "pass": true,
          "value": null
        },
        {
          "name": "office1050mmpulled chair gap",
          "pass": true,
          "value": null
        },
        {
          "name": "office500mmdoorarc lateral gap",
          "pass": true,
          "value": null
        },
        {
          "name": "office no P7pocketfixings",
          "pass": true,
          "value": null
        },
        {
          "name": "office shelves clear P3 active width",
          "pass": true,
          "value": null
        }
      ],
      "scope": "Encaixe retangular nominal e reservas indicadas; não valida estrutura, redes, legislação, carga de prateleiras, estanqueidade ou manual do aparelho final."
    },
    "suite_proposal": {
      "revision": "R26 — proposta de cómoda coordenada",
      "status": "Proposta com conversão explícita1000mm deR03; sujeita a revisão do proprietário e confirmação de obra.",
      "units": "m; bbox=[x_min,y_min,x_max,y_max] em coordenadas CAD; altura em z; Three.js=[x,z,-y]",
      "source_files": [
        "output/modelo_3d_R21/scene_data.json",
        "output/correcoes_R21/Verificacao_R21.json"
      ],
      "style_reference": "C:/Users/neon/Downloads/FB_IMG_1793003686250.jpg",
      "room": {
        "id": "Q_S",
        "area_m2": 12.9,
        "nominal_inner_bbox": [
          0.25,
          0.0,
          3.85,
          3.65
        ],
        "ceiling_height": 2.7,
        "notes": [
          "O retangulo interior tem pequenos retornos W29/W30, por isso a area poligonal e 12,90 m2, nao 13,14 m2.",
          "Nao mudar paredes, portas, retorno W29 nem o vao envidracado VE7."
        ]
      },
      "preserved": {
        "bed": {
          "id": "BED_SUITE",
          "bbox": [
            0.25,
            0.75,
            2.25,
            2.35
          ],
          "length": 2.0,
          "width": 1.6,
          "height": 0.54,
          "head_side": "W"
        },
        "nightstands": [
          {
            "id": "NT01",
            "bbox": [
              0.25,
              0.35,
              0.65,
              0.75
            ],
            "height": 0.5
          },
          {
            "id": "NT02",
            "bbox": [
              0.25,
              2.35,
              0.65,
              2.75
            ],
            "height": 0.5
          }
        ],
        "wardrobes": [
          {
            "id": "R04",
            "bbox": [
              0.65,
              2.99,
              2.25,
              3.65
            ],
            "height": 2.7,
            "base": 0,
            "exactPlan": true,
            "heightStatus": "R15 - embutido até ao teto falso; instrução do proprietário",
            "room": "Suíte norte",
            "face": "S",
            "slidingFront": true
          }
        ],
        "wardrobe_total_linear_m": 2.65,
        "wardrobe_gross_body_m3": 4.5522,
        "openings": [
          {
            "id": "VE7",
            "bbox": [
              1.4,
              -0.25,
              3.2,
              0.0
            ],
            "width": 1.8,
            "height": 2.1,
            "type": "Correr envidracado; folha ativa este"
          },
          {
            "id": "P4",
            "bbox": [
              3.85,
              2.55,
              4.0,
              3.45
            ],
            "width": 0.9,
            "height": 2.1,
            "type": "Correr embutida",
            "pocket": [
              3.85,
              3.45,
              4.0,
              4.45
            ]
          },
          {
            "id": "P5",
            "bbox": [
              2.55,
              3.65,
              3.45,
              3.8
            ],
            "type": "Batente; abre da I.S. para suite",
            "hinge": [
              2.58,
              3.65
            ],
            "leaf_width": 0.82,
            "swing_degrees": [
              270,
              360
            ]
          }
        ]
      },
      "main_style_proposal": {
        "palette": [
          "marfim quente",
          "greige claro",
          "carvalho natural",
          "verde oliva acinzentado suave em pequenas areas"
        ],
        "bed": "Manter a cama de 160 x 200 cm e cabeceira estofada greige. Roupa de cama de linho marfim, duas almofadas oliva suave e manta lisa num tom lavado; sem repetir a cabeceira de madeira ou a manta de riscas do quarto do Francisco.",
        "nightstands": "Manter mesas de carvalho 40 x 40 cm. Candeeiros compactos opalinos ou luz de leitura discreta em bronze suave, sem ocupar a passagem.",
        "wardrobes": "R04 preservado1600mm, frente de correr marfim até teto2700. R03 completamente eliminado por pedido; a parede nascente recebe apenas a cómoda grande baixa.",
        "art": "Composicao botanica leve sobre a cabeceira, molduras finas em carvalho; sem novos paineis de parede que projetem sobre as circulacoes.",
        "lighting": "Luz quente de ambiente, 3000 K no nicho; luminaria de teto compacta com difusor textil claro, sem mudar cotas de teto.",
        "dresser": "R26v03: cómoda grande2000x450x800, seis gavetas; R03 eliminado por completo por pedido do proprietário. R04 de1600mm permanece."
      },
      "optional_niche_without_losing_wardrobe": {
        "id": "SUITE-NICHO-R23",
        "adoption": "Nicho decorativo junto a R04 preservado. R04 não é reduzido; R03 é retirado por pedido independente do proprietário, substituído pela cómoda grandev03.",
        "existing_free_strip_bbox": [
          0.25,
          2.99,
          0.65,
          3.65
        ],
        "outer_bbox": [
          0.3,
          2.99,
          0.65,
          3.65
        ],
        "width": 0.35,
        "outer_depth": 0.66,
        "usable_display_depth": 0.25,
        "height": 2.7,
        "base": 0.0,
        "front": "S",
        "panel_thickness": 0.018,
        "nominal_internal_width": 0.314,
        "shelf_heights_bottom": [
          0.85,
          1.25,
          1.65,
          2.05,
          2.45
        ],
        "shelf_thickness": 0.025,
        "finish": "Carvalho natural no interior, ilharga clara, LED oculto quente com difusor.",
        "construction_note": "Frente alinhada a R04 em Y=2,99 m; um falso costado limita o nicho util a 25 cm, sem fazer publicidade ao volume vazio posterior. Apoio e fixacoes a compatibilizar. Filler de 5 cm para a parede oeste.",
        "use_note": "Nicho de decoracao e objetos leves, com acesso lateral; a mesa NT02 limita a aproximacao frontal. Sem portas, gavetas ou cestos extraiveis que exijam mais profundidade de utilizacao. Nao contar como armazenamento principal de roupa.",
        "clearance_to_nightstand_north_edge": 0.24,
        "wardrobe_capacity_loss_m": 0.0,
        "invariant_min_bed_to_north_front": 0.64
      },
      "optional_small_mirror_only": {
        "adoption": "Opcional; um espelho permite aproveitar uma ideia da referencia sem acrescentar uma comoda. Nao faz parte da proposta base de mobiliario.",
        "wall": "Pano sul macico antes de VE7, x0,25..1,40; espelho no segmento x0,80..1,30.",
        "mirror": {
          "shape": "round",
          "diameter": 0.5,
          "centre_CAD": [
            1.05,
            0.0
          ],
          "centre_height": 1.45,
          "bottom": 1.2,
          "top": 1.7,
          "max_projection": 0.025,
          "frame": "Fino bronze escuro ou preto suave"
        },
        "no_floor_furniture": true,
        "note": "Um eventual apoio muito raso de 60 x 12 cm poderia ser estudado a H85, mas reduziria localmente a folga lateral sul de 75 para 63 cm. Por isso esse apoio nao e recomendado na versao principal."
      },
      "measured_clearances": {
        "bed_foot_to_R03_m": 1.0,
        "bed_north_side_to_R04_front_m": 0.64,
        "bed_south_side_to_south_wall_m": 0.75,
        "P4_approach_west_bbox": [
          2.75,
          2.5,
          3.85,
          3.5
        ],
        "P5_approach_pull_bbox": [
          2.5,
          2.25,
          3.7,
          3.65
        ],
        "VE7_active_inside_approach_bbox": [
          2.25,
          0.0,
          3.25,
          1.1
        ],
        "global_accessibility_certification": false
      },
      "suggested_render_cameras": [
        {
          "id": "suite_ambiente",
          "eye_Three": [
            3.0,
            1.62,
            -2.9
          ],
          "at_Three": [
            1.4,
            1.1,
            -1.5
          ],
          "fov": 68,
          "show": "Cama/cabeceira, jardim a esquerda na perspetiva e materiais; manter layout R21."
        },
        {
          "id": "suite_roupeiros_nicho",
          "eye_Three": [
            2.75,
            1.55,
            -0.45
          ],
          "at_Three": [
            1.4,
            1.3,
            -3.25
          ],
          "fov": 65,
          "show": "Roupeiro norte R04 e nicho opcional no extremo oeste, cama em primeiro plano e roupeiro nascente R03 no lado direito. Janela VE7 atras da camara, nao inventar janela na parede norte."
        }
      ],
      "checks": [
        {
          "name": "Cama e mesas preservadas",
          "pass": true
        },
        {
          "name": "R03 e R04 ate270cm e de correr",
          "pass": true
        },
        {
          "name": "Nicho dentro da faixa livre de40cm a oeste de R04",
          "pass": true
        },
        {
          "name": "Nicho nao interseta cama, mesas, roupeiros ou paredes",
          "pass": true
        },
        {
          "name": "Nicho nao interseta reservas P4/P5/VE7",
          "pass": true
        },
        {
          "name": "Nicho preserva 100/64/75cm junto a cama",
          "pass": true
        },
        {
          "name": "Nicho sem gavetas/portas; acesso decorativo lateral explicitado",
          "pass": true
        },
        {
          "name": "Nenhuma comoda profunda acrescentada",
          "pass": true
        }
      ],
      "limitations": "Estudo de interiores e implantacao nominal. Confirmar suportes, ferragens, materiais, cargas, tomadas e cotas reais antes de executar. Nao constitui certificacao global de acessibilidade ou ordem de fabrico.",
      "owner_requirement_R25": {
        "reference_id": "REF-SU-001",
        "confirmed": "2026-10-27",
        "description": "Cómoda branca, tampo de madeira e espelho redondo; referência confirmada e preservada.",
        "overrides": "As antigas exclusões de cómoda passam a ser histórico de uma versão anterior, não decisão atual do proprietário.",
        "status": "Localização, dimensões, imagem do projeto e compatibilização comR03/R04/passagens pendentes; não retirar requisitos nem roupeiros silenciosamente."
      },
      "dresser_R26": {
        "id": "SU-COM-001",
        "bbox": [
          3.4,
          0.1,
          3.85,
          2.1
        ],
        "face": "W",
        "height": 0.8,
        "base": 0,
        "topThickness": 0.02,
        "finish": "Lacado branco acetinado e tampo carvalho natural20mm",
        "drawers": 6,
        "drawerExtension": 0.35,
        "mirror": {
          "shape": "circle",
          "diameter": 0.85,
          "centreCAD": [
            3.835,
            1.1
          ],
          "centreHeight": 1.45
        },
        "proposal": true,
        "tradeoff": "R03 eliminado por completo por instrução expressa do proprietário. Cómoda grande2000mm substitui todo o antigo conjunto nesta parede. R04 mantém1600mm de roupeiro alto; antes existiam3650mm altos. Não há armário alto ao lado nem por cima da cómoda.",
        "clearances_mm": {
          "closed_to_bed_foot": 1150,
          "drawer_open_to_bed_foot": 800,
          "south_wall_curtain_reserve": 100,
          "to_P4_opening_start": 450
        },
        "fabrication_released": false,
        "design": "Cómoda grande independente2000x450x800, seis gavetas em duas colunas e três filas, pés recuados120; armário embutido R03 totalmente eliminado por pedido do proprietário",
        "drawerColumns": 2,
        "drawerRows": 3,
        "status": "Alteração solicitada pelo proprietário; dimensões e ferragens por fechar para fabrico"
      },
      "dresser": "R26v03: retirar todoR03 e substituir por cómoda grande2000x450x800, seis gavetas. R04 permanece; sem armários altos nesta parede."
    },
    "R26_order": {
      "utility_row": "Canto oeste: AQS, VMC, máquinas elevadas, pia adjacente",
      "food_preserved": true,
      "actual_AVAC_installation_pending": true
    },
    "bathrooms_R27": {
      "status": "Estudo de implantação para apreciação, não alteração executada de redes nem ordem de fabrico",
      "selected": {
        "IS_C": "CO-A",
        "IS_S": "SU-B"
      },
      "alternatives": {
        "IS_C": [
          {
            "id": "CO-A",
            "name": "Manter R26, já cumpre a intenção de aproximação",
            "wc_bbox_m": [
              12.48,
              7.16,
              13.18,
              7.54
            ],
            "basin_bbox_m": [
              11.1,
              5.55,
              11.5,
              6.15
            ],
            "selected": true,
            "reason": "WC já160mm do duche, lavatório na parede oposta/esquerda, afastado1550mm do duche. Manter barras, porta para dentro e aproximação inferior."
          },
          {
            "id": "CO-B",
            "name": "WC80mm mais perto do poliban",
            "wc_bbox_m": [
              12.48,
              7.24,
              13.18,
              7.62
            ],
            "basin_bbox_m": [
              11.1,
              5.55,
              11.5,
              6.15
            ],
            "selected": false,
            "reason": "Reduz a folga entre caixa da sanita e base do duche de160 para80mm, estreita o lado junto ao vidro/barra e não melhora a distribuição. Não adotar."
          }
        ],
        "IS_S": [
          {
            "id": "SU-A",
            "name": "Troca na parede norte",
            "wc_bbox_m": [
              1.85,
              4.98,
              2.23,
              5.68
            ],
            "basin_bbox_m": [
              2.8,
              5.18,
              3.6,
              5.68
            ],
            "basin_face": "S",
            "selected": false,
            "reason": "Aproxima WC do duche com lavatório ainda na mesma parede; redes na parede norte mais concentradas, mas separa menos visualmente as funções."
          },
          {
            "id": "SU-B",
            "name": "WC junto ao duche e lavatório na parede nascente",
            "wc_bbox_m": [
              1.85,
              4.98,
              2.23,
              5.68
            ],
            "basin_bbox_m": [
              3.35,
              4.6,
              3.85,
              5.4
            ],
            "basin_face": "W",
            "selected": true,
            "reason": "Separa as funções em paredes distintas, coloca o WC junto ao poliban e deixa a entrada e abertura do duche livres. Sujeito a confirmação de canalizações e aprovação do estudo."
          }
        ]
      },
      "metrics_mm": {
        "IS_S": {
          "room_width_mm": 3600,
          "room_depth_mm": 1880,
          "area_m2": 6.768,
          "wc_to_shower_base_mm": 400.0,
          "wc_to_screen_plane_mm": 420.0,
          "basin_to_shower_base_mm": 1900.0,
          "basin_to_wc_nearest_mm": 1120.0,
          "door_swept_leaf_to_basin_mm": 925.0,
          "door_swept_leaf_to_wc_mm": 1350.3,
          "wc_front_to_south_wall_mm": 1180,
          "basin_front_to_shower_edge_mm": 1900,
          "basin_use_zone_to_shower_edge_mm": 1100,
          "basin_south_end_to_entry_wall_mm": 800,
          "shower_opening_mm": 900,
          "wc_axis_to_shower_base_mm": 590,
          "basin_wall_mount_to_P4_pocket_end_mm": 150.0
        },
        "IS_C": {
          "room_width_mm": 2080,
          "room_depth_mm": 2950,
          "area_m2": 6.136,
          "wc_to_shower_base_mm": 160.0,
          "wc_to_screen_plane_mm": 180.0,
          "basin_to_shower_base_mm": 1550.0,
          "basin_to_wc_nearest_mm": 1407.3,
          "door_swept_leaf_to_basin_mm": 755.3,
          "door_swept_leaf_to_wc_mm": 795.0
        }
      },
      "execution_pending": [
        "A casseteP4 ocupaX3850..4000/Y3450..4450. Nenhuma tubagem, fixação ou furação nessa faixa; lavatório começaY4600, com150mm de reserva. Confirmar espessuras e reforços com o sistema de porta escolhido.",
        "Compatibilizar saídas de esgoto, ramais de água e reservatório da sanita da suíte com o projeto de redes. A nova posição não está aprovada para instalação.",
        "Selecionar louças, válvulas/sifões e sistemas de fixação; o envelope geométrico não é gabarito do fabricante.",
        "Conferir impermeabilização, reforços de parede, revestimentos acabados, ângulos e dimensões reais.",
        "Verificar folgas de utilização, barras e acesso com utilizadores/instalador. Não declarar conformidade de acessibilidade a partir desta geometria."
      ],
      "fabrication_released": false
    }
  },
  "fabrication_released": false,
  "publication_executed": false,
  "development_adopted": true,
  "data_contract": {
    "current_global_geometry": "walls/openings/floors/furniture/bodyBBox/canopy/roofFinish",
    "suite_geometry": "adopted_suite_C2.proposal é cópia coordenada; não renderizar também se já se desenharem os objetos globais",
    "closet_ids": [
      "CLB01",
      "CLB02",
      "CLB03"
    ],
    "laundry_authority": "proposal.study.laundry, ordem AQS→VMC→máquinas→pia adotada R36; proposal.laundry é alias sincronizado. Não restaurar congelamento anterior R27/R32.",
    "historical": "historical_context_not_active_geometry_R27 não é geometria ativa",
    "units": "metres; joinery details mm as labelled",
    "status": "Adotado para desenvolvimento; não fabrico, obra, levantamento ou licença"
  },
  "source_R33": {
    "revision": "R32",
    "path": "output\\R32_C2_Consolidada\\Dados_Coordenados_R32.json",
    "sha256": "77eea6a47488cbaf29d24b82174b188c0c6a8d6aedddf9410623268b8f1e9da8",
    "R32_unchanged": true
  },
  "visual_study_R33": {
    "status": "Geometria HC01/HM01 e bicolor adotados R36; acabamentos dos dois banhos confirmados; restantes estudos não adotados.",
    "hall_study_id": "EST-HALL-001",
    "hall_selected_display_variant": "AC-HALL-BI",
    "all_white_alternative_preserved": true,
    "selected_bathrooms": [
      "IS_S",
      "IS_C"
    ],
    "general_ceramic_hex": "#C4B5A2",
    "shower_ceramic_hex": "#B9A58D",
    "wood_finish": "Carvalho claro natural, grão fino discreto",
    "screen_profiles": "Preto mate",
    "mirrors": "Circulares com retroiluminação3000K de estudo",
    "geometry_scope": "ImplantaçãoC2, vãos, barras e louças preservados; só HC01/HM01 e acabamentos propostos.",
    "fabrication_released": false,
    "publication_executed": false
  },
  "lightingStudyR33": {
    "schema": "obras-casa/functional-lighting-controls/1",
    "revision": "R36_FUNCIONAL",
    "title": "Mapa funcional de comandos de iluminação - toda a casa e exterior",
    "status": "Proposta de posições e funções; não projeto elétrico de execução",
    "source_global": "output/R32_C2_Consolidada/Dados_Coordenados_R32.json",
    "source_global_sha256": "77eea6a47488cbaf29d24b82174b188c0c6a8d6aedddf9410623268b8f1e9da8",
    "coordinate_system": "CAD x,y e altura z sobre pavimento acabado; metros nas coordenadas, mm no quadro. Norte da planta=+y.",
    "R32_modified": false,
    "ergonomics": {
      "default_centre_height_mm": 1100,
      "default_status": "proposta ergonómica, não requisito legal",
      "exceptions": {
        "kitchen": 1050,
        "suite_bedside": 850,
        "children_bedside": 800
      },
      "plate_envelope_mm": [
        80,
        80
      ],
      "plate_status": "reserva visual de estudo; série, caixas e número real de teclas por selecionar",
      "all_heights_to_confirm_on_site": true
    },
    "groups": [
      {
        "id": "G-HA-01",
        "space": "Hall",
        "title": "Luz geral do hall",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / ENTRY_HALL",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-HA-02",
        "space": "Hall",
        "title": "Espelho LED",
        "status": "Espelho HM01LED adotado para desenvolverR36; produto, alimentação, potência e circuito por selecionar",
        "reference": "Proposta de espelho do hall R33",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "adopted_for_development": true,
        "active_functional_target_R36": true,
        "installation_executed": false
      },
      {
        "id": "G-HA-03",
        "space": "Hall",
        "title": "LED sob consola",
        "status": "Reserva de LED sob consola, não adotada na decisãoR36; sem comando ativo ou instalação",
        "reference": "Proposta de consola do hall R33",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "adopted_for_development": false,
        "active_functional_target_R36": false,
        "installation_executed": false
      },
      {
        "id": "G-SA-01",
        "space": "Sala",
        "title": "Luz geral de estar",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / SAL",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-SA-02",
        "space": "Jantar",
        "title": "Suspensão sobre a mesa",
        "status": "preservar proposta de luminária existente",
        "reference": "R32 / diningPendant",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-SA-03",
        "space": "Sala",
        "title": "LED da prateleira TV",
        "status": "preservar pormenor existente",
        "reference": "R32 / TV03; R27 / TV03-LED",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-SA-04",
        "space": "Sala",
        "title": "LED cristaleira/garrafeira",
        "status": "preservar pormenor existente",
        "reference": "R32 / ARM-SALA-R20; R27 / CR02-LED",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-CO-01",
        "space": "Cozinha",
        "title": "Luz geral de cozinha",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / SAL, zona COZ",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-CO-02",
        "space": "Cozinha",
        "title": "LED da bancada/janela",
        "status": "preservar pormenor existente",
        "reference": "R27 / LC1, ponte superior",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-CO-03",
        "space": "Cozinha",
        "title": "Pendentes sobre a ilha",
        "status": "preservar proposta visual existente",
        "reference": "R27 / vistas da cozinha",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-CO-04",
        "space": "Cozinha",
        "title": "LED ilha e nichos",
        "status": "preservar pormenores existentes, agrupamento proposto",
        "reference": "R27 / LC3 e LC2-1/2/3",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-LA-01",
        "space": "Lavandaria",
        "title": "Luz geral da lavandaria",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / LAV",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-LA-02",
        "space": "Lavandaria",
        "title": "LED dos superiores de trabalho",
        "status": "preservar pormenor existente",
        "reference": "R27 / LED-LS; sem transportar cotas antigas para outro móvel",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-LA-03",
        "space": "Despensa",
        "title": "LED da ponte da despensa",
        "status": "preservar pormenor existente",
        "reference": "R27 / LED-DP; móveis mantidos R32",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-DI-01",
        "space": "Distribuição",
        "title": "Luz geral de circulação",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / DISTR",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-ES-01",
        "space": "Escritório",
        "title": "Luz geral do escritório",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / ESC",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-ES-02",
        "space": "Escritório",
        "title": "LED dos dois postos",
        "status": "preservar pormenor existente",
        "reference": "R27 / LED-OFFICE_SHELF_1 a 4",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-ES-03",
        "space": "Escritório",
        "title": "LED das prateleiras de livros",
        "status": "preservar pormenor existente",
        "reference": "R27 / LED-ESC-PR01 a PR06",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-SU-01",
        "space": "Suíte",
        "title": "Luz geral do quarto",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / Q_S",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-SU-02",
        "space": "Suíte",
        "title": "Leitura junto à mesa sul",
        "status": "preservar apliques da proposta visual C2",
        "reference": "R31/R32 / SU-C2-VG-001, lado sul",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-SU-03",
        "space": "Suíte",
        "title": "Leitura junto à mesa norte",
        "status": "preservar apliques da proposta visual C2",
        "reference": "R31/R32 / SU-C2-VG-001, lado norte",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-CL-01",
        "space": "Closet",
        "title": "Luz geral do closet",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / CLOSET_SU",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-CL-02",
        "space": "Closet",
        "title": "LED dos dois bancos",
        "status": "preservar proposta visual C2",
        "reference": "R32 / SU-C2-CL-IN-001 e CL-AC-001",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-BS-01",
        "space": "Banho suíte",
        "title": "Luz geral/duche",
        "status": "grupo funcional da iluminação geral; posições por projeto",
        "reference": "R32 / IS_S, linha de interiores confirmada R33",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-BS-02",
        "space": "Banho suíte",
        "title": "Espelho LED independente",
        "status": "proposta de interiores confirmada R33; produto por selecionar",
        "reference": "Decisão do proprietário: nova linha nas duas I.S.",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-BC-01",
        "space": "Banho comum",
        "title": "Luz geral/duche",
        "status": "grupo funcional da iluminação geral; posições por projeto",
        "reference": "R32 / IS_C, linha de interiores confirmada R33",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-BC-02",
        "space": "Banho comum",
        "title": "Espelho LED independente",
        "status": "proposta de interiores confirmada R33; produto por selecionar",
        "reference": "Decisão do proprietário: nova linha nas duas I.S.",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-MA-01",
        "space": "Matilde",
        "title": "Luz geral do quarto",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / Q_1",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-MA-02",
        "space": "Matilde",
        "title": "Leitura junto à mesa sul",
        "status": "separação funcional proposta das luzes de cabeceira",
        "reference": "R32 / NT03; luminária/comando por confirmar",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-MA-03",
        "space": "Matilde",
        "title": "Leitura junto à mesa norte",
        "status": "separação funcional proposta das luzes de cabeceira",
        "reference": "R32 / NT04; luminária/comando por confirmar",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-FR-01",
        "space": "Francisco",
        "title": "Luz geral do quarto",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / Q_2",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-FR-02",
        "space": "Francisco",
        "title": "Leitura junto à mesa sul",
        "status": "separação funcional proposta das luzes de cabeceira",
        "reference": "R32 / NT05; luminária/comando por confirmar",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-FR-03",
        "space": "Francisco",
        "title": "Leitura junto à mesa norte",
        "status": "separação funcional proposta das luzes de cabeceira",
        "reference": "R32 / NT06; luminária/comando por confirmar",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-EX-01",
        "space": "Entrada exterior",
        "title": "Luz de entrada/pala pequena",
        "status": "grupo funcional da iluminação exterior representada",
        "reference": "R32 / ENTRY_CANOPY; luminárias por selecionar",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-EX-02",
        "space": "Pala carros",
        "title": "Luz da pala dos carros",
        "status": "grupo funcional da iluminação exterior representada",
        "reference": "R32 / CARPORT",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-EX-03",
        "space": "Jardim",
        "title": "LED linear da pala do jardim",
        "status": "preservar proposta expressa do proprietário",
        "reference": "R32 / lightingStudy.gardenCanopy",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      },
      {
        "id": "G-EX-04",
        "space": "Exterior",
        "title": "Iluminação dos percursos/muro",
        "status": "preservar intenção visual; pontos por compatibilizar com terreno",
        "reference": "R27 / EX-001, EX-002; sem novas cotas de terreno",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false
      }
    ],
    "stations": [
      {
        "number": 1,
        "id": "S-HA-01",
        "space": "Hall",
        "centre_CAD_m": [
          8.9,
          8.5,
          1.1
        ],
        "centre_CAD_mm": [
          8900,
          8500,
          1100
        ],
        "support_wall_id": "W11",
        "finished_face": "S",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "Pano norte, a oeste de P1; ao entrar pelo lado livre da folha.",
        "keys": [
          {
            "key": 1,
            "label": "Hall",
            "targets": [
              "G-HA-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Espelho",
            "targets": [
              "G-HA-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Chegar",
            "targets": [
              "SC-CHEGAR"
            ],
            "action": "ativar cena proposta",
            "long_press_required": false
          },
          {
            "key": 4,
            "label": "Sair",
            "targets": [
              "SC-SAIR"
            ],
            "action": "ativar cena proposta",
            "long_press_required": false
          }
        ],
        "note": "Fora de R05 e do espelho/consola. Tecla2 fica reservada se os dois LED do hall não forem adotados.",
        "label_offset_on_plan_mm": [
          -8,
          8
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            8.860000000000001,
            8.5,
            8.94,
            8.75
          ],
          "plate_projected_bbox_CAD_m": [
            8.860000000000001,
            8.488,
            8.94,
            8.5
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 4783
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        "note_R36": "Tecla2 controla somente o espelhoHM01LED adotado para desenvolverR36. G-HA-03 continua reserva não adotada e não é ativado por esta tecla. Restantes teclas, posição e placa mantidas."
      },
      {
        "number": 2,
        "id": "S-SA-01",
        "space": "Sala",
        "centre_CAD_m": [
          4.0,
          2.25,
          1.1
        ],
        "centre_CAD_mm": [
          4000,
          2250,
          1100
        ],
        "support_wall_id": "W16",
        "finished_face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "Parede da suíte, face da sala, abaixo de P4.",
        "keys": [
          {
            "key": 1,
            "label": "Estar",
            "targets": [
              "G-SA-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Jantar",
            "targets": [
              "G-SA-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "TV",
            "targets": [
              "G-SA-03"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 4,
            "label": "Cristaleira",
            "targets": [
              "G-SA-04"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "note": "Sem fixar na cassete P4 nem no aparador.",
        "label_offset_on_plan_mm": [
          8,
          -7
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            3.85,
            2.21,
            4.0,
            2.29
          ],
          "plate_projected_bbox_CAD_m": [
            4.0,
            2.21,
            4.012,
            2.29
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P4",
            "distance_mm": 1160
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      },
      {
        "number": 3,
        "id": "S-CO-01",
        "space": "Cozinha",
        "centre_CAD_m": [
          8.5,
          7.75,
          1.05
        ],
        "centre_CAD_mm": [
          8500,
          7750,
          1050
        ],
        "support_wall_id": "W33",
        "finished_face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "Pano maciço entre o início da parede e a bancada, face da cozinha.",
        "keys": [
          {
            "key": 1,
            "label": "Geral",
            "targets": [
              "G-CO-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Bancada",
            "targets": [
              "G-CO-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Pendentes",
            "targets": [
              "G-CO-03"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 4,
            "label": "Ilha + nichos",
            "targets": [
              "G-CO-04"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "note": "Centro1050mm nesta posição; placa termina60mm abaixo da cota inferior do espelho no lado oposto. Não abrir roço sem compatibilizar o espelho e a carpintaria.",
        "label_offset_on_plan_mm": [
          -10,
          -8
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            8.5,
            7.71,
            8.65,
            7.79
          ],
          "plate_projected_bbox_CAD_m": [
            8.488,
            7.71,
            8.5,
            7.79
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 4132
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      },
      {
        "number": 4,
        "id": "S-LA-01",
        "space": "Lavandaria / acesso sala",
        "centre_CAD_m": [
          4.0,
          6.2,
          1.1
        ],
        "centre_CAD_mm": [
          4000,
          6200,
          1100
        ],
        "support_wall_id": "W20",
        "finished_face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "Do lado da sala, antes de entrar em P6, abaixo do vão.",
        "keys": [
          {
            "key": 1,
            "label": "Lavandaria",
            "targets": [
              "G-LA-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Trabalho",
            "targets": [
              "G-LA-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Despensa",
            "targets": [
              "G-LA-03"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "note": "A extremidade da cristaleira termina emY5.80; placa emY6.16..6.24, sem sobreposição.",
        "label_offset_on_plan_mm": [
          8,
          -5
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            3.85,
            6.16,
            4.0,
            6.24
          ],
          "plate_projected_bbox_CAD_m": [
            4.0,
            6.16,
            4.012,
            6.24
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P6",
            "distance_mm": 1160
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      },
      {
        "number": 5,
        "id": "S-LA-02",
        "space": "Lavandaria / P2",
        "centre_CAD_m": [
          -0.05,
          7.9,
          1.1
        ],
        "centre_CAD_mm": [
          -50,
          7900,
          1100
        ],
        "support_wall_id": "W03",
        "finished_face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "Pano a norte de P2, na faixa adicional da lavandaria.",
        "keys": [
          {
            "key": 1,
            "label": "Lavandaria",
            "targets": [
              "G-LA-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Trabalho",
            "targets": [
              "G-LA-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Despensa",
            "targets": [
              "G-LA-03"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "note": "Placa acaba110mm antes da frente da despensa; usar com a porta da primeira coluna fechada. Não desloca máquinas, AQS, VMC ou móveis.",
        "label_offset_on_plan_mm": [
          -10,
          5
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            -0.3,
            7.86,
            -0.04999999999999999,
            7.94
          ],
          "plate_projected_bbox_CAD_m": [
            -0.05,
            7.86,
            -0.038000000000000006,
            7.94
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P6",
            "distance_mm": 3900
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      },
      {
        "number": 6,
        "id": "S-DI-01",
        "space": "Distribuição / sala",
        "centre_CAD_m": [
          10.25,
          5.1,
          1.1
        ],
        "centre_CAD_mm": [
          10250,
          5100,
          1100
        ],
        "support_wall_id": "W24",
        "finished_face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "Do lado da sala, acima do vão P7.",
        "keys": [
          {
            "key": 1,
            "label": "Circulação",
            "targets": [
              "G-DI-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Percurso noite",
            "targets": [
              "SC-NOITE"
            ],
            "action": "ativar cena condicional",
            "long_press_required": false
          }
        ],
        "note": "Não usar a face da distribuição, ocupada pelo armário ARR_N.",
        "label_offset_on_plan_mm": [
          -9,
          -7
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            10.25,
            5.06,
            10.4,
            5.14
          ],
          "plate_projected_bbox_CAD_m": [
            10.238,
            5.06,
            10.25,
            5.14
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 1160
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      },
      {
        "number": 7,
        "id": "S-DI-02",
        "space": "Distribuição / quartos",
        "centre_CAD_m": [
          13.2,
          4.245,
          1.1
        ],
        "centre_CAD_mm": [
          13200,
          4245,
          1100
        ],
        "support_wall_id": "W37",
        "finished_face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "Pequeno pano entre P9 e P10, face da distribuição.",
        "keys": [
          {
            "key": 1,
            "label": "Circulação",
            "targets": [
              "G-DI-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Percurso noite",
            "targets": [
              "SC-NOITE"
            ],
            "action": "ativar cena condicional",
            "long_press_required": false
          }
        ],
        "note": "310mm entre vãos; placa80 deixa115mm nominais a cada lado.",
        "label_offset_on_plan_mm": [
          -9,
          -8
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            13.2,
            4.205,
            13.35,
            4.285
          ],
          "plate_projected_bbox_CAD_m": [
            13.187999999999999,
            4.205,
            13.2,
            4.285
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 2817
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      },
      {
        "number": 8,
        "id": "S-BC-01",
        "space": "Banho comum / lado seco",
        "centre_CAD_m": [
          12.03,
          5.4,
          1.1
        ],
        "centre_CAD_mm": [
          12030,
          5400,
          1100
        ],
        "support_wall_id": "W26",
        "finished_face": "S",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "Na distribuição, antes de P8, a oeste do aro.",
        "keys": [
          {
            "key": 1,
            "label": "Geral / duche",
            "targets": [
              "G-BC-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Espelho LED",
            "targets": [
              "G-BC-02"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "note": "Sem comando desenhado no interior húmido. Modo SC-BC-NOITE é opcional, condicionado ao espelho.",
        "label_offset_on_plan_mm": [
          -5,
          -8
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            11.99,
            5.4,
            12.069999999999999,
            5.55
          ],
          "plate_projected_bbox_CAD_m": [
            11.99,
            5.388000000000001,
            12.069999999999999,
            5.4
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 2186
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "a confirmar por projetista; posição no lado seco não é certificação"
        }
      },
      {
        "number": 9,
        "id": "S-ES-01",
        "space": "Escritório",
        "centre_CAD_m": [
          10.85,
          2.94,
          1.1
        ],
        "centre_CAD_mm": [
          10850,
          2940,
          1100
        ],
        "support_wall_id": "W40",
        "finished_face": "S",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "Pano norte a oeste de P11, do lado do escritório.",
        "keys": [
          {
            "key": 1,
            "label": "Geral",
            "targets": [
              "G-ES-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Dois postos",
            "targets": [
              "G-ES-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Livros",
            "targets": [
              "G-ES-03"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "note": "Fora do arco de P11 e além da extremidade das prateleiras; não montar atrás da estante.",
        "label_offset_on_plan_mm": [
          3,
          -7
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            10.81,
            2.94,
            10.889999999999999,
            3.09
          ],
          "plate_projected_bbox_CAD_m": [
            10.81,
            2.928,
            10.889999999999999,
            2.94
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 410
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      },
      {
        "number": 10,
        "id": "S-SU-01",
        "space": "Suíte / entrada",
        "centre_CAD_m": [
          3.85,
          2.425,
          1.1
        ],
        "centre_CAD_mm": [
          3850,
          2425,
          1100
        ],
        "support_wall_id": "W16",
        "finished_face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "Faixa entre a cómoda e a entrada P4, face do quarto.",
        "keys": [
          {
            "key": 1,
            "label": "Geral",
            "targets": [
              "G-SU-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Leitura ambas",
            "targets": [
              "G-SU-02",
              "G-SU-03"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Closet",
            "targets": [
              "G-CL-01",
              "G-CL-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 4,
            "label": "Quarto desligar",
            "targets": [
              "G-SU-01",
              "G-SU-02",
              "G-SU-03"
            ],
            "action": "desligar",
            "long_press_required": false
          }
        ],
        "note": "Faixa250mm: placa80 deixa85mm a cada extremo. Conferir aro e remate da cómoda.",
        "label_offset_on_plan_mm": [
          -9,
          -3
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            3.85,
            2.385,
            4.0,
            2.465
          ],
          "plate_projected_bbox_CAD_m": [
            3.838,
            2.385,
            3.85,
            2.465
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P4",
            "distance_mm": 985
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      },
      {
        "number": 11,
        "id": "S-SU-02",
        "space": "Suíte / cabeceira sul",
        "centre_CAD_m": [
          -0.025,
          0.325,
          0.85
        ],
        "centre_CAD_mm": [
          -25,
          325,
          850
        ],
        "support_wall_id": "W01",
        "finished_face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "No ripado fino sobre a mesinha sul, acessível da cama.",
        "keys": [
          {
            "key": 1,
            "label": "Leitura sul",
            "targets": [
              "G-SU-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Geral",
            "targets": [
              "G-SU-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Percurso noite",
            "targets": [
              "SC-NOITE"
            ],
            "action": "ativar cena condicional",
            "long_press_required": false
          }
        ],
        "note": "Centro250mm acima do tampo da mesa. Fixação apenas no suporte maciço, fora da cabeceira central espessa.",
        "label_offset_on_plan_mm": [
          -10,
          -5
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            -0.3,
            0.28500000000000003,
            -0.04999999999999999,
            0.365
          ],
          "plate_projected_bbox_CAD_m": [
            -0.025,
            0.28500000000000003,
            -0.013000000000000001,
            0.365
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P5",
            "distance_mm": 3454
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      },
      {
        "number": 12,
        "id": "S-SU-03",
        "space": "Suíte / cabeceira norte",
        "centre_CAD_m": [
          -0.025,
          2.775,
          0.85
        ],
        "centre_CAD_mm": [
          -25,
          2775,
          850
        ],
        "support_wall_id": "W01",
        "finished_face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "No ripado fino sobre a mesinha norte, acessível da cama.",
        "keys": [
          {
            "key": 1,
            "label": "Leitura norte",
            "targets": [
              "G-SU-03"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Geral",
            "targets": [
              "G-SU-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Percurso noite",
            "targets": [
              "SC-NOITE"
            ],
            "action": "ativar cena condicional",
            "long_press_required": false
          }
        ],
        "note": "Centro250mm acima do tampo; não transferir para a antiga cabeceira norte.",
        "label_offset_on_plan_mm": [
          -10,
          5
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            -0.3,
            2.735,
            -0.04999999999999999,
            2.815
          ],
          "plate_projected_bbox_CAD_m": [
            -0.025,
            2.735,
            -0.013000000000000001,
            2.815
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P5",
            "distance_mm": 1949
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      },
      {
        "number": 13,
        "id": "S-CL-01",
        "space": "Closet / entrada",
        "centre_CAD_m": [
          2.6,
          3.1,
          1.1
        ],
        "centre_CAD_mm": [
          2600,
          3100,
          1100
        ],
        "support_wall_id": "W_SU_N",
        "finished_face": "S",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "Na face do quarto, antes da passagem para o closet.",
        "keys": [
          {
            "key": 1,
            "label": "Geral closet",
            "targets": [
              "G-CL-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Bancos LED",
            "targets": [
              "G-CL-02"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "note": "Não colocar na frente do banco sul nem na cassete P5.",
        "label_offset_on_plan_mm": [
          -3,
          -8
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            2.56,
            3.1,
            2.64,
            3.25
          ],
          "plate_projected_bbox_CAD_m": [
            2.56,
            3.088,
            2.64,
            3.1
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P5",
            "distance_mm": 560
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      },
      {
        "number": 14,
        "id": "S-BS-01",
        "space": "Banho suíte / lado seco",
        "centre_CAD_m": [
          3.85,
          4.7,
          1.1
        ],
        "centre_CAD_mm": [
          3850,
          4700,
          1100
        ],
        "support_wall_id": "W20",
        "finished_face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "Parede leste do closet, antes de atravessar P5.",
        "keys": [
          {
            "key": 1,
            "label": "Geral / duche",
            "targets": [
              "G-BS-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Espelho LED",
            "targets": [
              "G-BS-02"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "note": "210mm entre bordo da placa e fim da cassete P4. O pano ao lado de P5 está ocupado pela cassete/banco; não o perfurar. SC-BS-NOITE condicionado ao produto.",
        "label_offset_on_plan_mm": [
          -10,
          2
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            3.85,
            4.66,
            4.0,
            4.74
          ],
          "plate_projected_bbox_CAD_m": [
            3.838,
            4.66,
            3.85,
            4.74
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P4",
            "distance_mm": 210
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "a confirmar por projetista; posição no lado seco não é certificação"
        }
      },
      {
        "number": 15,
        "id": "S-MA-01",
        "space": "Matilde / entrada",
        "centre_CAD_m": [
          13.35,
          5.45,
          1.1
        ],
        "centre_CAD_mm": [
          13350,
          5450,
          1100
        ],
        "support_wall_id": "W38",
        "finished_face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "No quarto, a norte de P9 e do lado oposto à dobradiça.",
        "keys": [
          {
            "key": 1,
            "label": "Geral",
            "targets": [
              "G-MA-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Leitura ambas",
            "targets": [
              "G-MA-02",
              "G-MA-03"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "note": "Fora do roupeiro R01; conferir aro na faixa curta.",
        "label_offset_on_plan_mm": [
          9,
          8
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            13.2,
            5.41,
            13.35,
            5.49
          ],
          "plate_projected_bbox_CAD_m": [
            13.35,
            5.41,
            13.362,
            5.49
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 3181
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      },
      {
        "number": 16,
        "id": "S-MA-02",
        "space": "Matilde / cabeceira sul",
        "centre_CAD_m": [
          16.35,
          5.9,
          0.8
        ],
        "centre_CAD_mm": [
          16350,
          5900,
          800
        ],
        "support_wall_id": "W15",
        "finished_face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "Sobre a mesa NT03 na parede da cabeceira.",
        "keys": [
          {
            "key": 1,
            "label": "Leitura sul",
            "targets": [
              "G-MA-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Geral",
            "targets": [
              "G-MA-01"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "note": "Centro300mm acima do tampo de estudo; posição final depende da cama/mesa reais.",
        "label_offset_on_plan_mm": [
          9,
          -5
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            16.35,
            5.86,
            16.6,
            5.94
          ],
          "plate_projected_bbox_CAD_m": [
            16.338,
            5.86,
            16.35,
            5.94
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 6265
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      },
      {
        "number": 17,
        "id": "S-MA-03",
        "space": "Matilde / cabeceira norte",
        "centre_CAD_m": [
          16.35,
          7.9,
          0.8
        ],
        "centre_CAD_mm": [
          16350,
          7900,
          800
        ],
        "support_wall_id": "W15",
        "finished_face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "Sobre a mesa NT04 na parede da cabeceira.",
        "keys": [
          {
            "key": 1,
            "label": "Leitura norte",
            "targets": [
              "G-MA-03"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Geral",
            "targets": [
              "G-MA-01"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "note": "Não usar a frente do roupeiro nem confundir com armário alto.",
        "label_offset_on_plan_mm": [
          9,
          5
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            16.35,
            7.86,
            16.6,
            7.94
          ],
          "plate_projected_bbox_CAD_m": [
            16.338,
            7.86,
            16.35,
            7.94
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 7147
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      },
      {
        "number": 18,
        "id": "S-FR-01",
        "space": "Francisco / entrada",
        "centre_CAD_m": [
          13.35,
          3.0,
          1.1
        ],
        "centre_CAD_mm": [
          13350,
          3000,
          1100
        ],
        "support_wall_id": "W36",
        "finished_face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "No quarto, a sul de P10 e do lado oposto à dobradiça.",
        "keys": [
          {
            "key": 1,
            "label": "Geral",
            "targets": [
              "G-FR-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Leitura ambas",
            "targets": [
              "G-FR-02",
              "G-FR-03"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "note": "Fora do roupeiro R02 e do arco da porta.",
        "label_offset_on_plan_mm": [
          9,
          6
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            13.2,
            2.96,
            13.35,
            3.04
          ],
          "plate_projected_bbox_CAD_m": [
            13.35,
            2.96,
            13.362,
            3.04
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 2800
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      },
      {
        "number": 19,
        "id": "S-FR-02",
        "space": "Francisco / cabeceira sul",
        "centre_CAD_m": [
          16.35,
          0.65,
          0.8
        ],
        "centre_CAD_mm": [
          16350,
          650,
          800
        ],
        "support_wall_id": "W15",
        "finished_face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "Sobre a mesa NT05 na parede da cabeceira.",
        "keys": [
          {
            "key": 1,
            "label": "Leitura sul",
            "targets": [
              "G-FR-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Geral",
            "targets": [
              "G-FR-01"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "note": "Centro300mm acima do tampo de estudo.",
        "label_offset_on_plan_mm": [
          9,
          -6
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            16.35,
            0.61,
            16.6,
            0.6900000000000001
          ],
          "plate_projected_bbox_CAD_m": [
            16.338,
            0.61,
            16.35,
            0.6900000000000001
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 6365
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      },
      {
        "number": 20,
        "id": "S-FR-03",
        "space": "Francisco / cabeceira norte",
        "centre_CAD_m": [
          16.35,
          2.65,
          0.8
        ],
        "centre_CAD_mm": [
          16350,
          2650,
          800
        ],
        "support_wall_id": "W15",
        "finished_face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "Sobre a mesa NT06 na parede da cabeceira.",
        "keys": [
          {
            "key": 1,
            "label": "Leitura norte",
            "targets": [
              "G-FR-03"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Geral",
            "targets": [
              "G-FR-01"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "note": "Centro300mm acima do tampo de estudo.",
        "label_offset_on_plan_mm": [
          9,
          5
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            16.35,
            2.61,
            16.6,
            2.69
          ],
          "plate_projected_bbox_CAD_m": [
            16.338,
            2.61,
            16.35,
            2.69
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 5956
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      },
      {
        "number": 21,
        "id": "S-EX-01",
        "space": "Pala carros / P2",
        "centre_CAD_m": [
          -0.3,
          6.55,
          1.1
        ],
        "centre_CAD_mm": [
          -300,
          6550,
          1100
        ],
        "support_wall_id": "W02",
        "finished_face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "Face exterior da parede, a sul de P2, sob a pala.",
        "keys": [
          {
            "key": 1,
            "label": "Pala carros",
            "targets": [
              "G-EX-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Percurso entrada",
            "targets": [
              "G-EX-01",
              "G-EX-04"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Exterior desligar",
            "targets": [
              "G-EX-01",
              "G-EX-02",
              "G-EX-03",
              "G-EX-04"
            ],
            "action": "desligar",
            "long_press_required": false
          }
        ],
        "note": "Produto e invólucro adequados à exposição, a selecionar pelo projetista; não fixar no ripado estrutural da pala.",
        "label_offset_on_plan_mm": [
          -11,
          -6
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            -0.3,
            6.51,
            -0.04999999999999999,
            6.59
          ],
          "plate_projected_bbox_CAD_m": [
            -0.312,
            6.51,
            -0.3,
            6.59
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P5",
            "distance_mm": 3030
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      },
      {
        "number": 22,
        "id": "S-EX-02",
        "space": "Jardim / acesso sala",
        "centre_CAD_m": [
          7.15,
          -0.25,
          1.1
        ],
        "centre_CAD_mm": [
          7150,
          -250,
          1100
        ],
        "support_wall_id": "W06",
        "finished_face": "S",
        "plate_envelope_mm": [
          80,
          80
        ],
        "projection_study_mm": 12,
        "position_status": "proposta ergonómica nominal; conferir em obra e com a série escolhida",
        "access": "Face exterior, a leste do vão da sala VE6.",
        "keys": [
          {
            "key": 1,
            "label": "Pala jardim",
            "targets": [
              "G-EX-03"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Percursos",
            "targets": [
              "G-EX-04"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Exterior desligar",
            "targets": [
              "G-EX-01",
              "G-EX-02",
              "G-EX-03",
              "G-EX-04"
            ],
            "action": "desligar",
            "long_press_required": false
          }
        ],
        "note": "Produto adequado ao exterior; coordenar com ripado/estanqueidade. Placa fica175mm aproximadamente depois do vão.",
        "label_offset_on_plan_mm": [
          0,
          -12
        ],
        "functions_are_lighting_only": true,
        "audit": {
          "plate_support_shadow_CAD_m": [
            7.11,
            -0.25,
            7.19,
            0.0
          ],
          "plate_projected_bbox_CAD_m": [
            7.11,
            -0.262,
            7.19,
            -0.25
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 4250
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      }
    ],
    "scenes": [
      {
        "id": "SC-CHEGAR",
        "title": "Chegar",
        "status": "proposta funcional",
        "targets": [
          "G-HA-01",
          "G-EX-01",
          "G-EX-02",
          "G-EX-04"
        ],
        "action": "Ligar os grupos de chegada escolhidos; temporização e condição de escuro só após validação.",
        "new_fixture_added": false
      },
      {
        "id": "SC-SAIR",
        "title": "Sair",
        "status": "proposta funcional",
        "targets": [
          "G-HA-01",
          "G-HA-02",
          "G-HA-03",
          "G-SA-01",
          "G-SA-02",
          "G-SA-03",
          "G-SA-04",
          "G-CO-01",
          "G-CO-02",
          "G-CO-03",
          "G-CO-04",
          "G-LA-01",
          "G-LA-02",
          "G-LA-03",
          "G-DI-01",
          "G-ES-01",
          "G-ES-02",
          "G-ES-03",
          "G-SU-01",
          "G-SU-02",
          "G-SU-03",
          "G-CL-01",
          "G-CL-02",
          "G-BS-01",
          "G-BS-02",
          "G-BC-01",
          "G-BC-02",
          "G-MA-01",
          "G-MA-02",
          "G-MA-03",
          "G-FR-01",
          "G-FR-02",
          "G-FR-03"
        ],
        "action": "Desligar apenas a iluminação interior incluída no cenário. Grupos opcionais só entram se adotados.",
        "new_fixture_added": false
      },
      {
        "id": "SC-NOITE",
        "title": "Percurso noturno",
        "status": "proposta condicional, não implementada",
        "targets": [
          "G-HA-01",
          "G-DI-01"
        ],
        "action": "Usar nível baixo, por exemplo10-15%, apenas se luminárias e controlo forem reguláveis. Sem confirmação de regulação, não prometer este modo.",
        "new_fixture_added": false
      },
      {
        "id": "SC-BS-NOITE",
        "title": "Banho suíte à noite",
        "status": "proposta condicional, não implementada",
        "targets": [
          "G-BS-02"
        ],
        "action": "Espelho em nível reduzido apenas se o produto permitir; luz geral/duche permanece independente. Nenhum balizador novo incluído.",
        "new_fixture_added": false
      },
      {
        "id": "SC-BC-NOITE",
        "title": "Banho comum à noite",
        "status": "proposta condicional, não implementada",
        "targets": [
          "G-BC-02"
        ],
        "action": "Espelho em nível reduzido apenas se o produto permitir; luz geral/duche permanece independente. Nenhum balizador novo incluído.",
        "new_fixture_added": false
      }
    ],
    "audit": {
      "pass": true,
      "station_count": 22,
      "group_count": 37,
      "checks": [
        {
          "id": "S-HA-01",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            8.860000000000001,
            8.5,
            8.94,
            8.75
          ],
          "plate_projected_bbox_CAD_m": [
            8.860000000000001,
            8.488,
            8.94,
            8.5
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 4783
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-SA-01",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            3.85,
            2.21,
            4.0,
            2.29
          ],
          "plate_projected_bbox_CAD_m": [
            4.0,
            2.21,
            4.012,
            2.29
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P4",
            "distance_mm": 1160
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-CO-01",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            8.5,
            7.71,
            8.65,
            7.79
          ],
          "plate_projected_bbox_CAD_m": [
            8.488,
            7.71,
            8.5,
            7.79
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 4132
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-LA-01",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            3.85,
            6.16,
            4.0,
            6.24
          ],
          "plate_projected_bbox_CAD_m": [
            4.0,
            6.16,
            4.012,
            6.24
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P6",
            "distance_mm": 1160
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-LA-02",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            -0.3,
            7.86,
            -0.04999999999999999,
            7.94
          ],
          "plate_projected_bbox_CAD_m": [
            -0.05,
            7.86,
            -0.038000000000000006,
            7.94
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P6",
            "distance_mm": 3900
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-DI-01",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            10.25,
            5.06,
            10.4,
            5.14
          ],
          "plate_projected_bbox_CAD_m": [
            10.238,
            5.06,
            10.25,
            5.14
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 1160
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-DI-02",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            13.2,
            4.205,
            13.35,
            4.285
          ],
          "plate_projected_bbox_CAD_m": [
            13.187999999999999,
            4.205,
            13.2,
            4.285
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 2817
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-BC-01",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            11.99,
            5.4,
            12.069999999999999,
            5.55
          ],
          "plate_projected_bbox_CAD_m": [
            11.99,
            5.388000000000001,
            12.069999999999999,
            5.4
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 2186
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "a confirmar por projetista; posição no lado seco não é certificação"
        },
        {
          "id": "S-ES-01",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            10.81,
            2.94,
            10.889999999999999,
            3.09
          ],
          "plate_projected_bbox_CAD_m": [
            10.81,
            2.928,
            10.889999999999999,
            2.94
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 410
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-SU-01",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            3.85,
            2.385,
            4.0,
            2.465
          ],
          "plate_projected_bbox_CAD_m": [
            3.838,
            2.385,
            3.85,
            2.465
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P4",
            "distance_mm": 985
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-SU-02",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            -0.3,
            0.28500000000000003,
            -0.04999999999999999,
            0.365
          ],
          "plate_projected_bbox_CAD_m": [
            -0.025,
            0.28500000000000003,
            -0.013000000000000001,
            0.365
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P5",
            "distance_mm": 3454
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-SU-03",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            -0.3,
            2.735,
            -0.04999999999999999,
            2.815
          ],
          "plate_projected_bbox_CAD_m": [
            -0.025,
            2.735,
            -0.013000000000000001,
            2.815
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P5",
            "distance_mm": 1949
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-CL-01",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            2.56,
            3.1,
            2.64,
            3.25
          ],
          "plate_projected_bbox_CAD_m": [
            2.56,
            3.088,
            2.64,
            3.1
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P5",
            "distance_mm": 560
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-BS-01",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            3.85,
            4.66,
            4.0,
            4.74
          ],
          "plate_projected_bbox_CAD_m": [
            3.838,
            4.66,
            3.85,
            4.74
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P4",
            "distance_mm": 210
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "a confirmar por projetista; posição no lado seco não é certificação"
        },
        {
          "id": "S-MA-01",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            13.2,
            5.41,
            13.35,
            5.49
          ],
          "plate_projected_bbox_CAD_m": [
            13.35,
            5.41,
            13.362,
            5.49
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 3181
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-MA-02",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            16.35,
            5.86,
            16.6,
            5.94
          ],
          "plate_projected_bbox_CAD_m": [
            16.338,
            5.86,
            16.35,
            5.94
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 6265
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-MA-03",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            16.35,
            7.86,
            16.6,
            7.94
          ],
          "plate_projected_bbox_CAD_m": [
            16.338,
            7.86,
            16.35,
            7.94
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 7147
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-FR-01",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            13.2,
            2.96,
            13.35,
            3.04
          ],
          "plate_projected_bbox_CAD_m": [
            13.35,
            2.96,
            13.362,
            3.04
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 2800
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-FR-02",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            16.35,
            0.61,
            16.6,
            0.6900000000000001
          ],
          "plate_projected_bbox_CAD_m": [
            16.338,
            0.61,
            16.35,
            0.6900000000000001
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 6365
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-FR-03",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            16.35,
            2.61,
            16.6,
            2.69
          ],
          "plate_projected_bbox_CAD_m": [
            16.338,
            2.61,
            16.35,
            2.69
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 5956
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-EX-01",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            -0.3,
            6.51,
            -0.04999999999999999,
            6.59
          ],
          "plate_projected_bbox_CAD_m": [
            -0.312,
            6.51,
            -0.3,
            6.59
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P5",
            "distance_mm": 3030
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        },
        {
          "id": "S-EX-02",
          "pass": true,
          "plate_support_shadow_CAD_m": [
            7.11,
            -0.25,
            7.19,
            0.0
          ],
          "plate_projected_bbox_CAD_m": [
            7.11,
            -0.262,
            7.19,
            -0.25
          ],
          "plate_fits_wall_segment": true,
          "cassette_conflicts": [],
          "opening_conflicts": [],
          "door_swing_conflicts": [],
          "furniture_volume_conflicts_at_height": [],
          "nearest_cassette": {
            "door": "P7",
            "distance_mm": 4250
          },
          "technical_cabinet_R05_perforated": false,
          "wet_zone_classification": "fora do âmbito da classificação deste estudo"
        }
      ]
    },
    "safety_and_scope": [
      "Os comandos dos banhos ficam propostos no lado seco antes da entrada. O projetista deve classificar os volumes reais e selecionar os equipamentos e a proteção adequados conforme RTIEBT701.32,701.53 e701.512.2; não se certifica essa classificação aqui.",
      "As alturas1100/1050/850/800mm e folgas dos mecanismos são escolhas ergonómicas de estudo, não limites regulamentares declarados.",
      "P1 é batente, não cassete. A sua folha/arco é uma exclusão de acesso. As cassetes desenhadas sãoP4/P5/P6/P7; nenhum comando, fonte ou alojamento técnico é atribuído aos seus bolsos.",
      "Comandos acessíveis fora de frentes de armários. Caixas, suportes e profundidade de instalação exigem compatibilização com paredes, remates, vidro, portas e móveis reais.",
      "Para LED em móveis, prever equipamento auxiliar em local visitável próprio e adequado, a definir com carpintaria e projetistas; não usar cassetes nem atribuir o armário técnico R05 como depósito indiscriminado de potência/rede.",
      "Grupos são funcionais de luz, não circuitos elétricos. Não se escolhem marca, tensão, bus, fiação, secção, proteção, disjuntor ou topologia.",
      "A integração Home Assistant é objetivo funcional. Entidades reais e funcionamento local na indisponibilidade da rede/servidor serão definidos com a solução escolhida; nenhuma automação é instalada por este mapa.",
      "Não há luminárias ou balizadores noturnos novos implícitos. Modos noturnos dependem da regulação permitida pelos produtos e da validação das luminárias existentes.",
      "O LED dos antigos nichos de suíte R27 está retirado com esses nichos; não o reativar por copiar o mapaLEDantigo. LED de cozinha, sala, escritório, lavandaria e despensa mantidos como referências, sem importar os seus antigos dimensionamentos elétricos."
    ],
    "official_sources": [
      {
        "title": "RTIEBT - versão consolidada no Diário da República",
        "url": "https://diariodarepublica.pt/dr/legislacao-consolidada/portaria/2006-70055500",
        "sections": [
          "701.32",
          "701.53",
          "701.512.2",
          "512.2",
          "132.12"
        ],
        "consulted": "2026-10-28",
        "kind": "fonte oficial portuguesa"
      },
      {
        "title": "Portaria n.º949-A/2006 - ato original",
        "url": "https://diariodarepublica.pt/dr/detalhe/portaria/949-a-2006-303262",
        "consulted": "2026-10-28",
        "kind": "fonte oficial portuguesa"
      }
    ],
    "electrical_execution_design": false,
    "circuits_or_cabling_created": false,
    "manufacturing_released": false,
    "regulatory_compliance_certified": false,
    "publication_executed": false,
    "source_R33_preserved": true
  },
  "hallStudyR33": {
    "schema": "house.hall-study/1.0",
    "revision": "R33",
    "date": "2026-10-28",
    "study_id": "EST-HALL-001",
    "version": 1,
    "status": "Proposta de estudo dimensional e de acabamentos; não aprovada para fabrico",
    "units": "m; alturas e cotas explícitas em mm nos campos *_mm",
    "source": {
      "path": "output\\R32_C2_Consolidada\\Dados_Coordenados_R32.json",
      "sha256": "77eea6a47488cbaf29d24b82174b188c0c6a8d6aedddf9410623268b8f1e9da8",
      "rule": "R32 preservada integralmente; alteração limitada à proposta HC01/HM01 em R33"
    },
    "source_reference_image": "C:/Users/neon/Downloads/WhatsApp Image 2026-10-28 at 17.04.54.jpeg",
    "hall": {
      "bbox": [
        8.65,
        6.683031812,
        10.25,
        8.5
      ],
      "width_mm": 1600,
      "length_mm": 1816.968188,
      "area_m2": 2.907149100799991,
      "height_mm": 2700,
      "new_area_m2": 2.907149100799991,
      "no_expansion": true,
      "solid_wall_y": [
        7.591515906,
        8.5
      ],
      "screen_y": [
        6.683031812,
        7.591515906
      ]
    },
    "preserved": {
      "P1": {
        "id": "P1",
        "category": "P",
        "bbox": [
          9.1,
          8.5,
          10.1,
          8.75
        ],
        "width": 1.0,
        "height": 2.1,
        "sill": 0.0,
        "head": 2.1,
        "orientation": "horizontal",
        "facade": null,
        "rooms": [
          "Exterior NW",
          "Hall de entrada"
        ],
        "type": "Batente",
        "materialDescription": "Exterior isolada, acabamento madeira",
        "notes": "Aros, folgas e cota de instalação conforme kit; confirmar antes de encomendar.",
        "transparent": false,
        "frosted": false,
        "sliding": false,
        "frameMaterial": "oak",
        "exactPlan": true,
        "clearWidth": 0.9,
        "leafWidth": 0.92,
        "leafThickness": 0.04,
        "leafNominalHeight": 2.1,
        "frameAllowance": 0.05,
        "doorGeometry": {
          "bbox": [
            9.1,
            8.5,
            10.1,
            8.75
          ],
          "hinge": [
            10.07,
            8.5
          ],
          "openAngleDegrees": 270,
          "swingArcDegrees": [
            180,
            270
          ]
        }
      },
      "R05": {
        "id": "R05",
        "bbox": [
          10.25,
          7.3,
          10.95,
          8.5
        ],
        "height": 2.7,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "R15 - embutido até ao teto falso; instrução do proprietário",
        "room": "Hall: quadro elétrico e internet",
        "face": "W",
        "slidingFront": false,
        "frontCount": 4,
        "technicalCabinet": true,
        "doorType": "4 frentes lacadas, 2 pares articulados push-latch; amostra e ferragens por fechar",
        "finish": "Lacado mate afinado à cor da parede interior",
        "technicalCompartments": 2
      },
      "R05_technical": {
        "id": "R05",
        "location": "Entrada, antigo armário de casacos e mochilas, imediatamente junto à porta principal",
        "bbox": [
          10.25,
          7.3,
          10.95,
          8.5
        ],
        "width_mm": 1200,
        "height_mm": 2700,
        "depth_mm": 700,
        "finish": "Lacado mate à cor da parede interior; sem puxadores salientes; push-latch",
        "fronts": {
          "count": 4,
          "pair_count": 2,
          "system": "Pares articulados de2x300, empilhamento a sul, removíveis para montagem/manutenção",
          "hardware_not_selected": true,
          "service_P1_closed": true
        },
        "clear_bays_WD_mm": [
          573,
          650
        ],
        "electrical": {
          "bbox": [
            10.55,
            7.3295,
            10.675,
            7.8795
          ],
          "bottom": 0.9,
          "height": 1.0,
          "reference_only": true,
          "selected": false,
          "reference_model": "Quitérios+34940:550Lx1000Ax125P, referência de volume; circuitos e invólucro por projetista",
          "own_protected_enclosure": true
        },
        "network": {
          "bbox": [
            10.38,
            7.916,
            10.88,
            8.466
          ],
          "bottom": 0.85,
          "height": 0.75,
          "selected": false,
          "maximum_study_body_WHD_mm": [
            550,
            750,
            500
          ],
          "excluded_previous_reference": "Bastidor anterior600mm de largura não cabe nas baias573mm",
          "notes": "Equipamentos próprios de rede, cabos, raio de curvatura, ventilação e perdas por fechar; prateleira inferior para eventualUPS/NAS, sem definição de aparelhos."
        },
        "separation": "Compartimentos e caminhos de cabos distintos; não misturar rede com potência; invólucro elétrico certificado independente da frente decorativa. Separação térmica/projetoITED por especialistas.",
        "ventilation": "Entrada e saída de ar em juntas/recuos ocultos mas livres; área livre e ventilação ativa por calcular para equipamentos reais. Não selar para obter aparência oculta.",
        "status": "Proposta de volume/implantação; não é projeto elétrico ou deITED",
        "fabrication_released": false
      },
      "coats_backpacks": {
        "id": "PANTRY",
        "bbox": [
          10.25,
          5.55,
          10.95,
          7.3
        ],
        "height": 2.7,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "R15 - embutido até ao teto falso; instrução do proprietário",
        "face": "W",
        "name": "Casacos e mochilas — antigo despenseiro",
        "storageUse": "Casacos, duas mochilas e maleiro; sem alimentos ou rede",
        "slidingFront": true,
        "finish": "Carvalho natural mate",
        "frontCount": 2,
        "lower_cubbies_clear_WHD_mm": [
          848,
          450,
          550
        ],
        "rail_height_mm": 1650,
        "shelf_height_mm": 1950
      },
      "screen": {
        "id": "B01",
        "bbox": [
          8.5,
          6.683031812,
          8.65,
          7.591515906
        ],
        "height": 2.7,
        "pitch": 0.082,
        "slatCount": 11,
        "thickness": 0.15,
        "orientation": "vertical",
        "slatWidth": 0.04,
        "layoutRevision": "R18",
        "edgeClearance": 0.024242046999999933
      },
      "solid_wall": {
        "id": "W33",
        "bbox": [
          8.5,
          7.591515906,
          8.65,
          8.5
        ],
        "height": 2.7,
        "base": 0,
        "exactPlan": true,
        "heightStatus": "pé-direito definido na R5",
        "group": "interior",
        "material": "wall"
      }
    },
    "existing": {
      "console": {
        "id": "HC01",
        "name": "Consola suspensa contínua do hall",
        "bbox": [
          8.65,
          6.78,
          8.83,
          7.98
        ],
        "height": 0.08,
        "bottom": 0.74,
        "top": 0.82,
        "length": 1.2,
        "depth": 0.18,
        "face": "E",
        "layoutRevision": "R20",
        "finish": "Lacado branco acetinado em todas as faces e arestas",
        "drawers": false,
        "note": "Fixação oculta atravessa o biombo e continua 388,5 mm pelo pano sólido na direção de P1. Projeção de 180 mm no hall, sem pés nem gavetas. Ferragens e reforços a dimensionar pela carpintaria.",
        "colour": "#f7f6f2",
        "cadID": "CONS01"
      },
      "mirror": {
        "id": "HM01",
        "name": "Espelho redondo no hall",
        "bbox": [
          8.65,
          7.55,
          8.668,
          8.35
        ],
        "height": 0.8,
        "bottom": 1.15,
        "top": 1.95,
        "centreCAD": [
          8.659,
          7.95
        ],
        "centreHeight": 1.55,
        "frame": "Perfil fino preto mate",
        "face": "E",
        "layoutRevision": "R26",
        "exactPlan": true,
        "note": "Espelho circularØ800 com aro fino; exclusivamente decorativo. Quadro e rede estão no R05, na parede oposta.",
        "cadID": "ESP-H01",
        "shape": "circle",
        "width": 0.8,
        "hinged": false,
        "diameter": 0.8
      }
    },
    "console": {
      "id": "HC01-R33",
      "source_id": "HC01",
      "name": "Consola suspensa pequena com três gavetas",
      "bbox": [
        8.65,
        6.78,
        8.93,
        7.98
      ],
      "length_mm": 1200,
      "depth_mm": 280,
      "body_height_mm": 240,
      "bottom_mm": 610,
      "top_mm": 850,
      "face": "E",
      "floating": true,
      "interpretation_more_high": "Corpo de 80 para 240 mm; tampo de 820 para 850 mm (+30 mm). Não elevar para uma bancada nem copiar largura da referência.",
      "modules": [
        {
          "id": "HC01-R33-G01",
          "front_nominal_y": [
            6.78,
            7.185758
          ],
          "gross_zone_width_mm_before_reveals": 405.757953,
          "finish_bicolor_proposal": "Lacado branco acetinado",
          "opening": "Uma gaveta curta; ferragem e sistema de abertura por selecionar"
        },
        {
          "id": "HC01-R33-G02",
          "front_nominal_y": [
            7.185758,
            7.591516
          ],
          "gross_zone_width_mm_before_reveals": 405.757953,
          "finish_bicolor_proposal": "Lacado branco acetinado",
          "opening": "Uma gaveta curta; ferragem e sistema de abertura por selecionar"
        },
        {
          "id": "HC01-R33-G03",
          "front_nominal_y": [
            7.591516,
            7.98
          ],
          "gross_zone_width_mm_before_reveals": 388.484094,
          "finish_bicolor_proposal": "Madeira afinada à cor do biombo",
          "opening": "Uma gaveta curta; ferragem e sistema de abertura por selecionar"
        }
      ],
      "module_widths_are_before_reveals": true,
      "material_boundary_y": 7.591515906,
      "finish_options": [
        {
          "id": "AC-HALL-BI",
          "title": "Proposta bicolor",
          "status": "Proposta a comparar, não seleção confirmada",
          "white_zone_y": [
            6.78,
            7.591515906
          ],
          "wood_zone_y": [
            7.591515906,
            7.98
          ],
          "description": "Branco sobre o biombo; madeira cor do biombo sobre a parede branca. Encontro alinhado ao limite real B01/W33."
        },
        {
          "id": "AC-HALL-BR",
          "title": "Alternativa toda branca",
          "status": "Alternativa preservada",
          "description": "Lacado branco acetinado em todas as faces, com a mesma geometria e folgas."
        }
      ],
      "drawer_study": {
        "count": 3,
        "hardware_selected": false,
        "max_collision_envelope_stroke_mm": 200,
        "open_max_bbox": [
          8.93,
          6.78,
          9.13,
          7.98
        ],
        "envelope_is_not_a_guaranteed_runner_stroke": true,
        "drawer_box_target_external_depth_mm": 200,
        "useful_depth_target_mm": 170,
        "useful_height_target_mm": 140,
        "suitable_contents": "Chaves, telemóveis, pequenos livros/blocos e objetos leves; não grande arrumação.",
        "planning_allowances_mm": {
          "front": 20,
          "back": 8,
          "rear_service_and_structure_zone": 30,
          "carcass_sides_top_bottom": 18
        },
        "depth_remainder_before_hardware_mm": 222,
        "note": "222=280−20−8−30; caixa exterior alvo 200 deixa 22 mm de reserva antes da seleção de ferragem. Espessuras são hipóteses de estudo, não lista de corte. O driver LED não fica encerrado na gaveta.",
        "hardware_evidence": {
          "primary_source": "https://catalog.hettich.com/General/TA_2025/en_DE/catalogs/TA_2025_en_DE/pdf/save/bk_398.pdf",
          "observed": "Hettich KA1730 nominal 200, gaveta 155–210, extensão parcial/perda 32 mm, classe 10 kg. Demonstra existência de ferragem curta; não constitui seleção ou promessa de extração total/amortecimento.",
          "selection_pending": "Confirmar profundidade real, fixações, carga, travão, abertura sem puxador e amortecimento com a carpintaria. A extração de200mm só é envelope conservador de colisão."
        }
      },
      "fixing": {
        "selected": false,
        "independent_of_decorative_slats": true,
        "description": "Subestrutura oculta contínua com ancoragem verificada ao pano sólido e à estrutura resistente do biombo. Não aparafusar o esforço das gavetas apenas às réguas decorativas.",
        "pending": "Confirmar substrato W33/B01, travessas/reforços, cargas e ferragens. Não se dimensionam aço/buchas sem levantamento da obra."
      },
      "decor": {
        "plant": {
          "bbox": [
            8.7,
            6.9,
            8.84,
            7.04
          ],
          "bottom_mm": 850,
          "height_mm": 200
        },
        "keys_tray": {
          "bbox": [
            8.7,
            7.35,
            8.86,
            7.55
          ],
          "bottom_mm": 850,
          "height_mm": 25
        },
        "note": "Pequena planta e tabuleiro para chaves; não tapar acesso às gavetas."
      }
    },
    "mirror": {
      "id": "HM01-R33",
      "source_id": "HM01",
      "name": "Espelho circular com retroiluminação",
      "shape": "circle",
      "diameter_mm": 750,
      "bbox": [
        8.65,
        7.625,
        8.685,
        8.375
      ],
      "centreCAD": [
        8.685,
        8.0
      ],
      "centre_height_mm": 1550,
      "bottom_mm": 1175,
      "top_mm": 1925,
      "maximum_projection_mm": 35,
      "rear_light_gap_study_mm": 25,
      "face": "E",
      "frame": "Perfil fino preto mate; produto por selecionar",
      "source_shape_preserved": true,
      "reference_adaptation": "A referência inspira retroiluminação e corpo da consola. Mantém-se o espelho redondo pedido para o hall; não se copia o oval nem se aumenta o pano.",
      "on_solid_wall_only": true,
      "side_clearances_on_wall_mm": {
        "south": 33.484094,
        "north": 125
      },
      "halo_study_extra_mm": 20,
      "halo_side_clearances_on_wall_mm": {
        "south": 13.484094,
        "north": 105
      },
      "existing_diameter800_overhang_to_screen_mm": 41.515906,
      "above_console_top_mm": 325,
      "not_a_technical_cabinet_front": true,
      "lighting": {
        "type": "LED oculto atrás do espelho, luz indireta difusa",
        "cct_study_K": 3000,
        "driver_selected": false,
        "switching_selected": false,
        "driver_location": "Acessível para manutenção em posição a definir pelo eletricista; eventual compartimento elétrico segregado R05 só após projeto. Não misturar rede/potência nem fechar driver atrás de móvel inacessível.",
        "cable_route": "Reserva de passagem no tardoz/estrutura; percurso final e alimentação por definir",
        "underside_console_LED": "Não incluído como obrigatório; alternativa só se desejada após proposta."
      }
    },
    "depth_comparison": {
      "main_280mm": {
        "depth_mm": 280,
        "bbox": [
          8.65,
          6.78,
          8.93,
          7.98
        ],
        "drawer_open_max_bbox": [
          8.93,
          6.78,
          9.13,
          7.98
        ],
        "max_opening_envelope_mm": 200,
        "hall_clear_console_closed_mm": 1320.0,
        "hall_clear_console_open_envelope_mm": 1120.0,
        "P1_sweep_nearest_distance_to_closed_bbox_mm": 1252.996409,
        "P1_sweep_nearest_distance_to_open_bbox_mm": 1074.24392,
        "P1_radial_gap_console_closed_mm": 332.996409,
        "P1_radial_gap_console_open_envelope_mm": 154.24392,
        "P1_gap_open_console_with_extra_50mm_sweep_allowance_mm": 104.24392,
        "P1_fully_open_leaf_west_face_x": 10.05,
        "P1_fully_open_leaf_gap_console_closed_mm": 1120.0,
        "P1_fully_open_leaf_gap_console_open_envelope_mm": 920.0,
        "R05_folded_300mm_projection_gap_console_closed_mm": 1020.0,
        "R05_folded_300mm_projection_gap_console_open_envelope_mm": 820.0,
        "R05_conservative_600mm_projection_gap_console_closed_mm": 720.0,
        "R05_conservative_600mm_projection_gap_console_open_envelope_mm": 520.0
      },
      "alternative_250mm": {
        "depth_mm": 250,
        "bbox": [
          8.65,
          6.78,
          8.9,
          7.98
        ],
        "drawer_open_max_bbox": [
          8.9,
          6.78,
          9.1,
          7.98
        ],
        "max_opening_envelope_mm": 200,
        "hall_clear_console_closed_mm": 1350.0,
        "hall_clear_console_open_envelope_mm": 1150.0,
        "P1_sweep_nearest_distance_to_closed_bbox_mm": 1280.351514,
        "P1_sweep_nearest_distance_to_open_bbox_mm": 1100.59075,
        "P1_radial_gap_console_closed_mm": 360.351514,
        "P1_radial_gap_console_open_envelope_mm": 180.59075,
        "P1_gap_open_console_with_extra_50mm_sweep_allowance_mm": 130.59075,
        "P1_fully_open_leaf_west_face_x": 10.05,
        "P1_fully_open_leaf_gap_console_closed_mm": 1150.0,
        "P1_fully_open_leaf_gap_console_open_envelope_mm": 950.0,
        "R05_folded_300mm_projection_gap_console_closed_mm": 1050.0,
        "R05_folded_300mm_projection_gap_console_open_envelope_mm": 850.0,
        "R05_conservative_600mm_projection_gap_console_closed_mm": 750.0,
        "R05_conservative_600mm_projection_gap_console_open_envelope_mm": 550.0
      },
      "recommendation": "280mm dá+30mm para caixa/fixação/passagem de cabo, com1320mm livres no hall.250mm é alternativa compacta, mas deixa192mm se mantiver as mesmas reservas20+8+30; exige reduzir caixa/serviço ou outra ferragem."
    },
    "use_conditions": [
      "P1, casacos/mochilas e armário técnico mantêm posição e dimensões.",
      "A manutenção de R05 realiza-se com P1 fechada e gavetas da consola fechadas, como já previsto no R32.",
      "A projeção 300 mm dos pares articulados de R05 é hipótese nominal de estudo; a ferragem real ainda não está selecionada. Envelope transitório 600 mm também auditado.",
      "As folgas calculadas são geométricas, não certificação de acessibilidade ou aprovação elétrica.",
      "Confirmar medidas acabadas, esquadrias, portas/puxadores, suportes, ferragens e alimentação antes de execução."
    ],
    "fabrication_released": false,
    "publication_executed": false,
    "R32_unchanged": true,
    "status_R36": "Adotado pelo proprietário, bicolor, 29/10/2026",
    "selected_variant": "AC-HALL-BI"
  },
  "source_R36": {
    "path": "output/R33_Hall_Banhos_Iluminacao/Dados_Coordenados_Estudo_R33.json",
    "sha256": "c340363c1b373a8dd274c513b14b470c0b45993ed6078f92e43279b3257ac6de",
    "owner_decisions": "Instrucoes_R36_Decisoes_do_Dono.txt",
    "date": "2026-10-29",
    "scope": [
      "COOR-01",
      "COOR-04",
      "COOR-20"
    ]
  },
  "decisions_R36": {
    "date": "2026-10-29",
    "adopted": [
      "AQS→VMC→máquinas→pia",
      "Banho comum B-W",
      "Hall HC01/HM01 R33 bicolor"
    ],
    "unadopted_R35": [
      "ApoioAC suíte e posição dos murais",
      "Estores e comandos adicionais",
      "Alternativas de camas dos miúdos",
      "Estudo noturno da sala"
    ],
    "remaining_R35_findings_open": 17
  },
  "bathroomAddendumR36": {
    "revision": "R37",
    "status": "Proposta construtiva coordenada, sem liberação de fabrico ou certificação",
    "accessories": [
      {
        "id": "BC-TOWEL-HEAT",
        "room": "IS_C",
        "type": "heated_towel_rail",
        "bboxCAD": [
          11.1,
          5.65,
          11.21,
          6.15
        ],
        "bottom_mm": 1018,
        "height_mm": 1282,
        "face": "E",
        "reference": "RocaVictoriaA816641NB0",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Ficha oficial500×1200 no corpo, profundidade90..110 e comando inferior82: envelope conservador1282, fundo1018/top2300. Fundo do comando168mm acima do tampo850 junto ao cantoCOM; afastamentos térmicos/de toalhas e manual de instalação obrigatórios. Produto e integração de comando por escolher; não certificado.",
        "power_W_study": 500,
        "physical_depth_confirmed": true,
        "body_bottom_mm": 1100,
        "body_height_mm": 1200,
        "controller_below_body_reserve_mm": 82,
        "installed_depth_range_mm": [
          90,
          110
        ],
        "finish_note": "NB0 preto mate confirmado em ficha oficial guardada. Disponibilidade e encomenda não confirmadas."
      },
      {
        "id": "BS-TOWEL-HEAT",
        "room": "IS_S",
        "type": "heated_towel_rail",
        "bboxCAD": [
          1.73,
          5.1,
          1.84,
          5.6
        ],
        "bottom_mm": 1018,
        "height_mm": 1282,
        "face": "W",
        "reference": "RocaVictoriaA816641NB0",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Ficha oficial500×1200 no corpo, profundidade90..110 e comando inferior82: envelope conservador1282, fundo1018/top2300. Fundo do comando168mm acima do tampo850 junto ao cantoCOM; afastamentos térmicos/de toalhas e manual de instalação obrigatórios. Produto e integração de comando por escolher; não certificado.",
        "power_W_study": 500,
        "physical_depth_confirmed": true,
        "body_bottom_mm": 1100,
        "body_height_mm": 1200,
        "controller_below_body_reserve_mm": 82,
        "installed_depth_range_mm": [
          90,
          110
        ],
        "finish_note": "NB0 preto mate confirmado em ficha oficial guardada. Disponibilidade e encomenda não confirmadas."
      },
      {
        "id": "BC-PAPER",
        "room": "IS_C",
        "type": "paper_holder",
        "bboxCAD": [
          13.116,
          6.94,
          13.18,
          7.122
        ],
        "bottom_mm": 650,
        "height_mm": 52,
        "face": "W",
        "reference": "RocaVictoriaA817890NB0",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "182×64×52 oficiais; fixar na lateralN do armário de toalhas, sem vidro. Folga51mm ao inícioWC7.165; confirmar alcance real.",
        "notes": "Transferido da coluna eliminada para paredeE,43mm antes do inícioY7.165 da bacia; altura650."
      },
      {
        "id": "BS-PAPER",
        "room": "IS_S",
        "type": "paper_holder",
        "bboxCAD": [
          -0.05,
          4.85,
          0.014,
          5.032
        ],
        "bottom_mm": 650,
        "height_mm": 52,
        "face": "E",
        "reference": "RocaVictoriaA817890NB0",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "ParedeW abaixo da janelaVE8; papel abaixoZ702, janela começaZ1500. Não é fixação em vidro/cassete."
      },
      {
        "id": "BC-BRUSH",
        "room": "IS_C",
        "type": "toilet_brush",
        "bboxCAD": [
          13.09,
          7.59,
          13.18,
          7.68
        ],
        "bottom_mm": 180,
        "height_mm": 431,
        "face": "W",
        "reference": "RocaHotelsA817587C40",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "90×90×431 oficiais;55mm depois doWC e40antes do vidro. Confirmar limpeza/extração vertical e fixação sem tocar vidro."
      },
      {
        "id": "BS-BRUSH",
        "room": "IS_S",
        "type": "toilet_brush",
        "bboxCAD": [
          -0.05,
          5.13,
          0.04,
          5.22
        ],
        "bottom_mm": 180,
        "height_mm": 431,
        "face": "E",
        "reference": "RocaHotelsA817587C40",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "ParedeW sob janela;160mm até à frente da colunaN. Confirmar pormenor de limpeza."
      },
      {
        "id": "BC-BIN",
        "room": "IS_C",
        "type": "bin",
        "bboxCAD": [
          12.94,
          6.65,
          13.108,
          6.885
        ],
        "bottom_mm": 0,
        "height_mm": 264,
        "face": "W",
        "reference": "BrabantiaNewIcon3L112164",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "168×235×264 oficiais; tampa aberta411, sob coluna que começa450:39mm acima da tampa. Não confundir dimensões de embalagem.",
        "lid_open_top_mm": 411
      },
      {
        "id": "BS-BIN",
        "room": "IS_S",
        "type": "bin",
        "bboxCAD": [
          -0.02,
          4.86,
          0.148,
          5.095
        ],
        "bottom_mm": 0,
        "height_mm": 264,
        "face": "E",
        "reference": "BrabantiaNewIcon3L112164",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "80mm aN doWC;35mm até à piaçaba. Tampa aberta411; objeto móvel, não fixar sobre tubagens.",
        "lid_open_top_mm": 411
      },
      {
        "id": "BC-SOCKET",
        "room": "IS_C",
        "type": "socket",
        "bboxCAD": [
          12.06,
          5.55,
          12.14,
          5.565
        ],
        "bottom_mm": 1060,
        "height_mm": 80,
        "face": "N",
        "reference": null,
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Centro1100; placa80×80 é reserva, não produto escolhido.9cm antes do inícioP8,espelho termina12.05 com10mm até placa. Escova/barbear; eletricista valida volume,classe,circuito/proteção e selações."
      },
      {
        "id": "BS-SOCKET",
        "room": "IS_S",
        "type": "socket",
        "bboxCAD": [
          1.51,
          5.665,
          1.59,
          5.68
        ],
        "bottom_mm": 1110,
        "height_mm": 80,
        "face": "S",
        "reference": null,
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Centro1150; reserva80×80,espelho terminaX1.45→60mm até placa. Fora do bolsoP5; produto/proteções por eletricista."
      },
      {
        "id": "BC-EXTRACT",
        "room": "IS_C",
        "type": "extraction",
        "bboxCAD": [
          11.465,
          8.035,
          11.635,
          8.205
        ],
        "bottom_mm": 2670,
        "height_mm": 30,
        "face": "down",
        "reference": "ZehnderComfoValveLunaE125705613128",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Ø170,DN125,total102 oficiais. Boca passiva no teto, ligar à VMC; caudal,retorno/transferência,rede,plenum e acústica porAVAC. Reservar pelo menos102 acima/na montagem, sem fingir vazio de teto existente.",
        "connection_DN_mm": 125,
        "total_product_height_mm": 102
      },
      {
        "id": "BS-EXTRACT",
        "room": "IS_S",
        "type": "extraction",
        "bboxCAD": [
          0.765,
          3.615,
          0.935,
          3.785
        ],
        "bottom_mm": 2670,
        "height_mm": 30,
        "face": "down",
        "reference": "ZehnderComfoValveLunaE125705613128",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Ø170,DN125,total102; boca passiva no teto do duche. Percurso atéVMC e caudal por calcular.",
        "connection_DN_mm": 125,
        "total_product_height_mm": 102
      },
      {
        "id": "BC-FLOOD-BASIN",
        "room": "IS_C",
        "type": "flood_sensor",
        "bboxCAD": [
          11.52,
          5.66,
          11.597,
          5.737
        ],
        "bottom_mm": 268,
        "height_mm": 23,
        "face": "up",
        "reference": "ShellyFloodSGen4S4SN-0071Z",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Ø77×23,IP67,CR123A eHomeAssistant nas fontes oficiais. BASIN sobre fundo/bandeja interiorZ268 (base250+painel18 de estudo), não no pavimento sob caixa fechada: desenhar percurso de escorrência. WC no pavimento seco, fora do duche. Não deteta automaticamente fugas retidas dentro de parede. Acesso para teste/bateria e cobertura de percursos a afinar."
      },
      {
        "id": "BC-FLOOD-WC",
        "room": "IS_C",
        "type": "flood_sensor",
        "bboxCAD": [
          13.09,
          7.08,
          13.167,
          7.157
        ],
        "bottom_mm": 0,
        "height_mm": 23,
        "face": "up",
        "reference": "ShellyFloodSGen4S4SN-0071Z",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Ø77×23,IP67,CR123A eHomeAssistant nas fontes oficiais. BASIN sobre fundo/bandeja interiorZ268 (base250+painel18 de estudo), não no pavimento sob caixa fechada: desenhar percurso de escorrência. WC no pavimento seco, fora do duche. Não deteta automaticamente fugas retidas dentro de parede. Acesso para teste/bateria e cobertura de percursos a afinar."
      },
      {
        "id": "BS-FLOOD-BASIN",
        "room": "IS_S",
        "type": "flood_sensor",
        "bboxCAD": [
          1.0,
          5.45,
          1.077,
          5.527
        ],
        "bottom_mm": 268,
        "height_mm": 23,
        "face": "up",
        "reference": "ShellyFloodSGen4S4SN-0071Z",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Ø77×23,IP67,CR123A eHomeAssistant nas fontes oficiais. BASIN sobre fundo/bandeja interiorZ268 (base250+painel18 de estudo), não no pavimento sob caixa fechada: desenhar percurso de escorrência. WC no pavimento seco, fora do duche. Não deteta automaticamente fugas retidas dentro de parede. Acesso para teste/bateria e cobertura de percursos a afinar."
      },
      {
        "id": "BS-FLOOD-WC",
        "room": "IS_S",
        "type": "flood_sensor",
        "bboxCAD": [
          0.11,
          4.3,
          0.187,
          4.377
        ],
        "bottom_mm": 0,
        "height_mm": 23,
        "face": "up",
        "reference": "ShellyFloodSGen4S4SN-0071Z",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Ø77×23,IP67,CR123A eHomeAssistant nas fontes oficiais. BASIN sobre fundo/bandeja interiorZ268 (base250+painel18 de estudo), não no pavimento sob caixa fechada: desenhar percurso de escorrência. WC no pavimento seco, fora do duche. Não deteta automaticamente fugas retidas dentro de parede. Acesso para teste/bateria e cobertura de percursos a afinar."
      },
      {
        "id": "BC-VALVES-IND",
        "room": "IS_C",
        "type": "valve_box",
        "bboxCAD": [
          11.195,
          5.55,
          11.465,
          5.63
        ],
        "bottom_mm": 320,
        "height_mm": 190,
        "face": "N",
        "reference": "Caleffi359410",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Caixa real270×190×80 de4AF+3AQ; individualizar lavatório/duche/cisterna, cegando sobras junto ao coletor. Dentro do móvel, acessível pela porta; não rasgarW25/cassete. Tampa359801294×214×8 ou359700conforme ficha por validar pelo colega água.",
        "cover_mm": [
          294,
          214,
          8
        ]
      },
      {
        "id": "BC-VALVES-GEN",
        "room": "IS_C",
        "type": "valve_box",
        "bboxCAD": [
          11.916,
          5.55,
          12.106,
          5.63
        ],
        "bottom_mm": 320,
        "height_mm": 190,
        "face": "N",
        "reference": "Caleffi359190",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Caixa190×190×80 para cortes geraisAF/AQ a montante dos individuais. Tampa própria359892/893214×214×8. Não usar tampa359801 nesta caixa.",
        "cover_mm": [
          214,
          214,
          8
        ]
      },
      {
        "id": "BS-VALVES-IND",
        "room": "IS_S",
        "type": "valve_box",
        "bboxCAD": [
          0.5,
          5.6,
          0.77,
          5.68
        ],
        "bottom_mm": 320,
        "height_mm": 190,
        "face": "S",
        "reference": "Caleffi359410",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Caixa real270×190×80 de4AF+3AQ; individualizar lavatório/duche/cisterna, cegando sobras junto ao coletor. Dentro do móvel, acessível pela porta; não rasgarW25/cassete. Tampa359801294×214×8 ou359700conforme ficha por validar pelo colega água.",
        "cover_mm": [
          294,
          214,
          8
        ]
      },
      {
        "id": "BS-VALVES-GEN",
        "room": "IS_S",
        "type": "valve_box",
        "bboxCAD": [
          1.416,
          5.6,
          1.606,
          5.68
        ],
        "bottom_mm": 320,
        "height_mm": 190,
        "face": "S",
        "reference": "Caleffi359190",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Caixa190×190×80 para cortes geraisAF/AQ a montante dos individuais. Tampa própria359892/893214×214×8. Não usar tampa359801 nesta caixa.",
        "cover_mm": [
          214,
          214,
          8
        ]
      }
    ],
    "storage": {
      "IS_C": {
        "external_width_depth_height_mm": [
          1000,
          400,
          565
        ],
        "internal_rectangular_width_depth_height_mm": [
          964,
          370,
          529
        ],
        "gross_internal_envelope_l": 188.684,
        "deduct_bowl210_l": 35.969,
        "deduct_drain_service_l": 19.411,
        "deduct_valve_bodies_l": 6.992,
        "residual_geometric_study_l": 126.311,
        "not_usable_storage_capacity": "É saldo volumétrico aproximado depois de reservas retangulares conservadoras, não litros úteis. Há envelopes sobrepostos às próprias espessuras; não é medição de capacidade comercial. Portas/calhas, clips/apoios, ligações e acesso reduzem mais.",
        "clean_storage_proposal": {
          "removable_trays": 2,
          "each_external_mm": [
            240,
            200,
            180
          ],
          "gross_tray_volume_each_l": 8.64,
          "gross_total_tray_volume_l": 17.28,
          "bboxCAD_each": [
            [
              11.21,
              5.72,
              11.45,
              5.92
            ],
            [
              11.85,
              5.72,
              12.09,
              5.92
            ]
          ],
          "bottom_mm": 268,
          "height_mm": 180,
          "location": "zona frontal inferior lateral, abaixo605, afastada do sifão central; retirar tabuleiros para visitar cortes. Confirmar dimensões internas reais de cada tabuleiro.",
          "no_fixed_shelf_crossing_trap": true,
          "organization": [
            {
              "tray": 1,
              "content": "Duas toalhas de banho dobradas",
              "folded_each_mm": [
                200,
                180,
                80
              ],
              "count": 2,
              "assembly_mm": [
                200,
                180,
                160
              ]
            },
            {
              "tray": 2,
              "content": "Dois rolos de papel de reserva e pequeno estojo dehigiene",
              "roll_diameter_mm": 110,
              "roll_length_mm": 100,
              "count": 2,
              "rolls_assembly_mm": [
                220,
                100,
                110
              ],
              "case_envelope_mm": [
                220,
                70,
                100
              ]
            }
          ]
        },
        "water_boxes": {
          "individual": "Caleffi359410,270×190×80,3AF+2AQusados, restantes cegados",
          "general": "Caleffi359190,190×190×80,cortes geraisAF/AQ",
          "cover_individual": "359801,294×214×8",
          "cover_general": "359892/893,214×214×8",
          "access": "tampas íntegra e removíveis por frente; painéis/tabuleiros/ferragens não bloqueiam visitação"
        },
        "clean_chemical_separation": "Só toalhas/papel/reserva limpa nos tabuleiros; detergentes domésticos ficam na lavandaria, fora do espaço de higiene.",
        "wall_storage_removed_R38": true,
        "storage_limit": "Dimensões de dobra/rolos são amostras de utilização, não capacidade comercial: testar com as toalhas/rolos reais; tabuleiros removem-se para acesso às válvulas. Roupabranca de reserva emARR_N, sem armário suspenso no banho.",
        "family_backstock_location": "ARR_N na distribuição: duasprateleiras reservadas a8toalhasdebanho, restantes a toalhasdemãos/rosto/roupabranca; não medicamentosnem químicos."
      },
      "IS_S": {
        "external_width_depth_height_mm": [
          1200,
          500,
          565
        ],
        "internal_rectangular_width_depth_height_mm": [
          1164,
          438,
          529
        ],
        "gross_internal_envelope_l": 269.701,
        "deduct_bowl210_l": 35.969,
        "deduct_drain_service_l": 19.411,
        "deduct_valve_bodies_l": 6.992,
        "residual_geometric_study_l": 207.329,
        "not_usable_storage_capacity": "É saldo volumétrico aproximado depois de reservas retangulares conservadoras, não litros úteis. Há envelopes sobrepostos às próprias espessuras; não é medição de capacidade comercial. Portas/calhas, clips/apoios, ligações e acesso reduzem mais.",
        "clean_storage_proposal": {
          "removable_trays": 2,
          "each_external_mm": [
            240,
            200,
            180
          ],
          "gross_tray_volume_each_l": 8.64,
          "gross_total_tray_volume_l": 17.28,
          "bboxCAD_each": [
            [
              0.51,
              5.2,
              0.75,
              5.4
            ],
            [
              1.35,
              5.2,
              1.59,
              5.4
            ]
          ],
          "bottom_mm": 268,
          "height_mm": 180,
          "location": "zona frontal inferior lateral, abaixo605, afastada do sifão central; retirar tabuleiros para visitar cortes. Confirmar dimensões internas reais de cada tabuleiro.",
          "no_fixed_shelf_crossing_trap": true,
          "organization": [
            {
              "tray": 1,
              "content": "Duas toalhas de banho dobradas",
              "folded_each_mm": [
                200,
                180,
                80
              ],
              "count": 2,
              "assembly_mm": [
                200,
                180,
                160
              ]
            },
            {
              "tray": 2,
              "content": "Dois rolos de papel de reserva e pequeno estojo dehigiene",
              "roll_diameter_mm": 110,
              "roll_length_mm": 100,
              "count": 2,
              "rolls_assembly_mm": [
                220,
                100,
                110
              ],
              "case_envelope_mm": [
                220,
                70,
                100
              ]
            }
          ]
        },
        "water_boxes": {
          "individual": "Caleffi359410,270×190×80,3AF+2AQusados, restantes cegados",
          "general": "Caleffi359190,190×190×80,cortes geraisAF/AQ",
          "cover_individual": "359801,294×214×8",
          "cover_general": "359892/893,214×214×8",
          "access": "tampas íntegra e removíveis por frente; painéis/tabuleiros/ferragens não bloqueiam visitação"
        },
        "clean_chemical_separation": "Só toalhas/papel/reserva limpa nos tabuleiros; detergentes domésticos ficam na lavandaria, fora do espaço de higiene.",
        "wall_storage_removed_R38": true,
        "storage_limit": "Dimensões de dobra/rolos são amostras de utilização, não capacidade comercial: testar com as toalhas/rolos reais; tabuleiros removem-se para acesso às válvulas. Roupabranca de reserva emARR_N, sem armário suspenso no banho.",
        "family_backstock_location": "ARR_N na distribuição: duasprateleiras reservadas a8toalhasdebanho, restantes a toalhasdemãos/rosto/roupabranca; não medicamentosnem químicos."
      }
    },
    "rejected_wall_cabinets_R38": [
      "BC-TOWEL-CAB",
      "BS-TOWEL-CAB"
    ]
  },
  "bathroomConstructionR37": {
    "schema": "obras-casa/bathroom-revision-study/1",
    "revision": "R37_BANHOS_SUBTIS_RESGUARDOS",
    "created_utc": "2026-10-29T15:31:56.534909+00:00",
    "status": "Contrato construtivo herdado R37 e atualizado R38; S2 escolhida; produtos/interfaces ainda em estudo.",
    "source_global": {
      "path": "C:\\Users\\neon\\.codex\\.chatgpt-projects\\g-p-6ad1dbea6fa48191bc9168f24c5c6949\\output\\R36_Decisoes_Coordenadas\\adenda_29_10\\dados\\Dados_Proposta_Banhos_R36.json",
      "sha256": "1c807dd2f7e927487317a21b6188e77cca6ba19ae88dfa0622a2def69c725492"
    },
    "source_previous_patch": {
      "path": "C:\\Users\\neon\\.codex\\.chatgpt-projects\\g-p-6ad1dbea6fa48191bc9168f24c5c6949\\tmp\\R36\\adenda_banhos\\Global_Patch_Banhos_R36_Proposta.json",
      "sha256": "512181ed36b00323faab03cf1d7b76ef481bccf2633948200702578d602802fe"
    },
    "owner_new_requirements": [
      "Eliminar colunas altas de madeira nos dois banhos",
      "Arrumação menor, subtil e com desenho cuidado",
      "Resguardos de duche que fechem e contenham salpicos",
      "Autoclismo da suíte embutido sem volume aparente"
    ],
    "adopted": false,
    "apply_automatically": false,
    "manufacturing_released": false,
    "purchase_released": false,
    "accessibility_certified": false,
    "scope": "Só banhos; quarto/closet/cama/pala/lavandaria/hall não alterados. A redução10mm na suíte é correção explícita de acabamento da paredeE, não ampliação fictícia.",
    "bathrooms": [
      {
        "id": "IS_C",
        "roomBBox": [
          11.1,
          5.55,
          13.18,
          8.5
        ],
        "shower": {
          "id": "IS_C_SHOWER",
          "bbox": [
            11.1,
            7.7,
            13.18,
            8.5
          ],
          "height": 0,
          "base": 0,
          "exactPlan": true,
          "heightStatus": "Piso revestido com pendente2%, não uma placa plana de25mm.",
          "material": "tile",
          "floorBuildR37": {
            "system": "Schlüter KERDI-LINE-H50 +betonilha inclinada +KERDI200 +bandas/cantos/guarnições do sistema",
            "drain_reference": "KLH50GE180",
            "drain_length_mm": 1800,
            "drain_outer_length_mm": 1850,
            "drain_body_width_wall_mm": 120,
            "cover_width_mm": 74,
            "support_height_mm": 97,
            "outlet_nominal_DN": 50,
            "capacity_l_per_s_at20mm_head": 0.6,
            "capacity_l_per_s_at10mm_head": 0.57,
            "water_seal_height_mm": 30,
            "proposed_drain_centreCAD": [
              12.14,
              8.44
            ],
            "proposed_drain_outer_bboxCAD": [
              11.215,
              8.38,
              13.065,
              8.5
            ],
            "proposed_drain_cover_bboxCAD": [
              11.24,
              8.403,
              13.04,
              8.477
            ],
            "drain_offset_from_back_wall_mm": 60,
            "offset_status": "Proposta geométrica com corpo120; fixar com desenho de instalação da variante de parede e revestimento real.",
            "front_surface_level_mm": 0,
            "dry_floor_level_mm": 0,
            "drain_surface_level_mm": -14.8,
            "back_wall_surface_level_mm": -13.6,
            "slope_percent": 2,
            "long_slope_run_mm": 740,
            "long_fall_mm": 14.8,
            "ceramic_tile_study_mm": 8,
            "tile_adhesive_study_mm": 4,
            "KERDI200_mm": 0.2,
            "membrane_bonding_adhesive_allowance_mm": 2,
            "membrane_is_entire_finished_layer": false,
            "under_cover_build_to_flange_study_mm": 14.2,
            "body_bottom_relative_dry_floor_mm": -126.0,
            "leveling_allowance_mm": 5,
            "acoustic_allowance_mm": 6,
            "total_local_floor_reserve_below_dry_finish_mm": 137.0,
            "floor_reserve_is_measured_existing": false,
            "pipes_falls_slab_not_included": "Altura local calculada não inclui percursoDN50/falls de rede nem travessias de laje, piso radiante, isolamento geral e suporte estrutural.",
            "threshold": {
              "substrate_step_mm": 0,
              "bottom_strip_height_mm": null,
              "assembled_step_target_max_mm": 20,
              "required_supplier_detail": "A pletina real é incluída no resguardo mas Hnão está cotada nas fichas consultadas. ConfirmarHmontada<=20com remates; se exceder, trocar perfil/modelo antes da encomenda. Não somar ressalto inventado.",
              "seal": "Fecho magnético +juntas verticais +pletina/vedante inferior +selagem contínua da base/perímetro conforme manual, não apenas silicone aparente."
            },
            "waterproofing": {
              "KERDI200_mm": 0.2,
              "overlap_min_mm": 50,
              "corners": "KERECK +KEBA e colaKERDI-COLL-L",
              "pipe_passages": "guarniçõesKERDI-MV do diâmetro real",
              "floor": "membrana contínua sob todo recinto e ligação ao flange do ralo; prolongar no piso daI.S. e remates/P5 por projeto",
              "walls": "retorno contínuo nas paredes até altura do chuveiro2250; extensão ao teto se recinto for fechado até ao teto, conforme sistema",
              "test": "Ensaio de estanquidade do sistema e ligaçãoDN50 antes de revestir, após cura especificada; acesso ao sifão pelo ralo.",
              "shower_glass_not_waterproofing": "Resguardo não substitui impermeabilização do piso/parede."
            },
            "selected_for_study_only": true,
            "source_url": "https://eu.schluter.com/pt-PT/escoamento-312/e/22093/kerdi-line-h"
          }
        },
        "screen": {
          "line": [
            11.1,
            7.72,
            13.18,
            7.72
          ],
          "height": 2,
          "thickness": 0.01,
          "exactPlan": true,
          "state": "closed",
          "sliding": true,
          "configuration": "2 fixos + 2 portas de correr com fecho central",
          "enclosureR37": {
            "reference": "Duscholux D3 Gredel, frontal2F2P sob medida",
            "nominal_width_mm": 2080,
            "nominal_height_mm": 2000,
            "glass_mm": {
              "fixed": 8,
              "sliding": 6
            },
            "catalogue_width_range_mm": [
              1160,
              2100
            ],
            "adaptation_mm": 10,
            "entry_approx_percent": 41,
            "entry_estimated_mm": 852.8,
            "entry_is_factory_dimension": false,
            "required_clear_entry_target_mm": 800,
            "acceptance": "Exigir plano de encomenda com passagem realmente livre>=800; a percentagem41% é aproximação comercial, não cota de fabrico.",
            "magnetic_closure": true,
            "vertical_seals": true,
            "bottom_strip_included": true,
            "bottom_strip_height_mm": null,
            "finish": "preto mate pretendido; código3984NM consta do manual da série, confirmar variante frontal",
            "swing_outside_room": false,
            "headroom_installation_mm": 700,
            "fixing": "Panos laterais sólidos; fixações escolhidas para substrato, impermeabilizadas pelo sistema.",
            "source_url": "https://www.duscholux.es/es/Producto/D3-Gredel-Frontal-para-ducha-de-2-fijos-2-puertas-correderas",
            "assembly_manual": "referencias/Duscholux_Gredel_MI.pdf",
            "not_hermetic_claim": true,
            "selected_for_study_only": true
          }
        },
        "basin": {
          "id": "IS_C_BASIN",
          "bbox": [
            11.15,
            5.55,
            12.15,
            5.95
          ],
          "height": 0.85,
          "base": 0,
          "exactPlan": false,
          "heightStatus": "visualização nominal",
          "face": "N",
          "width": 1.0,
          "depth": 0.4,
          "accessibleUnder": false,
          "bottom": 0.25,
          "slabThickness": 0.035,
          "fasciaBottom": 0.78,
          "fasciaTop": 0.85,
          "layoutRevision": "R38_S2_ESCOLHIDA",
          "product_selected": false,
          "design_adopted": true,
          "productStudyR36": {
            "basin": "Duravit0338490000",
            "externalMm": [
              525,
              320,
              175
            ],
            "counterTopMm": 850,
            "counterThicknessMm": 35,
            "basinUpperEdgeMm": 815,
            "basinBottomEnvelopeMm": 640,
            "drainCentreCAD": [
              11.65,
              5.685
            ],
            "mixerProjectionMm": 174,
            "purchaseApproved": false,
            "heightDiscrepancyMm": {
              "dimensioned_sheet": 175,
              "portal_description": 210,
              "lowerReserveIf210": 605,
              "confirmationRequired": true
            },
            "rearOverflowReliefMm": 6.25,
            "mixerAxisMm": 1042,
            "spoutOutletMm": 1000,
            "mixerControlCentresMm": 100,
            "mixerBackplateMm": [
              173,
              74
            ],
            "outerBasinBBoxCAD": [
              11.3875,
              5.59,
              11.9125,
              5.91
            ],
            "mixerWallCAD": [
              11.65,
              5.55
            ],
            "spoutOutletCAD": [
              11.65,
              5.724,
              1.0
            ],
            "dimensions_reoriented_for_S_wall": true
          },
          "noteR36": "Nova proposta S1000×400 com gabinete fechado; substitui apenas como comparação a B-W1200 aberta. Não se afirma mesma implantação ou conformidade.",
          "closedCabinet": true,
          "vanityBase": 0.25,
          "cabinetBottom": 0.25,
          "cabinetTop": 0.815,
          "cabinetDoorStudy": {
            "type": "duas portas de abrir",
            "hardware_selected": false,
            "doors_open_during_service_only": true,
            "note": "Varrimento das portas não é parte da manobra livre; uso de arrumação/serviço sequencial. Alternativa deslizante requer ferragem e acesso ao sifão a estudar."
          },
          "drawerCount": 0
        },
        "wc": {
          "id": "IS_C_WC",
          "bbox": [
            12.64,
            7.165,
            13.18,
            7.535
          ],
          "height": 0.45,
          "base": 0,
          "exactPlan": false,
          "heightStatus": "visualização nominal",
          "face": "W",
          "seatHeight": 0.45,
          "panReference": "Duravit D-Code25130900002",
          "product_selected": false,
          "noteR36": "Candidato real540×370. Mantém eixoY7.35 e face acabadaE13.18 APENAS se estrutura/cisterna couberem na parede170 por reconstruir/verificar; produto não comprado. Sem deslocaçãoN junto ao vidro.",
          "cisternStudy": {
            "reference": "Geberit Duofix111.791.00.2, Sigma8cm, substitui111.791.00.1",
            "manufacturer_frame_width_height_body_depth_mm": [
              500,
              1140,
              80
            ],
            "manufacturer_front_cladding_range_mm": [
              10,
              50
            ],
            "installation_envelope_depth_reserve_mm": 130,
            "installation_envelope_is_manufacturer_total": false,
            "scope_of_130": "Reserva de estudo com revestimento25 e zona inferior para curvaDN90/ancoragens. Corpo80 é dimensão do produto, não profundidade total montada.",
            "actuator_reference": "Geberit Sigma20 preto mate115.882.16.1, produto de estudo",
            "actuator_width_height_projection_mm": [
              246,
              164,
              12
            ],
            "actuator_centre_height_mm": 1045,
            "maintenance": "Manutenção e corte do autoclismo acessíveis pela placa amovível. Não fechar essa tampa com móvel, espelho ou revestimento colado.",
            "no_visible_box_inside_bath": true,
            "source_url": "https://catalog.geberit.pt/pt-PT/product/PRO_3938109",
            "procurement_approved": false,
            "wall_id": "W39E",
            "wall_total_mm": 170,
            "frame_bboxCAD": [
              13.205,
              7.1,
              13.285,
              7.6
            ],
            "technical_envelope_bboxCAD": [
              13.18,
              7.1,
              13.31,
              7.6
            ],
            "remaining_back_wall_reserve_mm": 40,
            "actuator_bboxCAD": [
              13.168,
              7.227,
              13.18,
              7.473
            ],
            "condition": "Reconstruir faixa técnica no pano170 sem deslocar face13.18 ou invadirQuarto1. Confirmar estrutura/curvaDN90/ruído. Não cortar parede resistente por inferência de desenho."
          },
          "cisternBBox": [
            13.18,
            7.1,
            13.31,
            7.6
          ],
          "cisternHeight": 1.14,
          "cisternVisible": false,
          "note": "Bacia540×370 de estudo. Autoclismo dentro do envelope da parede; remover qualquer caixa interior herdada. Ver cisternStudy."
        },
        "grabBars": [],
        "barHeight": null,
        "layoutStatus": "PROPOSTA R37 para revisão; não adotada nem certificada; produtos sem compra/fabrico autorizado.",
        "finishStudyR33": {
          "generalCeramic": "greige quente ligeiramente mais escuro",
          "showerCeramic": "pedra discreta mais quente no mesmo conjunto cromático",
          "profileFinish": "preto mate",
          "woodFinish": "carvalho claro natural",
          "vanityFront": "Gabinete fechado, carvalho/lacado, sem gavetas sob a cuba; redes e apoios visitáveis.",
          "mirrorDiameterMm": 800,
          "mirrorCentreHeightMm": 1550,
          "mirrorBacklitKelvinStudy": 3000,
          "productSelected": false,
          "roomGeometryUnchanged": true,
          "ownerAdoptedR36": false
        },
        "mirrorR36": {
          "diameter": 0.8,
          "centreCAD": [
            11.65,
            5.55
          ],
          "centreHeight": 1.55,
          "backlitKelvin": 3000,
          "face": "N"
        },
        "plateAnchors": [],
        "showerAssemblyR36": {
          "wall": "E",
          "wallCAD": [
            13.18,
            8.1
          ],
          "headCAD": [
            12.791,
            8.1
          ],
          "mixerHeightMm": 1100,
          "armHeightMm": 2250,
          "headDiameterMm": 280,
          "armProjectionMm": 389,
          "armReference": "hansgrohe27413670",
          "headReference": "hansgroheCroma26220670",
          "status": "PROPOSTA DE ADENDA, não adotada nem certificada; não encomendar/fabricar.",
          "note": "Braço real389mm, não350. Alturas são propostas, não cotas de fábrica. Misturador/desviador/duche de mão por confirmar como conjunto compatível; origemflexível usada na análiseelétrica é ponto mural do chuveiro."
        },
        "maneuveringStudy": {
          "circleCentreCAD": [
            11.87,
            6.75
          ],
          "circleDiameterMm": 1500,
          "margin_W_mm": 20,
          "margin_basin_S_mm": 50,
          "margin_WC_corner_mm": 124.71423905181867,
          "margin_P8_full_disc_conservative_mm": 169.48268171890757,
          "certified": false,
          "condition": "Só com gabinete/coluna fechados e faceWC13.18 preservada por solução real de cisterna. Necessários área transferência,apoios futuros e parecer do arquiteto."
        }
      },
      {
        "id": "IS_S",
        "roomBBox": [
          -0.05,
          3.25,
          1.84,
          5.68
        ],
        "shower": {
          "id": "IS_S_SHOWER",
          "bbox": [
            -0.05,
            3.25,
            1.84,
            4.15
          ],
          "height": 0,
          "base": 0,
          "material": "tile",
          "exactPlan": false,
          "layoutRevision": "R32",
          "product_selected": false,
          "heightStatus": "Piso revestido com pendente2%, não uma placa plana de25mm.",
          "floorBuildR37": {
            "system": "Schlüter KERDI-LINE-H50 +betonilha inclinada +KERDI200 +bandas/cantos/guarnições do sistema",
            "drain_reference": "KLH50GE170",
            "drain_length_mm": 1700,
            "drain_outer_length_mm": 1750,
            "drain_body_width_wall_mm": 120,
            "cover_width_mm": 74,
            "support_height_mm": 97,
            "outlet_nominal_DN": 50,
            "capacity_l_per_s_at20mm_head": 0.6,
            "capacity_l_per_s_at10mm_head": 0.57,
            "water_seal_height_mm": 30,
            "proposed_drain_centreCAD": [
              0.895,
              3.31
            ],
            "proposed_drain_outer_bboxCAD": [
              0.02,
              3.25,
              1.77,
              3.37
            ],
            "proposed_drain_cover_bboxCAD": [
              0.045,
              3.273,
              1.745,
              3.347
            ],
            "drain_offset_from_back_wall_mm": 60,
            "offset_status": "Proposta geométrica com corpo120; fixar com desenho de instalação da variante de parede e revestimento real.",
            "front_surface_level_mm": 0,
            "dry_floor_level_mm": 0,
            "drain_surface_level_mm": -16.8,
            "back_wall_surface_level_mm": -15.6,
            "slope_percent": 2,
            "long_slope_run_mm": 840,
            "long_fall_mm": 16.8,
            "ceramic_tile_study_mm": 8,
            "tile_adhesive_study_mm": 4,
            "KERDI200_mm": 0.2,
            "membrane_bonding_adhesive_allowance_mm": 2,
            "membrane_is_entire_finished_layer": false,
            "under_cover_build_to_flange_study_mm": 14.2,
            "body_bottom_relative_dry_floor_mm": -128.0,
            "leveling_allowance_mm": 5,
            "acoustic_allowance_mm": 6,
            "total_local_floor_reserve_below_dry_finish_mm": 139.0,
            "floor_reserve_is_measured_existing": false,
            "pipes_falls_slab_not_included": "Altura local calculada não inclui percursoDN50/falls de rede nem travessias de laje, piso radiante, isolamento geral e suporte estrutural.",
            "threshold": {
              "substrate_step_mm": 0,
              "bottom_strip_height_mm": null,
              "assembled_step_target_max_mm": 20,
              "required_supplier_detail": "A pletina real é incluída no resguardo mas Hnão está cotada nas fichas consultadas. ConfirmarHmontada<=20com remates; se exceder, trocar perfil/modelo antes da encomenda. Não somar ressalto inventado.",
              "seal": "Fecho magnético +juntas verticais +pletina/vedante inferior +selagem contínua da base/perímetro conforme manual, não apenas silicone aparente."
            },
            "waterproofing": {
              "KERDI200_mm": 0.2,
              "overlap_min_mm": 50,
              "corners": "KERECK +KEBA e colaKERDI-COLL-L",
              "pipe_passages": "guarniçõesKERDI-MV do diâmetro real",
              "floor": "membrana contínua sob todo recinto e ligação ao flange do ralo; prolongar no piso daI.S. e remates/P5 por projeto",
              "walls": "retorno contínuo nas paredes até altura do chuveiro2250; extensão ao teto se recinto for fechado até ao teto, conforme sistema",
              "test": "Ensaio de estanquidade do sistema e ligaçãoDN50 antes de revestir, após cura especificada; acesso ao sifão pelo ralo.",
              "shower_glass_not_waterproofing": "Resguardo não substitui impermeabilização do piso/parede."
            },
            "selected_for_study_only": true,
            "source_url": "https://eu.schluter.com/pt-PT/escoamento-312/e/22093/kerdi-line-h"
          }
        },
        "screen": {
          "line": [
            -0.05,
            4.13,
            1.84,
            4.13
          ],
          "height": 2,
          "thickness": 0.01,
          "exactPlan": false,
          "fixedWidthStudy": 1.0,
          "entryWidthStudy": 0.9,
          "state": "closed",
          "sliding": true,
          "configuration": "2 fixos + 2 portas de correr com fecho central",
          "enclosureR37": {
            "reference": "Duscholux D2 Aura, frontal2F2P sob medida",
            "nominal_width_mm": 1890,
            "nominal_height_mm": 2000,
            "glass_mm": {
              "fixed": 6,
              "sliding": 6
            },
            "catalogue_width_range_mm": [
              1160,
              2000
            ],
            "adaptation_mm": 20,
            "entry_approx_percent": 43,
            "entry_estimated_mm": 812.7,
            "entry_is_factory_dimension": false,
            "required_clear_entry_target_mm": 800,
            "acceptance": "Exigir plano de encomenda com passagem realmente livre>=800; a percentagem43% é aproximação comercial, não cota de fabrico.",
            "magnetic_closure": true,
            "vertical_seals": true,
            "bottom_strip_included": true,
            "bottom_strip_height_mm": null,
            "finish": "preto mate pretendido; confirmar código da variante",
            "swing_outside_room": false,
            "fixing": "PerfilE em cassete reforçada EWOLUTO. Não aplicar buchas aleatórias ao modelo simples de cassete.",
            "source_url": "https://www.duscholux.es/es/Producto/D2-Aura-Frontal-para-ducha-de-2-fijos-2-puertas-correderas",
            "assembly_manual": "referencias/Duscholux_Aura_MI.pdf",
            "not_hermetic_claim": true,
            "selected_for_study_only": true
          }
        },
        "basin": {
          "id": "IS_S_BASIN",
          "bbox": [
            0.45,
            5.18,
            1.65,
            5.68
          ],
          "height": 0.85,
          "base": 0,
          "face": "S",
          "width": 1.2,
          "depth": 0.5,
          "vanityBase": 0.25,
          "exactPlan": false,
          "product_selected": false,
          "note": "Reserva1200×500 com gabinete fechado sem gavetas. Cuba/sifão e apoios por fechar; candidata Duravit0338490000 sob tampo35 e torneira muralC.1, mesmas ressalvas175/210 do estudoCOM.",
          "closedCabinet": true,
          "accessibleUnder": false,
          "cabinetBottom": 0.25,
          "cabinetTop": 0.815,
          "cabinetDoorStudy": {
            "type": "duas frentes de correr",
            "hardware_selected": false,
            "track_depth_reserve_mm": [
              40,
              50
            ],
            "contained_within_bbox": true,
            "front_overlap_study_mm": 30,
            "front_nominal_width_before_final_gaps_mm": 615,
            "approx_access_each_half_mm": 560,
            "fixed_central_divider": false,
            "reason": "A porta esquerda de abrir600 ao abrir90° cruzaria a sanita na faixaX.45.. .65/Y4.58..4.78. Frentes deslizantes evitam esse varrimento. Confirmar ferragem,extração dos painéis e visitação de sifão/caixas."
          },
          "drawerCount": 0,
          "design_adopted": false,
          "slabThickness": 0.035,
          "bottom": 0.25,
          "productStudyR36": {
            "basin": "Duravit0338490000",
            "externalMm": [
              525,
              320,
              175
            ],
            "counterTopMm": 850,
            "counterThicknessMm": 35,
            "basinUpperEdgeMm": 815,
            "basinBottomEnvelopeMm": 640,
            "drainCentreCAD": [
              1.05,
              5.495
            ],
            "outerBasinBBoxCAD": [
              0.7875,
              5.27,
              1.3125,
              5.59
            ],
            "mixerWallCAD": [
              1.05,
              5.68
            ],
            "spoutOutletCAD": [
              1.05,
              5.506,
              1.0
            ],
            "mixerProjectionMm": 174,
            "purchaseApproved": false,
            "heightDiscrepancyMm": {
              "dimensioned_sheet": 175,
              "portal_description": 210,
              "lowerReserveIf210": 605,
              "confirmationRequired": true
            },
            "rearOverflowReliefMm": 6.25,
            "mixerAxisMm": 1042,
            "spoutOutletMm": 1000,
            "mixerControlCentresMm": 100,
            "mixerBackplateMm": [
              173,
              74
            ]
          },
          "layoutRevision": "R37_PROPOSTA"
        },
        "wc": {
          "id": "IS_S_WC",
          "bbox": [
            -0.05,
            4.405,
            0.49,
            4.775
          ],
          "totalEnvelopeBBox": [
            -0.05,
            4.405,
            0.49,
            4.775
          ],
          "cisternBBox": [
            -0.18,
            4.34,
            -0.05,
            4.84
          ],
          "height": 0.45,
          "base": 0,
          "face": "E",
          "seatHeight": 0.45,
          "exactPlan": false,
          "product_selected": false,
          "panReference": "Duravit D-Code25130900002",
          "note": "Bacia540×370 de estudo. Autoclismo dentro do envelope da parede; remover qualquer caixa interior herdada. Ver cisternStudy.",
          "cisternStudy": {
            "reference": "Geberit Duofix111.791.00.2, Sigma8cm, substitui111.791.00.1",
            "manufacturer_frame_width_height_body_depth_mm": [
              500,
              1140,
              80
            ],
            "manufacturer_front_cladding_range_mm": [
              10,
              50
            ],
            "installation_envelope_depth_reserve_mm": 130,
            "installation_envelope_is_manufacturer_total": false,
            "scope_of_130": "Reserva de estudo com revestimento25 e zona inferior para curvaDN90/ancoragens. Corpo80 é dimensão do produto, não profundidade total montada.",
            "actuator_reference": "Geberit Sigma20 preto mate115.882.16.1, produto de estudo",
            "actuator_width_height_projection_mm": [
              246,
              164,
              12
            ],
            "actuator_centre_height_mm": 1045,
            "maintenance": "Manutenção e corte do autoclismo acessíveis pela placa amovível. Não fechar essa tampa com móvel, espelho ou revestimento colado.",
            "no_visible_box_inside_bath": true,
            "source_url": "https://catalog.geberit.pt/pt-PT/product/PRO_3938109",
            "procurement_approved": false,
            "wall_id": "W exterior/sobVE8",
            "wall_total_mm": 250,
            "frame_bboxCAD": [
              -0.155,
              4.34,
              -0.075,
              4.84
            ],
            "technical_envelope_bboxCAD": [
              -0.18,
              4.34,
              -0.05,
              4.84
            ],
            "remaining_external_wall_reserve_mm": 120,
            "window_sill_mm": 1500,
            "frame_top_mm": 1140,
            "frame_to_sill_gap_mm": 360,
            "actuator_bboxCAD": [
              -0.05,
              4.467,
              -0.038,
              4.713
            ],
            "condition": "Planear faixa técnica na nova paredeW daC2 com quadro autoportante e envolvente térmica/estrutural contínua. Os120restantes não são parede certificada. Se a composição real não couber, estudar engrossamento exterior explícito, não repor caixa interior sem decisão."
          },
          "noteR37": "Elimina caixa interior150. Bacia540 encosta à faceW−.05; frente passa.650→.490, ganhando160. EixoY4.590 mantido.",
          "cisternHeight": 1.14,
          "cisternVisible": false
        },
        "grabBars": [],
        "barHeight": null,
        "layoutStatus": "PROPOSTA R37 para revisão; não adotada nem certificada; produtos sem compra/fabrico autorizado.",
        "finishStudyR33": {
          "generalCeramic": "greige quente ligeiramente mais escuro",
          "showerCeramic": "pedra discreta mais quente no mesmo conjunto cromático",
          "profileFinish": "preto mate",
          "woodFinish": "carvalho claro natural",
          "vanityFront": "Gabinete fechado, carvalho/lacado, sem gavetas sob a cuba; redes e apoios visitáveis.",
          "mirrorDiameterMm": 800.0,
          "mirrorCentreHeightMm": 1550,
          "mirrorBacklitKelvinStudy": 3000,
          "productSelected": false,
          "roomGeometryUnchanged": false,
          "ownerAdoptedR36": false
        },
        "plateAnchors": [],
        "mirrorR36": {
          "diameter": 0.8,
          "centreCAD": [
            1.05,
            5.68
          ],
          "centreHeight": 1.55,
          "backlitKelvin": 3000,
          "face": "S"
        },
        "showerAssemblyR36": {
          "wall": "W",
          "wallCAD": [
            -0.05,
            3.9
          ],
          "headCAD": [
            0.339,
            3.9
          ],
          "mixerHeightMm": 1100,
          "armHeightMm": 2250,
          "headDiameterMm": 280,
          "armProjectionMm": 389,
          "armReference": "hansgrohe27413670",
          "headReference": "hansgroheCroma26220670",
          "status": "PROPOSTA DE ADENDA, não adotada nem certificada; não encomendar/fabricar.",
          "note": "Braço real389mm, não350. Alturas são propostas, não cotas de fábrica. Misturador/desviador/duche de mão por confirmar como conjunto compatível; origemflexível usada na análiseelétrica é ponto mural do chuveiro."
        }
      }
    ],
    "accessories": [
      {
        "id": "BC-TOWEL-HEAT",
        "room": "IS_C",
        "type": "heated_towel_rail",
        "bboxCAD": [
          11.1,
          5.65,
          11.21,
          6.15
        ],
        "bottom_mm": 1018,
        "height_mm": 1282,
        "face": "E",
        "reference": "RocaVictoriaA816641NB0",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Ficha oficial500×1200 no corpo, profundidade90..110 e comando inferior82: envelope conservador1282, fundo1018/top2300. Fundo do comando168mm acima do tampo850 junto ao cantoCOM; afastamentos térmicos/de toalhas e manual de instalação obrigatórios. Produto e integração de comando por escolher; não certificado.",
        "power_W_study": 500,
        "physical_depth_confirmed": true,
        "body_bottom_mm": 1100,
        "body_height_mm": 1200,
        "controller_below_body_reserve_mm": 82,
        "installed_depth_range_mm": [
          90,
          110
        ],
        "finish_note": "NB0 preto mate confirmado em ficha oficial guardada. Disponibilidade e encomenda não confirmadas."
      },
      {
        "id": "BS-TOWEL-HEAT",
        "room": "IS_S",
        "type": "heated_towel_rail",
        "bboxCAD": [
          1.73,
          5.1,
          1.84,
          5.6
        ],
        "bottom_mm": 1018,
        "height_mm": 1282,
        "face": "W",
        "reference": "RocaVictoriaA816641NB0",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Ficha oficial500×1200 no corpo, profundidade90..110 e comando inferior82: envelope conservador1282, fundo1018/top2300. Fundo do comando168mm acima do tampo850 junto ao cantoCOM; afastamentos térmicos/de toalhas e manual de instalação obrigatórios. Produto e integração de comando por escolher; não certificado.",
        "power_W_study": 500,
        "physical_depth_confirmed": true,
        "body_bottom_mm": 1100,
        "body_height_mm": 1200,
        "controller_below_body_reserve_mm": 82,
        "installed_depth_range_mm": [
          90,
          110
        ],
        "finish_note": "NB0 preto mate confirmado em ficha oficial guardada. Disponibilidade e encomenda não confirmadas."
      },
      {
        "id": "BC-PAPER",
        "room": "IS_C",
        "type": "paper_holder",
        "bboxCAD": [
          13.116,
          6.94,
          13.18,
          7.122
        ],
        "bottom_mm": 650,
        "height_mm": 52,
        "face": "W",
        "reference": "RocaVictoriaA817890NB0",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "182×64×52 oficiais; fixar na lateralN do armário de toalhas, sem vidro. Folga51mm ao inícioWC7.165; confirmar alcance real.",
        "notes": "Transferido da coluna eliminada para paredeE,43mm antes do inícioY7.165 da bacia; altura650."
      },
      {
        "id": "BS-PAPER",
        "room": "IS_S",
        "type": "paper_holder",
        "bboxCAD": [
          -0.05,
          4.85,
          0.014,
          5.032
        ],
        "bottom_mm": 650,
        "height_mm": 52,
        "face": "E",
        "reference": "RocaVictoriaA817890NB0",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "ParedeW abaixo da janelaVE8; papel abaixoZ702, janela começaZ1500. Não é fixação em vidro/cassete."
      },
      {
        "id": "BC-BRUSH",
        "room": "IS_C",
        "type": "toilet_brush",
        "bboxCAD": [
          13.09,
          7.59,
          13.18,
          7.68
        ],
        "bottom_mm": 180,
        "height_mm": 431,
        "face": "W",
        "reference": "RocaHotelsA817587C40",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "90×90×431 oficiais;55mm depois doWC e40antes do vidro. Confirmar limpeza/extração vertical e fixação sem tocar vidro."
      },
      {
        "id": "BS-BRUSH",
        "room": "IS_S",
        "type": "toilet_brush",
        "bboxCAD": [
          -0.05,
          5.13,
          0.04,
          5.22
        ],
        "bottom_mm": 180,
        "height_mm": 431,
        "face": "E",
        "reference": "RocaHotelsA817587C40",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "ParedeW sob janela;160mm até à frente da colunaN. Confirmar pormenor de limpeza."
      },
      {
        "id": "BC-BIN",
        "room": "IS_C",
        "type": "bin",
        "bboxCAD": [
          12.94,
          6.65,
          13.108,
          6.885
        ],
        "bottom_mm": 0,
        "height_mm": 264,
        "face": "W",
        "reference": "BrabantiaNewIcon3L112164",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "168×235×264 oficiais; tampa aberta411, sob coluna que começa450:39mm acima da tampa. Não confundir dimensões de embalagem.",
        "lid_open_top_mm": 411
      },
      {
        "id": "BS-BIN",
        "room": "IS_S",
        "type": "bin",
        "bboxCAD": [
          -0.02,
          4.86,
          0.148,
          5.095
        ],
        "bottom_mm": 0,
        "height_mm": 264,
        "face": "E",
        "reference": "BrabantiaNewIcon3L112164",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "80mm aN doWC;35mm até à piaçaba. Tampa aberta411; objeto móvel, não fixar sobre tubagens.",
        "lid_open_top_mm": 411
      },
      {
        "id": "BC-SOCKET",
        "room": "IS_C",
        "type": "socket",
        "bboxCAD": [
          12.06,
          5.55,
          12.14,
          5.565
        ],
        "bottom_mm": 1060,
        "height_mm": 80,
        "face": "N",
        "reference": null,
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Centro1100; placa80×80 é reserva, não produto escolhido.9cm antes do inícioP8,espelho termina12.05 com10mm até placa. Escova/barbear; eletricista valida volume,classe,circuito/proteção e selações."
      },
      {
        "id": "BS-SOCKET",
        "room": "IS_S",
        "type": "socket",
        "bboxCAD": [
          1.51,
          5.665,
          1.59,
          5.68
        ],
        "bottom_mm": 1110,
        "height_mm": 80,
        "face": "S",
        "reference": null,
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Centro1150; reserva80×80,espelho terminaX1.45→60mm até placa. Fora do bolsoP5; produto/proteções por eletricista."
      },
      {
        "id": "BC-EXTRACT",
        "room": "IS_C",
        "type": "extraction",
        "bboxCAD": [
          11.465,
          8.035,
          11.635,
          8.205
        ],
        "bottom_mm": 2670,
        "height_mm": 30,
        "face": "down",
        "reference": "ZehnderComfoValveLunaE125705613128",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Ø170,DN125,total102 oficiais. Boca passiva no teto, ligar à VMC; caudal,retorno/transferência,rede,plenum e acústica porAVAC. Reservar pelo menos102 acima/na montagem, sem fingir vazio de teto existente.",
        "connection_DN_mm": 125,
        "total_product_height_mm": 102
      },
      {
        "id": "BS-EXTRACT",
        "room": "IS_S",
        "type": "extraction",
        "bboxCAD": [
          0.765,
          3.615,
          0.935,
          3.785
        ],
        "bottom_mm": 2670,
        "height_mm": 30,
        "face": "down",
        "reference": "ZehnderComfoValveLunaE125705613128",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Ø170,DN125,total102; boca passiva no teto do duche. Percurso atéVMC e caudal por calcular.",
        "connection_DN_mm": 125,
        "total_product_height_mm": 102
      },
      {
        "id": "BC-FLOOD-BASIN",
        "room": "IS_C",
        "type": "flood_sensor",
        "bboxCAD": [
          11.52,
          5.66,
          11.597,
          5.737
        ],
        "bottom_mm": 268,
        "height_mm": 23,
        "face": "up",
        "reference": "ShellyFloodSGen4S4SN-0071Z",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Ø77×23,IP67,CR123A eHomeAssistant nas fontes oficiais. BASIN sobre fundo/bandeja interiorZ268 (base250+painel18 de estudo), não no pavimento sob caixa fechada: desenhar percurso de escorrência. WC no pavimento seco, fora do duche. Não deteta automaticamente fugas retidas dentro de parede. Acesso para teste/bateria e cobertura de percursos a afinar."
      },
      {
        "id": "BC-FLOOD-WC",
        "room": "IS_C",
        "type": "flood_sensor",
        "bboxCAD": [
          13.09,
          7.08,
          13.167,
          7.157
        ],
        "bottom_mm": 0,
        "height_mm": 23,
        "face": "up",
        "reference": "ShellyFloodSGen4S4SN-0071Z",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Ø77×23,IP67,CR123A eHomeAssistant nas fontes oficiais. BASIN sobre fundo/bandeja interiorZ268 (base250+painel18 de estudo), não no pavimento sob caixa fechada: desenhar percurso de escorrência. WC no pavimento seco, fora do duche. Não deteta automaticamente fugas retidas dentro de parede. Acesso para teste/bateria e cobertura de percursos a afinar."
      },
      {
        "id": "BS-FLOOD-BASIN",
        "room": "IS_S",
        "type": "flood_sensor",
        "bboxCAD": [
          1.0,
          5.45,
          1.077,
          5.527
        ],
        "bottom_mm": 268,
        "height_mm": 23,
        "face": "up",
        "reference": "ShellyFloodSGen4S4SN-0071Z",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Ø77×23,IP67,CR123A eHomeAssistant nas fontes oficiais. BASIN sobre fundo/bandeja interiorZ268 (base250+painel18 de estudo), não no pavimento sob caixa fechada: desenhar percurso de escorrência. WC no pavimento seco, fora do duche. Não deteta automaticamente fugas retidas dentro de parede. Acesso para teste/bateria e cobertura de percursos a afinar."
      },
      {
        "id": "BS-FLOOD-WC",
        "room": "IS_S",
        "type": "flood_sensor",
        "bboxCAD": [
          0.11,
          4.3,
          0.187,
          4.377
        ],
        "bottom_mm": 0,
        "height_mm": 23,
        "face": "up",
        "reference": "ShellyFloodSGen4S4SN-0071Z",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Ø77×23,IP67,CR123A eHomeAssistant nas fontes oficiais. BASIN sobre fundo/bandeja interiorZ268 (base250+painel18 de estudo), não no pavimento sob caixa fechada: desenhar percurso de escorrência. WC no pavimento seco, fora do duche. Não deteta automaticamente fugas retidas dentro de parede. Acesso para teste/bateria e cobertura de percursos a afinar."
      },
      {
        "id": "BC-VALVES-IND",
        "room": "IS_C",
        "type": "valve_box",
        "bboxCAD": [
          11.195,
          5.55,
          11.465,
          5.63
        ],
        "bottom_mm": 320,
        "height_mm": 190,
        "face": "N",
        "reference": "Caleffi359410",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Caixa real270×190×80 de4AF+3AQ; individualizar lavatório/duche/cisterna, cegando sobras junto ao coletor. Dentro do móvel, acessível pela porta; não rasgarW25/cassete. Tampa359801294×214×8 ou359700conforme ficha por validar pelo colega água.",
        "cover_mm": [
          294,
          214,
          8
        ]
      },
      {
        "id": "BC-VALVES-GEN",
        "room": "IS_C",
        "type": "valve_box",
        "bboxCAD": [
          11.916,
          5.55,
          12.106,
          5.63
        ],
        "bottom_mm": 320,
        "height_mm": 190,
        "face": "N",
        "reference": "Caleffi359190",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Caixa190×190×80 para cortes geraisAF/AQ a montante dos individuais. Tampa própria359892/893214×214×8. Não usar tampa359801 nesta caixa.",
        "cover_mm": [
          214,
          214,
          8
        ]
      },
      {
        "id": "BS-VALVES-IND",
        "room": "IS_S",
        "type": "valve_box",
        "bboxCAD": [
          0.5,
          5.6,
          0.77,
          5.68
        ],
        "bottom_mm": 320,
        "height_mm": 190,
        "face": "S",
        "reference": "Caleffi359410",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Caixa real270×190×80 de4AF+3AQ; individualizar lavatório/duche/cisterna, cegando sobras junto ao coletor. Dentro do móvel, acessível pela porta; não rasgarW25/cassete. Tampa359801294×214×8 ou359700conforme ficha por validar pelo colega água.",
        "cover_mm": [
          294,
          214,
          8
        ]
      },
      {
        "id": "BS-VALVES-GEN",
        "room": "IS_S",
        "type": "valve_box",
        "bboxCAD": [
          1.416,
          5.6,
          1.606,
          5.68
        ],
        "bottom_mm": 320,
        "height_mm": 190,
        "face": "S",
        "reference": "Caleffi359190",
        "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
        "note": "Caixa190×190×80 para cortes geraisAF/AQ a montante dos individuais. Tampa própria359892/893214×214×8. Não usar tampa359801 nesta caixa.",
        "cover_mm": [
          214,
          214,
          8
        ]
      }
    ],
    "P5_proposal": {
      "id": "P5",
      "category": "P",
      "bbox": [
        1.84,
        4.175,
        2,
        5.025
      ],
      "width": 0.85,
      "height": 2.1,
      "sill": 0.0,
      "head": 2.1,
      "orientation": "vertical",
      "facade": null,
      "rooms": [
        "Closet suíte",
        "I.S. Suite"
      ],
      "type": "Correr embutida em estudo",
      "materialDescription": "Porta de correr; acabamento e kit por fechar",
      "notes": "EWOLUTO800×2100: alvo800claro conservado emY4.20..5.00; não é troca sem cálculo da antiga reserva900.",
      "transparent": false,
      "frosted": false,
      "sliding": true,
      "frameMaterial": "wall",
      "exactPlan": false,
      "clearWidth": 0.8,
      "leafWidth": 0.825,
      "leafThickness": 0.04,
      "leafNominalHeight": 2.11,
      "frameAllowance": 0.05,
      "doorGeometry": {
        "bbox": [
          1.84,
          4.175,
          2,
          5.025
        ],
        "slide": "south",
        "pocket": [
          1.85,
          3.313,
          2,
          4.175
        ],
        "clear_bbox": [
          1.84,
          4.2,
          2,
          5
        ],
        "leafClosedBBox": [
          1.905,
          4.1875,
          1.945,
          5.0125
        ],
        "leafOpenBBox": [
          1.905,
          3.3315,
          1.945,
          4.1565
        ],
        "leafTravel": 0.856,
        "nominalParkingMarginEach": 0.0185,
        "factory_outer_frame_bbox": [
          1.85,
          3.295,
          2,
          5.071
        ],
        "factory_frame_total_width_mm": 1776,
        "factory_frame_total_height_mm": 2205,
        "cassette_body_width_mm": 862,
        "untrimmed_opening_mm": 850,
        "trim_allowance_each_mm": 25,
        "leaf_width_mm": 825,
        "leaf_height_mm": 2110,
        "manufacturing_position_verified": false,
        "explanation": "18terminalS +862caixa +850A +46terminalN =1776.850−2×25=800.Implantaçãoinferida da ficha para conservar o claro: submeter planta ao fabricante."
      },
      "layoutRevision": "R37_PROPOSTA",
      "thresholdFloorBBox": [
        1.84,
        4.175,
        2,
        5.025
      ],
      "thresholdMaterial": "tile",
      "thresholdNote": "Soleira interior de ligação entre os pisos; não é um compartimento adicional.",
      "leafWidthStatus": "825da fichaECLISSE03/2026; folha de estudo, não fabricar.",
      "frameStudyR37": {
        "reference": "ECLISSE EWOLUTO, enlucido150, una hoja800×2100",
        "source_url": "https://eclisse.es/wp-content/uploads/2026/04/ft-eclisseewoluto-ewolutoextension.pdf",
        "manufacturer_finished_plaster_wall_mm": 150,
        "additional_wet_finish_allowance_mm": 10,
        "resulting_total_wall_mm": 160,
        "old_bath_face_x": 1.85,
        "new_bath_face_x": 1.84,
        "clear_unchanged": true,
        "closet_and_bed_unchanged": true,
        "load_fixing": "EWOLUTO permite cargas/resguardos segundo fabricante. Aprovar combinação com perfilAura, pontos/profundidade/ancoragem e impermeabilização; não reutilizar cassette simples."
      }
    },
    "wall_changes": [
      {
        "id": "W_IS_CL_S",
        "old_bbox": [
          1.85,
          3.25,
          2,
          4.15
        ],
        "new_bbox": [
          1.84,
          3.25,
          2,
          4.175
        ],
        "why": "EWOLUTO reforçada150 +10acabamento húmido; preencher25do antigo vão para encaixarA850 e conservar claro800."
      },
      {
        "id": "W_IS_CL_N",
        "old_bbox": [
          1.85,
          5.05,
          2,
          5.68
        ],
        "new_bbox": [
          1.84,
          5.025,
          2,
          5.68
        ],
        "why": "Recomposição do aro/terminal mantendo claroY4.20..5.00; heatercomeça5.10."
      }
    ],
    "storage": {
      "IS_C": {
        "external_width_depth_height_mm": [
          1000,
          400,
          565
        ],
        "internal_rectangular_width_depth_height_mm": [
          964,
          370,
          529
        ],
        "gross_internal_envelope_l": 188.684,
        "deduct_bowl210_l": 35.969,
        "deduct_drain_service_l": 19.411,
        "deduct_valve_bodies_l": 6.992,
        "residual_geometric_study_l": 126.311,
        "not_usable_storage_capacity": "É saldo volumétrico aproximado depois de reservas retangulares conservadoras, não litros úteis. Há envelopes sobrepostos às próprias espessuras; não é medição de capacidade comercial. Portas/calhas, clips/apoios, ligações e acesso reduzem mais.",
        "clean_storage_proposal": {
          "removable_trays": 2,
          "each_external_mm": [
            240,
            200,
            180
          ],
          "gross_tray_volume_each_l": 8.64,
          "gross_total_tray_volume_l": 17.28,
          "bboxCAD_each": [
            [
              11.21,
              5.72,
              11.45,
              5.92
            ],
            [
              11.85,
              5.72,
              12.09,
              5.92
            ]
          ],
          "bottom_mm": 268,
          "height_mm": 180,
          "location": "zona frontal inferior lateral, abaixo605, afastada do sifão central; retirar tabuleiros para visitar cortes. Confirmar dimensões internas reais de cada tabuleiro.",
          "no_fixed_shelf_crossing_trap": true,
          "organization": [
            {
              "tray": 1,
              "content": "Duas toalhas de banho dobradas",
              "folded_each_mm": [
                200,
                180,
                80
              ],
              "count": 2,
              "assembly_mm": [
                200,
                180,
                160
              ]
            },
            {
              "tray": 2,
              "content": "Dois rolos de papel de reserva e pequeno estojo dehigiene",
              "roll_diameter_mm": 110,
              "roll_length_mm": 100,
              "count": 2,
              "rolls_assembly_mm": [
                220,
                100,
                110
              ],
              "case_envelope_mm": [
                220,
                70,
                100
              ]
            }
          ]
        },
        "water_boxes": {
          "individual": "Caleffi359410,270×190×80,3AF+2AQusados, restantes cegados",
          "general": "Caleffi359190,190×190×80,cortes geraisAF/AQ",
          "cover_individual": "359801,294×214×8",
          "cover_general": "359892/893,214×214×8",
          "access": "tampas íntegra e removíveis por frente; painéis/tabuleiros/ferragens não bloqueiam visitação"
        },
        "clean_chemical_separation": "Só toalhas/papel/reserva limpa nos tabuleiros; detergentes domésticos ficam na lavandaria, fora do espaço de higiene.",
        "wall_storage_removed_R38": true,
        "storage_limit": "Dimensões de dobra/rolos são amostras de utilização, não capacidade comercial: testar com as toalhas/rolos reais; tabuleiros removem-se para acesso às válvulas. Roupabranca de reserva emARR_N, sem armário suspenso no banho.",
        "family_backstock_location": "ARR_N na distribuição: duasprateleiras reservadas a8toalhasdebanho, restantes a toalhasdemãos/rosto/roupabranca; não medicamentosnem químicos."
      },
      "IS_S": {
        "external_width_depth_height_mm": [
          1200,
          500,
          565
        ],
        "internal_rectangular_width_depth_height_mm": [
          1164,
          438,
          529
        ],
        "gross_internal_envelope_l": 269.701,
        "deduct_bowl210_l": 35.969,
        "deduct_drain_service_l": 19.411,
        "deduct_valve_bodies_l": 6.992,
        "residual_geometric_study_l": 207.329,
        "not_usable_storage_capacity": "É saldo volumétrico aproximado depois de reservas retangulares conservadoras, não litros úteis. Há envelopes sobrepostos às próprias espessuras; não é medição de capacidade comercial. Portas/calhas, clips/apoios, ligações e acesso reduzem mais.",
        "clean_storage_proposal": {
          "removable_trays": 2,
          "each_external_mm": [
            240,
            200,
            180
          ],
          "gross_tray_volume_each_l": 8.64,
          "gross_total_tray_volume_l": 17.28,
          "bboxCAD_each": [
            [
              0.51,
              5.2,
              0.75,
              5.4
            ],
            [
              1.35,
              5.2,
              1.59,
              5.4
            ]
          ],
          "bottom_mm": 268,
          "height_mm": 180,
          "location": "zona frontal inferior lateral, abaixo605, afastada do sifão central; retirar tabuleiros para visitar cortes. Confirmar dimensões internas reais de cada tabuleiro.",
          "no_fixed_shelf_crossing_trap": true,
          "organization": [
            {
              "tray": 1,
              "content": "Duas toalhas de banho dobradas",
              "folded_each_mm": [
                200,
                180,
                80
              ],
              "count": 2,
              "assembly_mm": [
                200,
                180,
                160
              ]
            },
            {
              "tray": 2,
              "content": "Dois rolos de papel de reserva e pequeno estojo dehigiene",
              "roll_diameter_mm": 110,
              "roll_length_mm": 100,
              "count": 2,
              "rolls_assembly_mm": [
                220,
                100,
                110
              ],
              "case_envelope_mm": [
                220,
                70,
                100
              ]
            }
          ]
        },
        "water_boxes": {
          "individual": "Caleffi359410,270×190×80,3AF+2AQusados, restantes cegados",
          "general": "Caleffi359190,190×190×80,cortes geraisAF/AQ",
          "cover_individual": "359801,294×214×8",
          "cover_general": "359892/893,214×214×8",
          "access": "tampas íntegra e removíveis por frente; painéis/tabuleiros/ferragens não bloqueiam visitação"
        },
        "clean_chemical_separation": "Só toalhas/papel/reserva limpa nos tabuleiros; detergentes domésticos ficam na lavandaria, fora do espaço de higiene.",
        "wall_storage_removed_R38": true,
        "storage_limit": "Dimensões de dobra/rolos são amostras de utilização, não capacidade comercial: testar com as toalhas/rolos reais; tabuleiros removem-se para acesso às válvulas. Roupabranca de reserva emARR_N, sem armário suspenso no banho.",
        "family_backstock_location": "ARR_N na distribuição: duasprateleiras reservadas a8toalhasdebanho, restantes a toalhasdemãos/rosto/roupabranca; não medicamentosnem químicos."
      }
    },
    "comparison": [
      {
        "id": "S2_R36",
        "adopted": false,
        "changes": "Colunas altas e vidroabertoR36 superados por pedido novo; preserve como arquivo."
      },
      {
        "id": "S2_R37",
        "adopted": false,
        "changes": "S1000com gabinete fechado +WC540/Sigma8,E; semcoluna; resguardoGredelfechado."
      },
      {
        "id": "B_W_CLOSED",
        "adopted": false,
        "reject_as_verified": "Reduzir1200→1000na paredeW não remove a projeção400 no círculo antigo, que continua centrado na mesmafaixa. Não resolver só com novo render."
      }
    ],
    "glass_alternatives": [
      {
        "id": "SU_Gredel1900",
        "rejected_for_target800": true,
        "estimate_mm": 779,
        "reason": "41%de1900não demonstra800. PreferirAura1890com813estimados e cota de encomenda."
      },
      {
        "id": "SU_ProfiltekTA210",
        "alternative": true,
        "manufacturer_claims": "3painéis/6mm/H1950/fixação sem furar parede, gamaaté2000 na fonteoficialblog; sem hermeticidade garantida.",
        "source": "https://blog.profiltek.com/es/ideas/nueva-serie-de-mamparas-de-ducha-take-de-profiltek",
        "not_selected": "Acabamento preto não confirmado na documentação atual e abertura exata depende de pedido. Não desenhar preto sem referência real."
      },
      {
        "id": "HINGED_FRONT",
        "not_recommended": true,
        "reason": "COMbaixo espaço entre frente doWC e resguardo; SUWCaoW e P5aoE. Correr elimina varrimento externo; portasbatentes precisam geometria própria, não espelhar sem auditar."
      }
    ],
    "interfaces": [
      {
        "id": "P5_FIXING",
        "action": "Trocar cassete comum pelaEWOLUTO reforçada, acabamento húmido e ancoragemAura validados; sem poste inventado.",
        "critical_detail": "O perfilEdo resguardoY4.13 fica45mmantes do bordo da caixa4.175. Ancoragem/espessura/resistência nas faixas concretas por ambos fabricantes, não licença genérica para perfurar."
      },
      {
        "id": "W_SUITE_CISTERN",
        "action": "Projetar faixa técnica embutida na nova paredeW250, autoportante com isolamento/acústica/selagem; corpo80 é produto, envelope130éreserva.",
        "fallback": "Se não couber a composição térmica/estrutural, estudar engrossamento exterior localizado, com fachada e vão atualizados. Não reintroduzir caixa interior de150 escondida no render."
      },
      {
        "id": "COMMON_CISTERN",
        "action": "Sigma8emvezSigma12, reconciliação do pano170com estrutura, descarga e proteção acústica sem avançar faceE13.18."
      },
      {
        "id": "FLOOR_LEVELS",
        "action": "Reserva local abaixo piso é cálculo de estudo; projetar cota da laje e percursoDN50 antes de contratar base/resguardo. Nada de assumir piso plano com simples chapa25."
      },
      {
        "id": "GLASS_CLEAR_AND_THRESHOLD",
        "action": "Plano final do fabricante com abertura>=800e desnível totalmontado<=20inclpletina. Não usar percentagens comerciais como cota garantida."
      }
    ],
    "references": [
      {
        "id": "AURA",
        "url": "https://www.duscholux.es/es/Producto/D2-Aura-Frontal-para-ducha-de-2-fijos-2-puertas-correderas",
        "file": "referencias/Duscholux_Aura_MI.pdf",
        "manual_pages": [
          4,
          9,
          11
        ],
        "notes": "M8244/09-2026,2F2P; juntas, pletina8619 e esquema de selagem/24h."
      },
      {
        "id": "GREDEL",
        "url": "https://www.duscholux.es/es/Producto/D3-Gredel-Frontal-para-ducha-de-2-fijos-2-puertas-correderas",
        "file": "referencias/Duscholux_Gredel_MI.pdf",
        "manual_pages": [
          13,
          20,
          21
        ],
        "notes": "451762/08-2024;2F2Pgrupo13..21. pletina8619/vedações, não altura cotada da soleira."
      },
      {
        "id": "EWOLUTO",
        "url": "https://eclisse.es/wp-content/uploads/2026/04/ft-eclisseewoluto-ewolutoextension.pdf",
        "file": "referencias/Eclisse_Ewoluto_FT_2026.pdf",
        "pages": [
          1
        ],
        "notes": "03/2026:800×2100,1776×2205,A850,B862,LP825,PA150. MI indica argamassa cimentícia/cura15dias entre fases."
      },
      {
        "id": "EWOLUTO_USE",
        "url": "https://www.eclisse.com/media/filer_public/f9/73/f97313b2-e6f5-41bf-bcf8-47df01fad0f8/ecl_cat_international_18_rev11.pdf",
        "pages": [
          34
        ],
        "notes": "Fabricante inclui showerboxes entre os usos. Cargas específicas e ancoragem por técnico."
      },
      {
        "id": "SIGMA8",
        "url": "https://catalog.geberit.pt/pt-PT/product/PRO_3938109",
        "files": [
          "referencias/Geberit_111791002_front.jpg",
          "referencias/Geberit_111791002_side.jpg",
          "referencias/Geberit_111791002_plan.jpg"
        ],
        "notes": "Imagens1perspetiva,2frontal,3corte lateral; nomes de ficheiro não são orientação técnica.500×1140/corpo80/revestimento10..50,curvaDN90."
      },
      {
        "id": "SIGMA20",
        "url": "https://www.geberit.pt/_assets/local-media/pdf/price-lists-1/2026/tabela-precos-solucoes-geberit-2026.pdf",
        "notes": "115.882.16.1,246×164,preto mate anti-dedadas; produto de estudo."
      },
      {
        "id": "DRAIN",
        "url": "https://assets.schluter.com/asset/570120892212/document_s44k5nbtt560jcobps02v27k4s/schlueter_db_8_7_kerdi_line_h_pt.pdf?content-disposition=inline",
        "file": "referencias/Schluter_Kerdi_Line_PT.pdf",
        "pages": [
          1,
          2,
          4,
          14
        ],
        "notes": "H50altura97,DN50,capacidade0.6L/s@20mm/0.57@10mm,selo30; seleção da referência/pavimento final por projeto."
      },
      {
        "id": "MEMBRANE",
        "url": "https://eu.schluter.com/statics/www_schlueter_gb_2x/downloads/cumulus/schlueter_db_8_1_kerdi_uk.pdf",
        "pages": [
          4
        ],
        "notes": "KERDI2000.2mm,bandas/guarnições; sobreposições50mm segundo sistema. Espessuras de cola não desaparecem no corte."
      },
      {
        "id": "BASIN_WATER",
        "file": "../../R36/adenda_agua/Dossier_Agua_Fugas_Banhos_Adenda_R36.json",
        "notes": "Referências das caixas e sensores mantidas, mas vínculo de geometria deve apontar ao novoR37 se integrado."
      }
    ],
    "pending_before_order": [
      "Planta de encomenda resguardos com larguralivre/pletina/cotas finais após azulejo",
      "Pormenor de fixação Aura/EWOLUTO e selagem sobre a nova parede160",
      "Parecer estrutural/térmico/acústico de faixas de cisterna nas paredes250/170",
      "Cotas de laje/betonilha/DN50/piso radiante e teste de estanqueidade",
      "CubaH175/210e cauda/sifão ainda condicionados; não inventar recorte de fabrico",
      "Ferragens/apoios/cargas dos pequenos armários e acesso às caixas/sensores",
      "Manobra/transferência/apoiosfuturos/volumes elétricos e ventilação revistos nas especialidades"
    ],
    "reference_manifest": [
      {
        "name": "Profiltek_Catalogue_Made_To_Measure.pdf",
        "url": "https://www.profiltek.com/download/Catalogue-Profiltek-made-to-measure.pdf",
        "bytes": 15304619,
        "sha256": "b26d02de953f9c0c9b968955607454303426fc21b687875e76bb5c4e3dfad116",
        "cached": true
      },
      {
        "name": "Eclisse_Ewoluto_FT_2026.pdf",
        "url": "https://eclisse.es/wp-content/uploads/2026/04/ft-eclisseewoluto-ewolutoextension.pdf",
        "bytes": 364832,
        "sha256": "90a89e09f33ba29fa41787f43d26ad520578049ada7e7527ae49d3b03d43d2eb",
        "cached": true
      },
      {
        "name": "Eclisse_Ewoluto_MI.pdf",
        "url": "https://eclisse.es/wp-content/uploads/2023/04/im-ewoluto-604002100.pdf",
        "bytes": 1285637,
        "sha256": "b78543787e33f4c7f686e418024681808cec5f9522ea83d2a2b62a3264e828ca",
        "cached": true
      },
      {
        "name": "Duscholux_Gredel_MI.pdf",
        "url": "https://www.duscholux.es/medium/451762.pdf?m=7111",
        "bytes": 13145075,
        "sha256": "03f374901aa3f8b14f811c1a0013f7153dc8f8b9ead2ea87980a25baf63ddfba",
        "cached": true
      },
      {
        "name": "Duscholux_Nicho.pdf",
        "url": "https://www.duscholux.es/medium/NICHO_ESP_v8-%281%29.pdf?m=7070",
        "bytes": 215500,
        "sha256": "3d27d667cfd57fc99a3e712bec31f1a5448b293916ff9b969bafb05f186f01a0",
        "cached": true
      },
      {
        "name": "Schluter_Kerdi_Line_PT.pdf",
        "url": "https://assets.schluter.com/asset/570120892212/document_s44k5nbtt560jcobps02v27k4s/schlueter_db_8_7_kerdi_line_h_pt.pdf?content-disposition=inline",
        "bytes": 9457170,
        "sha256": "e50e93adb799c1bb8781c10141c200de071f46fdd01b8a627f89cd416752a999",
        "type": "application/pdf"
      },
      {
        "name": "Schluter_Kerdi_Line_MI.pdf",
        "url": "https://assets.schluter.com/asset/570120892212/document_lagnltrck95dp4okbdc940eg40/553081_Instrucoes_de_montagem_KERDI_LINE_H_ML_PT.pdf?content-disposition=inline",
        "bytes": 1464876,
        "sha256": "8791afcef642ac30acd8f56b1c90df3559f700261b5cc25975312493e7153a86",
        "type": "application/pdf"
      },
      {
        "name": "Duscholux_Aura_MI.pdf",
        "url": "https://www.duscholux.es/medium/M8244_D2-AURA-_FRONTAL-Y-ANGULAR-2F2P_v1.0.pdf?m=7909",
        "bytes": 6573312,
        "sha256": "74a76cf27a0d82ae75cc57c6a8edde19279f86775d8fc6ca0f7686697f493066",
        "type": "application/octet-stream"
      },
      {
        "name": "Geberit_111791002_front.jpg",
        "url": "https://images.data.geberit.com/image/upload/f_auto%2Ct_ProductMedium/33/28/DAS_4073328_20250312_135204.jpg",
        "bytes": 15686,
        "sha256": "7740d5d7218c2a72d8ee74fcecd4f052d0c3d42de4c5d458ae885b72995d17a3",
        "cached": true
      },
      {
        "name": "Geberit_111791002_side.jpg",
        "url": "https://images.data.geberit.com/image/upload/f_auto%2Ct_ProductMedium/33/29/DAS_4073329_20250312_135154.jpg",
        "bytes": 18371,
        "sha256": "cd58568f716302dcf889e4c085c479df8a69201a026bcf302f69b947dbe02b0c",
        "cached": true
      },
      {
        "name": "Geberit_111791002_plan.jpg",
        "url": "https://images.data.geberit.com/image/upload/f_auto%2Ct_ProductMedium/33/30/DAS_4073330_20240910_155924.jpg",
        "bytes": 9986,
        "sha256": "7cf22f11064350b4192ed8029d62f697b524718560acaa4e22862a8c715c6ba3",
        "cached": true
      }
    ],
    "rejected_wall_cabinets_R38": [
      "BC-TOWEL-CAB",
      "BS-TOWEL-CAB"
    ],
    "current_revision": "R38",
    "adoption_by_room": {
      "IS_C": "ESCOLHIDA_PARA_DESENVOLVIMENTO",
      "IS_S": "C2_PRESERVADA_SEM_ARMARIO_NA_PAREDE"
    }
  },
  "laundryConstructionR37": {
    "revision": "R37-LAV-ESTUDO-01",
    "date": "2026-10-29",
    "status": "PROPOSTA NÃO ADOTADA; NÃO É EXECUÇÃO OU LIBERAÇÃO DE FABRICO",
    "scope": "Reavaliação funcional da lavandaria 3900 × 2650 parafamília 4, sem alterarglobal/plantaadotada R36.",
    "units": "CADmetres; cotasmmde estudoondeindicado; Zapartirdopisoacabado",
    "baseline": [
      {
        "path": "tmp/R36/lavandaria/Lavandaria_Coordenada_R36.json",
        "sha256": "f 29439189335532 b 5843 e 18 e 33 a 2 e 73 f 3 db 2206 c 0 a 01 ed 01 e 6 f 140 dbc 29011 e 8"
      },
      {
        "path": "output/R36_Decisoes_Coordenadas/Dados_Coordenados_R36.json",
        "sha256": "7 a 77 a 068 e 6 ecf 7 ea 30858 ee 19846 c 3 ef 2 d 91 a 60 e 7 baccb 778 b 367 c 7499603643"
      }
    ],
    "recommendation": {
      "id": "L37-A780",
      "name": "Pia 780 real e 280 mmrecuperados da faixa W",
      "sequence_preserved": [
        "AQS",
        "VMC",
        "máquinaselevadasladoalado",
        "pia"
      ],
      "changes": [
        "AQS, VMC, máquinas esuperioresdeslocados 280 mmpara W; mantidaordem.",
        "Folgaesquerda AQS 140,20 acimadomínimo 120 nafonte ES. Nãoéfolga deobra verificada.",
        "Móvelpia 500→780, produto REALUNA 57 commóvelmín 600; duas portas, sem gavetasna zona deágua.",
        "Móvelsobpia efrentessemprojeçãodepuxador; P6 a 50 mmem vez 37 com puxador.",
        "Manterdespensa 5 colunas/6 gavetasrigorosamenteigual; não converteralimentos emzona húmida.",
        "Nãoadotartampo alto 1300 como bancadadedobragem. Folga 13 eapoiospermanecemumainterfaceporvalidar; pode ficarsem tampa fixa se BSHnãoaprovar."
      ],
      "geometry": {
        "machine_station": {
          "bbox": [
            1.81,
            5.85,
            3.07,
            6.55
          ],
          "width": 1.26,
          "depth": 0.7,
          "base": 0.4,
          "top": 1.3,
          "machine_body_width": 0.598,
          "machine_body_centres_x": [
            2.13,
            2.75
          ],
          "drawer_target_l": null,
          "condition": "Estrutura de suporte, retenção antiqueda, vibração, ligações e elevação a validar para os modelos efetivamente fornecidos. Não fabricar um simples móvel sob os aparelhos.",
          "occupied_bbox": [
            1.81,
            5.85,
            3.07,
            6.562
          ],
          "selected_models": [
            "WG54N2A0ES",
            "WQ46N2D0ES"
          ],
          "rear_service_reserve": 0.06,
          "closed_product_depths": [
            0.633,
            0.648
          ],
          "manufacturer_body_depths": [
            0.59,
            0.613
          ],
          "machine_base": 0.4,
          "support_strategy": "Duas bases originais Siemens WZWP50W/WZDP40D 400 x 600 x 570; confirmar E-Nr; sem caixa estrutural de carpintaria",
          "drawer_capacity_note": "Gavetas dos pedestais originais. Capacidade útil e curso por ficha do acessório; nenhum alvo volumétrico de carpintaria atribuído.",
          "status": "PROPOSTA NÃO ADOTADA; compatibilidade E-Nr e montagem por confirmar"
        },
        "sink_station": {
          "id": "L-PIA-R37",
          "bbox": [
            3.07,
            5.85,
            3.85,
            6.45
          ],
          "height": 0.9,
          "width_mm": 780,
          "depth_mm": 600,
          "front": "N",
          "front_count": 2,
          "occupied_bbox": [
            3.07,
            5.85,
            3.85,
            6.45
          ],
          "use": "Lavagem manual de pequenas peças, pré-tratamento, enxaguamento e balde; não bancada de dobrar roupa.",
          "front_strategy": "Duas portas; pega em cava sem projeção sobre o vão P6. Sem gavetas na zona da cuba/sifão.",
          "selected_for_study_only": "RODI UNA 57 (móvel mínimo 600); modelo e acabamento ainda sujeitos a aprovação/compra.",
          "sink_outer_bbox": [
            3.185,
            5.89,
            3.735,
            6.395
          ],
          "bowl_top_nominal_bbox": [
            3.21,
            5.97,
            3.71,
            6.37
          ],
          "bowl_depth_m": 0.2,
          "bowl_corner_radius_m": 0.025,
          "bowl_step_inner_frontback_mm": 380,
          "bowl_bottom_z_nominal_m": 0.7,
          "tap_axis_study": [
            3.46,
            5.93,
            0.9
          ],
          "tap_height_m": 0.312,
          "tap_outlet_height_above_counter_m": 0.278,
          "tap_type_study": "RODI LINE MN807PT 10004062, duche extraível; corpoØ 54/furoØ 35; curso/contrapeso/rosca por manual final.",
          "tap_finish_study": "preto mate; alternativa cromada deve conservar cotas verificadas",
          "cutout_reference_mm": [
            530,
            485,
            10
          ],
          "cutout_status": "Gabarito superior publicado; não liberar corte pelo retângulo do estudo. Versão exata, clips, pedra e reforços por confirmar.",
          "counter_landings_mm": {
            "west": 115,
            "east": 115,
            "rear": 40,
            "front": 55
          },
          "tap_axis_wall_distance_mm": 80,
          "tap_base_rear_clearance_mm": 53,
          "volume_litre_certified": null,
          "volume_note": "Não se atribui 40 L úteis por multiplicar 500 × 400 × 200: há raios, degrau, fundo, válvula, nível de enchimento e roupa. O fabricante não publicou aqui capacidade útil."
        },
        "high_cabinet": {
          "bbox": [
            1.81,
            5.85,
            3.07,
            6.2
          ],
          "bottom": 1.5,
          "height": 1.2,
          "front": "N",
          "use": "Roupa e lavagem; fundos e laterais próprios, separados dos alimentos",
          "left_filler": 0.02,
          "carcass_top": 2.68,
          "top_filler": 0.02,
          "body_widths_m": [
            0.62,
            0.62
          ]
        },
        "food_pantry": {
          "columns": [
            {
              "id": "D01",
              "bbox": [
                0.27,
                8.05,
                0.8,
                8.5
              ],
              "height": 2.7,
              "plinth": 0.1,
              "leaf_count": 4,
              "max_leaf_width": 0.275,
              "shelf_levels": [
                118,
                1750,
                2200
              ],
              "carcass_top": 2.68,
              "carcass_height": 2.58,
              "top_filler": 0.02,
              "shelf_levels_are": "TOP",
              "food_storage": false,
              "storage_zone": "LAVANDARIA",
              "finish": "Lacado marfim mate afinado à cozinha; amostra final por confirmar",
              "name": "TABUA_GUARDADA_ACESSORIOS_SECOS",
              "lower_leaf_count": 2,
              "upper_leaf_count": 2,
              "leaf_levels_m": [
                [
                  0.102,
                  1.747
                ],
                [
                  1.75,
                  2.678
                ]
              ],
              "fronts": [
                {
                  "id": "D01-B1",
                  "u_mm": 2,
                  "z_mm": 102,
                  "width_mm": 261.5,
                  "height_mm": 1645,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "left",
                  "max_projection_mm": 261.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Lacado marfim mate afinado à cozinha; amostra final por confirmar",
                  "handle_reservation": {
                    "centre_u_mm": 233.5,
                    "centre_z_mm": 1050,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                },
                {
                  "id": "D01-B2",
                  "u_mm": 266.5,
                  "z_mm": 102,
                  "width_mm": 261.5,
                  "height_mm": 1645,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "right",
                  "max_projection_mm": 261.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Lacado marfim mate afinado à cozinha; amostra final por confirmar",
                  "handle_reservation": {
                    "centre_u_mm": 296.5,
                    "centre_z_mm": 1050,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                },
                {
                  "id": "D01-C1",
                  "u_mm": 2,
                  "z_mm": 1750,
                  "width_mm": 261.5,
                  "height_mm": 928,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "left",
                  "max_projection_mm": 261.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Lacado marfim mate afinado à cozinha; amostra final por confirmar",
                  "handle_reservation": {
                    "centre_u_mm": 233.5,
                    "centre_z_mm": 1890,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                },
                {
                  "id": "D01-C2",
                  "u_mm": 266.5,
                  "z_mm": 1750,
                  "width_mm": 261.5,
                  "height_mm": 928,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "right",
                  "max_projection_mm": 261.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Lacado marfim mate afinado à cozinha; amostra final por confirmar",
                  "handle_reservation": {
                    "centre_u_mm": 296.5,
                    "centre_z_mm": 1890,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                }
              ],
              "leaf_count_per_level": 2,
              "total_leaf_count": 4
            },
            {
              "id": "D02",
              "bbox": [
                0.8,
                8.05,
                1.35,
                8.5
              ],
              "height": 2.7,
              "plinth": 0.1,
              "leaf_count": 4,
              "max_leaf_width": 0.275,
              "shelf_levels": [
                118,
                350,
                850,
                1200,
                1750,
                2200
              ],
              "carcass_top": 2.68,
              "carcass_height": 2.58,
              "top_filler": 0.02,
              "shelf_levels_are": "TOP",
              "food_storage": false,
              "storage_zone": "LAVANDARIA",
              "finish": "Lacado marfim mate afinado à cozinha; amostra final por confirmar",
              "name": "CESTOS_ROUPA_FERRO_FRIO_ROUPA_DOBRADA",
              "lower_leaf_count": 2,
              "upper_leaf_count": 2,
              "leaf_levels_m": [
                [
                  0.102,
                  1.747
                ],
                [
                  1.75,
                  2.678
                ]
              ],
              "fronts": [
                {
                  "id": "D02-B1",
                  "u_mm": 2,
                  "z_mm": 102,
                  "width_mm": 271.5,
                  "height_mm": 1645,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "left",
                  "max_projection_mm": 271.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Lacado marfim mate afinado à cozinha; amostra final por confirmar",
                  "handle_reservation": {
                    "centre_u_mm": 243.5,
                    "centre_z_mm": 1050,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                },
                {
                  "id": "D02-B2",
                  "u_mm": 276.5,
                  "z_mm": 102,
                  "width_mm": 271.5,
                  "height_mm": 1645,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "right",
                  "max_projection_mm": 271.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Lacado marfim mate afinado à cozinha; amostra final por confirmar",
                  "handle_reservation": {
                    "centre_u_mm": 306.5,
                    "centre_z_mm": 1050,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                },
                {
                  "id": "D02-C1",
                  "u_mm": 2,
                  "z_mm": 1750,
                  "width_mm": 271.5,
                  "height_mm": 928,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "left",
                  "max_projection_mm": 271.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Lacado marfim mate afinado à cozinha; amostra final por confirmar",
                  "handle_reservation": {
                    "centre_u_mm": 243.5,
                    "centre_z_mm": 1890,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                },
                {
                  "id": "D02-C2",
                  "u_mm": 276.5,
                  "z_mm": 1750,
                  "width_mm": 271.5,
                  "height_mm": 928,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "right",
                  "max_projection_mm": 271.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Lacado marfim mate afinado à cozinha; amostra final por confirmar",
                  "handle_reservation": {
                    "centre_u_mm": 306.5,
                    "centre_z_mm": 1890,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                }
              ],
              "leaf_count_per_level": 2,
              "total_leaf_count": 4
            },
            {
              "id": "D03",
              "bbox": [
                1.35,
                8.05,
                1.95,
                8.5
              ],
              "height": 2.7,
              "plinth": 0.1,
              "leaf_count": 4,
              "max_leaf_width": 0.29999999999999993,
              "shelf_levels": [
                118,
                550,
                1750,
                2200
              ],
              "carcass_top": 2.68,
              "carcass_height": 2.58,
              "top_filler": 0.02,
              "shelf_levels_are": "TOP",
              "food_storage": false,
              "storage_zone": "LAVANDARIA",
              "finish": "Lacado marfim mate afinado à cozinha; amostra final por confirmar",
              "name": "CABIDES_ROUPA_SECA_TEXTEIS",
              "lower_leaf_count": 2,
              "upper_leaf_count": 2,
              "leaf_levels_m": [
                [
                  0.102,
                  1.747
                ],
                [
                  1.75,
                  2.678
                ]
              ],
              "fronts": [
                {
                  "id": "D03-B1",
                  "u_mm": 2,
                  "z_mm": 102,
                  "width_mm": 296.5,
                  "height_mm": 1645,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "left",
                  "max_projection_mm": 296.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Lacado marfim mate afinado à cozinha; amostra final por confirmar",
                  "handle_reservation": {
                    "centre_u_mm": 268.5,
                    "centre_z_mm": 1050,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                },
                {
                  "id": "D03-B2",
                  "u_mm": 301.5,
                  "z_mm": 102,
                  "width_mm": 296.5,
                  "height_mm": 1645,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "right",
                  "max_projection_mm": 296.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Lacado marfim mate afinado à cozinha; amostra final por confirmar",
                  "handle_reservation": {
                    "centre_u_mm": 331.5,
                    "centre_z_mm": 1050,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                },
                {
                  "id": "D03-C1",
                  "u_mm": 2,
                  "z_mm": 1750,
                  "width_mm": 296.5,
                  "height_mm": 928,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "left",
                  "max_projection_mm": 296.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Lacado marfim mate afinado à cozinha; amostra final por confirmar",
                  "handle_reservation": {
                    "centre_u_mm": 268.5,
                    "centre_z_mm": 1890,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                },
                {
                  "id": "D03-C2",
                  "u_mm": 301.5,
                  "z_mm": 1750,
                  "width_mm": 296.5,
                  "height_mm": 928,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "right",
                  "max_projection_mm": 296.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Lacado marfim mate afinado à cozinha; amostra final por confirmar",
                  "handle_reservation": {
                    "centre_u_mm": 331.5,
                    "centre_z_mm": 1890,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                }
              ],
              "leaf_count_per_level": 2,
              "total_leaf_count": 4
            },
            {
              "id": "D04",
              "bbox": [
                3.05,
                8.05,
                3.45,
                8.5
              ],
              "height": 2.7,
              "plinth": 0.1,
              "leaf_count": 4,
              "max_leaf_width": 0.20000000000000018,
              "shelf_levels": [
                0.118,
                0.478,
                0.838,
                1.198,
                1.558,
                1.918,
                2.278
              ],
              "carcass_top": 2.68,
              "carcass_height": 2.58,
              "top_filler": 0.02,
              "shelf_levels_are": "TOP",
              "food_storage": true,
              "storage_zone": "ALIMENTOS",
              "finish": "Carvalho natural mate",
              "name": "ALIMENTOS_SECOS",
              "lower_leaf_count": 2,
              "upper_leaf_count": 2,
              "leaf_levels_m": [
                [
                  0.102,
                  1.747
                ],
                [
                  1.75,
                  2.678
                ]
              ],
              "fronts": [
                {
                  "id": "D04-B1",
                  "u_mm": 2,
                  "z_mm": 102,
                  "width_mm": 196.5,
                  "height_mm": 1645,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "left",
                  "max_projection_mm": 196.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Carvalho natural mate",
                  "handle_reservation": {
                    "centre_u_mm": 168.5,
                    "centre_z_mm": 1050,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                },
                {
                  "id": "D04-B2",
                  "u_mm": 201.5,
                  "z_mm": 102,
                  "width_mm": 196.5,
                  "height_mm": 1645,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "right",
                  "max_projection_mm": 196.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Carvalho natural mate",
                  "handle_reservation": {
                    "centre_u_mm": 231.5,
                    "centre_z_mm": 1050,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                },
                {
                  "id": "D04-C1",
                  "u_mm": 2,
                  "z_mm": 1750,
                  "width_mm": 196.5,
                  "height_mm": 928,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "left",
                  "max_projection_mm": 196.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Carvalho natural mate",
                  "handle_reservation": {
                    "centre_u_mm": 168.5,
                    "centre_z_mm": 1890,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                },
                {
                  "id": "D04-C2",
                  "u_mm": 201.5,
                  "z_mm": 1750,
                  "width_mm": 196.5,
                  "height_mm": 928,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "right",
                  "max_projection_mm": 196.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Carvalho natural mate",
                  "handle_reservation": {
                    "centre_u_mm": 231.5,
                    "centre_z_mm": 1890,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                }
              ],
              "leaf_count_per_level": 2,
              "total_leaf_count": 4
            },
            {
              "id": "D05",
              "bbox": [
                3.45,
                8.05,
                3.83,
                8.5
              ],
              "height": 2.7,
              "plinth": 0.1,
              "leaf_count": 4,
              "max_leaf_width": 0.19999999999999996,
              "shelf_levels": [
                0.118,
                0.478,
                0.838,
                1.198,
                1.558,
                1.918,
                2.278
              ],
              "carcass_top": 2.68,
              "carcass_height": 2.58,
              "top_filler": 0.02,
              "shelf_levels_are": "TOP",
              "food_storage": true,
              "storage_zone": "ALIMENTOS",
              "finish": "Carvalho natural mate",
              "name": "ALIMENTOS_SECOS",
              "lower_leaf_count": 2,
              "upper_leaf_count": 2,
              "leaf_levels_m": [
                [
                  0.102,
                  1.747
                ],
                [
                  1.75,
                  2.678
                ]
              ],
              "fronts": [
                {
                  "id": "D05-B1",
                  "u_mm": 2,
                  "z_mm": 102,
                  "width_mm": 186.5,
                  "height_mm": 1645,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "left",
                  "max_projection_mm": 186.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Carvalho natural mate",
                  "handle_reservation": {
                    "centre_u_mm": 158.5,
                    "centre_z_mm": 1050,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                },
                {
                  "id": "D05-B2",
                  "u_mm": 191.5,
                  "z_mm": 102,
                  "width_mm": 186.5,
                  "height_mm": 1645,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "right",
                  "max_projection_mm": 186.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Carvalho natural mate",
                  "handle_reservation": {
                    "centre_u_mm": 221.5,
                    "centre_z_mm": 1050,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                },
                {
                  "id": "D05-C1",
                  "u_mm": 2,
                  "z_mm": 1750,
                  "width_mm": 186.5,
                  "height_mm": 928,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "left",
                  "max_projection_mm": 186.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Carvalho natural mate",
                  "handle_reservation": {
                    "centre_u_mm": 158.5,
                    "centre_z_mm": 1890,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                },
                {
                  "id": "D05-C2",
                  "u_mm": 191.5,
                  "z_mm": 1750,
                  "width_mm": 186.5,
                  "height_mm": 928,
                  "thickness_mm": 20,
                  "type": "batente",
                  "hinge_side": "right",
                  "max_projection_mm": 186.5,
                  "hinges": "Quantidade/modelo após seleção da dobradiça, massa real da frente e confirmação de abertura90 graus.",
                  "material": "Carvalho natural mate",
                  "handle_reservation": {
                    "centre_u_mm": 221.5,
                    "centre_z_mm": 1890,
                    "length_mm": 150,
                    "orientation": "vertical",
                    "max_projection_mm": 13,
                    "fixing_pitch_mm": null,
                    "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
                  }
                }
              ],
              "leaf_count_per_level": 2,
              "total_leaf_count": 4
            }
          ],
          "base": {
            "bbox": [
              1.95,
              8.05,
              3.05,
              8.5
            ],
            "height": 1.5,
            "drawer_count": 6,
            "internal_drawer_target": [
              0.47,
              0.36
            ],
            "usable_heights": [
              0.3,
              0.38,
              0.42
            ],
            "food_storage": true,
            "storage_zone": "ALIMENTOS",
            "finish": "Carvalho natural mate"
          },
          "bridge": {
            "bbox": [
              1.95,
              8.05,
              3.05,
              8.5
            ],
            "bottom": 2.2,
            "height": 0.5,
            "body_count": 2,
            "carcass_height": 0.48,
            "carcass_top": 2.68,
            "top_filler": 0.02,
            "food_storage": true,
            "storage_zone": "ALIMENTOS",
            "finish": "Carvalho natural mate"
          },
          "overall_front_m": 3.6,
          "tall_front_m": 0.78,
          "depth_m": 0.45,
          "net_shelf_surface_m2": 3.8340240000000003,
          "tall_geometric_l": 693.324576,
          "bridge_geometric_l": 176.047056,
          "drawer_target_l": 372.2399999999999,
          "total_geometric_plus_drawer_l": 1241.611632,
          "capacity_basis": "R39: sóD04/D05 eDB/DP guardam alimentos. D01..D03 são lavandaria. Valores geométricos e alvos, não litros úteis certificados.",
          "organization": [
            "D01: tábua de engomar fechada; capas e acessórios secos no maleiro",
            "D02: dois cestos fechados de roupa a lavar; ferro frio; roupa limpa dobrada",
            "D03: peças secas em cabides frontais; roupa limpa e reserva de têxteis",
            "D04: pequeno-almoço, cereais e lanches em embalagens/recipientes fechados",
            "D05: arroz, massas, leguminosas, conservas e stock alimentar seco",
            "DB01/DB02: seis gavetas alimentares para pacotes, frascos e reservas; cargas/corrediças por confirmar",
            "DP01/DP02: stock alimentar de uso ocasional; acesso às pontes por estudar com escadote recolhido fora da passagem"
          ],
          "fillers": [
            {
              "id": "DL-REM",
              "bbox": [
                0.25,
                8.05,
                0.27,
                8.5
              ],
              "height": 2.7,
              "finish": "Lacado marfim mate afinado à cozinha"
            },
            {
              "id": "DR-REM",
              "bbox": [
                3.83,
                8.05,
                3.85,
                8.5
              ],
              "height": 2.7,
              "finish": "Carvalho natural mate"
            }
          ],
          "closed_clear_aisle_handles_m": 1.342,
          "drawer_open_aisle_handles_m": 0.942,
          "legacy_key_name_note": "Alias geométrico herdado; contém todos os corpos da parede. A função de cada coluna está emfood_storage/storage_zone; programa vigente emlaundryStorageR39.",
          "food_module_front_m": 1.88,
          "laundry_module_front_m": 1.68,
          "food_tall_front_m": 0.78,
          "tall_all_columns_front_m": 2.46,
          "laundry_tall_front_m": 1.68,
          "current_food_module_ids": [
            "D04",
            "D05",
            "DB01",
            "DB02",
            "DP01",
            "DP02"
          ],
          "current_laundry_tall_ids": [
            "D01",
            "D02",
            "D03"
          ],
          "storage_program_by_id": {
            "D01": "TABUA_GUARDADA_ACESSORIOS_SECOS",
            "D02": "CESTOS_ROUPA_FERRO_FRIO_ROUPA_DOBRADA",
            "D03": "CABIDES_ROUPA_SECA_TEXTEIS",
            "D04": "ALIMENTOS_SECOS",
            "D05": "ALIMENTOS_SECOS",
            "DB01": "ALIMENTOS_SECOS_GAVETAS",
            "DB02": "ALIMENTOS_SECOS_GAVETAS",
            "DP01": "ALIMENTOS_SECOS_OCASIONAL",
            "DP02": "ALIMENTOS_SECOS_OCASIONAL"
          }
        },
        "equipment": [
          {
            "id": "T01",
            "bbox": [
              0.09,
              6.06,
              0.69,
              6.695
            ],
            "height": 1.937,
            "front": "N",
            "left_gap": 0.14,
            "right_gap": 0.35,
            "rear_gap": 0.21,
            "front_reserve_bbox": [
              0.09,
              6.695,
              0.69,
              7.695
            ],
            "installation": "PROPOSTA R37: folgas do desenho ES A 140 (mínimo 120), B 350 e C 210 paraØ 160. A reserva frontal 1000 é proposta de serviço, não mínimo numérico Ariston. Sem armário a fechar o aparelho. Confirmar mercado/revisão e R290."
          },
          {
            "id": "T02",
            "bbox": [
              1.04,
              5.85,
              1.765,
              6.42
            ],
            "height": 0.85,
            "bottom": 0.25,
            "front": "N",
            "front_reserve_bbox": [
              1.04,
              6.42,
              1.765,
              7.42
            ],
            "installation": "PROPOSTA R37: chassis original de solo, base de estudo 250; serviço frontal 1000 prescrito na edição consultada. Sem fixação à cassete nem ligação rígida ao móvel das máquinas. Confirmar versão portuguesa/acessórios."
          }
        ],
        "hanging_rail": {
          "included": false
        },
        "folding_worktop": {
          "included": false
        },
        "geometrySource": "R37 proposta de utilização; não altera a adoção R36. Reaproveita 280 mm da antiga faixa W 300 para aumentar pia 500→780; conserva 20 mm acima da folga A mínima."
      },
      "modules": [
        {
          "id": "L-BASE",
          "name": "Reserva para duas bases originais Siemens 400 mm",
          "bbox_m": [
            1.81,
            5.85,
            3.07,
            6.55
          ],
          "width_mm": 1260,
          "depth_mm": 700,
          "height_mm": 400,
          "bottom_mm": 0,
          "front": "N",
          "front_count": 2,
          "panels": [],
          "fronts": [],
          "shelf_tops_mm": [],
          "lighting": [],
          "notes": [
            "Referência de acessório, compatibilidade final pendente: duas bases originais Siemens, cada A 400 x L 600 x P 570, indicadas nos manuais dos aparelhos. Confirmar compatibilidade E-Nr antes de encomendar.",
            "20+600+20+600+20=1260 mm de reserva frontal. Apoios/pés/retentores são os originais; montagem por instalador conforme BSH.",
            "A reserva P 700 inclui tubos e porta saliente, não é a profundidade da base original 570. Sem plataforma estrutural de madeira artesanal.",
            "Frentes das bases originais brancas ficam visíveis; não colar revestimento nem alterar fixações sem aprovação BSH. Tampo acima independente e desmontável."
          ],
          "status": "ESTUDO PROPOSTO; NÃO FABRICAR",
          "source": "R36 implantação adotada; detalhe construtivo nominal R 27 reemitido e envelopes aninhados coordenados.",
          "machine_envelopes": [
            {
              "id": "L01",
              "model": "WG54N2A0ES",
              "bbox_m": [
                1.831,
                5.91,
                2.429,
                6.543
              ],
              "body_bbox_m": [
                1.831,
                5.91,
                2.429,
                6.5
              ],
              "open_longitudinal_bbox_m": [
                1.831,
                5.91,
                2.429,
                6.984
              ],
              "base_mm": 400,
              "height_mm": 845,
              "max_adjusted_height_mm": 857,
              "top_nominal_mm": 1245,
              "top_max_adjusted_mm": 1257,
              "depth_body_mm": 590,
              "depth_closed_mm": 633,
              "depth_open_mm": 1074,
              "back_reserve_assumption_mm": 60,
              "door_hinge": "Esquerda",
              "lateral_sweep_validated": false,
              "centre_x_m": 2.13,
              "layout_revision": "R37 proposta, não adotada"
            },
            {
              "id": "L02",
              "model": "WQ46N2D0ES",
              "bbox_m": [
                2.451,
                5.91,
                3.049,
                6.558
              ],
              "body_bbox_m": [
                2.451,
                5.91,
                3.049,
                6.523
              ],
              "open_longitudinal_bbox_m": [
                2.451,
                5.91,
                3.049,
                7.006
              ],
              "base_mm": 400,
              "height_mm": 842,
              "max_adjusted_height_mm": 857,
              "top_nominal_mm": 1242,
              "top_max_adjusted_mm": 1257,
              "depth_body_mm": 613,
              "depth_closed_mm": 648,
              "depth_open_mm": 1096,
              "back_reserve_assumption_mm": 60,
              "door_hinge": "Direita",
              "lateral_sweep_validated": false,
              "centre_x_m": 2.75,
              "layout_revision": "R37 proposta, não adotada"
            }
          ],
          "occupied_depth_mm": 712,
          "structural_hold": {
            "manufacturer_empty_mass_datasheets_kg": [
              77.5,
              51.9
            ],
            "manufacturer_empty_mass_manuals_kg": [
              77.6,
              52.8
            ],
            "mass_discrepancy": "Ficha comercial e manual divergem 0,1 kg na lavar e 0,9 kg na secar; manter ambas referências e confirmar E-Nr/FD.",
            "empty_mass_for_preliminary_assessment_kg": 130.4,
            "is_structural_design_load": false,
            "pending": [
              "Cargas de funcionamento: água, roupa, desequilíbrio, vibração e ações dinâmicas.",
              "Modelo, geometria e fixação do chassis, capacidade do pavimento e apoios exatos de cada pé.",
              "Compatibilidade das patilhas WX 975600 e retenção do secador com o suporte 400 mm proposto.",
              "Acesso e remoção segura dos aparelhos sem desmontar toda a carpintaria."
            ]
          },
          "selected_base_accessories": [
            "WZWP50W",
            "WZDP40D"
          ],
          "revision": "R37",
          "source_R27_page": 44,
          "fronts_note": "Gavetas próprias das bases originais; não há frentes de carpintaria nem capacidade útil garantida.",
          "closed_depth_plus_rear_mm": 708,
          "occupied_depth_note": "708 mm = profundidade fechada 648+reserva 60; 712 é envelope conservador de coordenação, não nova dimensão do fabricante."
        },
        {
          "id": "L-PIA-R37",
          "bbox_m": [
            3.07,
            5.85,
            3.85,
            6.45
          ],
          "width_mm": 780,
          "depth_mm": 600,
          "height_mm": 900,
          "carcass_nominal_mm": {
            "width": 780,
            "depth_excluding_front": 580,
            "height": 770,
            "bottom": 100,
            "panel": 18
          },
          "fronts": [
            {
              "id": "LP37-P1",
              "width_mm": 387,
              "height_mm": 766,
              "thickness_mm": 20,
              "u_mm": 2,
              "bottom_mm": 102,
              "type": "batente"
            },
            {
              "id": "LP37-P2",
              "width_mm": 387,
              "height_mm": 766,
              "thickness_mm": 20,
              "u_mm": 391,
              "bottom_mm": 102,
              "type": "batente"
            }
          ],
          "interior_width_mm": 744,
          "under_bowl_service_reserve": {
            "bbox_m": [
              3.16,
              5.85,
              3.76,
              6.45
            ],
            "bottom_mm": 100,
            "top_mm": 870,
            "note": "Reserva ampla para cuba 200, válvula/sifão, misturadora e mangueira extraível; não volume útil de arrumação."
          },
          "doors_clearance_note": "Duas folhas 387 nominais; abertura ocupa o corredor até Y 6.837. Utilizar uma de cada vez; conferir dobradiças, puxadores e desmontagem do sifão. Sem prateleira atravessando redes.",
          "detergent_storage": "Caixa amovível fechada separada da mangueira do duche, só depois de montar sifão/torneira. Não atribuir capacidade antes de medir. Fecho de segurança se necessário para família/criança.",
          "wet_finish": "Tampo resistente à água, recorte selado, clips próprios, bordos protegidos; prumo de transição para a estação alta deve ser lavável, selado e desmontável sem transferir vibração.",
          "fixing": "Apoios no pavimento e fixação apenas na parede S após verificar W22; nunca no miolo da cassete P6 em E. Sem gaveta sob a cuba.",
          "status": "PROPOSTA PRELIMINAR DE MARCENARIA; NÃO É LISTA DE CORTE"
        },
        {
          "id": "LS01",
          "name": "Armário superior de lavagem 1",
          "bbox_m": [
            1.83,
            5.85,
            2.45,
            6.2
          ],
          "width_mm": 620,
          "depth_mm": 350,
          "height_mm": 1180,
          "bottom_mm": 1500,
          "front": "N",
          "front_count": 1,
          "panels": [
            {
              "id": "LS01-LAT",
              "role": "Lateral vertical",
              "qty": 2,
              "length_mm": 1180,
              "width_mm": 330,
              "thickness_mm": 18,
              "cut_status": "PRELIMINAR - conferir em obra e ferragens; não cortar por esta lista sem aprovação da carpintaria"
            },
            {
              "id": "LS01-B/T",
              "role": "Base e topo entre laterais",
              "qty": 2,
              "length_mm": 584,
              "width_mm": 330,
              "thickness_mm": 18,
              "cut_status": "PRELIMINAR - conferir em obra e ferragens; não cortar por esta lista sem aprovação da carpintaria"
            },
            {
              "id": "LS01-FUN",
              "role": "Fundo embutido entre base/topo/laterais",
              "qty": 1,
              "length_mm": 1144,
              "width_mm": 584,
              "thickness_mm": 8,
              "cut_status": "PRELIMINAR - conferir em obra e ferragens; não cortar por esta lista sem aprovação da carpintaria"
            },
            {
              "id": "LS01-PR",
              "role": "Prateleira ajustável; cota indica face superior",
              "qty": 2,
              "length_mm": 584,
              "width_mm": 302,
              "thickness_mm": 18,
              "cut_status": "PRELIMINAR - conferir em obra e ferragens; não cortar por esta lista sem aprovação da carpintaria"
            }
          ],
          "fronts": [
            {
              "id": "LS01-P",
              "u_mm": 2,
              "z_mm": 1502,
              "width_mm": 616,
              "height_mm": 1176,
              "thickness_mm": 20,
              "type": "batente/push a confirmar"
            }
          ],
          "shelf_tops_mm": [
            1898,
            2278
          ],
          "lighting": [],
          "notes": [
            "Profundidade 350 mm já inclui frente 20 mm: corpo até Y 6180 e frente Y 6180..6200; não somar frente por fora.",
            "Topo corpo 2680 +remate 20 até 2700. Uma prateleira ajustável com topo 1898, outra 2278; cota de furação final após definir conteúdo.",
            "Roupa/produtos de lavagem em corpos próprios; sem alimentos.",
            "O corpo 2 recebe reserva técnica para driver, separada dos objetos guardados e com acesso/ventilação. Rever volume após escolher fonte."
          ],
          "status": "PROPOSTA; conferir montagem e retirada das máquinas",
          "source": "R36 implantação adotada; detalhe construtivo nominal R 27 reemitido e envelopes aninhados coordenados.",
          "carcass_width_mm": 620,
          "carcass_depth_mm": 330,
          "carcass_height_mm": 1180,
          "carcass_bottom_mm": 1500,
          "panel_thickness_mm": 18,
          "back_thickness_mm": 8,
          "section": {
            "body_depth_mm": 330,
            "front_thickness_mm": 20,
            "back_thickness_mm": 8,
            "shelf_depth_mm": 302,
            "shelf_levels_reference": "Face superior; base e topo cotados em separado",
            "shelf_bottoms_mm": [
              1880,
              2260
            ]
          },
          "revision": "R37",
          "source_R27_page": 46
        },
        {
          "id": "LS02",
          "name": "Armário superior de lavagem 2",
          "bbox_m": [
            2.45,
            5.85,
            3.07,
            6.2
          ],
          "width_mm": 620,
          "depth_mm": 350,
          "height_mm": 1180,
          "bottom_mm": 1500,
          "front": "N",
          "front_count": 1,
          "panels": [
            {
              "id": "LS02-LAT",
              "role": "Lateral vertical",
              "qty": 2,
              "length_mm": 1180,
              "width_mm": 330,
              "thickness_mm": 18,
              "cut_status": "PRELIMINAR - conferir em obra e ferragens; não cortar por esta lista sem aprovação da carpintaria"
            },
            {
              "id": "LS02-B/T",
              "role": "Base e topo entre laterais",
              "qty": 2,
              "length_mm": 584,
              "width_mm": 330,
              "thickness_mm": 18,
              "cut_status": "PRELIMINAR - conferir em obra e ferragens; não cortar por esta lista sem aprovação da carpintaria"
            },
            {
              "id": "LS02-FUN",
              "role": "Fundo embutido entre base/topo/laterais",
              "qty": 1,
              "length_mm": 1144,
              "width_mm": 584,
              "thickness_mm": 8,
              "cut_status": "PRELIMINAR - conferir em obra e ferragens; não cortar por esta lista sem aprovação da carpintaria"
            },
            {
              "id": "LS02-PR",
              "role": "Prateleira ajustável; cota indica face superior",
              "qty": 2,
              "length_mm": 584,
              "width_mm": 302,
              "thickness_mm": 18,
              "cut_status": "PRELIMINAR - conferir em obra e ferragens; não cortar por esta lista sem aprovação da carpintaria"
            }
          ],
          "fronts": [
            {
              "id": "LS02-P",
              "u_mm": 2,
              "z_mm": 1502,
              "width_mm": 616,
              "height_mm": 1176,
              "thickness_mm": 20,
              "type": "batente/push a confirmar"
            }
          ],
          "shelf_tops_mm": [
            1898,
            2278
          ],
          "lighting": [
            {
              "id": "LED-LS",
              "owner": "LS02",
              "startCAD_m": [
                1.84,
                6.16
              ],
              "endCAD_m": [
                3.04,
                6.16
              ],
              "bottom_or_emission_z_mm": 1500,
              "length_mm": 1200,
              "temperature_K": 3000,
              "voltage_V_nominal": 24,
              "design_W_per_m_assumption": 6,
              "design_power_W": 7.2,
              "circuit": "CL01",
              "profile_groove_proposed_mm": [
                12,
                6
              ],
              "profile_status": "RESERVA; selecionar perfil/fita e conferir espessura restante antes de fresar. Comprimento de fita ajustável ao módulo de corte do fabricante.",
              "location": "Contínuo sob o conjunto de 2 superiores; canal 12 × 6 mm em base de 18 mm, com 12 mm remanescentes. Eixo Y=6160 mm, a 20 mm da aresta frontal do corpo Y=6180 mm: ficam 14 mm de madeira entre ranhura e aresta, sem invadir a frente móvel. Recuo construtivo de 15 mm em relação ao eixo visual antigo Y=6175 mm. Prever emenda e passagem de cabos entre peças/corpos; não fresar sem desenho do perfil e das uniões.",
              "spans_modules": [
                "LS01",
                "LS02"
              ],
              "specification_status": "Apenas posição funcional. Perfil/fita/driver e alimentação por selecionar, acessíveis e separados da água/condutas.",
              "driver_selected": false
            }
          ],
          "notes": [
            "Profundidade 350 mm já inclui frente 20 mm: corpo até Y 6180 e frente Y 6180..6200; não somar frente por fora.",
            "Topo corpo 2680 +remate 20 até 2700. Uma prateleira ajustável com topo 1898, outra 2278; cota de furação final após definir conteúdo.",
            "Roupa/produtos de lavagem em corpos próprios; sem alimentos.",
            "O corpo 2 recebe reserva técnica para driver, separada dos objetos guardados e com acesso/ventilação. Rever volume após escolher fonte."
          ],
          "status": "PROPOSTA; conferir montagem e retirada das máquinas",
          "source": "R36 implantação adotada; detalhe construtivo nominal R 27 reemitido e envelopes aninhados coordenados.",
          "carcass_width_mm": 620,
          "carcass_depth_mm": 330,
          "carcass_height_mm": 1180,
          "carcass_bottom_mm": 1500,
          "panel_thickness_mm": 18,
          "back_thickness_mm": 8,
          "section": {
            "body_depth_mm": 330,
            "front_thickness_mm": 20,
            "back_thickness_mm": 8,
            "shelf_depth_mm": 302,
            "shelf_levels_reference": "Face superior; base e topo cotados em separado",
            "shelf_bottoms_mm": [
              1880,
              2260
            ]
          },
          "revision": "R37",
          "source_R27_page": 47
        },
        {
          "id": "LS-REM-O",
          "name": "Remate lateral superior lavagem",
          "bbox_m": [
            1.81,
            5.85,
            1.83,
            6.2
          ],
          "width_mm": 20,
          "depth_mm": 350,
          "height_mm": 1200,
          "bottom_mm": 1500,
          "front": "N",
          "front_count": 0,
          "panels": [
            {
              "id": "LS-REM-O-PA",
              "role": "Remate a galgar em obra",
              "qty": 1,
              "length_mm": 1200,
              "width_mm": 350,
              "thickness_mm": 20,
              "cut_status": "PRELIMINAR - conferir em obra e ferragens; não cortar por esta lista sem aprovação da carpintaria"
            }
          ],
          "fronts": [],
          "shelf_tops_mm": [],
          "lighting": [],
          "notes": [],
          "status": "PROPOSTA; conferir montagem e retirada das máquinas",
          "source": "R36 implantação adotada; detalhe construtivo nominal R 27 reemitido e envelopes aninhados coordenados.",
          "revision": "R37",
          "source_R27_page": 48
        },
        {
          "id": "LS-REM-T",
          "name": "Remate superior lavagem",
          "bbox_m": [
            1.83,
            6.18,
            3.07,
            6.2
          ],
          "width_mm": 1240,
          "depth_mm": 20,
          "height_mm": 20,
          "bottom_mm": 2680,
          "front": "N",
          "front_count": 0,
          "panels": [
            {
              "id": "LS-REM-T-PA",
              "role": "Remate a galgar em obra",
              "qty": 1,
              "length_mm": 1240,
              "width_mm": 20,
              "thickness_mm": 20,
              "cut_status": "PRELIMINAR - conferir em obra e ferragens; não cortar por esta lista sem aprovação da carpintaria"
            }
          ],
          "fronts": [],
          "shelf_tops_mm": [],
          "lighting": [],
          "notes": [],
          "status": "PROPOSTA; conferir montagem e retirada das máquinas",
          "source": "R36 implantação adotada; detalhe construtivo nominal R 27 reemitido e envelopes aninhados coordenados.",
          "revision": "R37",
          "source_R27_page": 49
        }
      ]
    },
    "alternatives": [
      {
        "id": "L37-MAX800",
        "status": "TETO GEOMÉTRICO; não recomendadocomo cota fechadaantesdolevantamento",
        "sink_width_mm": 800,
        "AQS_left_gap_mm": 120,
        "dx_m": -0.3,
        "reason": "Reaproveitaos 300 mm todos, masdeixafolga AQSexatamentenomínimo ES. Sem 20 mmdeajuste do A 780."
      },
      {
        "id": "L37-OLD500",
        "status": "CABIMENTO NOMINAL REAL, USO NÃO RECOMENDADO AQUI",
        "product": "RODI Box Line 40",
        "outer_mm": [
          436,
          436
        ],
        "bowl_mm": [
          400,
          400,
          200
        ],
        "minimum_cabinet_mm": 500,
        "counter_land_each_side_mm": 32,
        "reason": "Cabecubareal, mas 32 mmexternospor lado não sãoapoioparabalde/mãos. Entre estaçãoalta 1300 e Eficaapertada, sempiaútilmaior nemzonalateral. Não afirmar que 500 éfisicamenteimpossível."
      },
      {
        "id": "L37-STACK",
        "status": "NÃO ESCOLHIDA",
        "reason": "Coluna aopiso liberta 600 mmdebancada, masperdeelevaçãoda lavar. Manualsecadorproíbecolunalavar/secar sobreplataforma; nãoas empilharsobbase 400 paraganharespaço."
      }
    ],
    "use_programme": [
      {
        "task": "Peças delicadas / prétratamento",
        "assessment": "Cuba 500 × 400/R 25 permite mexer emumapeça ouroupa decriança, semo estreitamento 400 dacubaantiga. Altura 900 épropostaergonómica, validarcomosutilizadores. Não é tanque de 360 profundidade.",
        "holds": [
          "Não garantirlavagemmanualdeedredão/grandesvolumes.",
          "Ensaiarmãos/baldecomprodutorealoumaquetacotas 1: 1."
        ]
      },
      {
        "task": "Torneira / salpicos",
        "assessment": "Deckpróprio 80; torneira 278 sobsaída, total 312. Eixo 80 da parede/corpo 54 deixa 53 atrás. Alturacriaespaçoparapeças, masjatoalto aumentasrespingo: usarcaudalcontido, duchesóparaenxaguar, proteçãolavável.",
        "holds": [
          "Órbita/alavancaefurorealpor desenho/manualfinal.",
          "Mangueiradochuveiroecontrapeso têmde descerlivres, separadas dos sifões/caixas."
        ]
      },
      {
        "task": "Apoiar balde/sabão",
        "assessment": "115 mmemtampo por lado +aba própria; apoiosparasabão/esponja/peçapequena. Não cabe balde 300 emtampolateral 115. Baldeentra nacubaseasuabasefísicacouber; apoio grandenãoéinexistentebancada.",
        "holds": [
          "Não pôrbaldenotampo alto 1300 paramisturacompia 900.",
          "Tábua Unaéacessóriodecozinha; selarguraservisogrelha/painelpararoupa, usodedicadolavandariaecomcargaconfirmada, nãoprometerváriospesos."
        ]
      },
      {
        "task": "Máquinas sembaixar",
        "assessment": "Pedestaisoriginais 400 mantidos, portesexternosoriginais visíveis; máquinastop 1245/1242 nominal. Usoalternadocom gavetasalimentares, semcestosnochãonumapassagempermanente.",
        "holds": [
          "E-Nr/FD ecompatibilidadebases, montagemdefixações, nivelamentoepercursofinaldemangueiras.",
          "Aberturalongitudinalpublicadanãoévarrimentolateralcompleto. Aberturadasportas/inversãodobradiçasepaineis 1: 1 antesdemarce­nar."
        ]
      },
      {
        "task": "Dobrar roupa",
        "assessment": "Apropostanãocria falsabancada 900 comprida: frente Scontinuaprincipalmentetécnica. Opanodespenseiro Ntemgavetasaté 1500 eédeusoalimentar, nãorebaixadopara roubararrumação. Dobrargrandespeçasnoutrolocaléumalimitaçãoassumida.",
        "holds": [
          "Seobrigatóriodobrarna lavandaria, é necessáriaoutradecisão: retirarfunção/equipamento, ouampliarrecinto; nãoinventarumamesarebatívelnacassete P6."
        ]
      },
      {
        "task": "Alimentos família 4",
        "assessment": "Preservadas 5 colunas(530+550+600+400+380),6 gavetas/ponte, frente 3600/P 450; armáriosfechadosdistintosda bancada S. Separarfrascoslimpezaalimentos, embalagensfechadaseventilação/extracçãodehumidade.",
        "holds": [
          "Nãoverificarnecessidadefamiliarapenasporlitrosnominais; inventariarstock/embalagensantesdefurarprateleiras.",
          "Capacidades R24 sãogeometriasantesdeferragens; sem alegarcapacidadedecomprasreais."
        ]
      }
    ],
    "metrics": {
      "room_inside_bbox_m": [
        -0.05,
        5.85,
        3.85,
        8.5
      ],
      "room_area_m2": 10.335,
      "gross_air_volume_m3": 27.9045,
      "chain_mm": [
        140,
        600,
        350,
        725,
        45,
        1260,
        780
      ],
      "chain_total_mm": 3900,
      "recovered_strip_mm": 280,
      "additional_left_allowance_mm": 20,
      "sink_old_outer_side_land_mm": 32,
      "sink_new_side_land_mm": 115,
      "sink_new_front_land_mm": 55,
      "sink_new_rear_land_mm": 40,
      "sink_nominal_bowl_area_increase_percent": 25,
      "sink_capacity_l_verified": null,
      "counter_heights_mm": {
        "sink": 900,
        "existing_high_protective_top": 1300,
        "step": 400,
        "high_top_is_folding_worktop": false
      },
      "machines_max_adjusted_top_mm": 1257,
      "high_top_underside_mm": 1270,
      "high_top_min_geometric_gap_mm": 13,
      "high_top_approved": false,
      "pantry_closed_handle_front_y": 8.037,
      "pantry_drawer_open_front_y": 7.637,
      "aisle_min_closed_mm": 1342,
      "machine_front_closed_aisle_mm": 1475,
      "washer_open_aisle_mm": 1053,
      "dryer_open_aisle_mm": 1031,
      "washer_and_food_drawer_open_mm": 653,
      "dryer_and_food_drawer_open_mm": 631,
      "sink_and_food_drawer_both_open_mm": 800,
      "sink_two_leaf_nominal_projection_mm": 387,
      "tap_rear_body_clearance_mm": 53,
      "P6_nominal_gap_mm": 50
    },
    "service_and_networks": {
      "points": [
        {
          "id": "AF-PIA-R37",
          "kind": "água fria",
          "centre_CAD_m": [
            3.7,
            5.85,
            0.55
          ],
          "description": "Corte visitável no móvel 780; evitar contrapeso/mangueira do duche.",
          "status": "PROPOSTA; interfaces, não tubagem/fiação executiva"
        },
        {
          "id": "AQ-PIA-R37",
          "kind": "água quente",
          "centre_CAD_m": [
            3.77,
            5.85,
            0.55
          ],
          "description": "Corte próprio e mistura na torneira. Distância entreválvulas de estudo; ajustar a peça real.",
          "status": "PROPOSTA; interfaces, não tubagem/fiação executiva"
        },
        {
          "id": "AF-LAV-R37",
          "kind": "água fria máquina",
          "centre_CAD_m": [
            3.16,
            5.85,
            0.7
          ],
          "description": "Torneira própria visitável sobpia. A lavar não recebe AQ automaticamente. Trajeto mais curto que usar o extremo E.",
          "status": "PROPOSTA; interfaces, não tubagem/fiação executiva"
        },
        {
          "id": "ES-PIA-R37",
          "kind": "esgoto pia",
          "centre_CAD_m": [
            3.48,
            5.85,
            0.5
          ],
          "description": "Sifão removível; ligação por especialista, sem esconder acesso atrás de máquina.",
          "status": "PROPOSTA; interfaces, não tubagem/fiação executiva"
        },
        {
          "id": "ES-LAV-R37",
          "kind": "esgoto lavar",
          "centre_CAD_m": [
            3.15,
            5.9,
            0.6
          ],
          "description": "Descarga retida em ligação própria; máximo 1000 acima da base de instalação da lavar segundo manual. Verificar sifão e refluxo.",
          "status": "PROPOSTA; interfaces, não tubagem/fiação executiva"
        },
        {
          "id": "ES-SEC-R37",
          "kind": "condensados secadora",
          "centre_CAD_m": [
            3.22,
            5.9,
            0.6
          ],
          "description": "Ligação comadaptador correto. Guia de mangueira Z 950 apenas hipótese; datum 800–1000 do manual sobrebase 400 ainda por confirmar BSH.",
          "status": "PROPOSTA; interfaces, não tubagem/fiação executiva"
        },
        {
          "id": "AF-AQS-R37",
          "kind": "água fria AQS",
          "centre_CAD_m": [
            0.82,
            5.9,
            0.55
          ],
          "description": "No intervalo 350 direito, visitável; grupo segurança e descarga por projeto.",
          "status": "PROPOSTA; interfaces, não tubagem/fiação executiva"
        },
        {
          "id": "AQ-AQS-R37",
          "kind": "água quente AQS",
          "centre_CAD_m": [
            0.95,
            5.9,
            1.1
          ],
          "description": "Posição de estudo, não cota de bocal de fábrica.",
          "status": "PROPOSTA; interfaces, não tubagem/fiação executiva"
        },
        {
          "id": "CD-AQS-R37",
          "kind": "condensados AQS",
          "centre_CAD_m": [
            0.82,
            5.98,
            0.1
          ],
          "description": "Descarga independente, com segurança/visibilidade e sifão conforme produto final.",
          "status": "PROPOSTA; interfaces, não tubagem/fiação executiva"
        },
        {
          "id": "CD-VMC-R37",
          "kind": "condensados VMC",
          "centre_CAD_m": [
            0.95,
            6.15,
            0.05
          ],
          "description": "Sifão seco original/resistente≥500 Pa, sem ligação estanque direta ao esgoto conforme edição FR consultada.",
          "status": "PROPOSTA; interfaces, não tubagem/fiação executiva"
        },
        {
          "id": "EL-AQS-R37",
          "kind": "reserva elétrica",
          "centre_CAD_m": [
            0.79,
            5.85,
            1.35
          ],
          "description": "Posição visitável a coordenar com R290 e águas; não escolher circuito/proteção neste estudo.",
          "status": "PROPOSTA; interfaces, não tubagem/fiação executiva"
        },
        {
          "id": "EL-VMC-R37",
          "kind": "reserva elétrica",
          "centre_CAD_m": [
            0.95,
            5.85,
            1.35
          ],
          "description": "Separar cabos energia e controlo/LAN conforme manual; semobstruir filtros ou condutas.",
          "status": "PROPOSTA; interfaces, não tubagem/fiação executiva"
        },
        {
          "id": "EL-LAV-R37",
          "kind": "reserva elétrica",
          "centre_CAD_m": [
            2.13,
            5.85,
            1.4
          ],
          "description": "Visitável sem moverpia, cabo 1,60 m por trajeto real; semmultiplicadores atrás do aparelho.",
          "status": "PROPOSTA; interfaces, não tubagem/fiação executiva"
        },
        {
          "id": "EL-SEC-R37",
          "kind": "reserva elétrica",
          "centre_CAD_m": [
            2.75,
            5.85,
            1.4
          ],
          "description": "Cabo 1,45 m por trajeto real, desconexão acessível; eletri­cista defineproteções.",
          "status": "PROPOSTA; interfaces, não tubagem/fiação executiva"
        },
        {
          "id": "FL-LAV-R37",
          "kind": "detetor inundação",
          "centre_CAD_m": [
            3.14,
            6.1,
            0.02
          ],
          "description": "Obrigação do dono; sensor ao nívelpiso sobpia junto às ligações, não escondido atrás de gaveta.",
          "status": "PROPOSTA; interfaces, não tubagem/fiação executiva"
        },
        {
          "id": "FL-TEC-R37",
          "kind": "detetor inundação",
          "centre_CAD_m": [
            0.86,
            6.25,
            0.02
          ],
          "description": "Obrigação do dono; sensoresextras para AQS/VMC se necessário. Acesso/ensaio e atuação a definir no sistema.",
          "status": "PROPOSTA; interfaces, não tubagem/fiação executiva"
        },
        {
          "id": "LED-LS-R37",
          "kind": "LED funcional",
          "centre_CAD_m": [
            2.82,
            6.02,
            2.5
          ],
          "description": "Driver em nicho visitável LS02; não nas cassetesnem sobre condutas. Especificação elétrica/rasgos por selecionar.",
          "status": "PROPOSTA; interfaces, não tubagem/fiação executiva"
        }
      ],
      "machine_water_path_screening": {
        "washer_hose_origin_factory_verified": false,
        "AF_LAV_point": [
          3.16,
          5.85,
          0.7
        ],
        "plan_route_screening_mm": 1090,
        "vertical_route_mm": null,
        "hose_nominal_mm": 1500,
        "remaining_before_vertical_curves_mm": 410,
        "manufacturer_named_extension": {
          "inlet": "WZ10131 (2,50 m)",
          "drain": "11057910 (2,20 m)",
          "source": "Manual PT 9002039918_A, p 26"
        },
        "status": "Trajeto em planta 1090 mm antes de cota real do bocal, curvas, uniões e acesso de retirada. Confirmar extensão original WZ10131 se necessária pelo percurso real. Não atribuir bocal a Z 400 nem fechar 1,50 m automaticamente; não deslocar corte para fenda 45 inacessível."
      },
      "ducts": "AQSdois ramaisprópriosØ 150/160 conformemanual; Q350 quatro bocasØ 160, sódoisexteriores. Traçadoscomcotovelos/isolamento/silenciadores/vãos/atravessamentosnãoforamdimensionados. Não usarareadocorpocomolargura dascondutas.",
      "west_terminals": "Saídasa W próximas/sobpala carros: confirmarindependência, sujidade/poluição, recirculação, chuva, distânciasentre captações/descargas, ruídoecondensação. Semmelhoriaderendimentoprometida.",
      "drains": "Pia/lavar/secarnecessitamramal/sifõescomcapacidade/declive/antirrefluxoacessíveis; AQSsegurança/condensadose Q350 conformesmanuais, semfundirdescargasarbitrariamente. Nãodimensionartubosporvolumesderender.",
      "vibration": "Basesoriginais, apoios/retentores, equipamentosseparadosdopavimentoeestruturasconformeinstaladores. Nãounirmáquinascom Q350 ou AQSpor ummóvel rígido; nenhumacargaindiretanosaparelhos.",
      "P2": "Usohabitualpreservado; manutenção AQS com P2 fechada. A substituiçãodo AQSprecisa esvaziar/desligar, removerfolhase necessárioparamanobrae 2 profissionaisconformemanual. Corpo 600/635(ou 654 FR)vsútil 800: passagemnominalnãoprova transporte/raiosdepessoa/carrinho.",
      "fixings": "P6 cassete Enãorecebeparafusos, torneirasoudrivers. W22 S/PGL 150 necessitasuporteseestruturaaprovados; nãoconsideraralvenariainventada."
    },
    "pending_interfaces": [
      {
        "id": "L37-P01",
        "issue": "AQS identificação mercado/revisão",
        "condition": "Manual ES 600 × 635 × 1937 vs FR 600 × 654 × 1931, mesmocódigo 3069791. Confirmarfichaportuguesa/unidadeantesde fecharcotasesubstituição."
      },
      {
        "id": "L37-P02",
        "issue": "Bases ealturas BSH",
        "condition": "Validar E-Nr/FD ecompatibilidade WZWP50W/WZDP40D, fixações/dinâmica, pavimento, corpos/mangueiras. Nãofabricarplataforma de madeira."
      },
      {
        "id": "L37-P03",
        "issue": "Tampoalto 13 mm",
        "condition": "Conservarcomoestadoatualpendente, semdeclararprodutível. Confirmar BSH ouremover/reveraltura eapoiosindependentes. Não afirmarque 1300 ébancadaergonómica."
      },
      {
        "id": "L37-P04",
        "issue": "Mangueira lavar atépia",
        "condition": "A componente em planta é 1090 mm antes dealtura real do bocal e curvas. O manualp 26 nomeia extensão original WZ10131(2,50 m) e descarga 11057910(2,20 m). Confirmar E-Nr e percurso instalado; não pôr corte na fenda 45 nem declarar 1500 mm suficiente."
      },
      {
        "id": "L37-P05",
        "issue": "Pia/tampo/torneira",
        "condition": "Aprovartipo/furo/rótula/folgasalavanca/clips/espessurapedra, cargaesforço, peças molhadase selo. Montagem e recorte de fornecimento, sem gavetas no envelope."
      },
      {
        "id": "L37-P06",
        "issue": "Redes ecaudais",
        "condition": "AVAC/águas/elétricapordisciplinas; sifãovisitável, descargasretidas, sensoréinstruçãododono, semcircuitosdepotência oueficiênciaprometida."
      },
      {
        "id": "L37-P07",
        "issue": "Levantamento eapoiodaestrutura",
        "condition": "780 émódulopropostocom 20 alémdofolgamin A; medirparedesacabadas, esquadrias, portas, forro 2700 equinas. Nãoélistadecorte."
      }
    ],
    "manufacturer_sources": [
      {
        "id": "F-L01",
        "title": "Ariston NUOS PLUS S 2 WIFI FS, manual de instalação ES",
        "url": "https://www.ariston.com/content/dam/ariston/es/products/aerothermal/nuos/nuos-plus-wifi-s2-fs/2-manual-de-instalaci-c3-b3n-nuos-plus-s2-wifi-fs-ar-es.pdf",
        "local": "output/auditoria_profunda_R2/fontes/Ariston_Nuos_S2_FS_manual.pdf",
        "pages_printed": [
          29,
          32,
          33
        ],
        "verified": "Dimensões 600 × 635 × 1937; A 120/B 350; C 210 paraØ 160 PEHD; topo 65. Acesso, suporte/pés, segurança R290 e condutas conforme manual.",
        "local_sha256": "2 c 6 c 09 beff 27 be 6 f 868 d 8 f 4 a 52 bafa 114 c 8 e 79 b 34260905 a 97570 fc 210 b 9 b 2 c 5",
        "consulted_date": "2026-10-29"
      },
      {
        "id": "F-L02",
        "title": "Ariston página oficial ES, código 3069791",
        "url": "https://www.ariston.com/es-es/productos/bomba-de-calor/agua-caliente/nuos-plus-wifi-s2-fs",
        "verified": "Identificação comercial 250 L R290. Referência de estudo; não compra confirmada.",
        "consulted_date": "2026-10-29"
      },
      {
        "id": "F-L03",
        "title": "Ariston página oficial FR, variação dimensional de mercado",
        "url": "https://www.ariston.com/fr-fr/produits/chauffe-eau-ballons/chauffe-eau-thermodynamique/nuos-plus-s2-wifi-fs/",
        "verified": "Mesmo código 3069791 aparece 600 × 654 × 1931 nesta página. Exigir ficha portuguesa/revisão da unidade; não combinar dados de versões.",
        "consulted_date": "2026-10-29"
      },
      {
        "id": "F-L04",
        "title": "Zehnder Comfo Air Q, manual instalador FR V 0918",
        "url": "https://www.zehnder.fr/fileadmin/user_upload/FR/Transfer_from_forms_folder/40014865-0918-zw-zw-A4_ComfoAir_Q_Installateur_Zehnder-France_FR.pdf",
        "local": "output/auditoria_profunda_R2/fontes/Zehnder_ComfoAir_Q_manual.pdf",
        "pages_printed": [
          6,
          9,
          14,
          15
        ],
        "verified": "Sem espaço lateral suplementar para o corpo; manutenção frontal≥1 m. Chassis opcional de solo, unidade travada; base 250 de reserva para drenagem. Quatro ligações superiores, silenciosos/condutas e sifão seco por manual.",
        "local_sha256": "0 e 197261 a 9 f 292731 a 054 cd 59 eb 5 cbbf 32 e 89259 dbf 43 e 51 b 481 ad 6 e 3 eb 9 fb 75",
        "consulted_date": "2026-10-29"
      },
      {
        "id": "F-L05",
        "title": "Zehnder Comfo Air Q, manual oficial inglês",
        "url": "https://zehnderamerica.com/wp-content/uploads/2024/08/ComfoAir_Q-Installer_Zehnder-America_EN_2021.03.22-1.pdf",
        "verified": "Corrobora serviço frontal 1 m e ausência de exigência lateral extra. Edição regional; a versão a fornecer em Portugal prevalece.",
        "consulted_date": "2026-10-29"
      },
      {
        "id": "F-L06",
        "title": "Siemens WG54N2A0ES, manual PT 9002039918_A",
        "url": "https://media3.bsh-group.com/Documents/9002039918_A.pdf",
        "local": "output/R27_Compartimentos/referencias_oficiais/WG54N2A0ES_Manual_9002039918_A.pdf",
        "pages_printed": [
          12,
          14,
          15,
          26,
          51,
          52
        ],
        "verified": "WZWP50W identificado na lista de acessórios; retenção dos pés em base, nivelamento; drenagem≤1000 acima da superfície de instalação. Corpo 845 × 598 × 590, fechada 633, aberta 1074.",
        "local_sha256": "7 e 6 ca 75813 f 2453 d 6 b 6468 a 3 d 0 f 591 e 4926374 d 77339 b 596 b 85 b 2 f 7 eef 9854 c 8",
        "consulted_date": "2026-10-29"
      },
      {
        "id": "F-L07",
        "title": "Siemens WQ46N2D0ES, manual PT 9002089086_A",
        "url": "https://media3.bsh-group.com/Documents/9002089086_A.pdf",
        "local": "output/R27_Compartimentos/referencias_oficiais/WQ46N2D0ES_Manual_9002089086_A.pdf",
        "pages_printed": [
          12,
          13,
          14,
          23,
          43,
          44
        ],
        "verified": "WZDP40D e Y 15000490 identificados. Corpo 842 × 598 × 613, fechada 648, aberta 1096. Guia de sifão 800–1000; datum com elevação 400 a confirmar. Não empilhar sobre plataforma.",
        "local_sha256": "e 032 ec 08 b 2 b 85 da 639 a 1247 e 661285 b 8 f 87 d 5514300 ce 01 cf 5 cf 346 d 4177 eae 5",
        "consulted_date": "2026-10-29"
      },
      {
        "id": "F-L08",
        "title": "Siemens WZWP50W, ficha oficial",
        "url": "https://www.siemens-home.bsh-group.com/de/de/product/waeschepflege/waschmaschinen/zubehoer-fuer-waschmaschinen/WZWP50W",
        "local": "output/R27_Compartimentos/referencias_oficiais/WZWP50W_Pagina_Oficial.html",
        "verified": "400 A× 600 L× 570 P. Confirmação de compatibilidade por E-Nr solicitada pelo fabricante.",
        "local_sha256": "d 22 b 79 bcfc 026147 ed 9 e 8 c 16218 d 5 fb 5418 ad 324 c 3 dfc 7910 d 675114 f 4 cbae 23",
        "consulted_date": "2026-10-29"
      },
      {
        "id": "F-L09",
        "title": "Siemens WZDP40D, ficha oficial",
        "url": "https://www.siemens-home.bsh-group.com/at/de/product/laundrycare/laundrycareacc/WZDP40D",
        "local": "output/R27_Compartimentos/referencias_oficiais/WZDP40D_Pagina_Oficial.html",
        "verified": "400 A× 600 L× 570 P. Confirmação de compatibilidade por E-Nr solicitada pelo fabricante.",
        "local_sha256": "d 64 c 6 e 76 a 6 a 9 ba 23 a 104361 a 7470394 be 7 b 1 f 7 c 03 dc 8411 ed 40 d 48 aa 2 ffb 901 b",
        "consulted_date": "2026-10-29"
      },
      {
        "id": "F-R37-01",
        "title": "RODI Box Line 40",
        "url": "https://rodihome.com/product/lava-loucas/box-line-40/",
        "verified": "Exterior 436 × 436; cuba 400 × 400 × 200; móvelmín 500. Prova quecabe nominalmente, não resolve utilizaçãoadjacente ao ressalto.",
        "consulted_date": "2026-10-29"
      },
      {
        "id": "F-R37-02",
        "title": "RODI UNA 57",
        "url": "https://rodihome.com/product/lava-loucas/una-57/",
        "verified": "Exterior 550 × 505; cuba 500 × 400 × 200/R 25; móvelmín 600; inox AISI 304, zona traseira e degrau paraacessórios. Não confundircom UNA 50(540 × 440).",
        "consulted_date": "2026-10-29"
      },
      {
        "id": "F-R37-03",
        "title": "RODI UNA 57 desenho técnico",
        "url": "https://rodihome.com/wp-content/uploads/2020/06/Una57_desenho-tecnico.png",
        "local": "tmp/R37/lavandaria/referencias/RODI_UNA57_Desenho.png",
        "verified": "550 × 505; zona traseira 80; cuba 500 × 400 e degrau 380; raio 25 na cuba. Dimensões de produto, não volume útil.",
        "consulted_date": "2026-10-29"
      },
      {
        "id": "F-R37-04",
        "title": "RODI UNA 57 plano de corte superior",
        "url": "https://rodihome.com/wp-content/uploads/2020/06/Una57_plano-de-corte_aplic_superior.png",
        "local": "tmp/R37/lavandaria/referencias/RODI_UNA57_Corte_Superior.png",
        "verified": "Recorte 530 × 485/R 10, bordo 10 nominal. Confirmar gabarito de fornecimento eapoios/clips antes de cortar.",
        "consulted_date": "2026-10-29"
      },
      {
        "id": "F-R37-05",
        "title": "RODI LINE MN807PT",
        "url": "https://rodihome.com/product/misturadoras/line-mn-807pt/",
        "verified": "Ducheextraível, H 312/saída 278, corpo 54/furo 35,10004062 preto mate; coldstart. Não atribuir pressão/caudal não publicados.",
        "consulted_date": "2026-10-29"
      },
      {
        "id": "F-R37-06",
        "title": "RODI MN 807 desenho técnico",
        "url": "https://rodihome.com/wp-content/uploads/2020/06/DT-SITE_LINE-MN-807-scaled.png",
        "local": "tmp/R37/lavandaria/referencias/RODI_MN807_Desenho.png",
        "verified": "312/278/176 H, Ø 54, cota horizontal 290 entre limites desenhados; não assumir 290 como projeção do eixo.",
        "consulted_date": "2026-10-29"
      },
      {
        "id": "F-R37-07",
        "title": "Roca Henares A368951001, alternativa não escolhida",
        "url": "https://www.roca.es/productos/lavadero-porcelana-368951..1",
        "verified": "Peça porcelana 600 × 390 × 360. Não cabeem largura 500; formafunda reduz aproximaçãodas mãos. Capacidade útilnãoconfirmada, fornecimento PT eproduto/móvelcompatívelprecisamconfirmação. Não adotado.",
        "consulted_date": "2026-10-29"
      }
    ],
    "qa": {
      "checks": [
        {
          "check": "Cadeia3900mm",
          "pass": true,
          "details": "140+600+350+725+45+1260+780"
        },
        {
          "check": "Recinto inalterado",
          "pass": true,
          "details": "[-.05,5.85,3.85,8.50] =3900×2650"
        },
        {
          "check": "Despensa exatamente preservada",
          "pass": true,
          "details": "5colunas+6gavetas;3600frente/P450; mesmosbboxes ealturas"
        },
        {
          "check": "FolgaAQS esquerda",
          "pass": true,
          "details": "mínimoES120;20mmadicionaisdeajuste, não levantamentodeobra"
        },
        {
          "check": "FolgaAQS direita",
          "pass": true,
          "details": "mínimoES350"
        },
        {
          "check": "FolgaAQS traseira",
          "pass": true,
          "details": "referênciaEScondutaØ160"
        },
        {
          "check": "VMC para bases",
          "pass": true,
          "details": "sobra geométrica, não mínimoZehnder/BSH"
        },
        {
          "check": "Pia piso/zona serviçoP6",
          "pass": true,
          "details": "cava sempuxadorprojetado; nenhumapoiodentrodecasseteE"
        },
        {
          "check": "Móvel ultrapassa mínimoUNA57",
          "pass": true,
          "details": "+180mmfaceaomínimo"
        },
        {
          "check": "Apoios laterais pia",
          "pass": true,
          "details": "115porlado,nenhum éplano600paradobrarroupa"
        },
        {
          "check": "Apoio frente/trás",
          "pass": true,
          "details": "verificarestruturaapedra/clips; nãosãomínimos universais"
        },
        {
          "check": "Raiocuba dentro móvel",
          "pass": true,
          "details": "cuba500 ecarcaçainterior744"
        },
        {
          "check": "Frentes sem gavetas",
          "pass": true,
          "details": "sem gavetaqueatravessecubaoucontrapeso"
        },
        {
          "check": "Todos aparelhos/dadosaninhadosdeslocados",
          "pass": true,
          "details": "novoscentros2.13/2.75"
        },
        {
          "check": "Passagemfechadamáquinas",
          "pass": true,
          "details": "1475mm; menorpontoglobalAQS1342permanece"
        },
        {
          "check": "VMCserviço",
          "pass": true,
          "details": "1000frontal e617atémóvelNfechado"
        },
        {
          "check": "AQSserviçoproposto",
          "pass": true,
          "details": "342atémóvelN, porémP2fechada"
        }
      ],
      "passed": 17,
      "total": 17,
      "not_certified": "Verificaçõesgeométricasdigitais+fontespúblicas; nãocertificaminstalação, estrutura, caudais, fabricoouusopor todos."
    }
  },
  "source_hashes": {
    "bathroom_R37_sha256": "83b1edd986dc875bf08b340e3052bc8cb1a190570c9491d886378fbda4ab4c89"
  },
  "familyLinenStorageR38": {
    "family": 4,
    "bath_towels_backstock": 8,
    "folded_towel_mm": [
      400,
      250,
      90
    ],
    "shelf_clear_width_depth_mm": [
      464,
      552
    ],
    "shelf_tops_used_mm": [
      450,
      850
    ],
    "per_shelf": 4,
    "layout": "2front/back ×2stack",
    "nominal_remaining_width_mm": 64,
    "nominal_remaining_depth_mm": 52,
    "closed_front_to_opposite_wall_mm": 2200,
    "door_open_remaining_mm": 1704
  },
  "commonBathS2DecisionR38": "Adotada para desenvolvimento; encastre cisterna naW39E170 e demaisinterfaces ainda porvalidar.",
  "bathroomWallStorageR38": "Retirada porpedido proprietário. Apenas móveisinferiores, espelhos eacessórios; toalheirosaquecidosmantidos.",
  "historyEmissionStatesR38": {
    "R37_status": "Coordenado como proposta construtiva: banho comumS2 não adotado; A780 melhoria proposta; C2/hall adotados preservados. As reservas de especialidades/fabrico permanecem assinaladas."
  },
  "adoptionR38": {
    "common_bath_S2": "ESCOLHIDA_PARA_DESENVOLVIMENTO",
    "suite_C2": "ADOTADA_PARA_DESENVOLVIMENTO",
    "hall_bicolor": "DECIDIDA",
    "bath_wall_cabinets": "REJEITADOS_RETIRADOS",
    "kids_dressers": "PEDIDO_DO_PROPRIETARIO_DESENVOLVIDO",
    "solar_thermal_two": "PEDIDO_DO_PROPRIETARIO_PRODUTOS_E_EXECUCAO_POR_VALIDAR",
    "PV_remaining_roof": "PEDIDO_DO_PROPRIETARIO_LAYOUT_E_EXECUCAO_POR_VALIDAR",
    "two_wallboxes": "PEDIDO_DO_PROPRIETARIO_EXECUCAO_POR_DIMENSIONAR",
    "laundry_A780": "MELHORIA_PROPOSTA_NAO_ADOTADA_AUTOMATICAMENTE",
    "manufacturing_released": false
  },
  "carpentryContractR38": {
    "file": "Modulos_Carpintaria_R38.json",
    "sha256": "00dd33a20bb839c50f142491ba459daafedf35914412f7c526505fbcb56c097a",
    "count": 73,
    "status": "SEM_LIBERACAO_FABRICO",
    "role_R39": "Proveniência da emissão R38 original; o contrato corrente é carpentryContractR39.",
    "role_R41": "Proveniência R38; contrato corrente carpentryContractR41."
  },
  "sourceContractsR38": [
    {
      "path": "output\\R38_Desenvolvimento_Integrado\\cozinha\\Patch_Cozinha_R38.json",
      "sha256": "836697aa6e223dd7c33f480c0c5896508691833c2fb2fa0a1e4a9308e72d5486"
    },
    {
      "path": "output\\R38_Desenvolvimento_Integrado\\compartimentos\\dados\\Patch_Compartimentos_R38.json",
      "sha256": "9a229b220e4a78e80d4b0f9b66733bd78760ea4160e28c79297fa39f89b92b46"
    },
    {
      "path": "output\\R38_Desenvolvimento_Integrado\\instalacoes\\Contrato_Modelo_Instalacoes_R38.json",
      "sha256": "1d195aa09b37d8d1b295ac593ea5b4aac11f4272eb562f647790d2df1aab6b30"
    }
  ],
  "R38_status": {
    "state": "DESENVOLVIMENTO_EM_COORDENACAO",
    "geometry_ready_for_visualization": true,
    "installation_contract_pending": false,
    "manufacturing_released": false,
    "installation_source_sha256": "1d195aa09b37d8d1b295ac593ea5b4aac11f4272eb562f647790d2df1aab6b30"
  },
  "installationDomainPatchR38": {
    "schema": "R38-installations-model-contract-1",
    "date": "2026-10-30",
    "basis_global_R37_sha256": "cfb91d61031f758cb3ee4d925c5f3954eb394294f6494c0c99582e7afcbd9e0e",
    "revision": "R41_PROPOSTA_INTEGRADA",
    "geometry_frozen_for_study": true,
    "approved_for_purchase_or_execution": false,
    "coordinate_system": "CADmetres[x,y,z]→Three[x,z,-y]",
    "roof": {
      "status": "IMPLANTACAO PRELIMINAR COORDENADA; SEM LEVANTAMENTO SOLAR/ESTRUTURAL",
      "body_roof_bbox": [
        -0.3,
        -0.25,
        16.6,
        8.75
      ],
      "roof_width_m": 16.9,
      "roof_depth_m": 9.0,
      "slab_top_m": 3.26,
      "gravel_top_m": 3.31,
      "parapet_top_m": 3.6,
      "pv_modules": [
        {
          "id": "PV-11",
          "row": 1,
          "column": 1,
          "corners_CAD_m": [
            [
              0.6,
              0.6,
              3.46
            ],
            [
              2.33,
              0.6,
              3.46
            ],
            [
              2.33,
              1.7010150678676488,
              3.654138662631628
            ],
            [
              0.6,
              1.7010150678676488,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-12",
          "row": 1,
          "column": 2,
          "corners_CAD_m": [
            [
              2.35,
              0.6,
              3.46
            ],
            [
              4.08,
              0.6,
              3.46
            ],
            [
              4.08,
              1.7010150678676488,
              3.654138662631628
            ],
            [
              2.35,
              1.7010150678676488,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-13",
          "row": 1,
          "column": 3,
          "corners_CAD_m": [
            [
              4.1,
              0.6,
              3.46
            ],
            [
              5.83,
              0.6,
              3.46
            ],
            [
              5.83,
              1.7010150678676488,
              3.654138662631628
            ],
            [
              4.1,
              1.7010150678676488,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-14",
          "row": 1,
          "column": 4,
          "corners_CAD_m": [
            [
              5.85,
              0.6,
              3.46
            ],
            [
              7.58,
              0.6,
              3.46
            ],
            [
              7.58,
              1.7010150678676488,
              3.654138662631628
            ],
            [
              5.85,
              1.7010150678676488,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-15",
          "row": 1,
          "column": 5,
          "corners_CAD_m": [
            [
              7.6,
              0.6,
              3.46
            ],
            [
              9.33,
              0.6,
              3.46
            ],
            [
              9.33,
              1.7010150678676488,
              3.654138662631628
            ],
            [
              7.6,
              1.7010150678676488,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-16",
          "row": 1,
          "column": 6,
          "corners_CAD_m": [
            [
              9.35,
              0.6,
              3.46
            ],
            [
              11.08,
              0.6,
              3.46
            ],
            [
              11.08,
              1.7010150678676488,
              3.654138662631628
            ],
            [
              9.35,
              1.7010150678676488,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-17",
          "row": 1,
          "column": 7,
          "corners_CAD_m": [
            [
              11.1,
              0.6,
              3.46
            ],
            [
              12.83,
              0.6,
              3.46
            ],
            [
              12.83,
              1.7010150678676488,
              3.654138662631628
            ],
            [
              11.1,
              1.7010150678676488,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-18",
          "row": 1,
          "column": 8,
          "corners_CAD_m": [
            [
              12.85,
              0.6,
              3.46
            ],
            [
              14.58,
              0.6,
              3.46
            ],
            [
              14.58,
              1.7010150678676488,
              3.654138662631628
            ],
            [
              12.85,
              1.7010150678676488,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-21",
          "row": 2,
          "column": 1,
          "corners_CAD_m": [
            [
              0.6,
              2.101,
              3.46
            ],
            [
              2.33,
              2.101,
              3.46
            ],
            [
              2.33,
              3.2020150678676487,
              3.654138662631628
            ],
            [
              0.6,
              3.2020150678676487,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-22",
          "row": 2,
          "column": 2,
          "corners_CAD_m": [
            [
              2.35,
              2.101,
              3.46
            ],
            [
              4.08,
              2.101,
              3.46
            ],
            [
              4.08,
              3.2020150678676487,
              3.654138662631628
            ],
            [
              2.35,
              3.2020150678676487,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-23",
          "row": 2,
          "column": 3,
          "corners_CAD_m": [
            [
              4.1,
              2.101,
              3.46
            ],
            [
              5.83,
              2.101,
              3.46
            ],
            [
              5.83,
              3.2020150678676487,
              3.654138662631628
            ],
            [
              4.1,
              3.2020150678676487,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-24",
          "row": 2,
          "column": 4,
          "corners_CAD_m": [
            [
              5.85,
              2.101,
              3.46
            ],
            [
              7.58,
              2.101,
              3.46
            ],
            [
              7.58,
              3.2020150678676487,
              3.654138662631628
            ],
            [
              5.85,
              3.2020150678676487,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-25",
          "row": 2,
          "column": 5,
          "corners_CAD_m": [
            [
              7.6,
              2.101,
              3.46
            ],
            [
              9.33,
              2.101,
              3.46
            ],
            [
              9.33,
              3.2020150678676487,
              3.654138662631628
            ],
            [
              7.6,
              3.2020150678676487,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-26",
          "row": 2,
          "column": 6,
          "corners_CAD_m": [
            [
              9.35,
              2.101,
              3.46
            ],
            [
              11.08,
              2.101,
              3.46
            ],
            [
              11.08,
              3.2020150678676487,
              3.654138662631628
            ],
            [
              9.35,
              3.2020150678676487,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-27",
          "row": 2,
          "column": 7,
          "corners_CAD_m": [
            [
              11.1,
              2.101,
              3.46
            ],
            [
              12.83,
              2.101,
              3.46
            ],
            [
              12.83,
              3.2020150678676487,
              3.654138662631628
            ],
            [
              11.1,
              3.2020150678676487,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-28",
          "row": 2,
          "column": 8,
          "corners_CAD_m": [
            [
              12.85,
              2.101,
              3.46
            ],
            [
              14.58,
              2.101,
              3.46
            ],
            [
              14.58,
              3.2020150678676487,
              3.654138662631628
            ],
            [
              12.85,
              3.2020150678676487,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-31",
          "row": 3,
          "column": 1,
          "corners_CAD_m": [
            [
              0.6,
              4.002,
              3.46
            ],
            [
              2.33,
              4.002,
              3.46
            ],
            [
              2.33,
              5.1030150678676485,
              3.654138662631628
            ],
            [
              0.6,
              5.1030150678676485,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-32",
          "row": 3,
          "column": 2,
          "corners_CAD_m": [
            [
              2.35,
              4.002,
              3.46
            ],
            [
              4.08,
              4.002,
              3.46
            ],
            [
              4.08,
              5.1030150678676485,
              3.654138662631628
            ],
            [
              2.35,
              5.1030150678676485,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-33",
          "row": 3,
          "column": 3,
          "corners_CAD_m": [
            [
              4.1,
              4.002,
              3.46
            ],
            [
              5.83,
              4.002,
              3.46
            ],
            [
              5.83,
              5.1030150678676485,
              3.654138662631628
            ],
            [
              4.1,
              5.1030150678676485,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-34",
          "row": 3,
          "column": 4,
          "corners_CAD_m": [
            [
              5.85,
              4.002,
              3.46
            ],
            [
              7.58,
              4.002,
              3.46
            ],
            [
              7.58,
              5.1030150678676485,
              3.654138662631628
            ],
            [
              5.85,
              5.1030150678676485,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-35",
          "row": 3,
          "column": 5,
          "corners_CAD_m": [
            [
              7.6,
              4.002,
              3.46
            ],
            [
              9.33,
              4.002,
              3.46
            ],
            [
              9.33,
              5.1030150678676485,
              3.654138662631628
            ],
            [
              7.6,
              5.1030150678676485,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-36",
          "row": 3,
          "column": 6,
          "corners_CAD_m": [
            [
              9.35,
              4.002,
              3.46
            ],
            [
              11.08,
              4.002,
              3.46
            ],
            [
              11.08,
              5.1030150678676485,
              3.654138662631628
            ],
            [
              9.35,
              5.1030150678676485,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-37",
          "row": 3,
          "column": 7,
          "corners_CAD_m": [
            [
              11.1,
              4.002,
              3.46
            ],
            [
              12.83,
              4.002,
              3.46
            ],
            [
              12.83,
              5.1030150678676485,
              3.654138662631628
            ],
            [
              11.1,
              5.1030150678676485,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-38",
          "row": 3,
          "column": 8,
          "corners_CAD_m": [
            [
              12.85,
              4.002,
              3.46
            ],
            [
              14.58,
              4.002,
              3.46
            ],
            [
              14.58,
              5.1030150678676485,
              3.654138662631628
            ],
            [
              12.85,
              5.1030150678676485,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-41",
          "row": 4,
          "column": 1,
          "corners_CAD_m": [
            [
              0.6,
              5.503,
              3.46
            ],
            [
              2.33,
              5.503,
              3.46
            ],
            [
              2.33,
              6.604015067867649,
              3.654138662631628
            ],
            [
              0.6,
              6.604015067867649,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-42",
          "row": 4,
          "column": 2,
          "corners_CAD_m": [
            [
              2.35,
              5.503,
              3.46
            ],
            [
              4.08,
              5.503,
              3.46
            ],
            [
              4.08,
              6.604015067867649,
              3.654138662631628
            ],
            [
              2.35,
              6.604015067867649,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-43",
          "row": 4,
          "column": 3,
          "corners_CAD_m": [
            [
              4.1,
              5.503,
              3.46
            ],
            [
              5.83,
              5.503,
              3.46
            ],
            [
              5.83,
              6.604015067867649,
              3.654138662631628
            ],
            [
              4.1,
              6.604015067867649,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-44",
          "row": 4,
          "column": 4,
          "corners_CAD_m": [
            [
              5.85,
              5.503,
              3.46
            ],
            [
              7.58,
              5.503,
              3.46
            ],
            [
              7.58,
              6.604015067867649,
              3.654138662631628
            ],
            [
              5.85,
              6.604015067867649,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-45",
          "row": 4,
          "column": 5,
          "corners_CAD_m": [
            [
              7.6,
              5.503,
              3.46
            ],
            [
              9.33,
              5.503,
              3.46
            ],
            [
              9.33,
              6.604015067867649,
              3.654138662631628
            ],
            [
              7.6,
              6.604015067867649,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        },
        {
          "id": "PV-46",
          "row": 4,
          "column": 6,
          "corners_CAD_m": [
            [
              9.35,
              5.503,
              3.46
            ],
            [
              11.08,
              5.503,
              3.46
            ],
            [
              11.08,
              6.604015067867649,
              3.654138662631628
            ],
            [
              9.35,
              6.604015067867649,
              3.654138662631628
            ]
          ],
          "size_mm": [
            1730,
            1118,
            30
          ],
          "tilt_deg": 10,
          "power_Wp_candidate": 430
        }
      ],
      "thermal_collectors": [
        {
          "id": "TH-01",
          "product_candidate": "Bosch SO5000TF FKC-2S vertical",
          "corners_CAD_m": [
            [
              12.8,
              5.55,
              3.5115
            ],
            [
              13.975000000000001,
              5.55,
              3.5115
            ],
            [
              13.975000000000001,
              7.296773239433213,
              4.52
            ],
            [
              12.8,
              7.296773239433213,
              4.52
            ]
          ],
          "support_envelope_CAD_m": [
            12.8,
            5.55,
            3.31,
            13.98,
            7.32,
            4.52
          ],
          "collector_mm": [
            1175,
            2017,
            87
          ],
          "tilt_deg": 30,
          "dry_mass_kg": 40,
          "source": "BOSCH",
          "status": "CANDIDATO;KIT_PT/ESTRUTURA/PESO/VENTO POR VALIDAR"
        },
        {
          "id": "TH-02",
          "product_candidate": "Bosch SO5000TF FKC-2S vertical",
          "corners_CAD_m": [
            [
              14.0,
              5.55,
              3.5115
            ],
            [
              15.175,
              5.55,
              3.5115
            ],
            [
              15.175,
              7.296773239433213,
              4.52
            ],
            [
              14.0,
              7.296773239433213,
              4.52
            ]
          ],
          "support_envelope_CAD_m": [
            14.0,
            5.55,
            3.31,
            15.18,
            7.32,
            4.52
          ],
          "collector_mm": [
            1175,
            2017,
            87
          ],
          "tilt_deg": 30,
          "dry_mass_kg": 40,
          "source": "BOSCH",
          "status": "CANDIDATO;KIT_PT/ESTRUTURA/PESO/VENTO POR VALIDAR"
        }
      ],
      "orientation": {
        "CAD_positive_X_azimuth_deg_assumed": 45,
        "CAD_positive_Y_azimuth_deg_assumed": 315,
        "array_facing_azimuth_deg_assumed": 135,
        "surveyed": false
      },
      "maintenance_paths": [
        {
          "id": "PATH-CROSS",
          "bbox": [
            0.25,
            3.202,
            15.8,
            4.002
          ],
          "clear_width_mm": 800
        },
        {
          "id": "PATH-E",
          "bbox": [
            15.3,
            0.2,
            16.1,
            8.3
          ],
          "clear_width_mm": 800
        }
      ],
      "thermal_clearances_m": {
        "north": 1.43,
        "east": 1.42,
        "provisional_rule": 1.4
      },
      "no_equipment_or_ballast_in_paths": true,
      "drainage": "Nenhum ralo/pendente de cobertura está levantado. Faixas de drenagem e suportes sem barrar água precisam de levantamento antes de fixar layout. Caminhos não substituem proteção de queda.",
      "structural": "PV645kg+coletores80kg secos, exclui suportes/lastro/tubos/fluido/passadiços. Não é carga de cálculo. Verificação vento, punçoamento, laje, impermeabilização e bordos por estrutural.",
      "inverter": {
        "product_candidate": "Fronius Symo GEN24 10.0 Plus",
        "AC_kW": 10,
        "max_AC_A": 16.4,
        "max_DC_V": 1000,
        "MPPT_I_A": [
          25,
          12.5
        ],
        "MPPT_Isc_A": [
          40,
          20
        ],
        "MPPT_window_V": [
          278,
          800
        ],
        "strings": [
          {
            "MPPT": 1,
            "parallel_strings": 2,
            "modules_in_series": 10
          },
          {
            "MPPT": 2,
            "parallel_strings": 1,
            "modules_in_series": 10
          }
        ],
        "bbox_reserve_CAD_m": [
          17.0,
          6.9,
          0.8,
          17.3,
          7.65,
          1.65
        ],
        "status": "CANDIDATO SEM COMPRA;produtoPVUEeprojetoUPACpendentes"
      },
      "string_calculations": {
        "count": 30,
        "DC_kWp": 12.9,
        "AC_kW": 10,
        "DC_AC_ratio": 1.29,
        "Vmp_STC_10_modules_V": 505.0,
        "Voc_STC_10_modules_V": 597.0,
        "Voc_at_minus10C_plus3percent_V": 666.56,
        "Imp_parallel_MPPT1_A": 17.04,
        "Isc_parallel_MPPT1_A": 17.82,
        "limits_pass_STC_and_assumed_minus10": true,
        "not_validated": [
          "Temperatura mínima e máxima de célula do local",
          "Certificação/varianteUE do módulo",
          "Conectores/quedaDC/proteções/cabos",
          "Configuração país do inversor",
          "Sombras e perdas anuais",
          "Sem bateria/backup contratados"
        ]
      },
      "shadow_audit": {
        "method": "Ray intersection with rectangular3Dplanes,121samples/facePV(11×11,near-edgesincluded),72scenarios(alt15/25/35;az0..345each15). Thermal collectors,otherPVandverticalparapets are separate occluders. Azimuthreference135°assumed,notsurveyed. Noannualperformancecalculation. Fractionofsamplepointsisnotfractionofpowerlost. Vegetation,neighbours,thermalrearstructure,roofservicesnotmodeled.",
        "samples_per_module": 121,
        "scenarios": [
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 0,
            "thermal_affected_sample_fraction": {
              "PV-36": 0.04959,
              "PV-37": 0.17355,
              "PV-38": 0.02479
            },
            "all_occluders_sample_counts": {
              "PV-36": {
                "thermal": 6,
                "PV": 0,
                "parapet": 0
              },
              "PV-37": {
                "thermal": 21,
                "PV": 0,
                "parapet": 0
              },
              "PV-38": {
                "thermal": 3,
                "PV": 0,
                "parapet": 0
              }
            }
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 15,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 30,
            "thermal_affected_sample_fraction": {
              "PV-46": 0.16529
            },
            "all_occluders_sample_counts": {
              "PV-46": {
                "thermal": 20,
                "PV": 0,
                "parapet": 0
              }
            }
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 45,
            "thermal_affected_sample_fraction": {
              "PV-46": 0.00826
            },
            "all_occluders_sample_counts": {
              "PV-46": {
                "thermal": 1,
                "PV": 0,
                "parapet": 0
              }
            }
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 60,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 75,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 90,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {
              "PV-21": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-22": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-23": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-24": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-25": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-26": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-27": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-28": {
                "thermal": 0,
                "PV": 8,
                "parapet": 0
              },
              "PV-41": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-42": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-43": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-44": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-45": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-46": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              }
            }
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 105,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {
              "PV-21": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-22": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-23": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-24": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-25": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-26": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-27": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-28": {
                "thermal": 0,
                "PV": 18,
                "parapet": 0
              },
              "PV-41": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-42": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-43": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-44": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-45": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-46": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              }
            }
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 120,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {
              "PV-21": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-22": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-23": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-24": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-25": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-26": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-27": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-28": {
                "thermal": 0,
                "PV": 20,
                "parapet": 0
              },
              "PV-41": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-42": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-43": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-44": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-45": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-46": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              }
            }
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 135,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {
              "PV-21": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-22": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-23": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-24": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-25": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-26": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-27": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-28": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-41": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-42": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-43": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-44": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-45": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-46": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              }
            }
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 150,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {
              "PV-21": {
                "thermal": 0,
                "PV": 20,
                "parapet": 0
              },
              "PV-22": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-23": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-24": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-25": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-26": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-27": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-28": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-41": {
                "thermal": 0,
                "PV": 20,
                "parapet": 0
              },
              "PV-42": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-43": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-44": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-45": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-46": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              }
            }
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 165,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {
              "PV-21": {
                "thermal": 0,
                "PV": 18,
                "parapet": 0
              },
              "PV-22": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-23": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-24": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-25": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-26": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-27": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-28": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-41": {
                "thermal": 0,
                "PV": 18,
                "parapet": 0
              },
              "PV-42": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-43": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-44": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-45": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              },
              "PV-46": {
                "thermal": 0,
                "PV": 22,
                "parapet": 0
              }
            }
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 180,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {
              "PV-21": {
                "thermal": 0,
                "PV": 8,
                "parapet": 0
              },
              "PV-22": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-23": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-24": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-25": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-26": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-27": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-28": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-41": {
                "thermal": 0,
                "PV": 8,
                "parapet": 0
              },
              "PV-42": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-43": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-44": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-45": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-46": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              }
            }
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 195,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 210,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 225,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 240,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 255,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 270,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 285,
            "thermal_affected_sample_fraction": {
              "PV-38": 0.27273
            },
            "all_occluders_sample_counts": {
              "PV-38": {
                "thermal": 33,
                "PV": 0,
                "parapet": 0
              }
            }
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 300,
            "thermal_affected_sample_fraction": {
              "PV-38": 0.68595
            },
            "all_occluders_sample_counts": {
              "PV-38": {
                "thermal": 83,
                "PV": 0,
                "parapet": 0
              }
            }
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 315,
            "thermal_affected_sample_fraction": {
              "PV-37": 0.09091,
              "PV-38": 1.0
            },
            "all_occluders_sample_counts": {
              "PV-37": {
                "thermal": 11,
                "PV": 0,
                "parapet": 0
              },
              "PV-38": {
                "thermal": 121,
                "PV": 0,
                "parapet": 0
              }
            }
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 330,
            "thermal_affected_sample_fraction": {
              "PV-37": 0.35537,
              "PV-38": 0.95868
            },
            "all_occluders_sample_counts": {
              "PV-37": {
                "thermal": 43,
                "PV": 0,
                "parapet": 0
              },
              "PV-38": {
                "thermal": 116,
                "PV": 0,
                "parapet": 0
              }
            }
          },
          {
            "altitude_deg": 15,
            "azimuth_deg_assumed": 345,
            "thermal_affected_sample_fraction": {
              "PV-36": 0.00826,
              "PV-37": 0.76033,
              "PV-38": 0.55372
            },
            "all_occluders_sample_counts": {
              "PV-36": {
                "thermal": 1,
                "PV": 0,
                "parapet": 0
              },
              "PV-37": {
                "thermal": 92,
                "PV": 0,
                "parapet": 0
              },
              "PV-38": {
                "thermal": 67,
                "PV": 0,
                "parapet": 0
              }
            }
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 0,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 15,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 30,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 45,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 60,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 75,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 90,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 105,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 120,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 135,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {
              "PV-21": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-22": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-23": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-24": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-25": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-26": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-27": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-28": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-41": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-42": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-43": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-44": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-45": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              },
              "PV-46": {
                "thermal": 0,
                "PV": 11,
                "parapet": 0
              }
            }
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 150,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 165,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 180,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 195,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 210,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 225,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 240,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 255,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 270,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 285,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 300,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 315,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 330,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 25,
            "azimuth_deg_assumed": 345,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 0,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 15,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 30,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 45,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 60,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 75,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 90,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 105,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 120,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 135,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 150,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 165,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 180,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 195,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 210,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 225,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 240,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 255,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 270,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 285,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 300,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 315,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 330,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          },
          {
            "altitude_deg": 35,
            "azimuth_deg_assumed": 345,
            "thermal_affected_sample_fraction": {},
            "all_occluders_sample_counts": {}
          }
        ],
        "thermal_shadow_horizontal_length_m_above_gravel": {
          "15": 4.516,
          "25": 2.595,
          "35": 1.728
        },
        "solar_azimuth_surveyed": false,
        "annual_yield_kWh": null,
        "conclusion": "30modulesisgeometricmaximum,not30unshaded. ThermalpairmovedNEandreducedlastrowlimitsinter-array shadinginselectedconditions. AffectedIDsprovided;reviewhourlysitehorizonandwinter/summerpositionsbeforekeeping30orremovingmodules. Nooptimiserprescribedasautomaticcure."
      }
    },
    "air_conditioning": {
      "indoor_units": [
        {
          "id": "AC-SAL-01",
          "space": "Sala/cozinha",
          "candidate": "Mitsubishi Electric MSZ-AY50VGK",
          "centre_CAD_m": [
            10.25,
            2.45,
            2.4
          ],
          "bbox_CAD_m": [
            10.005,
            2.051,
            2.2505,
            10.25,
            2.849,
            2.5495
          ],
          "width_height_depth_mm": [
            798,
            299,
            245
          ],
          "support": "W23",
          "face": "W",
          "thermal_capacity_candidate_kW": 5.0,
          "ceiling_clearance_mm": 150.5,
          "status": "IMPLANTACAO_CONGELADA_PARA_ESTUDO;CAPACIDADE/COMPRA_NAO_APROVADAS",
          "maintenance": "Frente e base acessíveis;não esconder atrás dearmário. Respeitar manual exato de montagem e desvios de ar, não soprar diretamente para cama/secretária.",
          "source": "AY"
        },
        {
          "id": "AC-SU-01",
          "space": "Suíte",
          "candidate": "Mitsubishi Electric MSZ-AY25VGK",
          "centre_CAD_m": [
            2.45,
            3.1,
            2.4
          ],
          "bbox_CAD_m": [
            2.051,
            2.855,
            2.2505,
            2.849,
            3.1,
            2.5495
          ],
          "width_height_depth_mm": [
            798,
            299,
            245
          ],
          "support": "W_SU_N",
          "face": "S",
          "thermal_capacity_candidate_kW": 2.5,
          "ceiling_clearance_mm": 150.5,
          "status": "IMPLANTACAO_CONGELADA_PARA_ESTUDO;CAPACIDADE/COMPRA_NAO_APROVADAS",
          "maintenance": "Frente e base acessíveis;não esconder atrás dearmário. Respeitar manual exato de montagem e desvios de ar, não soprar diretamente para cama/secretária.",
          "source": "AY"
        },
        {
          "id": "AC-MA-01",
          "space": "Matilde",
          "candidate": "Mitsubishi Electric MSZ-AY25VGK",
          "centre_CAD_m": [
            13.35,
            6.5,
            2.4
          ],
          "bbox_CAD_m": [
            13.35,
            6.101,
            2.2505,
            13.595,
            6.899,
            2.5495
          ],
          "width_height_depth_mm": [
            798,
            299,
            245
          ],
          "support": "W39",
          "face": "E",
          "thermal_capacity_candidate_kW": 2.5,
          "ceiling_clearance_mm": 150.5,
          "status": "IMPLANTACAO_CONGELADA_PARA_ESTUDO;CAPACIDADE/COMPRA_NAO_APROVADAS",
          "maintenance": "Frente e base acessíveis;não esconder atrás dearmário. Respeitar manual exato de montagem e desvios de ar, não soprar diretamente para cama/secretária.",
          "source": "AY"
        },
        {
          "id": "AC-FR-01",
          "space": "Francisco",
          "candidate": "Mitsubishi Electric MSZ-AY25VGK",
          "centre_CAD_m": [
            13.35,
            2.65,
            2.4
          ],
          "bbox_CAD_m": [
            13.35,
            2.251,
            2.2505,
            13.595,
            3.049,
            2.5495
          ],
          "width_height_depth_mm": [
            798,
            299,
            245
          ],
          "support": "W36",
          "face": "E",
          "thermal_capacity_candidate_kW": 2.5,
          "ceiling_clearance_mm": 150.5,
          "status": "IMPLANTACAO_CONGELADA_PARA_ESTUDO;CAPACIDADE/COMPRA_NAO_APROVADAS",
          "maintenance": "Frente e base acessíveis;não esconder atrás dearmário. Respeitar manual exato de montagem e desvios de ar, não soprar diretamente para cama/secretária.",
          "source": "AY"
        }
      ],
      "optional_office": {
        "id": "AC-ES-RES",
        "centre_CAD_m": [
          11.2,
          2.94,
          2.4
        ],
        "status": "PRE_INSTALACAO_OPCIONAL;sem unidade escolhida",
        "issue": "Parede N temP11 eposto2pessoas;preverrotacondensados/folga/acústicaantes deadotar aparelho"
      },
      "outdoor_technical_reserve": {
        "bbox_CAD_m": [
          17.1,
          3.3,
          0.15,
          17.6,
          4.6,
          1.15
        ],
        "front": "E",
        "service_front_reserve_bbox": [
          17.6,
          3.0,
          18.8,
          4.9
        ],
        "location": "Terreno ladoNE,alémfachadacegaX16.60;11matémuroX27.60",
        "candidate_architecture": "Multisplit4saídas da famíliaMXZ;reserva mecânica não aprova combinação/capacidade",
        "candidate_model_for_comparison": "MXZ-4F80VF4;manual25m/ramal,60total,proteção25A;desenho/potência acústica/combinações térmicas por seleção técnica",
        "supply": "230V1P;faseL3proposta exige gestão e teste de pior caso",
        "not_approved": [
          "Tabela decombinaçãoAY50+3AY25",
          "Capacidades simultâneas real/temperatura exterior",
          "Carga refrigerante e área mínima de cada quarto",
          "Distâncias laterais/traseiras doaparelho fornecido",
          "Ruído nos limites e quarto vizinho",
          "Apoios/estrutura/drenagem/anti-vibração"
        ]
      },
      "refrigerant_routes_study": [
        {
          "unit": "AC-SU-01",
          "polyline_CAD_m": [
            [
              2.45,
              3.1,
              2.55
            ],
            [
              4.1,
              3.1,
              2.65
            ],
            [
              4.1,
              4.25,
              2.65
            ],
            [
              16.9,
              4.25,
              2.65
            ],
            [
              17.3,
              4.25,
              0.8
            ]
          ],
          "length_with20percent_and_drops_m": 22.9,
          "limit_m_per_branch_candidate": 25
        },
        {
          "unit": "AC-SAL-01",
          "length_with20percent_and_drops_m": 13.2
        },
        {
          "unit": "AC-MA-01",
          "length_with20percent_and_drops_m": 9.6
        },
        {
          "unit": "AC-FR-01",
          "length_with20percent_and_drops_m": 7.5
        }
      ],
      "sum_branch_lengths_m": 53.2,
      "sum_limit_m_candidate": 60,
      "condensate": "Quatro redes por gravidade independentes de frigorífico:Suíte→Wcarport;Sala→S,junto fachada;Matilde/Francisco→Efachadacega. Declive estudo≥1%,sifonagem/isolamento/odor/acessos/rede de destino por especialidades. Não despejar sobre percursos nem ligar aVMC. Não fechar teto sem ensaio água.",
      "load_calculation": "SemU-values/geografia/estores/ganhos/ocupação/horáriosnãohá balanço térmico final. Comparação orientadora:50/80/110W/m² porcompartimento, nãodimensionamento.",
      "indicative_sensitivity_W": {
        "Sala_cozinha": {
          "50": 2497,
          "80": 3996,
          "110": 5494
        },
        "Suite": {
          "50": 604,
          "80": 967,
          "110": 1330
        },
        "Matilde": {
          "50": 620,
          "80": 991,
          "110": 1363
        },
        "Francisco": {
          "50": 618,
          "80": 989,
          "110": 1360
        },
        "Escritorio": {
          "50": 412,
          "80": 659,
          "110": 906
        }
      },
      "home_assistant": "MELCloud oficial é cloud;controloIR originalcontinuaráfuncional. Não prometer integração local nativaAY."
    },
    "EV": {
      "status": "PROPOSTA COORDENADA;SKU/PROTECOES/AJUSTE/ENSaio POR FECHAR",
      "candidate": "2×V2C TrydanPro trifásicos comdeteçãoDC6mA expressamente incluída;proteçãoresidual AC individual externa",
      "box_envelope_note": "Reserva para estudo W240H334D153mm;profundidade desenho/versão exatos porconfirmar antesdeprodução;nenhum recorte executado",
      "devices": [
        {
          "id": "VE-CARGA-01",
          "centre_CAD_m": [
            -4.525,
            2.2,
            1.2
          ],
          "bbox_CAD_m": [
            -4.6450000000000005,
            2.2,
            1.033,
            -4.405,
            2.353,
            1.367
          ],
          "face": "N",
          "support": "Pedestal metálico independente de solo,discreto,na faixa pavimentada atrás da viatura;paredeW/ripado mantidos",
          "pedestal_reserve_bbox_CAD_m": [
            -4.625,
            2.05,
            0,
            -4.425000000000001,
            2.2,
            1.4
          ],
          "service_access_bbox": [
            -4.9750000000000005,
            2.353,
            -4.075,
            3.153
          ],
          "collision_with_illustrative_car": false,
          "nominal_rear_clearance_box_to_car_m": 0.902,
          "clearance_basis": "Tesla comprimento4.690 eMG4.476 centradosY5.600;comfichacabo/manobra adimensionar",
          "weather": "Faixa pavimentada fora dacoberturaYmin2.85;IP54/IK10doaparelho,cabosUV,drenagemeimpactoafinalizar.Instalaçãonãoficacobertaporsuposição.",
          "circuit": "C-VE1"
        },
        {
          "id": "VE-CARGA-02",
          "centre_CAD_m": [
            -2.075,
            2.2,
            1.2
          ],
          "bbox_CAD_m": [
            -2.1950000000000003,
            2.2,
            1.033,
            -1.955,
            2.353,
            1.367
          ],
          "face": "N",
          "support": "Pedestal metálico independente de solo,discreto,na faixa pavimentada atrás da viatura;paredeW/ripado mantidos",
          "pedestal_reserve_bbox_CAD_m": [
            -2.1750000000000003,
            2.05,
            0,
            -1.975,
            2.2,
            1.4
          ],
          "service_access_bbox": [
            -2.5250000000000004,
            2.353,
            -1.6250000000000002,
            3.153
          ],
          "collision_with_illustrative_car": false,
          "nominal_rear_clearance_box_to_car_m": 1.009,
          "clearance_basis": "Tesla comprimento4.690 eMG4.476 centradosY5.600;comfichacabo/manobra adimensionar",
          "weather": "Faixa pavimentada fora dacoberturaYmin2.85;IP54/IK10doaparelho,cabosUV,drenagemeimpactoafinalizar.Instalaçãonãoficacobertaporsuposição.",
          "circuit": "C-VE2"
        }
      ],
      "power_limit_per_box_A": 16,
      "nominal_max_per_box_kW": 11.085,
      "combined_unmanaged_kW": 22.17,
      "independent_final_circuits": [
        "C-VE1",
        "C-VE2"
      ],
      "wiring": "Medição trifásica na entrada engloba casa+EV+PV;master→extra viaA/B série recomendado;redeLAN separada paraHA. Firmware/prova de funcionamento sem Internet e falha de medidor são ensaioobrigatório. Não usar automaçãoHA para substituir limitação elétrica.",
      "controller": "V2C ControlBox2.0 com3CT naentradae3PV seaplicável,sem bateria;se bateriaadicionadausar contadorbidirecional compatível,conformeV2C. Confirmar leiturasporfase/neutralização/medidaassinada.",
      "RCD": "PorEV:≤30mA tipoA externo+RDC-DD6mA fornecido/certificado ou tipoBconformeproduto;não assumiropcionalDCincluído. Corte4polos deativos,PEcontínuo.",
      "overcurrent": "C20A4P estudo para cabo5G6B2/condições do cálculo;curva/poderdecorte/sobrecarga/ligaçãoPE a validar, não é escolha deinstalador pronta.",
      "phase_control": "Limitar porfase e não só kWtotais. Reservamargem2A;se mínimo≥6A não disponível pausacarregador. Prioridade/fair-share ajustável com tolerância transitória/tempo de reação ensaiados.",
      "cable_management": "Cabos Type2 de5m candidatos,um por lugar,saem do próprio pedestal atrás da viatura. Sem cruzar o outro carro ou portaP2. Verificar porta de carga e alcance realTesla/MGS5 antes de encomenda;suportes largos,não carregar cabo enrolado.",
      "source_ids": [
        "EV722",
        "V2C",
        "V2C_DYN",
        "V2C_MULTI",
        "HA_V2C"
      ],
      "placement_revision": "EV-R38-B:dois pedestais atrás dos carros;abandona fixação lateral que deixava197mm",
      "parking_orientation": "Vehicle fronts towardNW/CAD+Y,reverse topark with rearCAD−Y. Oppositeorientationrequiresretestchargingportsandcables.",
      "cable_route_study": [
        {
          "id": "EV1",
          "polyline_CAD_m": [
            [
              -4.525,
              2.353,
              0.4
            ],
            [
              -4.525,
              2.9,
              0.4
            ],
            [
              -5.5,
              2.9,
              0.4
            ],
            [
              -5.5,
              3.8,
              0.4
            ]
          ],
          "approx_length_m": 2.422,
          "length_candidate_m": 5,
          "at_own_bay": true
        },
        {
          "id": "EV2",
          "polyline_CAD_m": [
            [
              -2.075,
              2.353,
              0.4
            ],
            [
              -2.075,
              2.9,
              0.4
            ],
            [
              -3.0,
              2.9,
              0.4
            ],
            [
              -3.0,
              3.8,
              0.4
            ]
          ],
          "approx_length_m": 2.372,
          "length_candidate_m": 5,
          "at_own_bay": true
        }
      ],
      "rear_body_envelopes": [
        {
          "model": "Tesla Model3",
          "bodyLength_m": 4.69,
          "mirrorWidth_m": 2.106807,
          "bbox_CAD_m": [
            -5.5784,
            3.255,
            -3.4716,
            7.945
          ]
        },
        {
          "model": "MGS5EV",
          "bodyLength_m": 4.476,
          "mirrorWidth_m": 2.094,
          "bbox_CAD_m": [
            -3.122,
            3.362,
            -1.028,
            7.838
          ]
        }
      ],
      "door_sweep_study": "Wallboxpedestalsdo notliebesidecar doors. Existingdoor-openingclearancebetweenwidevehiclesandWwallstillnotvalidated;actualvehicles/mirrorfolds/parkingpositionrequired. Thisrevisiondoesnotclaimfullparkingcompliance."
    },
    "point_replacements": [
      {
        "id": "S-MA-02",
        "before_CAD_m": [
          16.35,
          5.9,
          0.8
        ],
        "after_CAD_m": [
          16.35,
          6.050000000000001,
          0.8
        ],
        "reason": "Acompanha cama/NT03/04deslocados+150Y pelo contratoquartosR38"
      },
      {
        "id": "S-MA-03",
        "before_CAD_m": [
          16.35,
          7.9,
          0.8
        ],
        "after_CAD_m": [
          16.35,
          8.05,
          0.8
        ],
        "reason": "Acompanha cama/NT03/04deslocados+150Y pelo contratoquartosR38"
      },
      {
        "id": "T-MA-01",
        "before_CAD_m": [
          16.35,
          5.9,
          0.65
        ],
        "after_CAD_m": [
          16.35,
          6.050000000000001,
          0.65
        ],
        "reason": "Acompanha cama/NT03/04deslocados+150Y pelo contratoquartosR38"
      },
      {
        "id": "T-MA-02",
        "before_CAD_m": [
          16.35,
          7.9,
          0.65
        ],
        "after_CAD_m": [
          16.35,
          8.05,
          0.65
        ],
        "reason": "Acompanha cama/NT03/04deslocados+150Y pelo contratoquartosR38"
      },
      {
        "id": "S-FR-02",
        "before_CAD_m": [
          16.35,
          0.65,
          0.8
        ],
        "after_CAD_m": [
          16.35,
          0.45,
          0.8
        ],
        "reason": "Acompanha cama/NT05/06deslocados−200Y pelo contratoquartosR38"
      },
      {
        "id": "S-FR-03",
        "before_CAD_m": [
          16.35,
          2.65,
          0.8
        ],
        "after_CAD_m": [
          16.35,
          2.4499999999999997,
          0.8
        ],
        "reason": "Acompanha cama/NT05/06deslocados−200Y pelo contratoquartosR38"
      },
      {
        "id": "T-FR-01",
        "before_CAD_m": [
          16.35,
          0.65,
          0.65
        ],
        "after_CAD_m": [
          16.35,
          0.45,
          0.65
        ],
        "reason": "Acompanha cama/NT05/06deslocados−200Y pelo contratoquartosR38"
      },
      {
        "id": "T-FR-02",
        "before_CAD_m": [
          16.35,
          2.65,
          0.65
        ],
        "after_CAD_m": [
          16.35,
          2.4499999999999997,
          0.65
        ],
        "reason": "Acompanha cama/NT05/06deslocados−200Y pelo contratoquartosR38"
      },
      {
        "id": "T-MA-03",
        "before_CAD_m": [
          13.35,
          6.15,
          0.3
        ],
        "after_CAD_m": [
          13.35,
          6.55,
          0.3
        ],
        "reason": "Sai dointerior da nova cómodaMA entreY5.35..6.25;tomadadeaspirador acessível"
      },
      {
        "id": "T-IL-01",
        "before_CAD_m": [
          6.35,
          5.8,
          0.65
        ],
        "after_CAD_m": [
          7.55,
          6.4,
          0.65
        ],
        "reason": "Nova baía seca100mmilhaladoE,fora debalanço eI03 reduzido616;placadupla160×80horizontal"
      },
      {
        "id": "E-MLL",
        "before_CAD_m": [
          6.85,
          8.5,
          0.35
        ],
        "after_CAD_m": [
          4.95,
          8.43,
          0.35
        ],
        "reason": "Retira K05 ocupado porresíduos;portaK02-F1 comzona seca independente doforno,cordão175cm porvalidar"
      },
      {
        "id": "AC-SAL-01",
        "before_CAD_m": [
          10.127500000000001,
          2.449,
          2.25
        ],
        "after_CAD_m": [
          10.25,
          2.45,
          2.4
        ],
        "reason": "Acerta fixação naface real damamparede;suíteR37aparecia no acesso aberto docloset"
      },
      {
        "id": "AC-SU-01",
        "before_CAD_m": [
          3.249,
          2.9775,
          2.25
        ],
        "after_CAD_m": [
          2.45,
          3.1,
          2.4
        ],
        "reason": "Acerta fixação naface real damamparede;suíteR37aparecia no acesso aberto docloset"
      },
      {
        "id": "AC-MA-01",
        "before_CAD_m": [
          13.4725,
          6.049,
          2.25
        ],
        "after_CAD_m": [
          13.35,
          6.5,
          2.4
        ],
        "reason": "Acerta fixação naface real damamparede;suíteR37aparecia no acesso aberto docloset"
      },
      {
        "id": "AC-FR-01",
        "before_CAD_m": [
          13.4725,
          2.649,
          2.25
        ],
        "after_CAD_m": [
          13.35,
          2.65,
          2.4
        ],
        "reason": "Acerta fixação naface real damamparede;suíteR37aparecia no acesso aberto docloset"
      },
      {
        "id": "VE-CARGA-01",
        "before_CAD_m": [
          -2.05,
          1.75,
          1.1
        ],
        "after_CAD_m": [
          -4.525,
          2.2,
          1.2
        ],
        "reason": "EV-R38-B:pedestal na faixa pavimentada atrás da própria viatura,circuito individual"
      },
      {
        "id": "VE-CARGA-02",
        "before_CAD_m": [
          -4.3,
          1.75,
          1.1
        ],
        "after_CAD_m": [
          -2.075,
          2.2,
          1.2
        ],
        "reason": "EV-R38-B:pedestal na faixa pavimentada atrás da própria viatura,circuito individual"
      },
      {
        "id": "BC-SOCKET",
        "before_CAD_m": [
          12.100000000000001,
          5.5575,
          1.1
        ],
        "after_CAD_m": [
          12.14,
          5.5575,
          1.1
        ],
        "reason": "Dupla160mm em faixa170mm entre espelho12.05eporta12.23:arestas12.06/12.22,10mmnominaisporlado"
      }
    ],
    "points_all_file": "Programa_Instalacoes_R41.json",
    "laundry_solar_interface": {
      "old_study": "NUOSPLUSS2WiFiFS2503069791,nãodemonstradaserpentinasolar",
      "candidate": "NUOSPLUSWiFi250I/SYS,serpentina auxiliar provada emfonteAriston;SKU/PTporconfirmar",
      "candidate_body_bbox_CAD_m": [
        0.09,
        6.06,
        0,
        0.69,
        6.74,
        1.997
      ],
      "provisional_connections_envelope_CAD_m": [
        0.69,
        6.06,
        0,
        1.04,
        6.74,
        1.997
      ],
      "status": "PROPOSTA_ALTERNATIVA_NAO_ADOTADA;NAO_LIGAR_COLETORES_AO_DEPOSITO_R37",
      "impact": "60mmaisalto45mmmaisprofundoqueR37;outrodizgeometriaR290nãoétransportável. Reservafolgas nãoequivale ao manualSYS;VMCchassisX1.04deixaconnzona350mmbodyside;acessotécnicorealpendente.",
      "hydraulic_scheme": "Esquema_Hidraulico_Funcional_R38.svg"
    },
    "roof_maximization_status": "30PVocupação máxima preliminar;sombras3Dregistadas,não30livresdesombra",
    "root_integration_instructions": [
      "Usar4bboxesACreais;suíteencostadaaW_SU_N",
      "Nãoocultar solar térmico nem afirmarAQSselecionada",
      "ManterestadoC2/R37e distinguirnovaR38proposta",
      "Nãoaplicaraspersões/gramasdebaixo dacasa;estesobjetossãoespecíficosdoinstalador",
      "EV-R38-B:2pedestais atrás doscarros X−4.525/−2.075,Y2.20,faceN;centroZ1.20,box153mm,suporteatéH1.40;cabos5m própriosporlugar. MantémWwall/ripado. Fora cobertura,pavimentoexistente."
    ],
    "contract_version": "v03_placas_corrigidas_EVB_sombra121",
    "physical_points": [
      {
        "id": "S-HA-01",
        "type": "comando",
        "centre_CAD_m": [
          8.9,
          8.5,
          1.1
        ],
        "face": "S",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Pano norte, a oeste de P1; ao entrar pelo lado livre da folha.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-SA-01",
        "type": "comando",
        "centre_CAD_m": [
          4.0,
          2.25,
          1.1
        ],
        "face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Parede da suíte, face da sala, abaixo de P4.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-CO-01",
        "type": "comando",
        "centre_CAD_m": [
          8.5,
          7.75,
          1.05
        ],
        "face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Pano maciço entre o início da parede e a bancada, face da cozinha.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-LA-01",
        "type": "comando",
        "centre_CAD_m": [
          4.0,
          6.2,
          1.1
        ],
        "face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Do lado da sala, antes de entrar em P6, abaixo do vão.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-LA-02",
        "type": "comando",
        "centre_CAD_m": [
          -0.05,
          7.9,
          1.1
        ],
        "face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Pano a norte de P2, na faixa adicional da lavandaria.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-DI-01",
        "type": "comando",
        "centre_CAD_m": [
          10.25,
          5.1,
          1.1
        ],
        "face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Do lado da sala, acima do vão P7.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-DI-02",
        "type": "comando",
        "centre_CAD_m": [
          13.2,
          4.245,
          1.1
        ],
        "face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Pequeno pano entre P9 e P10, face da distribuição.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-BC-01",
        "type": "comando",
        "centre_CAD_m": [
          12.03,
          5.4,
          1.1
        ],
        "face": "S",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Na distribuição, antes de P8, a oeste do aro.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-ES-01",
        "type": "comando",
        "centre_CAD_m": [
          10.85,
          2.94,
          1.1
        ],
        "face": "S",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Pano norte a oeste de P11, do lado do escritório.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-SU-01",
        "type": "comando",
        "centre_CAD_m": [
          3.85,
          2.425,
          1.1
        ],
        "face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Faixa entre a cómoda e a entrada P4, face do quarto.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-SU-02",
        "type": "comando",
        "centre_CAD_m": [
          -0.025,
          0.325,
          0.85
        ],
        "face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "No ripado fino sobre a mesinha sul, acessível da cama.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-SU-03",
        "type": "comando",
        "centre_CAD_m": [
          -0.025,
          2.775,
          0.85
        ],
        "face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "No ripado fino sobre a mesinha norte, acessível da cama.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-CL-01",
        "type": "comando",
        "centre_CAD_m": [
          2.6,
          3.1,
          1.1
        ],
        "face": "S",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Na face do quarto, antes da passagem para o closet.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-BS-01",
        "type": "comando",
        "centre_CAD_m": [
          3.85,
          4.7,
          1.1
        ],
        "face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Parede leste do closet, antes de atravessar P5.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-MA-01",
        "type": "comando",
        "centre_CAD_m": [
          13.35,
          5.45,
          1.1
        ],
        "face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "No quarto, a norte de P9 e do lado oposto à dobradiça.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-MA-02",
        "type": "comando",
        "centre_CAD_m": [
          16.35,
          6.050000000000001,
          0.8
        ],
        "face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Sobre a mesa NT03 na parede da cabeceira.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-MA-03",
        "type": "comando",
        "centre_CAD_m": [
          16.35,
          8.05,
          0.8
        ],
        "face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Sobre a mesa NT04 na parede da cabeceira.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-FR-01",
        "type": "comando",
        "centre_CAD_m": [
          13.35,
          3.0,
          1.1
        ],
        "face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "No quarto, a sul de P10 e do lado oposto à dobradiça.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-FR-02",
        "type": "comando",
        "centre_CAD_m": [
          16.35,
          0.45,
          0.8
        ],
        "face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Sobre a mesa NT05 na parede da cabeceira.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-FR-03",
        "type": "comando",
        "centre_CAD_m": [
          16.35,
          2.4499999999999997,
          0.8
        ],
        "face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Sobre a mesa NT06 na parede da cabeceira.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-EX-01",
        "type": "comando",
        "centre_CAD_m": [
          -0.3,
          6.55,
          1.1
        ],
        "face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Face exterior da parede, a sul de P2, sob a pala.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "S-EX-02",
        "type": "comando",
        "centre_CAD_m": [
          7.15,
          -0.25,
          1.1
        ],
        "face": "S",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Face exterior, a leste do vão da sala VE6.",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "E-CO-01",
        "type": "estore",
        "centre_CAD_m": [
          8.5,
          7.91,
          1.05
        ],
        "face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Subir/parar/descer estore; interbloqueio elétrico independente de HA",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "E-SA-01",
        "type": "estore",
        "centre_CAD_m": [
          4,
          2.09,
          1.1
        ],
        "face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Subir/parar/descer estore; interbloqueio elétrico independente de HA",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "E-SU-01",
        "type": "estore",
        "centre_CAD_m": [
          3.38,
          0,
          1.1
        ],
        "face": "N",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Subir/parar/descer estore; interbloqueio elétrico independente de HA",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "E-MA-01",
        "type": "estore",
        "centre_CAD_m": [
          13.35,
          5.65,
          1.1
        ],
        "face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Subir/parar/descer estore; interbloqueio elétrico independente de HA",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "E-FR-01",
        "type": "estore",
        "centre_CAD_m": [
          13.35,
          2.84,
          1.1
        ],
        "face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Subir/parar/descer estore; interbloqueio elétrico independente de HA",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "E-ES-01",
        "type": "estore",
        "centre_CAD_m": [
          10.69,
          2.94,
          1.1
        ],
        "face": "S",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Subir/parar/descer estore; interbloqueio elétrico independente de HA",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-SA-01",
        "type": "tomada",
        "centre_CAD_m": [
          10.25,
          0.65,
          0.3
        ],
        "face": "W",
        "plate_envelope_mm": [
          240,
          80
        ],
        "quantity": 3,
        "function": "TV/áudio;3tomadas e2RJ45; acesso por módulo TV",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-SA-02",
        "type": "tomada",
        "centre_CAD_m": [
          7.6,
          0,
          0.3
        ],
        "face": "N",
        "plate_envelope_mm": [
          160,
          80
        ],
        "quantity": 2,
        "function": "Apoio estar/aspirador",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-SA-03",
        "type": "tomada",
        "centre_CAD_m": [
          4,
          1.1,
          0.3
        ],
        "face": "E",
        "plate_envelope_mm": [
          160,
          80
        ],
        "quantity": 2,
        "function": "Apoio poltronas",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-HA-01",
        "type": "tomada",
        "centre_CAD_m": [
          8.65,
          8.1,
          0.3
        ],
        "face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Aspiração/apoio hall, fora da consola",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-SU-01",
        "type": "tomada",
        "centre_CAD_m": [
          -0.025,
          0.325,
          0.7
        ],
        "face": "E",
        "plate_envelope_mm": [
          160,
          80
        ],
        "quantity": 2,
        "function": "Mesinha sul;2tomadas, eventualUSB-C em módulo separado",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-SU-02",
        "type": "tomada",
        "centre_CAD_m": [
          -0.025,
          2.775,
          0.7
        ],
        "face": "E",
        "plate_envelope_mm": [
          160,
          80
        ],
        "quantity": 2,
        "function": "Mesinha norte;2tomadas",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-SU-03",
        "type": "tomada",
        "centre_CAD_m": [
          3.85,
          2.425,
          0.3
        ],
        "face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Limpeza/apoio; abaixo do comando, fora da cómoda",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-MA-01",
        "type": "tomada",
        "centre_CAD_m": [
          16.35,
          6.050000000000001,
          0.65
        ],
        "face": "W",
        "plate_envelope_mm": [
          160,
          80
        ],
        "quantity": 2,
        "function": "Mesinha sul",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-MA-02",
        "type": "tomada",
        "centre_CAD_m": [
          16.35,
          8.05,
          0.65
        ],
        "face": "W",
        "plate_envelope_mm": [
          160,
          80
        ],
        "quantity": 2,
        "function": "Mesinha norte",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-MA-03",
        "type": "tomada",
        "centre_CAD_m": [
          13.35,
          5.85,
          0.3
        ],
        "face": "E",
        "plate_envelope_mm": [
          160,
          80
        ],
        "quantity": 2,
        "function": "Apoio/limpeza; não afirma secretária nova adotada",
        "status": "PROPOSTA_REPOSICAO_R41_NAO_APROVADA_EXECUCAO",
        "source_accessory": null,
        "revision": "R41",
        "execution_released": false,
        "purchase_released": false,
        "change_reason": "Sai da nova envolvente da cómoda1800. Reposição de coordenação a validar por eletricista/obra; série e redes ocultas por confirmar."
      },
      {
        "id": "T-FR-01",
        "type": "tomada",
        "centre_CAD_m": [
          16.35,
          0.45,
          0.65
        ],
        "face": "W",
        "plate_envelope_mm": [
          160,
          80
        ],
        "quantity": 2,
        "function": "Mesinha sul",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-FR-02",
        "type": "tomada",
        "centre_CAD_m": [
          16.35,
          2.4499999999999997,
          0.65
        ],
        "face": "W",
        "plate_envelope_mm": [
          160,
          80
        ],
        "quantity": 2,
        "function": "Mesinha norte",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-FR-03",
        "type": "tomada",
        "centre_CAD_m": [
          13.35,
          2.7,
          0.3
        ],
        "face": "E",
        "plate_envelope_mm": [
          160,
          80
        ],
        "quantity": 2,
        "function": "Apoio/limpeza fora do roupeiro",
        "status": "PROPOSTA_REPOSICAO_R41_NAO_APROVADA_EXECUCAO",
        "source_accessory": null,
        "revision": "R41",
        "execution_released": false,
        "purchase_released": false,
        "change_reason": "Sai da nova envolvente da cómoda1800. Reposição de coordenação a validar por eletricista/obra; série e redes ocultas por confirmar."
      },
      {
        "id": "T-ES-01",
        "type": "tomada",
        "centre_CAD_m": [
          13.2,
          0.56,
          0.9
        ],
        "face": "W",
        "plate_envelope_mm": [
          240,
          80
        ],
        "quantity": 3,
        "function": "Posto1;3tomadas e2RJ45, sobresecretária",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-ES-02",
        "type": "tomada",
        "centre_CAD_m": [
          13.2,
          1.7,
          0.9
        ],
        "face": "W",
        "plate_envelope_mm": [
          240,
          80
        ],
        "quantity": 3,
        "function": "Posto2;3tomadas e2RJ45, sobresecretária",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-ES-03",
        "type": "tomada",
        "centre_CAD_m": [
          10.4,
          2.8,
          0.3
        ],
        "face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Limpeza/impressora, além das prateleiras",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-CO-01",
        "type": "tomada",
        "centre_CAD_m": [
          5.325,
          8.5,
          1.15
        ],
        "face": "S",
        "plate_envelope_mm": [
          80,
          160
        ],
        "quantity": 2,
        "function": "Bancada ladoWdaVE2;2tomadas emplaca vertical",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-CO-02",
        "type": "tomada",
        "centre_CAD_m": [
          7.275,
          8.5,
          1.15
        ],
        "face": "S",
        "plate_envelope_mm": [
          80,
          160
        ],
        "quantity": 2,
        "function": "Bancada ladoEdaVE2;2tomadas emplaca vertical",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-LA-01",
        "type": "tomada",
        "centre_CAD_m": [
          -0.05,
          7.9,
          0.85
        ],
        "face": "E",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Apoio passar/aspirar; sem usar despensa como bancada",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-EX-01",
        "type": "tomada",
        "centre_CAD_m": [
          -0.3,
          6.55,
          0.6
        ],
        "face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Limpeza exterior sob pala; produto/IP por exposição",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-EX-02",
        "type": "tomada",
        "centre_CAD_m": [
          7.4,
          -0.25,
          0.6
        ],
        "face": "S",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Manutenção jardim; sem comandar ferramenta por HA",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "T-IL-01",
        "type": "tomada",
        "centre_CAD_m": [
          7.55,
          6.4,
          0.65
        ],
        "face": "E",
        "plate_envelope_mm": [
          160,
          80
        ],
        "quantity": 2,
        "function": "Duas tomadas no topo lateral da ilha, fora do lugar das pernas",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": null
      },
      {
        "id": "BC-SOCKET",
        "type": "tomada",
        "centre_CAD_m": [
          12.14,
          5.5575,
          1.1
        ],
        "face": "N",
        "plate_envelope_mm": [
          160,
          80
        ],
        "quantity": 2,
        "function": "socket",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": {
          "id": "BC-SOCKET",
          "room": "IS_C",
          "type": "socket",
          "bboxCAD": [
            12.06,
            5.55,
            12.14,
            5.565
          ],
          "bottom_mm": 1060,
          "height_mm": 80,
          "face": "N",
          "reference": null,
          "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
          "note": "Centro1100; placa80×80 é reserva, não produto escolhido.9cm antes do inícioP8,espelho termina12.05 com10mm até placa. Escova/barbear; eletricista valida volume,classe,circuito/proteção e selações."
        }
      },
      {
        "id": "BS-SOCKET",
        "type": "tomada",
        "centre_CAD_m": [
          1.55,
          5.672499999999999,
          1.15
        ],
        "face": "S",
        "plate_envelope_mm": [
          160,
          80
        ],
        "quantity": 2,
        "function": "socket",
        "status": "PROPOSTA_DE_COORDENACAO",
        "source_accessory": {
          "id": "BS-SOCKET",
          "room": "IS_S",
          "type": "socket",
          "bboxCAD": [
            1.51,
            5.665,
            1.59,
            5.68
          ],
          "bottom_mm": 1110,
          "height_mm": 80,
          "face": "S",
          "reference": null,
          "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
          "note": "Centro1150; reserva80×80,espelho terminaX1.45→60mm até placa. Fora do bolsoP5; produto/proteções por eletricista."
        }
      },
      {
        "id": "T-TV-R38",
        "type": "tomada",
        "centre_CAD_m": [
          10.25,
          0.65,
          0.6
        ],
        "face": "W",
        "plate_envelope_mm": [
          160,
          160
        ],
        "quantity": 4,
        "function": "4×230V+2RJ45 emzona técnicaTV,sem fichaencravada atrás suporte;altura porTV01",
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "source_accessory": null
      },
      {
        "id": "T-ES-R38-A",
        "type": "tomada",
        "centre_CAD_m": [
          13.2,
          0.56,
          1.15
        ],
        "face": "W",
        "plate_envelope_mm": [
          160,
          80
        ],
        "quantity": 2,
        "function": "Dupla230Vposto1 acima tampo;separada dosdados porcaixas/partição",
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "source_accessory": null
      },
      {
        "id": "T-ES-R38-B",
        "type": "tomada",
        "centre_CAD_m": [
          13.2,
          1.7,
          1.15
        ],
        "face": "W",
        "plate_envelope_mm": [
          160,
          80
        ],
        "quantity": 2,
        "function": "Dupla230Vposto2 acima tampo;gestão cabos e2monitores",
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "source_accessory": null
      },
      {
        "id": "T-SU-COM-R38",
        "type": "tomada",
        "centre_CAD_m": [
          3.85,
          1.25,
          1.05
        ],
        "face": "W",
        "plate_envelope_mm": [
          160,
          80
        ],
        "quantity": 2,
        "function": "Tomadadupla acima da cómodaC2,semcabo atravessar entrada",
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "source_accessory": null
      },
      {
        "id": "T-MA-COM-R38",
        "type": "tomada",
        "centre_CAD_m": [
          13.35,
          6.05,
          1.05
        ],
        "face": "E",
        "plate_envelope_mm": [
          160,
          80
        ],
        "quantity": 2,
        "function": "Dupla acima cómoda800mm;250mm atécentro,fora daplaca deestoreE-MA-01 e semgavetas sobreaficha",
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "source_accessory": null
      },
      {
        "id": "T-FR-COM-R38",
        "type": "tomada",
        "centre_CAD_m": [
          13.35,
          2.6,
          1.05
        ],
        "face": "E",
        "plate_envelope_mm": [
          160,
          80
        ],
        "quantity": 2,
        "function": "Dupla acima cómoda800mm;tomadas protegidas e semextensãojuntoacama",
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "source_accessory": null
      },
      {
        "id": "T-CO-03-R38",
        "type": "tomada",
        "centre_CAD_m": [
          8.5,
          7.8,
          1.18
        ],
        "face": "W",
        "plate_envelope_mm": [
          80,
          160
        ],
        "quantity": 2,
        "function": "Auxiliar preparada na faixaW33;deve ser suspensa sefrentesK07ou interruptorinterferirem;posição NÃO libertada",
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "source_accessory": null
      },
      {
        "id": "S-LA-03",
        "type": "comando",
        "centre_CAD_m": [
          3.85,
          6.2,
          1.1
        ],
        "face": "W",
        "plate_envelope_mm": [
          80,
          80
        ],
        "quantity": 1,
        "function": "Repetição do comando de luz/LED interior,do lado seco do acessoP6",
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "source_accessory": null
      }
    ],
    "point_replacements_role": "HISTORICO_R38_ANTES_OVERRIDE_R41; active physical_points include R41 proposed relocations.",
    "overrideR41": {
      "schema": "obras-casa/electrical-point-relocations/1",
      "revision": "R41",
      "scope": "Two existing IDs, no extra plate or circuit",
      "adopted_for_execution": false,
      "purchase_released": false,
      "point_replacements": [
        {
          "id": "T-MA-03",
          "before_CAD_m": [
            13.35,
            6.55,
            0.3
          ],
          "after_CAD_m": [
            13.35,
            5.85,
            0.3
          ],
          "status": "PROPOSTA_A_VALIDAR"
        },
        {
          "id": "T-FR-03",
          "before_CAD_m": [
            13.35,
            1.5,
            0.3
          ],
          "after_CAD_m": [
            13.35,
            2.7,
            0.3
          ],
          "status": "PROPOSTA_A_VALIDAR"
        }
      ],
      "points_count_preserved": 197,
      "physical_points_count_preserved": 60,
      "metric_authority": "../estudo_acessos/Proposta_Reposicao_Tomadas_R41.json",
      "metric_authority_sha256": "541cd87d83fa34e140288c06c7b8ff61403ad663abf009fe225b919e8569c4ff"
    }
  },
  "roofEnergyR38": {
    "status": "IMPLANTACAO PRELIMINAR COORDENADA; SEM LEVANTAMENTO SOLAR/ESTRUTURAL",
    "body_roof_bbox": [
      -0.3,
      -0.25,
      16.6,
      8.75
    ],
    "roof_width_m": 16.9,
    "roof_depth_m": 9.0,
    "slab_top_m": 3.26,
    "gravel_top_m": 3.31,
    "parapet_top_m": 3.6,
    "pv_modules": [
      {
        "id": "PV-11",
        "row": 1,
        "column": 1,
        "corners_CAD_m": [
          [
            0.6,
            0.6,
            3.46
          ],
          [
            2.33,
            0.6,
            3.46
          ],
          [
            2.33,
            1.7010150678676488,
            3.654138662631628
          ],
          [
            0.6,
            1.7010150678676488,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-12",
        "row": 1,
        "column": 2,
        "corners_CAD_m": [
          [
            2.35,
            0.6,
            3.46
          ],
          [
            4.08,
            0.6,
            3.46
          ],
          [
            4.08,
            1.7010150678676488,
            3.654138662631628
          ],
          [
            2.35,
            1.7010150678676488,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-13",
        "row": 1,
        "column": 3,
        "corners_CAD_m": [
          [
            4.1,
            0.6,
            3.46
          ],
          [
            5.83,
            0.6,
            3.46
          ],
          [
            5.83,
            1.7010150678676488,
            3.654138662631628
          ],
          [
            4.1,
            1.7010150678676488,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-14",
        "row": 1,
        "column": 4,
        "corners_CAD_m": [
          [
            5.85,
            0.6,
            3.46
          ],
          [
            7.58,
            0.6,
            3.46
          ],
          [
            7.58,
            1.7010150678676488,
            3.654138662631628
          ],
          [
            5.85,
            1.7010150678676488,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-15",
        "row": 1,
        "column": 5,
        "corners_CAD_m": [
          [
            7.6,
            0.6,
            3.46
          ],
          [
            9.33,
            0.6,
            3.46
          ],
          [
            9.33,
            1.7010150678676488,
            3.654138662631628
          ],
          [
            7.6,
            1.7010150678676488,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-16",
        "row": 1,
        "column": 6,
        "corners_CAD_m": [
          [
            9.35,
            0.6,
            3.46
          ],
          [
            11.08,
            0.6,
            3.46
          ],
          [
            11.08,
            1.7010150678676488,
            3.654138662631628
          ],
          [
            9.35,
            1.7010150678676488,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-17",
        "row": 1,
        "column": 7,
        "corners_CAD_m": [
          [
            11.1,
            0.6,
            3.46
          ],
          [
            12.83,
            0.6,
            3.46
          ],
          [
            12.83,
            1.7010150678676488,
            3.654138662631628
          ],
          [
            11.1,
            1.7010150678676488,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-18",
        "row": 1,
        "column": 8,
        "corners_CAD_m": [
          [
            12.85,
            0.6,
            3.46
          ],
          [
            14.58,
            0.6,
            3.46
          ],
          [
            14.58,
            1.7010150678676488,
            3.654138662631628
          ],
          [
            12.85,
            1.7010150678676488,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-21",
        "row": 2,
        "column": 1,
        "corners_CAD_m": [
          [
            0.6,
            2.101,
            3.46
          ],
          [
            2.33,
            2.101,
            3.46
          ],
          [
            2.33,
            3.2020150678676487,
            3.654138662631628
          ],
          [
            0.6,
            3.2020150678676487,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-22",
        "row": 2,
        "column": 2,
        "corners_CAD_m": [
          [
            2.35,
            2.101,
            3.46
          ],
          [
            4.08,
            2.101,
            3.46
          ],
          [
            4.08,
            3.2020150678676487,
            3.654138662631628
          ],
          [
            2.35,
            3.2020150678676487,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-23",
        "row": 2,
        "column": 3,
        "corners_CAD_m": [
          [
            4.1,
            2.101,
            3.46
          ],
          [
            5.83,
            2.101,
            3.46
          ],
          [
            5.83,
            3.2020150678676487,
            3.654138662631628
          ],
          [
            4.1,
            3.2020150678676487,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-24",
        "row": 2,
        "column": 4,
        "corners_CAD_m": [
          [
            5.85,
            2.101,
            3.46
          ],
          [
            7.58,
            2.101,
            3.46
          ],
          [
            7.58,
            3.2020150678676487,
            3.654138662631628
          ],
          [
            5.85,
            3.2020150678676487,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-25",
        "row": 2,
        "column": 5,
        "corners_CAD_m": [
          [
            7.6,
            2.101,
            3.46
          ],
          [
            9.33,
            2.101,
            3.46
          ],
          [
            9.33,
            3.2020150678676487,
            3.654138662631628
          ],
          [
            7.6,
            3.2020150678676487,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-26",
        "row": 2,
        "column": 6,
        "corners_CAD_m": [
          [
            9.35,
            2.101,
            3.46
          ],
          [
            11.08,
            2.101,
            3.46
          ],
          [
            11.08,
            3.2020150678676487,
            3.654138662631628
          ],
          [
            9.35,
            3.2020150678676487,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-27",
        "row": 2,
        "column": 7,
        "corners_CAD_m": [
          [
            11.1,
            2.101,
            3.46
          ],
          [
            12.83,
            2.101,
            3.46
          ],
          [
            12.83,
            3.2020150678676487,
            3.654138662631628
          ],
          [
            11.1,
            3.2020150678676487,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-28",
        "row": 2,
        "column": 8,
        "corners_CAD_m": [
          [
            12.85,
            2.101,
            3.46
          ],
          [
            14.58,
            2.101,
            3.46
          ],
          [
            14.58,
            3.2020150678676487,
            3.654138662631628
          ],
          [
            12.85,
            3.2020150678676487,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-31",
        "row": 3,
        "column": 1,
        "corners_CAD_m": [
          [
            0.6,
            4.002,
            3.46
          ],
          [
            2.33,
            4.002,
            3.46
          ],
          [
            2.33,
            5.1030150678676485,
            3.654138662631628
          ],
          [
            0.6,
            5.1030150678676485,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-32",
        "row": 3,
        "column": 2,
        "corners_CAD_m": [
          [
            2.35,
            4.002,
            3.46
          ],
          [
            4.08,
            4.002,
            3.46
          ],
          [
            4.08,
            5.1030150678676485,
            3.654138662631628
          ],
          [
            2.35,
            5.1030150678676485,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-33",
        "row": 3,
        "column": 3,
        "corners_CAD_m": [
          [
            4.1,
            4.002,
            3.46
          ],
          [
            5.83,
            4.002,
            3.46
          ],
          [
            5.83,
            5.1030150678676485,
            3.654138662631628
          ],
          [
            4.1,
            5.1030150678676485,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-34",
        "row": 3,
        "column": 4,
        "corners_CAD_m": [
          [
            5.85,
            4.002,
            3.46
          ],
          [
            7.58,
            4.002,
            3.46
          ],
          [
            7.58,
            5.1030150678676485,
            3.654138662631628
          ],
          [
            5.85,
            5.1030150678676485,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-35",
        "row": 3,
        "column": 5,
        "corners_CAD_m": [
          [
            7.6,
            4.002,
            3.46
          ],
          [
            9.33,
            4.002,
            3.46
          ],
          [
            9.33,
            5.1030150678676485,
            3.654138662631628
          ],
          [
            7.6,
            5.1030150678676485,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-36",
        "row": 3,
        "column": 6,
        "corners_CAD_m": [
          [
            9.35,
            4.002,
            3.46
          ],
          [
            11.08,
            4.002,
            3.46
          ],
          [
            11.08,
            5.1030150678676485,
            3.654138662631628
          ],
          [
            9.35,
            5.1030150678676485,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-37",
        "row": 3,
        "column": 7,
        "corners_CAD_m": [
          [
            11.1,
            4.002,
            3.46
          ],
          [
            12.83,
            4.002,
            3.46
          ],
          [
            12.83,
            5.1030150678676485,
            3.654138662631628
          ],
          [
            11.1,
            5.1030150678676485,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-38",
        "row": 3,
        "column": 8,
        "corners_CAD_m": [
          [
            12.85,
            4.002,
            3.46
          ],
          [
            14.58,
            4.002,
            3.46
          ],
          [
            14.58,
            5.1030150678676485,
            3.654138662631628
          ],
          [
            12.85,
            5.1030150678676485,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-41",
        "row": 4,
        "column": 1,
        "corners_CAD_m": [
          [
            0.6,
            5.503,
            3.46
          ],
          [
            2.33,
            5.503,
            3.46
          ],
          [
            2.33,
            6.604015067867649,
            3.654138662631628
          ],
          [
            0.6,
            6.604015067867649,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-42",
        "row": 4,
        "column": 2,
        "corners_CAD_m": [
          [
            2.35,
            5.503,
            3.46
          ],
          [
            4.08,
            5.503,
            3.46
          ],
          [
            4.08,
            6.604015067867649,
            3.654138662631628
          ],
          [
            2.35,
            6.604015067867649,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-43",
        "row": 4,
        "column": 3,
        "corners_CAD_m": [
          [
            4.1,
            5.503,
            3.46
          ],
          [
            5.83,
            5.503,
            3.46
          ],
          [
            5.83,
            6.604015067867649,
            3.654138662631628
          ],
          [
            4.1,
            6.604015067867649,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-44",
        "row": 4,
        "column": 4,
        "corners_CAD_m": [
          [
            5.85,
            5.503,
            3.46
          ],
          [
            7.58,
            5.503,
            3.46
          ],
          [
            7.58,
            6.604015067867649,
            3.654138662631628
          ],
          [
            5.85,
            6.604015067867649,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-45",
        "row": 4,
        "column": 5,
        "corners_CAD_m": [
          [
            7.6,
            5.503,
            3.46
          ],
          [
            9.33,
            5.503,
            3.46
          ],
          [
            9.33,
            6.604015067867649,
            3.654138662631628
          ],
          [
            7.6,
            6.604015067867649,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      },
      {
        "id": "PV-46",
        "row": 4,
        "column": 6,
        "corners_CAD_m": [
          [
            9.35,
            5.503,
            3.46
          ],
          [
            11.08,
            5.503,
            3.46
          ],
          [
            11.08,
            6.604015067867649,
            3.654138662631628
          ],
          [
            9.35,
            6.604015067867649,
            3.654138662631628
          ]
        ],
        "size_mm": [
          1730,
          1118,
          30
        ],
        "tilt_deg": 10,
        "power_Wp_candidate": 430
      }
    ],
    "thermal_collectors": [
      {
        "id": "TH-01",
        "product_candidate": "Bosch SO5000TF FKC-2S vertical",
        "corners_CAD_m": [
          [
            12.8,
            5.55,
            3.5115
          ],
          [
            13.975000000000001,
            5.55,
            3.5115
          ],
          [
            13.975000000000001,
            7.296773239433213,
            4.52
          ],
          [
            12.8,
            7.296773239433213,
            4.52
          ]
        ],
        "support_envelope_CAD_m": [
          12.8,
          5.55,
          3.31,
          13.98,
          7.32,
          4.52
        ],
        "collector_mm": [
          1175,
          2017,
          87
        ],
        "tilt_deg": 30,
        "dry_mass_kg": 40,
        "source": "BOSCH",
        "status": "CANDIDATO;KIT_PT/ESTRUTURA/PESO/VENTO POR VALIDAR"
      },
      {
        "id": "TH-02",
        "product_candidate": "Bosch SO5000TF FKC-2S vertical",
        "corners_CAD_m": [
          [
            14.0,
            5.55,
            3.5115
          ],
          [
            15.175,
            5.55,
            3.5115
          ],
          [
            15.175,
            7.296773239433213,
            4.52
          ],
          [
            14.0,
            7.296773239433213,
            4.52
          ]
        ],
        "support_envelope_CAD_m": [
          14.0,
          5.55,
          3.31,
          15.18,
          7.32,
          4.52
        ],
        "collector_mm": [
          1175,
          2017,
          87
        ],
        "tilt_deg": 30,
        "dry_mass_kg": 40,
        "source": "BOSCH",
        "status": "CANDIDATO;KIT_PT/ESTRUTURA/PESO/VENTO POR VALIDAR"
      }
    ],
    "orientation": {
      "CAD_positive_X_azimuth_deg_assumed": 45,
      "CAD_positive_Y_azimuth_deg_assumed": 315,
      "array_facing_azimuth_deg_assumed": 135,
      "surveyed": false
    },
    "maintenance_paths": [
      {
        "id": "PATH-CROSS",
        "bbox": [
          0.25,
          3.202,
          15.8,
          4.002
        ],
        "clear_width_mm": 800
      },
      {
        "id": "PATH-E",
        "bbox": [
          15.3,
          0.2,
          16.1,
          8.3
        ],
        "clear_width_mm": 800
      }
    ],
    "thermal_clearances_m": {
      "north": 1.43,
      "east": 1.42,
      "provisional_rule": 1.4
    },
    "no_equipment_or_ballast_in_paths": true,
    "drainage": "Nenhum ralo/pendente de cobertura está levantado. Faixas de drenagem e suportes sem barrar água precisam de levantamento antes de fixar layout. Caminhos não substituem proteção de queda.",
    "structural": "PV645kg+coletores80kg secos, exclui suportes/lastro/tubos/fluido/passadiços. Não é carga de cálculo. Verificação vento, punçoamento, laje, impermeabilização e bordos por estrutural.",
    "inverter": {
      "product_candidate": "Fronius Symo GEN24 10.0 Plus",
      "AC_kW": 10,
      "max_AC_A": 16.4,
      "max_DC_V": 1000,
      "MPPT_I_A": [
        25,
        12.5
      ],
      "MPPT_Isc_A": [
        40,
        20
      ],
      "MPPT_window_V": [
        278,
        800
      ],
      "strings": [
        {
          "MPPT": 1,
          "parallel_strings": 2,
          "modules_in_series": 10
        },
        {
          "MPPT": 2,
          "parallel_strings": 1,
          "modules_in_series": 10
        }
      ],
      "bbox_reserve_CAD_m": [
        17.0,
        6.9,
        0.8,
        17.3,
        7.65,
        1.65
      ],
      "status": "CANDIDATO SEM COMPRA;produtoPVUEeprojetoUPACpendentes"
    },
    "string_calculations": {
      "count": 30,
      "DC_kWp": 12.9,
      "AC_kW": 10,
      "DC_AC_ratio": 1.29,
      "Vmp_STC_10_modules_V": 505.0,
      "Voc_STC_10_modules_V": 597.0,
      "Voc_at_minus10C_plus3percent_V": 666.56,
      "Imp_parallel_MPPT1_A": 17.04,
      "Isc_parallel_MPPT1_A": 17.82,
      "limits_pass_STC_and_assumed_minus10": true,
      "not_validated": [
        "Temperatura mínima e máxima de célula do local",
        "Certificação/varianteUE do módulo",
        "Conectores/quedaDC/proteções/cabos",
        "Configuração país do inversor",
        "Sombras e perdas anuais",
        "Sem bateria/backup contratados"
      ]
    },
    "shadow_audit": {
      "method": "Ray intersection with rectangular3Dplanes,121samples/facePV(11×11,near-edgesincluded),72scenarios(alt15/25/35;az0..345each15). Thermal collectors,otherPVandverticalparapets are separate occluders. Azimuthreference135°assumed,notsurveyed. Noannualperformancecalculation. Fractionofsamplepointsisnotfractionofpowerlost. Vegetation,neighbours,thermalrearstructure,roofservicesnotmodeled.",
      "samples_per_module": 121,
      "scenarios": [
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 0,
          "thermal_affected_sample_fraction": {
            "PV-36": 0.04959,
            "PV-37": 0.17355,
            "PV-38": 0.02479
          },
          "all_occluders_sample_counts": {
            "PV-36": {
              "thermal": 6,
              "PV": 0,
              "parapet": 0
            },
            "PV-37": {
              "thermal": 21,
              "PV": 0,
              "parapet": 0
            },
            "PV-38": {
              "thermal": 3,
              "PV": 0,
              "parapet": 0
            }
          }
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 15,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 30,
          "thermal_affected_sample_fraction": {
            "PV-46": 0.16529
          },
          "all_occluders_sample_counts": {
            "PV-46": {
              "thermal": 20,
              "PV": 0,
              "parapet": 0
            }
          }
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 45,
          "thermal_affected_sample_fraction": {
            "PV-46": 0.00826
          },
          "all_occluders_sample_counts": {
            "PV-46": {
              "thermal": 1,
              "PV": 0,
              "parapet": 0
            }
          }
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 60,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 75,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 90,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {
            "PV-21": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-22": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-23": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-24": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-25": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-26": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-27": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-28": {
              "thermal": 0,
              "PV": 8,
              "parapet": 0
            },
            "PV-41": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-42": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-43": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-44": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-45": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-46": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            }
          }
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 105,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {
            "PV-21": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-22": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-23": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-24": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-25": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-26": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-27": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-28": {
              "thermal": 0,
              "PV": 18,
              "parapet": 0
            },
            "PV-41": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-42": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-43": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-44": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-45": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-46": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            }
          }
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 120,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {
            "PV-21": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-22": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-23": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-24": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-25": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-26": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-27": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-28": {
              "thermal": 0,
              "PV": 20,
              "parapet": 0
            },
            "PV-41": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-42": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-43": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-44": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-45": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-46": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            }
          }
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 135,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {
            "PV-21": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-22": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-23": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-24": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-25": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-26": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-27": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-28": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-41": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-42": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-43": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-44": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-45": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-46": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            }
          }
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 150,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {
            "PV-21": {
              "thermal": 0,
              "PV": 20,
              "parapet": 0
            },
            "PV-22": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-23": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-24": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-25": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-26": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-27": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-28": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-41": {
              "thermal": 0,
              "PV": 20,
              "parapet": 0
            },
            "PV-42": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-43": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-44": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-45": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-46": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            }
          }
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 165,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {
            "PV-21": {
              "thermal": 0,
              "PV": 18,
              "parapet": 0
            },
            "PV-22": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-23": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-24": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-25": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-26": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-27": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-28": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-41": {
              "thermal": 0,
              "PV": 18,
              "parapet": 0
            },
            "PV-42": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-43": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-44": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-45": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            },
            "PV-46": {
              "thermal": 0,
              "PV": 22,
              "parapet": 0
            }
          }
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 180,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {
            "PV-21": {
              "thermal": 0,
              "PV": 8,
              "parapet": 0
            },
            "PV-22": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-23": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-24": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-25": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-26": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-27": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-28": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-41": {
              "thermal": 0,
              "PV": 8,
              "parapet": 0
            },
            "PV-42": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-43": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-44": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-45": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-46": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            }
          }
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 195,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 210,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 225,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 240,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 255,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 270,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 285,
          "thermal_affected_sample_fraction": {
            "PV-38": 0.27273
          },
          "all_occluders_sample_counts": {
            "PV-38": {
              "thermal": 33,
              "PV": 0,
              "parapet": 0
            }
          }
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 300,
          "thermal_affected_sample_fraction": {
            "PV-38": 0.68595
          },
          "all_occluders_sample_counts": {
            "PV-38": {
              "thermal": 83,
              "PV": 0,
              "parapet": 0
            }
          }
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 315,
          "thermal_affected_sample_fraction": {
            "PV-37": 0.09091,
            "PV-38": 1.0
          },
          "all_occluders_sample_counts": {
            "PV-37": {
              "thermal": 11,
              "PV": 0,
              "parapet": 0
            },
            "PV-38": {
              "thermal": 121,
              "PV": 0,
              "parapet": 0
            }
          }
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 330,
          "thermal_affected_sample_fraction": {
            "PV-37": 0.35537,
            "PV-38": 0.95868
          },
          "all_occluders_sample_counts": {
            "PV-37": {
              "thermal": 43,
              "PV": 0,
              "parapet": 0
            },
            "PV-38": {
              "thermal": 116,
              "PV": 0,
              "parapet": 0
            }
          }
        },
        {
          "altitude_deg": 15,
          "azimuth_deg_assumed": 345,
          "thermal_affected_sample_fraction": {
            "PV-36": 0.00826,
            "PV-37": 0.76033,
            "PV-38": 0.55372
          },
          "all_occluders_sample_counts": {
            "PV-36": {
              "thermal": 1,
              "PV": 0,
              "parapet": 0
            },
            "PV-37": {
              "thermal": 92,
              "PV": 0,
              "parapet": 0
            },
            "PV-38": {
              "thermal": 67,
              "PV": 0,
              "parapet": 0
            }
          }
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 0,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 15,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 30,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 45,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 60,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 75,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 90,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 105,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 120,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 135,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {
            "PV-21": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-22": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-23": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-24": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-25": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-26": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-27": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-28": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-41": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-42": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-43": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-44": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-45": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            },
            "PV-46": {
              "thermal": 0,
              "PV": 11,
              "parapet": 0
            }
          }
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 150,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 165,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 180,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 195,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 210,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 225,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 240,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 255,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 270,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 285,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 300,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 315,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 330,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 25,
          "azimuth_deg_assumed": 345,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 0,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 15,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 30,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 45,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 60,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 75,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 90,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 105,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 120,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 135,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 150,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 165,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 180,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 195,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 210,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 225,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 240,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 255,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 270,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 285,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 300,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 315,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 330,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        },
        {
          "altitude_deg": 35,
          "azimuth_deg_assumed": 345,
          "thermal_affected_sample_fraction": {},
          "all_occluders_sample_counts": {}
        }
      ],
      "thermal_shadow_horizontal_length_m_above_gravel": {
        "15": 4.516,
        "25": 2.595,
        "35": 1.728
      },
      "solar_azimuth_surveyed": false,
      "annual_yield_kWh": null,
      "conclusion": "30modulesisgeometricmaximum,not30unshaded. ThermalpairmovedNEandreducedlastrowlimitsinter-array shadinginselectedconditions. AffectedIDsprovided;reviewhourlysitehorizonandwinter/summerpositionsbeforekeeping30orremovingmodules. Nooptimiserprescribedasautomaticcure."
    }
  },
  "airConditioningR38": {
    "indoor_units": [
      {
        "id": "AC-SAL-01",
        "space": "Sala/cozinha",
        "candidate": "Mitsubishi Electric MSZ-AY50VGK",
        "centre_CAD_m": [
          10.25,
          2.45,
          2.4
        ],
        "bbox_CAD_m": [
          10.005,
          2.051,
          2.2505,
          10.25,
          2.849,
          2.5495
        ],
        "width_height_depth_mm": [
          798,
          299,
          245
        ],
        "support": "W23",
        "face": "W",
        "thermal_capacity_candidate_kW": 5.0,
        "ceiling_clearance_mm": 150.5,
        "status": "IMPLANTACAO_CONGELADA_PARA_ESTUDO;CAPACIDADE/COMPRA_NAO_APROVADAS",
        "maintenance": "Frente e base acessíveis;não esconder atrás dearmário. Respeitar manual exato de montagem e desvios de ar, não soprar diretamente para cama/secretária.",
        "source": "AY"
      },
      {
        "id": "AC-SU-01",
        "space": "Suíte",
        "candidate": "Mitsubishi Electric MSZ-AY25VGK",
        "centre_CAD_m": [
          2.45,
          3.1,
          2.4
        ],
        "bbox_CAD_m": [
          2.051,
          2.855,
          2.2505,
          2.849,
          3.1,
          2.5495
        ],
        "width_height_depth_mm": [
          798,
          299,
          245
        ],
        "support": "W_SU_N",
        "face": "S",
        "thermal_capacity_candidate_kW": 2.5,
        "ceiling_clearance_mm": 150.5,
        "status": "IMPLANTACAO_CONGELADA_PARA_ESTUDO;CAPACIDADE/COMPRA_NAO_APROVADAS",
        "maintenance": "Frente e base acessíveis;não esconder atrás dearmário. Respeitar manual exato de montagem e desvios de ar, não soprar diretamente para cama/secretária.",
        "source": "AY"
      },
      {
        "id": "AC-MA-01",
        "space": "Matilde",
        "candidate": "Mitsubishi Electric MSZ-AY25VGK",
        "centre_CAD_m": [
          13.35,
          6.5,
          2.4
        ],
        "bbox_CAD_m": [
          13.35,
          6.101,
          2.2505,
          13.595,
          6.899,
          2.5495
        ],
        "width_height_depth_mm": [
          798,
          299,
          245
        ],
        "support": "W39",
        "face": "E",
        "thermal_capacity_candidate_kW": 2.5,
        "ceiling_clearance_mm": 150.5,
        "status": "IMPLANTACAO_CONGELADA_PARA_ESTUDO;CAPACIDADE/COMPRA_NAO_APROVADAS",
        "maintenance": "Frente e base acessíveis;não esconder atrás dearmário. Respeitar manual exato de montagem e desvios de ar, não soprar diretamente para cama/secretária.",
        "source": "AY"
      },
      {
        "id": "AC-FR-01",
        "space": "Francisco",
        "candidate": "Mitsubishi Electric MSZ-AY25VGK",
        "centre_CAD_m": [
          13.35,
          2.65,
          2.4
        ],
        "bbox_CAD_m": [
          13.35,
          2.251,
          2.2505,
          13.595,
          3.049,
          2.5495
        ],
        "width_height_depth_mm": [
          798,
          299,
          245
        ],
        "support": "W36",
        "face": "E",
        "thermal_capacity_candidate_kW": 2.5,
        "ceiling_clearance_mm": 150.5,
        "status": "IMPLANTACAO_CONGELADA_PARA_ESTUDO;CAPACIDADE/COMPRA_NAO_APROVADAS",
        "maintenance": "Frente e base acessíveis;não esconder atrás dearmário. Respeitar manual exato de montagem e desvios de ar, não soprar diretamente para cama/secretária.",
        "source": "AY"
      }
    ],
    "optional_office": {
      "id": "AC-ES-RES",
      "centre_CAD_m": [
        11.2,
        2.94,
        2.4
      ],
      "status": "PRE_INSTALACAO_OPCIONAL;sem unidade escolhida",
      "issue": "Parede N temP11 eposto2pessoas;preverrotacondensados/folga/acústicaantes deadotar aparelho"
    },
    "outdoor_technical_reserve": {
      "bbox_CAD_m": [
        17.1,
        3.3,
        0.15,
        17.6,
        4.6,
        1.15
      ],
      "front": "E",
      "service_front_reserve_bbox": [
        17.6,
        3.0,
        18.8,
        4.9
      ],
      "location": "Terreno ladoNE,alémfachadacegaX16.60;11matémuroX27.60",
      "candidate_architecture": "Multisplit4saídas da famíliaMXZ;reserva mecânica não aprova combinação/capacidade",
      "candidate_model_for_comparison": "MXZ-4F80VF4;manual25m/ramal,60total,proteção25A;desenho/potência acústica/combinações térmicas por seleção técnica",
      "supply": "230V1P;faseL3proposta exige gestão e teste de pior caso",
      "not_approved": [
        "Tabela decombinaçãoAY50+3AY25",
        "Capacidades simultâneas real/temperatura exterior",
        "Carga refrigerante e área mínima de cada quarto",
        "Distâncias laterais/traseiras doaparelho fornecido",
        "Ruído nos limites e quarto vizinho",
        "Apoios/estrutura/drenagem/anti-vibração"
      ]
    },
    "refrigerant_routes_study": [
      {
        "unit": "AC-SU-01",
        "polyline_CAD_m": [
          [
            2.45,
            3.1,
            2.55
          ],
          [
            4.1,
            3.1,
            2.65
          ],
          [
            4.1,
            4.25,
            2.65
          ],
          [
            16.9,
            4.25,
            2.65
          ],
          [
            17.3,
            4.25,
            0.8
          ]
        ],
        "length_with20percent_and_drops_m": 22.9,
        "limit_m_per_branch_candidate": 25
      },
      {
        "unit": "AC-SAL-01",
        "length_with20percent_and_drops_m": 13.2
      },
      {
        "unit": "AC-MA-01",
        "length_with20percent_and_drops_m": 9.6
      },
      {
        "unit": "AC-FR-01",
        "length_with20percent_and_drops_m": 7.5
      }
    ],
    "sum_branch_lengths_m": 53.2,
    "sum_limit_m_candidate": 60,
    "condensate": "Quatro redes por gravidade independentes de frigorífico:Suíte→Wcarport;Sala→S,junto fachada;Matilde/Francisco→Efachadacega. Declive estudo≥1%,sifonagem/isolamento/odor/acessos/rede de destino por especialidades. Não despejar sobre percursos nem ligar aVMC. Não fechar teto sem ensaio água.",
    "load_calculation": "SemU-values/geografia/estores/ganhos/ocupação/horáriosnãohá balanço térmico final. Comparação orientadora:50/80/110W/m² porcompartimento, nãodimensionamento.",
    "indicative_sensitivity_W": {
      "Sala_cozinha": {
        "50": 2497,
        "80": 3996,
        "110": 5494
      },
      "Suite": {
        "50": 604,
        "80": 967,
        "110": 1330
      },
      "Matilde": {
        "50": 620,
        "80": 991,
        "110": 1363
      },
      "Francisco": {
        "50": 618,
        "80": 989,
        "110": 1360
      },
      "Escritorio": {
        "50": 412,
        "80": 659,
        "110": 906
      }
    },
    "home_assistant": "MELCloud oficial é cloud;controloIR originalcontinuaráfuncional. Não prometer integração local nativaAY."
  },
  "EVChargingR38": {
    "status": "PROPOSTA COORDENADA;SKU/PROTECOES/AJUSTE/ENSaio POR FECHAR",
    "candidate": "2×V2C TrydanPro trifásicos comdeteçãoDC6mA expressamente incluída;proteçãoresidual AC individual externa",
    "box_envelope_note": "Reserva para estudo W240H334D153mm;profundidade desenho/versão exatos porconfirmar antesdeprodução;nenhum recorte executado",
    "devices": [
      {
        "id": "VE-CARGA-01",
        "centre_CAD_m": [
          -4.525,
          2.2,
          1.2
        ],
        "bbox_CAD_m": [
          -4.6450000000000005,
          2.2,
          1.033,
          -4.405,
          2.353,
          1.367
        ],
        "face": "N",
        "support": "Pedestal metálico independente de solo,discreto,na faixa pavimentada atrás da viatura;paredeW/ripado mantidos",
        "pedestal_reserve_bbox_CAD_m": [
          -4.625,
          2.05,
          0,
          -4.425000000000001,
          2.2,
          1.4
        ],
        "service_access_bbox": [
          -4.9750000000000005,
          2.353,
          -4.075,
          3.153
        ],
        "collision_with_illustrative_car": false,
        "nominal_rear_clearance_box_to_car_m": 0.902,
        "clearance_basis": "Tesla comprimento4.690 eMG4.476 centradosY5.600;comfichacabo/manobra adimensionar",
        "weather": "Faixa pavimentada fora dacoberturaYmin2.85;IP54/IK10doaparelho,cabosUV,drenagemeimpactoafinalizar.Instalaçãonãoficacobertaporsuposição.",
        "circuit": "C-VE1"
      },
      {
        "id": "VE-CARGA-02",
        "centre_CAD_m": [
          -2.075,
          2.2,
          1.2
        ],
        "bbox_CAD_m": [
          -2.1950000000000003,
          2.2,
          1.033,
          -1.955,
          2.353,
          1.367
        ],
        "face": "N",
        "support": "Pedestal metálico independente de solo,discreto,na faixa pavimentada atrás da viatura;paredeW/ripado mantidos",
        "pedestal_reserve_bbox_CAD_m": [
          -2.1750000000000003,
          2.05,
          0,
          -1.975,
          2.2,
          1.4
        ],
        "service_access_bbox": [
          -2.5250000000000004,
          2.353,
          -1.6250000000000002,
          3.153
        ],
        "collision_with_illustrative_car": false,
        "nominal_rear_clearance_box_to_car_m": 1.009,
        "clearance_basis": "Tesla comprimento4.690 eMG4.476 centradosY5.600;comfichacabo/manobra adimensionar",
        "weather": "Faixa pavimentada fora dacoberturaYmin2.85;IP54/IK10doaparelho,cabosUV,drenagemeimpactoafinalizar.Instalaçãonãoficacobertaporsuposição.",
        "circuit": "C-VE2"
      }
    ],
    "power_limit_per_box_A": 16,
    "nominal_max_per_box_kW": 11.085,
    "combined_unmanaged_kW": 22.17,
    "independent_final_circuits": [
      "C-VE1",
      "C-VE2"
    ],
    "wiring": "Medição trifásica na entrada engloba casa+EV+PV;master→extra viaA/B série recomendado;redeLAN separada paraHA. Firmware/prova de funcionamento sem Internet e falha de medidor são ensaioobrigatório. Não usar automaçãoHA para substituir limitação elétrica.",
    "controller": "V2C ControlBox2.0 com3CT naentradae3PV seaplicável,sem bateria;se bateriaadicionadausar contadorbidirecional compatível,conformeV2C. Confirmar leiturasporfase/neutralização/medidaassinada.",
    "RCD": "PorEV:≤30mA tipoA externo+RDC-DD6mA fornecido/certificado ou tipoBconformeproduto;não assumiropcionalDCincluído. Corte4polos deativos,PEcontínuo.",
    "overcurrent": "C20A4P estudo para cabo5G6B2/condições do cálculo;curva/poderdecorte/sobrecarga/ligaçãoPE a validar, não é escolha deinstalador pronta.",
    "phase_control": "Limitar porfase e não só kWtotais. Reservamargem2A;se mínimo≥6A não disponível pausacarregador. Prioridade/fair-share ajustável com tolerância transitória/tempo de reação ensaiados.",
    "cable_management": "Cabos Type2 de5m candidatos,um por lugar,saem do próprio pedestal atrás da viatura. Sem cruzar o outro carro ou portaP2. Verificar porta de carga e alcance realTesla/MGS5 antes de encomenda;suportes largos,não carregar cabo enrolado.",
    "source_ids": [
      "EV722",
      "V2C",
      "V2C_DYN",
      "V2C_MULTI",
      "HA_V2C"
    ],
    "placement_revision": "EV-R38-B:dois pedestais atrás dos carros;abandona fixação lateral que deixava197mm",
    "parking_orientation": "Vehicle fronts towardNW/CAD+Y,reverse topark with rearCAD−Y. Oppositeorientationrequiresretestchargingportsandcables.",
    "cable_route_study": [
      {
        "id": "EV1",
        "polyline_CAD_m": [
          [
            -4.525,
            2.353,
            0.4
          ],
          [
            -4.525,
            2.9,
            0.4
          ],
          [
            -5.5,
            2.9,
            0.4
          ],
          [
            -5.5,
            3.8,
            0.4
          ]
        ],
        "approx_length_m": 2.422,
        "length_candidate_m": 5,
        "at_own_bay": true
      },
      {
        "id": "EV2",
        "polyline_CAD_m": [
          [
            -2.075,
            2.353,
            0.4
          ],
          [
            -2.075,
            2.9,
            0.4
          ],
          [
            -3.0,
            2.9,
            0.4
          ],
          [
            -3.0,
            3.8,
            0.4
          ]
        ],
        "approx_length_m": 2.372,
        "length_candidate_m": 5,
        "at_own_bay": true
      }
    ],
    "rear_body_envelopes": [
      {
        "model": "Tesla Model3",
        "bodyLength_m": 4.69,
        "mirrorWidth_m": 2.106807,
        "bbox_CAD_m": [
          -5.5784,
          3.255,
          -3.4716,
          7.945
        ]
      },
      {
        "model": "MGS5EV",
        "bodyLength_m": 4.476,
        "mirrorWidth_m": 2.094,
        "bbox_CAD_m": [
          -3.122,
          3.362,
          -1.028,
          7.838
        ]
      }
    ],
    "door_sweep_study": "Wallboxpedestalsdo notliebesidecar doors. Existingdoor-openingclearancebetweenwidevehiclesandWwallstillnotvalidated;actualvehicles/mirrorfolds/parkingpositionrequired. Thisrevisiondoesnotclaimfullparkingcompliance."
  },
  "AQS_Solar_Interface_R38": {
    "old_study": "NUOSPLUSS2WiFiFS2503069791,nãodemonstradaserpentinasolar",
    "candidate": "NUOSPLUSWiFi250I/SYS,serpentina auxiliar provada emfonteAriston;SKU/PTporconfirmar",
    "candidate_body_bbox_CAD_m": [
      0.09,
      6.06,
      0,
      0.69,
      6.74,
      1.997
    ],
    "provisional_connections_envelope_CAD_m": [
      0.69,
      6.06,
      0,
      1.04,
      6.74,
      1.997
    ],
    "status": "PROPOSTA_ALTERNATIVA_NAO_ADOTADA;NAO_LIGAR_COLETORES_AO_DEPOSITO_R37",
    "impact": "60mmaisalto45mmmaisprofundoqueR37;outrodizgeometriaR290nãoétransportável. Reservafolgas nãoequivale ao manualSYS;VMCchassisX1.04deixaconnzona350mmbodyside;acessotécnicorealpendente.",
    "hydraulic_scheme": "Esquema_Hidraulico_Funcional_R38.svg"
  },
  "electricalProgramR38": {
    "schema": "R38-installations-study-1",
    "date": "2026-10-29",
    "baseline_sha256": "e5c76bc844a87677630c50a77c003074e2d107bbf42355551be8b8707cd448ff",
    "global_R37_sha256": "cfb91d61031f758cb3ee4d925c5f3954eb394294f6494c0c99582e7afcbd9e0e",
    "status": "COORDENACAO E CALCULOS CONDICIONAIS;NAO EXECUTAR",
    "supply": {
      "phases": 3,
      "nominal_V": [
        230,
        400
      ],
      "contracted_options_kVA": [
        13.8,
        17.25
      ],
      "approx_nominal_phase_options_A": [
        20,
        25
      ],
      "earthing_system": null,
      "main_feed_section": null,
      "grid_Icc": null,
      "power_step_selected": false
    },
    "points": [
      {
        "id": "S-HA-01",
        "space": "Hall",
        "type": "comando",
        "centre_CAD_m": [
          8.9,
          8.5,
          1.1
        ],
        "centre_CAD_mm": [
          8900.0,
          8500.0,
          1100.0
        ],
        "function": "Pano norte, a oeste de P1; ao entrar pelo lado livre da folha.",
        "circuit_study": "BUS-KNX",
        "support": "W11",
        "face": "S",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Fora de R05 e do espelho/consola. Tecla2 fica reservada se os dois LED do hall não forem adotados.",
        "keys": [
          {
            "key": 1,
            "label": "Hall",
            "targets": [
              "G-HA-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Espelho",
            "targets": [
              "G-HA-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Chegar",
            "targets": [
              "SC-CHEGAR"
            ],
            "action": "ativar cena proposta",
            "long_press_required": false
          },
          {
            "key": 4,
            "label": "Sair",
            "targets": [
              "SC-SAIR"
            ],
            "action": "ativar cena proposta",
            "long_press_required": false
          }
        ],
        "bus_address_pending": true
      },
      {
        "id": "S-SA-01",
        "space": "Sala",
        "type": "comando",
        "centre_CAD_m": [
          4.0,
          2.25,
          1.1
        ],
        "centre_CAD_mm": [
          4000.0,
          2250.0,
          1100.0
        ],
        "function": "Parede da suíte, face da sala, abaixo de P4.",
        "circuit_study": "BUS-KNX",
        "support": "W16",
        "face": "E",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Sem fixar na cassete P4 nem no aparador.",
        "keys": [
          {
            "key": 1,
            "label": "Estar",
            "targets": [
              "G-SA-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Jantar",
            "targets": [
              "G-SA-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "TV",
            "targets": [
              "G-SA-03"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 4,
            "label": "Cristaleira",
            "targets": [
              "G-SA-04"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "bus_address_pending": true
      },
      {
        "id": "S-CO-01",
        "space": "Cozinha",
        "type": "comando",
        "centre_CAD_m": [
          8.5,
          7.75,
          1.05
        ],
        "centre_CAD_mm": [
          8500.0,
          7750.0,
          1050.0
        ],
        "function": "Pano maciço entre o início da parede e a bancada, face da cozinha.",
        "circuit_study": "BUS-KNX",
        "support": "W33",
        "face": "W",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Centro1050mm nesta posição; placa termina60mm abaixo da cota inferior do espelho no lado oposto. Não abrir roço sem compatibilizar o espelho e a carpintaria.",
        "keys": [
          {
            "key": 1,
            "label": "Geral",
            "targets": [
              "G-CO-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Bancada",
            "targets": [
              "G-CO-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Pendentes",
            "targets": [
              "G-CO-03"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 4,
            "label": "Ilha + nichos",
            "targets": [
              "G-CO-04"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "bus_address_pending": true
      },
      {
        "id": "S-LA-01",
        "space": "Lavandaria / acesso sala",
        "type": "comando",
        "centre_CAD_m": [
          4.0,
          6.2,
          1.1
        ],
        "centre_CAD_mm": [
          4000.0,
          6200.0,
          1100.0
        ],
        "function": "Do lado da sala, antes de entrar em P6, abaixo do vão.",
        "circuit_study": "BUS-KNX",
        "support": "W20",
        "face": "E",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "A extremidade da cristaleira termina emY5.80; placa emY6.16..6.24, sem sobreposição.",
        "keys": [
          {
            "key": 1,
            "label": "Lavandaria",
            "targets": [
              "G-LA-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Trabalho",
            "targets": [
              "G-LA-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Despensa",
            "targets": [
              "G-LA-03"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "bus_address_pending": true
      },
      {
        "id": "S-LA-02",
        "space": "Lavandaria / P2",
        "type": "comando",
        "centre_CAD_m": [
          -0.05,
          7.9,
          1.1
        ],
        "centre_CAD_mm": [
          -50.0,
          7900.0,
          1100.0
        ],
        "function": "Pano a norte de P2, na faixa adicional da lavandaria.",
        "circuit_study": "BUS-KNX",
        "support": "W03",
        "face": "E",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Placa acaba110mm antes da frente da despensa; usar com a porta da primeira coluna fechada. Não desloca máquinas, AQS, VMC ou móveis.",
        "keys": [
          {
            "key": 1,
            "label": "Lavandaria",
            "targets": [
              "G-LA-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Trabalho",
            "targets": [
              "G-LA-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Despensa",
            "targets": [
              "G-LA-03"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "bus_address_pending": true
      },
      {
        "id": "S-DI-01",
        "space": "Distribuição / sala",
        "type": "comando",
        "centre_CAD_m": [
          10.25,
          5.1,
          1.1
        ],
        "centre_CAD_mm": [
          10250.0,
          5100.0,
          1100.0
        ],
        "function": "Do lado da sala, acima do vão P7.",
        "circuit_study": "BUS-KNX",
        "support": "W24",
        "face": "W",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Não usar a face da distribuição, ocupada pelo armário ARR_N.",
        "keys": [
          {
            "key": 1,
            "label": "Circulação",
            "targets": [
              "G-DI-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Percurso noite",
            "targets": [
              "SC-NOITE"
            ],
            "action": "ativar cena condicional",
            "long_press_required": false
          }
        ],
        "bus_address_pending": true
      },
      {
        "id": "S-DI-02",
        "space": "Distribuição / quartos",
        "type": "comando",
        "centre_CAD_m": [
          13.2,
          4.245,
          1.1
        ],
        "centre_CAD_mm": [
          13200.0,
          4245.0,
          1100.0
        ],
        "function": "Pequeno pano entre P9 e P10, face da distribuição.",
        "circuit_study": "BUS-KNX",
        "support": "W37",
        "face": "W",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "310mm entre vãos; placa80 deixa115mm nominais a cada lado.",
        "keys": [
          {
            "key": 1,
            "label": "Circulação",
            "targets": [
              "G-DI-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Percurso noite",
            "targets": [
              "SC-NOITE"
            ],
            "action": "ativar cena condicional",
            "long_press_required": false
          }
        ],
        "bus_address_pending": true
      },
      {
        "id": "S-BC-01",
        "space": "Banho comum / lado seco",
        "type": "comando",
        "centre_CAD_m": [
          12.03,
          5.4,
          1.1
        ],
        "centre_CAD_mm": [
          12030.0,
          5400.0,
          1100.0
        ],
        "function": "Na distribuição, antes de P8, a oeste do aro.",
        "circuit_study": "BUS-KNX",
        "support": "W26",
        "face": "S",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Sem comando desenhado no interior húmido. Modo SC-BC-NOITE é opcional, condicionado ao espelho.",
        "keys": [
          {
            "key": 1,
            "label": "Geral / duche",
            "targets": [
              "G-BC-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Espelho LED",
            "targets": [
              "G-BC-02"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "bus_address_pending": true
      },
      {
        "id": "S-ES-01",
        "space": "Escritório",
        "type": "comando",
        "centre_CAD_m": [
          10.85,
          2.94,
          1.1
        ],
        "centre_CAD_mm": [
          10850.0,
          2940.0,
          1100.0
        ],
        "function": "Pano norte a oeste de P11, do lado do escritório.",
        "circuit_study": "BUS-KNX",
        "support": "W40",
        "face": "S",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Fora do arco de P11 e além da extremidade das prateleiras; não montar atrás da estante.",
        "keys": [
          {
            "key": 1,
            "label": "Geral",
            "targets": [
              "G-ES-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Dois postos",
            "targets": [
              "G-ES-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Livros",
            "targets": [
              "G-ES-03"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "bus_address_pending": true
      },
      {
        "id": "S-SU-01",
        "space": "Suíte / entrada",
        "type": "comando",
        "centre_CAD_m": [
          3.85,
          2.425,
          1.1
        ],
        "centre_CAD_mm": [
          3850.0,
          2425.0,
          1100.0
        ],
        "function": "Faixa entre a cómoda e a entrada P4, face do quarto.",
        "circuit_study": "BUS-KNX",
        "support": "W16",
        "face": "W",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Faixa250mm: placa80 deixa85mm a cada extremo. Conferir aro e remate da cómoda.",
        "keys": [
          {
            "key": 1,
            "label": "Geral",
            "targets": [
              "G-SU-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Leitura ambas",
            "targets": [
              "G-SU-02",
              "G-SU-03"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Closet",
            "targets": [
              "G-CL-01",
              "G-CL-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 4,
            "label": "Quarto desligar",
            "targets": [
              "G-SU-01",
              "G-SU-02",
              "G-SU-03"
            ],
            "action": "desligar",
            "long_press_required": false
          }
        ],
        "bus_address_pending": true
      },
      {
        "id": "S-SU-02",
        "space": "Suíte / cabeceira sul",
        "type": "comando",
        "centre_CAD_m": [
          -0.025,
          0.325,
          0.85
        ],
        "centre_CAD_mm": [
          -25.0,
          325.0,
          850.0
        ],
        "function": "No ripado fino sobre a mesinha sul, acessível da cama.",
        "circuit_study": "BUS-KNX",
        "support": "W01",
        "face": "E",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Centro250mm acima do tampo da mesa. Fixação apenas no suporte maciço, fora da cabeceira central espessa.",
        "keys": [
          {
            "key": 1,
            "label": "Leitura sul",
            "targets": [
              "G-SU-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Geral",
            "targets": [
              "G-SU-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Percurso noite",
            "targets": [
              "SC-NOITE"
            ],
            "action": "ativar cena condicional",
            "long_press_required": false
          }
        ],
        "bus_address_pending": true
      },
      {
        "id": "S-SU-03",
        "space": "Suíte / cabeceira norte",
        "type": "comando",
        "centre_CAD_m": [
          -0.025,
          2.775,
          0.85
        ],
        "centre_CAD_mm": [
          -25.0,
          2775.0,
          850.0
        ],
        "function": "No ripado fino sobre a mesinha norte, acessível da cama.",
        "circuit_study": "BUS-KNX",
        "support": "W01",
        "face": "E",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Centro250mm acima do tampo; não transferir para a antiga cabeceira norte.",
        "keys": [
          {
            "key": 1,
            "label": "Leitura norte",
            "targets": [
              "G-SU-03"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Geral",
            "targets": [
              "G-SU-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Percurso noite",
            "targets": [
              "SC-NOITE"
            ],
            "action": "ativar cena condicional",
            "long_press_required": false
          }
        ],
        "bus_address_pending": true
      },
      {
        "id": "S-CL-01",
        "space": "Closet / entrada",
        "type": "comando",
        "centre_CAD_m": [
          2.6,
          3.1,
          1.1
        ],
        "centre_CAD_mm": [
          2600.0,
          3100.0,
          1100.0
        ],
        "function": "Na face do quarto, antes da passagem para o closet.",
        "circuit_study": "BUS-KNX",
        "support": "W_SU_N",
        "face": "S",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Não colocar na frente do banco sul nem na cassete P5.",
        "keys": [
          {
            "key": 1,
            "label": "Geral closet",
            "targets": [
              "G-CL-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Bancos LED",
            "targets": [
              "G-CL-02"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "bus_address_pending": true
      },
      {
        "id": "S-BS-01",
        "space": "Banho suíte / lado seco",
        "type": "comando",
        "centre_CAD_m": [
          3.85,
          4.7,
          1.1
        ],
        "centre_CAD_mm": [
          3850.0,
          4700.0,
          1100.0
        ],
        "function": "Parede leste do closet, antes de atravessar P5.",
        "circuit_study": "BUS-KNX",
        "support": "W20",
        "face": "W",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "210mm entre bordo da placa e fim da cassete P4. O pano ao lado de P5 está ocupado pela cassete/banco; não o perfurar. SC-BS-NOITE condicionado ao produto.",
        "keys": [
          {
            "key": 1,
            "label": "Geral / duche",
            "targets": [
              "G-BS-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Espelho LED",
            "targets": [
              "G-BS-02"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "bus_address_pending": true
      },
      {
        "id": "S-MA-01",
        "space": "Matilde / entrada",
        "type": "comando",
        "centre_CAD_m": [
          13.35,
          5.45,
          1.1
        ],
        "centre_CAD_mm": [
          13350.0,
          5450.0,
          1100.0
        ],
        "function": "No quarto, a norte de P9 e do lado oposto à dobradiça.",
        "circuit_study": "BUS-KNX",
        "support": "W38",
        "face": "E",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Fora do roupeiro R01; conferir aro na faixa curta.",
        "keys": [
          {
            "key": 1,
            "label": "Geral",
            "targets": [
              "G-MA-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Leitura ambas",
            "targets": [
              "G-MA-02",
              "G-MA-03"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "bus_address_pending": true
      },
      {
        "id": "S-MA-02",
        "space": "Matilde / cabeceira sul",
        "type": "comando",
        "centre_CAD_m": [
          16.35,
          6.050000000000001,
          0.8
        ],
        "centre_CAD_mm": [
          16350.0,
          6050.0,
          800.0
        ],
        "function": "Sobre a mesa NT03 na parede da cabeceira.",
        "circuit_study": "BUS-KNX",
        "support": "W15",
        "face": "W",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Centro300mm acima do tampo de estudo; posição final depende da cama/mesa reais.",
        "keys": [
          {
            "key": 1,
            "label": "Leitura sul",
            "targets": [
              "G-MA-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Geral",
            "targets": [
              "G-MA-01"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "revision": "R38",
        "change_reason": "Acompanha cama/NT03/04deslocados+150Y pelo contratoquartosR38",
        "bus_address_pending": true
      },
      {
        "id": "S-MA-03",
        "space": "Matilde / cabeceira norte",
        "type": "comando",
        "centre_CAD_m": [
          16.35,
          8.05,
          0.8
        ],
        "centre_CAD_mm": [
          16350.0,
          8050.0,
          800.0
        ],
        "function": "Sobre a mesa NT04 na parede da cabeceira.",
        "circuit_study": "BUS-KNX",
        "support": "W15",
        "face": "W",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Não usar a frente do roupeiro nem confundir com armário alto.",
        "keys": [
          {
            "key": 1,
            "label": "Leitura norte",
            "targets": [
              "G-MA-03"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Geral",
            "targets": [
              "G-MA-01"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "revision": "R38",
        "change_reason": "Acompanha cama/NT03/04deslocados+150Y pelo contratoquartosR38",
        "bus_address_pending": true
      },
      {
        "id": "S-FR-01",
        "space": "Francisco / entrada",
        "type": "comando",
        "centre_CAD_m": [
          13.35,
          3.0,
          1.1
        ],
        "centre_CAD_mm": [
          13350.0,
          3000.0,
          1100.0
        ],
        "function": "No quarto, a sul de P10 e do lado oposto à dobradiça.",
        "circuit_study": "BUS-KNX",
        "support": "W36",
        "face": "E",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Fora do roupeiro R02 e do arco da porta.",
        "keys": [
          {
            "key": 1,
            "label": "Geral",
            "targets": [
              "G-FR-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Leitura ambas",
            "targets": [
              "G-FR-02",
              "G-FR-03"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "bus_address_pending": true
      },
      {
        "id": "S-FR-02",
        "space": "Francisco / cabeceira sul",
        "type": "comando",
        "centre_CAD_m": [
          16.35,
          0.45,
          0.8
        ],
        "centre_CAD_mm": [
          16350.0,
          450.0,
          800.0
        ],
        "function": "Sobre a mesa NT05 na parede da cabeceira.",
        "circuit_study": "BUS-KNX",
        "support": "W15",
        "face": "W",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Centro300mm acima do tampo de estudo.",
        "keys": [
          {
            "key": 1,
            "label": "Leitura sul",
            "targets": [
              "G-FR-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Geral",
            "targets": [
              "G-FR-01"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "revision": "R38",
        "change_reason": "Acompanha cama/NT05/06deslocados−200Y pelo contratoquartosR38",
        "bus_address_pending": true
      },
      {
        "id": "S-FR-03",
        "space": "Francisco / cabeceira norte",
        "type": "comando",
        "centre_CAD_m": [
          16.35,
          2.4499999999999997,
          0.8
        ],
        "centre_CAD_mm": [
          16350.0,
          2450.0,
          800.0
        ],
        "function": "Sobre a mesa NT06 na parede da cabeceira.",
        "circuit_study": "BUS-KNX",
        "support": "W15",
        "face": "W",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Centro300mm acima do tampo de estudo.",
        "keys": [
          {
            "key": 1,
            "label": "Leitura norte",
            "targets": [
              "G-FR-03"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Geral",
            "targets": [
              "G-FR-01"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "revision": "R38",
        "change_reason": "Acompanha cama/NT05/06deslocados−200Y pelo contratoquartosR38",
        "bus_address_pending": true
      },
      {
        "id": "S-EX-01",
        "space": "Pala carros / P2",
        "type": "comando",
        "centre_CAD_m": [
          -0.3,
          6.55,
          1.1
        ],
        "centre_CAD_mm": [
          -300.0,
          6550.0,
          1100.0
        ],
        "function": "Face exterior da parede, a sul de P2, sob a pala.",
        "circuit_study": "BUS-KNX",
        "support": "W02",
        "face": "W",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Produto e invólucro adequados à exposição, a selecionar pelo projetista; não fixar no ripado estrutural da pala.",
        "keys": [
          {
            "key": 1,
            "label": "Pala carros",
            "targets": [
              "G-EX-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Percurso entrada",
            "targets": [
              "G-EX-01",
              "G-EX-04"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Exterior desligar",
            "targets": [
              "G-EX-01",
              "G-EX-02",
              "G-EX-03",
              "G-EX-04"
            ],
            "action": "desligar",
            "long_press_required": false
          }
        ],
        "bus_address_pending": true
      },
      {
        "id": "S-EX-02",
        "space": "Jardim / acesso sala",
        "type": "comando",
        "centre_CAD_m": [
          7.15,
          -0.25,
          1.1
        ],
        "centre_CAD_mm": [
          7150.0,
          -250.0,
          1100.0
        ],
        "function": "Face exterior, a leste do vão da sala VE6.",
        "circuit_study": "BUS-KNX",
        "support": "W06",
        "face": "S",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Produto adequado ao exterior; coordenar com ripado/estanqueidade. Placa fica175mm aproximadamente depois do vão.",
        "keys": [
          {
            "key": 1,
            "label": "Pala jardim",
            "targets": [
              "G-EX-03"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Percursos",
            "targets": [
              "G-EX-04"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Exterior desligar",
            "targets": [
              "G-EX-01",
              "G-EX-02",
              "G-EX-03",
              "G-EX-04"
            ],
            "action": "desligar",
            "long_press_required": false
          }
        ],
        "bus_address_pending": true
      },
      {
        "id": "E-CO-01",
        "space": "Estore",
        "type": "estore",
        "centre_CAD_m": [
          8.5,
          7.91,
          1.05
        ],
        "centre_CAD_mm": [
          8500.0,
          7910.0,
          1050.0
        ],
        "function": "Subir/parar/descer estore; interbloqueio elétrico independente de HA",
        "circuit_study": null,
        "support": "W33",
        "face": "W",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Reserva de comando local. Motor, caixa, manutenção e cablagem por projeto. HA:0fechado/100aberto. Comando físico↑/stop/↓;atuador interbloqueado, nunca subir/descer simultaneamente;posição confirmada sempressupor3fiosdomotor.",
        "control_bus": "KNX_TP_PROPOSTO",
        "motor_circuit": "C-EST"
      },
      {
        "id": "E-SA-01",
        "space": "Estore",
        "type": "estore",
        "centre_CAD_m": [
          4,
          2.09,
          1.1
        ],
        "centre_CAD_mm": [
          4000,
          2090.0,
          1100.0
        ],
        "function": "Subir/parar/descer estore; interbloqueio elétrico independente de HA",
        "circuit_study": null,
        "support": "W16 face sala",
        "face": "E",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Reserva de comando local. Motor, caixa, manutenção e cablagem por projeto. HA:0fechado/100aberto. Comando físico↑/stop/↓;atuador interbloqueado, nunca subir/descer simultaneamente;posição confirmada sempressupor3fiosdomotor.",
        "control_bus": "KNX_TP_PROPOSTO",
        "motor_circuit": "C-EST"
      },
      {
        "id": "E-SU-01",
        "space": "Estore",
        "type": "estore",
        "centre_CAD_m": [
          3.38,
          0,
          1.1
        ],
        "centre_CAD_mm": [
          3380.0,
          0,
          1100.0
        ],
        "function": "Subir/parar/descer estore; interbloqueio elétrico independente de HA",
        "circuit_study": null,
        "support": "W05",
        "face": "N",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Reserva de comando local. Motor, caixa, manutenção e cablagem por projeto. HA:0fechado/100aberto. Comando físico↑/stop/↓;atuador interbloqueado, nunca subir/descer simultaneamente;posição confirmada sempressupor3fiosdomotor.",
        "control_bus": "KNX_TP_PROPOSTO",
        "motor_circuit": "C-EST"
      },
      {
        "id": "E-MA-01",
        "space": "Estore",
        "type": "estore",
        "centre_CAD_m": [
          13.35,
          5.65,
          1.1
        ],
        "centre_CAD_mm": [
          13350.0,
          5650.0,
          1100.0
        ],
        "function": "Subir/parar/descer estore; interbloqueio elétrico independente de HA",
        "circuit_study": null,
        "support": "W39",
        "face": "E",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Reserva de comando local. Motor, caixa, manutenção e cablagem por projeto. HA:0fechado/100aberto. Comando físico↑/stop/↓;atuador interbloqueado, nunca subir/descer simultaneamente;posição confirmada sempressupor3fiosdomotor.",
        "control_bus": "KNX_TP_PROPOSTO",
        "motor_circuit": "C-EST"
      },
      {
        "id": "E-FR-01",
        "space": "Estore",
        "type": "estore",
        "centre_CAD_m": [
          13.35,
          2.84,
          1.1
        ],
        "centre_CAD_mm": [
          13350.0,
          2840.0,
          1100.0
        ],
        "function": "Subir/parar/descer estore; interbloqueio elétrico independente de HA",
        "circuit_study": null,
        "support": "W36",
        "face": "E",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Reserva de comando local. Motor, caixa, manutenção e cablagem por projeto. HA:0fechado/100aberto. Comando físico↑/stop/↓;atuador interbloqueado, nunca subir/descer simultaneamente;posição confirmada sempressupor3fiosdomotor.",
        "control_bus": "KNX_TP_PROPOSTO",
        "motor_circuit": "C-EST"
      },
      {
        "id": "E-ES-01",
        "space": "Estore",
        "type": "estore",
        "centre_CAD_m": [
          10.69,
          2.94,
          1.1
        ],
        "centre_CAD_mm": [
          10690.0,
          2940.0,
          1100.0
        ],
        "function": "Subir/parar/descer estore; interbloqueio elétrico independente de HA",
        "circuit_study": null,
        "support": "W40",
        "face": "S",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Reserva de comando local. Motor, caixa, manutenção e cablagem por projeto. HA:0fechado/100aberto. Comando físico↑/stop/↓;atuador interbloqueado, nunca subir/descer simultaneamente;posição confirmada sempressupor3fiosdomotor.",
        "control_bus": "KNX_TP_PROPOSTO",
        "motor_circuit": "C-EST"
      },
      {
        "id": "T-SA-01",
        "space": "Sala",
        "type": "tomada",
        "centre_CAD_m": [
          10.25,
          0.65,
          0.3
        ],
        "centre_CAD_mm": [
          10250.0,
          650.0,
          300.0
        ],
        "function": "TV/áudio;3tomadas e2RJ45; acesso por módulo TV",
        "circuit_study": "C-TSA",
        "support": "W23",
        "face": "W",
        "quantity": 3,
        "plate_envelope_mm": [
          240,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": " Reserva de conjunto de tomadas [240, 80]mm (largura tangente à parede × altura); série e medida real por selecionar."
      },
      {
        "id": "T-SA-02",
        "space": "Sala",
        "type": "tomada",
        "centre_CAD_m": [
          7.6,
          0,
          0.3
        ],
        "centre_CAD_mm": [
          7600.0,
          0,
          300.0
        ],
        "function": "Apoio estar/aspirador",
        "circuit_study": "C-TSA",
        "support": "W06",
        "face": "N",
        "quantity": 2,
        "plate_envelope_mm": [
          160,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": " Reserva de conjunto de tomadas [160, 80]mm (largura tangente à parede × altura); série e medida real por selecionar."
      },
      {
        "id": "T-SA-03",
        "space": "Sala",
        "type": "tomada",
        "centre_CAD_m": [
          4,
          1.1,
          0.3
        ],
        "centre_CAD_mm": [
          4000,
          1100.0,
          300.0
        ],
        "function": "Apoio poltronas",
        "circuit_study": "C-TSA",
        "support": "W16",
        "face": "E",
        "quantity": 2,
        "plate_envelope_mm": [
          160,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": " Reserva de conjunto de tomadas [160, 80]mm (largura tangente à parede × altura); série e medida real por selecionar."
      },
      {
        "id": "T-HA-01",
        "space": "Hall",
        "type": "tomada",
        "centre_CAD_m": [
          8.65,
          8.1,
          0.3
        ],
        "centre_CAD_mm": [
          8650.0,
          8100.0,
          300.0
        ],
        "function": "Aspiração/apoio hall, fora da consola",
        "circuit_study": "C-TSA",
        "support": "W33",
        "face": "E",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": ""
      },
      {
        "id": "T-SU-01",
        "space": "Suíte",
        "type": "tomada",
        "centre_CAD_m": [
          -0.025,
          0.325,
          0.7
        ],
        "centre_CAD_mm": [
          -25.0,
          325.0,
          700.0
        ],
        "function": "Mesinha sul;2tomadas, eventualUSB-C em módulo separado",
        "circuit_study": "C-TQS",
        "support": "W01",
        "face": "E",
        "quantity": 2,
        "plate_envelope_mm": [
          160,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": " Reserva de conjunto de tomadas [160, 80]mm (largura tangente à parede × altura); série e medida real por selecionar."
      },
      {
        "id": "T-SU-02",
        "space": "Suíte",
        "type": "tomada",
        "centre_CAD_m": [
          -0.025,
          2.775,
          0.7
        ],
        "centre_CAD_mm": [
          -25.0,
          2775.0,
          700.0
        ],
        "function": "Mesinha norte;2tomadas",
        "circuit_study": "C-TQS",
        "support": "W01",
        "face": "E",
        "quantity": 2,
        "plate_envelope_mm": [
          160,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": " Reserva de conjunto de tomadas [160, 80]mm (largura tangente à parede × altura); série e medida real por selecionar."
      },
      {
        "id": "T-SU-03",
        "space": "Suíte",
        "type": "tomada",
        "centre_CAD_m": [
          3.85,
          2.425,
          0.3
        ],
        "centre_CAD_mm": [
          3850.0,
          2425.0,
          300.0
        ],
        "function": "Limpeza/apoio; abaixo do comando, fora da cómoda",
        "circuit_study": "C-TQS",
        "support": "W16",
        "face": "W",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": ""
      },
      {
        "id": "T-MA-01",
        "space": "Matilde",
        "type": "tomada",
        "centre_CAD_m": [
          16.35,
          6.050000000000001,
          0.65
        ],
        "centre_CAD_mm": [
          16350.0,
          6050.0,
          650.0
        ],
        "function": "Mesinha sul",
        "circuit_study": "C-TQ1",
        "support": "W15",
        "face": "W",
        "quantity": 2,
        "plate_envelope_mm": [
          160,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": " Reserva de conjunto de tomadas [160, 80]mm (largura tangente à parede × altura); série e medida real por selecionar.",
        "revision": "R38",
        "change_reason": "Acompanha cama/NT03/04deslocados+150Y pelo contratoquartosR38"
      },
      {
        "id": "T-MA-02",
        "space": "Matilde",
        "type": "tomada",
        "centre_CAD_m": [
          16.35,
          8.05,
          0.65
        ],
        "centre_CAD_mm": [
          16350.0,
          8050.0,
          650.0
        ],
        "function": "Mesinha norte",
        "circuit_study": "C-TQ1",
        "support": "W15",
        "face": "W",
        "quantity": 2,
        "plate_envelope_mm": [
          160,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": " Reserva de conjunto de tomadas [160, 80]mm (largura tangente à parede × altura); série e medida real por selecionar.",
        "revision": "R38",
        "change_reason": "Acompanha cama/NT03/04deslocados+150Y pelo contratoquartosR38"
      },
      {
        "id": "T-MA-03",
        "space": "Matilde",
        "type": "tomada",
        "centre_CAD_m": [
          13.35,
          5.85,
          0.3
        ],
        "centre_CAD_mm": [
          13350.0,
          5850.0,
          300.0
        ],
        "function": "Apoio/limpeza; não afirma secretária nova adotada",
        "circuit_study": "C-TQ1",
        "support": "W39",
        "face": "E",
        "quantity": 2,
        "plate_envelope_mm": [
          160,
          80
        ],
        "status": "PROPOSTA_REPOSICAO_R41_NAO_APROVADA_EXECUCAO",
        "note": " Reserva de conjunto de tomadas [160, 80]mm (largura tangente à parede × altura); série e medida real por selecionar.",
        "revision": "R41",
        "change_reason": "Sai da nova envolvente da cómoda1800. Reposição de coordenação a validar por eletricista/obra; série e redes ocultas por confirmar.",
        "execution_released": false,
        "purchase_released": false
      },
      {
        "id": "T-FR-01",
        "space": "Francisco",
        "type": "tomada",
        "centre_CAD_m": [
          16.35,
          0.45,
          0.65
        ],
        "centre_CAD_mm": [
          16350.0,
          450.0,
          650.0
        ],
        "function": "Mesinha sul",
        "circuit_study": "C-TQ2",
        "support": "W15",
        "face": "W",
        "quantity": 2,
        "plate_envelope_mm": [
          160,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": " Reserva de conjunto de tomadas [160, 80]mm (largura tangente à parede × altura); série e medida real por selecionar.",
        "revision": "R38",
        "change_reason": "Acompanha cama/NT05/06deslocados−200Y pelo contratoquartosR38"
      },
      {
        "id": "T-FR-02",
        "space": "Francisco",
        "type": "tomada",
        "centre_CAD_m": [
          16.35,
          2.4499999999999997,
          0.65
        ],
        "centre_CAD_mm": [
          16350.0,
          2450.0,
          650.0
        ],
        "function": "Mesinha norte",
        "circuit_study": "C-TQ2",
        "support": "W15",
        "face": "W",
        "quantity": 2,
        "plate_envelope_mm": [
          160,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": " Reserva de conjunto de tomadas [160, 80]mm (largura tangente à parede × altura); série e medida real por selecionar.",
        "revision": "R38",
        "change_reason": "Acompanha cama/NT05/06deslocados−200Y pelo contratoquartosR38"
      },
      {
        "id": "T-FR-03",
        "space": "Francisco",
        "type": "tomada",
        "centre_CAD_m": [
          13.35,
          2.7,
          0.3
        ],
        "centre_CAD_mm": [
          13350.0,
          2700.0,
          300.0
        ],
        "function": "Apoio/limpeza fora do roupeiro",
        "circuit_study": "C-TQ2",
        "support": "W36",
        "face": "E",
        "quantity": 2,
        "plate_envelope_mm": [
          160,
          80
        ],
        "status": "PROPOSTA_REPOSICAO_R41_NAO_APROVADA_EXECUCAO",
        "note": " Reserva de conjunto de tomadas [160, 80]mm (largura tangente à parede × altura); série e medida real por selecionar.",
        "revision": "R41",
        "execution_released": false,
        "purchase_released": false,
        "change_reason": "Sai da nova envolvente da cómoda1800. Reposição de coordenação a validar por eletricista/obra; série e redes ocultas por confirmar."
      },
      {
        "id": "T-ES-01",
        "space": "Escritório",
        "type": "tomada",
        "centre_CAD_m": [
          13.2,
          0.56,
          0.9
        ],
        "centre_CAD_mm": [
          13200.0,
          560.0,
          900.0
        ],
        "function": "Posto1;3tomadas e2RJ45, sobresecretária",
        "circuit_study": "C-TES",
        "support": "W36",
        "face": "W",
        "quantity": 3,
        "plate_envelope_mm": [
          240,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": " Reserva de conjunto de tomadas [240, 80]mm (largura tangente à parede × altura); série e medida real por selecionar."
      },
      {
        "id": "T-ES-02",
        "space": "Escritório",
        "type": "tomada",
        "centre_CAD_m": [
          13.2,
          1.7,
          0.9
        ],
        "centre_CAD_mm": [
          13200.0,
          1700.0,
          900.0
        ],
        "function": "Posto2;3tomadas e2RJ45, sobresecretária",
        "circuit_study": "C-TES",
        "support": "W36",
        "face": "W",
        "quantity": 3,
        "plate_envelope_mm": [
          240,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": " Reserva de conjunto de tomadas [240, 80]mm (largura tangente à parede × altura); série e medida real por selecionar."
      },
      {
        "id": "T-ES-03",
        "space": "Escritório",
        "type": "tomada",
        "centre_CAD_m": [
          10.4,
          2.8,
          0.3
        ],
        "centre_CAD_mm": [
          10400.0,
          2800.0,
          300.0
        ],
        "function": "Limpeza/impressora, além das prateleiras",
        "circuit_study": "C-TES",
        "support": "W23",
        "face": "E",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": ""
      },
      {
        "id": "T-CO-01",
        "space": "Cozinha",
        "type": "tomada",
        "centre_CAD_m": [
          5.325,
          8.5,
          1.15
        ],
        "centre_CAD_mm": [
          5325.0,
          8500.0,
          1150.0
        ],
        "function": "Bancada ladoWdaVE2;2tomadas emplaca vertical",
        "circuit_study": "C-TCO1",
        "support": "W10",
        "face": "S",
        "quantity": 2,
        "plate_envelope_mm": [
          80,
          160
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": " Reserva de conjunto de tomadas [80, 160]mm (largura tangente à parede × altura); série e medida real por selecionar."
      },
      {
        "id": "T-CO-02",
        "space": "Cozinha",
        "type": "tomada",
        "centre_CAD_m": [
          7.275,
          8.5,
          1.15
        ],
        "centre_CAD_mm": [
          7275.0,
          8500.0,
          1150.0
        ],
        "function": "Bancada ladoEdaVE2;2tomadas emplaca vertical",
        "circuit_study": "C-TCO1",
        "support": "W11",
        "face": "S",
        "quantity": 2,
        "plate_envelope_mm": [
          80,
          160
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": " Reserva de conjunto de tomadas [80, 160]mm (largura tangente à parede × altura); série e medida real por selecionar."
      },
      {
        "id": "T-LA-01",
        "space": "Lavandaria",
        "type": "tomada",
        "centre_CAD_m": [
          -0.05,
          7.9,
          0.85
        ],
        "centre_CAD_mm": [
          -50.0,
          7900.0,
          850.0
        ],
        "function": "Apoio passar/aspirar; sem usar despensa como bancada",
        "circuit_study": "C-LAV",
        "support": "W03",
        "face": "E",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": ""
      },
      {
        "id": "T-EX-01",
        "space": "Pala carros",
        "type": "tomada",
        "centre_CAD_m": [
          -0.3,
          6.55,
          0.6
        ],
        "centre_CAD_mm": [
          -300.0,
          6550.0,
          600.0
        ],
        "function": "Limpeza exterior sob pala; produto/IP por exposição",
        "circuit_study": "C-TEX",
        "support": "W02",
        "face": "W",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": ""
      },
      {
        "id": "T-EX-02",
        "space": "Jardim",
        "type": "tomada",
        "centre_CAD_m": [
          7.4,
          -0.25,
          0.6
        ],
        "centre_CAD_mm": [
          7400.0,
          -250.0,
          600.0
        ],
        "function": "Manutenção jardim; sem comandar ferramenta por HA",
        "circuit_study": "C-TEX",
        "support": "W06",
        "face": "S",
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": ""
      },
      {
        "id": "T-IL-01",
        "space": "Cozinha",
        "type": "tomada",
        "centre_CAD_m": [
          7.55,
          6.4,
          0.65
        ],
        "centre_CAD_mm": [
          7550.0,
          6400.0,
          650.0
        ],
        "function": "Duas tomadas no topo lateral da ilha, fora do lugar das pernas",
        "circuit_study": "C-TCO2",
        "support": "ISLAND-E",
        "face": "E",
        "quantity": 2,
        "plate_envelope_mm": [
          160,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Recorte só após modelo escolhido e mapa de assentos. Não localizar na superfície de trabalho ou junto de água. Reserva de conjunto de tomadas [160, 80]mm (largura tangente à parede × altura); série e medida real por selecionar.",
        "revision": "R38",
        "change_reason": "Nova baía seca100mmilhaladoE,fora debalanço eI03 reduzido616;placadupla160×80horizontal"
      },
      {
        "id": "E-FOR",
        "space": "Cozinha",
        "type": "espera_equipamento",
        "centre_CAD_m": [
          4.95,
          8.5,
          0.18
        ],
        "centre_CAD_mm": [
          4950.0,
          8500.0,
          180.0
        ],
        "function": "Espera forno3,6kW",
        "circuit_study": "C-FOR",
        "support": "K02",
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Posição de espera de coordenação, não tomada liberada: conferir ventilação, calor/água, comprimento do cabo e acesso através de painel amovível. Não furar móvel ou parede por esta marca sem projeto.",
        "final_connector_selected": false
      },
      {
        "id": "E-CM",
        "space": "Cozinha",
        "type": "espera_equipamento",
        "centre_CAD_m": [
          4.95,
          8.5,
          2.15
        ],
        "centre_CAD_mm": [
          4950.0,
          8500.0,
          2150.0
        ],
        "function": "Espera compacto candidato3,6kW;não900W",
        "circuit_study": "C-CM",
        "support": "K02",
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Posição de espera de coordenação, não tomada liberada: conferir ventilação, calor/água, comprimento do cabo e acesso através de painel amovível. Não furar móvel ou parede por esta marca sem projeto.",
        "final_connector_selected": false
      },
      {
        "id": "E-FRI",
        "space": "Cozinha",
        "type": "espera_equipamento",
        "centre_CAD_m": [
          4.35,
          8.5,
          2.15
        ],
        "centre_CAD_mm": [
          4350.0,
          8500.0,
          2150.0
        ],
        "function": "Frigorífico integrado90W; ventilação própria",
        "circuit_study": "C-FRI",
        "support": "K01",
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Posição de espera de coordenação, não tomada liberada: conferir ventilação, calor/água, comprimento do cabo e acesso através de painel amovível. Não furar móvel ou parede por esta marca sem projeto.",
        "final_connector_selected": false
      },
      {
        "id": "E-MLL",
        "space": "Cozinha",
        "type": "espera_equipamento",
        "centre_CAD_m": [
          4.95,
          8.43,
          0.35
        ],
        "centre_CAD_mm": [
          4950.0,
          8430.0,
          350.0
        ],
        "function": "Loiça; ligação adjacente e não atrás do aparelho",
        "circuit_study": "C-MLL",
        "support": "K02-F1",
        "face": "S",
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "INTERFACE_ABERTA_NAO_CORTAR",
        "note": "Espera para compartimento de serviço seco ADJACENTE, ainda por compatibilizar com gavetõesK05 e cabo da MLL. Não é tomada aprovada nem recorte na fichaK05. Resolver painel visitável/acesso e produto antes do fabrico; sem230V na zona húmidaK04.",
        "final_connector_selected": false,
        "revision": "R38",
        "change_reason": "Retira K05 ocupado porresíduos;portaK02-F1 comzona seca independente doforno,cordão175cm porvalidar"
      },
      {
        "id": "E-PL",
        "space": "Cozinha",
        "type": "espera_equipamento",
        "centre_CAD_m": [
          7.8,
          8.5,
          0.18
        ],
        "centre_CAD_mm": [
          7800.0,
          8500.0,
          180.0
        ],
        "function": "Caixa de ligação placa2N~proposta;semfichaSchuko",
        "circuit_study": "C-PL",
        "support": "K06",
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Posição de espera de coordenação, não tomada liberada: conferir ventilação, calor/água, comprimento do cabo e acesso através de painel amovível. Não furar móvel ou parede por esta marca sem projeto.",
        "final_connector_selected": false
      },
      {
        "id": "E-EXA",
        "space": "Cozinha",
        "type": "espera_equipamento",
        "centre_CAD_m": [
          7.8,
          8.5,
          2.25
        ],
        "centre_CAD_mm": [
          7800.0,
          8500.0,
          2250.0
        ],
        "function": "Exaustor115W;conduta/driver acessíveis",
        "circuit_study": "C-TCO1",
        "support": "U02",
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Posição de espera de coordenação, não tomada liberada: conferir ventilação, calor/água, comprimento do cabo e acesso através de painel amovível. Não furar móvel ou parede por esta marca sem projeto.",
        "final_connector_selected": false
      },
      {
        "id": "E-MLR",
        "space": "Lavandaria",
        "type": "espera_equipamento",
        "centre_CAD_m": [
          2.13,
          5.85,
          1.4
        ],
        "centre_CAD_mm": [
          2130.0,
          5850.0,
          1400.0
        ],
        "function": "Espera elétrica da máquina de lavar na faixa livre ACIMA do aparelho",
        "circuit_study": "C-MLR",
        "support": "W22",
        "face": "N",
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Visitável sem moverpia, cabo 1,60 m por trajeto real; semmultiplicadores atrás do aparelho. Posição de espera de coordenação na paredeW22, sem o tampo antigo. Série e acessibilidade a validar.",
        "final_connector_selected": false
      },
      {
        "id": "E-MSR",
        "space": "Lavandaria",
        "type": "espera_equipamento",
        "centre_CAD_m": [
          2.75,
          5.85,
          1.4
        ],
        "centre_CAD_mm": [
          2750.0,
          5850.0,
          1400.0
        ],
        "function": "Espera elétrica da secadora na faixa livre ACIMA do aparelho",
        "circuit_study": "C-MSR",
        "support": "W22",
        "face": "N",
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Cabo 1,45 m por trajeto real, desconexão acessível; eletri­cista defineproteções. Posição de espera de coordenação na paredeW22, sem o tampo antigo. Série e acessibilidade a validar.",
        "final_connector_selected": false
      },
      {
        "id": "E-AQS",
        "space": "Lavandaria",
        "type": "espera_equipamento",
        "centre_CAD_m": [
          0.79,
          5.85,
          1.35
        ],
        "centre_CAD_mm": [
          790.0,
          5850.0,
          1350.0
        ],
        "function": "Espera elétrica da AQS em parede de serviço",
        "circuit_study": "C-AQS",
        "support": "W22",
        "face": "N",
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Posição visitável a coordenar com R290 e águas; não escolher circuito/proteção neste estudo. Posição de espera de coordenação na paredeW22, sem o tampo antigo. Série e acessibilidade a validar.",
        "final_connector_selected": false
      },
      {
        "id": "E-VMC",
        "space": "Lavandaria",
        "type": "espera_equipamento",
        "centre_CAD_m": [
          0.95,
          5.85,
          1.35
        ],
        "centre_CAD_mm": [
          950.0,
          5850.0,
          1350.0
        ],
        "function": "Espera elétrica da VMC em parede de serviço",
        "circuit_study": "C-VMC",
        "support": "W22",
        "face": "N",
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Separar cabos energia e controlo/LAN conforme manual; semobstruir filtros ou condutas. Posição de espera de coordenação na paredeW22, sem o tampo antigo. Série e acessibilidade a validar.",
        "final_connector_selected": false
      },
      {
        "id": "BC-TOWEL-HEAT",
        "space": "Banho comum",
        "type": "toalheiro",
        "centre_CAD_m": [
          11.155000000000001,
          5.9,
          1.659
        ],
        "centre_CAD_mm": [
          11155.0,
          5900.0,
          1659.0
        ],
        "function": "heated_towel_rail",
        "circuit_study": "C-TC",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Contrato dos banhos R37; classificação de volumes/seleção elétrica e acesso são interfaces explícitas.",
        "source_accessory": {
          "id": "BC-TOWEL-HEAT",
          "room": "IS_C",
          "type": "heated_towel_rail",
          "bboxCAD": [
            11.1,
            5.65,
            11.21,
            6.15
          ],
          "bottom_mm": 1018,
          "height_mm": 1282,
          "face": "E",
          "reference": "RocaVictoriaA816641NB0",
          "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
          "note": "Ficha oficial500×1200 no corpo, profundidade90..110 e comando inferior82: envelope conservador1282, fundo1018/top2300. Fundo do comando168mm acima do tampo850 junto ao cantoCOM; afastamentos térmicos/de toalhas e manual de instalação obrigatórios. Produto e integração de comando por escolher; não certificado.",
          "power_W_study": 500,
          "physical_depth_confirmed": true,
          "body_bottom_mm": 1100,
          "body_height_mm": 1200,
          "controller_below_body_reserve_mm": 82,
          "installed_depth_range_mm": [
            90,
            110
          ],
          "finish_note": "NB0 preto mate confirmado em ficha oficial guardada. Disponibilidade e encomenda não confirmadas."
        }
      },
      {
        "id": "BS-TOWEL-HEAT",
        "space": "Banho suíte",
        "type": "toalheiro",
        "centre_CAD_m": [
          1.7850000000000001,
          5.35,
          1.659
        ],
        "centre_CAD_mm": [
          1785.0,
          5350.0,
          1659.0
        ],
        "function": "heated_towel_rail",
        "circuit_study": "C-TS",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Contrato dos banhos R37; classificação de volumes/seleção elétrica e acesso são interfaces explícitas.",
        "source_accessory": {
          "id": "BS-TOWEL-HEAT",
          "room": "IS_S",
          "type": "heated_towel_rail",
          "bboxCAD": [
            1.73,
            5.1,
            1.84,
            5.6
          ],
          "bottom_mm": 1018,
          "height_mm": 1282,
          "face": "W",
          "reference": "RocaVictoriaA816641NB0",
          "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
          "note": "Ficha oficial500×1200 no corpo, profundidade90..110 e comando inferior82: envelope conservador1282, fundo1018/top2300. Fundo do comando168mm acima do tampo850 junto ao cantoCOM; afastamentos térmicos/de toalhas e manual de instalação obrigatórios. Produto e integração de comando por escolher; não certificado.",
          "power_W_study": 500,
          "physical_depth_confirmed": true,
          "body_bottom_mm": 1100,
          "body_height_mm": 1200,
          "controller_below_body_reserve_mm": 82,
          "installed_depth_range_mm": [
            90,
            110
          ],
          "finish_note": "NB0 preto mate confirmado em ficha oficial guardada. Disponibilidade e encomenda não confirmadas."
        }
      },
      {
        "id": "BC-SOCKET",
        "space": "Banho comum",
        "type": "tomada",
        "centre_CAD_m": [
          12.14,
          5.5575,
          1.1
        ],
        "centre_CAD_mm": [
          12140.0,
          5557.5,
          1100.0
        ],
        "function": "socket",
        "circuit_study": "C-BC",
        "support": "W26",
        "face": "N",
        "quantity": 2,
        "plate_envelope_mm": [
          160,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Dupla230Vescovas+barbear,fora volumes0/1/2;produtoIP/volumesprecisamconfirmação. Semtomadasnocorpo húmidodomóvel.",
        "source_accessory": {
          "id": "BC-SOCKET",
          "room": "IS_C",
          "type": "socket",
          "bboxCAD": [
            12.06,
            5.55,
            12.14,
            5.565
          ],
          "bottom_mm": 1060,
          "height_mm": 80,
          "face": "N",
          "reference": null,
          "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
          "note": "Centro1100; placa80×80 é reserva, não produto escolhido.9cm antes do inícioP8,espelho termina12.05 com10mm até placa. Escova/barbear; eletricista valida volume,classe,circuito/proteção e selações."
        },
        "revision": "R38",
        "change_reason": "Dupla160mm em faixa170mm entre espelho12.05eporta12.23:arestas12.06/12.22,10mmnominaisporlado"
      },
      {
        "id": "BS-SOCKET",
        "space": "Banho suíte",
        "type": "tomada",
        "centre_CAD_m": [
          1.55,
          5.672499999999999,
          1.15
        ],
        "centre_CAD_mm": [
          1550.0,
          5672.5,
          1150.0
        ],
        "function": "socket",
        "circuit_study": "C-BS",
        "support": null,
        "face": "S",
        "quantity": 2,
        "plate_envelope_mm": [
          160,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Dupla230Vescovas+barbear,fora volumes0/1/2;produtoIP/volumesprecisamconfirmação. Semtomadasnocorpo húmidodomóvel.",
        "source_accessory": {
          "id": "BS-SOCKET",
          "room": "IS_S",
          "type": "socket",
          "bboxCAD": [
            1.51,
            5.665,
            1.59,
            5.68
          ],
          "bottom_mm": 1110,
          "height_mm": 80,
          "face": "S",
          "reference": null,
          "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
          "note": "Centro1150; reserva80×80,espelho terminaX1.45→60mm até placa. Fora do bolsoP5; produto/proteções por eletricista."
        }
      },
      {
        "id": "BC-EXTRACT",
        "space": "Banho comum",
        "type": "VMC",
        "centre_CAD_m": [
          11.55,
          8.120000000000001,
          2.685
        ],
        "centre_CAD_mm": [
          11550.0,
          8120.0,
          2685.0
        ],
        "function": "extraction",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Contrato dos banhos R37; classificação de volumes/seleção elétrica e acesso são interfaces explícitas.",
        "source_accessory": {
          "id": "BC-EXTRACT",
          "room": "IS_C",
          "type": "extraction",
          "bboxCAD": [
            11.465,
            8.035,
            11.635,
            8.205
          ],
          "bottom_mm": 2670,
          "height_mm": 30,
          "face": "down",
          "reference": "ZehnderComfoValveLunaE125705613128",
          "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
          "note": "Ø170,DN125,total102 oficiais. Boca passiva no teto, ligar à VMC; caudal,retorno/transferência,rede,plenum e acústica porAVAC. Reservar pelo menos102 acima/na montagem, sem fingir vazio de teto existente.",
          "connection_DN_mm": 125,
          "total_product_height_mm": 102
        }
      },
      {
        "id": "BS-EXTRACT",
        "space": "Banho suíte",
        "type": "VMC",
        "centre_CAD_m": [
          0.8500000000000001,
          3.7,
          2.685
        ],
        "centre_CAD_mm": [
          850.0,
          3700.0,
          2685.0
        ],
        "function": "extraction",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Contrato dos banhos R37; classificação de volumes/seleção elétrica e acesso são interfaces explícitas.",
        "source_accessory": {
          "id": "BS-EXTRACT",
          "room": "IS_S",
          "type": "extraction",
          "bboxCAD": [
            0.765,
            3.615,
            0.935,
            3.785
          ],
          "bottom_mm": 2670,
          "height_mm": 30,
          "face": "down",
          "reference": "ZehnderComfoValveLunaE125705613128",
          "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
          "note": "Ø170,DN125,total102; boca passiva no teto do duche. Percurso atéVMC e caudal por calcular.",
          "connection_DN_mm": 125,
          "total_product_height_mm": 102
        }
      },
      {
        "id": "BC-FLOOD-BASIN",
        "space": "Banho comum",
        "type": "inundacao",
        "centre_CAD_m": [
          11.558499999999999,
          5.6985,
          0.2795
        ],
        "centre_CAD_mm": [
          11558.5,
          5698.5,
          279.5
        ],
        "function": "flood_sensor",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Contrato dos banhos R37; classificação de volumes/seleção elétrica e acesso são interfaces explícitas.",
        "source_accessory": {
          "id": "BC-FLOOD-BASIN",
          "room": "IS_C",
          "type": "flood_sensor",
          "bboxCAD": [
            11.52,
            5.66,
            11.597,
            5.737
          ],
          "bottom_mm": 268,
          "height_mm": 23,
          "face": "up",
          "reference": "ShellyFloodSGen4S4SN-0071Z",
          "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
          "note": "Ø77×23,IP67,CR123A eHomeAssistant nas fontes oficiais. BASIN sobre fundo/bandeja interiorZ268 (base250+painel18 de estudo), não no pavimento sob caixa fechada: desenhar percurso de escorrência. WC no pavimento seco, fora do duche. Não deteta automaticamente fugas retidas dentro de parede. Acesso para teste/bateria e cobertura de percursos a afinar."
        }
      },
      {
        "id": "BC-FLOOD-WC",
        "space": "Banho comum",
        "type": "inundacao",
        "centre_CAD_m": [
          13.128499999999999,
          7.1185,
          0.0115
        ],
        "centre_CAD_mm": [
          13128.5,
          7118.5,
          11.5
        ],
        "function": "flood_sensor",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Contrato dos banhos R37; classificação de volumes/seleção elétrica e acesso são interfaces explícitas.",
        "source_accessory": {
          "id": "BC-FLOOD-WC",
          "room": "IS_C",
          "type": "flood_sensor",
          "bboxCAD": [
            13.09,
            7.08,
            13.167,
            7.157
          ],
          "bottom_mm": 0,
          "height_mm": 23,
          "face": "up",
          "reference": "ShellyFloodSGen4S4SN-0071Z",
          "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
          "note": "Ø77×23,IP67,CR123A eHomeAssistant nas fontes oficiais. BASIN sobre fundo/bandeja interiorZ268 (base250+painel18 de estudo), não no pavimento sob caixa fechada: desenhar percurso de escorrência. WC no pavimento seco, fora do duche. Não deteta automaticamente fugas retidas dentro de parede. Acesso para teste/bateria e cobertura de percursos a afinar."
        }
      },
      {
        "id": "BS-FLOOD-BASIN",
        "space": "Banho suíte",
        "type": "inundacao",
        "centre_CAD_m": [
          1.0385,
          5.4885,
          0.2795
        ],
        "centre_CAD_mm": [
          1038.5,
          5488.5,
          279.5
        ],
        "function": "flood_sensor",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Contrato dos banhos R37; classificação de volumes/seleção elétrica e acesso são interfaces explícitas.",
        "source_accessory": {
          "id": "BS-FLOOD-BASIN",
          "room": "IS_S",
          "type": "flood_sensor",
          "bboxCAD": [
            1.0,
            5.45,
            1.077,
            5.527
          ],
          "bottom_mm": 268,
          "height_mm": 23,
          "face": "up",
          "reference": "ShellyFloodSGen4S4SN-0071Z",
          "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
          "note": "Ø77×23,IP67,CR123A eHomeAssistant nas fontes oficiais. BASIN sobre fundo/bandeja interiorZ268 (base250+painel18 de estudo), não no pavimento sob caixa fechada: desenhar percurso de escorrência. WC no pavimento seco, fora do duche. Não deteta automaticamente fugas retidas dentro de parede. Acesso para teste/bateria e cobertura de percursos a afinar."
        }
      },
      {
        "id": "BS-FLOOD-WC",
        "space": "Banho suíte",
        "type": "inundacao",
        "centre_CAD_m": [
          0.1485,
          4.3385,
          0.0115
        ],
        "centre_CAD_mm": [
          148.5,
          4338.5,
          11.5
        ],
        "function": "flood_sensor",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Contrato dos banhos R37; classificação de volumes/seleção elétrica e acesso são interfaces explícitas.",
        "source_accessory": {
          "id": "BS-FLOOD-WC",
          "room": "IS_S",
          "type": "flood_sensor",
          "bboxCAD": [
            0.11,
            4.3,
            0.187,
            4.377
          ],
          "bottom_mm": 0,
          "height_mm": 23,
          "face": "up",
          "reference": "ShellyFloodSGen4S4SN-0071Z",
          "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
          "note": "Ø77×23,IP67,CR123A eHomeAssistant nas fontes oficiais. BASIN sobre fundo/bandeja interiorZ268 (base250+painel18 de estudo), não no pavimento sob caixa fechada: desenhar percurso de escorrência. WC no pavimento seco, fora do duche. Não deteta automaticamente fugas retidas dentro de parede. Acesso para teste/bateria e cobertura de percursos a afinar."
        }
      },
      {
        "id": "BC-VALVES-IND",
        "space": "Banho comum",
        "type": "corte_agua",
        "centre_CAD_m": [
          11.33,
          5.59,
          0.415
        ],
        "centre_CAD_mm": [
          11330.0,
          5590.0,
          415.0
        ],
        "function": "valve_box",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Contrato dos banhos R37; classificação de volumes/seleção elétrica e acesso são interfaces explícitas.",
        "source_accessory": {
          "id": "BC-VALVES-IND",
          "room": "IS_C",
          "type": "valve_box",
          "bboxCAD": [
            11.195,
            5.55,
            11.465,
            5.63
          ],
          "bottom_mm": 320,
          "height_mm": 190,
          "face": "N",
          "reference": "Caleffi359410",
          "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
          "note": "Caixa real270×190×80 de4AF+3AQ; individualizar lavatório/duche/cisterna, cegando sobras junto ao coletor. Dentro do móvel, acessível pela porta; não rasgarW25/cassete. Tampa359801294×214×8 ou359700conforme ficha por validar pelo colega água.",
          "cover_mm": [
            294,
            214,
            8
          ]
        }
      },
      {
        "id": "BC-VALVES-GEN",
        "space": "Banho comum",
        "type": "corte_agua",
        "centre_CAD_m": [
          12.011,
          5.59,
          0.415
        ],
        "centre_CAD_mm": [
          12011.0,
          5590.0,
          415.0
        ],
        "function": "valve_box",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Contrato dos banhos R37; classificação de volumes/seleção elétrica e acesso são interfaces explícitas.",
        "source_accessory": {
          "id": "BC-VALVES-GEN",
          "room": "IS_C",
          "type": "valve_box",
          "bboxCAD": [
            11.916,
            5.55,
            12.106,
            5.63
          ],
          "bottom_mm": 320,
          "height_mm": 190,
          "face": "N",
          "reference": "Caleffi359190",
          "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
          "note": "Caixa190×190×80 para cortes geraisAF/AQ a montante dos individuais. Tampa própria359892/893214×214×8. Não usar tampa359801 nesta caixa.",
          "cover_mm": [
            214,
            214,
            8
          ]
        }
      },
      {
        "id": "BS-VALVES-IND",
        "space": "Banho suíte",
        "type": "corte_agua",
        "centre_CAD_m": [
          0.635,
          5.64,
          0.415
        ],
        "centre_CAD_mm": [
          635.0,
          5640.0,
          415.0
        ],
        "function": "valve_box",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Contrato dos banhos R37; classificação de volumes/seleção elétrica e acesso são interfaces explícitas.",
        "source_accessory": {
          "id": "BS-VALVES-IND",
          "room": "IS_S",
          "type": "valve_box",
          "bboxCAD": [
            0.5,
            5.6,
            0.77,
            5.68
          ],
          "bottom_mm": 320,
          "height_mm": 190,
          "face": "S",
          "reference": "Caleffi359410",
          "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
          "note": "Caixa real270×190×80 de4AF+3AQ; individualizar lavatório/duche/cisterna, cegando sobras junto ao coletor. Dentro do móvel, acessível pela porta; não rasgarW25/cassete. Tampa359801294×214×8 ou359700conforme ficha por validar pelo colega água.",
          "cover_mm": [
            294,
            214,
            8
          ]
        }
      },
      {
        "id": "BS-VALVES-GEN",
        "space": "Banho suíte",
        "type": "corte_agua",
        "centre_CAD_m": [
          1.5110000000000001,
          5.64,
          0.415
        ],
        "centre_CAD_mm": [
          1511.0,
          5640.0,
          415.0
        ],
        "function": "valve_box",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Contrato dos banhos R37; classificação de volumes/seleção elétrica e acesso são interfaces explícitas.",
        "source_accessory": {
          "id": "BS-VALVES-GEN",
          "room": "IS_S",
          "type": "valve_box",
          "bboxCAD": [
            1.416,
            5.6,
            1.606,
            5.68
          ],
          "bottom_mm": 320,
          "height_mm": 190,
          "face": "S",
          "reference": "Caleffi359190",
          "status": "PROPOSTA_R37_NAO_COMPRAR_NAO_FABRICAR",
          "note": "Caixa190×190×80 para cortes geraisAF/AQ a montante dos individuais. Tampa própria359892/893214×214×8. Não usar tampa359801 nesta caixa.",
          "cover_mm": [
            214,
            214,
            8
          ]
        }
      },
      {
        "id": "AF-PIA-R37",
        "space": "Lavandaria",
        "type": "agua_fria",
        "centre_CAD_m": [
          3.7,
          5.85,
          0.55
        ],
        "centre_CAD_mm": [
          3700.0,
          5850.0,
          550.0
        ],
        "function": "Corte visitável no móvel 780; evitar contrapeso/mangueira do duche.",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Ponto do contrato funcional R37. Produto/percurso/ligação e acesso final por especialidades."
      },
      {
        "id": "AQ-PIA-R37",
        "space": "Lavandaria",
        "type": "agua_quente",
        "centre_CAD_m": [
          3.77,
          5.85,
          0.55
        ],
        "centre_CAD_mm": [
          3770.0,
          5850.0,
          550.0
        ],
        "function": "Corte próprio e mistura na torneira. Distância entreválvulas de estudo; ajustar a peça real.",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Ponto do contrato funcional R37. Produto/percurso/ligação e acesso final por especialidades."
      },
      {
        "id": "AF-LAV-R37",
        "space": "Lavandaria",
        "type": "agua_fria",
        "centre_CAD_m": [
          3.16,
          5.85,
          0.7
        ],
        "centre_CAD_mm": [
          3160.0,
          5850.0,
          700.0
        ],
        "function": "Torneira própria visitável sobpia. A lavar não recebe AQ automaticamente. Trajeto mais curto que usar o extremo E.",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Ponto do contrato funcional R37. Produto/percurso/ligação e acesso final por especialidades."
      },
      {
        "id": "ES-PIA-R37",
        "space": "Lavandaria",
        "type": "esgoto",
        "centre_CAD_m": [
          3.48,
          5.85,
          0.5
        ],
        "centre_CAD_mm": [
          3480.0,
          5850.0,
          500.0
        ],
        "function": "Sifão removível; ligação por especialista, sem esconder acesso atrás de máquina.",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Ponto do contrato funcional R37. Produto/percurso/ligação e acesso final por especialidades."
      },
      {
        "id": "ES-LAV-R37",
        "space": "Lavandaria",
        "type": "esgoto",
        "centre_CAD_m": [
          3.15,
          5.9,
          0.6
        ],
        "centre_CAD_mm": [
          3150.0,
          5900.0,
          600.0
        ],
        "function": "Descarga retida em ligação própria; máximo 1000 acima da base de instalação da lavar segundo manual. Verificar sifão e refluxo.",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Ponto do contrato funcional R37. Produto/percurso/ligação e acesso final por especialidades."
      },
      {
        "id": "ES-SEC-R37",
        "space": "Lavandaria",
        "type": "esgoto",
        "centre_CAD_m": [
          3.22,
          5.9,
          0.6
        ],
        "centre_CAD_mm": [
          3220.0,
          5900.0,
          600.0
        ],
        "function": "Ligação comadaptador correto. Guia de mangueira Z 950 apenas hipótese; datum 800–1000 do manual sobrebase 400 ainda por confirmar BSH.",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Ponto do contrato funcional R37. Produto/percurso/ligação e acesso final por especialidades."
      },
      {
        "id": "AF-AQS-R37",
        "space": "Lavandaria",
        "type": "agua_fria",
        "centre_CAD_m": [
          0.82,
          5.9,
          0.55
        ],
        "centre_CAD_mm": [
          820.0,
          5900.0,
          550.0
        ],
        "function": "No intervalo 350 direito, visitável; grupo segurança e descarga por projeto.",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Ponto do contrato funcional R37. Produto/percurso/ligação e acesso final por especialidades."
      },
      {
        "id": "AQ-AQS-R37",
        "space": "Lavandaria",
        "type": "agua_quente",
        "centre_CAD_m": [
          0.95,
          5.9,
          1.1
        ],
        "centre_CAD_mm": [
          950.0,
          5900.0,
          1100.0
        ],
        "function": "Posição de estudo, não cota de bocal de fábrica.",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Ponto do contrato funcional R37. Produto/percurso/ligação e acesso final por especialidades."
      },
      {
        "id": "CD-AQS-R37",
        "space": "Lavandaria",
        "type": "condensados",
        "centre_CAD_m": [
          0.82,
          5.98,
          0.1
        ],
        "centre_CAD_mm": [
          820.0,
          5980.0,
          100.0
        ],
        "function": "Descarga independente, com segurança/visibilidade e sifão conforme produto final.",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Ponto do contrato funcional R37. Produto/percurso/ligação e acesso final por especialidades."
      },
      {
        "id": "CD-VMC-R37",
        "space": "Lavandaria",
        "type": "condensados",
        "centre_CAD_m": [
          0.95,
          6.15,
          0.05
        ],
        "centre_CAD_mm": [
          950.0,
          6150.0,
          50.0
        ],
        "function": "Sifão seco original/resistente≥500 Pa, sem ligação estanque direta ao esgoto conforme edição FR consultada.",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Ponto do contrato funcional R37. Produto/percurso/ligação e acesso final por especialidades."
      },
      {
        "id": "FL-LAV-R37",
        "space": "Lavandaria",
        "type": "inundacao",
        "centre_CAD_m": [
          3.14,
          6.1,
          0.02
        ],
        "centre_CAD_mm": [
          3140.0,
          6100.0,
          20.0
        ],
        "function": "Obrigação do dono; sensor ao nívelpiso sobpia junto às ligações, não escondido atrás de gaveta.",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Ponto do contrato funcional R37. Produto/percurso/ligação e acesso final por especialidades."
      },
      {
        "id": "FL-TEC-R37",
        "space": "Lavandaria",
        "type": "inundacao",
        "centre_CAD_m": [
          0.86,
          6.25,
          0.02
        ],
        "centre_CAD_mm": [
          860.0,
          6250.0,
          20.0
        ],
        "function": "Obrigação do dono; sensoresextras para AQS/VMC se necessário. Acesso/ensaio e atuação a definir no sistema.",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Ponto do contrato funcional R37. Produto/percurso/ligação e acesso final por especialidades."
      },
      {
        "id": "CO-VALV-01",
        "space": "Cozinha",
        "type": "corte_agua",
        "centre_CAD_m": [
          6.12,
          8.5,
          0.45
        ],
        "centre_CAD_mm": [
          6120.0,
          8500.0,
          450.0
        ],
        "function": "Cortes gerais da cozinha AF/AQ e ramal individual loiça, visitáveis pelas portasK04",
        "circuit_study": null,
        "support": "K04",
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Reserva de serviço, separada da tomada; caixas e tubo por projeto. Não fixar prateleira a atravessar sifão/valvulas."
      },
      {
        "id": "CO-FLOOD-01",
        "space": "Cozinha",
        "type": "inundacao",
        "centre_CAD_m": [
          6.3,
          8.18,
          0.02
        ],
        "centre_CAD_mm": [
          6300.0,
          8180.0,
          20.0
        ],
        "function": "Sensor sob lava-loiça; acesso por rodapé amovível",
        "circuit_study": null,
        "support": "K04",
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Exigência do proprietário; acesso para ensaio e bateria. Não é obrigação legal genérica afirmada neste dossier."
      },
      {
        "id": "CO-FLOOD-02",
        "space": "Cozinha",
        "type": "inundacao",
        "centre_CAD_m": [
          6.3,
          8.18,
          0.168
        ],
        "centre_CAD_mm": [
          6300.0,
          8180.0,
          168.0
        ],
        "function": "Sonda no fundo INTERIOR do K04, para água retida antes de chegar ao chão",
        "circuit_study": null,
        "support": "K04",
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Z168 refere o contacto no painel-base, não o centro do aparelho. Se for escolhido tabuleiro de proteção20mm, contacto acompanha a faceZ188. Sensor/sonda de baixa tensão ou bateria; sem230V no compartimento húmido."
      },
      {
        "id": "LA-FLOOD-INT",
        "space": "Lavandaria",
        "type": "inundacao",
        "centre_CAD_m": [
          3.72,
          6.12,
          0.118
        ],
        "centre_CAD_mm": [
          3720.0,
          6120.0,
          118.0
        ],
        "function": "Contacto no fundo INTERIOR do móvel da pia",
        "circuit_study": null,
        "support": "L-PIA-R37",
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Z118=base100+painel18. Conservar FL-LAV-R37 no chão; ajustar contacto se existir tabuleiro. Acesso sem prender a mangueira extraível."
      },
      {
        "id": "VMC-SU",
        "space": "Suíte",
        "type": "VMC_insuflacao",
        "centre_CAD_m": [
          1.8,
          0.7,
          2.7
        ],
        "centre_CAD_mm": [
          1800.0,
          700.0,
          2700.0
        ],
        "function": "Terminal no teto em estudo; caudal/diâmetro/alcance/ruído por dimensionar",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Insuflação em espaços secos; extração em zonas húmidas. Validar transferência com portas fechadas e equilíbrio total. Exaustor da placa é independente daVMC; não ligar gordura à rede de duplo fluxo."
      },
      {
        "id": "VMC-MA",
        "space": "Matilde",
        "type": "VMC_insuflacao",
        "centre_CAD_m": [
          14.3,
          7.65,
          2.7
        ],
        "centre_CAD_mm": [
          14300.0,
          7650.0,
          2700.0
        ],
        "function": "Terminal no teto em estudo; caudal/diâmetro/alcance/ruído por dimensionar",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Insuflação em espaços secos; extração em zonas húmidas. Validar transferência com portas fechadas e equilíbrio total. Exaustor da placa é independente daVMC; não ligar gordura à rede de duplo fluxo."
      },
      {
        "id": "VMC-FR",
        "space": "Francisco",
        "type": "VMC_insuflacao",
        "centre_CAD_m": [
          14.3,
          0.85,
          2.7
        ],
        "centre_CAD_mm": [
          14300.0,
          850.0,
          2700.0
        ],
        "function": "Terminal no teto em estudo; caudal/diâmetro/alcance/ruído por dimensionar",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Insuflação em espaços secos; extração em zonas húmidas. Validar transferência com portas fechadas e equilíbrio total. Exaustor da placa é independente daVMC; não ligar gordura à rede de duplo fluxo."
      },
      {
        "id": "VMC-ES",
        "space": "Escritório",
        "type": "VMC_insuflacao",
        "centre_CAD_m": [
          11.5,
          0.65,
          2.7
        ],
        "centre_CAD_mm": [
          11500.0,
          650.0,
          2700.0
        ],
        "function": "Terminal no teto em estudo; caudal/diâmetro/alcance/ruído por dimensionar",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Insuflação em espaços secos; extração em zonas húmidas. Validar transferência com portas fechadas e equilíbrio total. Exaustor da placa é independente daVMC; não ligar gordura à rede de duplo fluxo."
      },
      {
        "id": "VMC-SA",
        "space": "Sala",
        "type": "VMC_insuflacao",
        "centre_CAD_m": [
          8.6,
          1.1,
          2.7
        ],
        "centre_CAD_mm": [
          8600.0,
          1100.0,
          2700.0
        ],
        "function": "Terminal no teto em estudo; caudal/diâmetro/alcance/ruído por dimensionar",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Insuflação em espaços secos; extração em zonas húmidas. Validar transferência com portas fechadas e equilíbrio total. Exaustor da placa é independente daVMC; não ligar gordura à rede de duplo fluxo."
      },
      {
        "id": "VMC-LA",
        "space": "Lavandaria",
        "type": "VMC_extracao",
        "centre_CAD_m": [
          2.25,
          7.2,
          2.7
        ],
        "centre_CAD_mm": [
          2250.0,
          7200.0,
          2700.0
        ],
        "function": "Terminal no teto em estudo; caudal/diâmetro/alcance/ruído por dimensionar",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Insuflação em espaços secos; extração em zonas húmidas. Validar transferência com portas fechadas e equilíbrio total. Exaustor da placa é independente daVMC; não ligar gordura à rede de duplo fluxo."
      },
      {
        "id": "VMC-CO",
        "space": "Cozinha",
        "type": "VMC_extracao",
        "centre_CAD_m": [
          5.4,
          6.8,
          2.7
        ],
        "centre_CAD_mm": [
          5400.0,
          6800.0,
          2700.0
        ],
        "function": "Terminal no teto em estudo; caudal/diâmetro/alcance/ruído por dimensionar",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Insuflação em espaços secos; extração em zonas húmidas. Validar transferência com portas fechadas e equilíbrio total. Exaustor da placa é independente daVMC; não ligar gordura à rede de duplo fluxo."
      },
      {
        "id": "LED-MIR-IS_C",
        "space": "Banho comum",
        "type": "LED",
        "centre_CAD_m": [
          11.65,
          5.55,
          1.55
        ],
        "centre_CAD_mm": [
          11650.0,
          5550.0,
          1550.0
        ],
        "function": "Espelho LED3000K independente, acesso ao driver pela peça amovível",
        "circuit_study": "C-L3",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Ponto do centro do espelho, não ponto de ligação230V. Produto/driver/IP e posição de espera por especialidade.",
        "functional_group_R38": "G-BC-02"
      },
      {
        "id": "LED-MIR-IS_S",
        "space": "Banho suíte",
        "type": "LED",
        "centre_CAD_m": [
          1.05,
          5.68,
          1.55
        ],
        "centre_CAD_mm": [
          1050.0,
          5680.0,
          1550.0
        ],
        "function": "Espelho LED3000K independente, acesso ao driver pela peça amovível",
        "circuit_study": "C-L3",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Ponto do centro do espelho, não ponto de ligação230V. Produto/driver/IP e posição de espera por especialidade.",
        "functional_group_R38": "G-BS-02"
      },
      {
        "id": "N-SA-01",
        "space": "Sala",
        "type": "rede",
        "centre_CAD_m": [
          10.25,
          0.65,
          0.45
        ],
        "centre_CAD_mm": [
          10250.0,
          650.0,
          450.0
        ],
        "function": "RJ45/PoE: cablagem radial ao ATI/rack; categoria e ensaio por especialidade",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 2,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Não confundir canalização de rede com230V; caminhos separados e acessíveis."
      },
      {
        "id": "N-ES-01",
        "space": "Escritório",
        "type": "rede",
        "centre_CAD_m": [
          13.2,
          0.56,
          1.03
        ],
        "centre_CAD_mm": [
          13200.0,
          560.0,
          1030.0
        ],
        "function": "RJ45/PoE: cablagem radial ao ATI/rack; categoria e ensaio por especialidade",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 2,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Não confundir canalização de rede com230V; caminhos separados e acessíveis."
      },
      {
        "id": "N-ES-02",
        "space": "Escritório",
        "type": "rede",
        "centre_CAD_m": [
          13.2,
          1.7,
          1.03
        ],
        "centre_CAD_mm": [
          13200.0,
          1700.0,
          1030.0
        ],
        "function": "RJ45/PoE: cablagem radial ao ATI/rack; categoria e ensaio por especialidade",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 2,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Não confundir canalização de rede com230V; caminhos separados e acessíveis."
      },
      {
        "id": "AP-01",
        "space": "Sala",
        "type": "rede",
        "centre_CAD_m": [
          8.5,
          4.5,
          2.7
        ],
        "centre_CAD_mm": [
          8500.0,
          4500.0,
          2700.0
        ],
        "function": "RJ45/PoE: cablagem radial ao ATI/rack; categoria e ensaio por especialidade",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Não confundir canalização de rede com230V; caminhos separados e acessíveis."
      },
      {
        "id": "AP-02",
        "space": "Distribuição",
        "type": "rede",
        "centre_CAD_m": [
          12.15,
          4.25,
          2.7
        ],
        "centre_CAD_mm": [
          12150.0,
          4250.0,
          2700.0
        ],
        "function": "RJ45/PoE: cablagem radial ao ATI/rack; categoria e ensaio por especialidade",
        "circuit_study": null,
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Não confundir canalização de rede com230V; caminhos separados e acessíveis."
      },
      {
        "id": "QE-01",
        "space": "Hall",
        "type": "quadro",
        "centre_CAD_m": [
          10.6,
          8.2,
          1.55
        ],
        "centre_CAD_mm": [
          10600.0,
          8200.0,
          1550.0
        ],
        "function": "Quadro trifásico em R05, zona técnica potência separada",
        "circuit_study": "ALIM-QE",
        "support": "R05",
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "R05do hallpreservado;painelpotênciaeATI separados;QE não é alimentadopeloC-NET"
      },
      {
        "id": "ATI-01",
        "space": "Hall",
        "type": "rede",
        "centre_CAD_m": [
          10.6,
          7.6,
          1.55
        ],
        "centre_CAD_mm": [
          10600.0,
          7600.0,
          1550.0
        ],
        "function": "ATI/rack,patch,router,UPS e automação, compartimento separado",
        "circuit_study": "C-NET",
        "support": "R05",
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": [
          80,
          80
        ],
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "R05do hallpreservado;painelpotênciaeATI separados;QE não é alimentadopeloC-NET"
      },
      {
        "id": "VE-CARGA-01",
        "space": "Pala carros",
        "type": "VE_reserva",
        "centre_CAD_m": [
          -4.525,
          2.2,
          1.2
        ],
        "centre_CAD_mm": [
          -4525.0,
          2200.0,
          1200.0
        ],
        "function": "Local a confrontar com portas e bocal real Tesla/MGS5; reserva de percurso, carregador não escolhido",
        "circuit_study": "C-VE1",
        "support": "Pedestal metálico independente de solo,discreto,na faixa pavimentada atrás da viatura;paredeW/ripado mantidos",
        "face": "N",
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "11kWtrifásicos é cenário, não compra. Partilha dinâmica entre2carros e limite agregado porfase; reservaRCD/DC por produto eRTIEBT722.",
        "revision": "R38",
        "change_reason": "EV-R38-B:pedestal na faixa pavimentada atrás da própria viatura,circuito individual",
        "bbox_CAD_m": [
          -4.6450000000000005,
          2.2,
          1.033,
          -4.405,
          2.353,
          1.367
        ]
      },
      {
        "id": "VE-CARGA-02",
        "space": "Pala carros",
        "type": "VE_reserva",
        "centre_CAD_m": [
          -2.075,
          2.2,
          1.2
        ],
        "centre_CAD_mm": [
          -2075.0,
          2200.0,
          1200.0
        ],
        "function": "Local a confrontar com portas e bocal real Tesla/MGS5; reserva de percurso, carregador não escolhido",
        "circuit_study": "C-VE2",
        "support": "Pedestal metálico independente de solo,discreto,na faixa pavimentada atrás da viatura;paredeW/ripado mantidos",
        "face": "N",
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "11kWtrifásicos é cenário, não compra. Partilha dinâmica entre2carros e limite agregado porfase; reservaRCD/DC por produto eRTIEBT722.",
        "revision": "R38",
        "change_reason": "EV-R38-B:pedestal na faixa pavimentada atrás da própria viatura,circuito individual",
        "bbox_CAD_m": [
          -2.1950000000000003,
          2.2,
          1.033,
          -1.955,
          2.353,
          1.367
        ]
      },
      {
        "id": "AC-SAL-01",
        "space": "Sala/cozinha",
        "type": "AC",
        "centre_CAD_m": [
          10.25,
          2.45,
          2.4
        ],
        "centre_CAD_mm": [
          10250.0,
          2450.0,
          2400.0
        ],
        "function": "Reserva unidade mural, sem potência térmica escolhida",
        "circuit_study": "C-AC",
        "support": "W23",
        "face": "W",
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Preserva estudoR35: suporte, condensados, distância ao teto/cortina e carga por calcular; não é equipamento aprovado.",
        "revision": "R38",
        "change_reason": "Acerta fixação naface real damamparede;suíteR37aparecia no acesso aberto docloset",
        "bbox_CAD_m": [
          10.005,
          2.051,
          2.2505,
          10.25,
          2.849,
          2.5495
        ],
        "candidate": "Mitsubishi Electric MSZ-AY50VGK"
      },
      {
        "id": "AC-SU-01",
        "space": "Suíte do casal",
        "type": "AC",
        "centre_CAD_m": [
          2.45,
          3.1,
          2.4
        ],
        "centre_CAD_mm": [
          2450.0,
          3100.0,
          2400.0
        ],
        "function": "Reserva unidade mural, sem potência térmica escolhida",
        "circuit_study": "C-AC",
        "support": "W_SU_N",
        "face": "S",
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Preserva estudoR35: suporte, condensados, distância ao teto/cortina e carga por calcular; não é equipamento aprovado.",
        "revision": "R38",
        "change_reason": "Acerta fixação naface real damamparede;suíteR37aparecia no acesso aberto docloset",
        "bbox_CAD_m": [
          2.051,
          2.855,
          2.2505,
          2.849,
          3.1,
          2.5495
        ],
        "candidate": "Mitsubishi Electric MSZ-AY25VGK"
      },
      {
        "id": "AC-MA-01",
        "space": "Quarto da Matilde",
        "type": "AC",
        "centre_CAD_m": [
          13.35,
          6.5,
          2.4
        ],
        "centre_CAD_mm": [
          13350.0,
          6500.0,
          2400.0
        ],
        "function": "Reserva unidade mural, sem potência térmica escolhida",
        "circuit_study": "C-AC",
        "support": "W39",
        "face": "E",
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Preserva estudoR35: suporte, condensados, distância ao teto/cortina e carga por calcular; não é equipamento aprovado.",
        "revision": "R38",
        "change_reason": "Acerta fixação naface real damamparede;suíteR37aparecia no acesso aberto docloset",
        "bbox_CAD_m": [
          13.35,
          6.101,
          2.2505,
          13.595,
          6.899,
          2.5495
        ],
        "candidate": "Mitsubishi Electric MSZ-AY25VGK"
      },
      {
        "id": "AC-FR-01",
        "space": "Quarto do Francisco",
        "type": "AC",
        "centre_CAD_m": [
          13.35,
          2.65,
          2.4
        ],
        "centre_CAD_mm": [
          13350.0,
          2650.0,
          2400.0
        ],
        "function": "Reserva unidade mural, sem potência térmica escolhida",
        "circuit_study": "C-AC",
        "support": "W36",
        "face": "E",
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Preserva estudoR35: suporte, condensados, distância ao teto/cortina e carga por calcular; não é equipamento aprovado.",
        "revision": "R38",
        "change_reason": "Acerta fixação naface real damamparede;suíteR37aparecia no acesso aberto docloset",
        "bbox_CAD_m": [
          13.35,
          2.251,
          2.2505,
          13.595,
          3.049,
          2.5495
        ],
        "candidate": "Mitsubishi Electric MSZ-AY25VGK"
      },
      {
        "id": "LU-HA-01",
        "space": "Hall",
        "type": "luminaria",
        "centre_CAD_m": [
          9.45,
          7.65,
          2.7
        ],
        "centre_CAD_mm": [
          9450.0,
          7650.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L1",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-HA-01",
        "lumens": null,
        "functional_group_R38": "G-HA-01"
      },
      {
        "id": "LU-SA-01",
        "space": "Sala",
        "type": "luminaria",
        "centre_CAD_m": [
          6.0,
          1.65,
          2.7
        ],
        "centre_CAD_mm": [
          6000.0,
          1650.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L1",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-SA-01",
        "lumens": null,
        "functional_group_R38": "G-SA-01"
      },
      {
        "id": "LU-SA-02",
        "space": "Sala",
        "type": "luminaria",
        "centre_CAD_m": [
          8.45,
          1.65,
          2.7
        ],
        "centre_CAD_mm": [
          8450.0,
          1650.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L1",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-SA-01",
        "lumens": null,
        "functional_group_R38": "G-SA-01"
      },
      {
        "id": "LU-CO-01",
        "space": "Cozinha",
        "type": "luminaria",
        "centre_CAD_m": [
          5.65,
          7.15,
          2.7
        ],
        "centre_CAD_mm": [
          5650.0,
          7150.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L1",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-CO-01",
        "lumens": null,
        "functional_group_R38": "G-CO-01"
      },
      {
        "id": "LU-CO-02",
        "space": "Cozinha",
        "type": "luminaria",
        "centre_CAD_m": [
          7.6,
          7.15,
          2.7
        ],
        "centre_CAD_mm": [
          7600.0,
          7150.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L1",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-CO-01",
        "lumens": null,
        "functional_group_R38": "G-CO-01"
      },
      {
        "id": "LU-LA-01",
        "space": "Lavandaria",
        "type": "luminaria",
        "centre_CAD_m": [
          1.15,
          7.3,
          2.7
        ],
        "centre_CAD_mm": [
          1150.0,
          7300.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L3",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-LA-01",
        "lumens": null,
        "functional_group_R38": "G-LA-01"
      },
      {
        "id": "LU-LA-02",
        "space": "Lavandaria",
        "type": "luminaria",
        "centre_CAD_m": [
          2.85,
          7.3,
          2.7
        ],
        "centre_CAD_mm": [
          2850.0,
          7300.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L3",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-LA-01",
        "lumens": null,
        "functional_group_R38": "G-LA-01"
      },
      {
        "id": "LU-DI-01",
        "space": "Distribuição",
        "type": "luminaria",
        "centre_CAD_m": [
          11.65,
          4.22,
          2.7
        ],
        "centre_CAD_mm": [
          11650.0,
          4220.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-DI-01",
        "lumens": null,
        "functional_group_R38": "G-DI-01"
      },
      {
        "id": "LU-DI-02",
        "space": "Distribuição",
        "type": "luminaria",
        "centre_CAD_m": [
          12.7,
          4.22,
          2.7
        ],
        "centre_CAD_mm": [
          12700.0,
          4220.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-DI-01",
        "lumens": null,
        "functional_group_R38": "G-DI-01"
      },
      {
        "id": "LU-ES-01",
        "space": "Escritório",
        "type": "luminaria",
        "centre_CAD_m": [
          11.45,
          0.85,
          2.7
        ],
        "centre_CAD_mm": [
          11450.0,
          850.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-ES-01",
        "lumens": null,
        "functional_group_R38": "G-ES-01"
      },
      {
        "id": "LU-ES-02",
        "space": "Escritório",
        "type": "luminaria",
        "centre_CAD_m": [
          11.45,
          2.1,
          2.7
        ],
        "centre_CAD_mm": [
          11450.0,
          2100.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-ES-01",
        "lumens": null,
        "functional_group_R38": "G-ES-01"
      },
      {
        "id": "LU-SU-01",
        "space": "Suíte",
        "type": "luminaria",
        "centre_CAD_m": [
          2.6,
          0.8,
          2.7
        ],
        "centre_CAD_mm": [
          2600.0,
          800.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-SU-01",
        "lumens": null,
        "functional_group_R38": "G-SU-01"
      },
      {
        "id": "LU-SU-02",
        "space": "Suíte",
        "type": "luminaria",
        "centre_CAD_m": [
          2.6,
          2.35,
          2.7
        ],
        "centre_CAD_mm": [
          2600.0,
          2350.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-SU-01",
        "lumens": null,
        "functional_group_R38": "G-SU-01"
      },
      {
        "id": "LU-CL-01",
        "space": "Closet",
        "type": "luminaria",
        "centre_CAD_m": [
          3.37,
          4.475,
          2.7
        ],
        "centre_CAD_mm": [
          3370.0,
          4475.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-CL-01",
        "lumens": null,
        "functional_group_R38": "G-CL-01"
      },
      {
        "id": "LU-BC-01",
        "space": "Banho comum",
        "type": "luminaria",
        "centre_CAD_m": [
          12.1,
          6.6,
          2.7
        ],
        "centre_CAD_mm": [
          12100.0,
          6600.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L3",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-BC-01",
        "lumens": null,
        "functional_group_R38": "G-BC-01"
      },
      {
        "id": "LU-BC-02",
        "space": "Banho comum",
        "type": "luminaria",
        "centre_CAD_m": [
          12.1,
          8.1,
          2.7
        ],
        "centre_CAD_mm": [
          12100.0,
          8100.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L3",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-BC-01",
        "lumens": null,
        "functional_group_R38": "G-BC-01"
      },
      {
        "id": "LU-BS-01",
        "space": "Banho suíte",
        "type": "luminaria",
        "centre_CAD_m": [
          0.95,
          5.0,
          2.7
        ],
        "centre_CAD_mm": [
          950.0,
          5000.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L3",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-BS-01",
        "lumens": null,
        "functional_group_R38": "G-BS-01"
      },
      {
        "id": "LU-BS-02",
        "space": "Banho suíte",
        "type": "luminaria",
        "centre_CAD_m": [
          0.95,
          3.75,
          2.7
        ],
        "centre_CAD_mm": [
          950.0,
          3750.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L3",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-BS-01",
        "lumens": null,
        "functional_group_R38": "G-BS-01"
      },
      {
        "id": "LU-MA-01",
        "space": "Matilde",
        "type": "luminaria",
        "centre_CAD_m": [
          14.6,
          6.8,
          2.7
        ],
        "centre_CAD_mm": [
          14600.0,
          6800.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-MA-01",
        "lumens": null,
        "functional_group_R38": "G-MA-01"
      },
      {
        "id": "LU-FR-01",
        "space": "Francisco",
        "type": "luminaria",
        "centre_CAD_m": [
          14.6,
          1.6,
          2.7
        ],
        "centre_CAD_mm": [
          14600.0,
          1600.0,
          2700.0
        ],
        "function": "Ponto luminoso em estudo; ótica/fluxo/UGR/IP a calcular",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "",
        "functional_group": "G-FR-01",
        "lumens": null,
        "functional_group_R38": "G-FR-01"
      },
      {
        "id": "LU-JA-01",
        "space": "Jantar",
        "type": "pendente",
        "centre_CAD_m": [
          7.1850000000000005,
          3.9299999999999997,
          1.55
        ],
        "centre_CAD_mm": [
          7185.0,
          3930.0,
          1550.0
        ],
        "function": "Suspensão centrada na mesa, base800mm acima do tampo750",
        "circuit_study": "C-L1",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Altura da base1550 é proposta; verificar produto real e ausência de encandeamento. Fluxo e ótica não escolhidos.",
        "functional_group": "G-SA-02",
        "functional_group_R38": "G-SA-02"
      },
      {
        "id": "LED-U03-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          8.35,
          8.325,
          2.7
        ],
        "centre_CAD_mm": [
          8350.0,
          8325.0,
          2700.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L1",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "U03",
        "detail": {
          "id": "LC2-1",
          "module_id": "U03",
          "description": "LED em nicho estreito",
          "bbox_m": [
            8.285,
            8.195,
            8.415,
            8.205
          ],
          "bottom_mm": 1852,
          "height_mm": 5,
          "length_mm": 130,
          "voltage_V_design": 24,
          "kelvin": 3000,
          "power_W_per_m_design": 9.6,
          "power_W_design": 1.248,
          "status": "POSIÇÃO_REVISTA_R25"
        },
        "functional_group_R38": "G-CO-04"
      },
      {
        "id": "LED-U03-2",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          8.35,
          8.325,
          2.7
        ],
        "centre_CAD_mm": [
          8350.0,
          8325.0,
          2700.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L1",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "U03",
        "detail": {
          "id": "LC2-2",
          "module_id": "U03",
          "description": "LED em nicho estreito",
          "bbox_m": [
            8.285,
            8.195,
            8.415,
            8.205
          ],
          "bottom_mm": 2132,
          "height_mm": 5,
          "length_mm": 130,
          "voltage_V_design": 24,
          "kelvin": 3000,
          "power_W_per_m_design": 9.6,
          "power_W_design": 1.248,
          "status": "POSIÇÃO_REVISTA_R25"
        },
        "functional_group_R38": "G-CO-04"
      },
      {
        "id": "LED-U03-3",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          8.35,
          8.325,
          2.7
        ],
        "centre_CAD_mm": [
          8350.0,
          8325.0,
          2700.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L1",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "U03",
        "detail": {
          "id": "LC2-3",
          "module_id": "U03",
          "description": "LED em nicho estreito",
          "bbox_m": [
            8.285,
            8.195,
            8.415,
            8.205
          ],
          "bottom_mm": 2654,
          "height_mm": 5,
          "length_mm": 130,
          "voltage_V_design": 24,
          "kelvin": 3000,
          "power_W_per_m_design": 9.6,
          "power_W_design": 1.248,
          "status": "POSIÇÃO_REVISTA_R25"
        },
        "functional_group_R38": "G-CO-04"
      },
      {
        "id": "LED-U_BRIDGE-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          6.3,
          8.325,
          2.7
        ],
        "centre_CAD_mm": [
          6300.0,
          8325.0,
          2700.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L1",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "U_BRIDGE",
        "detail": {
          "id": "LC1",
          "module_id": "U_BRIDGE",
          "description": "LED sob ponte, acima da janela",
          "bbox_m": [
            5.29,
            8.162,
            7.31,
            8.175
          ],
          "bottom_mm": 2092,
          "height_mm": 9,
          "length_mm": 2020,
          "voltage_V_design": 24,
          "kelvin": 3000,
          "power_W_per_m_design": 9.6,
          "power_W_design": 19.392,
          "status": "EXISTE_MODELO; PERFIL/FITA_A_SELECIONAR"
        },
        "functional_group_R38": "G-CO-02"
      },
      {
        "id": "LED-ISLAND-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          6.35,
          6.25,
          0.9
        ],
        "centre_CAD_mm": [
          6350.0,
          6250.0,
          900.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L1",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "ISLAND",
        "detail": {
          "id": "LC3",
          "module_id": "ISLAND",
          "description": "LED sob bordo do balanço sul",
          "bbox_m": [
            5.205,
            5.825,
            7.495,
            5.84
          ],
          "bottom_mm": 859,
          "height_mm": 8,
          "length_mm": 2290,
          "voltage_V_design": 24,
          "kelvin": 3000,
          "power_W_per_m_design": 9.6,
          "power_W_design": 21.984,
          "status": "EXISTE_MODELO; PERFIL/FITA_A_SELECIONAR"
        },
        "functional_group_R38": "G-CO-04"
      },
      {
        "id": "LED-PANTRY-1",
        "space": "Hall / casacos e mochilas",
        "type": "LED",
        "centre_CAD_m": [
          10.355,
          5.992,
          1.932
        ],
        "centre_CAD_mm": [
          10355.0,
          5992.0,
          1932.0
        ],
        "function": "LED interior dos casacos e mochilas, por contacto local de porta; não iluminação da cozinha nem despensa alimentar",
        "circuit_study": "C-L1",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "NomeLED-PANTRY é legado. Este módulo foi convertido para casacos e mochilas; fonte/contactos de porta por ferragens.",
        "module_id": "PANTRY",
        "detail": {
          "id": "PANTRY-LED-1",
          "length_mm": 808,
          "startCAD_m": [
            10.355,
            5.588
          ],
          "endCAD_m": [
            10.355,
            6.396
          ],
          "bottom_or_emission_z_mm": 1932,
          "groove_mm": [
            12,
            8
          ],
          "circuit": "CH01",
          "description": "Opcional; perfil final e carga térmica por confirmar"
        },
        "functional_group_R38": "G-HA-03"
      },
      {
        "id": "LED-PANTRY-2",
        "space": "Hall / casacos e mochilas",
        "type": "LED",
        "centre_CAD_m": [
          10.355,
          6.858,
          1.932
        ],
        "centre_CAD_mm": [
          10355.0,
          6858.0,
          1932.0
        ],
        "function": "LED interior dos casacos e mochilas, por contacto local de porta; não iluminação da cozinha nem despensa alimentar",
        "circuit_study": "C-L1",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "NomeLED-PANTRY é legado. Este módulo foi convertido para casacos e mochilas; fonte/contactos de porta por ferragens.",
        "module_id": "PANTRY",
        "detail": {
          "id": "PANTRY-LED-2",
          "length_mm": 808,
          "startCAD_m": [
            10.355,
            6.454
          ],
          "endCAD_m": [
            10.355,
            7.262
          ],
          "bottom_or_emission_z_mm": 1932,
          "groove_mm": [
            12,
            8
          ],
          "circuit": "CH01",
          "description": "Opcional; perfil final e carga térmica por confirmar"
        },
        "functional_group_R38": "G-HA-03"
      },
      {
        "id": "LED-DP02-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          2.5,
          8.105,
          2.2
        ],
        "centre_CAD_mm": [
          2500.0,
          8105.0,
          2200.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L1",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "DP02",
        "detail": {
          "id": "LED-DP",
          "owner": "DP02",
          "startCAD_m": [
            1.97,
            8.105
          ],
          "endCAD_m": [
            3.03,
            8.105
          ],
          "bottom_or_emission_z_mm": 2200,
          "length_mm": 1060,
          "temperature_K": 3000,
          "voltage_V_nominal": 24,
          "design_W_per_m_assumption": 6,
          "design_power_W": 6.36,
          "circuit": "CL01",
          "profile_groove_proposed_mm": [
            12,
            6
          ],
          "profile_status": "RESERVA; selecionar perfil/fita e conferir espessura restante antes de fresar. Comprimento de fita ajustável ao módulo de corte do fabricante.",
          "location": "Contínuo sob ponte:2peças550mm. Canal12×6mm em base18mm;12mm remanescentes.",
          "spans_modules": [
            "DP01",
            "DP02"
          ]
        },
        "functional_group_R38": "G-LA-03"
      },
      {
        "id": "LED-OFFICE_SHELF_1-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          13.0,
          0.6400000000000001,
          1.43
        ],
        "centre_CAD_mm": [
          13000.0,
          640.0,
          1430.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "OFFICE_SHELF_1",
        "detail": {
          "id": "LED-OFFICE_SHELF_1",
          "owner": "OFFICE_SHELF_1",
          "startCAD_m": [
            13.0,
            0.17000000000000015
          ],
          "endCAD_m": [
            13.0,
            1.11
          ],
          "bottom_or_emission_z_mm": 1430.0,
          "length_mm": 940,
          "temperature_K": 3000,
          "voltage_V_nominal": 24,
          "design_W_per_m_assumption": 6,
          "design_power_W": 5.64,
          "circuit": "CE01",
          "profile_groove_proposed_mm": [
            12,
            8
          ],
          "profile_status": "RESERVA; selecionar perfil/fita e conferir espessura restante antes de fresar. Comprimento de fita ajustável ao módulo de corte do fabricante.",
          "location": "Centro do perfil200mm da paredeE;20mm da aresta frontal da prateleira. Perfil embutido e difusor removível por baixo."
        },
        "functional_group_R38": "G-ES-02"
      },
      {
        "id": "LED-OFFICE_SHELF_2-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          13.0,
          2.06,
          1.43
        ],
        "centre_CAD_mm": [
          13000.0,
          2060.0,
          1430.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "OFFICE_SHELF_2",
        "detail": {
          "id": "LED-OFFICE_SHELF_2",
          "owner": "OFFICE_SHELF_2",
          "startCAD_m": [
            13.0,
            1.59
          ],
          "endCAD_m": [
            13.0,
            2.5300000000000002
          ],
          "bottom_or_emission_z_mm": 1430.0,
          "length_mm": 940,
          "temperature_K": 3000,
          "voltage_V_nominal": 24,
          "design_W_per_m_assumption": 6,
          "design_power_W": 5.64,
          "circuit": "CE01",
          "profile_groove_proposed_mm": [
            12,
            8
          ],
          "profile_status": "RESERVA; selecionar perfil/fita e conferir espessura restante antes de fresar. Comprimento de fita ajustável ao módulo de corte do fabricante.",
          "location": "Centro do perfil200mm da paredeE;20mm da aresta frontal da prateleira. Perfil embutido e difusor removível por baixo."
        },
        "functional_group_R38": "G-ES-02"
      },
      {
        "id": "LED-OFFICE_SHELF_3-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          13.0,
          0.6400000000000001,
          2.03
        ],
        "centre_CAD_mm": [
          13000.0,
          640.0,
          2030.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "OFFICE_SHELF_3",
        "detail": {
          "id": "LED-OFFICE_SHELF_3",
          "owner": "OFFICE_SHELF_3",
          "startCAD_m": [
            13.0,
            0.17000000000000015
          ],
          "endCAD_m": [
            13.0,
            1.11
          ],
          "bottom_or_emission_z_mm": 2029.9999999999998,
          "length_mm": 940,
          "temperature_K": 3000,
          "voltage_V_nominal": 24,
          "design_W_per_m_assumption": 6,
          "design_power_W": 5.64,
          "circuit": "CE01",
          "profile_groove_proposed_mm": [
            12,
            8
          ],
          "profile_status": "RESERVA; selecionar perfil/fita e conferir espessura restante antes de fresar. Comprimento de fita ajustável ao módulo de corte do fabricante.",
          "location": "Centro do perfil200mm da paredeE;20mm da aresta frontal da prateleira. Perfil embutido e difusor removível por baixo."
        },
        "functional_group_R38": "G-ES-02"
      },
      {
        "id": "LED-OFFICE_SHELF_4-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          13.0,
          2.06,
          2.03
        ],
        "centre_CAD_mm": [
          13000.0,
          2060.0,
          2030.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "OFFICE_SHELF_4",
        "detail": {
          "id": "LED-OFFICE_SHELF_4",
          "owner": "OFFICE_SHELF_4",
          "startCAD_m": [
            13.0,
            1.59
          ],
          "endCAD_m": [
            13.0,
            2.5300000000000002
          ],
          "bottom_or_emission_z_mm": 2029.9999999999998,
          "length_mm": 940,
          "temperature_K": 3000,
          "voltage_V_nominal": 24,
          "design_W_per_m_assumption": 6,
          "design_power_W": 5.64,
          "circuit": "CE01",
          "profile_groove_proposed_mm": [
            12,
            8
          ],
          "profile_status": "RESERVA; selecionar perfil/fita e conferir espessura restante antes de fresar. Comprimento de fita ajustável ao módulo de corte do fabricante.",
          "location": "Centro do perfil200mm da paredeE;20mm da aresta frontal da prateleira. Perfil embutido e difusor removível por baixo."
        },
        "functional_group_R38": "G-ES-02"
      },
      {
        "id": "LED-ESC-PR01-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          10.4775,
          1.5750000000000002,
          0.4
        ],
        "centre_CAD_mm": [
          10477.5,
          1575.0,
          400.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "ESC-PR01",
        "detail": {
          "id": "LED-ESC-PR01",
          "owner": "ESC-PR01",
          "startCAD_m": [
            10.4775,
            0.49
          ],
          "endCAD_m": [
            10.4775,
            2.66
          ],
          "bottom_or_emission_z_mm": 400.0,
          "length_mm": 2170.0,
          "temperature_K": 3000,
          "voltage_V_nominal": 24,
          "design_W_per_m_assumption": 6,
          "design_power_W": 13.02,
          "circuit": "CE02",
          "profile_groove_proposed_mm": [
            12,
            8
          ],
          "profile_status": "RESERVA; selecionar perfil/fita e conferir espessura restante antes de fresar. Comprimento de fita ajustável ao módulo de corte do fabricante.",
          "location": "Perfil no fundo da prateleira: eixo67,5mm da aresta traseira da peça; termina40mm antes de cada extremidade."
        },
        "functional_group_R38": "G-ES-03"
      },
      {
        "id": "LED-ESC-PR02-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          10.4775,
          1.3250000000000002,
          0.78
        ],
        "centre_CAD_mm": [
          10477.5,
          1325.0,
          780.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "ESC-PR02",
        "detail": {
          "id": "LED-ESC-PR02",
          "owner": "ESC-PR02",
          "startCAD_m": [
            10.4775,
            0.49
          ],
          "endCAD_m": [
            10.4775,
            2.16
          ],
          "bottom_or_emission_z_mm": 780.0,
          "length_mm": 1670.0000000000002,
          "temperature_K": 3000,
          "voltage_V_nominal": 24,
          "design_W_per_m_assumption": 6,
          "design_power_W": 10.02,
          "circuit": "CE02",
          "profile_groove_proposed_mm": [
            12,
            8
          ],
          "profile_status": "RESERVA; selecionar perfil/fita e conferir espessura restante antes de fresar. Comprimento de fita ajustável ao módulo de corte do fabricante.",
          "location": "Perfil no fundo da prateleira: eixo67,5mm da aresta traseira da peça; termina40mm antes de cada extremidade."
        },
        "functional_group_R38": "G-ES-03"
      },
      {
        "id": "LED-ESC-PR03-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          10.4775,
          1.7750000000000001,
          1.16
        ],
        "centre_CAD_mm": [
          10477.5,
          1775.0,
          1160.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "ESC-PR03",
        "detail": {
          "id": "LED-ESC-PR03",
          "owner": "ESC-PR03",
          "startCAD_m": [
            10.4775,
            0.89
          ],
          "endCAD_m": [
            10.4775,
            2.66
          ],
          "bottom_or_emission_z_mm": 1160.0,
          "length_mm": 1770.0,
          "temperature_K": 3000,
          "voltage_V_nominal": 24,
          "design_W_per_m_assumption": 6,
          "design_power_W": 10.62,
          "circuit": "CE02",
          "profile_groove_proposed_mm": [
            12,
            8
          ],
          "profile_status": "RESERVA; selecionar perfil/fita e conferir espessura restante antes de fresar. Comprimento de fita ajustável ao módulo de corte do fabricante.",
          "location": "Perfil no fundo da prateleira: eixo67,5mm da aresta traseira da peça; termina40mm antes de cada extremidade."
        },
        "functional_group_R38": "G-ES-03"
      },
      {
        "id": "LED-ESC-PR04-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          10.4775,
          1.4249999999999998,
          1.54
        ],
        "centre_CAD_mm": [
          10477.5,
          1425.0,
          1540.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "ESC-PR04",
        "detail": {
          "id": "LED-ESC-PR04",
          "owner": "ESC-PR04",
          "startCAD_m": [
            10.4775,
            0.49
          ],
          "endCAD_m": [
            10.4775,
            2.36
          ],
          "bottom_or_emission_z_mm": 1540.0,
          "length_mm": 1870.0,
          "temperature_K": 3000,
          "voltage_V_nominal": 24,
          "design_W_per_m_assumption": 6,
          "design_power_W": 11.22,
          "circuit": "CE02",
          "profile_groove_proposed_mm": [
            12,
            8
          ],
          "profile_status": "RESERVA; selecionar perfil/fita e conferir espessura restante antes de fresar. Comprimento de fita ajustável ao módulo de corte do fabricante.",
          "location": "Perfil no fundo da prateleira: eixo67,5mm da aresta traseira da peça; termina40mm antes de cada extremidade."
        },
        "functional_group_R38": "G-ES-03"
      },
      {
        "id": "LED-ESC-PR05-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          10.4775,
          1.8,
          1.92
        ],
        "centre_CAD_mm": [
          10477.5,
          1800.0,
          1920.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "ESC-PR05",
        "detail": {
          "id": "LED-ESC-PR05",
          "owner": "ESC-PR05",
          "startCAD_m": [
            10.4775,
            0.9400000000000001
          ],
          "endCAD_m": [
            10.4775,
            2.66
          ],
          "bottom_or_emission_z_mm": 1920.0,
          "length_mm": 1720.0000000000002,
          "temperature_K": 3000,
          "voltage_V_nominal": 24,
          "design_W_per_m_assumption": 6,
          "design_power_W": 10.32,
          "circuit": "CE02",
          "profile_groove_proposed_mm": [
            12,
            8
          ],
          "profile_status": "RESERVA; selecionar perfil/fita e conferir espessura restante antes de fresar. Comprimento de fita ajustável ao módulo de corte do fabricante.",
          "location": "Perfil no fundo da prateleira: eixo67,5mm da aresta traseira da peça; termina40mm antes de cada extremidade."
        },
        "functional_group_R38": "G-ES-03"
      },
      {
        "id": "LED-ESC-PR06-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          10.4775,
          1.5750000000000002,
          2.3
        ],
        "centre_CAD_mm": [
          10477.5,
          1575.0,
          2300.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "ESC-PR06",
        "detail": {
          "id": "LED-ESC-PR06",
          "owner": "ESC-PR06",
          "startCAD_m": [
            10.4775,
            0.49
          ],
          "endCAD_m": [
            10.4775,
            2.66
          ],
          "bottom_or_emission_z_mm": 2300.0,
          "length_mm": 2170.0,
          "temperature_K": 3000,
          "voltage_V_nominal": 24,
          "design_W_per_m_assumption": 6,
          "design_power_W": 13.02,
          "circuit": "CE02",
          "profile_groove_proposed_mm": [
            12,
            8
          ],
          "profile_status": "RESERVA; selecionar perfil/fita e conferir espessura restante antes de fresar. Comprimento de fita ajustável ao módulo de corte do fabricante.",
          "location": "Perfil no fundo da prateleira: eixo67,5mm da aresta traseira da peça; termina40mm antes de cada extremidade."
        },
        "functional_group_R38": "G-ES-03"
      },
      {
        "id": "LED-CR02-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          4.21,
          5.574999999999999,
          2.1
        ],
        "centre_CAD_mm": [
          4210.0,
          5575.0,
          2100.0
        ],
        "function": "vertical24V3000K",
        "circuit_study": "C-L1",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "CR02",
        "detail": {
          "id": "CR02-LED",
          "length_mm": 1900,
          "type": "vertical24V3000K"
        },
        "functional_group_R38": "G-SA-04"
      },
      {
        "id": "LED-TV03-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          8.76,
          0.09,
          2.16
        ],
        "centre_CAD_mm": [
          8760.0,
          90.0,
          2160.0
        ],
        "function": "24V3000K",
        "circuit_study": "C-L1",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "TV03",
        "detail": {
          "id": "TV03-LED",
          "length_mm": 2720,
          "groove_mm": [
            12,
            8
          ],
          "type": "24V3000K"
        },
        "functional_group_R38": "G-SA-03"
      },
      {
        "id": "LED-HM01-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          8.6675,
          8.0,
          1.925
        ],
        "centre_CAD_mm": [
          8667.5,
          8000.0,
          1925.0
        ],
        "function": "retroiluminação",
        "circuit_study": "C-L1",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "HM01",
        "detail": {
          "id": "HM01-LED",
          "type": "retroiluminação",
          "cct_K": 3000,
          "power_W": null,
          "driver_access": "Acesso visitável; produto/driver final por selecionar."
        },
        "functional_group_R38": "G-HA-02"
      },
      {
        "id": "LED-CLB01-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          2.475,
          3.825,
          2.274
        ],
        "centre_CAD_mm": [
          2475.0,
          3825.0,
          2274.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "CLB01",
        "detail": {
          "id": "CLB01-LED1",
          "length_mm": 890.0,
          "startCAD_m": [
            2.03,
            3.825
          ],
          "endCAD_m": [
            2.9200000000000004,
            3.825
          ],
          "bottom_or_emission_z_mm": 2274,
          "profile_envelope_mm": [
            12,
            8
          ],
          "CCT_K": 3000,
          "voltage_V": 24,
          "power_density_study_W_m": 6,
          "power_study_W": 5.34,
          "groove_status": "Rasgo final só após selecionarperfil; não cortar o painel com dado de envolvente.",
          "driver_access": "Driver dedicado comum de estudo40W/24V em nicho visitável no maleiroCLB03, fora da roupa; volume/perdas/térmica/proteção porproduto."
        },
        "functional_group_R38": "G-CL-02"
      },
      {
        "id": "LED-CLB02-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          2.4299999999999997,
          5.125,
          2.274
        ],
        "centre_CAD_mm": [
          2430.0,
          5125.0,
          2274.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "CLB02",
        "detail": {
          "id": "CLB02-LED1",
          "length_mm": 800.0,
          "startCAD_m": [
            2.03,
            5.125
          ],
          "endCAD_m": [
            2.83,
            5.125
          ],
          "bottom_or_emission_z_mm": 2274,
          "profile_envelope_mm": [
            12,
            8
          ],
          "CCT_K": 3000,
          "voltage_V": 24,
          "power_density_study_W_m": 6,
          "power_study_W": 4.8,
          "groove_status": "Rasgo final só após selecionarperfil; não cortar o painel com dado de envolvente.",
          "driver_access": "Driver dedicado comum de estudo40W/24V em nicho visitável no maleiroCLB03, fora da roupa; volume/perdas/térmica/proteção porproduto."
        },
        "functional_group_R38": "G-CL-02"
      },
      {
        "id": "LED-CLB03-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          3.355,
          5.125,
          1.203
        ],
        "centre_CAD_mm": [
          3355.0,
          5125.0,
          1203.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "CLB03",
        "detail": {
          "id": "CLB03-LED1",
          "length_mm": 930.0,
          "startCAD_m": [
            2.8899999999999997,
            5.125
          ],
          "endCAD_m": [
            3.8200000000000003,
            5.125
          ],
          "bottom_or_emission_z_mm": 1203,
          "profile_envelope_mm": [
            12,
            8
          ],
          "CCT_K": 3000,
          "voltage_V": 24,
          "power_density_study_W_m": 6,
          "power_study_W": 5.58,
          "groove_status": "Rasgo final só após selecionarperfil; não cortar o painel com dado de envolvente.",
          "driver_access": "Driver dedicado comum de estudo40W/24V em nicho visitável no maleiroCLB03, fora da roupa; volume/perdas/térmica/proteção porproduto."
        },
        "functional_group_R38": "G-CL-02"
      },
      {
        "id": "LED-CLB03-2",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          3.355,
          5.125,
          1.633
        ],
        "centre_CAD_mm": [
          3355.0,
          5125.0,
          1633.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "CLB03",
        "detail": {
          "id": "CLB03-LED2",
          "length_mm": 930.0,
          "startCAD_m": [
            2.8899999999999997,
            5.125
          ],
          "endCAD_m": [
            3.8200000000000003,
            5.125
          ],
          "bottom_or_emission_z_mm": 1633,
          "profile_envelope_mm": [
            12,
            8
          ],
          "CCT_K": 3000,
          "voltage_V": 24,
          "power_density_study_W_m": 6,
          "power_study_W": 5.58,
          "groove_status": "Rasgo final só após selecionarperfil; não cortar o painel com dado de envolvente.",
          "driver_access": "Driver dedicado comum de estudo40W/24V em nicho visitável no maleiroCLB03, fora da roupa; volume/perdas/térmica/proteção porproduto."
        },
        "functional_group_R38": "G-CL-02"
      },
      {
        "id": "LED-CLB03-3",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          3.355,
          5.125,
          2.063
        ],
        "centre_CAD_mm": [
          3355.0,
          5125.0,
          2063.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L2",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "CLB03",
        "detail": {
          "id": "CLB03-LED3",
          "length_mm": 930.0,
          "startCAD_m": [
            2.8899999999999997,
            5.125
          ],
          "endCAD_m": [
            3.8200000000000003,
            5.125
          ],
          "bottom_or_emission_z_mm": 2063,
          "profile_envelope_mm": [
            12,
            8
          ],
          "CCT_K": 3000,
          "voltage_V": 24,
          "power_density_study_W_m": 6,
          "power_study_W": 5.58,
          "groove_status": "Rasgo final só após selecionarperfil; não cortar o painel com dado de envolvente.",
          "driver_access": "Driver dedicado comum de estudo40W/24V em nicho visitável no maleiroCLB03, fora da roupa; volume/perdas/térmica/proteção porproduto."
        },
        "functional_group_R38": "G-CL-02"
      },
      {
        "id": "LED-LS02-1",
        "space": "Carpintaria",
        "type": "LED",
        "centre_CAD_m": [
          2.44,
          6.16,
          1.5
        ],
        "centre_CAD_mm": [
          2440.0,
          6160.0,
          1500.0
        ],
        "function": "LED integrado",
        "circuit_study": "C-L3",
        "support": null,
        "face": null,
        "quantity": 1,
        "plate_envelope_mm": null,
        "status": "PROPOSTA_DE_COORDENACAO",
        "note": "Símbolo referencia a peça. Comstart/end/Zdefinidos usa datum de emissão; sem esses campos é referência de módulo,não ponto de corte. Perfil/driver pela ficha; nunca230V na ripa sem caixa.",
        "module_id": "LS02",
        "detail": {
          "id": "LED-LS",
          "owner": "LS02",
          "startCAD_m": [
            1.84,
            6.16
          ],
          "endCAD_m": [
            3.04,
            6.16
          ],
          "bottom_or_emission_z_mm": 1500,
          "length_mm": 1200,
          "temperature_K": 3000,
          "voltage_V_nominal": 24,
          "design_W_per_m_assumption": 6,
          "design_power_W": 7.2,
          "circuit": "CL01",
          "profile_groove_proposed_mm": [
            12,
            6
          ],
          "profile_status": "RESERVA; selecionar perfil/fita e conferir espessura restante antes de fresar. Comprimento de fita ajustável ao módulo de corte do fabricante.",
          "location": "Contínuo sob o conjunto de 2 superiores; canal 12 × 6 mm em base de 18 mm, com 12 mm remanescentes. Eixo Y=6160 mm, a 20 mm da aresta frontal do corpo Y=6180 mm: ficam 14 mm de madeira entre ranhura e aresta, sem invadir a frente móvel. Recuo construtivo de 15 mm em relação ao eixo visual antigo Y=6175 mm. Prever emenda e passagem de cabos entre peças/corpos; não fresar sem desenho do perfil e das uniões.",
          "spans_modules": [
            "LS01",
            "LS02"
          ],
          "specification_status": "Apenas posição funcional. Perfil/fita/driver e alimentação por selecionar, acessíveis e separados da água/condutas.",
          "driver_selected": false
        },
        "functional_group_R38": "G-LA-02"
      },
      {
        "id": "T-TV-R38",
        "space": "Sala",
        "type": "tomada",
        "centre_CAD_m": [
          10.25,
          0.65,
          0.6
        ],
        "centre_CAD_mm": [
          10250.0,
          650.0,
          600.0
        ],
        "circuit_study": "C-TSA",
        "support": "TV01",
        "face": "W",
        "function": "4×230V+2RJ45 emzona técnicaTV,sem fichaencravada atrás suporte;altura porTV01",
        "quantity": 4,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "plate_envelope_mm": [
          160,
          160
        ]
      },
      {
        "id": "T-ES-R38-A",
        "space": "Escritório",
        "type": "tomada",
        "centre_CAD_m": [
          13.2,
          0.56,
          1.15
        ],
        "centre_CAD_mm": [
          13200.0,
          560.0,
          1150.0
        ],
        "circuit_study": "C-TES",
        "support": "W36",
        "face": "W",
        "function": "Dupla230Vposto1 acima tampo;separada dosdados porcaixas/partição",
        "quantity": 2,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "plate_envelope_mm": [
          160,
          80
        ]
      },
      {
        "id": "T-ES-R38-B",
        "space": "Escritório",
        "type": "tomada",
        "centre_CAD_m": [
          13.2,
          1.7,
          1.15
        ],
        "centre_CAD_mm": [
          13200.0,
          1700.0,
          1150.0
        ],
        "circuit_study": "C-TES",
        "support": "W36",
        "face": "W",
        "function": "Dupla230Vposto2 acima tampo;gestão cabos e2monitores",
        "quantity": 2,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "plate_envelope_mm": [
          160,
          80
        ]
      },
      {
        "id": "T-SU-COM-R38",
        "space": "Suíte",
        "type": "tomada",
        "centre_CAD_m": [
          3.85,
          1.25,
          1.05
        ],
        "centre_CAD_mm": [
          3850.0,
          1250.0,
          1050.0
        ],
        "circuit_study": "C-TQS",
        "support": "W16",
        "face": "W",
        "function": "Tomadadupla acima da cómodaC2,semcabo atravessar entrada",
        "quantity": 2,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "plate_envelope_mm": [
          160,
          80
        ]
      },
      {
        "id": "T-MA-COM-R38",
        "space": "Matilde",
        "type": "tomada",
        "centre_CAD_m": [
          13.35,
          6.05,
          1.05
        ],
        "centre_CAD_mm": [
          13350.0,
          6050.0,
          1050.0
        ],
        "circuit_study": "C-TQ1",
        "support": "W39",
        "face": "E",
        "function": "Dupla acima cómoda800mm;250mm atécentro,fora daplaca deestoreE-MA-01 e semgavetas sobreaficha",
        "quantity": 2,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "plate_envelope_mm": [
          160,
          80
        ]
      },
      {
        "id": "T-FR-COM-R38",
        "space": "Francisco",
        "type": "tomada",
        "centre_CAD_m": [
          13.35,
          2.6,
          1.05
        ],
        "centre_CAD_mm": [
          13350.0,
          2600.0,
          1050.0
        ],
        "circuit_study": "C-TQ2",
        "support": "W36",
        "face": "E",
        "function": "Dupla acima cómoda800mm;tomadas protegidas e semextensãojuntoacama",
        "quantity": 2,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "plate_envelope_mm": [
          160,
          80
        ]
      },
      {
        "id": "T-CO-03-R38",
        "space": "Cozinha",
        "type": "tomada",
        "centre_CAD_m": [
          8.5,
          7.8,
          1.18
        ],
        "centre_CAD_mm": [
          8500.0,
          7800.0,
          1180.0
        ],
        "circuit_study": "C-TCO2",
        "support": "W33",
        "face": "W",
        "function": "Auxiliar preparada na faixaW33;deve ser suspensa sefrentesK07ou interruptorinterferirem;posição NÃO libertada",
        "quantity": 2,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "plate_envelope_mm": [
          80,
          160
        ]
      },
      {
        "id": "LU-IL-R38-1",
        "space": "Cozinha",
        "type": "pendente",
        "centre_CAD_m": [
          5.65,
          6.25,
          1.85
        ],
        "centre_CAD_mm": [
          5650.0,
          6250.0,
          1850.0
        ],
        "circuit_study": "C-L1",
        "support": "teto",
        "face": "D",
        "function": "Pendenteilha,teto2.70→base1.85=950mmsobrebancada;produto/difusão a selecionar",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-CO-03"
      },
      {
        "id": "LU-IL-R38-2",
        "space": "Cozinha",
        "type": "pendente",
        "centre_CAD_m": [
          6.35,
          6.25,
          1.85
        ],
        "centre_CAD_mm": [
          6350.0,
          6250.0,
          1850.0
        ],
        "circuit_study": "C-L1",
        "support": "teto",
        "face": "D",
        "function": "Pendenteilha,teto2.70→base1.85=950mmsobrebancada;produto/difusão a selecionar",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-CO-03"
      },
      {
        "id": "LU-IL-R38-3",
        "space": "Cozinha",
        "type": "pendente",
        "centre_CAD_m": [
          7.05,
          6.25,
          1.85
        ],
        "centre_CAD_mm": [
          7050.0,
          6250.0,
          1850.0
        ],
        "circuit_study": "C-L1",
        "support": "teto",
        "face": "D",
        "function": "Pendenteilha,teto2.70→base1.85=950mmsobrebancada;produto/difusão a selecionar",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-CO-03"
      },
      {
        "id": "LE-SU-R38-1",
        "space": "Suíte",
        "type": "luminaria",
        "centre_CAD_m": [
          -0.05,
          0.325,
          1.2
        ],
        "centre_CAD_mm": [
          -50.0,
          325.0,
          1200.0
        ],
        "circuit_study": "C-L2",
        "support": "W01",
        "face": "E",
        "function": "Leituraindependente de cada lado,bafio dirigido,evitar brilhoocular;produto porselecionar",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-SU-02"
      },
      {
        "id": "LE-SU-R38-2",
        "space": "Suíte",
        "type": "luminaria",
        "centre_CAD_m": [
          -0.05,
          2.775,
          1.2
        ],
        "centre_CAD_mm": [
          -50.0,
          2775.0,
          1200.0
        ],
        "circuit_study": "C-L2",
        "support": "W01",
        "face": "E",
        "function": "Leituraindependente de cada lado,bafio dirigido,evitar brilhoocular;produto porselecionar",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-SU-03"
      },
      {
        "id": "LE-MA-R38-1",
        "space": "Matilde",
        "type": "luminaria",
        "centre_CAD_m": [
          16.35,
          6.05,
          1.2
        ],
        "centre_CAD_mm": [
          16350.000000000002,
          6050.0,
          1200.0
        ],
        "circuit_study": "C-L2",
        "support": "W15",
        "face": "W",
        "function": "Leituraindependente de cada lado,bafio dirigido,evitar brilhoocular;produto porselecionar",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-MA-02"
      },
      {
        "id": "LE-MA-R38-2",
        "space": "Matilde",
        "type": "luminaria",
        "centre_CAD_m": [
          16.35,
          8.05,
          1.2
        ],
        "centre_CAD_mm": [
          16350.000000000002,
          8050.000000000001,
          1200.0
        ],
        "circuit_study": "C-L2",
        "support": "W15",
        "face": "W",
        "function": "Leituraindependente de cada lado,bafio dirigido,evitar brilhoocular;produto porselecionar",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-MA-03"
      },
      {
        "id": "LE-FR-R38-1",
        "space": "Francisco",
        "type": "luminaria",
        "centre_CAD_m": [
          16.35,
          0.45,
          1.2
        ],
        "centre_CAD_mm": [
          16350.000000000002,
          450.0,
          1200.0
        ],
        "circuit_study": "C-L2",
        "support": "W15",
        "face": "W",
        "function": "Leituraindependente de cada lado,bafio dirigido,evitar brilhoocular;produto porselecionar",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-FR-02"
      },
      {
        "id": "LE-FR-R38-2",
        "space": "Francisco",
        "type": "luminaria",
        "centre_CAD_m": [
          16.35,
          2.45,
          1.2
        ],
        "centre_CAD_mm": [
          16350.000000000002,
          2450.0,
          1200.0
        ],
        "circuit_study": "C-L2",
        "support": "W15",
        "face": "W",
        "function": "Leituraindependente de cada lado,bafio dirigido,evitar brilhoocular;produto porselecionar",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-FR-03"
      },
      {
        "id": "LU-MA-R38-2",
        "space": "MA",
        "type": "luminaria",
        "centre_CAD_m": [
          14.1,
          5.5,
          2.7
        ],
        "centre_CAD_mm": [
          14100.0,
          5500.0,
          2700.0
        ],
        "circuit_study": "C-L2",
        "support": "teto",
        "face": "D",
        "function": "Completa geral3pontos,sem transformar fluxo emsimulaçãofotométrica",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-MA-01"
      },
      {
        "id": "LU-MA-R38-3",
        "space": "MA",
        "type": "luminaria",
        "centre_CAD_m": [
          15.5,
          7.8,
          2.7
        ],
        "centre_CAD_mm": [
          15500.0,
          7800.0,
          2700.0
        ],
        "circuit_study": "C-L2",
        "support": "teto",
        "face": "D",
        "function": "Completa geral3pontos,sem transformar fluxo emsimulaçãofotométrica",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-MA-01"
      },
      {
        "id": "LU-FR-R38-2",
        "space": "FR",
        "type": "luminaria",
        "centre_CAD_m": [
          14.1,
          0.8,
          2.7
        ],
        "centre_CAD_mm": [
          14100.0,
          800.0,
          2700.0
        ],
        "circuit_study": "C-L2",
        "support": "teto",
        "face": "D",
        "function": "Completa geral3pontos,sem transformar fluxo emsimulaçãofotométrica",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-FR-01"
      },
      {
        "id": "LU-FR-R38-3",
        "space": "FR",
        "type": "luminaria",
        "centre_CAD_m": [
          15.5,
          3.1,
          2.7
        ],
        "centre_CAD_mm": [
          15500.0,
          3100.0,
          2700.0
        ],
        "circuit_study": "C-L2",
        "support": "teto",
        "face": "D",
        "function": "Completa geral3pontos,sem transformar fluxo emsimulaçãofotométrica",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-FR-01"
      },
      {
        "id": "EX-IN-R38",
        "space": "Entrada",
        "type": "luminaria",
        "centre_CAD_m": [
          9.6,
          8.95,
          2.6
        ],
        "centre_CAD_mm": [
          9600.0,
          8950.0,
          2600.0
        ],
        "circuit_study": "C-LEX",
        "support": "pala",
        "face": "D",
        "function": "Entrada sobpala",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-EX-01"
      },
      {
        "id": "EX-CP-R38-1",
        "space": "Pala carros",
        "type": "luminaria",
        "centre_CAD_m": [
          -4.7,
          5.8,
          3.05
        ],
        "centre_CAD_mm": [
          -4700.0,
          5800.0,
          3050.0
        ],
        "circuit_study": "C-LEX",
        "support": "pala",
        "face": "D",
        "function": "Pala carrosW",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-EX-02"
      },
      {
        "id": "EX-CP-R38-2",
        "space": "Pala carros",
        "type": "luminaria",
        "centre_CAD_m": [
          -2,
          5.8,
          3.05
        ],
        "centre_CAD_mm": [
          -2000,
          5800.0,
          3050.0
        ],
        "circuit_study": "C-LEX",
        "support": "pala",
        "face": "D",
        "function": "Pala carrosE",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-EX-02"
      },
      {
        "id": "LED-JAR-R38-1",
        "space": "Jardim",
        "type": "LED",
        "centre_CAD_m": [
          1,
          -0.42,
          2.66
        ],
        "centre_CAD_mm": [
          1000,
          -420.0,
          2660.0
        ],
        "circuit_study": "C-LEX",
        "support": "pala",
        "face": "D",
        "function": "LED2700Kperfil embutidocomdifusor,sem pontosvistos;IP e drenagemproduto porselecionar",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-EX-03"
      },
      {
        "id": "LED-JAR-R38-2",
        "space": "Jardim",
        "type": "LED",
        "centre_CAD_m": [
          5.6,
          -0.42,
          2.66
        ],
        "centre_CAD_mm": [
          5600.0,
          -420.0,
          2660.0
        ],
        "circuit_study": "C-LEX",
        "support": "pala",
        "face": "D",
        "function": "LED2700Kperfil embutidocomdifusor,sem pontosvistos;IP e drenagemproduto porselecionar",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-EX-03"
      },
      {
        "id": "LED-JAR-R38-3",
        "space": "Jardim",
        "type": "LED",
        "centre_CAD_m": [
          11.8,
          -0.42,
          2.66
        ],
        "centre_CAD_mm": [
          11800.0,
          -420.0,
          2660.0
        ],
        "circuit_study": "C-LEX",
        "support": "pala",
        "face": "D",
        "function": "LED2700Kperfil embutidocomdifusor,sem pontosvistos;IP e drenagemproduto porselecionar",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-EX-03"
      },
      {
        "id": "LED-JAR-R38-4",
        "space": "Jardim",
        "type": "LED",
        "centre_CAD_m": [
          14.5,
          -0.42,
          2.66
        ],
        "centre_CAD_mm": [
          14500.0,
          -420.0,
          2660.0
        ],
        "circuit_study": "C-LEX",
        "support": "pala",
        "face": "D",
        "function": "LED2700Kperfil embutidocomdifusor,sem pontosvistos;IP e drenagemproduto porselecionar",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "functional_group_R38": "G-EX-03"
      },
      {
        "id": "AC-OUT-R38",
        "space": "TerrenoNE",
        "type": "AC_exterior",
        "centre_CAD_m": [
          17.35,
          3.95,
          0.65
        ],
        "centre_CAD_mm": [
          17350.0,
          3950.0,
          650.0
        ],
        "circuit_study": "C-AC",
        "support": "base_de_solo",
        "face": "E",
        "function": "Reserva multisplit4saídas;combinação e balanço térmico ainda não aprovados",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar"
      },
      {
        "id": "INV-PV-R38",
        "space": "TerrenoNE",
        "type": "PV_inversor",
        "centre_CAD_m": [
          17.15,
          7.275,
          1.225
        ],
        "centre_CAD_mm": [
          17150.0,
          7275.0,
          1225.0
        ],
        "circuit_study": "C-PV",
        "support": "suporte tecnico separado",
        "face": "E",
        "function": "Inversor3P10kWproposto,serviço e sombra/temperaturaporvalidar",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar"
      },
      {
        "id": "S-SOLAR-R38",
        "space": "Lavandaria",
        "type": "espera_equipamento",
        "centre_CAD_m": [
          0.95,
          6.1,
          1.5
        ],
        "centre_CAD_mm": [
          950.0,
          6100.0,
          1500.0
        ],
        "circuit_study": "C-SOL",
        "support": "zona técnica",
        "face": "N",
        "function": "Controladordiferencialsolar,bomba/sensorcoletor/acumulador;ligação não pronta",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar"
      },
      {
        "id": "S-LA-03",
        "space": "Lavandaria / lado interior P6",
        "type": "comando",
        "centre_CAD_m": [
          3.85,
          6.2,
          1.1
        ],
        "centre_CAD_mm": [
          3850.0,
          6200.0,
          1100.0
        ],
        "circuit_study": "BUS-KNX",
        "support": "W20",
        "face": "W",
        "function": "Repetição do comando de luz/LED interior,do lado seco do acessoP6",
        "quantity": 1,
        "status": "PROPOSTA_R38;produto/localmontagememobra_porvalidar",
        "plate_envelope_mm": [
          80,
          80
        ],
        "keys": [
          {
            "key": 1,
            "label": "Lavandaria",
            "targets": [
              "G-LA-01"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 2,
            "label": "Trabalho",
            "targets": [
              "G-LA-02"
            ],
            "action": "alternar",
            "long_press_required": false
          },
          {
            "key": 3,
            "label": "Despensa",
            "targets": [
              "G-LA-03"
            ],
            "action": "alternar",
            "long_press_required": false
          }
        ],
        "control_bus": "KNX_TP_PROPOSTO"
      },
      {
        "id": "MTR-VE2-R38",
        "space": "Cozinha",
        "type": "motor_estore",
        "centre_CAD_m": [
          5.550000000000001,
          8.625,
          2.35
        ],
        "centre_CAD_mm": [
          5550.000000000001,
          8625.0,
          2350.0
        ],
        "circuit_study": "C-EST",
        "support": "caixa_acima_VE2",
        "face": "S",
        "function": "Espera elétrica por estore,caixa/isolamento/acesso/ligação fabricante ainda por definir;230Vououtrotipo depende do motor",
        "quantity": 1,
        "status": "RESERVA_TECNICA_NAO_EXECUTAR;altura/caixaconstrutiva_por_confirmar"
      },
      {
        "id": "MTR-VE6-R38",
        "space": "Sala",
        "type": "motor_estore",
        "centre_CAD_m": [
          6.785355338,
          -0.125,
          2.35
        ],
        "centre_CAD_mm": [
          6785.355337999999,
          -125.0,
          2350.0
        ],
        "circuit_study": "C-EST",
        "support": "caixa_acima_VE6",
        "face": "N",
        "function": "Espera elétrica por estore,caixa/isolamento/acesso/ligação fabricante ainda por definir;230Vououtrotipo depende do motor",
        "quantity": 1,
        "status": "RESERVA_TECNICA_NAO_EXECUTAR;altura/caixaconstrutiva_por_confirmar"
      },
      {
        "id": "MTR-VE7-R38",
        "space": "Suíte",
        "type": "motor_estore",
        "centre_CAD_m": [
          3.0500000000000003,
          -0.125,
          2.35
        ],
        "centre_CAD_mm": [
          3050.0000000000005,
          -125.0,
          2350.0
        ],
        "circuit_study": "C-EST",
        "support": "caixa_acima_VE7",
        "face": "N",
        "function": "Espera elétrica por estore,caixa/isolamento/acesso/ligação fabricante ainda por definir;230Vououtrotipo depende do motor",
        "quantity": 1,
        "status": "RESERVA_TECNICA_NAO_EXECUTAR;altura/caixaconstrutiva_por_confirmar"
      },
      {
        "id": "MTR-VE4-R38",
        "space": "Matilde",
        "type": "motor_estore",
        "centre_CAD_m": [
          15.049999999999999,
          8.625,
          2.35
        ],
        "centre_CAD_mm": [
          15049.999999999998,
          8625.0,
          2350.0
        ],
        "circuit_study": "C-EST",
        "support": "caixa_acima_VE4",
        "face": "S",
        "function": "Espera elétrica por estore,caixa/isolamento/acesso/ligação fabricante ainda por definir;230Vououtrotipo depende do motor",
        "quantity": 1,
        "status": "RESERVA_TECNICA_NAO_EXECUTAR;altura/caixaconstrutiva_por_confirmar"
      },
      {
        "id": "MTR-VE5-R38",
        "space": "Francisco",
        "type": "motor_estore",
        "centre_CAD_m": [
          15.049999999999999,
          -0.125,
          2.35
        ],
        "centre_CAD_mm": [
          15049.999999999998,
          -125.0,
          2350.0
        ],
        "circuit_study": "C-EST",
        "support": "caixa_acima_VE5",
        "face": "N",
        "function": "Espera elétrica por estore,caixa/isolamento/acesso/ligação fabricante ainda por definir;230Vououtrotipo depende do motor",
        "quantity": 1,
        "status": "RESERVA_TECNICA_NAO_EXECUTAR;altura/caixaconstrutiva_por_confirmar"
      },
      {
        "id": "MTR-P3-R38",
        "space": "Escritório",
        "type": "motor_estore",
        "centre_CAD_m": [
          12.5,
          -0.125,
          2.35
        ],
        "centre_CAD_mm": [
          12500.0,
          -125.0,
          2350.0
        ],
        "circuit_study": "C-EST",
        "support": "caixa_acima_P3",
        "face": "N",
        "function": "Espera elétrica por estore,caixa/isolamento/acesso/ligação fabricante ainda por definir;230Vououtrotipo depende do motor",
        "quantity": 1,
        "status": "RESERVA_TECNICA_NAO_EXECUTAR;altura/caixaconstrutiva_por_confirmar"
      }
    ],
    "changes": [
      {
        "id": "S-MA-02",
        "before_CAD_m": [
          16.35,
          5.9,
          0.8
        ],
        "after_CAD_m": [
          16.35,
          6.050000000000001,
          0.8
        ],
        "reason": "Acompanha cama/NT03/04deslocados+150Y pelo contratoquartosR38"
      },
      {
        "id": "S-MA-03",
        "before_CAD_m": [
          16.35,
          7.9,
          0.8
        ],
        "after_CAD_m": [
          16.35,
          8.05,
          0.8
        ],
        "reason": "Acompanha cama/NT03/04deslocados+150Y pelo contratoquartosR38"
      },
      {
        "id": "T-MA-01",
        "before_CAD_m": [
          16.35,
          5.9,
          0.65
        ],
        "after_CAD_m": [
          16.35,
          6.050000000000001,
          0.65
        ],
        "reason": "Acompanha cama/NT03/04deslocados+150Y pelo contratoquartosR38"
      },
      {
        "id": "T-MA-02",
        "before_CAD_m": [
          16.35,
          7.9,
          0.65
        ],
        "after_CAD_m": [
          16.35,
          8.05,
          0.65
        ],
        "reason": "Acompanha cama/NT03/04deslocados+150Y pelo contratoquartosR38"
      },
      {
        "id": "S-FR-02",
        "before_CAD_m": [
          16.35,
          0.65,
          0.8
        ],
        "after_CAD_m": [
          16.35,
          0.45,
          0.8
        ],
        "reason": "Acompanha cama/NT05/06deslocados−200Y pelo contratoquartosR38"
      },
      {
        "id": "S-FR-03",
        "before_CAD_m": [
          16.35,
          2.65,
          0.8
        ],
        "after_CAD_m": [
          16.35,
          2.4499999999999997,
          0.8
        ],
        "reason": "Acompanha cama/NT05/06deslocados−200Y pelo contratoquartosR38"
      },
      {
        "id": "T-FR-01",
        "before_CAD_m": [
          16.35,
          0.65,
          0.65
        ],
        "after_CAD_m": [
          16.35,
          0.45,
          0.65
        ],
        "reason": "Acompanha cama/NT05/06deslocados−200Y pelo contratoquartosR38"
      },
      {
        "id": "T-FR-02",
        "before_CAD_m": [
          16.35,
          2.65,
          0.65
        ],
        "after_CAD_m": [
          16.35,
          2.4499999999999997,
          0.65
        ],
        "reason": "Acompanha cama/NT05/06deslocados−200Y pelo contratoquartosR38"
      },
      {
        "id": "T-MA-03",
        "before_CAD_m": [
          13.35,
          6.15,
          0.3
        ],
        "after_CAD_m": [
          13.35,
          6.55,
          0.3
        ],
        "reason": "Sai dointerior da nova cómodaMA entreY5.35..6.25;tomadadeaspirador acessível"
      },
      {
        "id": "T-IL-01",
        "before_CAD_m": [
          6.35,
          5.8,
          0.65
        ],
        "after_CAD_m": [
          7.55,
          6.4,
          0.65
        ],
        "reason": "Nova baía seca100mmilhaladoE,fora debalanço eI03 reduzido616;placadupla160×80horizontal"
      },
      {
        "id": "E-MLL",
        "before_CAD_m": [
          6.85,
          8.5,
          0.35
        ],
        "after_CAD_m": [
          4.95,
          8.43,
          0.35
        ],
        "reason": "Retira K05 ocupado porresíduos;portaK02-F1 comzona seca independente doforno,cordão175cm porvalidar"
      },
      {
        "id": "AC-SAL-01",
        "before_CAD_m": [
          10.127500000000001,
          2.449,
          2.25
        ],
        "after_CAD_m": [
          10.25,
          2.45,
          2.4
        ],
        "reason": "Acerta fixação naface real damamparede;suíteR37aparecia no acesso aberto docloset"
      },
      {
        "id": "AC-SU-01",
        "before_CAD_m": [
          3.249,
          2.9775,
          2.25
        ],
        "after_CAD_m": [
          2.45,
          3.1,
          2.4
        ],
        "reason": "Acerta fixação naface real damamparede;suíteR37aparecia no acesso aberto docloset"
      },
      {
        "id": "AC-MA-01",
        "before_CAD_m": [
          13.4725,
          6.049,
          2.25
        ],
        "after_CAD_m": [
          13.35,
          6.5,
          2.4
        ],
        "reason": "Acerta fixação naface real damamparede;suíteR37aparecia no acesso aberto docloset"
      },
      {
        "id": "AC-FR-01",
        "before_CAD_m": [
          13.4725,
          2.649,
          2.25
        ],
        "after_CAD_m": [
          13.35,
          2.65,
          2.4
        ],
        "reason": "Acerta fixação naface real damamparede;suíteR37aparecia no acesso aberto docloset"
      },
      {
        "id": "VE-CARGA-01",
        "before_CAD_m": [
          -2.05,
          1.75,
          1.1
        ],
        "after_CAD_m": [
          -4.525,
          2.2,
          1.2
        ],
        "reason": "EV-R38-B:pedestal na faixa pavimentada atrás da própria viatura,circuito individual"
      },
      {
        "id": "VE-CARGA-02",
        "before_CAD_m": [
          -4.3,
          1.75,
          1.1
        ],
        "after_CAD_m": [
          -2.075,
          2.2,
          1.2
        ],
        "reason": "EV-R38-B:pedestal na faixa pavimentada atrás da própria viatura,circuito individual"
      },
      {
        "id": "BC-SOCKET",
        "before_CAD_m": [
          12.100000000000001,
          5.5575,
          1.1
        ],
        "after_CAD_m": [
          12.14,
          5.5575,
          1.1
        ],
        "reason": "Dupla160mm em faixa170mm entre espelho12.05eporta12.23:arestas12.06/12.22,10mmnominaisporlado"
      }
    ],
    "functional_groups": [
      {
        "id": "G-HA-01",
        "space": "Hall",
        "title": "Luz geral do hall",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / ENTRY_HALL",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L1",
        "KNX_group_address_proposed": "1/0/1",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LU-HA-01"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-HA-02",
        "space": "Hall",
        "title": "Espelho LED",
        "status": "Espelho HM01LED adotado para desenvolverR36; produto, alimentação, potência e circuito por selecionar",
        "reference": "Proposta de espelho do hall R33",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "adopted_for_development": true,
        "active_functional_target_R36": true,
        "installation_executed": false,
        "circuit_R38": "C-L1",
        "KNX_group_address_proposed": "1/0/2",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LED-HM01-1"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-SA-01",
        "space": "Sala",
        "title": "Luz geral de estar",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / SAL",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L1",
        "KNX_group_address_proposed": "1/0/3",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LU-SA-01",
          "LU-SA-02"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-SA-02",
        "space": "Jantar",
        "title": "Suspensão sobre a mesa",
        "status": "preservar proposta de luminária existente",
        "reference": "R32 / diningPendant",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L1",
        "KNX_group_address_proposed": "1/0/4",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LU-JA-01"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-SA-03",
        "space": "Sala",
        "title": "LED da prateleira TV",
        "status": "preservar pormenor existente",
        "reference": "R32 / TV03; R27 / TV03-LED",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L1",
        "KNX_group_address_proposed": "1/0/5",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LED-TV03-1"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-SA-04",
        "space": "Sala",
        "title": "LED cristaleira/garrafeira",
        "status": "preservar pormenor existente",
        "reference": "R32 / ARM-SALA-R20; R27 / CR02-LED",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L1",
        "KNX_group_address_proposed": "1/0/6",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LED-CR02-1"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-CO-01",
        "space": "Cozinha",
        "title": "Luz geral de cozinha",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / SAL, zona COZ",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L1",
        "KNX_group_address_proposed": "1/0/7",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LU-CO-01",
          "LU-CO-02"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-CO-02",
        "space": "Cozinha",
        "title": "LED da bancada/janela",
        "status": "preservar pormenor existente",
        "reference": "R27 / LC1, ponte superior",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L1",
        "KNX_group_address_proposed": "1/0/8",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LED-U_BRIDGE-1"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-CO-03",
        "space": "Cozinha",
        "title": "Pendentes sobre a ilha",
        "status": "preservar proposta visual existente",
        "reference": "R27 / vistas da cozinha",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L1",
        "KNX_group_address_proposed": "1/0/9",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LU-IL-R38-1",
          "LU-IL-R38-2",
          "LU-IL-R38-3"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-CO-04",
        "space": "Cozinha",
        "title": "LED ilha e nichos",
        "status": "preservar pormenores existentes, agrupamento proposto",
        "reference": "R27 / LC3 e LC2-1/2/3",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L1",
        "KNX_group_address_proposed": "1/0/10",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LED-U03-1",
          "LED-U03-2",
          "LED-U03-3",
          "LED-ISLAND-1"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-LA-01",
        "space": "Lavandaria",
        "title": "Luz geral da lavandaria",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / LAV",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L3",
        "KNX_group_address_proposed": "1/0/11",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LU-LA-01",
          "LU-LA-02"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-LA-02",
        "space": "Lavandaria",
        "title": "LED dos superiores de trabalho",
        "status": "preservar pormenor existente",
        "reference": "R27 / LED-LS; sem transportar cotas antigas para outro móvel",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L3",
        "KNX_group_address_proposed": "1/0/12",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LED-LS02-1"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-LA-03",
        "space": "Despensa",
        "title": "LED da ponte da despensa",
        "status": "preservar pormenor existente",
        "reference": "R27 / LED-DP; móveis mantidos R32",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L3",
        "KNX_group_address_proposed": "1/0/13",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LED-DP02-1"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-DI-01",
        "space": "Distribuição",
        "title": "Luz geral de circulação",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / DISTR",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L2",
        "KNX_group_address_proposed": "1/0/14",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LU-DI-01",
          "LU-DI-02"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-ES-01",
        "space": "Escritório",
        "title": "Luz geral do escritório",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / ESC",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L2",
        "KNX_group_address_proposed": "1/0/15",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LU-ES-01",
          "LU-ES-02"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-ES-02",
        "space": "Escritório",
        "title": "LED dos dois postos",
        "status": "preservar pormenor existente",
        "reference": "R27 / LED-OFFICE_SHELF_1 a 4",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L2",
        "KNX_group_address_proposed": "1/0/16",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LED-OFFICE_SHELF_1-1",
          "LED-OFFICE_SHELF_2-1",
          "LED-OFFICE_SHELF_3-1",
          "LED-OFFICE_SHELF_4-1"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-ES-03",
        "space": "Escritório",
        "title": "LED das prateleiras de livros",
        "status": "preservar pormenor existente",
        "reference": "R27 / LED-ESC-PR01 a PR06",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L2",
        "KNX_group_address_proposed": "1/1/1",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LED-ESC-PR01-1",
          "LED-ESC-PR02-1",
          "LED-ESC-PR03-1",
          "LED-ESC-PR04-1",
          "LED-ESC-PR05-1",
          "LED-ESC-PR06-1"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-SU-01",
        "space": "Suíte",
        "title": "Luz geral do quarto",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / Q_S",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L2",
        "KNX_group_address_proposed": "1/1/2",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LU-SU-01",
          "LU-SU-02"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-SU-02",
        "space": "Suíte",
        "title": "Leitura junto à mesa sul",
        "status": "preservar apliques da proposta visual C2",
        "reference": "R31/R32 / SU-C2-VG-001, lado sul",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L2",
        "KNX_group_address_proposed": "1/1/3",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LE-SU-R38-1"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-SU-03",
        "space": "Suíte",
        "title": "Leitura junto à mesa norte",
        "status": "preservar apliques da proposta visual C2",
        "reference": "R31/R32 / SU-C2-VG-001, lado norte",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L2",
        "KNX_group_address_proposed": "1/1/4",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LE-SU-R38-2"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-CL-01",
        "space": "Closet",
        "title": "Luz geral do closet",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / CLOSET_SU",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L2",
        "KNX_group_address_proposed": "1/1/5",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LU-CL-01"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-CL-02",
        "space": "Closet",
        "title": "LED dos dois bancos",
        "status": "preservar proposta visual C2",
        "reference": "R32 / SU-C2-CL-IN-001 e CL-AC-001",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L2",
        "KNX_group_address_proposed": "1/1/6",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LED-CLB01-1",
          "LED-CLB02-1",
          "LED-CLB03-1",
          "LED-CLB03-2",
          "LED-CLB03-3"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-BS-01",
        "space": "Banho suíte",
        "title": "Luz geral/duche",
        "status": "grupo funcional da iluminação geral; posições por projeto",
        "reference": "R32 / IS_S, linha de interiores confirmada R33",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L3",
        "KNX_group_address_proposed": "1/1/7",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LU-BS-01",
          "LU-BS-02"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-BS-02",
        "space": "Banho suíte",
        "title": "Espelho LED independente",
        "status": "proposta de interiores confirmada R33; produto por selecionar",
        "reference": "Decisão do proprietário: nova linha nas duas I.S.",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L3",
        "KNX_group_address_proposed": "1/1/8",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LED-MIR-IS_S"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-BC-01",
        "space": "Banho comum",
        "title": "Luz geral/duche",
        "status": "grupo funcional da iluminação geral; posições por projeto",
        "reference": "R32 / IS_C, linha de interiores confirmada R33",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L3",
        "KNX_group_address_proposed": "1/1/9",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LU-BC-01",
          "LU-BC-02"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-BC-02",
        "space": "Banho comum",
        "title": "Espelho LED independente",
        "status": "proposta de interiores confirmada R33; produto por selecionar",
        "reference": "Decisão do proprietário: nova linha nas duas I.S.",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L3",
        "KNX_group_address_proposed": "1/1/10",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LED-MIR-IS_C"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-MA-01",
        "space": "Matilde",
        "title": "Luz geral do quarto",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / Q_1",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L2",
        "KNX_group_address_proposed": "1/1/11",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LU-MA-01",
          "LU-MA-R38-2",
          "LU-MA-R38-3"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-MA-02",
        "space": "Matilde",
        "title": "Leitura junto à mesa sul",
        "status": "separação funcional proposta das luzes de cabeceira",
        "reference": "R32 / NT03; luminária/comando por confirmar",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L2",
        "KNX_group_address_proposed": "1/1/12",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LE-MA-R38-1"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-MA-03",
        "space": "Matilde",
        "title": "Leitura junto à mesa norte",
        "status": "separação funcional proposta das luzes de cabeceira",
        "reference": "R32 / NT04; luminária/comando por confirmar",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L2",
        "KNX_group_address_proposed": "1/1/13",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LE-MA-R38-2"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-FR-01",
        "space": "Francisco",
        "title": "Luz geral do quarto",
        "status": "grupo funcional para a iluminação geral existente",
        "reference": "R32 / Q_2",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L2",
        "KNX_group_address_proposed": "1/1/14",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LU-FR-01",
          "LU-FR-R38-2",
          "LU-FR-R38-3"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-FR-02",
        "space": "Francisco",
        "title": "Leitura junto à mesa sul",
        "status": "separação funcional proposta das luzes de cabeceira",
        "reference": "R32 / NT05; luminária/comando por confirmar",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L2",
        "KNX_group_address_proposed": "1/1/15",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LE-FR-R38-1"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-FR-03",
        "space": "Francisco",
        "title": "Leitura junto à mesa norte",
        "status": "separação funcional proposta das luzes de cabeceira",
        "reference": "R32 / NT06; luminária/comando por confirmar",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-L2",
        "KNX_group_address_proposed": "1/1/16",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LE-FR-R38-2"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-EX-01",
        "space": "Entrada exterior",
        "title": "Luz de entrada/pala pequena",
        "status": "grupo funcional da iluminação exterior representada",
        "reference": "R32 / ENTRY_CANOPY; luminárias por selecionar",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-LEX",
        "KNX_group_address_proposed": "1/2/1",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "EX-IN-R38"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-EX-02",
        "space": "Pala carros",
        "title": "Luz da pala dos carros",
        "status": "grupo funcional da iluminação exterior representada",
        "reference": "R32 / CARPORT",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-LEX",
        "KNX_group_address_proposed": "1/2/2",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "EX-CP-R38-1",
          "EX-CP-R38-2"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-EX-03",
        "space": "Jardim",
        "title": "LED linear da pala do jardim",
        "status": "preservar proposta expressa do proprietário",
        "reference": "R32 / lightingStudy.gardenCanopy",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-LEX",
        "KNX_group_address_proposed": "1/2/3",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [
          "LED-JAR-R38-1",
          "LED-JAR-R38-2",
          "LED-JAR-R38-3",
          "LED-JAR-R38-4"
        ],
        "binding_status": "PONTOS_COORDENADOS;produto/fotometria/ETS por emitir"
      },
      {
        "id": "G-EX-04",
        "space": "Exterior",
        "title": "Iluminação dos percursos/muro",
        "status": "preservar intenção visual; pontos por compatibilizar com terreno",
        "reference": "R27 / EX-001, EX-002; sem novas cotas de terreno",
        "electrical_circuit": false,
        "luminaires_or_power_sized": false,
        "circuit_R38": "C-LEX",
        "KNX_group_address_proposed": "1/2/4",
        "power_status": "Produto/fluxo real pendentes;orçamento no mapa de iluminação",
        "point_IDs_R38": [],
        "binding_status": "PERCURSO_EXTERIOR_SEM_LEVANTAMENTO;sem posição final"
      },
      {
        "id": "G-HA-03",
        "space": "Hall / casacos e mochilas",
        "title": "LED interior dos casacos e mochilas",
        "reference": "PANTRY é o ID histórico do armário de casacos; não contém alimentos",
        "electrical_circuit": false,
        "circuit_R38": "C-L1",
        "point_IDs_R38": [
          "LED-PANTRY-1",
          "LED-PANTRY-2"
        ],
        "KNX_group_address_proposed": "1/2/5",
        "binding_status": "Função coordenada; driver e contactos de porta por selecionar",
        "activation_proposed": "Contactos de porta a baixa tensão com atuação local do driver, independente de HA. Sem nova placa na parede. Posição dos contactos por ferragem/folha a escolher.",
        "power_status": "Reserva provisória20W; potência/comprimento dosLED e driver por produto"
      }
    ],
    "physical_controls": {
      "S-HA-01": [
        {
          "key": 1,
          "label": "Hall",
          "targets": [
            "G-HA-01"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Espelho",
          "targets": [
            "G-HA-02"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 3,
          "label": "Chegar",
          "targets": [
            "SC-CHEGAR"
          ],
          "action": "ativar cena proposta",
          "long_press_required": false
        },
        {
          "key": 4,
          "label": "Sair",
          "targets": [
            "SC-SAIR"
          ],
          "action": "ativar cena proposta",
          "long_press_required": false
        }
      ],
      "S-SA-01": [
        {
          "key": 1,
          "label": "Estar",
          "targets": [
            "G-SA-01"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Jantar",
          "targets": [
            "G-SA-02"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 3,
          "label": "TV",
          "targets": [
            "G-SA-03"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 4,
          "label": "Cristaleira",
          "targets": [
            "G-SA-04"
          ],
          "action": "alternar",
          "long_press_required": false
        }
      ],
      "S-CO-01": [
        {
          "key": 1,
          "label": "Geral",
          "targets": [
            "G-CO-01"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Bancada",
          "targets": [
            "G-CO-02"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 3,
          "label": "Pendentes",
          "targets": [
            "G-CO-03"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 4,
          "label": "Ilha + nichos",
          "targets": [
            "G-CO-04"
          ],
          "action": "alternar",
          "long_press_required": false
        }
      ],
      "S-LA-01": [
        {
          "key": 1,
          "label": "Lavandaria",
          "targets": [
            "G-LA-01"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Trabalho",
          "targets": [
            "G-LA-02"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 3,
          "label": "Despensa",
          "targets": [
            "G-LA-03"
          ],
          "action": "alternar",
          "long_press_required": false
        }
      ],
      "S-LA-02": [
        {
          "key": 1,
          "label": "Lavandaria",
          "targets": [
            "G-LA-01"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Trabalho",
          "targets": [
            "G-LA-02"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 3,
          "label": "Despensa",
          "targets": [
            "G-LA-03"
          ],
          "action": "alternar",
          "long_press_required": false
        }
      ],
      "S-DI-01": [
        {
          "key": 1,
          "label": "Circulação",
          "targets": [
            "G-DI-01"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Percurso noite",
          "targets": [
            "SC-NOITE"
          ],
          "action": "ativar cena condicional",
          "long_press_required": false
        }
      ],
      "S-DI-02": [
        {
          "key": 1,
          "label": "Circulação",
          "targets": [
            "G-DI-01"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Percurso noite",
          "targets": [
            "SC-NOITE"
          ],
          "action": "ativar cena condicional",
          "long_press_required": false
        }
      ],
      "S-BC-01": [
        {
          "key": 1,
          "label": "Geral / duche",
          "targets": [
            "G-BC-01"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Espelho LED",
          "targets": [
            "G-BC-02"
          ],
          "action": "alternar",
          "long_press_required": false
        }
      ],
      "S-ES-01": [
        {
          "key": 1,
          "label": "Geral",
          "targets": [
            "G-ES-01"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Dois postos",
          "targets": [
            "G-ES-02"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 3,
          "label": "Livros",
          "targets": [
            "G-ES-03"
          ],
          "action": "alternar",
          "long_press_required": false
        }
      ],
      "S-SU-01": [
        {
          "key": 1,
          "label": "Geral",
          "targets": [
            "G-SU-01"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Leitura ambas",
          "targets": [
            "G-SU-02",
            "G-SU-03"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 3,
          "label": "Closet",
          "targets": [
            "G-CL-01",
            "G-CL-02"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 4,
          "label": "Quarto desligar",
          "targets": [
            "G-SU-01",
            "G-SU-02",
            "G-SU-03"
          ],
          "action": "desligar",
          "long_press_required": false
        }
      ],
      "S-SU-02": [
        {
          "key": 1,
          "label": "Leitura sul",
          "targets": [
            "G-SU-02"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Geral",
          "targets": [
            "G-SU-01"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 3,
          "label": "Percurso noite",
          "targets": [
            "SC-NOITE"
          ],
          "action": "ativar cena condicional",
          "long_press_required": false
        }
      ],
      "S-SU-03": [
        {
          "key": 1,
          "label": "Leitura norte",
          "targets": [
            "G-SU-03"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Geral",
          "targets": [
            "G-SU-01"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 3,
          "label": "Percurso noite",
          "targets": [
            "SC-NOITE"
          ],
          "action": "ativar cena condicional",
          "long_press_required": false
        }
      ],
      "S-CL-01": [
        {
          "key": 1,
          "label": "Geral closet",
          "targets": [
            "G-CL-01"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Bancos LED",
          "targets": [
            "G-CL-02"
          ],
          "action": "alternar",
          "long_press_required": false
        }
      ],
      "S-BS-01": [
        {
          "key": 1,
          "label": "Geral / duche",
          "targets": [
            "G-BS-01"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Espelho LED",
          "targets": [
            "G-BS-02"
          ],
          "action": "alternar",
          "long_press_required": false
        }
      ],
      "S-MA-01": [
        {
          "key": 1,
          "label": "Geral",
          "targets": [
            "G-MA-01"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Leitura ambas",
          "targets": [
            "G-MA-02",
            "G-MA-03"
          ],
          "action": "alternar",
          "long_press_required": false
        }
      ],
      "S-MA-02": [
        {
          "key": 1,
          "label": "Leitura sul",
          "targets": [
            "G-MA-02"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Geral",
          "targets": [
            "G-MA-01"
          ],
          "action": "alternar",
          "long_press_required": false
        }
      ],
      "S-MA-03": [
        {
          "key": 1,
          "label": "Leitura norte",
          "targets": [
            "G-MA-03"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Geral",
          "targets": [
            "G-MA-01"
          ],
          "action": "alternar",
          "long_press_required": false
        }
      ],
      "S-FR-01": [
        {
          "key": 1,
          "label": "Geral",
          "targets": [
            "G-FR-01"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Leitura ambas",
          "targets": [
            "G-FR-02",
            "G-FR-03"
          ],
          "action": "alternar",
          "long_press_required": false
        }
      ],
      "S-FR-02": [
        {
          "key": 1,
          "label": "Leitura sul",
          "targets": [
            "G-FR-02"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Geral",
          "targets": [
            "G-FR-01"
          ],
          "action": "alternar",
          "long_press_required": false
        }
      ],
      "S-FR-03": [
        {
          "key": 1,
          "label": "Leitura norte",
          "targets": [
            "G-FR-03"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Geral",
          "targets": [
            "G-FR-01"
          ],
          "action": "alternar",
          "long_press_required": false
        }
      ],
      "S-EX-01": [
        {
          "key": 1,
          "label": "Pala carros",
          "targets": [
            "G-EX-02"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Percurso entrada",
          "targets": [
            "G-EX-01",
            "G-EX-04"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 3,
          "label": "Exterior desligar",
          "targets": [
            "G-EX-01",
            "G-EX-02",
            "G-EX-03",
            "G-EX-04"
          ],
          "action": "desligar",
          "long_press_required": false
        }
      ],
      "S-EX-02": [
        {
          "key": 1,
          "label": "Pala jardim",
          "targets": [
            "G-EX-03"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Percursos",
          "targets": [
            "G-EX-04"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 3,
          "label": "Exterior desligar",
          "targets": [
            "G-EX-01",
            "G-EX-02",
            "G-EX-03",
            "G-EX-04"
          ],
          "action": "desligar",
          "long_press_required": false
        }
      ],
      "S-LA-03": [
        {
          "key": 1,
          "label": "Lavandaria",
          "targets": [
            "G-LA-01"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 2,
          "label": "Trabalho",
          "targets": [
            "G-LA-02"
          ],
          "action": "alternar",
          "long_press_required": false
        },
        {
          "key": 3,
          "label": "Despensa",
          "targets": [
            "G-LA-03"
          ],
          "action": "alternar",
          "long_press_required": false
        }
      ]
    },
    "circuits": [
      {
        "id": "C-L1",
        "function": "Luz social/hall",
        "phase_study": "L1",
        "power_W": 350,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 1.522,
        "breaker_A_candidate": 10,
        "cable_Cu_PVC_mm2_candidate": 1.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 16.5,
        "Iz_corrected_A": 11.484,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 17.2,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 0.785,
        "voltage_drop_final_circuit_percent": 0.341,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "LU-HA-01",
          "LU-SA-01",
          "LU-SA-02",
          "LU-CO-01",
          "LU-CO-02",
          "LU-JA-01",
          "LED-U03-1",
          "LED-U03-2",
          "LED-U03-3",
          "LED-U_BRIDGE-1",
          "LED-ISLAND-1",
          "LED-PANTRY-1",
          "LED-PANTRY-2",
          "LED-DP02-1",
          "LED-CR02-1",
          "LED-TV03-1",
          "LED-HM01-1",
          "LU-IL-R38-1",
          "LU-IL-R38-2",
          "LU-IL-R38-3"
        ]
      },
      {
        "id": "C-L2",
        "function": "Luz quartos/closet/distribuição",
        "phase_study": "L2",
        "power_W": 400,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 1.739,
        "breaker_A_candidate": 10,
        "cable_Cu_PVC_mm2_candidate": 1.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 16.5,
        "Iz_corrected_A": 11.484,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 26.1,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 1.362,
        "voltage_drop_final_circuit_percent": 0.592,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "LU-DI-01",
          "LU-DI-02",
          "LU-ES-01",
          "LU-ES-02",
          "LU-SU-01",
          "LU-SU-02",
          "LU-CL-01",
          "LU-MA-01",
          "LU-FR-01",
          "LED-OFFICE_SHELF_1-1",
          "LED-OFFICE_SHELF_2-1",
          "LED-OFFICE_SHELF_3-1",
          "LED-OFFICE_SHELF_4-1",
          "LED-ESC-PR01-1",
          "LED-ESC-PR02-1",
          "LED-ESC-PR03-1",
          "LED-ESC-PR04-1",
          "LED-ESC-PR05-1",
          "LED-ESC-PR06-1",
          "LED-CLB01-1",
          "LED-CLB02-1",
          "LED-CLB03-1",
          "LED-CLB03-2",
          "LED-CLB03-3",
          "LE-SU-R38-1",
          "LE-SU-R38-2",
          "LE-MA-R38-1",
          "LE-MA-R38-2",
          "LE-FR-R38-1",
          "LE-FR-R38-2",
          "LU-MA-R38-2",
          "LU-MA-R38-3",
          "LU-FR-R38-2",
          "LU-FR-R38-3"
        ]
      },
      {
        "id": "C-L3",
        "function": "Luz banhos/lavandaria",
        "phase_study": "L3",
        "power_W": 180,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 0.783,
        "breaker_A_candidate": 10,
        "cable_Cu_PVC_mm2_candidate": 1.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 16.5,
        "Iz_corrected_A": 11.484,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 20.8,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 0.488,
        "voltage_drop_final_circuit_percent": 0.212,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "LED-MIR-IS_C",
          "LED-MIR-IS_S",
          "LU-LA-01",
          "LU-LA-02",
          "LU-BC-01",
          "LU-BC-02",
          "LU-BS-01",
          "LU-BS-02",
          "LED-LS02-1"
        ]
      },
      {
        "id": "C-LEX",
        "function": "Luz exterior",
        "phase_study": "L1",
        "power_W": 250,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 1.087,
        "breaker_A_candidate": 10,
        "cable_Cu_PVC_mm2_candidate": 1.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 16.5,
        "Iz_corrected_A": 11.484,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 25.7,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 0.838,
        "voltage_drop_final_circuit_percent": 0.364,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "EX-IN-R38",
          "EX-CP-R38-1",
          "EX-CP-R38-2",
          "LED-JAR-R38-1",
          "LED-JAR-R38-2",
          "LED-JAR-R38-3",
          "LED-JAR-R38-4"
        ]
      },
      {
        "id": "C-TSA",
        "function": "Tomadas sala/hall",
        "phase_study": "L2",
        "power_W": 2300,
        "power_basis": "reserva deuso simultâneo circuito;NÃOconsumo anual",
        "Ib_A": 10.0,
        "breaker_A_candidate": 16,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 20.3,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 3.654,
        "voltage_drop_final_circuit_percent": 1.589,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "T-SA-01",
          "T-SA-02",
          "T-SA-03",
          "T-HA-01",
          "T-TV-R38"
        ]
      },
      {
        "id": "C-TES",
        "function": "Tomadas escritório",
        "phase_study": "L3",
        "power_W": 2300,
        "power_basis": "reserva deuso simultâneo circuito;NÃOconsumo anual",
        "Ib_A": 10.0,
        "breaker_A_candidate": 16,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 16.1,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 2.898,
        "voltage_drop_final_circuit_percent": 1.26,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "T-ES-01",
          "T-ES-02",
          "T-ES-03",
          "T-ES-R38-A",
          "T-ES-R38-B"
        ]
      },
      {
        "id": "C-TQS",
        "function": "Tomadas suíte",
        "phase_study": "L1",
        "power_W": 2300,
        "power_basis": "reserva deuso simultâneo circuito;NÃOconsumo anual",
        "Ib_A": 10.0,
        "breaker_A_candidate": 16,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 26.0,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 4.68,
        "voltage_drop_final_circuit_percent": 2.035,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "T-SU-01",
          "T-SU-02",
          "T-SU-03",
          "T-SU-COM-R38"
        ]
      },
      {
        "id": "C-TQ1",
        "function": "Tomadas Matilde",
        "phase_study": "L2",
        "power_W": 2300,
        "power_basis": "reserva deuso simultâneo circuito;NÃOconsumo anual",
        "Ib_A": 10.0,
        "breaker_A_candidate": 16,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 13.3,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 2.394,
        "voltage_drop_final_circuit_percent": 1.041,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "T-MA-01",
          "T-MA-02",
          "T-MA-03",
          "T-MA-COM-R38"
        ]
      },
      {
        "id": "C-TQ2",
        "function": "Tomadas Francisco",
        "phase_study": "L3",
        "power_W": 2300,
        "power_basis": "reserva deuso simultâneo circuito;NÃOconsumo anual",
        "Ib_A": 10.0,
        "breaker_A_candidate": 16,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 20.0,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 3.6,
        "voltage_drop_final_circuit_percent": 1.565,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "T-FR-01",
          "T-FR-02",
          "T-FR-03",
          "T-FR-COM-R38"
        ]
      },
      {
        "id": "C-TCO1",
        "function": "Bancada cozinha+exaustor",
        "phase_study": "L1",
        "power_W": 3680,
        "power_basis": "reserva deuso simultâneo circuito;NÃOconsumo anual",
        "Ib_A": 16.0,
        "breaker_A_candidate": 16,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 11.2,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 3.226,
        "voltage_drop_final_circuit_percent": 1.402,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "T-CO-01",
          "T-CO-02",
          "E-EXA"
        ]
      },
      {
        "id": "C-TCO2",
        "function": "Ilha eauxiliar cozinha",
        "phase_study": "L3",
        "power_W": 3680,
        "power_basis": "reserva deuso simultâneo circuito;NÃOconsumo anual",
        "Ib_A": 16.0,
        "breaker_A_candidate": 16,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 9.7,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 2.794,
        "voltage_drop_final_circuit_percent": 1.215,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "T-IL-01",
          "T-CO-03-R38"
        ]
      },
      {
        "id": "C-FOR",
        "function": "HB478G5B7 forno",
        "phase_study": "L1",
        "power_W": 3600,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 15.652,
        "breaker_A_candidate": 16,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 11.7,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 3.296,
        "voltage_drop_final_circuit_percent": 1.433,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "E-FOR"
        ]
      },
      {
        "id": "C-CM",
        "function": "CM724G1B1 compacto",
        "phase_study": "L2",
        "power_W": 3600,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 15.652,
        "breaker_A_candidate": 16,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 11.7,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 3.296,
        "voltage_drop_final_circuit_percent": 1.433,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "E-CM"
        ]
      },
      {
        "id": "C-PL",
        "function": "ED651HSC1E indução2N",
        "phase_study": "L2+L3",
        "power_W": 6900,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 15.0,
        "breaker_A_candidate": 16,
        "cable_Cu_PVC_mm2_candidate": 4,
        "loaded_conductors_assumed": 3,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 27,
        "Iz_corrected_A": 18.792,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 8.3,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 1.401,
        "voltage_drop_final_circuit_percent": 0.609,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "cortecomum2L+N;PEseparado",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "E-PL"
        ],
        "note": "Ib15A porramo pressupõe repartiçãoigual6900/2,que NÃO está provada para todasfunçõespowerboost;necessário manual ligação/limitecorrente porramo. Se 1N,Ib30A e proteção/cabo mudam."
      },
      {
        "id": "C-FRI",
        "function": "KI86FHDD0 frio",
        "phase_study": "L1",
        "power_W": 90,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 0.391,
        "breaker_A_candidate": 10,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 12.4,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 0.087,
        "voltage_drop_final_circuit_percent": 0.038,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "E-FRI"
        ]
      },
      {
        "id": "C-MLL",
        "function": "SN65YX00CE loiça",
        "phase_study": "L3",
        "power_W": 2400,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 10.435,
        "breaker_A_candidate": 16,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 11.6,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 2.179,
        "voltage_drop_final_circuit_percent": 0.947,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "E-MLL"
        ]
      },
      {
        "id": "C-MLR",
        "function": "WG54N2A0ES roupa",
        "phase_study": "L2",
        "power_W": 2300,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 10.0,
        "breaker_A_candidate": 16,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 16.8,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 3.024,
        "voltage_drop_final_circuit_percent": 1.315,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "E-MLR"
        ]
      },
      {
        "id": "C-MSR",
        "function": "WQ46N2D0ES secar",
        "phase_study": "L1",
        "power_W": 800,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 3.478,
        "breaker_A_candidate": 10,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 16.1,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 1.008,
        "voltage_drop_final_circuit_percent": 0.438,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "E-MSR"
        ]
      },
      {
        "id": "C-AQS",
        "function": "AQS alternativa250solar",
        "phase_study": "L3",
        "power_W": 2500,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 10.87,
        "breaker_A_candidate": 16,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 18.4,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 3.6,
        "voltage_drop_final_circuit_percent": 1.565,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "E-AQS"
        ]
      },
      {
        "id": "C-VMC",
        "function": "Q350 compré-aquecimento opcional",
        "phase_study": "L1",
        "power_W": 1850,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 8.043,
        "breaker_A_candidate": 10,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 18.2,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 2.635,
        "voltage_drop_final_circuit_percent": 1.146,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "E-VMC"
        ]
      },
      {
        "id": "C-AC",
        "function": "Multisplit4portas reserva",
        "phase_study": "L3",
        "power_W": null,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": null,
        "breaker_A_candidate": 25,
        "cable_Cu_PVC_mm2_candidate": 6,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 38,
        "Iz_corrected_A": 26.448,
        "Ib_le_In_le_Iz_conditional": null,
        "route_length_estimate_m": 20.0,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 3.75,
        "voltage_drop_final_circuit_percent": 1.63,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "AC-SAL-01",
          "AC-SU-01",
          "AC-MA-01",
          "AC-FR-01",
          "AC-OUT-R38"
        ],
        "note": "25A é candidato de manualMXZ, nãocorrente deconsumo;Ibprecisaseleção comcombinação real. Fica semcheckIb."
      },
      {
        "id": "C-BC",
        "function": "Dupla banho comum",
        "phase_study": "L2",
        "power_W": 2300,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 10.0,
        "breaker_A_candidate": 16,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 8.9,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 1.602,
        "voltage_drop_final_circuit_percent": 0.697,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "BC-SOCKET"
        ]
      },
      {
        "id": "C-BS",
        "function": "Dupla banho suíte",
        "phase_study": "L1",
        "power_W": 2300,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 10.0,
        "breaker_A_candidate": 16,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 17.7,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 3.186,
        "voltage_drop_final_circuit_percent": 1.385,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "BS-SOCKET"
        ]
      },
      {
        "id": "C-TC",
        "function": "Toalheiro comum",
        "phase_study": "L2",
        "power_W": 500,
        "power_basis": "reserva deuso simultâneo circuito;NÃOconsumo anual",
        "Ib_A": 2.174,
        "breaker_A_candidate": 10,
        "cable_Cu_PVC_mm2_candidate": 1.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 16.5,
        "Iz_corrected_A": 11.484,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 7.3,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 0.476,
        "voltage_drop_final_circuit_percent": 0.207,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "BC-TOWEL-HEAT"
        ]
      },
      {
        "id": "C-TS",
        "function": "Toalheiro suíte",
        "phase_study": "L3",
        "power_W": 500,
        "power_basis": "reserva deuso simultâneo circuito;NÃOconsumo anual",
        "Ib_A": 2.174,
        "breaker_A_candidate": 10,
        "cable_Cu_PVC_mm2_candidate": 1.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 16.5,
        "Iz_corrected_A": 11.484,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 17.8,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 1.161,
        "voltage_drop_final_circuit_percent": 0.505,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "BS-TOWEL-HEAT"
        ]
      },
      {
        "id": "C-EST",
        "function": "6motoresestores",
        "phase_study": "L2",
        "power_W": 900,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 3.913,
        "breaker_A_candidate": 10,
        "cable_Cu_PVC_mm2_candidate": 1.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 16.5,
        "Iz_corrected_A": 11.484,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 22.9,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 2.688,
        "voltage_drop_final_circuit_percent": 1.169,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "E-CO-01",
          "E-SA-01",
          "E-SU-01",
          "E-MA-01",
          "E-FR-01",
          "E-ES-01",
          "MTR-VE2-R38",
          "MTR-VE6-R38",
          "MTR-VE7-R38",
          "MTR-VE4-R38",
          "MTR-VE5-R38",
          "MTR-P3-R38"
        ]
      },
      {
        "id": "C-NET",
        "function": "ATI/domótica/UPS",
        "phase_study": "L1",
        "power_W": 500,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 2.174,
        "breaker_A_candidate": 10,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 4.6,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 0.18,
        "voltage_drop_final_circuit_percent": 0.078,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "ATI-01"
        ]
      },
      {
        "id": "C-VE1",
        "function": "Wallbox1",
        "phase_study": "3P",
        "power_W": 11085,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 16.0,
        "breaker_A_candidate": 20,
        "cable_Cu_PVC_mm2_candidate": 6,
        "loaded_conductors_assumed": 3,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 34,
        "Iz_corrected_A": 23.664,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 29.0,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 3.014,
        "voltage_drop_final_circuit_percent": 0.753,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "4Pativos",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "VE-CARGA-01"
        ]
      },
      {
        "id": "C-VE2",
        "function": "Wallbox2",
        "phase_study": "3P",
        "power_W": 11085,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 16.0,
        "breaker_A_candidate": 20,
        "cable_Cu_PVC_mm2_candidate": 6,
        "loaded_conductors_assumed": 3,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 34,
        "Iz_corrected_A": 23.664,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 29.0,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 3.014,
        "voltage_drop_final_circuit_percent": 0.753,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "4Pativos",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "VE-CARGA-02"
        ]
      },
      {
        "id": "C-TEX",
        "function": "Tomadas exteriores",
        "phase_study": "L3",
        "power_W": 2300,
        "power_basis": "reserva deuso simultâneo circuito;NÃOconsumo anual",
        "Ib_A": 10.0,
        "breaker_A_candidate": 16,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 18.9,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 3.402,
        "voltage_drop_final_circuit_percent": 1.479,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "T-EX-01",
          "T-EX-02"
        ]
      },
      {
        "id": "C-LAV",
        "function": "Tomada auxiliarlavandaria",
        "phase_study": "L2",
        "power_W": 2300,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 10.0,
        "breaker_A_candidate": 16,
        "cable_Cu_PVC_mm2_candidate": 2.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 23,
        "Iz_corrected_A": 16.008,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 17.0,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 3.06,
        "voltage_drop_final_circuit_percent": 1.33,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "T-LA-01"
        ]
      },
      {
        "id": "C-SOL",
        "function": "Bomba/controladorsolar",
        "phase_study": "L2",
        "power_W": 150,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 0.652,
        "breaker_A_candidate": 10,
        "cable_Cu_PVC_mm2_candidate": 1.5,
        "loaded_conductors_assumed": 2,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 16.5,
        "Iz_corrected_A": 11.484,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 17.9,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 0.35,
        "voltage_drop_final_circuit_percent": 0.152,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "1P+N",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "S-SOLAR-R38"
        ]
      },
      {
        "id": "C-PV",
        "function": "Injeçãoinversor3P10kW",
        "phase_study": "3P",
        "power_W": 10000,
        "power_basis": "ficha/R37 ou reserva declarada;verfontes",
        "Ib_A": 16.4,
        "breaker_A_candidate": 20,
        "cable_Cu_PVC_mm2_candidate": 6,
        "loaded_conductors_assumed": 3,
        "method_assumed": "B2,cabomulticondutor emconduta,semisolamentotérmico envolvente",
        "ambient_C_assumed": 40,
        "temperature_factor": 0.87,
        "grouping_factor_assumed": 0.8,
        "Iz_reference_A": 34,
        "Iz_corrected_A": 23.664,
        "Ib_le_In_le_Iz_conditional": true,
        "route_length_estimate_m": 20.0,
        "route_length_measured": false,
        "voltage_drop_final_circuit_V": 2.13,
        "voltage_drop_final_circuit_percent": 0.533,
        "total_voltage_drop_from_supply_percent": null,
        "RCD_candidate": "Individual30mAtipoA;tipoF/Bsegundomanualeletrónica/AC/PV;EVexigeDC6mAouB",
        "poles": "4Pativos",
        "curve_breaking_capacity": "NÃO DIMENSIONADOS;Icc,Zs,seletividade e fabricante necessários",
        "status": "CALCULO_CONDICIONAL;NAO_EXECUTAR",
        "points": [
          "INV-PV-R38"
        ],
        "note": "Calibre inversor/max16.4A,ondetotalalimentaçãoQCER+PVpodeexcederIngeral;cálculobarramento eproteções específico. Cabona coberturanão modeladoB2 eexige proteçãoUV/temperatura."
      }
    ],
    "execution_released": false,
    "functional_revision": "FINAL-v04-grupo-casacos",
    "frozen_after_final_audit": true,
    "source_sha256": "8aa929bd39f11c2f92c9285e02fe46507800d22d26b593b0247fed310bd3b8ad",
    "changes_role": "HISTORICO_R38_ANTES_OVERRIDE_R41; active points are current, do not replay old changes.",
    "active_revision": "R41",
    "legacy_key_notice": "Key retained for runtime compatibility; points and override R41 are current proposals."
  },
  "laundrySolarCandidateR38": {
    "interface": {
      "old_study": "NUOSPLUSS2WiFiFS2503069791,nãodemonstradaserpentinasolar",
      "candidate": "NUOSPLUSWiFi250I/SYS,serpentina auxiliar provada emfonteAriston;SKU/PTporconfirmar",
      "candidate_body_bbox_CAD_m": [
        0.09,
        6.06,
        0,
        0.69,
        6.74,
        1.997
      ],
      "provisional_connections_envelope_CAD_m": [
        0.69,
        6.06,
        0,
        1.04,
        6.74,
        1.997
      ],
      "status": "PROPOSTA_ALTERNATIVA_NAO_ADOTADA;NAO_LIGAR_COLETORES_AO_DEPOSITO_R37",
      "impact": "60mmaisalto45mmmaisprofundoqueR37;outrodizgeometriaR290nãoétransportável. Reservafolgas nãoequivale ao manualSYS;VMCchassisX1.04deixaconnzona350mmbodyside;acessotécnicorealpendente.",
      "hydraulic_scheme": "Esquema_Hidraulico_Funcional_R38.svg"
    },
    "status": "CANDIDATO_SYS_EM_ESTUDO_NAO_ADOTADO",
    "display": "Mostrar envelope de estudo com legenda própria; não apresentar referência S2 antiga como ligada ao solar."
  },
  "laundryStorageR39": {
    "id": "R39-LAV-01",
    "revision": "R39",
    "created_utc": "2026-10-30T10:46:09.275929+00:00",
    "status": "PROPOSTA_FUNCIONAL_DENTRO_DO_PEDIDO_DO_PROPRIETARIO; POR_VALIDAR_EM_OBRA_E_FERRAGENS",
    "owner_request": "Reservar local para tábua de engomar, ferro e roupa; reduzir a mercearia e distinguir visualmente lavandaria e alimentos.",
    "recommended_variant": "B_1680_laundry",
    "alternative_comparison": {
      "A": {
        "laundry_modules": [
          "D01",
          "D02"
        ],
        "laundry_width_mm": 1080,
        "food_module_front_mm": 2480,
        "tradeoff": "Permite tábua e ferro/cestos/prateleiras, mas não uma coluna adicional autónoma para peças em cabides; para a incluir emD02 seria necessário abdicar de roupa dobrada ou do compartimento acessível do ferro.",
        "capacity": {
          "tall_shelf_surface_m2": 3.579408,
          "tall_geometric_L": 1245.633984,
          "bridge_geometric_L": 176.047056,
          "drawer_target_L": 372.24,
          "total_geometric_plus_drawer_target_L": 1793.92104,
          "not_certified_usable_capacity": true
        }
      },
      "B": {
        "laundry_modules": [
          "D01",
          "D02",
          "D03"
        ],
        "laundry_width_mm": 1680,
        "food_module_front_mm": 1880,
        "tradeoff": "Distingue tábua, ferro frio, cestos de roupa a lavar, roupa dobrada e peças secas em cabides; mantém seis gavetas alimentares, duas colunas e duas pontes.",
        "capacity": {
          "tall_shelf_surface_m2": 1.992312,
          "tall_geometric_L": 693.324576,
          "bridge_geometric_L": 176.047056,
          "drawer_target_L": 372.24,
          "total_geometric_plus_drawer_target_L": 1241.611632,
          "not_certified_usable_capacity": true
        }
      }
    },
    "front_width_chain_mm": [
      20,
      530,
      550,
      600,
      550,
      550,
      400,
      380,
      20
    ],
    "overall_run_mm": 3600,
    "visual_zone_widths_including_own_side_filler_mm": {
      "laundry": 1700,
      "food": 1900
    },
    "boundary_global_x_mm": 1950,
    "front_depth_mm": 450,
    "front_height_mm": 2700,
    "finish_strategy": {
      "D01_D02_D03_and_west_filler": "Lacado marfim mate afinado à cozinha; amostra final por confirmar",
      "food_modules": "Carvalho natural mate",
      "division": "Mudança de acabamento na fronteiraX1950, com dois corpos independentes encostados:18+18mm de ilhargas, sem perfuração de comunicação. Não aumenta a largura da frente.",
      "top_scribe": "1680mm marfim +1880mm carvalho; juntas sobre divisões dos corpos.",
      "colour_reference": "Usar a amostra de lacado marfim da cozinha e carvalho natural já presentes na casa; não foi escolhido novoRAL."
    },
    "recommended_module_ids": [
      "D01",
      "D02",
      "D03",
      "D-REM-O",
      "D-REM-T",
      "D04",
      "D05",
      "DB01",
      "DB02",
      "DP01",
      "DP02"
    ],
    "capacity_comparison": {
      "R38_original": {
        "tall_shelf_surface_m2": 6.41592,
        "tall_geometric_L": 2232.74016,
        "bridge_geometric_L": 176.047056,
        "drawer_target_L": 372.24,
        "total_geometric_plus_drawer_target_L": 2781.0272159999995,
        "not_certified_usable_capacity": true
      },
      "A_1080_laundry": {
        "tall_shelf_surface_m2": 3.579408,
        "tall_geometric_L": 1245.633984,
        "bridge_geometric_L": 176.047056,
        "drawer_target_L": 372.24,
        "total_geometric_plus_drawer_target_L": 1793.92104,
        "not_certified_usable_capacity": true
      },
      "B_1680_laundry": {
        "tall_shelf_surface_m2": 1.992312,
        "tall_geometric_L": 693.324576,
        "bridge_geometric_L": 176.047056,
        "drawer_target_L": 372.24,
        "total_geometric_plus_drawer_target_L": 1241.611632,
        "not_certified_usable_capacity": true
      }
    },
    "circulation": {
      "unchanged_outer_envelopes": true,
      "R38_closed_conservative_aisle_mm": 1342,
      "largest_retained_leaf_projection_mm": 296.5,
      "conservative_clear_aisle_one_leaf_open_mm": 1045.5,
      "drawer_nominal_travel_mm": 400,
      "conservative_clear_aisle_food_drawer_open_mm": 942,
      "basis": "Fechado=8050−6695−13; folha aberta deduz296,5; gaveta deduz400. É limite conservador transversal, não prova de todas as aberturas simultâneas.",
      "SYS_candidate_note": "A alternativa AQS SYS continua não adotada; a sua projeção extra45mm reduziria estes limites a1297/1000,5/897mm. Folgas de serviço e manualSYS continuam por validar.",
      "P2": {
        "hinge_CAD_m": [
          -0.05,
          6.83
        ],
        "leaf_radius_mm": 820,
        "open_to_north_max_y_mm": 7650,
        "D01_open_leaf_handle_min_y_mm": 7775.5,
        "nominal_separation_mm": 125.5,
        "note": "Cálculo com arco idealizado e puxador13; aferir guarnições/espessuras e ferragens reais."
      },
      "P6": {
        "sliding": true,
        "cassette_bbox_CAD_m": [
          3.85,
          7.4,
          4,
          8.4
        ],
        "wall_fixing_exclusion": "Não fixar remates/corpos ao miolo da casseteP6. Apoios no pavimento e travamentos em pano verificado."
      }
    },
    "ironing": {
      "scope": "Guardar, não engomar dentro do armário.",
      "stored_object_max_WDH_mm": [
        400,
        100,
        1500
      ],
      "permanent_open_workstation_provided": false,
      "open_board_not_approved_in_current_aisle": true,
      "reason": "Uma tábua aberta e a pessoa a operar consomem a circulação P2↔P6 e o acesso aos equipamentos; não atribuir estação de trabalho permanente sem estudo adicional. O pedido atual de armazenamento é satisfeito com a tábua fechada.",
      "hot_iron_rule": "Só guardar ferro frio/desligado; não há tomada nem superfície de engomagem no armário."
    },
    "separation": {
      "food": "D04/D05/DB01/DB02/DP01/DP02 apenas alimentos secos/embalados.",
      "washing_products": "LS01/LS02 fechados, fora dos alimentos e da roupa limpa. Quantidades/fichas de segurança dos produtos por confirmar.",
      "dirty_clothes": "Dois cestos amovíveis fechados noD02, retirados para as máquinas. Não roupa molhada.",
      "clean_clothes": "Baias superioresD02/D03 evarãoD03; prateleiras fixas separam cestos/ferro/roupa.",
      "ventilation": "Não abrir grelhas comuns entre os corpos alimentares e os de lavagem. A ventilação geral do compartimento/VMC continua no projeto de especialidades; um render não a comprova."
    },
    "lighting": {
      "new_LED": false,
      "existing_LED_DP": "Preservado, LED-DP sob ponte alimentar; posição/circuitoCL01 não muda.",
      "outlet_inside_board_or_iron_cabinet": false
    },
    "fabrication_released": false,
    "publication_executed": false,
    "runtime_objects": [
      {
        "id": "L39-TABUA",
        "module": "D01",
        "type": "folded_ironing_board_envelope",
        "bbox_CAD_m": [
          0.335,
          8.09,
          0.118,
          0.735,
          8.19,
          1.618
        ],
        "max_dimensions_WDH_mm": [
          400,
          100,
          1500
        ],
        "schematic_only": true
      },
      {
        "id": "L39-FERRO",
        "module": "D02",
        "type": "cold_unplugged_iron_envelope",
        "bbox_CAD_m": [
          0.835,
          8.09,
          0.85,
          1.315,
          8.44,
          1.15
        ],
        "max_dimensions_WDH_mm": [
          480,
          350,
          300
        ],
        "schematic_only": true
      },
      {
        "id": "L39-CESTO1",
        "module": "D02",
        "type": "closed_removable_laundry_basket_envelope",
        "bbox_CAD_m": [
          0.835,
          8.1,
          0.35,
          1.065,
          8.45,
          0.8
        ],
        "max_dimensions_WDH_mm": [
          230,
          350,
          450
        ],
        "schematic_only": true
      },
      {
        "id": "L39-CESTO2",
        "module": "D02",
        "type": "closed_removable_laundry_basket_envelope",
        "bbox_CAD_m": [
          1.085,
          8.1,
          0.35,
          1.315,
          8.45,
          0.8
        ],
        "max_dimensions_WDH_mm": [
          230,
          350,
          450
        ],
        "schematic_only": true
      },
      {
        "id": "L39-ROUPA-CABIDES",
        "module": "D03",
        "type": "dry_garment_envelope",
        "bbox_CAD_m": [
          1.41,
          8.1,
          0.61,
          1.89,
          8.46,
          1.66
        ],
        "max_dimensions_WDH_mm": [
          480,
          360,
          1050
        ],
        "schematic_only": true
      },
      {
        "id": "L39-VARAO",
        "module": "D03",
        "type": "front_facing_rail",
        "startCAD_m": [
          1.65,
          8.12,
          1.66
        ],
        "endCAD_m": [
          1.65,
          8.45,
          1.66
        ],
        "length_mm": 330,
        "diameter_mm_proposal": 25,
        "support_and_load_pending": true
      }
    ],
    "current_food_module_ids": [
      "D04",
      "D05",
      "DB01",
      "DB02",
      "DP01",
      "DP02"
    ],
    "current_laundry_tall_ids": [
      "D01",
      "D02",
      "D03"
    ],
    "storage_program_by_id": {
      "D01": "TABUA_GUARDADA_ACESSORIOS_SECOS",
      "D02": "CESTOS_ROUPA_FERRO_FRIO_ROUPA_DOBRADA",
      "D03": "CABIDES_ROUPA_SECA_TEXTEIS",
      "D04": "ALIMENTOS_SECOS",
      "D05": "ALIMENTOS_SECOS",
      "DB01": "ALIMENTOS_SECOS_GAVETAS",
      "DB02": "ALIMENTOS_SECOS_GAVETAS",
      "DP01": "ALIMENTOS_SECOS_OCASIONAL",
      "DP02": "ALIMENTOS_SECOS_OCASIONAL"
    },
    "organization": [
      "D01: tábua de engomar fechada; capas e acessórios secos no maleiro",
      "D02: dois cestos fechados de roupa a lavar; ferro frio; roupa limpa dobrada",
      "D03: peças secas em cabides frontais; roupa limpa e reserva de têxteis",
      "D04: pequeno-almoço, cereais e lanches em embalagens/recipientes fechados",
      "D05: arroz, massas, leguminosas, conservas e stock alimentar seco",
      "DB01/DB02: seis gavetas alimentares para pacotes, frascos e reservas; cargas/corrediças por confirmar",
      "DP01/DP02: stock alimentar de uso ocasional; acesso às pontes por estudar com escadote recolhido fora da passagem"
    ],
    "handle_program_R39": {
      "lower_front_centres_Z_mm": 1050,
      "upper_front_centres_Z_mm": 1890,
      "bar_length_mm": 150,
      "centre_distance_from_meeting_edge_mm": 30,
      "max_projection_mm": 13,
      "hole_pitch_mm": null,
      "status": "RESERVA; furação conforme ferragem real",
      "handles": [
        {
          "module_id": "D01",
          "front_id": "D01-B1",
          "centre_u_mm": 233.5,
          "centre_z_mm": 1050,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D01",
          "front_id": "D01-B2",
          "centre_u_mm": 296.5,
          "centre_z_mm": 1050,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D01",
          "front_id": "D01-C1",
          "centre_u_mm": 233.5,
          "centre_z_mm": 1890,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D01",
          "front_id": "D01-C2",
          "centre_u_mm": 296.5,
          "centre_z_mm": 1890,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D02",
          "front_id": "D02-B1",
          "centre_u_mm": 243.5,
          "centre_z_mm": 1050,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D02",
          "front_id": "D02-B2",
          "centre_u_mm": 306.5,
          "centre_z_mm": 1050,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D02",
          "front_id": "D02-C1",
          "centre_u_mm": 243.5,
          "centre_z_mm": 1890,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D02",
          "front_id": "D02-C2",
          "centre_u_mm": 306.5,
          "centre_z_mm": 1890,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D03",
          "front_id": "D03-B1",
          "centre_u_mm": 268.5,
          "centre_z_mm": 1050,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D03",
          "front_id": "D03-B2",
          "centre_u_mm": 331.5,
          "centre_z_mm": 1050,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D03",
          "front_id": "D03-C1",
          "centre_u_mm": 268.5,
          "centre_z_mm": 1890,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D03",
          "front_id": "D03-C2",
          "centre_u_mm": 331.5,
          "centre_z_mm": 1890,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D04",
          "front_id": "D04-B1",
          "centre_u_mm": 168.5,
          "centre_z_mm": 1050,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D04",
          "front_id": "D04-B2",
          "centre_u_mm": 231.5,
          "centre_z_mm": 1050,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D04",
          "front_id": "D04-C1",
          "centre_u_mm": 168.5,
          "centre_z_mm": 1890,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D04",
          "front_id": "D04-C2",
          "centre_u_mm": 231.5,
          "centre_z_mm": 1890,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D05",
          "front_id": "D05-B1",
          "centre_u_mm": 158.5,
          "centre_z_mm": 1050,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D05",
          "front_id": "D05-B2",
          "centre_u_mm": 221.5,
          "centre_z_mm": 1050,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D05",
          "front_id": "D05-C1",
          "centre_u_mm": 158.5,
          "centre_z_mm": 1890,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        },
        {
          "module_id": "D05",
          "front_id": "D05-C2",
          "centre_u_mm": 221.5,
          "centre_z_mm": 1890,
          "length_mm": 150,
          "orientation": "vertical",
          "max_projection_mm": 13,
          "fixing_pitch_mm": null,
          "status": "RESERVA DE POSIÇÃO; referência/furação/carga conforme ferragem real antes de fabricar"
        }
      ]
    }
  },
  "R39_status": "DESENVOLVIMENTO_DENTRO_DO_PEDIDO; NAO_FABRICAR_NAO_INSTALAR",
  "source_R39": {
    "published_model_sha256": "93508c144409d5b5c399b81e4a7dac95124d7d5d4cf744a53e0d5098df0a43da",
    "published_global_sha256": "88cdfe6c571a1a512873f7749d07d86286f9fad5a626f00c4eac002498ea1392",
    "published_modules_sha256": "b4642b07da6137e6b15dfa91b7583de7590b055ff271789110f7b02bdbb3b5c1",
    "base_manifest": "output/R38_Base_Publicada_AC01_2026-10-30/BASE_ATUAL_PARA_DESENVOLVIMENTO.json",
    "preserve_AC01": true,
    "changed_scope": [
      "Two bedroom mirrors",
      "D01..D03 laundry programme/finish; food reclassification"
    ],
    "all_architectural_walls_openings_unchanged": true
  },
  "carpentryContractR39": {
    "file": "Modulos_Carpintaria_R39.json",
    "sha256": "6db095a25d04c7ed2bd4493b9f710d85b6de7e84dd4b5eb58f99002e7d3a32cd",
    "module_count": 75,
    "fabrication_released": false,
    "role_R41": "Proveniência R39; contrato corrente carpentryContractR41."
  },
  "electricalOverrideR41": {
    "schema": "obras-casa/electrical-point-relocations/1",
    "revision": "R41",
    "scope": "Two existing IDs, no extra plate or circuit",
    "adopted_for_execution": false,
    "purchase_released": false,
    "point_replacements": [
      {
        "id": "T-MA-03",
        "before_CAD_m": [
          13.35,
          6.55,
          0.3
        ],
        "after_CAD_m": [
          13.35,
          5.85,
          0.3
        ],
        "status": "PROPOSTA_A_VALIDAR"
      },
      {
        "id": "T-FR-03",
        "before_CAD_m": [
          13.35,
          1.5,
          0.3
        ],
        "after_CAD_m": [
          13.35,
          2.7,
          0.3
        ],
        "status": "PROPOSTA_A_VALIDAR"
      }
    ],
    "points_count_preserved": 197,
    "physical_points_count_preserved": 60,
    "metric_authority": "../estudo_acessos/Proposta_Reposicao_Tomadas_R41.json",
    "metric_authority_sha256": "541cd87d83fa34e140288c06c7b8ff61403ad663abf009fe225b919e8569c4ff"
  },
  "R41_status": "DESENVOLVIMENTO_COORDENADO;NAO_FABRICAR_NAO_INSTALAR",
  "source_R41": {
    "published_base_manifest": "../auditoria/base_publicada/BASE_ATUAL_PARA_DESENVOLVIMENTO_R41.json",
    "global_R39_sha256": "ac20f84322e575a26432cdd7ffb2449038a56270f754dcc83e8a9657f3f279fc",
    "model_R39_sha256": "5905af2f190fa282b88d8f088dbc2edd82233872337bf17dc405299589c24ec7",
    "owner_decision": "1800 mm centrada, posterior e prevalecente sobre brief2000",
    "R40_role": "Separate bathroom proposal, not adopted or merged",
    "geometry_frozen_walls_openings_beds": true
  },
  "carpentryContractR41": {
    "file": "Modulos_Carpintaria_R41.json",
    "sha256": "f60f9c2acb71ad0fcd952c0855740b83e562a3870e0194a149f4294158258a42",
    "module_count": 75,
    "fabrication_released": false,
    "role_R42": "HISTÓRICO R41; contrato corrente carpentryContractR42. Os outros73 módulos conservam o conteúdo R41."
  },
  "installationContractR41": {
    "model_file": "Contrato_Modelo_Instalacoes_R41.json",
    "model_sha256": "1ac6e5c0c0b9d816609223e80f54970f4c8a459697c3da70f71e17065530aa6e",
    "programme_file": "Programa_Instalacoes_R41.json",
    "programme_sha256": "ecc25a46d09b845d7869bf6dad7f18cb3610d4047e8e96c5f79bf3476b133c5a",
    "count_points": 197,
    "count_plates": 60,
    "execution_released": false
  },
  "R42_status": "DESENVOLVIMENTO_COORDENADO;NAO_FABRICAR_NAO_INSTALAR",
  "source_R42": {
    "published_base_manifest": "../auditoria/base_publicada/BASE_ATUAL_PARA_DESENVOLVIMENTO_R42.json",
    "global_R41_sha256": "634aad239d9a090ccd26162d0af80b362bafeef289153e1ea39e6aadcf67b73e",
    "model_R41_sha256": "c2ad583bef1e0b0084547f22ec7d8f0a181303906c391ebd044abd41f58e51d9",
    "global_override_file": "../carpintaria/Override_Global_Espelhos_R42.json",
    "global_override_sha256": "b751614df9666fe1ea5d994d5557aa2a5fece5b57683a1bba4a34539c8349df7",
    "owner_decision": "Espelhos1760×800, retangulares90graus nominais/R0; aro branco mate visível8mm/decorativo nãoportante; recuo20 por lado em relação às cómodas1800; base1200/topo2000 e semLED.",
    "geometry_changes_only": [
      "furniture.bedroomMirrors MIR-MA-001",
      "furniture.bedroomMirrors MIR-FR-001"
    ],
    "R40_role": "Separate bathroom proposal; not adopted, merged or superseded by R42.",
    "electrical_and_dresser_state": "R41 unchanged, including proposed point relocations and total bed-envelope limitations."
  },
  "carpentryContractR42": {
    "file": "Modulos_Carpintaria_R42.json",
    "sha256": "76b2d07d3c8840308b62f24a83ffdd2d894469ab9a7d43cb819bd2395f53aeb4",
    "module_count": 75,
    "changed_ids": [
      "MIR-FR-001",
      "MIR-MA-001"
    ],
    "fabrication_released": false
  }
}
