{
  "schemaVersion": 1,
  "baseline": {
    "freecadVersion": "1.1.1",
    "commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
  },
  "generatedBy": "scripts/generate-freecad-entrypoint-inventory.mjs",
  "sourceInventory": "config/freecad-source-inventory.json",
  "formats": [
    {
      "id": "FCStd",
      "category": "project",
      "modules": [
        "App",
        "Gui"
      ],
      "sourceEvidence": [
        "src/App/Document.cpp",
        "src/Gui/Document.cpp"
      ],
      "webStrategy": "native-parser",
      "compatibility": "read-only",
      "roundTrip": false,
      "status": "inventory-recorded"
    },
    {
      "id": "BREP",
      "category": "geometry",
      "modules": [
        "Part"
      ],
      "sourceEvidence": [
        "src/Mod/Part/App/FeaturePartImportBrep.cpp"
      ],
      "webStrategy": "occt-worker",
      "compatibility": "experimental",
      "roundTrip": true,
      "status": "inventory-recorded"
    },
    {
      "id": "STEP",
      "category": "geometry",
      "modules": [
        "Part",
        "Import"
      ],
      "sourceEvidence": [
        "src/Mod/Part/App/FeaturePartImportStep.cpp",
        "src/Mod/Import/App/WriterStep.cpp"
      ],
      "webStrategy": "occt-worker",
      "compatibility": "experimental",
      "roundTrip": true,
      "status": "inventory-recorded"
    },
    {
      "id": "IGES",
      "category": "geometry",
      "modules": [
        "Part",
        "Import"
      ],
      "sourceEvidence": [
        "src/Mod/Part/App/FeaturePartImportIges.cpp",
        "src/Mod/Import/App/WriterIges.cpp"
      ],
      "webStrategy": "occt-worker",
      "compatibility": "experimental",
      "roundTrip": true,
      "status": "inventory-recorded"
    },
    {
      "id": "STL",
      "category": "mesh",
      "modules": [
        "Mesh",
        "MeshPart"
      ],
      "sourceEvidence": [
        "src/Mod/Mesh/App/Importer.cpp",
        "src/Mod/Mesh/App/Exporter.cpp"
      ],
      "webStrategy": "worker-adapter",
      "compatibility": "experimental",
      "roundTrip": true,
      "status": "inventory-recorded"
    },
    {
      "id": "OBJ",
      "category": "mesh",
      "modules": [
        "Mesh"
      ],
      "sourceEvidence": [
        "src/Mod/Mesh/App/Importer.cpp",
        "src/Mod/Mesh/App/Exporter.cpp"
      ],
      "webStrategy": "worker-adapter",
      "compatibility": "experimental",
      "roundTrip": true,
      "status": "inventory-recorded"
    },
    {
      "id": "PLY",
      "category": "mesh",
      "modules": [
        "Mesh"
      ],
      "sourceEvidence": [
        "src/Mod/Mesh/App/Importer.cpp",
        "src/Mod/Mesh/App/Exporter.cpp"
      ],
      "webStrategy": "worker-adapter",
      "compatibility": "experimental",
      "roundTrip": true,
      "status": "inventory-recorded"
    },
    {
      "id": "DXF",
      "category": "2d",
      "modules": [
        "Draft",
        "Import"
      ],
      "sourceEvidence": [
        "src/Mod/Draft/importDXF.py",
        "src/Mod/Import/App/dxf/ImpExpDxf.cpp"
      ],
      "webStrategy": "worker-adapter",
      "compatibility": "read-only",
      "roundTrip": false,
      "status": "inventory-recorded"
    },
    {
      "id": "SVG",
      "category": "drawing",
      "modules": [
        "Draft",
        "TechDraw"
      ],
      "sourceEvidence": [
        "src/Mod/Draft/importSVG.py",
        "src/Mod/TechDraw/App/TechDrawExport.cpp"
      ],
      "webStrategy": "sanitized-parser",
      "compatibility": "read-only",
      "roundTrip": false,
      "status": "inventory-recorded"
    },
    {
      "id": "PDF",
      "category": "drawing",
      "modules": [
        "TechDraw"
      ],
      "sourceEvidence": [
        "src/Mod/TechDraw/App/TechDrawExport.cpp"
      ],
      "webStrategy": "server-export",
      "compatibility": "read-only",
      "roundTrip": false,
      "status": "inventory-recorded"
    },
    {
      "id": "IFC",
      "category": "bim",
      "modules": [
        "BIM"
      ],
      "sourceEvidence": [
        "src/Mod/BIM/importers/importIFC.py"
      ],
      "webStrategy": "sandboxed-adapter",
      "compatibility": "unsupported",
      "roundTrip": false,
      "status": "inventory-recorded"
    },
    {
      "id": "CSV",
      "category": "data",
      "modules": [
        "Spreadsheet"
      ],
      "sourceEvidence": [
        "src/Mod/Spreadsheet/App/SheetPyImp.cpp"
      ],
      "webStrategy": "facade-parser",
      "compatibility": "experimental",
      "roundTrip": true,
      "status": "inventory-recorded"
    },
    {
      "id": "GCODE",
      "category": "manufacturing",
      "modules": [
        "CAM"
      ],
      "sourceEvidence": [
        "src/Mod/CAM/PathCommands.py"
      ],
      "webStrategy": "sandboxed-adapter",
      "compatibility": "unsupported",
      "roundTrip": false,
      "status": "inventory-recorded"
    },
    {
      "id": "JT",
      "category": "geometry",
      "modules": [
        "JtReader"
      ],
      "sourceEvidence": [
        "src/Mod/JtReader/CMakeLists.txt"
      ],
      "webStrategy": "proxy-resource",
      "compatibility": "unsupported",
      "roundTrip": false,
      "status": "inventory-recorded"
    },
    {
      "id": "IDF",
      "category": "electronics",
      "modules": [
        "Idf"
      ],
      "sourceEvidence": [
        "src/Mod/Idf/Idf.py"
      ],
      "webStrategy": "proxy-resource",
      "compatibility": "unsupported",
      "roundTrip": false,
      "status": "inventory-recorded"
    }
  ],
  "entrypoints": [
    {
      "id": "python-api",
      "category": "scripting",
      "modules": [
        "App",
        "Gui"
      ],
      "sourceEvidence": [
        "src/App/ApplicationPy.cpp",
        "src/Gui/ApplicationPy.cpp"
      ],
      "webStrategy": "sandboxed-interpreter",
      "compatibility": "unsupported",
      "execution": false,
      "status": "inventory-recorded"
    },
    {
      "id": "macro-fcmacro",
      "category": "scripting",
      "modules": [
        "Gui"
      ],
      "sourceEvidence": [
        "src/Gui/CommandMacro.cpp"
      ],
      "webStrategy": "blocked-resource",
      "compatibility": "unsupported",
      "execution": false,
      "status": "inventory-recorded"
    },
    {
      "id": "addon-package",
      "category": "extension",
      "modules": [
        "AddonManager"
      ],
      "sourceEvidence": [
        "src/Mod/AddonManager"
      ],
      "webStrategy": "signed-catalog",
      "compatibility": "unsupported",
      "execution": false,
      "status": "inventory-recorded"
    },
    {
      "id": "preferences",
      "category": "configuration",
      "modules": [
        "App",
        "Gui"
      ],
      "sourceEvidence": [
        "src/Base/Parameter.cpp",
        "src/Gui/PreferencePages"
      ],
      "webStrategy": "namespaced-settings",
      "compatibility": "experimental",
      "execution": false,
      "status": "inventory-recorded"
    },
    {
      "id": "clipboard",
      "category": "desktop",
      "modules": [
        "Gui"
      ],
      "sourceEvidence": [
        "src/Gui/MainWindow.cpp"
      ],
      "webStrategy": "browser-clipboard-permission",
      "compatibility": "unsupported",
      "execution": false,
      "status": "inventory-recorded"
    },
    {
      "id": "print-job",
      "category": "desktop",
      "modules": [
        "Gui",
        "TechDraw"
      ],
      "sourceEvidence": [
        "src/Gui/MainWindow.cpp",
        "src/Mod/TechDraw/Gui/PagePrinter.cpp"
      ],
      "webStrategy": "server-export",
      "compatibility": "unsupported",
      "execution": false,
      "status": "inventory-recorded"
    }
  ],
  "moduleCoverage": [
    {
      "name": "AddonManager",
      "sourcePath": "src/Mod/AddonManager",
      "coveredBy": [
        "addon-package"
      ],
      "status": "entrypoint-covered"
    },
    {
      "name": "Assembly",
      "sourcePath": "src/Mod/Assembly",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "BIM",
      "sourcePath": "src/Mod/BIM",
      "coveredBy": [
        "IFC"
      ],
      "status": "entrypoint-covered"
    },
    {
      "name": "CAM",
      "sourcePath": "src/Mod/CAM",
      "coveredBy": [
        "GCODE"
      ],
      "status": "entrypoint-covered"
    },
    {
      "name": "Cloud",
      "sourcePath": "src/Mod/Cloud",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "Draft",
      "sourcePath": "src/Mod/Draft",
      "coveredBy": [
        "DXF",
        "SVG"
      ],
      "status": "entrypoint-covered"
    },
    {
      "name": "Fem",
      "sourcePath": "src/Mod/Fem",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "Help",
      "sourcePath": "src/Mod/Help",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "Idf",
      "sourcePath": "src/Mod/Idf",
      "coveredBy": [
        "IDF"
      ],
      "status": "entrypoint-covered"
    },
    {
      "name": "Import",
      "sourcePath": "src/Mod/Import",
      "coveredBy": [
        "STEP",
        "IGES",
        "DXF"
      ],
      "status": "entrypoint-covered"
    },
    {
      "name": "Inspection",
      "sourcePath": "src/Mod/Inspection",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "JtReader",
      "sourcePath": "src/Mod/JtReader",
      "coveredBy": [
        "JT"
      ],
      "status": "entrypoint-covered"
    },
    {
      "name": "Material",
      "sourcePath": "src/Mod/Material",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "Measure",
      "sourcePath": "src/Mod/Measure",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "Mesh",
      "sourcePath": "src/Mod/Mesh",
      "coveredBy": [
        "STL",
        "OBJ",
        "PLY"
      ],
      "status": "entrypoint-covered"
    },
    {
      "name": "MeshPart",
      "sourcePath": "src/Mod/MeshPart",
      "coveredBy": [
        "STL"
      ],
      "status": "entrypoint-covered"
    },
    {
      "name": "OpenSCAD",
      "sourcePath": "src/Mod/OpenSCAD",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "Part",
      "sourcePath": "src/Mod/Part",
      "coveredBy": [
        "BREP",
        "STEP",
        "IGES"
      ],
      "status": "entrypoint-covered"
    },
    {
      "name": "PartDesign",
      "sourcePath": "src/Mod/PartDesign",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "Plot",
      "sourcePath": "src/Mod/Plot",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "Points",
      "sourcePath": "src/Mod/Points",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "ReverseEngineering",
      "sourcePath": "src/Mod/ReverseEngineering",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "Robot",
      "sourcePath": "src/Mod/Robot",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "Sandbox",
      "sourcePath": "src/Mod/Sandbox",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "Show",
      "sourcePath": "src/Mod/Show",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "Sketcher",
      "sourcePath": "src/Mod/Sketcher",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "Spreadsheet",
      "sourcePath": "src/Mod/Spreadsheet",
      "coveredBy": [
        "CSV"
      ],
      "status": "entrypoint-covered"
    },
    {
      "name": "Start",
      "sourcePath": "src/Mod/Start",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "Surface",
      "sourcePath": "src/Mod/Surface",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "TechDraw",
      "sourcePath": "src/Mod/TechDraw",
      "coveredBy": [
        "SVG",
        "PDF",
        "print-job"
      ],
      "status": "entrypoint-covered"
    },
    {
      "name": "TemplatePyMod",
      "sourcePath": "src/Mod/TemplatePyMod",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "Test",
      "sourcePath": "src/Mod/Test",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "Tux",
      "sourcePath": "src/Mod/Tux",
      "coveredBy": [],
      "status": "scope-only"
    },
    {
      "name": "Web",
      "sourcePath": "src/Mod/Web",
      "coveredBy": [],
      "status": "scope-only"
    }
  ],
  "policy": {
    "unsupportedExecution": [
      "Python API",
      "FCMacro",
      "addon package",
      "clipboard",
      "print job"
    ],
    "unknownOrUnlistedEntries": "fail-inventory-check",
    "untrustedContent": "never-execute"
  }
}
