Repository navigation
Add IFC import and export editor plugin - #1025
jonathonbyrdziak wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 5027a9a. Configure here.
| if (existsSync(join(candidate, 'web-ifc.wasm'))) return candidate | ||
| dir = resolve(dir, '..') | ||
| } | ||
| return null |
There was a problem hiding this comment.
WASM copy loop hangs on Windows
Medium Severity
findWebIfcDir only stops when the walk reaches /. On Windows, resolve of a drive root stays on that drive root, so predev and prebuild never finish and the editor cannot start.
Reviewed by Cursor Bugbot for commit 5027a9a. Configure here.
|
Hey @jonathonbyrdziak, heads up: #1119 just landed on main and bumped the MCP SDK and |
|
Quick follow-up @jonathonbyrdziak: #1131 also just landed and touched |


Summary
Verification
git diff --checkpassed.Note
Medium Risk
Import applies large undoable scene-graph patches and depends on correct WASM hosting; export piggybacks on existing model export, but bad IFC input or converter edge cases could still corrupt or bloat the scene.
Overview
Adds
@pascal-app/plugin-ifc, an editor host panel for importing.ifcmodels and exporting the open scene as IFC4, and wires it into the editor app like other first-party plugins.Import dynamically loads
@pascal-app/ifc-converter/web-ifc(WASM served from/), converts the file to a Pascal scene graph, thencreateIfcImportOperationsremaps node/collection IDs and applies a single undoableapplySceneOperationPatchso the current scene is preserved. After import it can set building/level selection, fit the camera via newly exportedcomputeSceneBoundsXZ, and remap cross-references in the graph.Export reuses the editor’s existing
modelExport('ifc', …)hook and downloads the STEP blob from the panel UI.Host setup: editor
bootstrapregisters the plugin/panel;predev/prebuildruncopy-web-ifc-wasm.mjsto copyweb-ifcWASM intopublic/; NexttranspilePackagesincludes the new packages andweb-ifc.Reviewed by Cursor Bugbot for commit 5027a9a. Bugbot is set up for automated code reviews on this repo. Configure here.