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

1.6 KiB

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.