Skip to content

0.3.0

Choose a tag to compare

@LoadStar822 LoadStar822 released this 25 Nov 09:40
· 31 commits to main since this release

[0.3.0] - 2025-11-25

UI

  • Rebuilt the alignment browser as an ASCII phylogenetic canvas with proportional branch spacing, inline RaMAx/cactus colouring, and in-place repainting without the old Textual tree widget.
  • Added scope switching between subtree and single-node toggles (key b), plus bulk-revert safeguards with modal hints so mixed cactus/RaMAx edits stay consistent.
  • Added search (/, n / Shift+N), dotted branch-length annotations, ASCII glyph fallback, and a detail buffer/info modal so large trees stay navigable and summaries remain visible even on narrow terminals.
  • Introduced a bottom Dashboard HUD that mirrors the current node, subtree/total RaMAx coverage, and live CPU/GPU/memory/disk metrics; keeps summaries readable on narrow terminals.
  • Display a short welcome/quick-start overlay after mount to highlight navigation, toggles, and run flow for new users.

Planner

  • Skip RaMAx rounds whose ancestors already run with RaMAx, while still honoring cactus overrides inside those subtrees so users can mix modes intentionally.
  • Suppress halAppendSubtree merges when the parent round output was produced by RaMAx, preventing redundant HAL writes.

Tree parsing

  • Alignment nodes now retain branch lengths, support values, and parent links, enabling proportional layouts and state colouring while tolerating unlabeled or missing edges.
  • Newick parsing accepts numeric internal labels as support scores and ignores malformed branch lengths instead of failing the entire parse.

CLI & plumbing

  • Moved the plan overview/environment rendering helpers into cax.ui (retiring cax.render) and pointed CLI previews at the shared UI renderer for consistent output and script exports.

Tests

  • Added coverage for RaMAx ancestor/descendant overrides in the planner and for bulk RaMAx subtree reversion when toggling individual nodes in the UI.