Brick

The diagram a brick block runs, in the builder's own shape. It starts at its block with the id brick_start, and its node with the id outputs lists the ways out. A connection inside it that ends at outputs.$N leaves the brick by its output $N, which is the type a connection leaving the brick block takes; default is taken when that output has no connection of its own.

The blocks inside are held to the same rules as the rest of the diagram, and a rule one of them breaks names it by its trail: B0->brick_start. The block-level operations do not reach them.

  • Its connections by id.

    Properties: 1
  • Its blocks by id, among them brick_start, plus the outputs node, whose template is brick_outputs and whose params.outputs lists the ways out as {id, alias}, id being a dollar sign followed by a number. The outputs node is not a block: nothing runs it.

    Properties: 1
  • The id of the block placing it, repeated inside it.

  • The name the builder shows for it.

  • The ids of the bricks it is nested in and its own, joined by dots: B0, or B0.B1 for a brick placed inside B0.

Examples
{
  "id": "B0",
  "path": "B0",
  "name": "Ask for the email",
  "nodes": {
    "brick_start": {
      "id": "brick_start",
      "path": "brick_start",
      "template": "var_email",
      "params": {
        "text": "Your email?",
        "destination": "email"
      }
    },
    "outputs": {
      "id": "outputs",
      "path": "outputs",
      "type": "chain",
      "template": "brick_outputs",
      "params": {
        "outputs": [
          {
            "id": "$0",
            "alias": "Done"
          }
        ]
      }
    }
  },
  "connections": {
    "brick_start.$success--outputs.$0": {
      "id": "brick_start.$success--outputs.$0",
      "type": "$success",
      "sourcePath": "brick_start",
      "targetPath": "outputs.$0"
    }
  }
}