58 lines
3.2 KiB
Markdown
58 lines
3.2 KiB
Markdown
# 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.
|