Releases: simvia-tech/vs-code-aster
v1.9.0
[1.9.0] - 2026-04-21
Volume and edge groups now appear in the viewer alongside face and node groups, a new "Groups" settings tab exposes per-kind display tweaks, the bundled vtk.js is replaced by the tree-shaken npm package, and an optional animated background adds a cosmetic touch.
Added
- Volume groups —
med2obj.pynow computes the skin of every volume group in a 3D.medmesh and writes it into the.objas a dedicated group. The viewer renders them as their own category with a filled isometric cube icon, toggle-able independently from face groups. - Edge groups — level -2 groups (1D named cells) are extracted too and rendered as lines via a new
EdgeActorCreator. Line width and depth offset (to avoid z-fighting with the skin) are user-controllable. - Groups settings tab — new tab in the viewer Settings popup covering:
- Edge-group thickness slider (1–10 px)
- Edge-group depth-offset toggle
- Node-group point-size multiplier (0.25×–4×)
- Sidebar sort order (natural / by cell count)
- Bucket groups by kind (on by default; off merges all four kinds into a single list sorted by the same order)
- Group-kinds legend in the help popup's Groups tab, showing each icon with a short description.
- Edge threshold multiplier is now persisted across sessions via
vs-code-aster.viewer.edgeThresholdMultiplier(was previously editable but lost on reopen). - Dream background — optional cosmetic viewer setting (
vs-code-aster.viewer.dreamBackground) that drifts four EDF orange/blue blobs behind the mesh via a WebGL fragment shader. Theme-aware: blob intensity adapts to light vs dark themes, peak intensity is capped so overlapping blobs never fully replace the theme color. Does not affect mesh lighting.
Changed
- vtk.js migrated to
@kitware/vtk.jsnpm package — the 2.6 MB bundled script is gone, replaced by tree-shaken ES-module imports and real TypeScript types. Opens the door to regular version upgrades. - Settings popup: the "Edges" tab is renamed to "Mesh edges" and its copy rewritten to distinguish the wireframe edges drawn on each cell from the new edge groups. Tab content now scrolls when it overflows instead of clipping.
- Sidebar groups now bucket volumes, faces, edges, and nodes in that order, each with its own icon.
Fixed
- Mesh edge colors now repaint immediately on theme switch instead of waiting for the next camera move.
- Translucent meshes (highlighted parent behind a selected sub-group) no longer wash out on light themes — vtk.js 35's Order-Independent Transparency pass is bypassed in favor of plain SRC_ALPHA blending.
.objfiles cached under.vs-code-aster/mesh_cache/from older extension versions are invalidated when the converter changes (via the bumpedmed2obj-version: 2header).- Screenshots now work again after the vtk.js migration — the capture path switched to vtk.js's
captureNextImageAPI (which doesn't depend onpreserveDrawingBuffer), and the dream background is composited behind the mesh when enabled. The screenshot button's hover highlight is also stripped from the full-viewer capture so it no longer bakes into the saved image.
What's Changed
- Feat/volumic and edges groups by @ulysse-bouchet-simvia in #27
Full Changelog: v1.8.1...v1.9.0
v1.8.1
[1.8.1] - 2026-04-20
Follow-up polish on the .export editor form: smarter autocomplete suggestions and the saved file now opens automatically after create/save.
Added
- Type-aware autocomplete — file name suggestions in the export form are now filtered by the selected F-line type so irrelevant files are hidden:
mmed/rmedrows accept.med,.mmed,.rmed, and any custom extension registered invs-code-aster.medFileExtensions(so user-added MED extensions like.71show up).commrows accept.com*(covers.comm,.com0,.com1, ...).mess,msh, anddatrows require a literal extension match.- Types without a conventional extension (
mail,base,libr,tab,nom) still accept any file.
- Autocomplete on output rows — output file name fields now use the same autocomplete dropdown as inputs, making it easy to reuse existing file names for outputs.
- Reveal on save — creating or saving an
.exportfile from the form now opens the file in a text editor (or focuses the existing tab if it's already open), so you immediately see the formatted result. Stale tabs left over from a rename are closed automatically.
Fixed
- The hidden
.vs-code-aster/folder no longer appears in the export form's autocomplete suggestions.
What's Changed
- Feat/export form qol improvements by @ulysse-bouchet-simvia in #26
Full Changelog: v1.8.0...v1.8.1
v1.8.0
[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
v1.7.1
[1.7.1] - 2026-04-17
Centralize extension-generated files under a single .vs-code-aster/ folder per project, with timestamped run logs and automatic migration from legacy locations.
Added
- Project-local
.vs-code-aster/folder grouping all extension-generated files:mesh_cache/— converted.objfiles (previously.visu_data/)screenshots/— PNGs saved from the viewer's screenshot button (previously next to source files)run_logs/— one timestamped log per code_aster run (previously a single overwritten.vscode-aster-run.log)
- New
vs-code-aster.maxRunLogssetting (default10) to cap run-log retention; oldest logs are pruned when a new run starts med2obj-versionheader in generated.objfiles: the extension now detects stale caches from older converter versions and regenerates them automatically- Automatic migration of legacy
.visu_data/and.vscode-aster-run.logon first use, with info notifications so users know where files moved
What's Changed
- Feat/extension generated files by @ulysse-bouchet-simvia in #24
Full Changelog: v1.7.0...v1.7.1
v1.7.0
[1.7.0] - 2026-04-16
New viewer toolbar with bounding box, wireframe, and screenshot tools.
Added
- Top toolbar in the mesh viewer with three new tools:
- Bounding box: toggleable wireframe cube with colored axes (X red, Y green, Z blue), corner dots, a "0" origin marker, and dimension labels anchored in 3D
- Wireframe mode: toggle between solid surface and wireframe rendering to inspect mesh density
- Screenshot: left click saves the 3D view as PNG next to the source file and copies to clipboard; right click captures the full viewer including the sidebar
- Toolbar button tooltips using the same inline hover pattern as the rest of the UI
- Toolbar tab in the viewer help popup documenting the three new tools
- Updated README with diagnostics, terminal reuse, direct
.medopening, and toolbar features
Fixed
- Popup z-order: help and settings popups no longer render behind the sidebar
- Sidebar tooltip z-order: filter/clear tooltips no longer hidden behind the top toolbar
What's Changed
- Feat/visualize bounding boxes by @ulysse-bouchet-simvia in #23
Full Changelog: v1.6.1...v1.7.0
v1.6.1
[1.6.1] - 2026-04-15
Standalone mesh visualization: click any .med file to open the viewer directly, even without a .comm/.export pair.
Added
- Click a
.med/.mmed/.rmedfile in the explorer to open it straight in the mesh viewer, via a custom editor registered withpriority: "default"that bypasses the "file is binary" warning - Automatic MED detection: when a tab opens a file whose first bytes match the HDF5 signature, a notification offers to register the extension (e.g.
.71) and open it in the viewer in one click - "Open as MED mesh" action exposed as an editor-title button (on auto-detected MED files) and as a right-click entry in the explorer
- Tabs for files whose extensions are in
vs-code-aster.medFileExtensionsare auto-rerouted to the mesh viewer, no window reload required after registering a new extension - The mesh viewer tab now carries the shared orange cube icon (same as
.medfiles in the file tree) - Inline error state in the viewer: when
.med→.objconversion fails (e.g.medcouplingnot installed), the reason is shown in the tab instead of an indefinite loading screen
What's Changed
- Feat/visualize standalone meshes by @ulysse-bouchet-simvia in #22
Full Changelog: v1.6.0...v1.6.1
v1.6.0
[1.6.0] - 2026-04-15
Run workflow overhaul: terminal reuse, automatic diagnostics in the Problems panel, and refreshed toolbar icons.
Added
- Run diagnostics:
<A>warnings and<E>/<F>errors from code_aster, Python tracebacks,SyntaxErrors, fatal errors (e.g. segfaults), and MED/Fortran errors now surface automatically in the VS Code Problems panel — noF messentry required in the.export - Diagnostics attached to the originating
.comm/.com1line when possible (via CMDTAG markers and Python tracebacks), and cleared between runs - The existing
code-aster runnerterminal is now reused across runs instead of spawning a new one each time - Colored toolbar icons: blue rocket for the run button (shared with the
.exportfile icon) and orange eye for the mesh viewer button (matches the.medpalette)
What's Changed
- Feat/improve run workflow by @ulysse-bouchet-simvia in #20
Full Changelog: v1.5.4...v1.6.0
v1.5.4
[1.5.4] - 2026-04-15
File icon improvements and language support for .export and MED files.
Added
- Dedicated file icons for
.exportfiles (blue rocket) and.med/.mmed/.rmedfiles (orange cube) - Refreshed code_aster logo, now bundled with its SVG source
vs-code-aster.medFileExtensionssetting to register arbitrary extensions (e.g..21,.71) as MED files, which code_aster writes under the I/O unit number
What's Changed
- [1.5.4] Add icons for .export and .med files by @ulysse-bouchet-simvia in #19
Full Changelog: v1.5.3...v1.5.4
v1.5.3
[1.5.3] - 2026-03-26
Comment toggle support and Windows debugging improvements.
Added
- Language configuration and keybindings for toggling line comments in
.commfiles - Support for attaching to code_aster embedded Python on Windows installations
What's Changed
- Syntax and windows improve by @basile-simvia in #18
Full Changelog: v1.5.2...v1.5.3
v1.5.2
[1.5.2] - 2026-03-23
Various fixes and improvements.
Added
- Export form now auto-increments unit numbers to avoid duplicates when adding new files
- Files named
export(without extension) are now detected as export files
Fixed
- Mesh viewer now correctly resolves .med file paths containing subdirectories (e.g.
Mesh/mesh.med) relative to the .export file location (#13) - Selecting text no longer resets manually hidden objects in the mesh viewer (#14)
- Fixed issues when two meshes share groups with the same name (#15)
- Fixed error in mesh viewer (#16)
- Reduced extension package size by excluding unnecessary files
What's Changed
- [1.5.2] Various fixes and improvements by @ulysse-bouchet-simvia in #17
Full Changelog: v1.5.1...v1.5.2