{
  "format": "epicdraw-workspace",
  "version": 1,
  "charts": [
    {
      "id": "blog-interface-state-board",
      "name": "Search states · blank starter",
      "nodes": [
        {
          "id": "title",
          "type": "text",
          "text": "[Interface / task] · state board",
          "x": 40,
          "y": 20,
          "w": 2120,
          "h": 80,
          "fill": "none",
          "font": "sans",
          "fs": 42,
          "ink": "navy",
          "seed": 6200
        },
        {
          "id": "fiction",
          "type": "text",
          "text": "YOUR DESIGN DRAFT · Replace bracketed content and confirm behaviour.",
          "x": 40,
          "y": 115,
          "w": 2120,
          "h": 65,
          "fill": "none",
          "font": "sans",
          "fs": 30,
          "ink": "navy",
          "seed": 6201
        },
        {
          "id": "initial",
          "type": "round",
          "text": "INITIAL EMPTY\nTrigger: [starting condition]\n\nMessage: [what to do first]\n\nAction: [first action]\nNext: [next state]",
          "x": 40,
          "y": 220,
          "w": 600,
          "h": 510,
          "fill": "white",
          "font": "sans",
          "fs": 32,
          "ink": "navy",
          "seed": 6202
        },
        {
          "id": "loading",
          "type": "round",
          "text": "LOADING\nTrigger: [request starts]\n\nMessage: [what is happening]\nContext: [retained input]\n\nAction: [wait / recovery rule]\nNext: [possible outcomes]",
          "x": 800,
          "y": 220,
          "w": 600,
          "h": 510,
          "fill": "sun",
          "font": "sans",
          "fs": 31,
          "ink": "navy",
          "seed": 6203
        },
        {
          "id": "results",
          "type": "round",
          "text": "RESULTS\nTrigger: [usable response]\n\nContent: [useful result]\n\nAction: [continue task]\nNext: [destination]",
          "x": 1560,
          "y": 220,
          "w": 600,
          "h": 510,
          "fill": "mint",
          "font": "sans",
          "fs": 31,
          "ink": "navy",
          "seed": 6204
        },
        {
          "id": "no-results",
          "type": "round",
          "text": "NO RESULTS\nTrigger: [successful empty response]\n\nMessage: [no matches + context]\nKeep: [usable inputs]\n\nAction: [change input]\nNext: [new request]",
          "x": 800,
          "y": 1000,
          "w": 600,
          "h": 535,
          "fill": "white",
          "font": "sans",
          "fs": 30,
          "ink": "navy",
          "seed": 6205
        },
        {
          "id": "failure",
          "type": "round",
          "text": "REQUEST FAILURE\nTrigger: [verified failure]\n\nMessage: [what could not complete]\nKeep: [usable inputs]\n\nAction: [safe recovery]\nNext: [retry / other route]",
          "x": 1560,
          "y": 1000,
          "w": 600,
          "h": 535,
          "fill": "peach",
          "font": "sans",
          "fs": 31,
          "ink": "navy",
          "seed": 6206
        },
        {
          "id": "review",
          "type": "round",
          "text": "REVIEW + OPEN RULES\nPerson and task: [define]\n\nQuestion: [review question]\nUnknown rule: [decision]\nOwner: [responsible person]\nNext check: [evidence / date]",
          "x": 40,
          "y": 1000,
          "w": 600,
          "h": 535,
          "fill": "white",
          "font": "sans",
          "fs": 29,
          "ink": "navy",
          "seed": 6207
        },
        {
          "id": "submit-label",
          "type": "text",
          "text": "Search",
          "x": 665,
          "y": 395,
          "w": 110,
          "h": 65,
          "fill": "none",
          "font": "sans",
          "fs": 28,
          "ink": "navy",
          "seed": 6208
        },
        {
          "id": "matches-label",
          "type": "text",
          "text": "Matches",
          "x": 1420,
          "y": 395,
          "w": 130,
          "h": 65,
          "fill": "none",
          "font": "sans",
          "fs": 26,
          "ink": "navy",
          "seed": 6209
        },
        {
          "id": "zero-label",
          "type": "text",
          "text": "Zero matches",
          "x": 825,
          "y": 800,
          "w": 450,
          "h": 65,
          "fill": "none",
          "font": "sans",
          "fs": 28,
          "ink": "navy",
          "seed": 6210
        },
        {
          "id": "failure-label",
          "type": "text",
          "text": "Request failed",
          "x": 1450,
          "y": 805,
          "w": 460,
          "h": 65,
          "fill": "none",
          "font": "sans",
          "fs": 28,
          "ink": "navy",
          "seed": 6211
        }
      ],
      "edges": [
        {
          "id": "submit",
          "from": "initial",
          "to": "loading",
          "sa": "r",
          "ea": "l",
          "style": "straight",
          "label": "",
          "head": "end",
          "ink": "navy",
          "seed": 6600
        },
        {
          "id": "matches",
          "from": "loading",
          "to": "results",
          "sa": "r",
          "ea": "l",
          "style": "straight",
          "label": "",
          "head": "end",
          "ink": "navy",
          "seed": 6601
        },
        {
          "id": "zero",
          "from": "loading",
          "to": "no-results",
          "sa": "b",
          "ea": "t",
          "style": "straight",
          "label": "",
          "head": "end",
          "ink": "navy",
          "seed": 6602
        },
        {
          "id": "failed",
          "from": "loading",
          "to": "failure",
          "sa": "b",
          "ea": "t",
          "style": "straight",
          "label": "",
          "head": "end",
          "ink": "navy",
          "seed": 6603
        }
      ],
      "paper": "white",
      "pattern": "none",
      "ink": "navy",
      "wobble": 0.25
    }
  ],
  "cur": 0
}
