113 lines
4.9 KiB
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."
|
|
}
|