{
  "schemaVersion": 1,
  "baselineId": "freecad-1.1.1",
  "sourceCommit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d",
  "generatedBy": "./npmw run probe:freecad-cam-path",
  "checkedBy": "./npmw run check:freecad-cam-path",
  "runtime": {
    "guiUp": true,
    "pathModule": ".cache/freecad/install-desktop/Mod/CAM/Path/__init__.py"
  },
  "profileAlgorithm": {
    "commandCount": 32,
    "commandSha256": "5fcc36e3fc3c022599096f4110c890401f285b5878030de7c481786470a7a455",
    "commands": [
      {
        "gcode": "(OracleProfile)",
        "name": "(OracleProfile)",
        "parameters": {}
      },
      {
        "gcode": "(Compensated Tool Path. Diameter: 5.0)",
        "name": "(Compensated Tool Path. Diameter: 5.0)",
        "parameters": {}
      },
      {
        "gcode": "G0 Z16.00",
        "name": "G0",
        "parameters": {
          "Z": 16
        }
      },
      {
        "gcode": "G0 X16.47 Y16.47",
        "name": "G0",
        "parameters": {
          "X": 16.47,
          "Y": 16.47
        }
      },
      {
        "gcode": "G0 Z14.00",
        "name": "G0",
        "parameters": {
          "Z": 14
        }
      },
      {
        "gcode": "G1 X16.47 Y16.47 Z10.00",
        "name": "G1",
        "parameters": {
          "X": 16.47,
          "Y": 16.47,
          "Z": 10
        }
      },
      {
        "gcode": "G3 I-2.48 J-2.48 K0.00 X13.93 Y17.50 Z10.00",
        "name": "G3",
        "parameters": {
          "I": -2.48,
          "J": -2.48,
          "K": 0,
          "X": 13.93,
          "Y": 17.5,
          "Z": 10
        }
      },
      {
        "gcode": "G1 X-13.93 Y17.50 Z10.00",
        "name": "G1",
        "parameters": {
          "X": -13.93,
          "Y": 17.5,
          "Z": 10
        }
      },
      {
        "gcode": "G3 I-0.06 J-3.51 K0.00 X-17.50 Y13.93 Z10.00",
        "name": "G3",
        "parameters": {
          "I": -0.06,
          "J": -3.51,
          "K": 0,
          "X": -17.5,
          "Y": 13.93,
          "Z": 10
        }
      },
      {
        "gcode": "G1 X-17.50 Y-13.93 Z10.00",
        "name": "G1",
        "parameters": {
          "X": -17.5,
          "Y": -13.93,
          "Z": 10
        }
      },
      {
        "gcode": "G3 I3.51 J-0.06 K0.00 X-13.93 Y-17.50 Z10.00",
        "name": "G3",
        "parameters": {
          "I": 3.51,
          "J": -0.06,
          "K": 0,
          "X": -13.93,
          "Y": -17.5,
          "Z": 10
        }
      },
      {
        "gcode": "G1 X13.93 Y-17.50 Z10.00",
        "name": "G1",
        "parameters": {
          "X": 13.93,
          "Y": -17.5,
          "Z": 10
        }
      },
      {
        "gcode": "G3 I0.06 J3.51 K0.00 X17.50 Y-13.93 Z10.00",
        "name": "G3",
        "parameters": {
          "I": 0.06,
          "J": 3.51,
          "K": 0,
          "X": 17.5,
          "Y": -13.93,
          "Z": 10
        }
      },
      {
        "gcode": "G1 X17.50 Y13.93 Z10.00",
        "name": "G1",
        "parameters": {
          "X": 17.5,
          "Y": 13.93,
          "Z": 10
        }
      },
      {
        "gcode": "G3 I-3.51 J0.06 K0.00 X16.47 Y16.47 Z10.00",
        "name": "G3",
        "parameters": {
          "I": -3.51,
          "J": 0.06,
          "K": 0,
          "X": 16.47,
          "Y": 16.47,
          "Z": 10
        }
      },
      {
        "gcode": "G0 F0.00 Z16.00",
        "name": "G0",
        "parameters": {
          "F": 0,
          "Z": 16
        }
      },
      {
        "gcode": "G0 Z16.00",
        "name": "G0",
        "parameters": {
          "Z": 16
        }
      },
      {
        "gcode": "G0 X16.47 Y16.47",
        "name": "G0",
        "parameters": {
          "X": 16.47,
          "Y": 16.47
        }
      },
      {
        "gcode": "G0 X23.54 Y23.54",
        "name": "G0",
        "parameters": {
          "X": 23.54,
          "Y": 23.54
        }
      },
      {
        "gcode": "G0 X23.54 Y23.54 Z14.00",
        "name": "G0",
        "parameters": {
          "X": 23.54,
          "Y": 23.54,
          "Z": 14
        }
      },
      {
        "gcode": "G1 X23.54 Y23.54 Z10.00",
        "name": "G1",
        "parameters": {
          "X": 23.54,
          "Y": 23.54,
          "Z": 10
        }
      },
      {
        "gcode": "G2 I-9.55 J-9.55 K0.00 X27.50 Y14.00 Z10.00",
        "name": "G2",
        "parameters": {
          "I": -9.55,
          "J": -9.55,
          "K": 0,
          "X": 27.5,
          "Y": 14,
          "Z": 10
        }
      },
      {
        "gcode": "G1 X27.50 Y-14.00 Z10.00",
        "name": "G1",
        "parameters": {
          "X": 27.5,
          "Y": -14,
          "Z": 10
        }
      },
      {
        "gcode": "G2 I-13.50 J0.00 K0.00 X14.00 Y-27.50 Z10.00",
        "name": "G2",
        "parameters": {
          "I": -13.5,
          "J": 0,
          "K": 0,
          "X": 14,
          "Y": -27.5,
          "Z": 10
        }
      },
      {
        "gcode": "G1 X-14.00 Y-27.50 Z10.00",
        "name": "G1",
        "parameters": {
          "X": -14,
          "Y": -27.5,
          "Z": 10
        }
      },
      {
        "gcode": "G2 I0.00 J13.50 K0.00 X-27.50 Y-14.00 Z10.00",
        "name": "G2",
        "parameters": {
          "I": 0,
          "J": 13.5,
          "K": 0,
          "X": -27.5,
          "Y": -14,
          "Z": 10
        }
      },
      {
        "gcode": "G1 X-27.50 Y14.00 Z10.00",
        "name": "G1",
        "parameters": {
          "X": -27.5,
          "Y": 14,
          "Z": 10
        }
      },
      {
        "gcode": "G2 I13.50 J0.00 K0.00 X-14.00 Y27.50 Z10.00",
        "name": "G2",
        "parameters": {
          "I": 13.5,
          "J": 0,
          "K": 0,
          "X": -14,
          "Y": 27.5,
          "Z": 10
        }
      },
      {
        "gcode": "G1 X14.00 Y27.50 Z10.00",
        "name": "G1",
        "parameters": {
          "X": 14,
          "Y": 27.5,
          "Z": 10
        }
      },
      {
        "gcode": "G2 I0.00 J-13.50 K0.00 X23.54 Y23.54 Z10.00",
        "name": "G2",
        "parameters": {
          "I": 0,
          "J": -13.5,
          "K": 0,
          "X": 23.54,
          "Y": 23.54,
          "Z": 10
        }
      },
      {
        "gcode": "G0 F0.00 Z16.00",
        "name": "G0",
        "parameters": {
          "F": 0,
          "Z": 16
        }
      },
      {
        "gcode": "G0 Z16.00",
        "name": "G0",
        "parameters": {
          "Z": 16
        }
      }
    ],
    "cuttingCommandCount": 20,
    "firstCuttingCommand": {
      "gcode": "G1 X16.47 Y16.47 Z10.00",
      "name": "G1",
      "parameters": {
        "X": 16.47,
        "Y": 16.47,
        "Z": 10
      }
    },
    "fixture": "Mod/CAM/CAMTests/test_profile.fcstd",
    "fixtureSha256": "8691fdf4dd355ec117b415f06e7151ee6e55800ef92e6c08fb6d7e73d3331d1a",
    "jobTypeId": "Path::FeaturePython",
    "lastCuttingCommand": {
      "gcode": "G2 I0.00 J-13.50 K0.00 X23.54 Y23.54 Z10.00",
      "name": "G2",
      "parameters": {
        "I": 0,
        "J": -13.5,
        "K": 0,
        "X": 23.54,
        "Y": 23.54,
        "Z": 10
      }
    },
    "modelTypeId": "PartDesign::Body",
    "normalizationToleranceMm": 0.01,
    "operationTypeId": "Path::FeaturePython",
    "pathLength": 396.99,
    "pathPropertyType": "Path::PropertyPath",
    "variants": [
      {
        "commandCount": 32,
        "commandSha256": "5fcc36e3fc3c022599096f4110c890401f285b5878030de7c481786470a7a455",
        "commands": [
          {
            "gcode": "(OracleProfile)",
            "name": "(OracleProfile)",
            "parameters": {}
          },
          {
            "gcode": "(Compensated Tool Path. Diameter: 5.0)",
            "name": "(Compensated Tool Path. Diameter: 5.0)",
            "parameters": {}
          },
          {
            "gcode": "G0 Z16.00",
            "name": "G0",
            "parameters": {
              "Z": 16
            }
          },
          {
            "gcode": "G0 X16.47 Y16.47",
            "name": "G0",
            "parameters": {
              "X": 16.47,
              "Y": 16.47
            }
          },
          {
            "gcode": "G0 Z14.00",
            "name": "G0",
            "parameters": {
              "Z": 14
            }
          },
          {
            "gcode": "G1 X16.47 Y16.47 Z10.00",
            "name": "G1",
            "parameters": {
              "X": 16.47,
              "Y": 16.47,
              "Z": 10
            }
          },
          {
            "gcode": "G3 I-2.48 J-2.48 K0.00 X13.93 Y17.50 Z10.00",
            "name": "G3",
            "parameters": {
              "I": -2.48,
              "J": -2.48,
              "K": 0,
              "X": 13.93,
              "Y": 17.5,
              "Z": 10
            }
          },
          {
            "gcode": "G1 X-13.93 Y17.50 Z10.00",
            "name": "G1",
            "parameters": {
              "X": -13.93,
              "Y": 17.5,
              "Z": 10
            }
          },
          {
            "gcode": "G3 I-0.06 J-3.51 K0.00 X-17.50 Y13.93 Z10.00",
            "name": "G3",
            "parameters": {
              "I": -0.06,
              "J": -3.51,
              "K": 0,
              "X": -17.5,
              "Y": 13.93,
              "Z": 10
            }
          },
          {
            "gcode": "G1 X-17.50 Y-13.93 Z10.00",
            "name": "G1",
            "parameters": {
              "X": -17.5,
              "Y": -13.93,
              "Z": 10
            }
          },
          {
            "gcode": "G3 I3.51 J-0.06 K0.00 X-13.93 Y-17.50 Z10.00",
            "name": "G3",
            "parameters": {
              "I": 3.51,
              "J": -0.06,
              "K": 0,
              "X": -13.93,
              "Y": -17.5,
              "Z": 10
            }
          },
          {
            "gcode": "G1 X13.93 Y-17.50 Z10.00",
            "name": "G1",
            "parameters": {
              "X": 13.93,
              "Y": -17.5,
              "Z": 10
            }
          },
          {
            "gcode": "G3 I0.06 J3.51 K0.00 X17.50 Y-13.93 Z10.00",
            "name": "G3",
            "parameters": {
              "I": 0.06,
              "J": 3.51,
              "K": 0,
              "X": 17.5,
              "Y": -13.93,
              "Z": 10
            }
          },
          {
            "gcode": "G1 X17.50 Y13.93 Z10.00",
            "name": "G1",
            "parameters": {
              "X": 17.5,
              "Y": 13.93,
              "Z": 10
            }
          },
          {
            "gcode": "G3 I-3.51 J0.06 K0.00 X16.47 Y16.47 Z10.00",
            "name": "G3",
            "parameters": {
              "I": -3.51,
              "J": 0.06,
              "K": 0,
              "X": 16.47,
              "Y": 16.47,
              "Z": 10
            }
          },
          {
            "gcode": "G0 F0.00 Z16.00",
            "name": "G0",
            "parameters": {
              "F": 0,
              "Z": 16
            }
          },
          {
            "gcode": "G0 Z16.00",
            "name": "G0",
            "parameters": {
              "Z": 16
            }
          },
          {
            "gcode": "G0 X16.47 Y16.47",
            "name": "G0",
            "parameters": {
              "X": 16.47,
              "Y": 16.47
            }
          },
          {
            "gcode": "G0 X23.54 Y23.54",
            "name": "G0",
            "parameters": {
              "X": 23.54,
              "Y": 23.54
            }
          },
          {
            "gcode": "G0 X23.54 Y23.54 Z14.00",
            "name": "G0",
            "parameters": {
              "X": 23.54,
              "Y": 23.54,
              "Z": 14
            }
          },
          {
            "gcode": "G1 X23.54 Y23.54 Z10.00",
            "name": "G1",
            "parameters": {
              "X": 23.54,
              "Y": 23.54,
              "Z": 10
            }
          },
          {
            "gcode": "G2 I-9.55 J-9.55 K0.00 X27.50 Y14.00 Z10.00",
            "name": "G2",
            "parameters": {
              "I": -9.55,
              "J": -9.55,
              "K": 0,
              "X": 27.5,
              "Y": 14,
              "Z": 10
            }
          },
          {
            "gcode": "G1 X27.50 Y-14.00 Z10.00",
            "name": "G1",
            "parameters": {
              "X": 27.5,
              "Y": -14,
              "Z": 10
            }
          },
          {
            "gcode": "G2 I-13.50 J0.00 K0.00 X14.00 Y-27.50 Z10.00",
            "name": "G2",
            "parameters": {
              "I": -13.5,
              "J": 0,
              "K": 0,
              "X": 14,
              "Y": -27.5,
              "Z": 10
            }
          },
          {
            "gcode": "G1 X-14.00 Y-27.50 Z10.00",
            "name": "G1",
            "parameters": {
              "X": -14,
              "Y": -27.5,
              "Z": 10
            }
          },
          {
            "gcode": "G2 I0.00 J13.50 K0.00 X-27.50 Y-14.00 Z10.00",
            "name": "G2",
            "parameters": {
              "I": 0,
              "J": 13.5,
              "K": 0,
              "X": -27.5,
              "Y": -14,
              "Z": 10
            }
          },
          {
            "gcode": "G1 X-27.50 Y14.00 Z10.00",
            "name": "G1",
            "parameters": {
              "X": -27.5,
              "Y": 14,
              "Z": 10
            }
          },
          {
            "gcode": "G2 I13.50 J0.00 K0.00 X-14.00 Y27.50 Z10.00",
            "name": "G2",
            "parameters": {
              "I": 13.5,
              "J": 0,
              "K": 0,
              "X": -14,
              "Y": 27.5,
              "Z": 10
            }
          },
          {
            "gcode": "G1 X14.00 Y27.50 Z10.00",
            "name": "G1",
            "parameters": {
              "X": 14,
              "Y": 27.5,
              "Z": 10
            }
          },
          {
            "gcode": "G2 I0.00 J-13.50 K0.00 X23.54 Y23.54 Z10.00",
            "name": "G2",
            "parameters": {
              "I": 0,
              "J": -13.5,
              "K": 0,
              "X": 23.54,
              "Y": 23.54,
              "Z": 10
            }
          },
          {
            "gcode": "G0 F0.00 Z16.00",
            "name": "G0",
            "parameters": {
              "F": 0,
              "Z": 16
            }
          },
          {
            "gcode": "G0 Z16.00",
            "name": "G0",
            "parameters": {
              "Z": 16
            }
          }
        ],
        "cuttingCommandCount": 20,
        "direction": "CW",
        "firstCuttingCommand": {
          "gcode": "G1 X16.47 Y16.47 Z10.00",
          "name": "G1",
          "parameters": {
            "X": 16.47,
            "Y": 16.47,
            "Z": 10
          }
        },
        "id": "outside-cw-tool-comp",
        "lastCuttingCommand": {
          "gcode": "G2 I0.00 J-13.50 K0.00 X23.54 Y23.54 Z10.00",
          "name": "G2",
          "parameters": {
            "I": 0,
            "J": -13.5,
            "K": 0,
            "X": 23.54,
            "Y": 23.54,
            "Z": 10
          }
        },
        "pathLength": 396.99,
        "useComp": true
      },
      {
        "commandCount": 32,
        "commandSha256": "c4c8bc58c4b21bc7be8796ff5d074fbe02656e31a26cc91ee65a67537a7d240a",
        "commands": [
          {
            "gcode": "(OracleProfileNoComp)",
            "name": "(OracleProfileNoComp)",
            "parameters": {}
          },
          {
            "gcode": "(Uncompensated Tool Path)",
            "name": "(Uncompensated Tool Path)",
            "parameters": {}
          },
          {
            "gcode": "G0 Z16.00",
            "name": "G0",
            "parameters": {
              "Z": 16
            }
          },
          {
            "gcode": "G0 X18.24 Y18.24",
            "name": "G0",
            "parameters": {
              "X": 18.24,
              "Y": 18.24
            }
          },
          {
            "gcode": "G0 Z14.00",
            "name": "G0",
            "parameters": {
              "Z": 14
            }
          },
          {
            "gcode": "G1 X18.24 Y18.24 Z10.00",
            "name": "G1",
            "parameters": {
              "X": 18.24,
              "Y": 18.24,
              "Z": 10
            }
          },
          {
            "gcode": "G3 I-4.24 J-4.24 K0.00 X14.00 Y20.00 Z10.00",
            "name": "G3",
            "parameters": {
              "I": -4.24,
              "J": -4.24,
              "K": 0,
              "X": 14,
              "Y": 20,
              "Z": 10
            }
          },
          {
            "gcode": "G1 X-14.00 Y20.00 Z10.00",
            "name": "G1",
            "parameters": {
              "X": -14,
              "Y": 20,
              "Z": 10
            }
          },
          {
            "gcode": "G3 I0.00 J-6.00 K0.00 X-20.00 Y14.00 Z10.00",
            "name": "G3",
            "parameters": {
              "I": 0,
              "J": -6,
              "K": 0,
              "X": -20,
              "Y": 14,
              "Z": 10
            }
          },
          {
            "gcode": "G1 X-20.00 Y-14.00 Z10.00",
            "name": "G1",
            "parameters": {
              "X": -20,
              "Y": -14,
              "Z": 10
            }
          },
          {
            "gcode": "G3 I6.00 J0.00 K0.00 X-14.00 Y-20.00 Z10.00",
            "name": "G3",
            "parameters": {
              "I": 6,
              "J": 0,
              "K": 0,
              "X": -14,
              "Y": -20,
              "Z": 10
            }
          },
          {
            "gcode": "G1 X14.00 Y-20.00 Z10.00",
            "name": "G1",
            "parameters": {
              "X": 14,
              "Y": -20,
              "Z": 10
            }
          },
          {
            "gcode": "G3 I0.00 J6.00 K0.00 X20.00 Y-14.00 Z10.00",
            "name": "G3",
            "parameters": {
              "I": 0,
              "J": 6,
              "K": 0,
              "X": 20,
              "Y": -14,
              "Z": 10
            }
          },
          {
            "gcode": "G1 X20.00 Y14.00 Z10.00",
            "name": "G1",
            "parameters": {
              "X": 20,
              "Y": 14,
              "Z": 10
            }
          },
          {
            "gcode": "G3 I-6.00 J0.00 K0.00 X18.24 Y18.24 Z10.00",
            "name": "G3",
            "parameters": {
              "I": -6,
              "J": 0,
              "K": 0,
              "X": 18.24,
              "Y": 18.24,
              "Z": 10
            }
          },
          {
            "gcode": "G0 F0.00 Z16.00",
            "name": "G0",
            "parameters": {
              "F": 0,
              "Z": 16
            }
          },
          {
            "gcode": "G0 Z16.00",
            "name": "G0",
            "parameters": {
              "Z": 16
            }
          },
          {
            "gcode": "G0 X18.24 Y18.24",
            "name": "G0",
            "parameters": {
              "X": 18.24,
              "Y": 18.24
            }
          },
          {
            "gcode": "G0 X21.78 Y21.78",
            "name": "G0",
            "parameters": {
              "X": 21.78,
              "Y": 21.78
            }
          },
          {
            "gcode": "G0 X21.78 Y21.78 Z14.00",
            "name": "G0",
            "parameters": {
              "X": 21.78,
              "Y": 21.78,
              "Z": 14
            }
          },
          {
            "gcode": "G1 X21.78 Y21.78 Z10.00",
            "name": "G1",
            "parameters": {
              "X": 21.78,
              "Y": 21.78,
              "Z": 10
            }
          },
          {
            "gcode": "G2 I-7.78 J-7.78 K0.00 X25.00 Y14.00 Z10.00",
            "name": "G2",
            "parameters": {
              "I": -7.78,
              "J": -7.78,
              "K": 0,
              "X": 25,
              "Y": 14,
              "Z": 10
            }
          },
          {
            "gcode": "G1 X25.00 Y-14.00 Z10.00",
            "name": "G1",
            "parameters": {
              "X": 25,
              "Y": -14,
              "Z": 10
            }
          },
          {
            "gcode": "G2 I-11.00 J0.00 K0.00 X14.00 Y-25.00 Z10.00",
            "name": "G2",
            "parameters": {
              "I": -11,
              "J": 0,
              "K": 0,
              "X": 14,
              "Y": -25,
              "Z": 10
            }
          },
          {
            "gcode": "G1 X-14.00 Y-25.00 Z10.00",
            "name": "G1",
            "parameters": {
              "X": -14,
              "Y": -25,
              "Z": 10
            }
          },
          {
            "gcode": "G2 I0.00 J11.00 K0.00 X-25.00 Y-14.00 Z10.00",
            "name": "G2",
            "parameters": {
              "I": 0,
              "J": 11,
              "K": 0,
              "X": -25,
              "Y": -14,
              "Z": 10
            }
          },
          {
            "gcode": "G1 X-25.00 Y14.00 Z10.00",
            "name": "G1",
            "parameters": {
              "X": -25,
              "Y": 14,
              "Z": 10
            }
          },
          {
            "gcode": "G2 I11.00 J0.00 K0.00 X-14.00 Y25.00 Z10.00",
            "name": "G2",
            "parameters": {
              "I": 11,
              "J": 0,
              "K": 0,
              "X": -14,
              "Y": 25,
              "Z": 10
            }
          },
          {
            "gcode": "G1 X14.00 Y25.00 Z10.00",
            "name": "G1",
            "parameters": {
              "X": 14,
              "Y": 25,
              "Z": 10
            }
          },
          {
            "gcode": "G2 I0.00 J-11.00 K0.00 X21.78 Y21.78 Z10.00",
            "name": "G2",
            "parameters": {
              "I": 0,
              "J": -11,
              "K": 0,
              "X": 21.78,
              "Y": 21.78,
              "Z": 10
            }
          },
          {
            "gcode": "G0 F0.00 Z16.00",
            "name": "G0",
            "parameters": {
              "F": 0,
              "Z": 16
            }
          },
          {
            "gcode": "G0 Z16.00",
            "name": "G0",
            "parameters": {
              "Z": 16
            }
          }
        ],
        "cuttingCommandCount": 20,
        "direction": "CW",
        "firstCuttingCommand": {
          "gcode": "G1 X18.24 Y18.24 Z10.00",
          "name": "G1",
          "parameters": {
            "X": 18.24,
            "Y": 18.24,
            "Z": 10
          }
        },
        "id": "outside-cw-no-comp",
        "lastCuttingCommand": {
          "gcode": "G2 I0.00 J-11.00 K0.00 X21.78 Y21.78 Z10.00",
          "name": "G2",
          "parameters": {
            "I": 0,
            "J": -11,
            "K": 0,
            "X": 21.78,
            "Y": 21.78,
            "Z": 10
          }
        },
        "pathLength": 394.13,
        "useComp": false
      }
    ]
  },
  "helixAlgorithm": {
    "baseSubElementCount": 9,
    "fixture": "Mod/CAM/CAMTests/test_holes00.fcstd",
    "fixtureSha256": "781032119db8d718e0a9e2cbf90691e1e496f8f1d292abf40cee25fa6ed9b7bb",
    "jobTypeId": "Path::FeaturePython",
    "modelTypeId": "PartDesign::Body",
    "normalizationToleranceMm": 0.01,
    "operationTypeId": "Path::FeaturePython",
    "pathPropertyType": "Path::PropertyPath",
    "scenarioCount": 4,
    "scenarios": [
      {
        "arcCommandCount": 1260,
        "arcNames": [
          "G2"
        ],
        "commandCount": 1471,
        "commandHistogram": {
          "(OracleHelix)": 1,
          "(helix cut operation)": 1,
          "G0": 164,
          "G1": 45,
          "G2": 1260
        },
        "commandSha256": "6499583c26dbf01694abc0a98fdbeb9d240cce0f73d32634284ddfa132030e0b",
        "cutMode": "Conventional",
        "direction": "CW",
        "expectedArc": "G2",
        "expectedDirection": "CW",
        "firstArcCommand": {
          "gcode": "G2 F0.00 I-0.05 J0.00 X9.95 Y0.00 Z0.58",
          "name": "G2",
          "parameters": {
            "F": 0,
            "I": -0.05,
            "J": 0,
            "X": 9.95,
            "Y": 0,
            "Z": 0.58
          }
        },
        "id": "inside-conventional",
        "lastArcCommand": {
          "gcode": "G2 F0.00 I4.05 J0.00 X94.05 Y0.00 Z-10.00",
          "name": "G2",
          "parameters": {
            "F": 0,
            "I": 4.05,
            "J": 0,
            "X": 94.05,
            "Y": 0,
            "Z": -10
          }
        },
        "pathLength": 1381.87,
        "startSide": "Inside"
      },
      {
        "arcCommandCount": 1260,
        "arcNames": [
          "G2"
        ],
        "commandCount": 1427,
        "commandHistogram": {
          "(OracleHelix)": 1,
          "(helix cut operation)": 1,
          "G0": 120,
          "G1": 45,
          "G2": 1260
        },
        "commandSha256": "37ee85fe360bfa82235f1b7aefce31cb7150900bb8d6f08751741fce6df18626",
        "cutMode": "Climb",
        "direction": "CW",
        "expectedArc": "G2",
        "expectedDirection": "CW",
        "firstArcCommand": {
          "gcode": "G2 F0.00 I-0.05 J0.00 X9.95 Y0.00 Z0.58",
          "name": "G2",
          "parameters": {
            "F": 0,
            "I": -0.05,
            "J": 0,
            "X": 9.95,
            "Y": 0,
            "Z": 0.58
          }
        },
        "id": "outside-climb",
        "lastArcCommand": {
          "gcode": "G2 F0.00 I0.45 J0.00 X90.45 Y0.00 Z-10.00",
          "name": "G2",
          "parameters": {
            "F": 0,
            "I": 0.45,
            "J": 0,
            "X": 90.45,
            "Y": 0,
            "Z": -10
          }
        },
        "pathLength": 1269.92,
        "startSide": "Outside"
      },
      {
        "arcCommandCount": 1260,
        "arcNames": [
          "G3"
        ],
        "commandCount": 1471,
        "commandHistogram": {
          "(OracleHelix)": 1,
          "(helix cut operation)": 1,
          "G0": 164,
          "G1": 45,
          "G3": 1260
        },
        "commandSha256": "f2fd26ca11be5efb037f809fb65949d24956f6ce330f87d152d2674770a27bd8",
        "cutMode": "Climb",
        "direction": "CCW",
        "expectedArc": "G3",
        "expectedDirection": "CCW",
        "firstArcCommand": {
          "gcode": "G3 F0.00 I-0.05 J0.00 X9.95 Y0.00 Z0.58",
          "name": "G3",
          "parameters": {
            "F": 0,
            "I": -0.05,
            "J": 0,
            "X": 9.95,
            "Y": 0,
            "Z": 0.58
          }
        },
        "id": "inside-climb",
        "lastArcCommand": {
          "gcode": "G3 F0.00 I4.05 J0.00 X94.05 Y0.00 Z-10.00",
          "name": "G3",
          "parameters": {
            "F": 0,
            "I": 4.05,
            "J": 0,
            "X": 94.05,
            "Y": 0,
            "Z": -10
          }
        },
        "pathLength": 1381.87,
        "startSide": "Inside"
      },
      {
        "arcCommandCount": 1260,
        "arcNames": [
          "G3"
        ],
        "commandCount": 1427,
        "commandHistogram": {
          "(OracleHelix)": 1,
          "(helix cut operation)": 1,
          "G0": 120,
          "G1": 45,
          "G3": 1260
        },
        "commandSha256": "0220f90245a74a50c1a54cb501439d14e7370d9d9d34fcc89dccdaff345688b7",
        "cutMode": "Conventional",
        "direction": "CCW",
        "expectedArc": "G3",
        "expectedDirection": "CCW",
        "firstArcCommand": {
          "gcode": "G3 F0.00 I-0.05 J0.00 X9.95 Y0.00 Z0.58",
          "name": "G3",
          "parameters": {
            "F": 0,
            "I": -0.05,
            "J": 0,
            "X": 9.95,
            "Y": 0,
            "Z": 0.58
          }
        },
        "id": "outside-conventional",
        "lastArcCommand": {
          "gcode": "G3 F0.00 I0.45 J0.00 X90.45 Y0.00 Z-10.00",
          "name": "G3",
          "parameters": {
            "F": 0,
            "I": 0.45,
            "J": 0,
            "X": 90.45,
            "Y": 0,
            "Z": -10
          }
        },
        "pathLength": 1269.92,
        "startSide": "Outside"
      }
    ],
    "toolDiameterMm": 0.9
  },
  "qtDynamicOracle": {
    "activeWorkbench": "CAMWorkbench",
    "camCommandCount": 56,
    "camCommands": [
      "CAM_Adaptive",
      "CAM_Area",
      "CAM_Area_Workplane",
      "CAM_Array",
      "CAM_Comment",
      "CAM_Compound",
      "CAM_Custom",
      "CAM_Deburr",
      "CAM_DressupArray",
      "CAM_DressupAxisMap",
      "CAM_DressupDogbone",
      "CAM_DressupDragKnife",
      "CAM_DressupLeadInOut",
      "CAM_DressupPathBoundary",
      "CAM_DressupRampEntry",
      "CAM_DressupTag",
      "CAM_DressupTools",
      "CAM_DressupZCorrect",
      "CAM_Drilling",
      "CAM_Engrave",
      "CAM_EngraveTools",
      "CAM_ExportTemplate",
      "CAM_Fixture",
      "CAM_Helix",
      "CAM_Inspect",
      "CAM_Job",
      "CAM_MillFace",
      "CAM_OpActiveToggle",
      "CAM_OperationCopy",
      "CAM_PathShapeTC",
      "CAM_Pocket3D",
      "CAM_Pocket_Shape",
      "CAM_Post",
      "CAM_Probe",
      "CAM_Profile",
      "CAM_PropertyBag",
      "CAM_Sanity",
      "CAM_SelectLoop",
      "CAM_SetStartPoint",
      "CAM_Shape",
      "CAM_SimTools",
      "CAM_SimpleCopy",
      "CAM_Simulator",
      "CAM_SimulatorGL",
      "CAM_Slot",
      "CAM_Stop",
      "CAM_Tapping",
      "CAM_ThreadMilling",
      "CAM_ToolBitCreate",
      "CAM_ToolBitDock",
      "CAM_ToolBitLibraryOpen",
      "CAM_ToolBitLoad",
      "CAM_ToolBitSave",
      "CAM_ToolBitSaveAs",
      "CAM_ToolController",
      "CAM_Vcarve"
    ],
    "guiUp": true,
    "menuCount": 1,
    "menus": [
      {
        "commands": [
          "CAM_Adaptive",
          "CAM_Array",
          "CAM_Comment",
          "CAM_Custom",
          "CAM_Deburr",
          "CAM_DressupArray",
          "CAM_DressupAxisMap",
          "CAM_DressupDogbone",
          "CAM_DressupDragKnife",
          "CAM_DressupLeadInOut",
          "CAM_DressupPathBoundary",
          "CAM_DressupRampEntry",
          "CAM_DressupTag",
          "CAM_DressupZCorrect",
          "CAM_Drilling",
          "CAM_Engrave",
          "CAM_ExportTemplate",
          "CAM_Helix",
          "CAM_Inspect",
          "CAM_Job",
          "CAM_MillFace",
          "CAM_OpActiveToggle",
          "CAM_OperationCopy",
          "CAM_Pocket3D",
          "CAM_Pocket_Shape",
          "CAM_Post",
          "CAM_Probe",
          "CAM_Profile",
          "CAM_PropertyBag",
          "CAM_Sanity",
          "CAM_SelectLoop",
          "CAM_SimpleCopy",
          "CAM_Simulator",
          "CAM_SimulatorGL",
          "CAM_Slot",
          "CAM_Stop",
          "CAM_ToolBitDock",
          "CAM_ToolBitLibraryOpen",
          "CAM_Vcarve"
        ],
        "title": "CAM"
      }
    ],
    "qtVersion": "6.8.2",
    "registeredCommandCount": 513,
    "requiredCommands": [
      {
        "emptyDocument": {
          "actionCount": 1,
          "enabled": true,
          "iconPresent": true,
          "objectName": "CAM_Job",
          "registered": true,
          "shortcut": "P, J",
          "text": "New Job",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>New Job</b> (P, J)</p><p style='white-space:pre; margin:0;'>Creates a CAM job</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Job</i></p>",
          "visible": true
        },
        "emptySelection": {
          "actionCount": 1,
          "enabled": true,
          "iconPresent": true,
          "objectName": "CAM_Job",
          "registered": true,
          "shortcut": "P, J",
          "text": "New Job",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>New Job</b> (P, J)</p><p style='white-space:pre; margin:0;'>Creates a CAM job</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Job</i></p>",
          "visible": true
        },
        "id": "CAM_Job",
        "selectedJob": {
          "actionCount": 1,
          "enabled": true,
          "iconPresent": true,
          "objectName": "CAM_Job",
          "registered": true,
          "shortcut": "P, J",
          "text": "New Job",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>New Job</b> (P, J)</p><p style='white-space:pre; margin:0;'>Creates a CAM job</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Job</i></p>",
          "visible": true
        },
        "selectedModel": {
          "actionCount": 1,
          "enabled": true,
          "iconPresent": true,
          "objectName": "CAM_Job",
          "registered": true,
          "shortcut": "P, J",
          "text": "New Job",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>New Job</b> (P, J)</p><p style='white-space:pre; margin:0;'>Creates a CAM job</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Job</i></p>",
          "visible": true
        },
        "selectedOperation": {
          "actionCount": 1,
          "enabled": true,
          "iconPresent": true,
          "objectName": "CAM_Job",
          "registered": true,
          "shortcut": "P, J",
          "text": "New Job",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>New Job</b> (P, J)</p><p style='white-space:pre; margin:0;'>Creates a CAM job</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Job</i></p>",
          "visible": true
        },
        "selectionChangesEnabledState": false
      },
      {
        "emptyDocument": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Profile",
          "registered": true,
          "shortcut": "",
          "text": "Profile",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Profile</b></p><p style='white-space:pre; margin:0;'>Profile entire model, selected face(s) or selected edge(s)</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Profile</i></p>",
          "visible": true
        },
        "emptySelection": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Profile",
          "registered": true,
          "shortcut": "",
          "text": "Profile",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Profile</b></p><p style='white-space:pre; margin:0;'>Profile entire model, selected face(s) or selected edge(s)</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Profile</i></p>",
          "visible": true
        },
        "id": "CAM_Profile",
        "selectedJob": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Profile",
          "registered": true,
          "shortcut": "",
          "text": "Profile",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Profile</b></p><p style='white-space:pre; margin:0;'>Profile entire model, selected face(s) or selected edge(s)</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Profile</i></p>",
          "visible": true
        },
        "selectedModel": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Profile",
          "registered": true,
          "shortcut": "",
          "text": "Profile",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Profile</b></p><p style='white-space:pre; margin:0;'>Profile entire model, selected face(s) or selected edge(s)</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Profile</i></p>",
          "visible": true
        },
        "selectedOperation": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Profile",
          "registered": true,
          "shortcut": "",
          "text": "Profile",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Profile</b></p><p style='white-space:pre; margin:0;'>Profile entire model, selected face(s) or selected edge(s)</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Profile</i></p>",
          "visible": true
        },
        "selectionChangesEnabledState": false
      },
      {
        "emptyDocument": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Pocket_Shape",
          "registered": true,
          "shortcut": "",
          "text": "Pocket Shape",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Pocket Shape</b></p><p style='white-space:pre; margin:0;'>Creates a pocket toolpath from a face or faces</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Pocket_Shape</i></p>",
          "visible": true
        },
        "emptySelection": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Pocket_Shape",
          "registered": true,
          "shortcut": "",
          "text": "Pocket Shape",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Pocket Shape</b></p><p style='white-space:pre; margin:0;'>Creates a pocket toolpath from a face or faces</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Pocket_Shape</i></p>",
          "visible": true
        },
        "id": "CAM_Pocket_Shape",
        "selectedJob": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Pocket_Shape",
          "registered": true,
          "shortcut": "",
          "text": "Pocket Shape",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Pocket Shape</b></p><p style='white-space:pre; margin:0;'>Creates a pocket toolpath from a face or faces</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Pocket_Shape</i></p>",
          "visible": true
        },
        "selectedModel": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Pocket_Shape",
          "registered": true,
          "shortcut": "",
          "text": "Pocket Shape",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Pocket Shape</b></p><p style='white-space:pre; margin:0;'>Creates a pocket toolpath from a face or faces</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Pocket_Shape</i></p>",
          "visible": true
        },
        "selectedOperation": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Pocket_Shape",
          "registered": true,
          "shortcut": "",
          "text": "Pocket Shape",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Pocket Shape</b></p><p style='white-space:pre; margin:0;'>Creates a pocket toolpath from a face or faces</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Pocket_Shape</i></p>",
          "visible": true
        },
        "selectionChangesEnabledState": false
      },
      {
        "emptyDocument": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Drilling",
          "registered": true,
          "shortcut": "",
          "text": "Drilling",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Drilling</b></p><p style='white-space:pre; margin:0;'>Creates a Drilling toolpath from the features of a base</p>object<p style='white-space:pre; margin-top:0.5em;'><i>CAM_Drilling</i></p>",
          "visible": true
        },
        "emptySelection": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Drilling",
          "registered": true,
          "shortcut": "",
          "text": "Drilling",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Drilling</b></p><p style='white-space:pre; margin:0;'>Creates a Drilling toolpath from the features of a base</p>object<p style='white-space:pre; margin-top:0.5em;'><i>CAM_Drilling</i></p>",
          "visible": true
        },
        "id": "CAM_Drilling",
        "selectedJob": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Drilling",
          "registered": true,
          "shortcut": "",
          "text": "Drilling",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Drilling</b></p><p style='white-space:pre; margin:0;'>Creates a Drilling toolpath from the features of a base</p>object<p style='white-space:pre; margin-top:0.5em;'><i>CAM_Drilling</i></p>",
          "visible": true
        },
        "selectedModel": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Drilling",
          "registered": true,
          "shortcut": "",
          "text": "Drilling",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Drilling</b></p><p style='white-space:pre; margin:0;'>Creates a Drilling toolpath from the features of a base</p>object<p style='white-space:pre; margin-top:0.5em;'><i>CAM_Drilling</i></p>",
          "visible": true
        },
        "selectedOperation": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Drilling",
          "registered": true,
          "shortcut": "",
          "text": "Drilling",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Drilling</b></p><p style='white-space:pre; margin:0;'>Creates a Drilling toolpath from the features of a base</p>object<p style='white-space:pre; margin-top:0.5em;'><i>CAM_Drilling</i></p>",
          "visible": true
        },
        "selectionChangesEnabledState": false
      },
      {
        "emptyDocument": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Adaptive",
          "registered": true,
          "shortcut": "",
          "text": "Adaptive",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Adaptive</b></p><p style='white-space:pre; margin:0;'>Adaptive clearing and profiling</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Adaptive</i></p>",
          "visible": true
        },
        "emptySelection": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Adaptive",
          "registered": true,
          "shortcut": "",
          "text": "Adaptive",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Adaptive</b></p><p style='white-space:pre; margin:0;'>Adaptive clearing and profiling</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Adaptive</i></p>",
          "visible": true
        },
        "id": "CAM_Adaptive",
        "selectedJob": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Adaptive",
          "registered": true,
          "shortcut": "",
          "text": "Adaptive",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Adaptive</b></p><p style='white-space:pre; margin:0;'>Adaptive clearing and profiling</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Adaptive</i></p>",
          "visible": true
        },
        "selectedModel": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Adaptive",
          "registered": true,
          "shortcut": "",
          "text": "Adaptive",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Adaptive</b></p><p style='white-space:pre; margin:0;'>Adaptive clearing and profiling</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Adaptive</i></p>",
          "visible": true
        },
        "selectedOperation": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Adaptive",
          "registered": true,
          "shortcut": "",
          "text": "Adaptive",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Adaptive</b></p><p style='white-space:pre; margin:0;'>Adaptive clearing and profiling</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Adaptive</i></p>",
          "visible": true
        },
        "selectionChangesEnabledState": false
      },
      {
        "emptyDocument": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Pocket3D",
          "registered": true,
          "shortcut": "",
          "text": "3D Pocket",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>3D Pocket</b></p><p style='white-space:pre; margin:0;'>Creates a 3D Pocket toolpath from a face or faces</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Pocket3D</i></p>",
          "visible": true
        },
        "emptySelection": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Pocket3D",
          "registered": true,
          "shortcut": "",
          "text": "3D Pocket",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>3D Pocket</b></p><p style='white-space:pre; margin:0;'>Creates a 3D Pocket toolpath from a face or faces</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Pocket3D</i></p>",
          "visible": true
        },
        "id": "CAM_Pocket3D",
        "selectedJob": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Pocket3D",
          "registered": true,
          "shortcut": "",
          "text": "3D Pocket",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>3D Pocket</b></p><p style='white-space:pre; margin:0;'>Creates a 3D Pocket toolpath from a face or faces</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Pocket3D</i></p>",
          "visible": true
        },
        "selectedModel": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Pocket3D",
          "registered": true,
          "shortcut": "",
          "text": "3D Pocket",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>3D Pocket</b></p><p style='white-space:pre; margin:0;'>Creates a 3D Pocket toolpath from a face or faces</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Pocket3D</i></p>",
          "visible": true
        },
        "selectedOperation": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Pocket3D",
          "registered": true,
          "shortcut": "",
          "text": "3D Pocket",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>3D Pocket</b></p><p style='white-space:pre; margin:0;'>Creates a 3D Pocket toolpath from a face or faces</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Pocket3D</i></p>",
          "visible": true
        },
        "selectionChangesEnabledState": false
      },
      {
        "emptyDocument": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Post",
          "registered": true,
          "shortcut": "P, P",
          "text": "Post Process",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Post Process</b> (P, P)</p><p style='white-space:pre; margin:0;'>Post Processes the selected job</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Post</i></p>",
          "visible": true
        },
        "emptySelection": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Post",
          "registered": true,
          "shortcut": "P, P",
          "text": "Post Process",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Post Process</b> (P, P)</p><p style='white-space:pre; margin:0;'>Post Processes the selected job</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Post</i></p>",
          "visible": true
        },
        "id": "CAM_Post",
        "selectedJob": {
          "actionCount": 1,
          "enabled": true,
          "iconPresent": true,
          "objectName": "CAM_Post",
          "registered": true,
          "shortcut": "P, P",
          "text": "Post Process",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Post Process</b> (P, P)</p><p style='white-space:pre; margin:0;'>Post Processes the selected job</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Post</i></p>",
          "visible": true
        },
        "selectedModel": {
          "actionCount": 1,
          "enabled": true,
          "iconPresent": true,
          "objectName": "CAM_Post",
          "registered": true,
          "shortcut": "P, P",
          "text": "Post Process",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Post Process</b> (P, P)</p><p style='white-space:pre; margin:0;'>Post Processes the selected job</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Post</i></p>",
          "visible": true
        },
        "selectedOperation": {
          "actionCount": 1,
          "enabled": true,
          "iconPresent": true,
          "objectName": "CAM_Post",
          "registered": true,
          "shortcut": "P, P",
          "text": "Post Process",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Post Process</b> (P, P)</p><p style='white-space:pre; margin:0;'>Post Processes the selected job</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Post</i></p>",
          "visible": true
        },
        "selectionChangesEnabledState": true
      },
      {
        "emptyDocument": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Simulator",
          "registered": true,
          "shortcut": "P, M",
          "text": "Legacy CAM Simulator",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Legacy CAM Simulator</b> (P, M)</p><p style='white-space:pre; margin:0;'>Simulates G-code on stock</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Simulator</i></p>",
          "visible": true
        },
        "emptySelection": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Simulator",
          "registered": true,
          "shortcut": "P, M",
          "text": "Legacy CAM Simulator",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Legacy CAM Simulator</b> (P, M)</p><p style='white-space:pre; margin:0;'>Simulates G-code on stock</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Simulator</i></p>",
          "visible": true
        },
        "id": "CAM_Simulator",
        "selectedJob": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Simulator",
          "registered": true,
          "shortcut": "P, M",
          "text": "Legacy CAM Simulator",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Legacy CAM Simulator</b> (P, M)</p><p style='white-space:pre; margin:0;'>Simulates G-code on stock</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Simulator</i></p>",
          "visible": true
        },
        "selectedModel": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Simulator",
          "registered": true,
          "shortcut": "P, M",
          "text": "Legacy CAM Simulator",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Legacy CAM Simulator</b> (P, M)</p><p style='white-space:pre; margin:0;'>Simulates G-code on stock</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Simulator</i></p>",
          "visible": true
        },
        "selectedOperation": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Simulator",
          "registered": true,
          "shortcut": "P, M",
          "text": "Legacy CAM Simulator",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Legacy CAM Simulator</b> (P, M)</p><p style='white-space:pre; margin:0;'>Simulates G-code on stock</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Simulator</i></p>",
          "visible": true
        },
        "selectionChangesEnabledState": false
      },
      {
        "emptyDocument": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Sanity",
          "registered": true,
          "shortcut": "P, S",
          "text": "Sanity Check",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Sanity Check</b> (P, S)</p><p style='white-space:pre; margin:0;'>Checks the CAM job for common errors</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Sanity</i></p>",
          "visible": true
        },
        "emptySelection": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Sanity",
          "registered": true,
          "shortcut": "P, S",
          "text": "Sanity Check",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Sanity Check</b> (P, S)</p><p style='white-space:pre; margin:0;'>Checks the CAM job for common errors</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Sanity</i></p>",
          "visible": true
        },
        "id": "CAM_Sanity",
        "selectedJob": {
          "actionCount": 1,
          "enabled": true,
          "iconPresent": true,
          "objectName": "CAM_Sanity",
          "registered": true,
          "shortcut": "P, S",
          "text": "Sanity Check",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Sanity Check</b> (P, S)</p><p style='white-space:pre; margin:0;'>Checks the CAM job for common errors</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Sanity</i></p>",
          "visible": true
        },
        "selectedModel": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Sanity",
          "registered": true,
          "shortcut": "P, S",
          "text": "Sanity Check",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Sanity Check</b> (P, S)</p><p style='white-space:pre; margin:0;'>Checks the CAM job for common errors</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Sanity</i></p>",
          "visible": true
        },
        "selectedOperation": {
          "actionCount": 1,
          "enabled": false,
          "iconPresent": true,
          "objectName": "CAM_Sanity",
          "registered": true,
          "shortcut": "P, S",
          "text": "Sanity Check",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Sanity Check</b> (P, S)</p><p style='white-space:pre; margin:0;'>Checks the CAM job for common errors</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_Sanity</i></p>",
          "visible": true
        },
        "selectionChangesEnabledState": true
      },
      {
        "emptyDocument": {
          "actionCount": 1,
          "enabled": true,
          "iconPresent": true,
          "objectName": "CAM_ToolBitDock",
          "registered": true,
          "shortcut": "P, T",
          "text": "Add toolbit…",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Add toolbit…</b> (P, T)</p><p style='white-space:pre; margin:0;'>Opens the toolbit selection dialog</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_ToolBitDock</i></p>",
          "visible": true
        },
        "emptySelection": {
          "actionCount": 1,
          "enabled": true,
          "iconPresent": true,
          "objectName": "CAM_ToolBitDock",
          "registered": true,
          "shortcut": "P, T",
          "text": "Add toolbit…",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Add toolbit…</b> (P, T)</p><p style='white-space:pre; margin:0;'>Opens the toolbit selection dialog</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_ToolBitDock</i></p>",
          "visible": true
        },
        "id": "CAM_ToolBitDock",
        "selectedJob": {
          "actionCount": 1,
          "enabled": true,
          "iconPresent": true,
          "objectName": "CAM_ToolBitDock",
          "registered": true,
          "shortcut": "P, T",
          "text": "Add toolbit…",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Add toolbit…</b> (P, T)</p><p style='white-space:pre; margin:0;'>Opens the toolbit selection dialog</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_ToolBitDock</i></p>",
          "visible": true
        },
        "selectedModel": {
          "actionCount": 1,
          "enabled": true,
          "iconPresent": true,
          "objectName": "CAM_ToolBitDock",
          "registered": true,
          "shortcut": "P, T",
          "text": "Add toolbit…",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Add toolbit…</b> (P, T)</p><p style='white-space:pre; margin:0;'>Opens the toolbit selection dialog</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_ToolBitDock</i></p>",
          "visible": true
        },
        "selectedOperation": {
          "actionCount": 1,
          "enabled": true,
          "iconPresent": true,
          "objectName": "CAM_ToolBitDock",
          "registered": true,
          "shortcut": "P, T",
          "text": "Add toolbit…",
          "toolTip": "<p style='white-space:pre; margin-bottom:0.5em;'><b>Add toolbit…</b> (P, T)</p><p style='white-space:pre; margin:0;'>Opens the toolbit selection dialog</p><p style='white-space:pre; margin-top:0.5em;'><i>CAM_ToolBitDock</i></p>",
          "visible": true
        },
        "selectionChangesEnabledState": false
      }
    ],
    "taskLifecycleVerified": true,
    "taskLifecycles": [
      {
        "action": "cancel",
        "active": {
          "activeDialog": true,
          "buttonBoxCount": 1,
          "buttonTexts": [
            {
              "default": true,
              "enabled": true,
              "role": "ButtonRole.AcceptRole",
              "text": "OK"
            },
            {
              "default": false,
              "enabled": true,
              "role": "ButtonRole.RejectRole",
              "text": "Cancel"
            }
          ],
          "fieldClasses": [
            "Gui::WorkbenchComboBox",
            "QComboBox",
            "QLineEdit"
          ],
          "fieldCount": 14,
          "focus": {
            "className": "Gui::View3DInventorViewer",
            "objectName": ""
          },
          "inEdit": "OracleJob",
          "phase": "active"
        },
        "before": {
          "activeDialog": false,
          "buttonBoxCount": 0,
          "buttonTexts": [],
          "fieldClasses": [
            "Gui::WorkbenchComboBox",
            "QComboBox"
          ],
          "fieldCount": 4,
          "focus": {
            "className": "Gui::View3DInventorViewer",
            "objectName": ""
          },
          "inEdit": "",
          "phase": "before"
        },
        "buttonClicked": true,
        "closed": {
          "activeDialog": false,
          "buttonBoxCount": 0,
          "buttonTexts": [],
          "fieldClasses": [
            "Gui::WorkbenchComboBox",
            "QComboBox"
          ],
          "fieldCount": 4,
          "focus": {
            "className": "Gui::View3DInventorViewer",
            "objectName": ""
          },
          "inEdit": "",
          "phase": "closed"
        },
        "dialogClosed": true,
        "dialogOpened": true,
        "objectName": "OracleJob",
        "setEditAccepted": true
      },
      {
        "action": "accept",
        "active": {
          "activeDialog": true,
          "buttonBoxCount": 1,
          "buttonTexts": [
            {
              "default": true,
              "enabled": true,
              "role": "ButtonRole.AcceptRole",
              "text": "OK"
            },
            {
              "default": false,
              "enabled": true,
              "role": "ButtonRole.RejectRole",
              "text": "Cancel"
            }
          ],
          "fieldClasses": [
            "Gui::WorkbenchComboBox",
            "QComboBox",
            "QLineEdit"
          ],
          "fieldCount": 14,
          "focus": {
            "className": "Gui::View3DInventorViewer",
            "objectName": ""
          },
          "inEdit": "OracleProfile",
          "phase": "active"
        },
        "before": {
          "activeDialog": false,
          "buttonBoxCount": 0,
          "buttonTexts": [],
          "fieldClasses": [
            "Gui::WorkbenchComboBox",
            "QComboBox"
          ],
          "fieldCount": 4,
          "focus": {
            "className": "Gui::View3DInventorViewer",
            "objectName": ""
          },
          "inEdit": "",
          "phase": "before"
        },
        "buttonClicked": true,
        "closed": {
          "activeDialog": false,
          "buttonBoxCount": 0,
          "buttonTexts": [],
          "fieldClasses": [
            "Gui::WorkbenchComboBox",
            "QComboBox"
          ],
          "fieldCount": 4,
          "focus": {
            "className": "Gui::View3DInventorViewer",
            "objectName": ""
          },
          "inEdit": "",
          "phase": "closed"
        },
        "dialogClosed": true,
        "dialogOpened": true,
        "objectName": "OracleProfile",
        "setEditAccepted": true
      },
      {
        "action": "cancel",
        "active": {
          "activeDialog": true,
          "buttonBoxCount": 1,
          "buttonTexts": [
            {
              "default": true,
              "enabled": true,
              "role": "ButtonRole.AcceptRole",
              "text": "OK"
            },
            {
              "default": false,
              "enabled": true,
              "role": "ButtonRole.RejectRole",
              "text": "Cancel"
            }
          ],
          "fieldClasses": [
            "Gui::WorkbenchComboBox",
            "QComboBox",
            "QLineEdit"
          ],
          "fieldCount": 14,
          "focus": {
            "className": "Gui::View3DInventorViewer",
            "objectName": ""
          },
          "inEdit": "OracleProfile",
          "phase": "active"
        },
        "before": {
          "activeDialog": false,
          "buttonBoxCount": 0,
          "buttonTexts": [],
          "fieldClasses": [
            "Gui::WorkbenchComboBox",
            "QComboBox"
          ],
          "fieldCount": 4,
          "focus": {
            "className": "Gui::View3DInventorViewer",
            "objectName": ""
          },
          "inEdit": "",
          "phase": "before"
        },
        "buttonClicked": true,
        "closed": {
          "activeDialog": false,
          "buttonBoxCount": 0,
          "buttonTexts": [],
          "fieldClasses": [
            "Gui::WorkbenchComboBox",
            "QComboBox"
          ],
          "fieldCount": 4,
          "focus": {
            "className": "Gui::View3DInventorViewer",
            "objectName": ""
          },
          "inEdit": "",
          "phase": "closed"
        },
        "dialogClosed": true,
        "dialogOpened": true,
        "objectName": "OracleProfile",
        "setEditAccepted": true
      }
    ],
    "toolbarCount": 4,
    "toolbars": [
      {
        "commands": [
          "CAM_Profile",
          "CAM_Pocket_Shape",
          "CAM_MillFace",
          "CAM_Helix",
          "CAM_Adaptive",
          "CAM_Slot",
          "CAM_Drilling",
          "CAM_EngraveTools",
          "CAM_Pocket3D"
        ],
        "objectName": "New Operations",
        "title": "New Operations",
        "visible": true
      },
      {
        "commands": [
          "CAM_OperationCopy",
          "CAM_Array",
          "CAM_SimpleCopy",
          "CAM_DressupTools"
        ],
        "objectName": "Path Modification",
        "title": "Path Modification",
        "visible": true
      },
      {
        "commands": [
          "CAM_Job",
          "CAM_Post",
          "CAM_Sanity"
        ],
        "objectName": "Project Setup",
        "title": "Project Setup",
        "visible": true
      },
      {
        "commands": [
          "CAM_SimTools",
          "CAM_Inspect",
          "CAM_SelectLoop",
          "CAM_OpActiveToggle",
          "CAM_ToolBitDock"
        ],
        "objectName": "Tool Commands",
        "title": "Tool Commands",
        "visible": true
      }
    ],
    "workbench": "CAMWorkbench"
  },
  "fcstdRoundTrip": {
    "mutated": {
      "path": ".cache/freecad/cam-path-oracle/native-path-mutated.FCStd",
      "semanticSha256": "a1c96ef56e389231a5df8ee9c9eeabf50cd672f054b815da556cf6c08e80839c"
    },
    "mutatedReopened": [
      {
        "boundingBox": {
          "max": [
            20,
            20,
            5
          ],
          "min": [
            0,
            0,
            0
          ]
        },
        "commandCount": 6,
        "commands": [
          {
            "gcode": "G0 X0.000000000 Y0.000000000 Z5.000000000",
            "name": "G0",
            "parameters": {
              "X": 0,
              "Y": 0,
              "Z": 5
            }
          },
          {
            "gcode": "G1 F120.000000000 X0.000000000 Y0.000000000 Z0.000000000",
            "name": "G1",
            "parameters": {
              "F": 120,
              "X": 0,
              "Y": 0,
              "Z": 0
            }
          },
          {
            "gcode": "G1 F300.000000000 X20.000000000 Y0.000000000 Z0.000000000",
            "name": "G1",
            "parameters": {
              "F": 300,
              "X": 20,
              "Y": 0,
              "Z": 0
            }
          },
          {
            "gcode": "G2 F300.000000000 I0.000000000 J10.000000000 X20.000000000 Y20.000000000",
            "name": "G2",
            "parameters": {
              "F": 300,
              "I": 0,
              "J": 10,
              "X": 20,
              "Y": 20
            }
          },
          {
            "gcode": "G0 X20.000000000 Y20.000000000 Z5.000000000",
            "name": "G0",
            "parameters": {
              "X": 20,
              "Y": 20,
              "Z": 5
            }
          },
          {
            "gcode": "M5",
            "name": "M5",
            "parameters": {}
          }
        ],
        "label": "Native Path Mutated",
        "length": 55.734951427,
        "name": "NativePath",
        "oracleTag": "native-v2",
        "pathPropertyType": "Path::PropertyPath",
        "typeId": "Path::Feature"
      },
      {
        "boundingBox": {
          "max": [
            20,
            20,
            5
          ],
          "min": [
            0,
            0,
            0
          ]
        },
        "commandCount": 6,
        "commands": [
          {
            "gcode": "G0 X0.000000000 Y0.000000000 Z5.000000000",
            "name": "G0",
            "parameters": {
              "X": 0,
              "Y": 0,
              "Z": 5
            }
          },
          {
            "gcode": "G1 F120.000000000 X0.000000000 Y0.000000000 Z0.000000000",
            "name": "G1",
            "parameters": {
              "F": 120,
              "X": 0,
              "Y": 0,
              "Z": 0
            }
          },
          {
            "gcode": "G1 F300.000000000 X20.000000000 Y0.000000000 Z0.000000000",
            "name": "G1",
            "parameters": {
              "F": 300,
              "X": 20,
              "Y": 0,
              "Z": 0
            }
          },
          {
            "gcode": "G2 F300.000000000 I0.000000000 J10.000000000 X20.000000000 Y20.000000000",
            "name": "G2",
            "parameters": {
              "F": 300,
              "I": 0,
              "J": 10,
              "X": 20,
              "Y": 20
            }
          },
          {
            "gcode": "G0 X20.000000000 Y20.000000000 Z5.000000000",
            "name": "G0",
            "parameters": {
              "X": 20,
              "Y": 20,
              "Z": 5
            }
          },
          {
            "gcode": "M2",
            "name": "M2",
            "parameters": {}
          }
        ],
        "label": "Python Path Mutated",
        "length": 55.734951427,
        "name": "PythonPath",
        "oracleTag": "python-v2",
        "pathPropertyType": "Path::PropertyPath",
        "typeId": "Path::FeaturePython"
      }
    ],
    "source": {
      "path": ".cache/freecad/cam-path-oracle/native-path-source.FCStd",
      "semanticSha256": "15b474368316253a6cec05792c5af19b9bba398389b5c651db4076bbccf8dd57"
    },
    "sourceBeforeClose": [
      {
        "boundingBox": {
          "max": [
            20,
            20,
            5
          ],
          "min": [
            0,
            0,
            0
          ]
        },
        "commandCount": 5,
        "commands": [
          {
            "gcode": "G0 X0.000000000 Y0.000000000 Z5.000000000",
            "name": "G0",
            "parameters": {
              "X": 0,
              "Y": 0,
              "Z": 5
            }
          },
          {
            "gcode": "G1 F120.000000000 X0.000000000 Y0.000000000 Z0.000000000",
            "name": "G1",
            "parameters": {
              "F": 120,
              "X": 0,
              "Y": 0,
              "Z": 0
            }
          },
          {
            "gcode": "G1 F300.000000000 X20.000000000 Y0.000000000 Z0.000000000",
            "name": "G1",
            "parameters": {
              "F": 300,
              "X": 20,
              "Y": 0,
              "Z": 0
            }
          },
          {
            "gcode": "G2 F300.000000000 I0.000000000 J10.000000000 X20.000000000 Y20.000000000",
            "name": "G2",
            "parameters": {
              "F": 300,
              "I": 0,
              "J": 10,
              "X": 20,
              "Y": 20
            }
          },
          {
            "gcode": "G0 X20.000000000 Y20.000000000 Z5.000000000",
            "name": "G0",
            "parameters": {
              "X": 20,
              "Y": 20,
              "Z": 5
            }
          }
        ],
        "label": "Native Path Original",
        "length": 55.734951427,
        "name": "NativePath",
        "oracleTag": "native-v1",
        "pathPropertyType": "Path::PropertyPath",
        "typeId": "Path::Feature"
      },
      {
        "boundingBox": {
          "max": [
            20,
            20,
            5
          ],
          "min": [
            0,
            0,
            0
          ]
        },
        "commandCount": 5,
        "commands": [
          {
            "gcode": "G0 X0.000000000 Y0.000000000 Z5.000000000",
            "name": "G0",
            "parameters": {
              "X": 0,
              "Y": 0,
              "Z": 5
            }
          },
          {
            "gcode": "G1 F120.000000000 X0.000000000 Y0.000000000 Z0.000000000",
            "name": "G1",
            "parameters": {
              "F": 120,
              "X": 0,
              "Y": 0,
              "Z": 0
            }
          },
          {
            "gcode": "G1 F300.000000000 X20.000000000 Y0.000000000 Z0.000000000",
            "name": "G1",
            "parameters": {
              "F": 300,
              "X": 20,
              "Y": 0,
              "Z": 0
            }
          },
          {
            "gcode": "G2 F300.000000000 I0.000000000 J10.000000000 X20.000000000 Y20.000000000",
            "name": "G2",
            "parameters": {
              "F": 300,
              "I": 0,
              "J": 10,
              "X": 20,
              "Y": 20
            }
          },
          {
            "gcode": "G0 X20.000000000 Y20.000000000 Z5.000000000",
            "name": "G0",
            "parameters": {
              "X": 20,
              "Y": 20,
              "Z": 5
            }
          }
        ],
        "label": "Python Path Original",
        "length": 55.734951427,
        "name": "PythonPath",
        "oracleTag": "python-v1",
        "pathPropertyType": "Path::PropertyPath",
        "typeId": "Path::FeaturePython"
      }
    ],
    "sourceReopened": [
      {
        "boundingBox": {
          "max": [
            20,
            20,
            5
          ],
          "min": [
            0,
            0,
            0
          ]
        },
        "commandCount": 5,
        "commands": [
          {
            "gcode": "G0 X0.000000000 Y0.000000000 Z5.000000000",
            "name": "G0",
            "parameters": {
              "X": 0,
              "Y": 0,
              "Z": 5
            }
          },
          {
            "gcode": "G1 F120.000000000 X0.000000000 Y0.000000000 Z0.000000000",
            "name": "G1",
            "parameters": {
              "F": 120,
              "X": 0,
              "Y": 0,
              "Z": 0
            }
          },
          {
            "gcode": "G1 F300.000000000 X20.000000000 Y0.000000000 Z0.000000000",
            "name": "G1",
            "parameters": {
              "F": 300,
              "X": 20,
              "Y": 0,
              "Z": 0
            }
          },
          {
            "gcode": "G2 F300.000000000 I0.000000000 J10.000000000 X20.000000000 Y20.000000000",
            "name": "G2",
            "parameters": {
              "F": 300,
              "I": 0,
              "J": 10,
              "X": 20,
              "Y": 20
            }
          },
          {
            "gcode": "G0 X20.000000000 Y20.000000000 Z5.000000000",
            "name": "G0",
            "parameters": {
              "X": 20,
              "Y": 20,
              "Z": 5
            }
          }
        ],
        "label": "Native Path Original",
        "length": 55.734951427,
        "name": "NativePath",
        "oracleTag": "native-v1",
        "pathPropertyType": "Path::PropertyPath",
        "typeId": "Path::Feature"
      },
      {
        "boundingBox": {
          "max": [
            20,
            20,
            5
          ],
          "min": [
            0,
            0,
            0
          ]
        },
        "commandCount": 5,
        "commands": [
          {
            "gcode": "G0 X0.000000000 Y0.000000000 Z5.000000000",
            "name": "G0",
            "parameters": {
              "X": 0,
              "Y": 0,
              "Z": 5
            }
          },
          {
            "gcode": "G1 F120.000000000 X0.000000000 Y0.000000000 Z0.000000000",
            "name": "G1",
            "parameters": {
              "F": 120,
              "X": 0,
              "Y": 0,
              "Z": 0
            }
          },
          {
            "gcode": "G1 F300.000000000 X20.000000000 Y0.000000000 Z0.000000000",
            "name": "G1",
            "parameters": {
              "F": 300,
              "X": 20,
              "Y": 0,
              "Z": 0
            }
          },
          {
            "gcode": "G2 F300.000000000 I0.000000000 J10.000000000 X20.000000000 Y20.000000000",
            "name": "G2",
            "parameters": {
              "F": 300,
              "I": 0,
              "J": 10,
              "X": 20,
              "Y": 20
            }
          },
          {
            "gcode": "G0 X20.000000000 Y20.000000000 Z5.000000000",
            "name": "G0",
            "parameters": {
              "X": 20,
              "Y": 20,
              "Z": 5
            }
          }
        ],
        "label": "Python Path Original",
        "length": 55.734951427,
        "name": "PythonPath",
        "oracleTag": "python-v1",
        "pathPropertyType": "Path::PropertyPath",
        "typeId": "Path::FeaturePython"
      }
    ],
    "webInspection": {
      "objectTypes": [
        "Path::Feature",
        "Path::FeaturePython"
      ],
      "pathPropertyTypes": [
        "Path::PropertyPath",
        "Path::PropertyPath"
      ],
      "compatibility": {
        "level": "blocked",
        "readOnly": true,
        "codeExecutionBlocked": true,
        "recognizedObjects": 1,
        "proxyObjects": 0,
        "blockedObjects": 1,
        "unknownTypeIds": [],
        "warnings": [
          "1 Python-backed object(s) require a non-executing proxy."
        ]
      },
      "proxyReadOnly": true
    },
    "webTransparentPreservation": {
      "archive": {
        "path": ".cache/freecad/cam-path-oracle/web-preserved.FCStd",
        "semanticSha256": "15b474368316253a6cec05792c5af19b9bba398389b5c651db4076bbccf8dd57"
      },
      "byteExact": true,
      "nativeReopenVerified": true,
      "objects": [
        {
          "boundingBox": {
            "max": [
              20,
              20,
              5
            ],
            "min": [
              0,
              0,
              0
            ]
          },
          "commandCount": 5,
          "commands": [
            {
              "gcode": "G0 X0.000000000 Y0.000000000 Z5.000000000",
              "name": "G0",
              "parameters": {
                "X": 0,
                "Y": 0,
                "Z": 5
              }
            },
            {
              "gcode": "G1 F120.000000000 X0.000000000 Y0.000000000 Z0.000000000",
              "name": "G1",
              "parameters": {
                "F": 120,
                "X": 0,
                "Y": 0,
                "Z": 0
              }
            },
            {
              "gcode": "G1 F300.000000000 X20.000000000 Y0.000000000 Z0.000000000",
              "name": "G1",
              "parameters": {
                "F": 300,
                "X": 20,
                "Y": 0,
                "Z": 0
              }
            },
            {
              "gcode": "G2 F300.000000000 I0.000000000 J10.000000000 X20.000000000 Y20.000000000",
              "name": "G2",
              "parameters": {
                "F": 300,
                "I": 0,
                "J": 10,
                "X": 20,
                "Y": 20
              }
            },
            {
              "gcode": "G0 X20.000000000 Y20.000000000 Z5.000000000",
              "name": "G0",
              "parameters": {
                "X": 20,
                "Y": 20,
                "Z": 5
              }
            }
          ],
          "label": "Native Path Original",
          "length": 55.734951427,
          "name": "NativePath",
          "oracleTag": "native-v1",
          "pathPropertyType": "Path::PropertyPath",
          "typeId": "Path::Feature"
        },
        {
          "boundingBox": {
            "max": [
              20,
              20,
              5
            ],
            "min": [
              0,
              0,
              0
            ]
          },
          "commandCount": 5,
          "commands": [
            {
              "gcode": "G0 X0.000000000 Y0.000000000 Z5.000000000",
              "name": "G0",
              "parameters": {
                "X": 0,
                "Y": 0,
                "Z": 5
              }
            },
            {
              "gcode": "G1 F120.000000000 X0.000000000 Y0.000000000 Z0.000000000",
              "name": "G1",
              "parameters": {
                "F": 120,
                "X": 0,
                "Y": 0,
                "Z": 0
              }
            },
            {
              "gcode": "G1 F300.000000000 X20.000000000 Y0.000000000 Z0.000000000",
              "name": "G1",
              "parameters": {
                "F": 300,
                "X": 20,
                "Y": 0,
                "Z": 0
              }
            },
            {
              "gcode": "G2 F300.000000000 I0.000000000 J10.000000000 X20.000000000 Y20.000000000",
              "name": "G2",
              "parameters": {
                "F": 300,
                "I": 0,
                "J": 10,
                "X": 20,
                "Y": 20
              }
            },
            {
              "gcode": "G0 X20.000000000 Y20.000000000 Z5.000000000",
              "name": "G0",
              "parameters": {
                "X": 20,
                "Y": 20,
                "Z": 5
              }
            }
          ],
          "label": "Python Path Original",
          "length": 55.734951427,
          "name": "PythonPath",
          "oracleTag": "python-v1",
          "pathPropertyType": "Path::PropertyPath",
          "typeId": "Path::FeaturePython"
        }
      ]
    },
    "webEditablePathProperty": {
      "objectName": "NativePath",
      "resourcePath": "NativePath.nc",
      "sourceCommandCount": 5,
      "editedCommandCount": 6,
      "lastCommand": {
        "name": "M3",
        "parameters": {
          "S": 12000
        }
      },
      "nativeReopenVerified": true,
      "featurePythonExecutionBlocked": true
    },
    "webEditableFeaturePythonPathProperty": {
      "objectName": "PythonPath",
      "resourcePath": "PythonPath.nc",
      "sourceCommandCount": 5,
      "editedCommandCount": 6,
      "lastCommand": {
        "name": "M2",
        "parameters": {}
      },
      "nativeReopenVerified": true,
      "scriptExecution": "blocked",
      "optInRequired": true
    }
  },
  "claims": {
    "nativeProfilePathAlgorithm": "verified",
    "nativeHelixPathAlgorithm": "verified-four-direction-cases",
    "qtCamWorkbenchDynamicOracle": "verified",
    "nativePathFeatureFcstdSaveOpenMutateSaveOpen": "verified",
    "nativeWebNativePathFcstdTransparentRoundTrip": "verified",
    "webEditablePathPropertyCodec": "verified-native-path-feature",
    "webEditableFeaturePythonPathResourceCodec": "verified-safe-resource-only-opt-in"
  },
  "boundary": {
    "exactEvidence": "FreeCAD 1.1.1 executes compensated/uncompensated Profile and four Helix direction cases, exposes live Qt CAM actions, and reopens both Path object types after native and byte-transparent Web round-trips.",
    "remainingGap": "FeaturePython Path::PropertyPath resource editing is now an explicit safe opt-in that never executes Python; FeaturePython operation metadata, recompute behavior and algorithms beyond the locked Profile/Helix scenarios remain unclaimed.",
    "exactParityClaim": false
  },
  "status": "verified-with-native-path-editable-subset"
}
