Files
FreeCADWasmDev/docs/current/web-description-mode-boundary.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.7 KiB

Std_DescriptionMode implementation boundary

Batch: e98c3de721b39410c3676f05

Implementation remains incomplete. No command registration, fabricated result, or GUI-only substitute was added. No tests, builds, browser validation, benchmarks, or historical reconciliation were run.

Confirmed desktop behavior at freecad-source/src/Gui/WhatsThis.cpp:60: activated ignores iMsg and toggles _descrMode; entering installs Qt::WhatsThisCursor; leaving restores the previous override cursor. setSource sends QWhatsThisClickedEvent to the main window only for a nonempty source. Source delivery does not itself leave description mode.

Confirmed integration contracts:

  • freecad-source/src/WebAssembly/FreeCADCoreProbe/WebRuntimeProbe.cpp:45-144 parses records[].name. Registered desktop commands normally execute through executeWebMacroCommand; document commands have separate ownership. Adding a name alone would not implement behavior.
  • web/src/web-owner-standard-adapter.ts:1-52 requires membership in document-view-routes.json standardCommands, sends the document-view/v1 envelope to the Part document owner, validates validStandardResult, and wraps results as document-view-batch/v1. Description mode must not be routed here without implementing the corresponding owner operation and result contract.
  • Supplied web/src/workbench-shell.tsx:349 is a mounted effect insertion anchor; web/src/web-desktop-adapter.ts:124 is the adapter execution anchor.

Next source packet must expose these missing implementation anchors rather than repeat the already read windows:

  • WebMacroCommands.h: executeWebMacroCommand request parsing, Std_WhatsThis handling, and result serialization (if using the Web runtime).
  • web/src/web.worker.ts: web.standardCommand payload and native result handling.
  • Alternatively NativeDocumentView.h: Std_WhatsThis operation and standard response construction, plus web/src/web-standard-command-contract.ts validation and document-view-routes.json standardCommands (if using the document owner).
  • workbench-shell.tsx: mounted help-source handling and command control metadata, to connect cursor lifetime, command checked state, and help target dispatch.
  • tools/generate_feature_capability_registry.py: actual catalog ownership and generation entry point for this command.

The four supplemental source windows were consumed by WhatsThis.cpp:60, the bounded packet metadata summary, WebRuntimeProbe.cpp:45, and web-owner-standard-adapter.ts:1. The metadata summary listed support paths but did not expose the omitted implementation excerpts. No further source reads were made. Source exists; the remaining boundary is access to the specific integration contracts within the permitted budget.