Files
FreeCADWasmDev/docs/current/bim-frame-pipe-dispatch-repair.md
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

29 lines
1.6 KiB
Markdown

# BIM frame and pipe dispatch repair
Batch: `ad6d319035418df1de66f85c` (16 selected desktop commands).
Fixed the first source-level error in the embedded Python script in
`freecad-source/src/WebAssembly/FreeCADCoreProbe/BimRuntimeProbe.cpp`:
the Arch_Check branch was outside its owning Arch utility branch, leaving
an invalidly indented `else`. Python parses the entire script before running
it, so this also prevented every selected frame and pipe command from running.
The mutation check now belongs to the Arch utility branch, and the existing
FreeCADGui provider dispatch belongs exclusively to its alternative branch.
This also prevents read-only Arch utilities from being invoked twice.
Reused the existing application path through `workbench-shell.tsx`,
`desktop-command-dispatcher.ts`, and `bim-desktop-adapter.ts`, including native
document and selection validation. No application contract changed.
Validation: extracted the selected embedded script and parsed it with Python
AST; checked that the non-Arch branch contains the native runCommand call and
that the mutation check is nested in the Arch branch. These checks passed.
Build, artifact sync, and business acceptance are deferred to the outer pipeline.
Remaining boundaries: all 16 commands still require their real optional
CommandsFrame/CommandsPipe provider and, where applicable, completion of native
task or interactive input. Provider availability and actual document mutations
have not been verified in this edit turn. The existing missing-provider and
incomplete-workflow failures remain enforced. This repair does not establish
business acceptance for any command.