GithubHelp home page GithubHelp logo

spydr06 / logicrs Goto Github PK

View Code? Open in Web Editor NEW
48.0 2.0 6.0 19.41 MB

An easy-to-use simulator for logical circuits

License: MIT License

Rust 95.86% CSS 0.53% PowerShell 1.58% Shell 1.36% NSIS 0.66%
boolean-algebra boolean-logic circuit gates gtk gtk4 hacktoberfest hacktoberfest2023 libadwaita libadwaita-rs

logicrs's Introduction

~$ neofetch   
                    *.                          Spydr06@Germany   
                **********          ****        ----------------
            ****************************,       Uptime: 18 years
         ****%%%%%%%%%%%%%%%%%%%%%%%%%*****     Programming Languages: CSpydr, C, C++, Rust, Haskell
        *****%.      %  %%, /%%  %%%%%******                           Go, V, Java, x86 Assembly
        *****%.  %%%%%%  %   %  %%%%%%******    OS: Gentoo Linux, NixOS
       .*****%.     %%%    %    %%%%%%****      WM: bspwm, GNOME
       ******%.  %%%%%%%  (%*  %%%%%%%**        Shell: bash
       ******%%%%%%%%%%%%%%%%%%%%%%%%%          Editor: NeoVim, VSCodium
      *******%%%%%%%%%%%%%%%%%%%%%%%%%          Interests: Linux, Compilers, VMs, OSes, FP, "Low-Level Stuff"
      *******%%%%%%%%%%%%%%%%%%%%%%%%%*****,    Top Projects: CSpydr, LogicRs, BCause, V
     ,*******%%%%%%%%%%%%%%%%%%%%%%%%%*******   Dotfiles: https://github.com/spydr06/dotfiles.git
      *******%%________%%%%%%%%%%%%%%%******    
         ****%%%%%%%%%%%%%%%%%%%%%%%%%*****     Contacts  
             **********  ****************       --------
                ****        .***********        Reddit: u/mcspiderfe
                                      *.        Homepage: https://spydr06.github.io

logicrs's People

Contributors

cameo007 avatar sparshg avatar spydr06 avatar taeh98 avatar toadkarter avatar virejdasani avatar voidvampire avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

logicrs's Issues

Common selection features missing

  • drag multiple selected blocks as one
  • hold shift to add to selection
  • hold ctrl to toggle selection status

-> this interferes with Ctrl+LMB (pan), which should be reassigned to just Middle mouse button without ctrl (is also more consistent as MMB is now used for both pan and zoom. note that currentöy ctrl+mmb is not working as you said it would, only ctrl+lmb)

MacOS support

In theory, MacOS should already be supported as both GTK and Rust support it. However, I cannot validate this because I don't have access to an apple computer.

Module can be used in its own definition [FUTURE BUG]

Issue

A module being used in its own definition could lead to infinite recursion.
Note that this is potentially not true for all configurations.
I has to be checked recursively for modules using modules that use the current module
(aka recursion where the loop is larger than 1 element)
image

Windows installer

Add an installer .exe (or .msi (?)) file to the releases that installs logicrs and some example projects automatically on Windows targets.

Currently, logicrs is distributed via portable .zip files

Input/output delete dialog not greyed out

Issue

"delete" option on rightclick should be greyed out or removed completely since input/output nodes aren't deletable.
Deleteion works as expected on normal nodes.
image
Example of greyed out option:
image

Feature: increase range of node connection

When dragging a wire between two nodes, it would be nice if you didn't have to drop the wire exactly on the connection point. There should be a radius within which you can drop the wire where it still connects.

"System default" theme not working

defaults to light mode even though my pc is in dark mode.
Needs to be verified, i installed a new window manager so that might interfere although thats unlikely

Double click on disabled undo/redo button toggles fullscreen

Issue

Doble click on disabled history button (when reaching end of history) toggles fullscreen as it would when just clicking on the title bar next to it, instead of just doing nothing, as it should. This is an issue when rapildly undoing, but it might not qualify as an issue.
image

Potential fix:

Still capturing the click event even though the button is disabled

File extension for windows

Issue

"Save file" window does not have "json" (or later the actual extension) in the "save as type" dialog on windows. "Open" dialog doesnt have the preferred extension box at all.
image
image

Reproduction

Open save file dialog

Potential Fix

---

Add new (interesting) examples

Add new example projects to the examples/ directory, like subtractors, multipliers, gates, etc.

This does not require writing any code

No module name length limit/weird ui behavior on long names

#Issue
There is no limit for module name lengths, resulting in weird scrolling when secting in the sidebar, where selecting any module toggles between scrolling to the right and to the left (making first or last part of long nave visible).
image
Names of modules in editor arent truncated, resulting in gigant modules
image
This might also cause issues on exporting due to file name length limits.

Microsoft Windows has a MAX_PATH limit of ~256 characters.
Note that this limit is for the whole file path, not just the file name so the name should be kept at something considerably shorter

Zoom + Drag offset not accounted for

Issue

Position is not adjusted for the offset created by zooming
image
image

Reproduction

holding down LMB on a component/wire and scroll to zoom (see images)

Potential Fix

Centering zoom on mouse pointer would make the issue disappear since the offset would be 0. Additionally, it is a more natural way to zoom

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.