Simtronics — Estado Atual
O que está implementado, validado e pendente no simulador de circuitos Simtronics (ngspice WASM).
Estado Atual
Resumo sincero do que está pronto, o que está em desenvolvimento e o que ainda precisa de validação final. Atualizado em 19 de julho de 2026.
Implementado e validado (testes passando)
Engine de simulação (F0)
- eecircuit-engine 1.7.0 integrado via Web Worker com lazy loading.
- Suporte a análises
.op,.tran,.ace.dc. - Parsing de resultados: vetores reais e complexos (magnitude + parte real/imaginária), detecção automática do tipo de análise.
- Escala sintética para operating point (
.op). - Tratamento de erros:
Note:(não fatal) vsFatal error/aborted(fatal). - 13 testes — 3 netlists do plano rodando no engine real, AC 1 com
Note:não fatal, DC sweep, netlist inválida.
Biblioteca esquemática (FE — lib pura)
- 11 componentes: resistor, capacitor, indutor, fonte V, fonte I, ground, NPN, PNP, NMOS, PMOS, transformador.
- Geometria normativa: corpo 4×2 (passivos), círculo r=2 (fontes), pinos em ±3, rotação horária.
- Fontes com polaridade
n+/n-, BJT/MOS com papéiscollector/base/emitteredrain/gate/source, transformador com dotsp+/s+. - Conectividade point-on-segment: T-junction, pino sobre segmento, cruzamento sem vértice não conecta.
- Geração de netlist SPICE: modelos padrão (NPN, PNP, NMOS level=1, PMOS
level=1), modelos parametrizados (
BF=100), transformador (LT1P/LT1S/KT1). - Validação em 7 etapas determinísticas com
codeesubjectId. - Namespace case-insensitive, anti-injeção (
\r\n, parênteses, SPICE_SCALAR). - 42 testes — 3 circuitos §4.4, T-junction, cruzamento falso, 6 circuitos v1.2 (BJT/MOS/trafo), colisão de namespace, parser de escalar, erros de wire/ID/geometria, estabilidade.
Implementado e validado no navegador
Editor SVG
- Canvas com grid e snap.
- Paleta de 11 componentes com símbolos CC0 (Inkscape Electric Symbols).
- Adicionar pela paleta, mover, rotacionar (R), deletar (Del) e editar ID, valor e rotação pelo painel de propriedades.
- Fiação: clique em pino → preview ortogonal → destino.
- Regeneração da netlist a cada mudança (debounce).
- Syntax highlight SPICE leve (sem CodeMirror/Monaco).
- Layout app-shell quase full-bleed.
- Zoom, pan, reset de enquadramento, paleta recolhível e modo tela cheia.
Gráfico de resultados
- Canvas próprio para plot de simulação (polylines + eixos).
Gate desta rodada
- Chromium real: 33 verificações aprovadas, sem exceções JavaScript ou erros de console antes do teste negativo controlado.
- O módulo pesado do engine não é solicitado ao abrir a página; ele só aparece na rede após a primeira simulação.
- Presets
.op,.trane.ac, propriedades, zoom/pan, fiação ortogonal, tela cheia, persistência das preferências e viewport mobile validados. - TypeScript estrito dos módulos do editor sem erros e build de produção concluído.
Fora do escopo do gate
- Testes de usabilidade prolongados com turmas e operadores reais.
- Deploy em infraestrutura pública.
Anterior: 00 — Introdução · Índice: 00 — Introdução · Próximo: 02 — Arquitetura e fluxo