277 lines
9.2 KiB
JSON
277 lines
9.2 KiB
JSON
{
|
|
"schema": "freecad-web-p6-material-source-boundary/v1",
|
|
"taskId": "FW-P6-MAT-A",
|
|
"module": "Material",
|
|
"result": "pass_boundary",
|
|
"sourceRevision": "a6f251f65787f526568802e0f428f71ac871dea1",
|
|
"commands": [
|
|
"rg -n \"BUILD_|Init|addObject|registerType|PyInit\" src/Mod/Material"
|
|
],
|
|
"cmake": {
|
|
"module": {
|
|
"file": "src/Mod/Material/CMakeLists.txt",
|
|
"appLine": 3,
|
|
"guiGuardLines": [
|
|
5,
|
|
7
|
|
],
|
|
"scriptsLines": [
|
|
9,
|
|
17
|
|
]
|
|
},
|
|
"app": {
|
|
"file": "src/Mod/Material/App/CMakeLists.txt",
|
|
"target": "Materials",
|
|
"targetLine": 138,
|
|
"webDefinitionLines": [
|
|
140,
|
|
142
|
|
],
|
|
"externalGuardLines": [
|
|
11,
|
|
13,
|
|
127,
|
|
136
|
|
],
|
|
"dependencies": [
|
|
"FreeCADApp",
|
|
"QtConcurrent",
|
|
"yaml-cpp"
|
|
],
|
|
"linkLine": 173
|
|
},
|
|
"gui": {
|
|
"file": "src/Mod/Material/Gui/CMakeLists.txt",
|
|
"target": "MatGui",
|
|
"targetLine": 159,
|
|
"externalGuardLines": [
|
|
9,
|
|
11,
|
|
52,
|
|
57,
|
|
129,
|
|
138
|
|
],
|
|
"dependencies": [
|
|
"Materials",
|
|
"FreeCADGui",
|
|
"QtConcurrent"
|
|
],
|
|
"linkLine": 198
|
|
}
|
|
},
|
|
"appBoundary": {
|
|
"moduleEntry": {
|
|
"file": "src/Mod/Material/App/AppMaterial.cpp",
|
|
"line": 76,
|
|
"symbol": "PyMOD_INIT_FUNC(Materials)"
|
|
},
|
|
"pythonTypes": {
|
|
"file": "src/Mod/Material/App/AppMaterial.cpp",
|
|
"lines": [
|
|
88,
|
|
99
|
|
],
|
|
"names": [
|
|
"Array2D",
|
|
"Array3D",
|
|
"MaterialFilter",
|
|
"MaterialFilterOptions",
|
|
"MaterialLibrary",
|
|
"MaterialManager",
|
|
"MaterialProperty",
|
|
"Material",
|
|
"ModelManager",
|
|
"ModelProperty",
|
|
"Model",
|
|
"UUIDs"
|
|
]
|
|
},
|
|
"nativeTypes": {
|
|
"file": "src/Mod/Material/App/AppMaterial.cpp",
|
|
"lines": [
|
|
105,
|
|
131
|
|
],
|
|
"count": 27,
|
|
"externalConditional": [
|
|
112,
|
|
115
|
|
]
|
|
},
|
|
"pythonSources": {
|
|
"file": "src/Mod/Material/App/CMakeLists.txt",
|
|
"lines": [
|
|
56,
|
|
82
|
|
],
|
|
"generatedBindings": 12
|
|
}
|
|
},
|
|
"guiBoundary": {
|
|
"moduleEntry": {
|
|
"file": "src/Mod/Material/Gui/AppMatGui.cpp",
|
|
"line": 77,
|
|
"symbol": "PyMOD_INIT_FUNC(MatGui)"
|
|
},
|
|
"guiDependencyGuard": {
|
|
"file": "src/Mod/Material/Gui/AppMatGui.cpp",
|
|
"lines": [
|
|
79,
|
|
82
|
|
],
|
|
"condition": "Gui::Application::Instance"
|
|
},
|
|
"materialModuleImport": {
|
|
"file": "src/Mod/Material/Gui/AppMatGui.cpp",
|
|
"lines": [
|
|
84,
|
|
91
|
|
],
|
|
"import": "Materials"
|
|
},
|
|
"registration": {
|
|
"file": "src/Mod/Material/Gui/AppMatGui.cpp",
|
|
"lines": [
|
|
97,
|
|
128
|
|
],
|
|
"symbols": [
|
|
"MatGui::Workbench",
|
|
"MatGui::MaterialTreeWidget"
|
|
]
|
|
}
|
|
},
|
|
"actionEntrypoints": [
|
|
{
|
|
"file": "src/Mod/Material/Init.py",
|
|
"kind": "module-script"
|
|
},
|
|
{
|
|
"file": "src/Mod/Material/InitGui.py",
|
|
"kind": "gui-script"
|
|
},
|
|
{
|
|
"file": "src/Mod/Material/importFCMat.py",
|
|
"kind": "import-script"
|
|
},
|
|
{
|
|
"file": "src/Mod/Material/MaterialEditor.py",
|
|
"kind": "material-editor"
|
|
},
|
|
{
|
|
"file": "src/Mod/Material/App/MaterialManager.cpp",
|
|
"kind": "native-material-manager"
|
|
},
|
|
{
|
|
"file": "src/Mod/Material/App/PropertyMaterial.cpp",
|
|
"kind": "document-property"
|
|
}
|
|
],
|
|
"conditions": {
|
|
"gui": "BUILD_GUI controls the MatGui subdirectory",
|
|
"external": "BUILD_MATERIAL_EXTERNAL adds external manager sources and GUI migration/settings sources",
|
|
"runtime": "This card records source boundaries only; no WASM runtime or browser capability is claimed."
|
|
},
|
|
"matches": {
|
|
"module": [
|
|
"3:add_subdirectory(App)",
|
|
"5:if(BUILD_GUI)",
|
|
"6: add_subdirectory(Gui)",
|
|
"7:endif(BUILD_GUI)"
|
|
],
|
|
"app": [
|
|
"11:if(BUILD_MATERIAL_EXTERNAL)",
|
|
"12: add_definitions(-DBUILD_MATERIAL_EXTERNAL)",
|
|
"13:endif(BUILD_MATERIAL_EXTERNAL)",
|
|
"33:generate_from_py(Array2D)",
|
|
"34:generate_from_py(Array3D)",
|
|
"35:generate_from_py(MaterialFilter)",
|
|
"36:generate_from_py(MaterialFilterOptions)",
|
|
"37:generate_from_py(MaterialLibrary)",
|
|
"38:generate_from_py(MaterialManager)",
|
|
"39:generate_from_py(Material)",
|
|
"40:generate_from_py(ModelManager)",
|
|
"41:generate_from_py(ModelProperty)",
|
|
"42:generate_from_py(MaterialProperty)",
|
|
"43:generate_from_py(Model)",
|
|
"44:generate_from_py(UUIDs)",
|
|
"127:if(BUILD_MATERIAL_EXTERNAL)",
|
|
"136:endif(BUILD_MATERIAL_EXTERNAL)",
|
|
"138:add_library(Materials SHARED ${Materials_SRCS})",
|
|
"140:if(FREECAD_WEB)",
|
|
"141: target_compile_definitions(Materials PRIVATE FREECAD_WEB_CORE)",
|
|
"168:if(BUILD_MATERIAL_EXTERNAL)",
|
|
"170:endif(BUILD_MATERIAL_EXTERNAL)",
|
|
"173:target_link_libraries(Materials ${Materials_LIBS})"
|
|
],
|
|
"gui": [
|
|
"9:if(BUILD_MATERIAL_EXTERNAL)",
|
|
"10: add_definitions(-DBUILD_MATERIAL_EXTERNAL)",
|
|
"11:endif(BUILD_MATERIAL_EXTERNAL)",
|
|
"52:if(BUILD_MATERIAL_EXTERNAL)",
|
|
"57:endif(BUILD_MATERIAL_EXTERNAL)",
|
|
"129:if(BUILD_MATERIAL_EXTERNAL)",
|
|
"138:endif(BUILD_MATERIAL_EXTERNAL)",
|
|
"159:add_library(MatGui SHARED",
|
|
"187:target_link_libraries(MatGui ${MatGui_LIBS})"
|
|
],
|
|
"appEntry": [
|
|
"76:PyMOD_INIT_FUNC(Materials)",
|
|
"88: Base::Interpreter().addType(&Materials::Array2DPy::Type, module, \"Array2D\");",
|
|
"89: Base::Interpreter().addType(&Materials::Array3DPy::Type, module, \"Array3D\");",
|
|
"90: Base::Interpreter().addType(&Materials::MaterialFilterPy::Type, module, \"MaterialFilter\");",
|
|
"91: Base::Interpreter().addType(&Materials::MaterialFilterOptionsPy::Type, module, \"MaterialFilterOptions\");",
|
|
"92: Base::Interpreter().addType(&Materials::MaterialLibraryPy::Type, module, \"MaterialLibrary\");",
|
|
"93: Base::Interpreter().addType(&Materials::MaterialManagerPy::Type, module, \"MaterialManager\");",
|
|
"94: Base::Interpreter().addType(&Materials::MaterialPropertyPy::Type, module, \"MaterialProperty\");",
|
|
"95: Base::Interpreter().addType(&Materials::MaterialPy::Type, module, \"Material\");",
|
|
"96: Base::Interpreter().addType(&Materials::ModelManagerPy::Type, module, \"ModelManager\");",
|
|
"97: Base::Interpreter().addType(&Materials::ModelPropertyPy::Type, module, \"ModelProperty\");",
|
|
"98: Base::Interpreter().addType(&Materials::ModelPy::Type, module, \"Model\");",
|
|
"99: Base::Interpreter().addType(&Materials::UUIDsPy::Type, module, \"UUIDs\");",
|
|
"105: Materials::Material ::init();",
|
|
"106: Materials::MaterialFilter ::init();",
|
|
"107: Materials::MaterialFilterOptions ::init();",
|
|
"108: Materials::MaterialManager ::init();",
|
|
"109: Materials::MaterialManagerLocal ::init();",
|
|
"110: Materials::Model ::init();",
|
|
"111: Materials::ModelManager ::init();",
|
|
"113: Materials::MaterialManagerExternal ::init();",
|
|
"114: Materials::ModelManagerExternal ::init();",
|
|
"116: Materials::ModelManagerLocal ::init();",
|
|
"117: Materials::ModelUUIDs ::init();",
|
|
"119: Materials::Library ::init();",
|
|
"120: Materials::MaterialLibrary ::init();",
|
|
"121: Materials::MaterialLibraryLocal ::init();",
|
|
"122: Materials::ModelLibrary ::init();",
|
|
"124: Materials::ModelProperty ::init();",
|
|
"125: Materials::MaterialProperty ::init();",
|
|
"127: Materials::MaterialValue ::init();",
|
|
"128: Materials::Array2D ::init();",
|
|
"129: Materials::Array3D ::init();",
|
|
"131: Materials::PropertyMaterial ::init();"
|
|
],
|
|
"guiEntry": [
|
|
"77:PyMOD_INIT_FUNC(MatGui)",
|
|
"79: if (!Gui::Application::Instance) {",
|
|
"86: Base::Interpreter().runString(\"import Materials\");",
|
|
"97: MatGui::Workbench ::init();",
|
|
"128: MatGui::MaterialTreeWidget::init();"
|
|
]
|
|
},
|
|
"sourceSha256": {
|
|
"src/Mod/Material/CMakeLists.txt": "caf64ec0735f450e22b1e376ed9f7b9eabfa24b7c0970b3eb9820d8e5629ab12",
|
|
"src/Mod/Material/App/CMakeLists.txt": "e0e20117ebe57ec52d9001d4ea1bc0fa5f96a8e3222c3a24582e3c68280668df",
|
|
"src/Mod/Material/Gui/CMakeLists.txt": "7e212feb5059c153d54475da8a1cfeae9cbd5ce5380bc944c7f595c6ce7d569b",
|
|
"src/Mod/Material/App/AppMaterial.cpp": "49cb52fc94e14fd3e41fd5b72f8928499d2bddea0bb030f3a25dba00ad04ed2f",
|
|
"src/Mod/Material/Gui/AppMatGui.cpp": "62896b6d10a10bce6932fed2720eb0670460bc3295f9ad533cc7b9d0214e0b44"
|
|
},
|
|
"boundaries": [
|
|
"App and Gui are separate targets; BUILD_GUI gates only Gui while Materials remains the native App target.",
|
|
"BUILD_MATERIAL_EXTERNAL is conditional and is not counted as available in the Web boundary without an explicit dependency closure.",
|
|
"No runtime probe, API parity, persistence, or Chrome result is inferred from this source inventory."
|
|
]
|
|
}
|