94 transform fmi to cascara#104
Conversation
94 transform FMI to CASCaRA
- incremented version to 0.2.6 - removed 7 compile warnings
There was a problem hiding this comment.
Pull request overview
Adds first-class FMI (FMU / modelDescription.xml) import support by introducing a new importer that unzips .fmu, transforms FMI XML to a self-contained CASCaRA package via a Saxon-JS SEF stylesheet, and exposes it through a new UI import dialog. Also introduces unit tests and sample FMI data, and updates dependencies/versioning accordingly.
Changes:
- Implement FMI importer (
FmiImporter) including.fmuZIP extraction and XSLT-based transformation to CAS. - Add FMI import UI plugin/component and a comprehensive unit test suite + reference FMI test assets.
- Add
readFileAsBytesplatform abstraction and update dependencies/version metadata (incl.fflate).
Reviewed changes
Copilot reviewed 13 out of 21 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/unit/import-fmi.spec.ts | New unit tests validating FMI/FMU import behavior and mapping expectations. |
| tests/data/FMI/plant_Euler_0_001.modelDescription.xml | Reference FMI 2.0 model description used by tests. |
| src/plugins/import/xml/import-xml.vue | Remove unused HTML export imports. |
| src/plugins/import/reqif/import-reqif.vue | Remove unused HTML export imports. |
| src/plugins/import/jsonld/import-jsonld.vue | Remove unused HTML export imports. |
| src/plugins/import/fmi/mount-import-fmi.ts | Register new FMI import component as a Vue plugin. |
| src/plugins/import/fmi/import-fmi.vue | New FMI import dialog wiring UI to FmiImporter and PackageCache. |
| src/components/PageDocument.vue | Minor logging-related comment changes (no functional impact). |
| src/common/lib/platform-independence.ts | Add readFileAsBytes to support binary reads (FMU ZIP). |
| src/common/import/fmi/import-fmi.ts | New FMI importer (extension validation, unzip, transform, schema check, package instantiation). |
| src/build-info.ts | Regenerated build metadata (name/version/branch/commit). |
| public/assets/xslt/FMI-to-CAS.xsl | New FMI-to-CAS transformation stylesheet source. |
| package.json | Add fflate dependency; bump package name/version. |
| package-lock.json | Lockfile updates for new dependency/version and transitive refresh. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
odungern
left a comment
There was a problem hiding this comment.
Great work, fitting into the software architecture and very elaborate stylesheet for XSLT. Various test files are passing - eager to see how it works with customer data !
|
Do merge and deploy for public use! |
odungern
left a comment
There was a problem hiding this comment.
.. did I make a mistake? Reviewed it before and the merge can be completed.
No description provided.