The console shows what your code printed, not how it got there.
Replay your code, backwards too.
JSpark records a Node Run Step by Step, and lets you move through it, backwards as well as forwards. Nothing runs again.
Step through a Run, backwards too
JSpark runs the Snippet once and records every Step. Then you move back and forward through the recording, and nothing runs again.
TimelineEditing is paused while you replay · Esc to go back
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
everywhere
What each Step changed
Variables lists every name in scope at the Step, grouped by scope. A name the Step changed is lit.
TimelineEditing is paused while you replay · Esc to go back
in this loop
everywhere
A name’s value then, and what a closure remembers
Hover a name to see its value at the Step on screen, never a later one. A name a function keeps from further out is marked remembered.
TimelineEditing is paused while you replay · Esc to go back
everywhere
everywhere
in makeCounter()
everywhere
everywhere
in makeCounter()· remembered
everywhere
in makeCounter()· remembered
everywhere
everywhere
in makeCounter()· remembered
everywhere
in makeCounter()· remembered
everywhere
everywhere
in makeCounter()· remembered
everywhere
in makeCounter()· remembered
everywhere
everywhere
Objects as they were
An object shows what it held at each Step, not what it became later.
TimelineEditing is paused while you replay · Esc to go back
Nothing in scope
everywhere
everywhere
everywhere
everywhere
everywhere
everywhere
The console, up to this Step
The line printed at this Step is lit, and later output is dimmed. Next Step with output jumps to the next Step that printed.
TimelineEditing is paused while you replay · Esc to go back
Nothing in scope
everywhere
everywhere
in this loop
everywhere
in this loop
everywhere
in this loop
everywhere
in this loop
everywhere
everywhere
everywhere
everywhere
Inside lines JSpark+
Step into each call, callback and loop check, and see what each one came to, such as score >= 10 → true.
TimelineEditing is paused while you replay · Esc to go back
Nothing in scope
everywhere
everywhere
in this callback
everywhere
in this callback
everywhere
in this callback
everywhere
in this callback
everywhere
everywhere
everywhere
in this callback
everywhere
in this callback
everywhere
everywhere
everywhere
in this callback
everywhere
in this callback
everywhere
everywhere
everywhere
everywhere
The Call Stack JSpark+
At every Step, see which function called the one you are in, with each call’s arguments and line.
TimelineEditing is paused while you replay · Esc to go back
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
in factorial()
everywhere
everywhere
Longer recordings JSpark+
JSpark records up to 5,000 Steps. JSpark+ records 200,000 at first, and up to 2,000,000 when you ask for more. A recording that stopped early says so, and offers to record more.
TimelineEditing is paused while you replay · Esc to go back
Nothing in scope
Good to know
- Node Snippets only
- A Web Snippet runs as a live page and has no Timeline.
- The editor waits
- While the Timeline is open, the code is read-only and Run as you type waits. Esc goes back to editing.
- Steps you can use
- A recording that ran out of room keeps the Steps it recorded, and you can still move through them.
- Keys
- ⌘⇧↵ opens the Timeline, ⌘← and ⌘→ move one Step, and Space plays and pauses.
Next time a loop surprises you, replay it.
Not a trial: it doesn’t expire.
Windows: coming later