v0.2.1-alpha.1
Pre-release
Pre-release
ThIDE v0.2.1-alpha.1
Alpha release. ThIDE is in active alpha development: there are known bugs, the UI is still evolving, features are tested to varying degrees, and testing on Linux and macOS has been sparse. Targets Therion v6.4.0.
This is an alpha pre-release with new capabilities across the embedded viewers, the Object Browser, structural-geology tooling, and the compiler-output workflow, plus a batch of stability fixes for background/UI-thread crashes and cross-file rename. Download the Windows installer or the Linux .deb package or .AppImage.
Full Changelog: https://github.com/apgeo/ThIDE/commits/v0.2.1-alpha.1
Highlights
- Cross-platform embedded web views — the 3D viewer and structural plots now work more reliably on Linux (WebKitGTK), with startup workarounds for blank panels, a friendly fallback when no web engine is installed, and DevTools/inspector access. Clicked
.lox/.3dmodels can open directly in the built-in 3D viewer. - Structural geology upgrades — the 3D Plot can pop out into its own dockable/floatable panel, planes gain a per-plane Type (Fault / Bedding / Joint, with type-based colouring), and the selected plane now stays highlighted across the grid, Mainline Preview, and 3D plot.
- Smarter compiler-output links — a single click routes each output link by type: source files and logs open in the editor at the reported line; generated artifacts open in the right in-app viewer or external tool, with a full right-click context menu.
- Per-tab Object Browser filtering — every tab gets its own free-text filter, and clicking a count on the Overview ▸ Quality tab drills straight into the matching rows.
- Save-before-close prompt — closing a tab (or bulk-closing tabs) with unsaved changes now prompts Save / Don't save / Cancel.
Features & improvements
Embedded 3D viewer & web views
- New cross-platform
WebViewSupportlayer: applies Linux WebKitGTK environment workarounds (DMA-BUF / compositing) at startup, probes for a missing engine so panels show a fallback instead of a dead box, and opens DevTools (WebView2 window on Windows, WebKit inspector on Linux). - New Preferences ▸ Debug section for the low-level web-view switches (DMA-BUF renderer, accelerated compositing, experimental offscreen mode, developer tools).
- Open clicked
.lox/.3dmodels in the built-in 3D viewer by default (newOpen3dInInternalViewersetting), and auto-open the project's default model as soon as the panel is shown. - Added a URL-test button to navigate the embedded engine to an arbitrary page (handy for verifying the Linux web-view workarounds).
Structural geology
- Pop the 3D Plot tab out into its own dockable/floatable panel (
StructuralPlotToolView) wrapping the same content view-model — no duplicated state. - New per-plane Type column (Fault / Bedding / Joint, free-text with suggestions) that drives per-type colouring of the plane line in the Mainline Preview.
- Selection sync across all three views (grid / preview / plot), highlighting the selected plane's disc in the plot; new context menu (Highlight in Preview / Go to Source).
- The Mainline Preview hosts its own Show Structure Planes toggle.
Object Browser & analytics
- Per-tab filtering: a shared free-text box (multi-term, matched across all visible fields) composed with an optional custom subset filter, via
BrowserTabFilter+ a reusableBrowserFilterBar. - Overview ▸ Quality drill-down: clicking a metric count surfaces the Object Browser and restricts the matching tab to that metric's rows (a labelled, clearable chip), driven by shared
DataQualityCheckspredicates so the count and the filtered rows always agree.
Build & compiler output
- Compiler-output file links now route by type on click: Therion source + logs open in the editor at the reported line; generated artifacts (
.lox/.3d→ embedded 3D viewer,.pdf→ in-app map viewer) open in the right in-app viewer per settings, or fall back to the external tool / OS default. - New right-click context menu on output links: Open · Open in Application Viewer · Open in External Application · Reveal in File Manager · Copy Path.
Editor & shell
- Prompt to save modified documents before closing a tab (covers the tab ✕, bulk close-others/all/right, and programmatic closes).
- Moved Welcome from the Help menu to the View menu (it's a view/panel).
- New compact, orientable panel window controls (full-screen / float / centre) that can stack vertically to save toolbar space; adopted in the Map Viewer and other panels.
Documentation
- Added a screenshots page (
docs/screenshots.md) and structural-geology screenshots, linked from the README.
Fixes
- Cross-file rename correctness:
- Use the active document's live (unsaved) buffer for rename spans, so a rename on a document with pending edits no longer silently drops that file's edits.
- Attribute
@-qualifiedfix/station/markreferences to the real declaring station so cross-file rename covers them.
- Off-thread / cross-thread crashes: marshal session-change and app-settings-changed events to the UI thread in the editor, 3D viewer, and build view-models (fixes "the calling thread cannot access this object" and "PlatformImpl is null" errors, and a stalled rename dialog).
- Preferences window: clamp the window and its grids to the current screen so its default size never runs off the monitor.
- File menu: close the File menu after opening a recent file or directory (the async open previously left the menu lingering).
- Localization: fixed Romanian diacritics across the UI strings.
- Semantics: NUL-join the survey-point composite key to harden the
StationsBySurveyAndPointlookup; added a regression test for splitting a connected mainline into a floating piece (TH_SEM_015).
Internal / build
- New Release workflow (
.github/workflows/release.yml): pushing av*tag builds self-contained, single-file publishes forwin-x64,linux-x64, andosx-arm64, plus native installers (Windows Setup.exe via Inno Setup, Linux.deb+ AppImage), a bundled User Guide PDF, and attaches everything to the GitHub Release. Pre-release tags (with a-suffix) are flagged as GitHub pre-releases. Addedcontents: writepermission for release publishing. - Refactored the data-quality predicates into a reusable
DataQualityCheckshelper (no behaviour change).
Requirements: the external Therion toolchain for compiling; on Linux, WebKitGTK (libwebkit2gtk-4.1-0) for the optional 3D viewer / structural plots.