Skip to content

jeffriesd/dsDraw

Repository files navigation

dsDraw

dsDraw is an interactive tool for creating videos with flowcharts and data structures, with an emphasis on programmatic drawing. The web application consists of a canvas, some toolbar buttons, and a console. The user can interact with the canvas by point-and-click or by entering commands via the console. These interactions produce animations that can be recorded along with audio from the user's microphone to create dynamic content.

gif cannot be loaded

Editing the canvas

The canvas can be edited before and during recording, so the user may 'set the scene' with some objects or text before recording begins.

Different independent clips can be created either from the current contents of the canvas or from a blank canvas. The user can switch between these clips, editing and recording over them.

Saving a video

Once video has been recorded for a clip, it is no longer editable. Recorded videos may be merged with other clips and exported as .webm files.

Basic mouse controls

To move an existing object, hold control and drag the object.
To clone an existing object, hold alt and drag the object.
To delete any object, click on it to bring up the options and click the red X.
To change the settings of an existing object, click on it and select new options or configure it from the console. The currently selected object(s) will have a bright blue border.

Shortcuts

R: Start/Stop recording
P: Pause/play
Control-Z: Undo
Control-Y: Redo
T: Show console
Escape: Hide console

See the wiki for more details.

Gallery

Convex hull animation: image cannot be loaded

The above animation is created by executing the code in test-scripts/hull/hull.ds in the dsDraw console.

Convex hull construction:

image cannot be loaded

Convex hull completed:

image cannot be loaded

Constructing a BST and accessing its nodes:

image cannot be loaded

Create a graph and have the nodes arranged automatically by dsDraw's graph layout algorithm:

image cannot be loaded

image cannot be loaded

Editing the properties of linked list nodes using a menu:

image cannot be loaded

Highlight nodes of a BST and add extra edges to illustrate BST layout algorithm:

image cannot be loaded

Use the program trace feature to run code line-by-line:

image cannot be loaded

About

Interactive web app + scripting language for drawing data structures programmatically. Also includes support for flowcharts, LaTeX, images, etc. Scripts can be run interactively with built-in debugger.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors