4.5 KiB
Desktop task interaction continuation
Batch: 532a9799bc8363e050edeff0.
Selected requirement: product:desktop-task-interaction-parity.
This requirement remains incomplete. Preserve all original and supplemental
requirements, IFC semantic contract, historical results and existing workflows.
Implemented in this turn
web/src/project-shell.tsx, resetTaskDrafts beside cancelWorkspaceTask
(original anchor line 442): reset primitive type/parameters, Boolean operation
and operands, box dimensions and position from committed selection or creation
defaults. Both Cancel/Escape and choosing a toolbar task discard pending drafts.
No native document requests are sent by these draft-reset operations. Accepted
edits continue to use existing native command transactions.
tools/web-task-interaction-business-cases.mjs is imported and invoked by
tools/web-acceptance-cases.mjs; selected ID is excluded from the legacy runner.
Five incremental cases drive the default application using its mounted controls
and collect actual WASM worker responses:
- Cylinder draft cancel restores radius and preserves native volume/history.
- Escape and task switching discard primitive drafts without native requests.
- Invalid radius returns a worker error; correcting it creates one native undo transaction with the expected cylinder volume.
- Cancel after undo preserves the native redo branch and restored geometry.
- Cancel restores Boolean operation/operands without a document transaction.
No proof-area covers tags are claimed from this partial Part-only workflow.
The case result intentionally remains failed with an explicit remaining-work
message until full interactions are implemented and asserted.
Validation and attributable evidence
Frontend npm run build completed, including TypeScript and Vite build. Existing
JS/WASM assets were reused (asset sync copied zero artifacts). No native rebuild,
full-parity/API gate, deployment, push or external message was performed.
Executed:
python3 tools/run_business_acceptance.py --module Web --ids product:desktop-task-interaction-parity
Runner result: acceptance_incomplete; five cases completed with passing
assertions; zero completed requirements. Runtime approximately 5.459 seconds.
Authoritative report:
docs/current/business-evidence/494d0546c0e620eb7dc4b11c-20260918T003215840581.json
Native/browser observations:
docs/current/web-task-interaction-business/2026-09-18T00-32-11-251Z/browser-native-state.json
Exact next steps and boundaries
- Reuse this evidence; do not repeat the unchanged five passing scenarios merely to produce new timestamps. Extend cases for newly implemented interactions.
- The actual default entry is
web/index.html->web/src/project-shell.tsx. It still exposes the Part toolbar at original line 503. The Tasks panel is near original line 602, followed by position, Boolean, box and primitive forms. Existing apply/create controls commit immediately; explicit accept/close and documented cancel behavior across the core workflow still need completion. - Reuse native owner/router/render/store; integrate Sketcher and PartDesign into
the current user document without substituting fixtures or losing identity,
history or unrelated documents.
web/src/partdesign-workspace.tsxnow importsPartDesignWorkspacefrom./partdesign-workspace-component.jsand mounts it. The exported component begins atweb/src/partdesign-workspace-component.tsx:11, accepts an optional shared router, and preserves ownership of that router. This is a concrete existing component, not absent business source. The current packet reader rejected that referenced component as outside its allowed dependency scope. A fresh packet needs this exact dependency and its native integration sources. tools/web-cross-workbench-business-cases.mjs:16contains the prior integration case entry. Reuse its completed native workflow when integrating task controls; do not assume its coverage establishes primary task interactions.- Remaining proof: viewport/model context selection, complete edit accept/cancel,
native validation recovery (beyond facade-invalid radius), undo/redo across
Sketcher/PartDesign, save/reopen and subsequent editing through primary UI.
Follow
docs/current/DESKTOP_WEB_UI_CONTRACT.mdwithout changing it.
Source-window budget was exhausted while reading the existing primary source; do not bypass it or equate it with missing source. No contracts, verifier, acceptance machinery, proof requirements or passing statuses were edited.