SkillAgentSearch skills...

Nodus

A logic gate simulator written in Rust using the Bevy game engine.

Install / Use

/learn @r4gus/Nodus
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Nodus

A graphical logic gate simulator.

This project is in an early stage of development but most of the basic features are implemented.

Features

Choose from a variety of logic gates, input controls and output controls to build digital circuits using a drag and drop interface.

Simple Circuit

| Gates | Input controls | Output controls | |:-----:|:--------------:|:---------------:| | AND | High const | Light bulb | | NAND | Low const | 7-Segment display | | OR | Toggle switch | | | NOR | Clock | | | NOT | | | | XOR | | |

Logic Gate Selection

Insert components into the world using a radial context menu.

Context Menu

Save the circuits you've created in a .ron file and reload them later.

Simple Circuit

Getting started

Setup the Rust development environment and Bevy.

Installing Rust

Install Rust by following the Getting Started Guide.

Setting up Bevy

Follow this Guide to setup Bevy.

Run program

First clone the repository.

git clone https://github.com/r4gus/nodus.git

Then switch into the project folder and run the program.

cd nodus
cargo run

Known Issues

Here are some tips to solve known issues.

Note: Make sure you've installed all required dependencies (linux, windows).

Ubuntu linker error

If you get the following link error in Ubunut/ Debian,

= note: /usr/bin/ld: cannot find -lxcb-render
          /usr/bin/ld: cannot find -lxcb-shape
          /usr/bin/ld: cannot find -lxcb-xfixes
          collect2: error: ld returned 1 exit status

try to install libxcb-shape0-dev and libxcb-xfixes0-dev separately, i.e. sudo apt install libxcb-shape0-dev libxcb-xfixes0-dev.

AMD driver issue

If you get the following runtime error,

thread 'main' panicked at 'Failed to acquire next swap chain texture!: Timeout', /home/USERNAME/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_render-0.6.0/src/view/window.rs:161:24

you can either try to disable vsync in src/main.rs, or switch from AMDVLK to RADV: AMD_VULKAN_ICD=RADV cargo run (maybe this can help).

Controls

  • lmb pressed: select/ drag (selection mode - s), pan (pan mode - p)
  • rmb pressed: open context menu
  • mouse wheel: zoom

Planned Features

  • [ ] Create new logic components from existing circuits
  • [ ] Create truth tables from circuits

Credits

View on GitHub
GitHub Stars133
CategoryDevelopment
Updated3d ago
Forks6

Languages

Rust

Security Score

100/100

Audited on Mar 25, 2026

No findings