PlaybooksWalk a flow⌄

Walk a flow

A link between frames is one line in a frame's code. Click it and you walk to the next frame, so a set of frames plays like the app they will become.

Before you start

A project with a few frames that belong to one journey. The examples use kaffe's menu, cart and receipt.

  1. 2

    Read the arrows

    The canvas draws an arrow for every literal walk in a frame's folder, from the element that causes it. An arrow is solid when the walk always happens and faint when it sits inside a condition. spool flows prints the same graph, and names any destination it could not read.

    ~/kaffe $ spool flows
  2. 3

    Walk it on the canvas

    Click into menu and press Checkout. The walk lands on cart, live, with the session it carried. A walk to a frame on another page docks as a tag naming it, and pressing the tag goes there.

  3. 4

    Play the whole flow

    Press Play on a frame's name, or P with it selected, and the player opens in a tab of its own. It plays the journey as one document, at the frame's own width, and each walk is a crossfade unless shared/transitions.css says otherwise. Every load is a fresh session, so reload to start over.

  4. 5

    Carry state across

    ui.state is what the app knows, shared by every frame in the session: a cart filled on menu is still full on cart. On the canvas every frame on a page stands in one session, so two frames side by side are two clients of one app. Named seeds for that state are scenarios.

    The details are in The design/ folder, and your agent reads them all with spool skill flows.