wokwi / wokwi-elements

Web Components for Electronics and IoT Parts
https://elements.wokwi.com/
MIT License
185 stars 49 forks source link

Breadboard element not available in source code. #172

Open sahilrastogi94 opened 2 weeks ago

sahilrastogi94 commented 2 weeks ago

Hi,

I can see that the Breadboard element is available on the simulator, but I don't see it in the source code or https://elements.wokwi.com/. Any particular reason?

Agaba-Ed commented 6 days ago

Hey @sahilrastogi94, Yeah, I noticed that too. Looks like most of the logic needed for a full-on circuit simulator (like on the elements.wokwi.com site) isn't included in the source code. I ended up building my own breadboard setup to get things going. Let me know if you need any tips.

djedu28 commented 5 days ago

Hi @sahilrastogi94.

Some elements/parts are in beta, and don't have the documentation published on https://elements.wokwi.com.

I believe that the Breadboard has a special limitation, as it is created with JavaScript at runtime. I remember reading about it while following the implementation of this element at https://github.com/wokwi/wokwi-features/issues/434.

and perhaps this “workaround”/hack kept it in beta

Olá @sahilrastogi94. Alguns elements/parts estão em beta, e não possuem a documentação publicada em https://elements.wokwi.com

Acredito que a Breadboard possui uma limitação especial, por ser criada com JavaScript em tempo de execução, lembro de ter lido enquanto acompanhava a implementação desse elemento em https://github.com/wokwi/wokwi-features/issues/434 e talvez essa "gambiarra"/hack manteve ela em beta

djedu28 commented 5 days ago

Hi @Agaba-Ed

I'm glad you're interested in Wokwi!

You're right that the source code for the element simulation logic is not publicly available. This is mainly due to security issues, as the simulation engine is a core component of Wokwi's functionality. Making it public could compromise the stability and uniqueness of the platform.

While we (the community) understand the desire for full transparency, we believe that this approach is necessary to ensure Wokwi's long-term sustainability.

Within the limitations of wokwi, Urish has shared the elements (Web Components) for us to use in our own projects. As well as the simulation engines of the boards (Arduino, ESP32, ...). He even teaches you how to create customized Web Components with simulation!

The wokwi API also allows us to create custom elements and program their simulation (called (custom chips)[https://docs.wokwi.com/chips-api/getting-started]).

If you're interested in learning more about how to create custom elements and their simulations, @Urish teaches on the wokwi blog. I recommend visiting https://blog.wokwi.com for tutorials and examples. I also invite you to join our community on Discord to ask questions and get help from other users.

Urish and the wokwi community are always working to improve Wokwi and make it even more accessible.

Useful links:


Olá @Agaba-Ed

Fico feliz pelo interesse na Wokwi!

Você está certo que o código-fonte para a lógica de simulação dos elementos não está disponível publicamente. Isso se deve principalmente a questões de segurança, já que o mecanismo de simulação é um componente central da funcionalidade da Wokwi. Torná-lo público poderia comprometer a estabilidade e a exclusividade da plataforma.

Embora (nos, a comunidade) entendamos o desejo de transparência total, acreditamos que essa abordagem é necessária para garantir a sustentabilidade da Wokwi a longo prazo.

Nas limitações da wokwi, o Urish compartilhou os elementos (Web Components) para usarmos em nossos próprios projetos. Assim como os motores de simulação das placas (Arduino, ESP32, …). E até ensina a criar Web Components personalizados com simulação!

A API da wokwi também permite criarmos elementos personalizados e programarmos a simulação deles (chamado de (chips personalizados)[https://docs.wokwi.com/chips-api/getting-started]).

Se estiver interessado em saber mais sobre como criar elementos personalizados e suas simulações, o @Urish ensina no blog da wokwi. Recomendo acessar https://blog.wokwi.com para obter tutoriais e exemplos. Também convido a participar da nossa comunidade no Discord para fazer perguntas e obter ajuda de outros utilizadores.

O Urish e a comunidade wokwi estão sempre a trabalhar para melhorar o Wokwi e torná-lo ainda mais acessível.

Links uteis:

Agaba-Ed commented 5 days ago

Hi @djedu28,

Thanks for sharing this link https://github.com/wokwi/wokwi-features/issues/434. After going through it, I realize there's still quite a bit I need to tackle with the breadboard. I had already followed some of @urish's tutorials and borrowed a few ideas, but I'm taking a slightly different approach.

Once I finish up the feature, I might consider making it public. Honestly, I don't know if I would have gotten this far without your guidance. Appreciate the support and all the great work you're doing!

Cheers!

sahilrastogi94 commented 3 days ago

Hey @sahilrastogi94, Yeah, I noticed that too. Looks like most of the logic needed for a full-on circuit simulator (like on the elements.wokwi.com site) isn't included in the source code. I ended up building my own breadboard setup to get things going. Let me know if you need any tips.

Hi @Agaba-Ed, I noticed the missing logic too last year when creating my own simulator. I ended up creating most of the logic myself to get things running. It's not as elaborate as wokwi's and the breadboard is also missing, but it gets the job done. I have attached a gif of the same. sim

sahilrastogi94 commented 3 days ago

Hi @sahilrastogi94.

Some elements/parts are in beta, and don't have the documentation published on https://elements.wokwi.com.

I believe that the Breadboard has a special limitation, as it is created with JavaScript at runtime. I remember reading about it while following the implementation of this element at wokwi/wokwi-features#434.

and perhaps this “workaround”/hack kept it in beta

Olá @sahilrastogi94. Alguns elements/parts estão em beta, e não possuem a documentação publicada em https://elements.wokwi.com Acredito que a Breadboard possui uma limitação especial, por ser criada com JavaScript em tempo de execução, lembro de ter lido enquanto acompanhava a implementação desse elemento em wokwi/wokwi-features#434 e talvez essa "gambiarra"/hack manteve ela em beta

Hi @djedu28, Thanks for clarifying and directing towards wokwi/wokwi-features#434. Will surely take a look.

Agaba-Ed commented 3 days ago

Hi @sahilrastogi94. That's impressive. The GIF looks cool!