v2.0.0-rc: Modernized core, revamped 3D visualization, and a richer set of command-line tools#975
Conversation
…ne settings and a rewritten fragment shader for Fresnel effects and additive blending.
…itecture for macOS runners.
…ture for Windows Qt installations.
… and refresh copyright year in README.
… application bundle icons.
…e GeometryInfo for surface calculations.
…odule build commands in CI workflows.
…ses and the `v2.0-dev` branch for development releases.
Member
|
I played just a little bit with the browser, looks like an awesome start! I did notice the performance issue but I assume that'll be fixed at some point |
Updated citation information for RTC-MNE and added a new reference.
The reference forward solution was generated from the full sample_audvis_raw.fif (range=0.000305176, correct Neuromag hardware range), but the test uses the truncated sample_audvis_trunc_raw.fif (range=1.0, default lost during truncation). EEG channels also have different scanNo values due to extra channels in the full raw file. Both fields were never actually compared before because the old FiffChInfo::operator== had a comma-operator bug (fixed in 1daca51) that made it only check coord_frame. This change maintains the same effective precision while properly comparing all other channel info fields (logNo, kind, cal, chpos, unit, unit_mul, coil_trans, eeg_loc, coord_frame). Also cleans up debug diagnostic output from previous debugging sessions.
Bumps [svgo](https://github.com/svg/svgo) from 3.3.2 to 3.3.3. - [Release notes](https://github.com/svg/svgo/releases) - [Commits](svg/svgo@v3.3.2...v3.3.3) --- updated-dependencies: - dependency-name: svgo dependency-version: 3.3.3 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.3.1 to 3.3.2. - [Release notes](https://github.com/cure53/DOMPurify/releases) - [Commits](cure53/DOMPurify@3.3.1...3.3.2) --- updated-dependencies: - dependency-name: dompurify dependency-version: 3.3.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ST_CH, include filename
Root cause: sample_audvis_trunc_raw.fif in mne-cpp-test-data had range=1.0 (FiffChInfo default) for all 376 channels instead of the original Neuromag values. This caused the forward solution test to fail because the reference fwd file has correct range values from the original MNE-sample-data. Fix: patched the test data raw file with correct range values from MNE-sample-data/sample_audvis_raw.fif (mne-cpp-test-data@5b167b4). Removed all [diag-range]/[diag-sizes] fprintf diagnostics.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR merges the v2.0-dev line into main, bringing the project to the v2.0 baseline: Qt6 + modern toolchain, a major 3D visualization refactor replacing legacy Qt3D usage, and an expanded set of command-line / offline tools beyond the classic GUI apps.
Major changes
1. Build & platform modernization
Update build baseline (CMake-based, C++20) and raise minimum build requirements (Qt6, modern compilers).
Centralize Qt component discovery to reduce repeated find-package warnings and streamline subproject configuration.
2. Qt3D refactor → disp3D_rhi (Qt6 RHI-based 3D renderer)
Replace the previous disp3D (Qt3D-based) library with disp3D_rhi, built on Qt6 RHI (QRhi) and compiled shader assets.
disp3D_rhi requires Qt6::GuiPrivate for QRhi headers; if unavailable, the library is skipped (explicit guard in CMake).
Applications depending on 3D inspection are conditionally built only if mne_disp3D_rhi is present.
3. Expanded application & CLI tool surface
In addition to the existing core apps (mne_scan, mne_analyze, mne_anonymize, mne_rt_server, mne_forward_solution, mne_edf2fiff, mne_dipole_fit), v2.0-dev adds/extends build targets for additional utilities:
New/added apps/tools: mne_browse, mne_inspect, mne_show_fiff, mne_compute_raw_inverse, mne_setup_mri, mne_surf2bem, mne_setup_forward_model, plus FreeSurfer-gated tools mne_watershed_bem and mne_flash_bem.
Introduce FreeSurfer detection at configure time and only build watershed/flash BEM tools when FreeSurfer is available.
Notable internal/library structure updates
Library set now includes additional components compared to main (e.g., lsl, mri, and disp3D_rhi), aligning with the new runtime + visualization and device/streaming capabilities.
Breaking / migration notes
Qt6 upgrade and updated compiler baselines are required for building main after merge.
3D rendering stack changed from Qt3D-era implementation to the new RHI-based pipeline (disp3D_rhi); downstream integrations relying on old disp3D internals may need adjustment.
Testing
CI should validate the new baseline; locally: cmake -S . -B build && cmake --build build (per updated build guidance).