v1.8.0
·
97 commits
to main
since this release
[1.8.0] - 2026-04-20
Full rewrite of the .export form in Svelte + Tailwind, first-class language support for .export files (syntax highlighting, formatter, format-on-save), and a batch of UX upgrades.
Added
- Redesigned export form — rewritten in Svelte 5 + Tailwind 4, styled with VS Code theme tokens (
--vscode-input-*,--vscode-focusBorder,--vscode-editorWarning-foreground, ...), so it looks native in every theme.- Tab icon is a blue pencil; tab title lives-updates to match the filename (falls back to
untitled). - Titles inside the form adapt to mode: "Create a new export file" vs "Edit an export file".
- New export files are pre-seeded with a sensible default:
comm+mmedinputs and anrmedoutput, filenamessimvia.comm / simvia.mmed / simvia.rmed. .exportextension locked as a visual suffix on the filename field — it can't be edited away.- Nested paths supported in the filename (
subdir/file.export); missing folders are created on save. - Unsaved drafts persist via
vscode.setState+retainContextWhenHidden, so switching tabs or reloading the panel no longer clears the form.
- Tab icon is a blue pencil; tab title lives-updates to match the filename (falls back to
- File rows — drag-to-reorder (powered by
svelte-dnd-action, theme-colored drop zones, keyboard-accessible); per-row × delete; full-width "Add input/output file" button at the end of each section.- Type dropdown is filtered by direction (inputs vs outputs) and shows a
Typeplaceholder on new rows; the file-type list is the full code_aster set (comm, mmed, rmed, mess, nom, base, mail, libr, tab, msh, dat). - Unit auto-increment scoped to the same type and max+1 (so
med: 20, 50→ next is51, not21), idempotent when re-picking the same type;nomrows are locked to unit 0; ArrowUp/Down steps integer inputs. - Name autocomplete list matches the type dropdown styling; empty rows (no type and no name) are ignored by validation and on save.
- Type dropdown is filtered by direction (inputs vs outputs) and shows a
- Validation — per-field inline error messages, a sticky footer with clickable error / warning counts that smooth-scroll to the corresponding panel.
- Blocking errors: filename required, parameters must be integers, at least one
comminput file required. - Non-blocking warnings: duplicate unit across files (listing the file names), no mesh file set, no
rmedoutput set, rename-in-edit-mode (tells the user the original file will be deleted).
- Blocking errors: filename required, parameters must be integers, at least one
.exportlanguage support — new TextMate grammar (source.export) colorsP/Fdirectives, parameter names, file types, direction flags (DvsR/RC), unit numbers, and#comments.- Document formatter for
.export— available via Format Document. On save/create the form applies the same formatter automatically:- Groups lines into
# Simulation parameters,# Input files,# Output filessections separated by blank lines. - Sorts F lines within each direction by a canonical type priority (
comm, mmed, rmed, mess, nom, base, mail, libr, tab, msh, dat). - Keeps standalone
#comments attached to the line they precede. - Emits a three-line header at the top crediting VS Code Aster and Simvia; re-saving is idempotent (no stacked headers).
- Groups lines into
- Dedicated pencil icon (
media/images/icone-edit.svg) for the "Edit export file" command, replacing the plain$(book)codicon. - Extension now activates on
onLanguage:export, so opening a.exportfile registers the formatter without any prior command run. - Refreshed Simvia logo (new SVG), separate light/dark variants for both Simvia and code_aster logos in the form header.
Changed
- Editing a file and changing its name now renames the file on disk (old file is deleted after the new one is written). A warning panel previews the rename before the user saves.
- When writing a file, the output is always formatted (P/F grouping, section headers, shoutout) — so files stay clean across multiple save cycles.
Fixed
- Loading an existing
.exportinto the form (e.g. after a tab switch) no longer clobbers the pre-filled data with the seeded default. - Removing the last row no longer leaves stale autocomplete suggestions keyed to the dead row.
- Missing parent directories no longer cause save to fail silently when the filename contains a path separator.
Removed
- The legacy vanilla HTML/CSS/JS export form (
webviews/export/export.{html,css,js}) and its hardcoded blue-on-light styling. - Unused media assets:
media/images/aster.png,media/icons/3d.svg,media/icons/3d_light.svg.
What's Changed
- Feat/svelte export webview by @ulysse-bouchet-simvia in #25
Full Changelog: v1.7.1...v1.8.0