4.4 KiB
4.4 KiB
Plano de Implementação — VentoApp 100% NBR 6123:2023
Documento histórico. Para o estado atual, consulte
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 1–5, 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 6–12; excentricidade; atrito; alta turbulência; 3D com zonas A–J | ✅ |
| 4 | Superfícies curvas | Tabelas 13–22 (cilindros, abóbadas, cúpulas); módulos 3D | ✅ |
| 5 | Muros/placas/coberturas isoladas/barras | Tabelas 23–30; 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 1–8 — 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
readonlycom chaves literais para exaustividade - Testes: ao final de cada marco,
npm run build+npm testdevem 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
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 reclamarPermission denied, rodechmod +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