v0.3.0-alpha.1
Pre-releaseThIDE v0.3.0-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 focused on structural geology visualization enhancements and expanded Model Context Protocol (MCP) integration, including a native stereonet, camera-synced stereonet insets, pop-out panels, and AI-assisted workflows via headless and in-app MCP servers. Download the Windows installer or the Linux .deb package or .AppImage.
Requirements: the external Therion toolchain for compiling; on Linux, WebKitGTK (libwebkit2gtk-4.1-0) for the optional 3D viewer / structural plots. For the MCP server and Assistant: a local OpenAI-compatible endpoint (LM Studio, Ollama) or Claude.
Full Changelog: https://github.com/apgeo/ThIDE/commits/v0.3.0-alpha.1
Downloads
| Platform | Download |
|---|---|
| Windows — installer | ThIDE-Setup-0.3.0-alpha.1.exe |
| Windows — portable (.zip) | ThIDE-win-x64.zip |
| Linux — Debian/Ubuntu (.deb) | thide_0.3.0-alpha.1_amd64.deb |
| Linux — AppImage | ThIDE-0.3.0-alpha.1-x86_64.AppImage |
| Linux — portable (.tar.gz) | ThIDE-linux-x64.tar.gz |
| macOS (Apple Silicon) — portable | ThIDE-osx-arm64.tar.gz |
| User Guide (PDF) | ThIDE-User-Guide.pdf |
Self-contained builds — no system .NET runtime required. The full asset list is in the Assets section below.
Highlights
- Native stereonet projections — new Wulff/Schmidt equal-angle and equal-area lower-hemisphere stereonet rendering with graticule, poles/measurements/grid/labels/white-background toggles, and PNG export, natively rendered in C# (no WebView).
- Stereonet inset in the 3D plot — a camera-following bottom-left corner viewport mirrors the main 3D viewer's orientation in real time, rendering each visible plane's great circle and pole synchronized across all structural-geology tabs.
- Pop-out stereonet panel — the stereonet can now float as its own dockable tool, mirroring the existing 3D Plot pop-out architecture with shared view-model DI wiring and updated Wizard navigation that skips inactive tabs.
- MCP server & headless CLI —
therion-mcp(stdio) exposes 22 read-only tools (workspace, diagnostics, navigation, survey analysis, calculations) and 12 write tools (editing, scaffolding, exporting, compiling) over the Model Context Protocol; ring-based access control (--profile datafor read-only) and safety by default (dry-run, path jail, no overwrites). - In-app MCP server — Preferences ▸ MCP enables an HTTP loopback listener so external LLM hosts (Claude Code, LM Studio, Ollama) or the built-in Assistant panel can drive the running IDE's live buffers, panes, and 3D viewer through the same tool catalog.
- Built-in Assistant panel — View ▸ Assistant opens a chat docked in ThIDE, connected to a local OpenAI-compatible endpoint (LM Studio, Ollama) with Allow/Deny cards for any tool that writes, plus ready-made prompts (
audit_workspace,fix_diagnostic,summarize_survey,prepare_release). - Experimental features flagged — Assistant panel, Blender integration, and MCP integration now carry amber WIP banners and documentation caveats, clearly signalling ongoing development.
- Export format architecture cleaned up — one source of truth for format-to-extension mappings, preventing preset/compiler mismatches and enforcing consistency across all Quick Export paths.
Features & improvements
Stereonet & structural geology
- New Wulff/Schmidt stereonet math library (
Therion.Structural): lower-hemisphere equal-angle/equal-area projection, great circles from plane normals, poles, shot-to-line conversion, 10° graticule, and comprehensive tests. - New native stereonet 5th tab in the Structural Geology panel: projection toggle, measurement/pole/grid/label/background controls, trend-plunge readout on hover, click-to-select synced with grid/preview/plot, and PNG export.
- Camera-following stereonet inset in the 3D plot (bottom-left viewport): mirrors the main camera orientation every frame, rendering poles and great circles in real time. Toggleable from the plot toolbar.
- Pop-out stereonet as a dockable
StructuralStereonetpanel with the same architecture as the 3D Plot pop-out, using shared DI and float-window layout presets. - Wizard Prev/Next navigation now dynamically skips popped-out tabs (Plot and/or Stereonet), instead of assuming fixed tab order.
- Plane colours unified across 3D discs, arcs, poles, and stereonet grid via a shared C# palette (
StereonetControl,StereonetProjectionLabelConverter).
MCP integration (experimental)
Headless therion-mcp server
- Stdio-based MCP server (
Therion.Mcplibrary +Therion.Mcp.Serverexecutable): exposes a unified tool catalog over the Model Context Protocol, runnable as a child process from Claude Code, LM Studio, Ollama, or any MCP-compatible host. - Ring-based access control (
TherionMcpBuilderExtensions): three security rings regulate tool visibility—- R1 (22 read-only tools): workspace/file/diagnostics, symbol navigation, survey graph, field notes (todos/leads), structural analysis, calculations, Therion Book references.
- R2 (12 write tools): file editing, scaffolding (
.th2, TopoAndroid projects), imports, GIS/table/report exports, project metadata, builds — all withheld entirely by--profile data. - R3 (UI-only tools):
get_ui_state,open_file,run_command,save_all— registered only when anIUiBridgeis present; headless servers getNullUiBridge.
- Resources and prompts (read-only in both profiles): URI-addressable resources (
therion://file/{path},therion://diagnostics,therion://stats,therion://graph/survey,therion://thbook/{topic}) and guided prompts (audit_workspace,fix_diagnostic,summarize_survey,prepare_release). - Safety by design: dry-run by default for mutations, path jail (symlinks resolved, bounds checked), no overwrites (scaffolds reject existing targets), never half-written (all-or-nothing validation), honest tool annotations (
readOnlyHint,destructiveHint), result caps (100 KB text by default, 200 entries), and file encoding preservation (character-by-character validation before write). - Tool catalog (single source of truth):
TherionMcpBuilderExtensionsdefines all tool types once; host and server cannot drift, and profiles cannot contradict annotations.
In-app MCP server & Assistant panel
- New
McpHostService: manages the HTTP loopback listener (Kestrel) on demand, tied to Preferences ▸ MCP settingEnableMcpServer; writes a discovery file (%AppData%/ThIDE/mcp-endpoint.json, XDG fallback on POSIX) with the port, bearer token, and process ID. therion-mcp --connectbridges a host's stdio to the running IDE: spawns a stdio→HTTP shim that discovers the in-app server via the file and proxies MCP messages, unlocking R3 tools (UI state, open files, run commands) and live unsaved buffers.- Built-in Assistant panel (View ▸ Assistant, new
AssistantPaneView): docked chat connected to a local OpenAI-compatible endpoint (LM Studio:1234/v1by default; configurable in Preferences). Displays the same tool catalog; each write tool pauses on an Allow/Deny card showing the exact call and arguments. Read-only tools run silently. McpSettingKeys: whitelisted settings the MCP ring-R3get_setting/set_settingtools may touch — editor/diagnostics/build/theme/language preferences — with unit-tested pure read/write logic; never exposes security-weight or privilege settings.
Evaluation harness & testing
- New
Therion.Mcp.EvalsCLI: deterministic evaluation harness for the MCP server, scoring model performance on committed workspace fixtures end-to-state with no LLM judge.- Fresh working copy per case (mutations never dirty the fixture).
- Spawns
therion-mcpon a fixture over stdio infullprofile, runs OpenAI-style tool loop viaChatEngine. - Metrics:
call_validity,task_success,repair_success@3,qa_exact, median tokens/wall. - Per-case grading: exact-number Q&A (grader recomputes answer from server), end-state checks (lint-clean, file created), graceful refusals (no invented tools).
- Context modes A/B/C:
--context-mode none|card|packinjects workspace digest as a system message to measure how context injection affects task success. - CI-ready:
--self-test(suite integrity + scorecard math) and--probe(spawn on each fixture, print ground truth) run on any machine with no model/GPU/endpoint.
Experimental features & documentation
- Assistant panel, Blender integration, and MCP integration now marked as experimental (WIP) with amber banners in the UI and caveats in all related documentation.
- New
docs/mcp-host-setup.md: comprehensive guide to runningtherion-mcpheadless, connecting via--connect, configuring Claude Code / LM Studio / Ollama, using the in-app Assistant, and troubleshooting (with profiles, tool categories, resources, prompts, safety model, and design notes). - Updated README Highlights and
docs/features.mdto include and caveat all three modules. - Added screenshots page for structural geology features, linked from README.
- Structural Geology chapter in the user guide updated to a five-step wizard walkthrough with stereonet coverage.
Build & export
- Export format architecture refactor: one canonical source of truth (keyed by format) for which format writes which file extension, enforced via round-trip tests. Prevents presets from offering unsupported
-fmtvalues. - Per-export-type trap-file lists replace global extension confusion tables, improving accuracy when guessing artifact viewers.
- Quick Export presets validated against Therion's format table to guarantee compiler compatibility.
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 stereonet math and MCP architecture documentation in
docs/and.claude/mcp-integration/. - Added a screenshots page (
docs/screenshots.md) and structural-geology screenshots, linked from the README.
Fixes
- (Carried from v0.2.1-alpha.1 and prior)
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. - Refactored stereonet math into dependency-free
Therion.Structurallibrary. - Refactored export-format mappings into a centralized, round-trip-tested table.
- Unified MCP tool catalog across headless server and in-app host via
TherionMcpBuilderExtensions. - Shared
ChatEngine(OpenAI-style tool loop) extracted toTherion.Assistantfor reuse by both the in-app Assistant pane and theTherion.Mcp.Evalsharness.
Full Changelog: v0.2.1-alpha.1...v0.3.0-alpha.1