feat: establish facade-first runtime boundary

This commit is contained in:
2026-08-02 02:39:37 -04:00
parent 3978833c5c
commit df0053cfe5
16 changed files with 1004 additions and 34 deletions

View File

@@ -0,0 +1,24 @@
{
"schemaVersion": 1,
"freecadBaseline": "freecad-1.1.1",
"workbenches": {
"Part Design": { "status": "ui-prototype", "level": "read-only", "commands": ["create-body", "create-sketch", "pad", "pocket", "fillet", "chamfer", "linear-pattern", "polar-pattern"] },
"Part": { "status": "ui-prototype", "level": "read-only", "commands": ["primitive", "union", "cut", "intersection", "check-shape"] },
"Sketcher": { "status": "ui-prototype", "level": "read-only", "commands": ["new-sketch", "line", "arc", "circle", "rectangle", "constrain-horizontal", "constrain-vertical"] },
"Draft": { "status": "ui-prototype", "level": "read-only", "commands": ["working-plane", "snap-settings", "draft-line", "draft-wire", "move", "rotate"] },
"TechDraw": { "status": "ui-prototype", "level": "read-only", "commands": ["new-page", "view-part", "section-view", "dimension", "annotation"] },
"Spreadsheet": { "status": "ui-prototype", "level": "read-only", "commands": ["new-sheet", "set-alias", "expression", "bind-property"] },
"Assembly": { "status": "ui-prototype", "level": "read-only", "commands": ["insert-component", "coincident", "concentric", "distance", "interference"] },
"BIM": { "status": "ui-manifest", "level": "unsupported", "commands": ["wall", "structure", "window", "ifc-export"] },
"CAM": { "status": "ui-manifest", "level": "unsupported", "commands": ["new-job", "stock", "profile-path", "simulate", "post-process"] },
"FEM": { "status": "ui-manifest", "level": "unsupported", "commands": ["new-analysis", "material", "mesh", "solve", "results"] },
"Mesh": { "status": "ui-prototype", "level": "read-only", "commands": ["mesh-import", "analyze-mesh", "repair-mesh", "fill-holes", "mesh-export"] },
"Surface": { "status": "ui-manifest", "level": "unsupported", "commands": ["bspline", "bezier", "fill-surface", "loft-surface", "trim-surface"] },
"Inspection": { "status": "ui-manifest", "level": "unsupported", "commands": ["measure-distance", "measure-angle", "measure-area", "section", "check-dependencies"] }
},
"rules": [
"UI status does not imply geometry or file compatibility.",
"Every implementation must update this matrix before claiming support.",
"Unsupported commands remain visible only when the workbench manifest exposes an explicit reason."
]
}

View File

@@ -0,0 +1,10 @@
{
"baselineId": "freecad-1.1.1",
"freecadVersion": "1.1.1",
"sourceRef": "FreeCAD-1.1.1",
"sourceUrl": "https://github.com/FreeCAD/FreeCAD/releases/tag/1.1.1",
"uiContract": "FreeCAD official desktop UI and Developers Handbook",
"compatibilityLevels": ["exact", "compatible", "read-only", "proxy", "unsupported"],
"status": "baseline-pending-source-verification",
"notes": "The exact source commit and build flags must be recorded by P0-01 before geometry implementation."
}

View File

@@ -0,0 +1,10 @@
{
"baselineId": "bitbybit-web-cad-runtime-0.1",
"entrypoint": "BitBybitWebCadFacade",
"frontendFramework": "React 18 + Vite 6 + TypeScript 5",
"geometry": { "provider": "BitBybit internal adapter", "status": "planned" },
"viewport": { "provider": "Three.js internal adapter", "package": "three", "version": "0.185.1", "baseline": "WebGL2", "status": "adapter-skeleton" },
"persistence": { "database": "SQLite WASM", "filesystem": "OPFS", "writer": "single worker", "status": "planned" },
"targetBrowsers": "Capability matrix to be locked in P0-02",
"status": "contract-first-prototype"
}