Repository navigation
RatioLab 0.1.14
RatioLab 0.1.14 improves desktop responsiveness, updates and workspace feedback. Built from commit 12d79abb1efc4f342d21b895f54a630ba93e0eae. See the changelog.
Changes since 0.1.13
- Eligible native installations can download, verify, install and reopen an update from one action, in their existing installation location. Save, Discard and Cancel protect unsaved projects; the result is shown once after reopening. Installation type and manual fallbacks remain explicit. Release notes omit Unreleased development entries.
- Ordinary geometry and scene preparation run in a worker, keeping the interface responsive while calculations finish. Only current results are applied; outdated jobs cannot replace another document, model, parameter set or preview configuration. GTK and OpenGL updates remain on the main thread. This changes responsiveness, not geometry formulas.
- Export completion remains visible with the output name and destination, Open folder and Dismiss. Failures and cancellations are reported. Selected component exports retain their original source identities.
- RPM-only changes preserve component selection and isolated view while updating motion. Geometry edits and new documents still clear obsolete selections.
- Expand tool and Restore workspace make room for the current tool while retaining its state, scene, document and split positions.
- Component labels are easier to read. Original names, roles, source indices and BOM codes remain available in details; part names and exported identities are unchanged.
Downloads
- Windows 11 x86-64:
RatioLab-0.1.14-windows-x86_64-setup.exe. - macOS 15+:
RatioLab-0.1.14-macos-arm64.dmgfor Apple Silicon orRatioLab-0.1.14-macos-x86_64.dmgfor Intel. - Ubuntu 24.04+ / compatible x86-64 Linux:
ratiolab_0.1.14_amd64.deb,RatioLab-0.1.14-linux-x86_64.runorRatioLab-0.1.14-linux-x86_64.tar.gz. Linux requires glibc 2.39+.
Python, GTK and required runtime libraries are included; graphics drivers come from the operating system. A compatible desktop OpenGL driver is required. Windows Setup is unsigned. macOS applications use ad-hoc signing without Apple notarization; systems may warn or block launch.
Verification and limits
Post-release update: A later Ubuntu 24.04 CI job rebuilt the same application source and encountered another SIGSEGV during the Linux installer's headless runtime preflight. The installer aborted before committing the installation. This was a new CI build; its failed bytes were not retained for comparison with the published installer. A separate controlled thread-scheduling experiment on Ubuntu 24.04 reproduced a SIGSEGV in the published Linux runtime: a native font worker read an environment array while the self-test changed it. This demonstrates a reachable failure mechanism, but the original CI crashes have no native stack confirming the same cause. A correction is being tested privately; it is not included in these immutable 0.1.14 assets.
Native CI and Python distribution CI completed successfully for the exact release commit. All four native platform/architecture jobs and all three Python jobs passed. The final native run retained the successful Windows and macOS results and reran only the failed Linux job on unchanged source.
All eight native artifact ZIPs matched their GitHub API SHA-256 digests and sizes before bounded, CRC-verified extraction with checked paths and member types. All six binaries matched the included CI checksums. Linux tar and Debian payloads matched the complete bundle manifest, exact source version and changelog; the .run contains the same tar payload. Windows installer version/PE structure and macOS UDIF block maps were checked. SHA256SUMS contains independently recalculated binary hashes. build-evidence.json records actual jobs, installed GUI/MCP results and native update checks without private runner paths or handoff directories.
Linux CI installed and uninstalled the .run, passed installed GUI/MCP checks and tested the extracted Debian runtime. No privileged Debian system installation was performed. Windows CI installed and uninstalled Setup and passed installed runtime/MCP checks. Both macOS architectures mounted the DMG, copied the application and passed runtime/MCP and strict deep code-signature checks.
Installed GUI checks on Linux, macOS Apple Silicon, macOS Intel passed all 11 model families, six feature groups, actual framebuffer geometry and workspace export. Windows GUI rendering remains unverified: the hosted runner could not create an OpenGL context. Installed MCP checks passed both supported protocols on all four platform/architecture jobs, with 30 requests per protocol and the existing Wolfrom geometry, export and signed/zero-speed checks.
All four native jobs also used the new release production helper to upgrade a public 0.1.12 installation into the actual 0.1.14 package at the same location. Baseline and target hashes matched the verified installers. User-data sentinels were preserved, the new installation remained eligible for its next update, and the terminal receipt was consumed exactly once. GUI restart was disabled in this harness; it does not establish the old public 0.1.13 client flow. No user daily installation was used as a QA target.
A separate disposable local Linux check used the public 0.1.13 helper to install the exact final 0.1.14 installer at the same location and reopen it once. Three project/preferences sentinels were preserved; future native updates remained eligible. The new installed application passed real GTK/OpenGL checks for all 11 model families, six feature groups and workspace export. The old 0.1.13 helper has no new receipt protocol, so this check does not prove the new once-only receipt behavior. It does not establish older-client upgrade/restart acceptance on Windows or macOS, and no daily installation was used.
The first Linux packaging attempt on this release source exited with SIGSEGV (-11) in a second frozen headless self-test, after its initial bundle GUI check had passed. It produced no explanatory stdout/stderr. The unchanged-source Linux rerun passed the complete build, package, installed GUI/MCP and native-update checks. The initial crash remains unexplained.
The exact final Linux installer also passed a separate disposable installation, version check and three actual headless self-tests with DISPLAY, WAYLAND_DISPLAY and XAUTHORITY removed, followed by successful uninstallation. These three local passes do not explain or establish the cause of the original CI SIGSEGV.
An intervening Linux retry was canceled during an apt mirror stall before the application build or self-test began; that infrastructure wait did not reproduce the crash.
The full local repository suite completed 914 tests in 1040.970 s, 910 passed and four GUI assertion failures (worm readiness timeout, two unsolicited release-link events before the primary update click, one theme scale assertion), no errors. With unchanged source and assertions, an isolated real-display rerun passed all 34 tests in 108.261 s including all four failed cases. The broad run is not claimed fully green and the intermittent cause is unproven. After scoped CI/updater fixes, overlapping targeted slices were run: 128 checks in 26.446 s, 59 checks in 6.985 s with no skips, and 60 checks in 7.188 s; all passed. These include actual PowerShell fixtures, foreign utility-module and tampered-package checks, and canonical Windows installation-directory identity checks. The broad 914-test suite was not rerun after these fixes.
The final Python wheel and source distribution passed artifact checks (104 wheel members and 429 source-distribution members), including verification of the current helper bytes. These checks do not establish performance or compatibility on every computer.
Older Windows clients may need to run Setup 0.1.14 manually once: fixes in the new helper do not retroactively repair an already installed older updater. Some older permissive Linux installations may similarly need the current installer once at the same location. Protected, shared and source installations retain manual fallback.
Gear geometry, measurements and motion remain nominal/theoretical. Existing calculation and model-specific limits continue to apply. These desktop UX changes do not add strength, manufacturing-fit, durability or conformity validation.