Skip to content

Conversation

@NeerajCodz
Copy link

@NeerajCodz NeerajCodz commented Jan 9, 2026

I was asked to work on this project for as part for acm tasks and here are the changes I did

Refer CHANGELOG

🎉 Added

Undo/Redo Functionality

  • Undo/Redo Support - Full undo/redo functionality with keyboard shortcuts
    • Ctrl+Z (or Cmd+Z on Mac): Undo last action
    • Ctrl+Y (or Cmd+Y on Mac): Redo action
    • Ctrl+Shift+Z: Alternative redo shortcut
    • Maintains history of up to 50 steps
    • Smart history tracking
  • History Panel - Added popup to see previous 50 steps and go back to desired precise state back.
    • Descriptive action names instead of generic step numbers:
      • "Added AND", "Deleted OR", "Moved Input A"
      • "Created branch node", "Connected wires", "Disconnected wires"
      • "Imported Half Adder", "Renamed to Output Y"

Circuit Management Features

  • Dynamic Circuit Routes - Clean URL structure for sharing and accessing circuits
    • /circuit - Create new empty circuit
    • /circuit/{id} - Direct link to specific saved circuit
    • Automatic verification and loading of circuit by ID
    • Better sharing with clean URLs instead of query parameters
  • Custom labels - Added option for users to custom rename the inputs,outputs and logic gates feat: Adding labels to circuits #31
  • Right Click Option - Added right click circuit option to
    • "Rename" -
    • "Copy"
    • "Duplicate" - with 50px offset positioning
    • "Delete" - Moved Delete to here
  • Import Circuits - Users can import their own ciruits back to new circuit in one block.
  • Dynamic Gate Sizing - Gate components automatically resize vertically based on input/output count
  • Variable Input Count for Logic Gates - Logic gates (AND, OR, NAND, NOR, XOR, XNOR) can now have 2-8 inputs via right-click context menu
  • Marquee selection - Holding control for marquee selection for copy paste

Wire Management & Branch Points

  • Branch Point Creation - Double-click on any wire to create a branch point for signal splitting or create a branch node
  • Wire Selection - Wires can now be selected by clicking directly on them and deleted with delete key

Dashboard

  • Right click on categories or circuits
    • "Rename"
    • "Delete"

View Controls

  • Fullscreen Mode Toggle - Added fullscreen mode button to maximize workspace area

🐛 Fixed

UI/UX Fixes

  • Toolbar Dropdown Toggle - Logic Gates and other category dropdowns can now be closed by clicking the category name again

🔄 Changed

Interaction Model

  • Panning & Selection Behavior - Refined canvas interaction model
    • Normal left-drag: Pan background
    • Control + drag on empty space: Box selection (marquee)
    • Control + drag on branch node: Reposition branch point
    • Middle/right mouse: Alternative panning methods

👨‍💻 Author

Neeraj (@NeerajCodz)


SCREENSHOTS
image
image
image
image
image

@NeerajCodz NeerajCodz changed the title ACM TASK Added many features and did many fixes Jan 9, 2026
@NeerajCodz NeerajCodz marked this pull request as ready for review January 9, 2026 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant