Files
FreeCADWasmDev/docs/current/techdraw-commandstack-boundary.json
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

42 lines
1.9 KiB
JSON

{
"batchId": "43d80d19dfb387145e068375",
"module": "TechDraw",
"family": "desktop-command-commandstack",
"status": "implementation_required",
"capabilityIds": [
"TechDraw:desktop:TechDraw_StackBottom",
"TechDraw:desktop:TechDraw_StackDown",
"TechDraw:desktop:TechDraw_StackGroup",
"TechDraw:desktop:TechDraw_StackTop"
],
"existingImplementation": {
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/TechDrawDesktopCommands.cpp",
"facade": "web/src/techdraw-python-family-facade.ts",
"nativeState": "DrawPage.WebStackState",
"actions": ["applyNative", "readNative"],
"reactAdapter": "useTechDrawSvgStackDispatcher"
},
"blockingObservation": {
"scope": "Tracked web/src files excluding the adapter definition file",
"symbols": ["useTechDrawSvgStackDispatcher", "useTechDrawStackDispatcher"],
"matches": 0,
"limitation": "This checks direct symbol references only; alternate bindings and untracked files were not inspected."
},
"requiredEditableExcerpts": [
"The actual React TechDraw SVG page component and its imports",
"The page owner's live document/page/selection/task state and SVG item registry",
"The DesktopCommandDispatcher integration used by that page",
"The page load, undo, redo and graphics lifecycle subscription points"
],
"remainingImplementation": [
"Mount the existing SVG stack adapter on the actual page and supply live state and item resolution",
"Route registry-derived stack commands through the mounted adapter using the existing cmd/args transport",
"Synchronously retain WASM viewState in the page registry after SVG application",
"Restore native ordering on page load, undo, redo and graphics lifecycle changes",
"Only then expose implemented native command branches and refresh the generated registry through the outer pipeline"
],
"buildRun": false,
"validationRun": false,
"acceptanceClaimed": false
}