Skip to content

Release v2026.6.9

Choose a tag to compare

@ladislavb ladislavb released this 30 Jun 21:42
· 206 commits to main since this release

Therion Studio 2026.6.9

This release combines the unpublished 2026.6.8 release notes with the 2026.6.9 stabilization work. It focuses on map-editor drawing, selection reliability, source-edit responsiveness, background handling, validation fixes, and packaging/runtime polish.

Special thanks to Martin Sluka, @CaverBruce, Axel Hack, @apgeo, Stacho Mudrák, Martin Budaj, @vpicaver, and everyone else who tested the application, reported bugs, and shared valuable feedback.

New Features

  • Added SVG background support in the map editor alongside raster and XVI backgrounds, with placement, layer controls, and mixed-background workflows in one .th2 file.
  • Added a persisted Auto-collapse/expand Scraps toggle to the map Objects inspector for users who prefer the inspector to keep only the selected object's scrap expanded.
  • Added recent pending point, line, and area type/subtype choices as quick drawing defaults while the map editor stays open.
  • Added automatic pending point station name advancement for repeated station-point drawing.
  • Added single-key map drawing shortcuts for point/line/area tools, selected line reverse/close, and selected or next line-point smooth/control-handle toggles.
  • Added Ctrl + left-drag canvas panning in the map editor while keeping Space-drag and right-drag panning.
  • Added validator automatic fixes for unclosed map blocks and empty line/scrap blocks, including navigation refresh after applying a fix.
  • Added opt-in diagnostic Qt/QML and map-input logging with THERION_STUDIO_ENABLE_LOG=1 and optional THERION_STUDIO_LOG_FILE override.

Improvements

  • Improved map-editor freehand line drawing responsiveness by sampling every accepted pointer position while throttling expensive preview redraws to roughly one frame.
  • Reduced pointer-release stalls after drawing by applying interactive draft source insertions immediately and deferring map-scene projection refresh work out of pointer events.
  • Reduced freehand source insertion cost by applying delta text edits instead of full snapshot replacement where practical.
  • Bounded map-editor undo history to the most recent 200 source-edit steps per map tab so long editing sessions do not accumulate unbounded full-source snapshots.
  • Improved tablet/stylus input handling in the map editor viewport, including narrower duplicate synthetic mouse press suppression that no longer blocks active mouse move or release completion paths.
  • Preserved more freehand line detail during freehand drawing.
  • Narrowed map path hit-testing so clicks in visibly empty map space no longer select oversized path, line, decoration, or connector scene shapes; vertex and control-handle affordances remain larger for direct manipulation.
  • Reduced path-selection latency in large map scenes by evaluating distance-ranked path candidates only near the click point instead of scanning the whole scene.
  • Made high-zoom line/area drafting hit targets viewport-pixel based so small objects can still add anchors without accidentally grabbing draft controls or closing near the first anchor.
  • Preserved manually collapsed scraps in the map Objects inspector across refreshes and text navigation, while still expanding the containing scrap when a map object inside it is selected.
  • Kept inactive .th and thconfig tabs from driving map-object cursor synchronization, so validator/sidebar refresh work no longer steals map editor interaction state.
  • Kept committed line or area drafts selected when Esc finishes drawing, and moved the Raw editor cursor to the inserted object.
  • Kept map tabs loaded while hidden refreshing once when first shown so handles and drag affordances are attached to the visible viewport state.
  • Kept Selection inspector terminology and object option grouping clearer by reserving Line Point for vertex workflows and using Options for object-level settings.
  • Improved Therion executable auto-detection.
  • Improved Windows backslash path handling for Therion input path validation and completion workflows.
  • Extended map-input diagnostics with hit-test, pointer-event, source-transaction, undo-stack, and snapshot-size details for Windows input investigations.
  • Stabilized 3D viewer keyboard rotation and tilt shortcuts, including top/side view behavior, and made left/right rotation use a 5 degree step.
  • Kept 3D viewer compass orientation stable when switching between top and side views.
  • Reduced line overhang jaw decoration size so the teeth are less visually dominant.
  • Made the Compiler panel show the selected target config file name prominently with the full path as secondary context.
  • Made each new compiler run clear the previous output and start the new output with the resolved command and working directory.

Bug Fixes

  • Fixed map-editor drawing inside unclosed scraps, line blocks, or area blocks by surfacing validation problems instead of letting editing enter an inconsistent state.
  • Fixed loaded raster/XVI background layers so viewport-only actions no longer refresh the background layer model, preventing Objects inspector blinking and avoiding interruption of line vertex/control-handle interaction.
  • Fixed raster/XVI background placement controls so pivot coordinates are interpreted in background/layer coordinates instead of canvas coordinates.
  • Fixed raster background position edits so inspector spin boxes refresh immediately and X/Y stepping stays monotonic.
  • Fixed map line/area vertex and Bezier control-handle selection/dragging when .th or thconfig tabs are open beside a .th2 map, including projects created from the default template.
  • Fixed map viewport fallthrough mouse presses so vertex and Bezier control-handle drags can be handled reliably by scene items.
  • Fixed area-fill selection near referenced border lines after narrowing path hit-testing.
  • Fixed hidden line control handles stealing clicks from visible nearby paths.
  • Fixed direct map vertex/control-handle presses so pending line/vertex metadata is preserved for selection refresh.
  • Fixed map line-point orientation/size handles so they remain draggable when overlapping highlighted paths.
  • Fixed smooth Bezier line edits so moving a vertex and then dragging one control handle keeps the opposite handle tangent.
  • Fixed Bezier draft serialization so duplicate consecutive anchors are compacted and missing opposite smooth handles are mirrored when possible, reducing intermittent segmented-line creation after a single Bezier draw gesture.
  • Fixed line slope orientation/size controls so the Selection inspector checkbox is re-enabled for selected slope vertices
    and arrow-handle hit areas target the arrow head without stealing endpoint vertex drags.
  • Fixed map preview rendering for line-point subtype changes inside one line, such as line wall segments switching to
    subtype invisible or subtype bedrock.
  • Fixed draft completion and draft auto-commit so they do not recenter the map viewport or force-scroll the Objects tree to the newly inserted object.
  • Fixed raw editor path completion so accepting a path suggestion replaces the current path token instead of inserting the suggestion before it.
  • Fixed Esc support for closing the find/replace panel from either the panel or editor focus.
  • Fixed Block editor canvas selection refresh and command reordering so simple command inspectors no longer blink and drag/drop operations complete reliably.
  • Fixed Selection inspector point-geometry ordering, -clip off, narrow-width layout regressions, quick-field visibility refresh, and selected line type/subtype preservation.
  • Fixed point -align rendering so map canvas placement matches saved point options.
  • Fixed 3D viewer Esc handling so measure mode exits before and after selecting the first measurement point.
  • Fixed project close so stale validation results, diagnostics, details, and the validation activity indicator are cleared.
  • Fixed Therion compiler runs that stop after an error prompt such as Press ENTER to Exit! by closing the runner stdin after launch so the process can finish without pressing Stop.
  • Fixed Windows installer Qt Quick deployment so the 3D viewer inspector QML imports are installed at the runtime qml/ root used by Qt.
  • Fixed Linux AppImage runtime staging for Qt/QML dependencies and dynamically loaded backend modules used by runtime libraries such as libproxy.