Files
FreeCADWasmDev/docs/current/web-commanddoc-bd25920b6a473b85add95db6-checkpoint.md

3.2 KiB

CommandDoc continuation checkpoint

Batch bd25920b6a473b85add95db6, 2026-09-16. Selected: Alignment, Edit, Expressions, Print.

Current implementation

Expressions now has a native C++ handler in NativeDocumentView.h, reached through the existing Web adapter, Part view route and persistent document owner. It copies selected objects, the active document or all documents from native PropertyExpressionContainer values, preserving desktop ##@@ headers, persistent expression strings and comment escaping. Paste resolves native containers, parses all expressions before mutation, shares transaction IDs across documents, sets native expressions, recomputes and commits. Parse errors leave documents unchanged; unresolved targets report warnings like desktop. Identical expressions do not open transactions. Frozen objects reject paste.

The existing mounted CommandDoc task now has scope selection, copy, clipboard read, editable clipboard text, paste and cancel. The adapter writes copied text to the browser clipboard; denied access is reported alongside available text. The response contract validates expression results. No shared dispatcher or shell edit was needed. tools/web-business-cases.mjs contains executable native and browser assertions for clipboard scopes, multi-document mutation, comments, dependent OCCT solids, undo/redo, no-op paste, parse errors and cancellation.

Verification in progress

  • Incremental PartBox and DocumentProbe build completed successfully.
  • TypeScript, case syntax, scoped diff whitespace and static geometry boundary checks passed. Static ownership checks do not prove all geometry ownership.
  • Public artifact sync completed: 6 copied, 98 skipped.
  • Frontend build and isolated acceptance result pending at this checkpoint. No acceptance status has been manually changed.

Preserved boundaries

Continue the original and supplemental requirements recorded in web-commanddoc-833151cee540ba6d377cfc4b-checkpoint.md and its predecessors. Placement's prior isolated pass is retained, including its explicit limits: rotation center, live preview, hierarchy/link semantics and provider constraints are still open and are not covered by the absolute/incremental subset.

Edit's existing acceptance first error is No module named 'FreeCADGui'. Do not repeat it unchanged or replace native edit semantics with metadata. A functional edit provider needs actual native mutation, commit/cancel and provider-specific dispatch. Alignment still explicitly rejects requests pending its manual alignment task and native placement application; desktop source uses two geometric objects, fixed/moving groups, point correspondences, navigation and accept/cancel. Print still needs the active view print host and actual printable content, cancellation and document-preservation evidence.

All four selected commands are not claimed complete as a batch. Keep all original and supplemental requirements, including the unchanged IFC semantic export contract and proof requirements. No IFC rerun, proxy replacement, full-parity/API gate, deployment, push, external message, verifier or acceptance machinery change was performed. Initial unscoped Git/search rejections were diagnostic scope rejections, not CAD business failures.