127 lines
4.3 KiB
JSON
127 lines
4.3 KiB
JSON
{
|
|
"schemaVersion": 1,
|
|
"baseline": {
|
|
"freecadVersion": "1.1.1",
|
|
"commit": "0108fd4b4850cc46e625b60e53cea7a7bbe69f8d"
|
|
},
|
|
"selectedAt": "2026-08-14",
|
|
"family": {
|
|
"id": "partdesign-pad-task",
|
|
"title": "Part Design Pad task lifecycle",
|
|
"workbench": "PartDesignWorkbench",
|
|
"primaryCommand": "PartDesign_Pad",
|
|
"commandIds": [
|
|
"PartDesign_Pad"
|
|
],
|
|
"primaryExactTask": "EX-UI-03",
|
|
"relatedExactTasks": [
|
|
"EX-ORA-01",
|
|
"EX-PD-01"
|
|
],
|
|
"selectionReason": "Pad is a P0 profile feature with existing native geometry, failure, history, naming and FCStd evidence. Its GUI command is document-sensitive, opens a parameter Task panel, supports preview and cancel, and can exercise success, disabled, failure and recovery without introducing a new workbench scope."
|
|
},
|
|
"sensitivityEvidence": {
|
|
"source": "config/freecad-gui-command-inventory.json",
|
|
"commandId": "PartDesign_Pad",
|
|
"documentSensitive": true,
|
|
"selectionSensitive": false,
|
|
"cases": {
|
|
"noDocument": [
|
|
false
|
|
],
|
|
"documentNoSelection": [
|
|
true
|
|
],
|
|
"selectedPartBox": [
|
|
true
|
|
]
|
|
}
|
|
},
|
|
"stateRecipes": {
|
|
"success": {
|
|
"setup": "Create a document, Body and closed rectangular Sketch; select the Sketch and invoke PartDesign_Pad.",
|
|
"action": "Set Length to 10 mm and accept the Task.",
|
|
"expected": "A Pad is committed as Body Tip, the transaction is undoable and the document recomputes valid."
|
|
},
|
|
"disabled": {
|
|
"setup": "Start the Part Design workbench with no active document.",
|
|
"action": "Query PartDesign_Pad command state without invoking it.",
|
|
"expected": "The command is inactive and no document, Task or transaction is created."
|
|
},
|
|
"failure": {
|
|
"setup": "Create an active Body with an invalid open-wire Sketch selected.",
|
|
"action": "Invoke PartDesign_Pad and attempt to accept the Task.",
|
|
"expected": "The native diagnostic is captured, no invalid Pad is committed and the last valid document state is retained."
|
|
},
|
|
"cancel": {
|
|
"setup": "Create an active Body with a valid closed Sketch and open PartDesign_Pad.",
|
|
"action": "Change Length, observe preview, then cancel the Task.",
|
|
"expected": "Preview state is discarded, no Pad is committed, the selected profile remains consumed as in native FreeCAD, the active Body is preserved and focus moves from the Pad length field to TaskView."
|
|
},
|
|
"recovery": {
|
|
"setup": "Continue from the failed or cancelled Pad workflow in the same document.",
|
|
"action": "Repair the profile or reopen Pad, enter a valid Length and accept; then undo and redo once.",
|
|
"expected": "The valid Pad is committed, Body Tip and Shape recover, undo/redo are stable and save-reopen preserves the result."
|
|
}
|
|
},
|
|
"progress": [
|
|
{
|
|
"taskId": "ORA-GUI-WF-000",
|
|
"status": "completed",
|
|
"evidence": [
|
|
"config/freecad-gui-workflow-plan.json",
|
|
"config/freecad-gui-command-inventory.json"
|
|
]
|
|
},
|
|
{
|
|
"taskId": "ORA-GUI-WF-001",
|
|
"status": "completed",
|
|
"evidence": [
|
|
"config/freecad-gui-workflow-oracle.json",
|
|
"scripts/check-freecad-gui-workflow-oracle.mjs"
|
|
]
|
|
},
|
|
{
|
|
"taskId": "ORA-GUI-WF-002",
|
|
"status": "completed",
|
|
"evidence": [
|
|
"config/freecad-gui-workflow-oracle.json",
|
|
"scripts/check-freecad-gui-workflow-oracle.mjs"
|
|
]
|
|
},
|
|
{
|
|
"taskId": "ORA-GUI-WF-003",
|
|
"status": "completed",
|
|
"evidence": [
|
|
"config/freecad-gui-workflow-oracle.json",
|
|
"scripts/check-freecad-gui-workflow-oracle.mjs"
|
|
]
|
|
},
|
|
{
|
|
"taskId": "ORA-GUI-WF-004",
|
|
"status": "completed",
|
|
"evidence": [
|
|
"config/freecad-gui-workflow-oracle.json",
|
|
"scripts/check-freecad-gui-workflow-oracle.mjs"
|
|
]
|
|
},
|
|
{
|
|
"taskId": "ORA-GUI-WF-005",
|
|
"status": "completed",
|
|
"evidence": [
|
|
"config/freecad-gui-workflow-oracle.json",
|
|
"scripts/check-freecad-gui-workflow-oracle.mjs"
|
|
]
|
|
},
|
|
{
|
|
"taskId": "ORA-GUI-WF-006",
|
|
"status": "completed",
|
|
"evidence": [
|
|
"config/freecad-web-exact-parity-plan.json",
|
|
"scripts/check-freecad-gui-workflow-plan.mjs",
|
|
"scripts/generate-freecad-active-work-queue.mjs"
|
|
]
|
|
}
|
|
]
|
|
}
|