{
  "appVersion": "0.12.0",
  "savedAt": "2026-09-30T02:49:12.093Z",
  "workspace": {
    "blocks": {
      "languageVersion": 0,
      "blocks": [
        {
          "type": "controls_whileUntil",
          "id": "4.6POX~UCf(6F{v@pp_y",
          "x": 132,
          "y": 180,
          "fields": {
            "MODE": "WHILE"
          },
          "inputs": {
            "BOOL": {
              "block": {
                "type": "logic_boolean",
                "id": "P{{ByGHrScaOS.S}gEy6",
                "fields": {
                  "BOOL": "TRUE"
                }
              }
            },
            "DO": {
              "block": {
                "type": "controls_if",
                "id": "PM1+;?O8!*!stt|!w:uu",
                "extraState": {
                  "hasElse": true
                },
                "inputs": {
                  "IF0": {
                    "block": {
                      "type": "logic_compare",
                      "id": "$5%@[{WtAT^n7#2A+{k#",
                      "fields": {
                        "OP": "LT"
                      },
                      "inputs": {
                        "A": {
                          "block": {
                            "type": "apm_mini_sensor",
                            "id": "mMSef=VjT?lP{/ble[06",
                            "fields": {
                              "CH": "3"
                            }
                          }
                        },
                        "B": {
                          "block": {
                            "type": "math_number",
                            "id": "}JMKGb|`Y(+.LdM_o=qN",
                            "fields": {
                              "NUM": 50
                            }
                          }
                        }
                      }
                    }
                  },
                  "DO0": {
                    "block": {
                      "type": "apm_mini_rpm",
                      "id": "$J:/grmf]H%PkY?^{[V{",
                      "inputs": {
                        "LEFT": {
                          "shadow": {
                            "type": "math_number",
                            "id": "Fj#TvF9n83RkZOFYF^VB",
                            "fields": {
                              "NUM": 30
                            }
                          }
                        },
                        "RIGHT": {
                          "shadow": {
                            "type": "math_number",
                            "id": "I}_09VU|,Roj!n|OX:M,",
                            "fields": {
                              "NUM": 0
                            }
                          }
                        }
                      }
                    }
                  },
                  "ELSE": {
                    "block": {
                      "type": "apm_mini_rpm",
                      "id": "v:=;~Cb7J[Gn.^TZ7g3O",
                      "inputs": {
                        "LEFT": {
                          "shadow": {
                            "type": "math_number",
                            "id": "YUK@P|^qy-^N?I/7X[Qd",
                            "fields": {
                              "NUM": 0
                            }
                          }
                        },
                        "RIGHT": {
                          "shadow": {
                            "type": "math_number",
                            "id": "gU(#dFyxlAEKP4F?qZyf",
                            "fields": {
                              "NUM": 30
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      ]
    }
  },
  "python": "import light\nimport drive\n\n\nwhile True:\n  if light.get_optical_sensor(3) < 50:\n    drive.drive_rpm(30, 0)\n  else:\n    drive.drive_rpm(0, 30)\n",
  "programmingMode": "blocks"
}