FHI-vibes output support and Output Analyzer improvements
Output Analyzer — structure viewer
- Animation controls for relaxation and MD trajectories: play/pause, previous/next frame, frame counter
- Expand/collapse modal for the structure viewer; atom hover and drag work correctly after toggling
- Initial structure shown even when the run terminated prematurely
- Disclaimer text displayed when the output file did not terminate regularly, with the parsed error block
Output Analyzer — parsing
- Retrofit to the new pyfhiaims-based RootParser; old normal-parser path removed
- Fix crash on output files with no species defined (aims.no_species.out)
- Fix errorRe regex that caused incorrect error detection
- Parse FHI-aims warnings and surface them in a dedicated section
- Fix non-converged MD_light output parsing (#107 (closed))
- Chemical formula atom counts rendered as subscript
Spectroscopy dashboard (new)
- Detects raman_spectrum.dat and ir_spectrum.dat in the uploaded folder and shows a Spectroscopy section
- Spectra are Gaussian-broadened (σ = 5 cm⁻¹, discrete convolution) and max-normalised before display
- Y-axis labelled Raman intensity (norm.) or IR intensity (norm.) depending on data
- Per-spectrum line colour picker and line thickness slider in the controls panel
- InteractiveGraph extended with a lineShape style option (used by other plotters via addLineGroup)
Control Generator — bug fix
- FormElement.isExplicitlyIncluded() now respects field visibility; previously, fields in hidden sections (e.g. the Raman section when IR spectroscopy was selected) were still included in the generated control.in / vibes.in, producing spurious DFPT dielectric keywords