# 🌍 PLANO ARQUITETURAL DE EXPANSÃO: NORMAS INTERNACIONAIS DE VENTO & BENCHMARKING MULTI-NORMA

> **Documento de Visão Técnica, Segurança Arquitetural e Roadmap Futuro**  
> **Projeto:** VentoApp / BrainWind — Engenharia de Vento Avançada  
> **Estado Atual (Julho/2026):** Domínio completo da NBR 6123:2023 (100% coberta, 36 tabelas, testes unitários travados, visualizador 3D interativo, cálculo puro determinístico).

---

## 1. A Visão e O Sonho Técnico

Transformar o **BrainWind / VentoApp** em mais do que o melhor software brasileiro de cálculo de ações do vento: elevá-lo ao status de **Plataforma de Auditoria e Benchmarking Internacional de Engenharia de Vento**. 

O objetivo é permitir que engenheiros estruturais, peritos e pesquisadores possam:
1. Projetar estruturas segundo normas internacionais (**Eurocode 1 — EN 1991-1-4**, **ASCE 7-22 — EUA**, **AS/NZS 1170.2 — Austrália/Nova Zelândia**).
2. Confrontar em **tempo real e lado a lado** os esforços gerados pela **NBR 6123:2023** contra 2, 3 ou 4 normas mundiais simultaneamente para a mesma geometria.
3. Entender com clareza aerodinâmica e visual onde cada norma é mais conservadora ou mais econômica.

---

## 2. A Premissa Sagrada: Proteção do "Coração Intocável" (NBR 6123:2023)

O maior risco de softwares estruturais em expansão é a **regressão funcional** — quebrar o que já está estável, testado e confiável para acomodar novos requisitos. Para que esse risco seja **ZERO**, estabelecemos o seguinte pacto arquitetural:

### 2.1. Princípio Aberto-Fechado (SOLID — *Open-Closed Principle*)
* O código atual de cálculo da NBR 6123 (`src/lib/nbr-tables/`, `src/lib/modules/`, `src/lib/wind-kernel.ts`) permanece **estritamente fechado para modificações**.
* Nenhuma rotina, tabela ou constante existente da NBR 6123 precisará ou deverá ser editada para acomodar uma norma estrangeira.
* Toda nova norma será implementada como um **pacote independente e isolado** em diretórios dedicados (`src/lib/eurocode-tables/`, `src/lib/asce-tables/`, `src/lib/standards-drivers/`).

### 2.2. NBR 6123 como Padrão Intocável (*Default Root*)
* Ao iniciar o aplicativo ou carregar um projeto brasileiro, o motor rodará exclusivamente no fluxo nativo da NBR 6123, preservando a experiência de uso de 100% dos engenheiros brasileiros sem latência ou burocracia adicional de parâmetros internacionais.

---

## 3. Arquitetura de "Drivers Normativos" (`StandardStrategy`)

Para desacoplar a geometria do modelo físico de cálculo, elevamos a arquitetura para o padrão **Strategy Driver**:

```
                  ┌──────────────────────────────────────────────┐
                  │      MODELO GEOMÉTRICO CANÔNICO (CORE)       │
                  │  (b, d, h, θ, Permeabilidades, Topografia)   │
                  └──────────────────────┬───────────────────────┘
                                         │
                 ┌───────────────────────┴───────────────────────┐
                 ▼                       ▼                       ▼
      ┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
      │  Driver NBR 6123    │ │ Driver Eurocode 1   │ │   Driver ASCE 7-22  │
      │   (NBR6123Driver)   │ │  (EN1991_1_4Driver) │ │    (ASCE7_22Driver) │
      └──────────┬──────────┘ └──────────┬──────────┘ └──────────┬──────────┘
                 │                       │                       │
                 ▼                       ▼                       ▼
        Tabelas NBR (36)         Tabelas EN 1991-1-4      Tabelas ASCE 7-22
       (Rajada de 3 seg)          (Média de 10 min)        (Rajada + Fator Kz)
```

