Makes the controller. Nothing is read or checked until Study.start.
Stops what Kizuki is waiting for (Esc). Nothing more is saved from that step.
Resolves when the current flow and the file queue are both done. For tests.
Answers the pick list with the ids you picked.
Starts Kizuki: checks the models, picks a course, finishes work left from last time, and says what is due.
Handles a line you typed.
Calls listener whenever the view changes. Returns a function that stops it.
What the screen shows now.
The study loop behind the terminal app, with no screen code: it turns what you type into calls to
lib/and keeps the conversation, the pick list, and the top line. The screen reads Study.view and calls Study.submit, Study.pick, and Study.cancel.