Files
FreeCADWasmDev/docs/p6/python-api-restricted-gate.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

727 lines
24 KiB
JSON

{
"schema": "freecad-web-p6-python-api-restricted-gate/v1",
"taskId": "FW-P6-FPA-F4",
"result": "pass",
"coverage": {
"inventoryRecords": 13385,
"tier4Records": 63,
"dispositionCounts": {
"restricted": 63,
"nonportable": 0
},
"plannedTier4Records": 0
},
"policy": {
"allowedDispositions": [
"restricted",
"nonportable"
],
"reasonRequired": true,
"sourceEvidenceRequired": true,
"arbitraryExecution": false
},
"manifest": {
"path": "docs/p6/python-api-manifest.json",
"sha256": "9974d9d768b1b0751a318f559e1c1f01a0a60a8afd9eb41b70736bb24539f152"
},
"records": [
{
"id": "py:Assembly:function:create_mock_pyside_uic",
"module": "Assembly",
"name": "create_mock_pyside_uic",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Assembly/AssemblyTests/mocks/MockGui.py",
"line": 158
}
},
{
"id": "py:Help:function:add_language_path",
"module": "Help",
"name": "add_language_path",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Help/Help.py",
"line": 438
}
},
{
"id": "py:Help:function:add_preferences_page",
"module": "Help",
"name": "add_preferences_page",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Help/Help.py",
"line": 429
}
},
{
"id": "py:Help:function:convert",
"module": "Help",
"name": "convert",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Help/Help.py",
"line": 323
}
},
{
"id": "py:Help:function:get_contents",
"module": "Help",
"name": "get_contents",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Help/Help.py",
"line": 301
}
},
{
"id": "py:Help:function:get_location",
"module": "Help",
"name": "get_location",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Help/Help.py",
"line": 185
}
},
{
"id": "py:Help:function:get_qtwebwidgets",
"module": "Help",
"name": "get_qtwebwidgets",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Help/Help.py",
"line": 289
}
},
{
"id": "py:Help:function:get_uri",
"module": "Help",
"name": "get_uri",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Help/Help.py",
"line": 147
}
},
{
"id": "py:Help:function:location_url",
"module": "Help",
"name": "location_url",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Help/Help.py",
"line": 159
}
},
{
"id": "py:Help:function:openBrowserHTML",
"module": "Help",
"name": "openBrowserHTML",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Help/Help.py",
"line": 447
}
},
{
"id": "py:Help:function:show",
"module": "Help",
"name": "show",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Help/Help.py",
"line": 91
}
},
{
"id": "py:Help:function:show_browser",
"module": "Help",
"name": "show_browser",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Help/Help.py",
"line": 247
}
},
{
"id": "py:Help:function:show_dialog",
"module": "Help",
"name": "show_dialog",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Help/Help.py",
"line": 265
}
},
{
"id": "py:Help:function:show_tab",
"module": "Help",
"name": "show_tab",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Help/Help.py",
"line": 277
}
},
{
"id": "py:Help:function:underscore_page",
"module": "Help",
"name": "underscore_page",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Help/Help.py",
"line": 135
}
},
{
"id": "py:Measure:class:MeasureBasePython",
"module": "Measure",
"name": "MeasureBasePython",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Measure/UtilsMeasure.py",
"line": 28
}
},
{
"id": "py:Measure:class:MeasureCOM",
"module": "Measure",
"name": "MeasureCOM",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Measure/MeasureCOM.py",
"line": 52
}
},
{
"id": "py:Measure:function:makeMeasureCOM",
"module": "Measure",
"name": "makeMeasureCOM",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Measure/MeasureCOM.py",
"line": 45
}
},
{
"id": "py:Measure:method:MeasureBasePython.getInputProps",
"module": "Measure",
"name": "MeasureBasePython.getInputProps",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Measure/UtilsMeasure.py",
"line": 41
}
},
{
"id": "py:Measure:method:MeasureBasePython.getSubject",
"module": "Measure",
"name": "MeasureBasePython.getSubject",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Measure/UtilsMeasure.py",
"line": 46
}
},
{
"id": "py:Measure:method:MeasureBasePython.isPrioritySelection",
"module": "Measure",
"name": "MeasureBasePython.isPrioritySelection",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Measure/UtilsMeasure.py",
"line": 36
}
},
{
"id": "py:Measure:method:MeasureBasePython.isValidSelection",
"module": "Measure",
"name": "MeasureBasePython.isValidSelection",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Measure/UtilsMeasure.py",
"line": 31
}
},
{
"id": "py:Measure:method:MeasureBasePython.parseSelection",
"module": "Measure",
"name": "MeasureBasePython.parseSelection",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Measure/UtilsMeasure.py",
"line": 51
}
},
{
"id": "py:Measure:method:MeasureCOM.execute",
"module": "Measure",
"name": "MeasureCOM.execute",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Measure/MeasureCOM.py",
"line": 124
}
},
{
"id": "py:Measure:method:MeasureCOM.getInputProps",
"module": "Measure",
"name": "MeasureCOM.getInputProps",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Measure/MeasureCOM.py",
"line": 99
}
},
{
"id": "py:Measure:method:MeasureCOM.getResultString",
"module": "Measure",
"name": "MeasureCOM.getResultString",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Measure/MeasureCOM.py",
"line": 120
}
},
{
"id": "py:Measure:method:MeasureCOM.getSubject",
"module": "Measure",
"name": "MeasureCOM.getSubject",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Measure/MeasureCOM.py",
"line": 102
}
},
{
"id": "py:Measure:method:MeasureCOM.isPrioritySelection",
"module": "Measure",
"name": "MeasureCOM.isPrioritySelection",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Measure/MeasureCOM.py",
"line": 95
}
},
{
"id": "py:Measure:method:MeasureCOM.isValidSelection",
"module": "Measure",
"name": "MeasureCOM.isValidSelection",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Measure/MeasureCOM.py",
"line": 74
}
},
{
"id": "py:Measure:method:MeasureCOM.onChanged",
"module": "Measure",
"name": "MeasureCOM.onChanged",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Measure/MeasureCOM.py",
"line": 156
}
},
{
"id": "py:Measure:method:MeasureCOM.parseSelection",
"module": "Measure",
"name": "MeasureCOM.parseSelection",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Measure/MeasureCOM.py",
"line": 115
}
},
{
"id": "py:Mesh:class:PivyTestCases",
"module": "Mesh",
"name": "PivyTestCases",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Mesh/App/MeshTestsApp.py",
"line": 483
}
},
{
"id": "py:Mesh:method:PivyTestCases.setUp",
"module": "Mesh",
"name": "PivyTestCases.setUp",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Mesh/App/MeshTestsApp.py",
"line": 484
}
},
{
"id": "py:Mesh:method:PivyTestCases.tearDown",
"module": "Mesh",
"name": "PivyTestCases.tearDown",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Mesh/App/MeshTestsApp.py",
"line": 537
}
},
{
"id": "py:Mesh:method:PivyTestCases.testPrimitiveCount",
"module": "Mesh",
"name": "PivyTestCases.testPrimitiveCount",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Mesh/App/MeshTestsApp.py",
"line": 515
}
},
{
"id": "py:Mesh:method:PivyTestCases.testRayPick",
"module": "Mesh",
"name": "PivyTestCases.testRayPick",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Mesh/App/MeshTestsApp.py",
"line": 489
}
},
{
"id": "py:Start:class:StartMigrator2024",
"module": "Start",
"name": "StartMigrator2024",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Start/StartMigrator.py",
"line": 45
}
},
{
"id": "py:Start:method:StartMigrator2024.run_migration",
"module": "Start",
"name": "StartMigrator2024.run_migration",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Start/StartMigrator.py",
"line": 57
}
},
{
"id": "py:Tux:class:IndicatorButton",
"module": "Tux",
"name": "IndicatorButton",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/NavigationIndicatorGui.py",
"line": 41
}
},
{
"id": "py:Tux:function:RePopulateIcons",
"module": "Tux",
"name": "RePopulateIcons",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/NavigationIndicatorGui.py",
"line": 64
}
},
{
"id": "py:Tux:function:addBottom",
"module": "Tux",
"name": "addBottom",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/PersistentToolbars.py",
"line": 76
}
},
{
"id": "py:Tux:function:addLeft",
"module": "Tux",
"name": "addLeft",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/PersistentToolbars.py",
"line": 65
}
},
{
"id": "py:Tux:function:addRight",
"module": "Tux",
"name": "addRight",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/PersistentToolbars.py",
"line": 54
}
},
{
"id": "py:Tux:function:addTop",
"module": "Tux",
"name": "addTop",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/PersistentToolbars.py",
"line": 26
}
},
{
"id": "py:Tux:function:clear",
"module": "Tux",
"name": "clear",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/PersistentToolbars.py",
"line": 87
}
},
{
"id": "py:Tux:function:isConnected",
"module": "Tux",
"name": "isConnected",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/PersistentToolbarsGui.py",
"line": 34
}
},
{
"id": "py:Tux:function:onClose",
"module": "Tux",
"name": "onClose",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/PersistentToolbarsGui.py",
"line": 240
}
},
{
"id": "py:Tux:function:onCompact",
"module": "Tux",
"name": "onCompact",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/NavigationIndicatorGui.py",
"line": 804
}
},
{
"id": "py:Tux:function:onMenu",
"module": "Tux",
"name": "onMenu",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/NavigationIndicatorGui.py",
"line": 884
}
},
{
"id": "py:Tux:function:onOrbit",
"module": "Tux",
"name": "onOrbit",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/NavigationIndicatorGui.py",
"line": 851
}
},
{
"id": "py:Tux:function:onOrbitShow",
"module": "Tux",
"name": "onOrbitShow",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/NavigationIndicatorGui.py",
"line": 866
}
},
{
"id": "py:Tux:function:onRestore",
"module": "Tux",
"name": "onRestore",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/PersistentToolbarsGui.py",
"line": 44
}
},
{
"id": "py:Tux:function:onSave",
"module": "Tux",
"name": "onSave",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/PersistentToolbarsGui.py",
"line": 131
}
},
{
"id": "py:Tux:function:onStart",
"module": "Tux",
"name": "onStart",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/PersistentToolbarsGui.py",
"line": 223
}
},
{
"id": "py:Tux:function:onTooltip",
"module": "Tux",
"name": "onTooltip",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/NavigationIndicatorGui.py",
"line": 825
}
},
{
"id": "py:Tux:function:onWorkbenchActivated",
"module": "Tux",
"name": "onWorkbenchActivated",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/PersistentToolbarsGui.py",
"line": 212
}
},
{
"id": "py:Tux:function:retranslateUi",
"module": "Tux",
"name": "retranslateUi",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/NavigationIndicatorGui.py",
"line": 85
}
},
{
"id": "py:Tux:function:setCompact",
"module": "Tux",
"name": "setCompact",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/NavigationIndicatorGui.py",
"line": 815
}
},
{
"id": "py:Tux:function:setCurrent",
"module": "Tux",
"name": "setCurrent",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/NavigationIndicatorGui.py",
"line": 889
}
},
{
"id": "py:Tux:function:translate",
"module": "Tux",
"name": "translate",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/NavigationIndicatorGui.py",
"line": 36
}
},
{
"id": "py:Tux:method:IndicatorButton.changeEvent",
"module": "Tux",
"name": "IndicatorButton.changeEvent",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/NavigationIndicatorGui.py",
"line": 47
}
},
{
"id": "py:Tux:method:IndicatorButton.mousePressEvent",
"module": "Tux",
"name": "IndicatorButton.mousePressEvent",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/NavigationIndicatorGui.py",
"line": 59
}
},
{
"id": "py:Tux:method:IndicatorButton.onChange",
"module": "Tux",
"name": "IndicatorButton.onChange",
"disposition": "restricted",
"reason": "requires GUI/PySide/Pivy/desktop migration or external UI capability outside GUI-free Web runtime",
"source": {
"path": "src/Mod/Tux/NavigationIndicatorGui.py",
"line": 55
}
}
],
"boundaries": [
"Restricted means the source symbol is tracked but not exposed as arbitrary Web execution.",
"GUI/PySide/Pivy/desktop capabilities require a separate portable implementation before any exposed disposition."
]
}