Files
FreeCADWasmDev/docs/business-acceptance/BIM.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

25 lines
6.9 KiB
JSON

{
"command": ["node", "tools/bim-recovery-business-cases.mjs"],
"coveredIds": ["BIM:bim.create2DViews", "BIM:bim.createAxis", "business-format:BIM:import:.dae", "business-format:BIM:export:.fcstd", "business-format:BIM:export:.ifc", "business-format:BIM:import:.ifc", "business-format:BIM:export:.json", "business-format:BIM:import:.json", "business-format:BIM:export:.obj", "business-format:BIM:import:.obj", "business-format:BIM:import:.stp", "business-format:BIM:export:.svg", "business-format:BIM:import:.svg", "BIM:desktop:BIM_Nudge_Up", "BIM:desktop:BIM_Nudge_Down", "BIM:desktop:BIM_Nudge_Left", "BIM:desktop:BIM_Nudge_Right", "BIM:desktop:BIM_Nudge_Extend", "BIM:desktop:BIM_Nudge_Shrink", "BIM:desktop:BIM_Nudge_RotateLeft", "BIM:desktop:BIM_Nudge_RotateRight", "BIM:desktop:BIM_Nudge_Switch"],
"desktopNudgeIds": ["BIM:desktop:BIM_Nudge_Up", "BIM:desktop:BIM_Nudge_Down", "BIM:desktop:BIM_Nudge_Left", "BIM:desktop:BIM_Nudge_Right", "BIM:desktop:BIM_Nudge_Extend", "BIM:desktop:BIM_Nudge_Shrink", "BIM:desktop:BIM_Nudge_RotateLeft", "BIM:desktop:BIM_Nudge_RotateRight", "BIM:desktop:BIM_Nudge_Switch"],
"svgScope": "BIM formatWorkflow imports parameterized millimeter SVG rectangles into the active document; exports all current planar geometry, overwrites after changed input and reimports with native perimeter assertions; covers repeated append, independent-document preservation, malformed/missing input, rejected destination and recovery. Both SVG IDs share one WASM execution chain; coverage declaration is not an acceptance result.",
"stpScope": "WASM Part.export generates STEP inputs from both current-document solids with changed dimensions and placement; BIM formatWorkflow imports into an active document, asserting solid validity, volume, bounds, append preservation, document isolation, malformed/missing input rejection and repeated import recovery",
"objScope": "Current-document OBJ export/import roundtrip using changed solid dimensions and placement, overwrite, WASM Mesh file geometry inspection, append preservation, document isolation, missing input, rejected destination and recovery; geometry assertions allow importer grouping differences",
"ifcScope": "The WASM IFC backend writes current valid FreeCAD solids as data-driven BREP and placement payloads in an IFC STEP container and transactionally appends reconstructed Part features; malformed input and invalid destinations are rejected before committed document mutation. Build and business acceptance remain owned by the outer pipeline.",
"build": {"tree": "freecad-source/build-web/configure", "target": "FreeCADWebBimRuntimeProbe"},
"dependencies": ["freecad-source/src/Mod/BIM/importers/importDAE.py", "freecad-source/src/Mod/BIM/importers/exportIFC.py", "freecad-source/src/Mod/BIM/importers/importJSON.py", "freecad-source/src/Mod/Draft"],
"remainingBoundaries": {"batchId": "dbb80dc113c531df7634151f", "sharedFormatScript": "Removed malformed placeholder IFC serialization and an empty conditional that prevented the shared Python script from parsing for every format. IFC now calls the desktop-registered exportIFC.export and nativeifc.ifc_import.insert. Outer pipeline owns incremental build, sync and business acceptance; no business pass claimed.", "ifc": "Restored rejection of the source-inspection IfcOpenShell stub and missing file/open capabilities before document mutation. Real backend availability, desktop importer runtime dependencies and both geometry roundtrip cases remain unresolved. Source-budget limit prevented further dependency inspection; native wiring is not acceptance.", "stp": "Reported memory access fault while inspecting after malformed STEP rejection remains unresolved; isolate this path before repeating the full batch.", "svg": "Desktop importSVG export/insert and import rollback remain in place. Runtime module availability, geometry roundtrip and recovery require outer-pipeline build and acceptance; no acceptance claimed."},
"ifcRecovery": {
"batchId": "dbb80dc113c531df7634151f",
"status": "unresolved-backend",
"firstError": "The supplied runtime diagnostic reports declarationOnly=true, hasFile=true, hasOpen=true. Callable declarations do not provide a real IfcOpenShell backend; both selected IFC operations remain blocked.",
"retainedFindings": "provided-source-index.md:37-50 records existing real-package discovery in initialization and completed dependency-directory and build-declaration checks. Adding another discovery branch or removing the stub guard does not supply the backend.",
"inspectionBoundary": "Further targeted source inspection in this batch was rejected with SCHEDULER_SOURCE_BUDGET_REACHED. No backend source, WASM binding or linkable library was located in this batch; this does not establish absence from all supplied sources.",
"nextInspection": "Resume the uncompleted IFC backend checks at the exact local locations retained in docs/current/provided-source-index.md:49, then inspect the discovered implementation and BIM link/package integration. Reuse completed checks.",
"caseIsolation": "IFC cases now return after a failed real-backend assertion and execute existing finally cleanup, avoiding downstream operations that cannot run without the backend. The failed assertion is retained; no business failure is resolved by this change.",
"validation": "Removed fixed IFC header serialization and empty-file import from the initialization shim; its read/write methods now raise the existing backend-unavailable error. Restored explicit _freecad_import_stub rejection before document creation or mutation. Real-package discovery and desktop format calls remain in place. These edits do not supply the real backend. No build, sync or business acceptance performed; outer pipeline owns those steps. Both selected IFC business IDs remain unresolved.",
"currentInspection": "Read the retained provided-source-index.md:37-50 checkpoint and current BimRuntimeProbe.cpp initialization and format handler. Existing real-package discovery remains intact. Direct directory listings of /home/mes123456/working/FreeCADWorking and /home/mes123456/working/Web_FreeCAD_Bitbybit succeeded; no recursive backend-location check completed. Targeted rg returned SCHEDULER_SOURCE_BUDGET_REACHED, not a no-match result. Resume outstanding backend checks from the retained index; do not repeat the full failing business batch without backend changes."
},
"scope": "Current-document Shape2DView projections, axis geometry and DAE mesh import with parameter variants, units, scene translation, append semantics, document isolation and rejected input; FCStd export of all active-document objects and BIM axes, edited geometry and labels, overwrite/reopen persistence, independent documents and failed-path recovery; JSON export/import roundtrip of both current-document solids with changed dimensions and placement, overwrite, append semantics, document isolation, malformed/missing input, rejected destination and recovery"
}