Files
FreeCADWasmDev/docs/p6/assembly-source-boundary.json
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

55 lines
5.5 KiB
JSON

{
"schema": "freecad-web-p6-assembly-source-boundary/v1",
"module": "Assembly",
"result": "pass_probe_only",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"sourceDirty": true,
"inputs": {
"workbenchInventory": { "path": "docs/workbench-inventory.json", "sha256": "06a0ff0d65e5b9d875b10ae5c88c064da5e2b166c131648e97d6c1f48e0ce263" },
"objectInventory": { "path": "docs/object-inventory.json", "sha256": "020205e72184e2d92677c81cd183aabb2f9258204d11dc9f42fceddcc0a87c66" },
"formatApiInventory": { "path": "docs/format-api-inventory.json", "sha256": "f70d3ea8d8da3488810da34c7fb0412fdeb566d2a2f28bce0048a2637254f9b9" }
},
"cmake": {
"module": { "path": "src/Mod/Assembly/CMakeLists.txt", "sha256": "bc967971c275aa046bf400d239fc68525a2bfd6d8c95724f4a7a1a5bed75384d", "line": 14, "entry": "add_subdirectory(App)" },
"buildCondition": { "path": "src/Mod/CMakeLists.txt", "line": 13, "text": "if(BUILD_ASSEMBLY)" },
"appTarget": { "path": "src/Mod/Assembly/App/CMakeLists.txt", "line": 66, "target": "Assembly", "kind": "SHARED", "sha256": "c125a9bc3049f75c19de0617fe789215bb7413cb02afc73f8105b15b81a7de34" },
"guiTarget": { "path": "src/Mod/Assembly/Gui/CMakeLists.txt", "line": 79, "target": "AssemblyGui", "kind": "SHARED", "condition": "BUILD_GUI", "sha256": "c3f3e502203dea8a870fcd052898a26d498a42cbbcb725120e1cef11b2114d5c" },
"appDependencies": ["Part", "PartDesign", "Spreadsheet", "FreeCADApp", "OndselSolver"],
"guiDependencies": ["Assembly", "PartDesign", "PartGui", "Spreadsheet", "SpreadsheetGui", "FreeCADGui"],
"externalDependency": { "name": "OndselSolver", "condition": "FREECAD_USE_EXTERNAL_ONDSELSOLVER", "probe": { "path": "src/Mod/Assembly/CMakeLists.txt", "line": 8, "header": "OndselSolver/enum.h" }, "missingDependencyAction": "configure-fatal" }
},
"typeRegistration": {
"path": "src/Mod/Assembly/App/AppAssembly.cpp",
"moduleInit": { "line": 44, "symbol": "PyMOD_INIT_FUNC(AssemblyApp)" },
"dependencyImports": [{ "line": 48, "module": "Part" }, { "line": 49, "module": "Spreadsheet" }],
"registeredTypes": [
{ "name": "Assembly::AssemblyObject", "initLine": 64, "source": "src/Mod/Assembly/App/AssemblyObject.cpp", "sourceLine": 98, "base": "App::Part" },
{ "name": "Assembly::AssemblyLink", "initLine": 65, "source": "src/Mod/Assembly/App/AssemblyLink.cpp", "sourceLine": 58, "base": "App::Part" },
{ "name": "Assembly::BomObject", "initLine": 66, "source": "src/Mod/Assembly/App/BomObject.cpp", "sourceLine": 56, "base": "Spreadsheet::Sheet" },
{ "name": "Assembly::BomGroup", "initLine": 68, "source": "src/Mod/Assembly/App/BomGroup.cpp", "sourceLine": 37, "base": "App::DocumentObjectGroup" },
{ "name": "Assembly::JointGroup", "initLine": 69, "source": "src/Mod/Assembly/App/JointGroup.cpp", "sourceLine": 38, "base": "App::DocumentObjectGroup" },
{ "name": "Assembly::ViewGroup", "initLine": 70, "source": "src/Mod/Assembly/App/ViewGroup.cpp", "sourceLine": 38, "base": "App::DocumentObjectGroup" },
{ "name": "Assembly::SimulationGroup", "initLine": 71, "source": "src/Mod/Assembly/App/SimulationGroup.cpp", "sourceLine": 38, "base": "App::DocumentObjectGroup" }
],
"inventoryObjects": ["App::Link", "Assembly::AssemblyLink", "Assembly::AssemblyObject", "Assembly::BomGroup", "Assembly::BomObject", "Assembly::JointGroup", "Assembly::SimulationGroup", "Assembly::ViewGroup"]
},
"scriptBoundary": {
"headlessApp": { "path": "src/Mod/Assembly/Init.py", "lines": { "workbench": 29, "importType": 36 }, "importType": "*.asmt *.ASMT", "exportType": "not registered" },
"gui": { "path": "src/Mod/Assembly/InitGui.py", "initializeLine": 58, "dependencyImportLine": 66, "workbenchRegistrationLine": 296, "requires": ["FreeCADGui", "PySide", "pivy.coin", "Assembly_rc"] },
"guiOnlyCondition": "App.GuiUp",
"majorActions": [
{ "id": "create/recompute", "create": [{ "path": "src/Mod/Assembly/CommandCreateAssembly.py", "line": 82, "object": "Assembly::AssemblyObject" }, { "path": "src/Mod/Assembly/CommandCreateAssembly.py", "line": 86, "object": "Assembly::JointGroup" }], "recompute": [{ "path": "src/Mod/Assembly/CommandSolveAssembly.py", "line": 68, "call": "assembly.recompute(True)" }, { "path": "src/Mod/Assembly/App/AssemblyObject.cpp", "line": 127, "call": "AssemblyObject::execute" }, { "path": "src/Mod/Assembly/App/AssemblyObject.cpp", "line": 135, "call": "solve(false, false)" }] },
{ "id": "inspect/source-inventory", "entry": { "path": "src/Mod/Assembly/Init.py", "line": 25, "parameterGroup": "System parameter:Modules/Assembly" } },
{ "id": "python-api", "entry": { "path": "src/Mod/Assembly/App/AppAssembly.cpp", "line": 64, "generatedBindings": "AssemblyObject.pyi, AssemblyLink.pyi, BomObject.pyi, BomGroup.pyi, JointGroup.pyi, ViewGroup.pyi, SimulationGroup.pyi" } },
{ "id": "save/reopen", "entry": { "path": "src/Mod/Assembly/CommandInsertLink.py", "line": 343, "format": ".fcstd", "direction": "unknown" } }
]
},
"boundaries": {
"webSafeAppSlice": "Assembly App target and type registration are source-identified; runtime support is pending FW-P6-ASM-B.",
"guiExcluded": ["AssemblyGui target", "FreeCADGui", "PySide", "pivy.coin", "Qt resources", "ViewProviderAssembly"],
"missingOrConditional": ["OndselSolver external headers when FREECAD_USE_EXTERNAL_ONDSELSOLVER=ON", "AssemblyGui when BUILD_GUI=OFF", "Python GUI commands when App.GuiUp is false"],
"runtimeNotProven": true
},
"evidence": { "rgLog": "docs/freecad-p6-asm-a-rg.log", "rgLogSha256": "a8c008293c93707255bf245533bfea28f75f81e9cb13a464c10b729d98599d24" }
}