Files
FreeCADWasmDev/docs/current/business-acceptance-supplement.json

113 lines
4.9 KiB
JSON

{
"schema": "freecad-web-business-supplement/v1",
"authorization": "2026-09-16: complete the remaining 1342 requirements and complete IFC semantic export unattended.",
"records": [
{
"id": "business-format:BIM:semantic-export:.ifc",
"module": "BIM",
"command": "bim.formatWorkflow",
"category": "format",
"acceptanceRequired": true,
"sourcePath": "freecad-source/src/WebAssembly/FreeCADCoreProbe/IfcOpenShellExport.cpp",
"sourceLine": 39,
"contractDocument": "docs/current/IFC_SEMANTIC_EXPORT_CONTRACT.md",
"independentVerification": [
"node",
"tools/verify_ifc_semantic_export.mjs"
],
"requiredProofAreas": [
"product_classes",
"stable_global_ids",
"spatial_hierarchy",
"placements_units",
"typed_property_sets",
"quantities",
"materials",
"classifications",
"geometry_property_edits",
"added_deleted_objects",
"independent_ifc_input",
"native_bim_authoring",
"failure_atomicity"
],
"requiredBehavior": [
"Preserve IFC product classes and stable GlobalIds instead of converting every object to a proxy.",
"Preserve project/site/building/storey containment, decomposition and placements with correct units.",
"Preserve typed property sets, quantities, material associations and classifications represented by the supported FreeCAD BIM objects.",
"Export edited geometry and properties, preserve unchanged source IFC entities/relationships when round-tripping imported documents, and handle added/deleted objects.",
"Validate real output using the upstream IFC parser and native geometry; include independent local IFC fixtures and newly authored FreeCAD BIM documents.",
"Reject unsupported semantic data explicitly, preserve the previous output on failure, and retain source documents, transactions and identity."
],
"route": {
"module": "BIM",
"command": "bim.formatWorkflow",
"transport": "native-format"
}
},
{
"id": "product:desktop-workspace-parity",
"module": "Web",
"command": "Desktop-style integrated primary workspace",
"category": "product",
"acceptanceRequired": true,
"sourcePath": "web/src/project-shell.tsx",
"sourceLine": 1,
"contractDocument": "docs/current/DESKTOP_WEB_UI_CONTRACT.md",
"requiredProofAreas": [
"primary_entry",
"menus_toolbars",
"tree_properties_selection",
"task_layout",
"resize_keyboard"
],
"requiredBehavior": [
"Default primary entry integrates application menus, active workbench toolbar, document tabs, tree, properties, task area and native viewport.",
"Ordinary users operate real document commands without raw JSON or developer recovery controls. Reuse mounted components; do not create an iframe shell."
]
},
{
"id": "product:cross-workbench-document-editing",
"module": "Web",
"command": "Current-document Sketcher to PartDesign workflow",
"category": "product",
"acceptanceRequired": true,
"sourcePath": "web/src/partdesign-workspace.tsx",
"sourceLine": 1,
"contractDocument": "docs/current/DESKTOP_WEB_UI_CONTRACT.md",
"requiredProofAreas": [
"active_document_identity",
"live_sketch_feature_recompute",
"cross_workbench_history",
"fcstd_opfs_roundtrip",
"rejection_isolation"
],
"requiredBehavior": [
"Create and edit a constrained sketch and a dependent PartDesign feature in the current user document, then switch workbenches without losing unsaved state or native identity.",
"Save real FCStd through OPFS, reload, reopen and edit again. Preserve history and unrelated documents."
]
},
{
"id": "product:desktop-task-interaction-parity",
"module": "Web",
"command": "Primary workspace modeling task interactions",
"category": "product",
"acceptanceRequired": true,
"sourcePath": "web/src/workbench-shell.tsx",
"sourceLine": 1,
"contractDocument": "docs/current/DESKTOP_WEB_UI_CONTRACT.md",
"requiredProofAreas": [
"context_selection",
"edit_accept_cancel",
"undo_redo",
"validation_recovery",
"primary_workspace_controls"
],
"requiredBehavior": [
"Drive the core Part/Sketcher/PartDesign workflow through primary workspace controls, model/viewport selection and contextual parameter panels.",
"Accept/cancel, undo/redo and invalid input recovery must preserve native document semantics without JSON, console commands or diagnostic-page navigation."
]
}
],
"additionalAuthorization": "2026-09-18: complete desktop FreeCAD functionality and UI; add explicitly missing integrated-workspace requirements without removing existing scope."
}