Skip to content

Release MaxMath 2.0.1 with Octave console and engine fixes - #7

Draft
ParuhParhat wants to merge 2 commits into
mainfrom
codex/maxmath-2.0.1
Draft

Release MaxMath 2.0.1 with Octave console and engine fixes#7
ParuhParhat wants to merge 2 commits into
mainfrom
codex/maxmath-2.0.1

Conversation

@ParuhParhat

Copy link
Copy Markdown
Owner

Summary

  • add an offline GNU Octave 11.3.0 console with workspace inspection, typed previews, script editing, cancellation, bounded IPC, and independent plot pages
  • add reproducible arm64 Octave/Maxima runtime packaging, manifests, transactional installation, ABI/hash/ELF verification, and 16 KiB page-size gates
  • unify Maxima calculations in the isolated engine service and harden startup, deadlines, cancellation, disconnect recovery, and runtime upgrades
  • fix Maxima startup/version-directory mismatches and matrix trace calculations which could remain stuck while autoloading linearalgebra
  • fix Octave surface/contour meshgrid coordinates, 3D rotation dead angles and vertical drag direction, and replace the full-height color strip with a compact scale
  • bump the app to versionName 2.0.1 / versionCode 21 and update English/Chinese documentation

Root causes

  • Termux Octave was built with Clang 21 but packaged with the older Clang 18 C++ runtime, so the child process could exit at link time on a missing floating-point from_chars symbol.
  • Maxima's configure step discovered the outer MaxMath Git tag and embedded that tag as its data-directory version instead of 5.49.0.
  • Matrix trace used mat_trace, which entered the interpreted linearalgebra autoload path on device; the new implementation sums the main diagonal directly.
  • Flattened two-dimensional meshgrid coordinates were consumed as one-dimensional vectors, and the 3D gesture layer hard-clamped elevation to 0–180 degrees.
  • The color scale filled its parent height and painted the gradient across the wrong axis.

User impact

Existing installs can repair same-version incomplete runtimes without clearing app data. Maxima and Octave requests now have deterministic terminal states, failed sessions recover on the next command, plots no longer flatten valid meshgrids, and 3D surfaces rotate continuously in the expected direction.

The packaged runtime remains arm64-only. Generated runtime assets, JNI binaries, APKs, Gradle caches, and local signing keys are intentionally excluded from Git.

Validation

  • Gradle: 243 tasks successful
  • Unit tests: 551 passed, 0 failures/errors/skips
  • Lint: 0 errors for Debug and Release
  • Debug and Release APK assembly passed, including arm64 JNI rebuild
  • Maxima APK verifier passed: runtime sha256:979e4b27041714e3a5e996cc06259a2b7c344ff50efed2e658495ce3019b7e58
  • Octave APK verifier passed: 1173 assets, 84 Octave JNI files, 125 native files, runtime sha256:4552c02ea74032e9df77c5873f195dd475d6487a6197d473dd8cf87960e9a467
  • APK v2 signing and 16 KiB zip alignment verified locally

An arm64 device was not attached for the final on-device pass.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant