Files
FreeCADWasmDev/docs/current/web-parameter-editor-20260914.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

2.8 KiB

Web Parameter Editor Repair

Implemented and published: Std_DlgParameter. Formal receipt: web-parameter-editor-pipeline.json, one ready and zero missing. No automated tests, browser validation, acceptance or benchmarks ran. This does not claim all Standard dialogs or full project completion.

Repaired Business Path

The supplied CommandStd.cpp opens the native parameter dialog. Existing WebViewCommands already contained the real ParamGet implementation with read, set, remove, group creation/removal and FCParam import/export. The Web surface was disconnected: it called the old Web.standardCommand endpoint, while the native implementation is owned by PartBox/DocumentProbe's part.viewCommand/part.documentViewCommand.

  • document-view-routes.json now declares Std_DlgParameter in the shared standard command catalog.
  • web-owner-standard-adapter.ts sends the command to the selected native owner, validates the owner/document/result and returns the batch envelope consumed by the mounted task. The existing dispatcher calls this adapter before generic branches.
  • Workbench reuses the existing parameter table and OPFS import/export panel. It now edits an existing row, uses type-specific controls and separates saved FCParam files by native owner. Writable OPFS aborts on failure so a partial file is not reported as saved.
  • Native GetContents() returning None for an empty group is normalized to an empty array. FreeCAD display names Integer/Boolean/Unsigned Long are mapped to the corresponding Set/Rem method names. Signed and unsigned integer bounds and import size are checked before mutation.

No alternate parameter store, fixed result, GUI fixture or new Worker was added.

Efficiency and Build

The two existing native document targets were rebuilt once after the parameter semantics change. They exited 0 in 58.181 seconds. The formal pipeline then reused the fresh artifact: total 12.712 seconds, capability generation 8.600, preflight 0.042, metadata artifact sync 2.763, business metadata 1.006; its native build step was 0.200 seconds and generated only Version.h. The final frontend build exited 0 in 3.633 seconds, with 2.153 seconds spent on its incremental public asset sync.

The next batch can reuse the current PartBox/DocumentProbe artifact and the parameter endpoint. It must not repeat the old web.standardCommand route or rebuild unchanged parameter code.

Current Scope

Capability inventory after generation: 1345/1451 routed, 106 requiring implementation. This change fixes an already counted route and adds no fake completion. Std_DlgPreferences and Std_DlgCustomize still require separate scope; Std_CommandLine interactive input/interrupt remains incomplete. The background scheduler and watchdog continue unattended; automatic validation remains disabled by policy.