<div style="font-family: Arial, sans-serif; font-size: 14px;">Hi,</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;">Mapiah version 0.3.4 - The <a href="https://en.wikipedia.org/wiki/Back_pain" title="Back Pain">Back Pain</a> release is available.</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><span># Changelog</span><div><br></div><div><span>## 0.3.4 - 2026-04-04 - The [Back Pain](<a target="_blank" rel="noreferrer nofollow noopener" href="https://en.wikipedia.org/wiki/Back_pain">https://en.wikipedia.org/wiki/Back_pain</a>) release</span></div><div><span>* Highlights:</span></div><div><span>  * **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.</span></div><div><span>  * **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.</span></div><div><span>  * **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).</span></div><div><span>* New features:</span></div><div><span>  * 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.</span></div><div><span>  * 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](<a target="_blank" rel="noreferrer nofollow noopener" href="https://github.com/rsevero/mapiah/issues/20">https://github.com/rsevero/mapiah/issues/20</a>).</span></div><div><span>  * 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.</span></div><div><span>* Fixed bugs:</span></div><div><span>  * 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.</span></div><div><span>  * 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](<a target="_blank" rel="noreferrer nofollow noopener" href="https://github.com/rsevero/mapiah/issues/21">https://github.com/rsevero/mapiah/issues/21</a>).</span></div><div><span>  * "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.</span></div><div><span>  * MPHelpButtonWidget now uses `mpLocator.appLocalizations` directly instead of attempting to retrieve localizations from context, ensuring consistent localization access across the app.</span></div><div><span>* Infrastructure maintenance:</span></div><div><span>  * 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.</span></div><div><span>  * 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.</span></div><div><span>  * Updated EN/PT help pages (`mapiah_home_help`) to document the `--therion_run_parameters` command-line argument.</span></div><div><span>  * Updated EN/PT settings help pages (`mp_settings_page_help`) to document the `Main_TherionRunParameters` setting.</span></div><div><span>  * Included launch.json and pre-commit hook examples.</span></div><div><span>  * Pre-commit hook ported to work on Windows (replaced `sed -i` with portable `mktemp`/`echo`/`cat`/`tail`/`mv` equivalents).</span></div><span>  * Pre-commit hook now always prints "Running pre-commit hook…" so execution is easy to confirm.</span></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;">Regards,</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;">Rodrigo</div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div>
<div style="font-family: Arial, sans-serif; font-size: 14px;" class="protonmail_signature_block protonmail_signature_block-empty">
    <div class="protonmail_signature_block-user protonmail_signature_block-empty">
        
            </div>
    
            <div class="protonmail_signature_block-proton protonmail_signature_block-empty">
        
            </div>
</div>