{
  "schemaVersion": 1,
  "status": "pass",
  "browserId": "chrome",
  "crossOriginIsolated": true,
  "capabilities": {
    "openCamLib": {
      "status": "available",
      "backend": "upstream-opencamlib-wasm",
      "sourceRevision": "95b036fe28ce6d77c97b98e5fbc337904ae49560",
      "artifactSha256": "30ca7dd307a131f9df66288d530c3fbacf155f375f83a2d733c5c00a85a712e0",
      "algorithms": [
        "path-drop-cutter",
        "adaptive-path-drop-cutter",
        "waterline",
        "adaptive-waterline"
      ]
    },
    "solidRemoval": {
      "status": "available",
      "backend": "bitbybit-occt-wasm",
      "model": "sampled-flat-end-brep",
      "nativeSolid": true,
      "freeCadNativeEquivalent": false,
      "sweepModes": [
        "sampled-flat-end",
        "continuous-segment"
      ]
    },
    "camotics": {
      "status": "native-host-available",
      "backend": "camotics-native-host-qt5-tpl",
      "sourceRevision": "e84665f2fa9d1151f03282ac7e01320bc65e015b",
      "cbangRevision": "9b6672a0e2b800a909d799ffa3ab46774cf171b8",
      "sourcePaths": [
        "CAMotics/src/gcode/machine/GCodeMachine.cpp",
        "CAMotics/src/tplang/GCodeModule.cpp",
        "CAMotics/src/camotics/sim/ToolSweep.cpp"
      ],
      "workspaceNativeExecutable": true,
      "nativeGuiPath": "CAMotics/camotics",
      "nativeTplPath": "CAMotics/tplang",
      "nativeArtifactEvidence": "config/camotics-native-artifact.json",
      "browserExecutable": false,
      "browserWasmKernelExecutable": true,
      "nativeCliPath": "CAMotics/camsim",
      "wasmKernel": {
        "backend": "camotics-upstream-sweep-wasm",
        "artifactSha256": "889588d2dc9755f84f56b8ebe1acc9bc1f0ded7e676e162a5a001011f4ebec5b",
        "scope": [
          "conic-sweep",
          "spheroid-sweep",
          "sweep-bounding-boxes"
        ],
        "fullCamoticsProgram": false,
        "gcodeParserIncluded": false
      },
      "generationAuthority": "camotics-source-stage",
      "parserAuthority": "linuxcnc-wasm",
      "camoticsParsesCanonicalGcode": false,
      "reason": "CAMotics 1.3 native Qt5 GUI and TPL compiler are workspace-verified host sidecars with pinned C! 1.7.2 and V8 ABI settings. The browser executes a standalone upstream Conic/Spheroid sweep WASM subset, not the native ELF, Qt GUI, TPL compiler, or full program; browser G-code generation preserves source-stage motion semantics and sends canonical G-code to LinuxCNC WASM."
    }
  },
  "openCamLib": {
    "backend": "upstream-opencamlib-wasm",
    "sourceRevision": "95b036fe28ce6d77c97b98e5fbc337904ae49560",
    "artifactSha256": "30ca7dd307a131f9df66288d530c3fbacf155f375f83a2d733c5c00a85a712e0",
    "triangles": 2,
    "points": 14,
    "minimumZ": 2,
    "maximumZ": 2,
    "deterministic": true
  },
  "camotics": {
    "backend": "camotics-source-stage-contract",
    "sourceRevision": "e84665f2fa9d1151f03282ac7e01320bc65e015b",
    "nativeExecutable": false,
    "lineCount": 18,
    "gcodeBytes": 164,
    "gcodeHash": "0a7731201c19564c7b00950ee6432b4201918811a70b00db501a3663750fb792",
    "parserAuthority": "linuxcnc-wasm",
    "camoticsParsesCanonicalGcode": false
  },
  "pipeline": {
    "stages": [
      "cad",
      "opencamlib-wasm",
      "camotics-source-stage",
      "gcode",
      "linuxcnc-wasm-parse-execute"
    ],
    "canonicalGcodeAuthority": "linuxcnc-wasm",
    "camoticsSemanticParser": false,
    "linuxcncWasmExecution": "handoff-required"
  },
  "solidRemoval": {
    "backend": "bitbybit-occt-wasm",
    "model": "sampled-flat-end-brep",
    "sweepMode": "sampled-flat-end",
    "nativeSolid": true,
    "freeCadNativeEquivalent": false,
    "sampleCount": 7,
    "stockVolume": 299.99999999999994,
    "removedVolume": 12,
    "remainingVolume": 287.99999999999994,
    "structuralValid": true,
    "solids": 1,
    "meshVertices": 48,
    "meshTriangles": 28,
    "brepBytes": 4885,
    "brepHash": "76237c323f4614488e527b92c9ad7e3d8b6b5db968b5d7a481da26da59fe00be"
  },
  "curvedSolidRemoval": {
    "backend": "bitbybit-occt-wasm",
    "model": "continuous-segment-sweep-brep",
    "sweepMode": "continuous-segment",
    "sampleCount": 13,
    "stockVolume": 299.99999999999994,
    "removedVolume": 13.876647806980372,
    "remainingVolume": 286.12335219301957,
    "structuralValid": true,
    "solids": 1,
    "meshVertices": 506,
    "meshTriangles": 652
  },
  "afterRelease": {
    "shapeCount": 0,
    "kernelReferenceCount": 0
  },
  "browser": {
    "product": "Chrome/150.0.7871.128",
    "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/150.0.0.0 Safari/537.36"
  }
}
