tomato·bazeldocs v0 · latest
Docs/Reference/Modules/meridian_tui

meridian_tui

The ratatui terminal renderer of the meridian design language (native-Rust PanelDescriptor renderer).

Latest0.5.0
Versions5
CategoryModules & tooling
MaintainersMatt Marshall
Registryhttps://registry.tbzl.dev/modules/meridian_tui/
Sourcegithub.com/meridian-ux/meridian-tui
MODULE.bazelstarlark
bazel_dep(name = "meridian_tui", version = "0.5.0")

View source & releases on GitHub ↗

The ratatui terminal renderer of the meridian design language — a native-Rust PanelDescriptor renderer for the terminal.

  • PanelView — renders a meridian.ui.v1.PanelDescriptor (table / prompt / llm_prompt widgets) into a ratatui frame.
  • PanelAppState — the panel app state machine (selection, scroll, input).
  • RpcInvoker — the trait a host implements to fetch data for a panel.
  • theme binding — maps meridian.theme.v1.Theme → a ratatui Style palette.

It is one of the swappable renderers of the design language; it depends only on the shared rust core, never on the other renderers:

   meridian-uiview-core  (rust core)
     ├── //rust/uiview          (native lib)   ─▶ meridian-tui   (this repo)
     ├── //rust/uiview:theme_proto             ─▶ meridian-tui
     └── //rust/uiview:uiview_wasm  (wasm)      ─▶ meridian-web

It consumes the core cross-repo via the Bazel module graph (@meridian_uiview_core//rust/uiview + :theme_proto); the proto contracts come transitively from meridian-schemas.

Build

bazel build //rust/tui
bazel test  //rust/tui:tui_test

The authoritative build is Bazel. Standalone cargo is not wired in this repo: the first-party meridian_uiview + theme_proto crates are supplied by Bazel cross-repo (not as cargo path deps), and the build.rs proto-codegen path needs the proto sources locally. Use the Bazel bazel_proto feature (the default here).

Conformance#

3 findings across 2 invariants. 19 contested atoms. See how gating works or the full report.

D2 a non-dev register_toolchains propagates to every transitive consumer why this matters ↗
versiontoolchain
0.5.0@meridian_uiview_core//rust:prost_toolchain
0.5.0@rust_toolchains//:all
D3 a repo name CHOSEN on a SHARED extension must be namespaced why this matters ↗
repoextension
crates@rules_rust//crate_universe:extensions.bzl

Contested atoms

Third-party modules where this module resolves a different version than others do. Not a violation of anything this module did — it is the actionable form of a registry-level convergence finding, and the sentence a maintainer can act on.

AtomResolved hereElsewhere
apple_support 1.24.2 2.2.0 ×1
aspect_bazel_lib 2.22.5 2.8.1 ×1
aspect_rules_js 3.1.2 2.1.3 ×1
bazel_lib 3.2.2 3.0.0 ×12
bazel_skylib 1.8.2 1.9.0 ×2
gawk 5.3.2.bcr.3 5.3.2.bcr.1 ×12
gazelle 0.30.0 0.36.0 ×140.44.0 ×10.51.0 ×3
jq.bzl 0.4.0 0.1.0 ×12
nlohmann_json 3.6.1 3.12.0.bcr.1 ×1
package_metadata 0.0.2 0.0.5 ×3
protobuf 33.4 34.0.bcr.1 ×2
rules_go 0.39.1 0.60.0 ×18
rules_jvm_external 6.7 6.8 ×4
rules_nodejs 6.7.4 6.3.0 ×16.7.3 ×1
rules_python 1.7.0 2.0.1 ×1
rules_swift 3.1.2 3.6.1 ×1
tar.bzl 0.10.4 0.5.1 ×110.6.0 ×1
upb 0.0.0-20220923-a547704 0.0.0-20230516-61a97ef ×1
yq.bzl 0.3.4 0.1.1 ×12

Dependencies#

meridian_tui in the registry graph — what it depends on (left) and what depends on it (right).

Depends on

meridian_uiview_core0.5.0rules_proto7.1.0protobuf33.4googleapis0.0.0-20260422-20ac242arules_rust0.70.0

Versions#

5 published versions, newest first. Each resolves to an immutable, integrity-checked archive.

VersionIntegrity (sha256)Source archive
0.5.0 latest JayWqM3vh49hqFZy… tag archive ↗
0.4.0 wbnp4PDARZ/2t870… tag archive ↗
0.3.0 gVOkIqXenX+hE8+z… tag archive ↗
0.2.0 YZYbn5oo3RTFOm8I… tag archive ↗
0.1.0 jcwSazLvMQqpGOkf… tag archive ↗

← All modules