UI Components

These are files in src/ui/.

Goal

class module:Goal()

Renders the goal at the top of the screen.

Toolbox

class module:Toolbox()

Renders the toolbox at the bottom of the screen.

Reduction Toolbar

class module:ReductToolbar()

Handle the play/pause/big-step toolbar for reducing expressions.

These are rendered in HTML, and positioned to match their corresponding expression. It does some work to recycle the toolbar nodes and make sure they stay attached to the same expression through reduction.

Function Definition Expansion

class module:FunctionDef()

Handles drawing the expanded version of a name.

Stuck State

class module:StuckEffect()

An effect (see Stage) for when the user is stuck.

Error Message Feedback

class module:Feedback()

Draws error messages at the bottom of the screen.