[Therion] Mapiah release v0.3.4 - The Back Pain release.

Rodrigo Severo rsev at pm.me
Sat Apr 4 14:36:46 CEST 2026


Hi,

Mapiah version 0.3.4 - The [Back Pain](https://en.wikipedia.org/wiki/Back_pain) release is available.

# Changelog

## 0.3.4 - 2026-04-04 - The [Back Pain](https://en.wikipedia.org/wiki/Back_pain) release
* Highlights:
* **Ctrl+A and Ctrl+V in add-element states** let you select all elements or paste clipboard content without first cancelling the add operation; an in-progress line is auto-finalized first.
* **Extra Therion run parameters** can be typed directly in the Run Therion dialog (persisted as `Main_TherionRunParameters`) and passed via the new `--therion_run_parameters` CLI argument.
* **Bézier–Bézier line splitting** completes full crossing-split support: all segment-pair combinations (straight–straight, Bézier–straight, Bézier–Bézier) are now handled when splitting selected lines at intersections (Ctrl+Shift+X).
* New features:
* Select all (Ctrl+A) and paste (Ctrl+V) now work in add-element states (add area, add line, add point): pressing Ctrl+A or clicking the new select-all FAB selects all elements and exits the add mode; pressing Ctrl+V or clicking the paste FAB pastes clipboard content. For add-line, any in-progress line is finalized first (same as pressing Enter) before the action is performed.
* Therion run parameters: a new text field in the Run Therion dialog lets users enter extra Therion command-line options (e.g. `-d` for debug) that are passed to Therion on every run. The value is persisted as the `Main_TherionRunParameters` setting and can also be set via the `--therion_run_parameters` command-line argument. Closes [#20](https://github.com/rsevero/mapiah/issues/20).
* Split selected lines at crossings: when two or more lines are selected, pressing Ctrl+Shift+X (or using the new state-context FAB action) splits the selected lines at detected intersection points, preserving options and generating sub-line IDs with numeric suffixes (for lines that already have IDs). Now supports all segment-pair combinations: straight–straight, Bézier–straight, and Bézier–Bézier. Bézier–Bézier intersection is found via recursive AABB subdivision (de Casteljau), and the resulting sub-curves are correctly split using the same de Casteljau algorithm. The action is fully undoable.
* Fixed bugs:
* Split at crossings (Bézier curves): fixed incorrect split point and control-points on final Bézier segment when the same Bézier curve is crossed by a straight line at multiple points. Root cause was twofold: (1) later crossing parameters on the same segment were applied directly to the original Bézier, but they needed reparameterization onto the remaining sub-curve after each earlier split; (2) the final sub-line was being built from the original segment in the file, not from the locally updated remainder segment after successive splits, causing it to retain the original endpoint and control-point definitions. Fixed by reparameterizing repeated crossings onto the current remainder and assembling sub-lines from the locally maintained segment list.
* Run Therion dialog: keep status shown as 'Running' until all post-run processing completes (including appending therion.log and aggregating issues); final status (`Ok`, `Warning`, or `Error`) is displayed only after processing finishes. Closes [#21](https://github.com/rsevero/mapiah/issues/21).
* "Rerun Therion" toolbar button now enabled after running Therion (via button or command-line `--thconfig`) even when Therion reports an error or is unavailable; the THconfig path is now always stored so the user can fix settings and rerun without re-picking the file.
* MPHelpButtonWidget now uses `mpLocator.appLocalizations` directly instead of attempting to retrieve localizations from context, ensuring consistent localization access across the app.
* Infrastructure maintenance:
* Elapsed time in the Run Therion dialog now updates live every second via a `Timer.periodic` + `ValueNotifier<Duration>`, so only the elapsed time text rebuilds — not the whole dialog.
* Added EN/PT help pages (`run_therion_help`) for the Run Therion dialog, and a help icon button in the dialog actions row. Updated to document the `--therion_run_parameters` CLI argument.
* Updated EN/PT help pages (`mapiah_home_help`) to document the `--therion_run_parameters` command-line argument.
* Updated EN/PT settings help pages (`mp_settings_page_help`) to document the `Main_TherionRunParameters` setting.
* Included launch.json and pre-commit hook examples.
* Pre-commit hook ported to work on Windows (replaced `sed -i` with portable `mktemp`/`echo`/`cat`/`tail`/`mv` equivalents). * Pre-commit hook now always prints "Running pre-commit hook…" so execution is easy to confirm.

Regards,

Rodrigo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.speleo.sk/pipermail/therion/attachments/20260404/5b99249a/attachment-0001.htm>


More information about the Therion mailing list