{ "schema": "freecad-web-plot-source-boundary/v1", "task_id": "FW-P6-PLT-A", "status": "pass", "source_revision": "0a2e7ce7f52ba71d54c62708c9ac5c76ca142231", "input_sha256": "e9bd5da9126395a697f8f4b1f44638926fd85ac4c97c3a14f89002f4562368d7", "module": "Plot", "cmake": { "target": "src/Mod/Plot/CMakeLists.txt:10", "scriptCopy": "src/Mod/Plot/CMakeLists.txt:14", "install": "src/Mod/Plot/CMakeLists.txt:16-21", "appSources": [ "src/Mod/Plot/Plot.py" ] }, "python": { "entry": "src/Mod/Plot/Plot.py:26-61", "apiEntrypoints": [ "figure:116", "plot:131", "series:147", "removeSerie:155", "legend:177", "save:310" ], "dependencies": [ "PySide", "matplotlib", "QtAgg backend" ] }, "gui": { "buildFlag": "No C++ BUILD_GUI target; desktop Plot.py uses PySide Qt widgets", "webBoundary": "emscripten branch uses a standard-library SVG/data backend; desktop PySide/QtAgg remains unchanged" }, "actions": { "inspect": "source inventory", "pythonApi": "Plot.py functions plus Web headless backend", "persistence": "not applicable: no App::Document object" }, "boundaries": [ "Source boundary now records the conditional Web backend; runtime and browser evidence remain in separate contracts.", "Plot is a Python/Qt/matplotlib GUI helper with no native document object or file format entry.", "Python API is executable in GUI-free Web without PySide/QtAgg; GUI interaction remains desktop-only." ] }