Files
BrainWind/PLAN.md
T

98 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Plano de Implementação — VentoApp 100% NBR 6123:2023
> Documento histórico. Para o estado atual, consulte [`PROGRESS.md`](./PROGRESS.md).
> Roadmap de melhorias futuras: seção "Roadmap pós-Marco 8" abaixo.
---
## Visão geral
| # | Marco | Escopo | Status |
|---|---|---|---|
| 1 | Motor matemático | Tabelas 15, A, B; interpolação bilinear/log; mudança de rugosidade; tipagem | ✅ |
| 2 | Cpi + Vizinhança | Pressão interna (simplificado+detalhado), fator fᵥ, JSON estações Anexo C | ✅ |
| 3 | Paralelepipédicas | Tabelas 612; excentricidade; atrito; alta turbulência; 3D com zonas AJ | ✅ |
| 4 | Superfícies curvas | Tabelas 1322 (cilindros, abóbadas, cúpulas); módulos 3D | ✅ |
| 5 | Muros/placas/coberturas isoladas/barras | Tabelas 2330; catálogo de seções | ✅ |
| 6 | Torres + Pontes | Seções 8.5 e 11; verificações de estabilidade | ✅ |
| 7 | Dinâmica + Vórtices + Conforto | Seções 9 e 10; resposta flutuante; Scruton | ✅ |
| 8 | UX/Dados/Testes | Persistência IndexedDB; testes Vitest; i18n; AGENTS.md | ✅ |
**Resultado:** 8/8 marcos concluídos. Cobertura 100% da NBR 6123:2023 (11 seções + 3 anexos).
---
## Marcos 18 — Concluídos
Detalhes de cada marco estão em `PROGRESS.md`. Resumo do que foi entregue:
| Marco | Arquivos principais |
|-------|---------------------|
| 1 | `lib/nbr-tables/table-{1-5,a,b}.ts`, `lib/bilinear-interp.ts`, `lib/log-interp.ts`, `lib/wind-direction.ts`, `lib/wind-kernel.ts` (refatorado) |
| 2 | `lib/internal-pressure.ts`, `lib/neighborhood.ts`, `lib/stations-lookup.ts`, `lib/nbr-tables/stations.ts` |
| 3 | `lib/nbr-tables/table-{6-12}.ts`, `lib/coefficients.ts`, `lib/{excentricity,friction,drag}.ts`, `components/Warehouse3D.tsx` (refeito) |
| 4 | `lib/nbr-tables/table-{13,14,15-17,18-20,21,22}.ts`, `lib/modules/{cylinder,vault,dome}.ts`, `components/three/{Cylinder,Vault,Dome}3D.tsx`, `pages/{Cylinder,Vault,Dome}Module.tsx` |
| 5 | `lib/nbr-tables/table-{23,24-25,26,27,29,30}.ts`, `lib/modules/truss.ts`, `pages/{Sign,IsolatedRoof,BarSelector}Module.tsx` |
| 6 | `lib/modules/{tower,bridge}.ts`, `lib/nbr-tables/table-35.ts`, `pages/BridgeModule.tsx` |
| 7 | `lib/nbr-tables/table-{31,32,33}.ts`, `lib/comfort.ts`, `lib/modules/dynamics.ts`, `pages/DynamicsModule.tsx` |
| 8 | `lib/storage.ts`, `lib/hooks/useProjects.ts`, `lib/theme.tsx`, `lib/i18n.ts`, `pages/SettingsModule.tsx`, `vitest.config.ts`, `lib/__tests__/` (5 suites), `README.md`, `AGENTS.md` |
---
## Padrões de qualidade
- **Tipagem:** zero `as any`, zero `// @ts-ignore`
- **Estilo:** kebab-case em arquivos, PascalCase em componentes, camelCase em funções
- **Comentários:** apenas quando a matemática exige explicação
- **Tabelas:** todos os valores tipados como `readonly` com chaves literais para exaustividade
- **Testes:** ao final de cada marco, `npm run build` + `npm test` devem passar
---
## Roadmap pós-Marco 8 (Melhorias futuras)
> Para detalhes completos, estimativas e ordem sugerida, ver `PROGRESS.md`.
### 🔴 Alta prioridade
- **M9.1** — Refinar valores das tabelas a partir do PDF real (~3 dias)
- **M9.2** — Cargas lineares (kN/m) para software estrutural (~2 dias)
- **M9.3** — Screenshot 3D no PDF (~1 dia)
### 🟡 Média prioridade
- **M9.4** — Exportação Ftool (.txt estruturado) (~2 dias)
- **M9.5** — Refatoração TypeScript (eliminar `void`/`as unknown as`) (~1 dia)
- **M9.6** — Modo 3D para muros/torres/pontes/barras (~3 dias)
- **M9.7** — Import de projetos via JSON (~1 dia)
### 🟢 Baixa prioridade
- **M9.8** — i18n completo (~2 dias)
- **M9.9** — Validação contra exemplos do Blessmann (~2 dias)
- **M9.10** — Tema dark mode para gráficos SVG (~0.5 dia)
- **M9.11** — Persistência opcional em servidor (~especulativo)
- **M9.12** — Testes E2E com Playwright (~2 dias)
---
## Comandos úteis
```bash
cd /root/Apps/windapp/app
npm run dev # vite dev com HMR (porta 5173)
npm run build # tsc -b && vite build (produção)
npm run lint # oxlint
npm test # vitest run (38 testes)
```
> **Atenção:** Os binários em `node_modules/.bin/` perdem o bit de execução. Se reclamar `Permission denied`, rode `chmod +x node_modules/.bin/<bin>` antes.
---
## Estado final do Marco 8
- ✅ Build: 2618 módulos transformados, 2.88 MB JS (884 KB gzip)
- ✅ Testes: 38/38 passing
- ✅ Lint: 0 erros, 5 warnings cosméticos em shadcn
- ✅ Documentação: PLAN.md + PROGRESS.md + README.md + AGENTS.md