-
Notifications
You must be signed in to change notification settings - Fork 4
Simulation Experiment view: allow to download the view a COMBINE archive #375
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…rty to a proper prop.
We don't currently distinguish the two of them, so we must keep them in sync in case another tool does distinguish them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Adds COMBINE/OMEX export support for Simulation Experiment interactive mode by exposing the missing SED-ML/model-file APIs and packaging the model + SED-ML + UI JSON into a downloadable zip.
Changes:
- Expose additional libOpenCOR SED-ML APIs to the renderer (serialise document, get model file path, set initial time).
- Add COMBINE archive export in the Simulation Experiment view (JSZip) and adjust related UI/settings wiring.
- Centralize filename extraction into
common.fileName()and update file-manager typings/utilities.
Reviewed changes
Copilot reviewed 15 out of 17 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/renderer/src/libopencor/src/sed.h | Declares new native SED-ML bindings (serialise, model file path, initial time setter). |
| src/renderer/src/libopencor/src/sed.cpp | Implements the new native bindings. |
| src/renderer/src/libopencor/src/main.cpp | Exports the new native bindings from the N-API module. |
| src/renderer/src/libopencor/locSedApi.ts | Adds TS wrappers for document serialisation, model file retrieval, and initial time setter. |
| src/renderer/src/libopencor/locFileApi.ts | Adds fileManager.file(path) lookup and updates WASM file typings. |
| src/renderer/src/libopencor/locApi.ts | Extends the C++ API surface typings for new SED-ML functions. |
| src/renderer/src/components/widgets/InputWidget.vue | Refactors scalar input handling to bind directly to the model value. |
| src/renderer/src/components/views/SimulationExperimentView.vue | Adds “Export COMBINE archive” action and generates OMEX content via JSZip. |
| src/renderer/src/components/propertyEditors/SimulationPropertyEditor.vue | Ensures initial time is updated alongside output start time. |
| src/renderer/src/components/dialogs/SimulationExperimentViewSettingsDialog.vue | Removes JSON export button and passes VOI unit as a prop for labels. |
| src/renderer/src/components/ContentsComponent.vue | Uses shared common.fileName() helper. |
| src/renderer/src/common/common.ts | Introduces fileName(filePath) utility. |
| src/renderer/package.json | Bumps version and adds jszip dependency. |
| src/renderer/bun.lock | Locks jszip and transitive dependencies. |
| src/preload/index.ts | Exposes new native SED-ML APIs through the Electron preload bridge. |
| package.json | Bumps version, adds jszip, and updates Electron version. |
| bun.lock | Locks updated Electron and jszip dependencies. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Fixes #369.