44 lines
2.4 KiB
Markdown
44 lines
2.4 KiB
Markdown
# CAM toolbit workflow boundaries
|
|
|
|
Batch: `a35565a75faa4d6352a57519`
|
|
|
|
The first error was false success: the generic `CAM_` branch created and closed
|
|
a temporary `Path::FeaturePython` document for all five commands. The subsequent
|
|
toolbit branch was unreachable and only echoed arguments. The selected commands
|
|
now return explicit restricted results before document creation. Their empty
|
|
implementation registrations and unreachable argument-echo branch were removed.
|
|
The existing CAM desktop adapter forwards these failures through the dispatcher
|
|
to the workbench shell. Save commands also reject missing, multiple, or
|
|
cross-document selections before dispatch. Native proxy validation remains pending.
|
|
|
|
All five records remain implementation-required:
|
|
|
|
- `CAM_ToolBitDock`: mount a library selector backed by the CAM asset manager;
|
|
resolve library tool numbers and attach actual toolbits and tool controllers
|
|
to the selected existing Job. Desktop anchor:
|
|
`src/Mod/CAM/Path/Tool/library/ui/dock.py:145`.
|
|
- `CAM_ToolBitLibraryOpen`: mount the library editor and connect library and
|
|
toolbit import/export, creation, rename, removal and membership operations to
|
|
the asset manager. Desktop anchor:
|
|
`src/Mod/CAM/Path/Tool/library/ui/editor.py:74`.
|
|
- `CAM_ToolBitLoad`: deserialize selected files using the desktop toolbit
|
|
serializers, attach each ToolBit to the current persistent document and
|
|
recompute it. Desktop anchor:
|
|
`src/Mod/CAM/Path/Tool/toolbit/ui/cmd.py:140`.
|
|
- `CAM_ToolBitSave`: resolve exactly one existing ToolBit proxy, enforce the
|
|
desktop File activation requirement, and use asset serialization with an
|
|
actual browser file output. Desktop anchor:
|
|
`src/Mod/CAM/Path/Tool/toolbit/ui/cmd.py:82`.
|
|
- `CAM_ToolBitSaveAs`: resolve the selected existing ToolBit, allow a tool without
|
|
File, and connect destination and format selection to asset serialization.
|
|
Desktop anchor: `src/Mod/CAM/Path/Tool/toolbit/ui/cmd.py:102`.
|
|
|
|
Cancellation must leave the active document and assets unchanged. Document
|
|
objects must survive command completion. Library UI must consume actual native
|
|
asset results; neither command receipts nor synthetic objects establish success.
|
|
New native implementations belong in CAMDesktopCommands.cpp/.h, linked into the
|
|
existing CAM target, as required by the supplied packet's oversized-source rule.
|
|
|
|
Build, resource sync and business acceptance are deferred to the outer pipeline.
|
|
This repair is not acceptance of any of the five workflows.
|