Skip to content

0.3.0

Latest

Choose a tag to compare

@deweyjose deweyjose released this 04 Jan 18:55

πŸš€ rustmaton v0.3.0 Release Notes

A Complete UI Overhaul

This release represents a major architectural transformation of rustmaton, migrating from termion to the modern ratatui + crossterm stack. The result? A more robust, feature-rich, and visually polished Game of Life experience.


✨ What's New

🎨 Pattern Gallery Mode

Navigate and select patterns without memorizing keyboard shortcuts! Press g to enter the new interactive pattern gallery:

  • πŸ“‚ Expandable/collapsible pattern categories
  • ⬆️⬇️ Arrow key navigation through the tree
  • ⏎ Select patterns with Enter
  • Currently selected pattern highlighted in yellow

πŸ–ΌοΈ Modern Widget-Based UI

The entire rendering system has been rebuilt using ratatui's widget architecture:

  • Header bar showing current mode (Normal/Help/Pattern Gallery)
  • Footer bar with live stats: grid size, viewport, cursor position, simulation state
  • Bordered panels for a clean, organized layout
  • Centered help popup with rounded borders

🎯 Grid Boundary Visualization

When your terminal is larger than your grid, you'll now see elegant box-drawing characters (β”€β”‚β”˜) marking exactly where the grid ends. No more guessing!

⌨️ New CLI Options

Fine-tune your grid dimensions:
--grid-multiplier # (renamed from --multiplier) Grid = viewport Γ— N
--grid-max-width # Cap grid width (useful for testing!)
--grid-max-height # Cap grid height---

πŸ› Bug Fixes

Cursor Bounds on Terminal Resize

Fixed a critical issue where resizing the terminal larger than the grid could cause undefined behavior. The cursor now correctly respects grid boundaries regardless of viewport size.


πŸ”§ Under the Hood

  • termion β†’ ratatui/crossterm migration: Better cross-platform support and modern TUI patterns
  • Panic hook: Terminal now properly restores on crash (no more garbled terminals!)
  • Theme system: Centralized styling ready for future customization
  • Modular widget architecture: Each UI component is now its own widget

πŸ“– Quick Reference

Key Action
g Enter/exit Pattern Gallery
h Toggle help
s Start/stop simulation
a Bring cell to life
1-9 Place pattern
l Repeat last pattern
r Rotate pattern 90Β°

πŸ™ Upgrade

cargo install rustmaton

or

cargo install --git https://github.com/deweyjose/rustmaton

Full Changelog: https://github.com/deweyjose/rustmaton/compare/v0.2.5...v0.3.0