### 3.1. Conciliação Físico-Atmosférica (Fator de Durst & Tempos de Base)
As normas mundiais diferem no tempo de média da velocidade do vento de referência:
* **NBR 6123 e ASCE 7-22:** Baseiam-se na velocidade de **rajada de 3 segundos**.
* **Eurocode 1 (EN 1991-1-4):** Baseia-se na velocidade **média de 10 minutos**.
* **Solução:** O motor canônico integrará conversores espectrais normatizados (ex.: **Fator de Durst / Curvas de Cook**) que permitem transacionar velocidades de 10 minutos para rajadas de 3 segundos com precisão matemática, colocando todas as normas na **mesma base física real de energia cinética do fluxo**.

---

## 4. O Segredo de UX: Mapeamento Inteligente e "Tradução Normativa"

Para que o usuário **não precise preencher 4 cadastros inteiros** só para ver um comparativo, o sistema dividirá os parâmetros de entrada em duas camadas:

### 4.1. Camada 1: Parâmetros Universais (Canônicos)
Comuns a 100% das estruturas no planeta:
* **Geometria:** Largura ($b$), Vão/Comprimento ($d$), Altura dos pilares ($h$), Inclinação da cobertura ($\theta$).
* **Física:** Percentual de fechamento de paredes ($0\%$ a $100\%$), velocidade base de projeto ($m/s$).

### 4.2. Camada 2: Tradutor Automático de Padrões (*Default Mapping Adaptor*)
Quando o engenheiro projeta um galpão com dados brasileiros, o **Tradutor Normativo** infere automaticamente as propriedades correspondentes nas outras normas em segundo plano:
* *Categoria de Terreno IV (Brasil) $\longrightarrow$ Terrain Category III (Eurocode 1) $\longrightarrow$ Exposure Category C (ASCE 7).*
* *Classe de Edificação B (Brasil) $\longrightarrow$ Fator de Pico / Altura equivalente.*

### 4.3. Gaveta de Ajustes Normativos Específicos (*Overrides*)
Para engenheiros peritos que desejam refinar parâmetros exclusivos de uma norma estrangeira sem alterar a geometria global, a interface disponibilizará um painel retrátil **"Ajustes Normativos Específicos"**:
* **Exemplo ASCE 7:** Permite alterar manualmente a *Enclosure Classification* (`Enclosed`, `Partially Enclosed`, `Partially Open`, `Open`) e o fator de altitude acima do nível do mar ($K_e$).
* **Exemplo Eurocode 1:** Permite ajustar a densidade do ar em função de temperatura e altitude em locais específicos da Europa.

---

## 5. Isolamento e Blindagem de Arquivos Salvos (`Project Schema`)

Para evitar mistura de referências ou corrupção de dados:
1. **Atributo `standard` Obrigatório no Schema JSON:**  
   Todo arquivo salvo conterá explicitamente a norma de origem:
   ```json
   {
     "id": "galpao-logistico-01",
     "standard": "NBR6123_2023",
     "version": "2.0.0",
     "geometry": { "width": 20, "depth": 40, "height": 8, "theta": 15 },
     "parameters": { "v0": 45, "s1": 1.0, "s2Category": 4, "s2Class": "B", "s3": 1.0 }
   }
   ```
2. **Guarda de Carregamento (*Schema Guard*):**  
   Ao abrir um arquivo, o app identifica a chave `"standard"`. Se um arquivo do Eurocode for aberto por engano, a interface avisará o usuário, trocando o contexto visual para as tabelas e símbolos correspondentes sem sobrescrever o projeto brasileiro.

---

## 6. O Módulo de "Benchmarking Lado a Lado" (Comparativo em Tempo Real)

Como cada cálculo estrutural de vento executado em TypeScript puro roda em **menos de 2 milissegundos**, o aplicativo é capaz de executar **4 motores em paralelo em tempo real** sempre que o usuário mover um slider.

