2.7 KiB
Macro command batch boundaries
Batch: ba4cad68ea8ed95624783d80
The existing Execute and Execute Direct routes use the PartBox Python runtime. Macro list results now populate the mounted file selector, read results hydrate the editor, and saved source is downloaded for storage outside the worker filesystem. Local macro files can be imported into the editor and saved through the existing native operation.
Debugger attachment now routes to the same runtime and invokes the desktop entry point freecad.gui.RemoteDebugger.attachToRemoteDebugger(). Availability of that module, its GUI configuration dependencies, and debugger network transport in WASM remain unresolved. Exceptions return through the native macro error envelope; this is not a claim of working debugger attachment.
Std_DlgMacroRecord remains incomplete. Desktop CommandMacro.cpp:59 opens the recording dialog or commits the GUI macro manager. A real recorder must capture executable command source from the command producers and commit it to a macro file. Recording request envelopes or synthesizing fixed Python results would not preserve this behavior. The command capture owner and GUI macro manager implementation were outside the available source windows for this turn.
Worker filesystem macro storage remains transient; explicit import and save downloads provide file transfer, not automatic persistent directory synchronization. GUI-dependent macro execution remains dependent on the runtime's available FreeCADGui API. No builds, tests, browser validation, acceptance, or receipt generation were performed.
Batch ba4cad68ea8ed95624783d80 — failed execution scene recovery
The native macro helper now preserves the active document and execution-start state when Python raises. The mounted Web desktop adapter uses that result to refresh the document scene after a partially executed macro while retaining the original error and traceback. Successful execution, editor hydration, and save downloads retain their existing paths.
Remaining boundaries: Std_DlgMacroRecord still needs the real command-emission capture and commit lifecycle supplied by the desktop macro manager (CommandMacro.cpp:59); no recording marker or synthetic replay was added. Std_MacroAttachDebugger already invokes the desktop RemoteDebugger entry point (CommandMacro.cpp:162), but its runtime dependencies remain unresolved. This edit does not establish executable registration or completion for any of the four selected IDs. Further source inspection must locate the native command capture owner and debugger dependencies within a subsequent authorized source window.
No builds, sync, route receipts, tests, browser validation, benchmarks, or acceptance were run. The outer pipeline owns build/sync/route receipts.