Contribuir

Relatos de erro são muito bem-vindos. Abra uma issue em https://github.com/thalesmaoa/magfem/issues; também há um link Bug reports na barra de status do app. Ajuda muito anexar o projeto (.magfem) ou o script exportado (</>), que recria o modelo exatamente.

Rodar localmente

Requisitos: Docker (e cmake/g++ para os testes nativos do núcleo).

git clone https://github.com/thalesmaoa/magfem.git && cd magfem
./compose-up                  # compila o núcleo WASM e serve http://localhost:3002/tools/magfem-web/
./scripts/build-core native   # núcleo C++ nativo + testes contra soluções analíticas
./scripts/npm test            # testes unitários (vitest)
./scripts/e2e                 # testes ponta a ponta (Playwright, headless)
./scripts/check               # todas as baterias

Organização

core/      núcleo numérico C++17 + Eigen + Tangle → WebAssembly (Emscripten) e nativo (testes)
web/       interface Vite + React + TypeScript; malha e solver num Web Worker
bridge/    ponte para scripts (pacote Python magfem; clientes Matlab e Julia)
docs/      esta documentação (Sphinx)

Esta documentação

A documentação usa Sphinx com o tema do Read the Docs e páginas em Markdown (MyST). Fica em docs/: as páginas em português em docs/pt/ e em inglês em docs/en/, com os mesmos nomes de arquivo (o seletor de idioma troca uma pela outra), e as capturas de tela em docs/img/.

./scripts/docs                # gera docs/_build/html (cria docs/.venv na primeira vez)
./scripts/docs serve          # gera e serve em http://localhost:3003/
./scripts/docs-shots          # regenera as capturas de tela (com o app rodando em :3002)

O CI gera a documentação junto com o app e a publica em /tools/magfem-web/docs/. Cada página tem o link Editar esta página no GitHub.

Estilo

Antes de enviar, rode ./scripts/check. O código segue o estilo em volta (comentários em português, TypeScript estrito).