### 6.1. Tabela de Confronto Direto (`kN/m²` e `kN`)
Uma tela dedicada que coloca frente a frente:
* **Pressão Efetiva Crítica e Força Total:** Por zona do telhado, paredes frontais/traseiras e esforços na base do pilar.
* **Mapa de Conservadorismo (Cores Críticas):** Destacando automaticamente em **Vermelho** a norma que exige a maior carga de projeto (mais conservadora) e em **Verde** a mais branda para cada elemento estrutural.

### 6.2. Gráficos de Delta Percentual ($\Delta\%$)
Gráficos de barra em SVG/Recharts mostrando os deltas em tempo real:
* *Exemplo de insight automático:* "Para esta inclinação de $15^\circ$, a **ASCE 7-22** prescreve forças de sucção nos cantos do telhado **+14,2% maiores** que a **NBR 6123**, enquanto o **Eurocode 1** fica **-5,8% menor**."

### 6.3. Modelo 3D Interativo Multi-Norma (*Split-Screen / Toggle*)
* Opção de **Abas Instantâneas no topo do 3D:** (`[ NBR 6123 ] [ Eurocode 1 ] [ ASCE 7-22 ]`). Clicar na aba altera na hora o mapa de cores de pressão na geometria 3D.
* **Modo Tela Dividida (*Split-Screen*):** Corta o modelo 3D ao meio, mostrando do lado esquerdo o gradiente de pressões da NBR 6123 e do lado direito o gradiente da norma comparada.

---

## 7. O "Selo de Garantia": Bateria de Testes contra a Literatura Estrangeira

Para que qualquer norma estrangeira receba o selo de confiança técnica do **BrainWind**, ela deverá ser aprovada em uma suíte de testes unitários (`Vitest` em `src/lib/__tests__/standards/`) travada contra exercícios de referência consagrados:

| Norma | Fonte Literária Oficial para Travamento de Testes Unitários |
| :--- | :--- |
| **ASCE 7-22 (EUA)** | • *Guide to the Wind Load Provisions of ASCE 7-22* (ASCE / SEAOC)<br>• *SEAOC Structural/Seismic Design Manual — Wind Examples* |
| **Eurocode 1 (EN 1991-1-4)** | • *ECCS — Designers' Guide to EN 1991-1-4 (Eurocode 1)*<br>• *JRC Technical Reports (European Commission) — Steel & Wind Design* |
| **AS/NZS 1170.2 (Aus/NZ)** | • *Australian Guide to the Wind Loading Standard AS/NZS 1170.2* (Engineers Australia) |

### 7.1. Testes de Invariância Aerodinâmica
Além do teste dos exemplos numéricos, a suíte rodará **testes de invariância relacional**:
* Em qualquer das 4 normas, a face de barlavento **sempre** deve resultar em sobrepressão positiva.
* O topo da cumeeira de telhados em duas águas **sempre** deve registrar pico de sucção na separação de escoamento.
* O alívio aerodinâmico em abrigos com abertura superior **sempre** deve reduzir o arrancamento vertical.

---

## 8. Roadmap de Execução Recomendado

```
[ FASE ATUAL ] ──► CONSOLIDAÇÃO TOTAL NBR 6123:2023 (100% Norma, 100% Testes, UI/3D Impecável)
                         │
                         ▼
[ FASE FUTURA 1 ] ──► Criação da Camada "StandardStrategy" (Isolada, sem mexer no Core NBR)
                         │
                         ▼
[ FASE FUTURA 2 ] ──► Driver Eurocode 1 (EN 1991-1-4) + Testes de Bancada ECCS / JRC
                         │
                         ▼
[ FASE FUTURA 3 ] ──► Driver ASCE 7-22 (EUA) + Testes de Bancada ASCE Guide / SEAOC
                         │
                         ▼
[ FASE FUTURA 4 ] ──► Lançamento da Tela "Benchmarking Lado a Lado & Auditoria Multi-Norma"
```

> **Conclusão:** Seguindo este plano, mantemos nossa estabilidade 100% blindada e criamos uma das mais avançadas e respeitadas ferramentas de engenharia de vento da América Latina e do mundo.
