{ "schema": "freecad-web-p6-measure-source-boundary/v1", "taskId": "FW-P6-MEA-A", "module": "Measure", "result": "pass_boundary", "sourceRevision": "a6f251f65787f526568802e0f428f71ac871dea1", "commands": [ "rg -n \"BUILD_|Init|addObject|registerType|PyInit\" src/Mod/Measure" ], "cmake": { "module": { "file": "src/Mod/Measure/CMakeLists.txt", "appLine": 3, "guiGuardLines": [ 13, 16 ], "scriptsLines": [ 5, 11 ] }, "app": { "file": "src/Mod/Measure/App/CMakeLists.txt", "target": "Measure", "targetLine": 67, "dependencies": [ "Part", "FreeCADApp" ], "linkLine": 84 }, "gui": { "file": "src/Mod/Measure/Gui/CMakeLists.txt", "target": "MeasureGui", "targetLine": 72, "dependencies": [ "Measure", "FreeCADGui" ], "linkLine": 88 } }, "appBoundary": { "moduleEntry": { "file": "src/Mod/Measure/App/AppMeasure.cpp", "line": 84, "symbol": "PyMOD_INIT_FUNC(Measure)" }, "pythonTypes": { "file": "src/Mod/Measure/App/AppMeasure.cpp", "lines": [ 96, 97 ], "names": [ "Measurement", "MeasureBase" ] }, "nativeRegistration": { "file": "src/Mod/Measure/App/AppMeasure.cpp", "lines": [ 99, 113 ], "count": 15 } }, "guiBoundary": { "moduleEntry": { "file": "src/Mod/Measure/Gui/AppMeasureGui.cpp", "line": 71, "symbol": "PyMOD_INIT_FUNC(MeasureGui)" }, "guiTypes": { "file": "src/Mod/Measure/Gui/AppMeasureGui.cpp", "lines": [ 97, 110 ], "guiOnly": true }, "pythonType": { "file": "src/Mod/Measure/Gui/AppMeasureGui.cpp", "line": 120, "name": "QuickMeasure" } }, "actionEntrypoints": [ { "file": "src/Mod/Measure/MeasureCOM.py", "kind": "python-measure-script" }, { "file": "src/Mod/Measure/MeasureGlobal.py", "kind": "python-helper" }, { "file": "src/Mod/Measure/Gui/TaskMeasure.cpp", "kind": "gui-create-measurement" }, { "file": "src/Mod/Measure/Gui/TaskMassProperties.cpp", "kind": "gui-mass-properties" } ], "matches": { "module": [ "3:add_subdirectory(App)", "6: Init.py", "13:if(BUILD_GUI)", "14: list(APPEND Measure_Scripts InitGui.py)", "15: add_subdirectory(Gui)", "16:endif(BUILD_GUI)" ], "app": [ "src/Mod/Measure/App/AppMeasure.cpp:84:PyMOD_INIT_FUNC(Measure)\r", "src/Mod/Measure/App/AppMeasure.cpp:99: Measure::Measurement ::init();\r", "src/Mod/Measure/App/AppMeasure.cpp:102: Measure::MeasureDistanceType ::init();\r", "src/Mod/Measure/App/AppMeasure.cpp:103: Measure::MeasureBase ::init();\r", "src/Mod/Measure/App/AppMeasure.cpp:104: Measure::MeasurePython ::init();\r", "src/Mod/Measure/App/AppMeasure.cpp:105: Measure::MeasureAngle ::init();\r", "src/Mod/Measure/App/AppMeasure.cpp:106: Measure::MeasureDistance ::init();\r", "src/Mod/Measure/App/AppMeasure.cpp:107: Measure::MeasureDistanceDetached::init();\r", "src/Mod/Measure/App/AppMeasure.cpp:108: Measure::MeasurePosition ::init();\r", "src/Mod/Measure/App/AppMeasure.cpp:109: Measure::MeasureLength ::init();\r", "src/Mod/Measure/App/AppMeasure.cpp:110: Measure::MeasureArea ::init();\r", "src/Mod/Measure/App/AppMeasure.cpp:111: Measure::MeasureDiameter ::init();\r", "src/Mod/Measure/App/AppMeasure.cpp:112: Measure::MeasureRadius ::init();\r", "src/Mod/Measure/App/AppMeasure.cpp:113: Measure::Result ::init();\r", "src/Mod/Measure/App/CMakeLists.txt:8:generate_from_py(Measurement)", "src/Mod/Measure/App/CMakeLists.txt:9:generate_from_py(MeasureBase)", "src/Mod/Measure/App/CMakeLists.txt:67:add_library(Measure SHARED ${Measure_SRCS})", "src/Mod/Measure/App/CMakeLists.txt:84:target_link_libraries(Measure ${Measure_LIBS})" ], "gui": [ "src/Mod/Measure/Gui/AppMeasureGui.cpp:71:PyMOD_INIT_FUNC(MeasureGui)\r", "src/Mod/Measure/Gui/AppMeasureGui.cpp:97: MeasureGui::ViewProviderMeasureGroup ::init();\r", "src/Mod/Measure/Gui/AppMeasureGui.cpp:98: MeasureGui::ViewProviderMeasureBase ::init();\r", "src/Mod/Measure/Gui/AppMeasureGui.cpp:99: MeasureGui::ViewProviderMeasure ::init();\r", "src/Mod/Measure/Gui/AppMeasureGui.cpp:100: MeasureGui::ViewProviderMeasureAngle ::init();\r", "src/Mod/Measure/Gui/AppMeasureGui.cpp:101: MeasureGui::ViewProviderMeasureDistance ::init();\r", "src/Mod/Measure/Gui/AppMeasureGui.cpp:103: MeasureGui::ViewProviderMeasureArea ::init();\r", "src/Mod/Measure/Gui/AppMeasureGui.cpp:104: MeasureGui::ViewProviderMeasureLength ::init();\r", "src/Mod/Measure/Gui/AppMeasureGui.cpp:105: MeasureGui::ViewProviderMeasurePosition ::init();\r", "src/Mod/Measure/Gui/AppMeasureGui.cpp:106: MeasureGui::ViewProviderMeasureRadius ::init();\r", "src/Mod/Measure/Gui/AppMeasureGui.cpp:107: MeasureGui::ViewProviderMeasureDiameter ::init();\r", "src/Mod/Measure/Gui/AppMeasureGui.cpp:108: MeasureGui::ViewProviderMeasureCOM ::init();\r", "src/Mod/Measure/Gui/AppMeasureGui.cpp:110: MassPropertiesGui::ViewProviderMassPropertiesResult::init();\r", "src/Mod/Measure/Gui/CMakeLists.txt:72:add_library(MeasureGui SHARED ${MeasureGui_SRCS} ${MeasureGuiIcon_SVG})", "src/Mod/Measure/Gui/CMakeLists.txt:88:target_link_libraries(MeasureGui ${MeasureGui_LIBS})" ] }, "sourceSha256": { "src/Mod/Measure/CMakeLists.txt": "f983badaeac81b45ceb84e02e320151ba336ea6218a11a253b2c130d525d9cf8", "src/Mod/Measure/App/CMakeLists.txt": "e27b088e76bf6a1f377683e62a036636ca7bb6cd7bb64e879880b0773213b247", "src/Mod/Measure/Gui/CMakeLists.txt": "845dee88af73e1049a2e247a0df41e8944493a4e599032d81acfb9d664e91cca", "src/Mod/Measure/App/AppMeasure.cpp": "6fa86181619961923a241e135358d9490973814c83543793f957d9bd5b6b609f", "src/Mod/Measure/Gui/AppMeasureGui.cpp": "799a85f14ee94334d717d689aebce9a9f795ccbfa9b33262886f331532c226b9" }, "conditions": { "gui": "BUILD_GUI gates MeasureGui and InitGui.py", "runtime": "Source boundary only; no WASM runtime or browser capability is inferred." }, "boundaries": [ "Measure App and Gui are separate targets; GUI measurement creation and mass properties remain GUI-bound until runtime cards.", "No runtime, Facade, Chrome, or persistence result is claimed by this card." ] }