Simcuit - um simulador web de circuitos digitais
A um tempo atrás, na época em que estava no ensino médio (meados de 2024), desenvolvi o Simcuit, um simulador web de circuitos digitais inicialmente pensado para o uso em ambiente acadêmico - já que mutalmente, com o ensino médio, estava fazendo técnico em informática em que havia a disciplina de circutos digitais.
Neste simulador desenvolvi o renderizador, baseado em Canvas 2D, juntamente com o núcleo de processamento e propagação de sinais, onde tive que aplicar conceitos de grafos e eventos; também recursos de movimentação pela cena, comandos de teclado e ajustes dos componentes.
Sobre os componentes, eles são dinâmicos e, tem como embutidos (built-in) e comumente utilizados as portas lógicas digitais: IN, OUT, BUF, NOT, AND, NAND, OR, NOR, XOR e XNOR; além de algumas portas com entradas extras, um 7-Segment Display, e um IC - que é um componente que permite embutir um circuito, preparado anteriormente, como um circuito integrado dentro do circuito atual. Cada componente recebe um Path2D para renderização e lógica interna para processamento de sinais.
O projeto foi desenvolvido em Typescript junto com uma página estática HTML5 com CSS3 embutido, conta com localStorage para manter os dados salvos localmente e exportação/importação de JSON. Além disso também consegui fazer uma apresentação acadêmica do projeto contendo uma pesquisa interna com os discentes da instituição (técnico-médio e graduação) e uma coleta de feedbacks.
Link público para visualização: https://simcuit.pages.dev/