ratatui_ruby v0.9.0 released

I am happy to announce the release of the ratatui_ruby library v0.9.0
under the terms of the Lesser GNU General Public License, version 3.0
or later (LGPL-3.0-or-later). Thanks to Mike Perham for bringing this
license to my attention.

The roadmap is now public. Planned gems include `ratatui_ruby-tea` for
Model-View-Update architecture, `ratatui_ruby-kit` for retained-mode
components, and `ratatui_ruby-framework` for an omakase TUI experience.
The wiki index documents the full architecture.

This release adds ergonomic APIs that reduce boilerplate. State query
predicates, symbol constants, CSS-inspired constraint aliases, and
navigation methods make common tasks more intuitive.

Licensing changes:

* **LGPL-3.0-or-later Library.**
  Library code (`lib/`, `sig/`) is now LGPL. Proprietary applications
  can link against the library. Library modifications remain open source.

* **MIT-0 Snippets.**
  Documentation code snippets are now MIT-0. Copy example code without
  attribution requirements.

What is new:

* **State Query Predicates.**
  Widgets now answer questions about their state. `List#selected?`
  returns true if an item is selected. `Table#row_selected?`,
  `Table#column_selected?`, and `Table#cell_selected?` check selection
  state. `Gauge#filled?` and `Gauge#complete?` check progress. Both
  `List` and `Table` respond to `empty?`.

* **Symbol Constants.**
  Enum-style parameters now expose named constants for IDE autocomplete.
  `List::HIGHLIGHT_ALWAYS`, `Table::FLEX_CENTER`,
  `Layout::Layout::DIRECTION_VERTICAL`. Self-documenting code replaces
  magic symbols.

* **CSS-Inspired Constraint Aliases.**
  The TUI facade provides familiar constraint names. `fixed(n)` aliases
  `constraint_length`. `percent(n)` aliases `constraint_percentage`.
  `flex(n)` and `fr(n)` alias `constraint_fill`. `split(...)` aliases
  `layout_split`. Cleaner layout code for developers who think in CSS.

* **ListState Navigation.**
  `ListState` now provides `select_next`, `select_previous`,
  `select_first`, and `select_last`. These methods handle edge cases
  automatically. `select_next` selects the first item if nothing is
  selected. `select_previous` selects the last.

* **Rect Geometry Methods.**
  `Rect` exposes edge accessors (`left`, `right`, `top`, `bottom`),
  size queries (`area`, `empty?`), and geometry transformations
  (`union`, `inner`, `offset`, `clamp`). Iterators (`rows`, `columns`,
  `positions`) yield slices or coordinates for hit testing and layout.

Documentation:

* **Ecosystem Roadmap.**
  The wiki index is now the canonical architecture document. It defines
  the ecosystem layers, Big Tent philosophy, Tea/Kit paths, licensing
  model, and roadmap. One document explains what RatatuiRuby is and
  where it is going.

* **Migration Guides in Wiki.**
  Migration guides now live in the wiki instead of the main repository.
  The v0.7.0 namespace restructure guide is the first to move.

* **Ecosystem Drafts Archive.**
  The AI-assisted planning documents from the exploration phase are
  now archived in the wiki. A timeline index reconstructs the
  six phases from Fruit Proposals through Roadmap Documents.
  Historical context for understanding how the architecture evolved.

Breaking changes:

- `assert_snapshot` removed. Use `assert_plain_snapshot` or
  `assert_snapshots` instead.
- `Block#border_color` removed. Use `border_style: Style.new(fg: color)`
  for equivalent functionality.
- `LineChart` removed. Use `Chart` with `Dataset.new(graph_type: :line)`
  instead. See `examples/widget_chart/` for usage.

Full changelog: https://git.sr.ht/~kerrick/ratatui_ruby/tree/v0.9.0/item/CHANGELOG.md

Gem: https://rubygems.org/gems/ratatui_ruby
Source: https://git.sr.ht/~kerrick/ratatui_ruby
Wiki: https://man.sr.ht/~kerrick/ratatui_ruby