Skip to content

Repository files navigation

ThIDE

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.

.NET UI Platforms License Therion

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 therion binary. ThIDE is not affiliated with or endorsed by the Therion project.


Highlights

  • 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:line diagnostics — 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 a therion-mcp server 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.


Getting started

Prerequisites

  • .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).

Build

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 Release

Run the app

dotnet run --project ThIDE

Test

dotnet test ThIDE.sln -m:1 -c Release

The CI matrix builds and tests on Windows, Linux, and macOS — see .github/workflows/ci.yml.


Documentation

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.


Contributing

Contributions are welcome — just open a pull request. See CONTRIBUTING.md.


License

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.


Acknowledgements

About

A Therion IDE / workbench for cave-survey projects

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages