# 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 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 `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/` 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