About Framelet: Callstack Theater
Raise the curtain on a tiny program. In Framelet: Callstack Theater, each function call becomes its own frame on a colorful 3D stage. Follow the visible pseudocode, keep track of local values and choose the next call or return. A child must finish before its waiting caller can continue.
Play 180 scenes across three courses. First Calls introduces helper functions and separate local values. Recursive Rehearsal follows a single chain to an explicit base case, then carries its result back through waiting frames. Double Returns adds two ordered recursive calls and combines their results.
Inspect a frame to see its own argument, local values and waiting return. Use the action cards to choose the correct argument, result or receiving frame. Wrong choices leave the program intact so you can reconsider the trace. This is a small integer-only teaching language, with a clear top-to-bottom execution order and no programming syntax to type.
Earn up to three stars per scene and revisit earlier scripts to improve your best result. Your best stars, course position and sound setting are saved on this device when browser storage is available.
How to Play Framelet: Callstack Theater
Choose First Calls (Easy), Recursive Rehearsal (Medium) or Double Returns (Hard). Each course contains 60 scenes. Read the current function’s pseudocode and inspect the active top frame. Its n and local values belong to that invocation.
Choose the action that happens next. A call creates a new frame with its own argument; its caller waits for a named local result. A return removes the active frame, stores the result in the immediate caller’s waiting local and resumes that caller. The final return produces the program output.
Programs run one line at a time from top to bottom. Complete a called function before continuing its caller. In Double Returns, the left call finishes before the right call begins. Recursive base cases return without another recursive call. All arithmetic uses whole integers.
Click or tap a 3D frame to inspect its values and filter the offered action cards for that frame. All frames restores the full choice list. Choose an action card to advance. Undo revisits an earlier correct step, Reset restarts the scene and Hint explains a next step. Mistakes and hints remain recorded when you undo or reset.
Desktop: press 1–4 to choose the corresponding visible action card. Z undoes the last correct cue, H requests a hint, R restarts the scene and M toggles sound. After success, Enter continues to the next scene. Tab and Enter activate on-screen controls normally. Escape closes help.
Mobile: tap a 3D frame to inspect it, tap an action card to choose a cue, and use All frames to restore the complete action list. Undo, Restart, Hint and sound controls are available on screen.
Earn three stars with no missed cues or hints, two stars with at most two missed cues and no hints, or one star for any completed scene. Undo and Restart preserve missed cues and hint use. Your best stars are retained when you replay a scene.