Conversation
There was a problem hiding this comment.
Pull request overview
This PR focuses on performance/efficiency improvements across the renderer and main process, plus build pipeline adjustments (notably around libOpenCOR) and routine dependency/version bumps.
Changes:
- Optimises interactive simulation plotting/data preparation and graph export/rendering paths in the renderer.
- Adds build automation for the native libOpenCOR module and wires it into build/dev/release scripts and workflows.
- Refactors a few main-process routines (Linux desktop integration + recent files) and reduces redundant settings writes.
Reviewed changes
Copilot reviewed 19 out of 21 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/renderer/src/components/widgets/GraphPanelWidget.vue | Minor loop/object-spread optimisations in CSV export, theme generation, and trace creation. |
| src/renderer/src/components/views/SimulationExperimentView.vue | Reworks interactive plotting data pipeline and expression evaluation for performance. |
| src/renderer/src/components/OpenCOR.vue | Prevents post-initialisation work from running more than once. |
| src/renderer/src/common/settings.ts | Skips saving settings when unchanged by caching prior serialisation. |
| src/renderer/src/common/initialisation.ts | Bumps libOpenCOR WASM loader URL version. |
| src/renderer/src/common/common.ts | Caches computed OS name to avoid repeated UA parsing. |
| src/renderer/scripts/version.js | Adds Bun shebang for script execution. |
| src/renderer/scripts/libopencor.js | New Bun script to build native libOpenCOR module on demand. |
| src/renderer/scripts/generate.version.js | Adds Bun shebang for script execution. |
| src/renderer/scripts/clean.js | Adds Bun shebang for script execution. |
| src/renderer/scripts/archive.web.js | Adds Bun shebang for script execution. |
| src/renderer/package.json | Version/dependency bumps in renderer package. |
| src/renderer/bun.lock | Lockfile updates to match renderer dependency bumps. |
| src/main/index.ts | Refactors Linux desktop integration to be async, idempotent, and less work on repeat runs. |
| src/main/MainWindow.ts | Optimises recent-file list updates and reopen sequencing logic. |
| package.json | Version bump + build/dev/start scripts now ensure libOpenCOR native module is built first. |
| bun.lock | Lockfile updates to match root dependency bumps. |
| CMakeLists.txt | Updates libOpenCOR project version. |
| BUILD.md | Updates build instructions to reflect new automated libOpenCOR build step. |
| .github/workflows/ci.yml | Removes explicit libOpenCOR build step (now handled by bun run build). |
| .github/workflows/cd.yml | Removes explicit libOpenCOR build step (now handled by bun run build). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
a81a187 to
2a0f3b6
Compare
…build it, if needed.
This should never happen, but it is a safeguard against HMR or OpenCOR being torn down and recreated.
2a0f3b6 to
81f8d04
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 19 out of 21 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 19 out of 21 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
81f8d04 to
b3164d4
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 24 out of 26 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
b3164d4 to
09ce260
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 24 out of 26 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.