Skip to content

94 transform fmi to cascara#104

Merged
odungern merged 16 commits into
devfrom
94-transform-fmi-to-cascara
Jun 12, 2026
Merged

94 transform fmi to cascara#104
odungern merged 16 commits into
devfrom
94-transform-fmi-to-cascara

Conversation

@raks0009

Copy link
Copy Markdown
Contributor

No description provided.

@raks0009 raks0009 requested a review from odungern June 11, 2026 20:59
- incremented version to 0.2.6
- removed 7 compile warnings

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 .fmu ZIP extraction and XSLT-based transformation to CAS.
  • Add FMI import UI plugin/component and a comprehensive unit test suite + reference FMI test assets.
  • Add readFileAsBytes platform 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.

Comment thread src/common/lib/platform-independence.ts
Comment thread src/common/lib/platform-independence.ts
Comment thread src/common/lib/platform-independence.ts
odungern
odungern previously approved these changes Jun 12, 2026

@odungern odungern left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 !

@odungern

Copy link
Copy Markdown
Contributor

Do merge and deploy for public use!

@raks0009 raks0009 closed this Jun 12, 2026
@raks0009 raks0009 reopened this Jun 12, 2026
@raks0009 raks0009 requested a review from odungern June 12, 2026 12:55

@odungern odungern left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.. did I make a mistake? Reviewed it before and the merge can be completed.

@odungern odungern merged commit 9e5d380 into dev Jun 12, 2026
3 checks passed
@raks0009 raks0009 mentioned this pull request Jun 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants