A cross-platform desktop workbench / IDE for Therion cave-survey projects — modern editor tooling, a cross-file semantic model, survey analytics, syntax checking / highlighting for the .th / .th2 / .thconfig / .xvi file formats, Therion compile integration, and 3D view of resulted models. Download from releases page.
ThIDE is an independent IDE that understands the Therion languages and drives the Therion toolchain — it does not replace it. The core libraries are a C# implementation of the Therion file formats; the actual cave compilation is delegated to your installed
therionbinary. ThIDE is not affiliated with or endorsed by the Therion project.
- Semantic editor for
.th,.th2,.thconfig, and.xvi— syntax highlighting, context-aware autocomplete, hover docs, folding, diagnostic squiggles, and an overview ruler, built on AvaloniaEdit. - Cross-file logical model with go-to-definition, find-references, and rename across an entire project.
- Build & run the real Therion toolchain with streaming output, cancellation, and clickable
file:linediagnostics — then open results in Loch / Aven or the built-in viewers. - Map / scrap editing of .th2 files is provided by integration of Mapiah.
- Live 2D centreline preview and an embedded 3D model viewer (CaveView.js) with station-pick → jump-to-source.
- Survey analytics — length breakdowns, vertical/horizontal extents, team rollups, fixed points, data-quality, and exploration leads.
- Structural geology — turn shots taken along a fault, bedding plane, or joint into strike / dip measurements: detect them from station names, comments, or flags, fit planes with an RMS quality figure, optionally correct to true north, and plot the planes as discs in 3D.
- Import / export & GIS — Survex, Compass, DEM, and GPX import; entrance/fix export to KML / GeoJSON / GPX / CSV.
- Extensible & scriptable — a headless CLI, an editor-agnostic LSP server, script hooks, and a semantic-rule plugin loader.
- Cross-platform (Windows / macOS / Linux), localized in English and Romanian (additions are welcome).
⚠️ Blender animation renders (experimental — work in progress) — turn a compiled model into a fly-around video, helical descent, flythrough, or documentation stills, rendered headlessly by your own Blender install.⚠️ AI assistants over MCP (experimental — work in progress) — a built-in Assistant panel driven by a local model, and atherion-mcpserver that lets an assistant answer questions about your project without you pasting files into a chat.
A complete feature reference: docs/features.md. A quick view in: docs/screenshots.md.
The application is in an alpha development stage: there are known bugs to be fixed, UI evolves, features are tested to varying degrees, and testing on Linux and macOS was sparse.
- .NET 8 SDK (
8.0.x). - A platform web engine for the optional 3D viewer: WebView2 (bundled on Windows 11 / modern Edge), WKWebView (built into macOS), or WebKitGTK on Linux (
apt install libwebkit2gtk-4.1-0). - The external Therion toolchain for compiling (see External tools).
git clone <your-fork-url> ThIDE
cd ThIDE
dotnet restore ThIDE.sln
# -m:1 is required: the full solution OOMs MSBuild under parallel builds.
dotnet build ThIDE.sln -m:1 -c Releasedotnet run --project ThIDEdotnet test ThIDE.sln -m:1 -c ReleaseThe CI matrix builds and tests on Windows, Linux, and macOS — see .github/workflows/ci.yml.
Full documentation hosted in the docs/ folder:
- User Guide — task-oriented manual for cavers/end users.
- Features — the complete feature reference.
- Architecture — layer design, project layout, and reusing the libraries.
- Usage — external tools, the command-line tools, and configuration & data locations.
Topic guides: 3D viewer · Diagnostics · LSP · Plugins · Release — full index in docs/README.md.
Contributions are welcome — just open a pull request. See CONTRIBUTING.md.
ThIDE is dual-licensed: Reusable libraries (src/**) — MPL-2.0; The IDE Application (ThIDE/**) — GPL-3.0-or-later . Full texts live in each project's LICENSE file (libraries) and the repository-root LICENSE (app). Further notes on licensing in LICENSING.md.
- The Therion project — the cave-surveying system this tool targets.
- The Survex project, survex.com .
- CaveView.js — the embedded 3D model renderer.
- Mapiah project, flathub — the .th2 visual map / scrap editor.
- Avalonia, AvaloniaEdit, Dock.Avalonia, CommunityToolkit.Mvvm, Superpower, Svg.Skia, and Docnet — some of the libraries ThIDE is built on.