Skip to content

Widget Stability

Rezi uses stability tiers so teams can choose widgets with clear behavior guarantees.

Tiers

  • stable: strongest widget tier inside the current pre-alpha line; documented behavior contracts and deterministic tests exist, and maintainers aim to avoid unnecessary breaking changes.
  • beta: usable and tested for core invariants, but parts of the contract can still evolve.
  • experimental: no compatibility guarantees; behavior and APIs can change quickly.

Stable Guarantees

When a widget is marked stable, Rezi guarantees:

  • deterministic behavior for documented keyboard, pointer, and editing contracts
  • deterministic regression tests that pin those contracts in packages/core/src/**/__tests__
  • clear changelog callouts when documented stable behavior changes
  • stronger compatibility expectations than beta / experimental, while the repo-wide pre-alpha status still applies to the package line as a whole

Daily Driver Status

These widgets are the EPIC-04 hardening targets and are currently stable.

Widget Tier Contract coverage
Input stable Cursor/edit/paste/focus-capture contract tests in packages/core/src/runtime/__tests__/inputEditor.contract.test.ts
Table stable Selection/column-width/viewport/row-key tests in packages/core/src/widgets/__tests__/table.golden.test.ts and packages/core/src/app/__tests__/table.renderCache.test.ts
Virtual List stable Visible-range/overscan/scroll-clamp/navigation tests in packages/core/src/widgets/__tests__/virtualList.contract.test.ts
Command Palette stable Async fetch ordering/stale-cancel/query/nav/escape tests in packages/core/src/app/__tests__/commandPaletteRouting.test.ts and packages/core/src/widgets/__tests__/commandPalette.test.ts
File Picker stable Expand/collapse/selection/open/toggle contracts in packages/core/src/app/__tests__/filePickerRouting.contracts.test.ts
File Tree Explorer stable Focus/activation/toggle/context-menu contracts in packages/core/src/app/__tests__/fileTreeExplorer.contextMenu.test.ts

Full Catalog Status

The full catalog is tiered below. stable is intentionally conservative and reserved for widgets with hardened behavior contracts.

Category Widget Tier
Primitives Text stable
Primitives Box stable
Primitives Row / Column stable
Primitives Spacer stable
Primitives Divider stable
Indicators Icon beta
Indicators Spinner beta
Indicators Progress beta
Indicators Skeleton beta
Indicators RichText beta
Indicators Kbd beta
Indicators Badge beta
Indicators Status beta
Indicators Tag beta
Form Inputs Button beta
Form Inputs Input stable
Form Inputs Slider beta
Form Inputs Checkbox beta
Form Inputs Radio Group beta
Form Inputs Select beta
Form Inputs Field beta
Data Display Table stable
Data Display Virtual List stable
Data Display Tree beta
Overlays Layers beta
Overlays Modal beta
Overlays Dropdown beta
Overlays Layer beta
Overlays Toast beta
Overlays Focus Zone beta
Overlays Focus Trap beta
Layout Split Pane beta
Layout Panel Group beta
Layout Resizable Panel beta
Advanced Command Palette stable
Advanced File Picker stable
Advanced File Tree Explorer stable
Advanced Code Editor beta
Advanced Diff Viewer beta
Advanced Logs Console beta
Advanced Tool Approval Dialog experimental
Charts Gauge beta
Charts Sparkline beta
Charts Bar Chart beta
Charts Mini Chart beta
Feedback Callout beta
Feedback Error Display beta
Feedback Empty beta