Skip to content

Hogwarts-coder10/DSAViz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

DSAViz — Universal Algorithm Player

A debugger-style desktop DSA visualizer powered by a Python event engine.

A desktop DSA visualizer built as an execution engine, not an animation tool.

This project separates algorithms from visualisation by running them inside a Python runtime that emits semantic events (compare, swap, mark, visit). The Electron frontend interprets these events to render the algorithm step-by-step.

Instead of hardcoding animations per algorithm, the UI behaves like a debugger for algorithms.

Core Idea

Algorithms describe what happens UI decides how it looks

The engine streams meaning — not array snapshots.

This allows the same visualization system to support:

  • Sorting algorithms
  • Trees and traversals
  • Graph algorithms
  • Backtracking
  • Dynamic Programming
  • Future ML visualizations

Architecture

Electron (Renderer) → IPC Bridge → Python Engine (generator-based execution)

Algorithms run as generators and yield instructions: compare, swap, mark, unmark, commit

The frontend maintains visual state and applies events.

Why This Exists

Most visualizers are tightly coupled animations. Adding a new algorithm requires writing new UI logic.

This project treats algorithms as programs and the visualizer as a player. One instruction set. Infinite algorithms.

Goals

  • Teach algorithms through execution, not prerecorded animation
  • Maintain clean separation of concerns
  • Support pause / step / rewind naturally
  • Keep algorithms testable outside the UI

Tech Stack

ElectronJS + Python JSON event streaming via IPC

About

A desktop DSA visualizer built as an execution engine, not an animation tool.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors