{
  "schema": "digital-logic-sim-web/1",
  "storageId": "bake-controls-lab",
  "name": "Bake Controls Lab",
  "createdAt": "2026-08-10T00:00:00.000Z",
  "updatedAt": "2026-08-10T00:00:00.000Z",
  "root": {
    "id": "root",
    "name": "Bake Controls Lab",
    "type": "custom",
    "kind": "custom",
    "size": {
      "x": 760,
      "y": 440
    },
    "colour": "#202b3a",
    "nameLocation": "top",
    "inputPins": [],
    "outputPins": [],
    "instances": [
      {
        "id": "start",
        "name": "IN-1",
        "position": {
          "x": -360,
          "y": 0
        },
        "rotation": 0,
        "label": "START HIGH",
        "internalData": {},
        "linkedBusPairId": null,
        "outputPinColours": {}
      },
      {
        "id": "panel",
        "name": "TIMED PANEL",
        "position": {
          "x": 0,
          "y": 0
        },
        "rotation": 0,
        "label": "COMPOSED TIMED PANEL",
        "internalData": {},
        "linkedBusPairId": null,
        "outputPinColours": {}
      },
      {
        "id": "short-led",
        "name": "LED",
        "position": {
          "x": 360,
          "y": -60
        },
        "rotation": 0,
        "label": "SHORT WINDOW",
        "internalData": {},
        "linkedBusPairId": null,
        "outputPinColours": {}
      },
      {
        "id": "long-led",
        "name": "LED",
        "position": {
          "x": 360,
          "y": 60
        },
        "rotation": 0,
        "label": "LONG WINDOW",
        "internalData": {},
        "linkedBusPairId": null,
        "outputPinColours": {}
      }
    ],
    "wires": [
      {
        "id": "start-panel",
        "source": {
          "owner": "start",
          "pin": "0"
        },
        "target": {
          "owner": "panel",
          "pin": "start"
        },
        "points": [],
        "colour": null
      },
      {
        "id": "panel-short",
        "source": {
          "owner": "panel",
          "pin": "short"
        },
        "target": {
          "owner": "short-led",
          "pin": "0"
        },
        "points": [],
        "colour": null
      },
      {
        "id": "panel-long",
        "source": {
          "owner": "panel",
          "pin": "long"
        },
        "target": {
          "owner": "long-led",
          "pin": "0"
        },
        "points": [],
        "colour": null
      }
    ],
    "junctions": [],
    "displays": [],
    "annotations": [
      {
        "id": "title",
        "type": "label",
        "text": "BAKE / STEP / SCRUB LAB",
        "position": {
          "x": -150,
          "y": -480
        },
        "width": 300,
        "height": 26,
        "fontSize": 14,
        "colour": "#f3d36b",
        "background": "#352e18"
      },
      {
        "id": "instructions",
        "type": "text",
        "text": "This custom chip turns one constant HIGH input into two timed windows.\n\nExpected visible progression after STEP:\n0: both off\n1-2: SHORT + LONG on\n3-5: LONG only\n6+: both off\n\nTry RUN to create a bake, use the visible-step buttons and scrubber while paused, then CLEAR and repeat with STEP.",
        "position": {
          "x": -220,
          "y": -410
        },
        "width": 440,
        "height": 170,
        "fontSize": 11,
        "colour": "#d7eaff",
        "background": "#2f3338"
      },
      {
        "id": "composition-note",
        "type": "label",
        "text": "TIMED PANEL = reusable composed chip",
        "position": {
          "x": -180,
          "y": -200
        },
        "width": 360,
        "height": 22,
        "fontSize": 10,
        "colour": "#9bc8ff",
        "background": "#222c38"
      }
    ]
  },
  "customChips": {
    "TIMED PANEL": {
      "id": "chip-timed-panel",
      "name": "TIMED PANEL",
      "type": "custom",
      "kind": "custom",
      "size": {
        "x": 300,
        "y": 220
      },
      "colour": "#5c8d78",
      "nameLocation": "top",
      "inputPins": [
        {
          "id": "start",
          "name": "START",
          "bits": 1,
          "direction": "input",
          "x": -260,
          "y": 0,
          "valueDisplay": "off",
          "colour": "gray"
        }
      ],
      "outputPins": [
        {
          "id": "short",
          "name": "SHORT",
          "bits": 1,
          "direction": "output",
          "x": 260,
          "y": -60,
          "valueDisplay": "off",
          "colour": "green"
        },
        {
          "id": "long",
          "name": "LONG",
          "bits": 1,
          "direction": "output",
          "x": 260,
          "y": 60,
          "valueDisplay": "off",
          "colour": "green"
        }
      ],
      "interfaceBindings": {
        "inputs": [
          {
            "publicId": "start",
            "instanceId": "panel-in",
            "pinId": "0",
            "direction": "input"
          }
        ],
        "outputs": [
          {
            "publicId": "short",
            "instanceId": "panel-short",
            "pinId": "0",
            "direction": "output"
          },
          {
            "publicId": "long",
            "instanceId": "panel-long",
            "pinId": "0",
            "direction": "output"
          }
        ]
      },
      "instances": [
        {
          "id": "panel-in",
          "name": "IN-1",
          "position": {
            "x": -160,
            "y": 0
          },
          "rotation": 0,
          "label": "START",
          "internalData": {},
          "linkedBusPairId": null,
          "interfaceId": "start",
          "outputPinColours": {}
        },
        {
          "id": "short-pulse",
          "name": "PULSE",
          "position": {
            "x": 0,
            "y": -60
          },
          "rotation": 0,
          "label": "2 VISIBLE STEPS",
          "internalData": {
            "duration": 3,
            "remaining": 0,
            "previous": 0
          },
          "linkedBusPairId": null,
          "interfaceId": null,
          "outputPinColours": {}
        },
        {
          "id": "long-pulse",
          "name": "PULSE",
          "position": {
            "x": 0,
            "y": 60
          },
          "rotation": 0,
          "label": "5 VISIBLE STEPS",
          "internalData": {
            "duration": 6,
            "remaining": 0,
            "previous": 0
          },
          "linkedBusPairId": null,
          "interfaceId": null,
          "outputPinColours": {}
        },
        {
          "id": "panel-short",
          "name": "OUT-1",
          "position": {
            "x": 160,
            "y": -60
          },
          "rotation": 0,
          "label": "SHORT",
          "internalData": {},
          "linkedBusPairId": null,
          "interfaceId": "short",
          "outputPinColours": {}
        },
        {
          "id": "panel-long",
          "name": "OUT-1",
          "position": {
            "x": 160,
            "y": 60
          },
          "rotation": 0,
          "label": "LONG",
          "internalData": {},
          "linkedBusPairId": null,
          "interfaceId": "long",
          "outputPinColours": {}
        }
      ],
      "wires": [
        {
          "id": "start-short",
          "source": {
            "owner": "panel-in",
            "pin": "0"
          },
          "target": {
            "owner": "short-pulse",
            "pin": "0"
          },
          "points": [],
          "colour": null
        },
        {
          "id": "start-long",
          "source": {
            "owner": "panel-in",
            "pin": "0"
          },
          "target": {
            "owner": "long-pulse",
            "pin": "0"
          },
          "points": [],
          "colour": null
        },
        {
          "id": "short-output",
          "source": {
            "owner": "short-pulse",
            "pin": "1"
          },
          "target": {
            "owner": "panel-short",
            "pin": "0"
          },
          "points": [],
          "colour": null
        },
        {
          "id": "long-output",
          "source": {
            "owner": "long-pulse",
            "pin": "1"
          },
          "target": {
            "owner": "panel-long",
            "pin": "0"
          },
          "points": [],
          "colour": null
        }
      ],
      "junctions": [],
      "displays": [],
      "annotations": [],
      "fit": {
        "version": 1,
        "bounds": {
          "x": -260,
          "y": -140,
          "w": 520,
          "h": 280
        }
      }
    }
  },
  "collections": [
    {
      "name": "LOGIC",
      "chips": [
        "AND",
        "OR",
        "NOT",
        "NAND",
        "NOR",
        "XOR",
        "XNOR",
        "BUFFER"
      ]
    },
    {
      "name": "BASIC",
      "chips": [
        "CLOCK",
        "PULSE",
        "KEY",
        "3-STATE BUFFER",
        "DFF",
        "CONST-0",
        "CONST-1",
        "CONST-0-16",
        "CONST-1-16"
      ]
    },
    {
      "name": "IN/OUT",
      "chips": [
        "IN-1",
        "IN-4",
        "IN-8",
        "IN-16",
        "OUT-1",
        "OUT-4",
        "OUT-8",
        "OUT-16"
      ]
    },
    {
      "name": "MERGE/SPLIT",
      "chips": [
        "1-4BIT",
        "1-8BIT",
        "4-8BIT",
        "1-16BIT",
        "8-16BIT",
        "4-1BIT",
        "8-4BIT",
        "8-1BIT",
        "16-8BIT",
        "16-1BIT"
      ]
    },
    {
      "name": "BUS",
      "chips": [
        "BUS-1",
        "BUS-4",
        "BUS-8"
      ]
    },
    {
      "name": "DISPLAY",
      "chips": [
        "7-SEGMENT",
        "DOT DISPLAY",
        "RGB DISPLAY",
        "LED"
      ]
    },
    {
      "name": "MEMORY",
      "chips": [
        "ROM 256x16",
        "dev.RAM-8",
        "RAM8",
        "RAM64",
        "RAM512",
        "RAM4K",
        "RAM16K",
        "ROM32K",
        "MEMORY",
        "SCREEN",
        "KEYBOARD",
        "REGISTER-16",
        "PROGRAM COUNTER"
      ]
    },
    {
      "name": "AUDIO",
      "chips": [
        "BUZZER"
      ]
    }
  ],
  "collectionOrder": [
    "LOGIC",
    "BASIC",
    "IN/OUT",
    "MERGE/SPLIT",
    "BUS",
    "DISPLAY",
    "MEMORY",
    "AUDIO",
    "CUSTOM"
  ],
  "starred": [
    "IN/OUT",
    "NAND"
  ],
  "settings": {
    "snapping": true,
    "straightWires": false,
    "grid": true,
    "simulationPaused": true,
    "stepsPerSecond": 8,
    "stepsPerClock": 2
  },
  "inputValues": {
    "start": 1
  },
  "keyValues": {}
}
