meridian_tui
The ratatui terminal renderer of the meridian design language (native-Rust PanelDescriptor renderer).
| Latest | 0.5.0 |
|---|---|
| Versions | 5 |
| Category | Modules & tooling |
| Maintainers | Matt Marshall |
| Registry | https://registry.tbzl.dev/modules/meridian_tui/ |
| Source | github.com/meridian-ux/meridian-tui |
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 ameridian.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 ratatuiStylepalette.
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.
| version | toolchain |
|---|---|
0.5.0 | @meridian_uiview_core//rust:prost_toolchain |
0.5.0 | @rust_toolchains//:all |
| repo | extension |
|---|---|
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.
| Atom | Resolved here | Elsewhere |
|---|---|---|
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#
Depends on
Versions#
5 published versions, newest first. Each resolves to an immutable, integrity-checked archive.
| Version | Integrity (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 ↗ |