• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

jzombie / term-wm / 28972063561
75%

Build:
DEFAULT BRANCH: main
Ran 08 Jul 2026 08:10PM UTC
Jobs 1
Files 88
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

08 Jul 2026 08:05PM UTC coverage: 72.181% (+1.7%) from 70.435%
28972063561

push

github

web-flow
refactor: Decouple rendering backend from core via trait abstraction (#86)

* refactor: Decouple rendering backend from core via trait abstraction

Extract ratatui-specific rendering into two new crates:

- term-wm-render: Defines RenderBackend and RenderTarget traits so
  core and UI components depend only on trait objects, not ratatui
  directly. Enables backend independence and testability.

- term-wm-console: Concrete crossterm/ratatui implementation with
  ConsoleEventSource, ConsoleRenderTarget, DrawPlanRenderer, and
  RatatuiBackend. Moves platform-specific I/O out of core.

Core changes:
- Replace UiFrame<'_> with &mut dyn RenderBackend across all
  Component::render signatures
- Introduce core-owned event types (KeyEvent, MouseEvent, etc.) in
  term_wm_core::events, replacing direct crossterm dependencies
- Add CoreEngine and draw_plan module for draw plan generation
- Move unified_event_source from term-wm-core to root crate
- Update all component tests to use new rendering/event APIs

The ratatui dependency is now confined to term-wm-console and
ui-components, while core compiles without any terminal framework.

* Rename internal event loop launcher

* Improve main app init

3047 of 4928 new or added lines in 59 files covered. (61.83%)

46 existing lines in 19 files now uncovered.

18308 of 25364 relevant lines covered (72.18%)

156.78 hits per line

Uncovered Changes

Lines Coverage ∆ File
682
25.71
crates/term-wm-console/src/draw_plan_renderer.rs
240
0.0
src/lib.rs
142
74.03
2.84% crates/term-wm-core/src/window/window_manager/mod.rs
126
22.3
-0.45% crates/term-wm-sys-ui-components/src/wm_top_panel.rs
75
46.74
src/unified_event_source.rs
74
44.44
crates/term-wm-console/src/console_event_source.rs
56
0.0
0.0% src/main.rs
45
55.49
6.1% crates/term-wm-sys-ui-components/src/wm_bottom_panel.rs
44
77.52
-0.76% crates/term-wm-ui-components/src/terminal.rs
40
45.21
crates/term-wm-core/src/engine.rs
36
78.95
crates/term-wm-core/src/draw_plan.rs
35
0.0
0.0% src/term_wm_app.rs
33
82.23
-16.52% crates/term-wm-core/src/layout/mod.rs
26
85.53
-10.85% crates/term-wm-layout-engine/src/rect.rs
21
52.78
7.61% crates/term-wm-core/src/runner.rs
17
41.1
1.66% crates/term-wm-core/src/components/mod.rs
16
80.2
-0.91% crates/term-wm-sys-ui-components/src/wm_keybinding_overlay.rs
15
73.55
-5.27% crates/term-wm-core/src/utils/linkifier.rs
14
88.51
8.71% crates/term-wm-sys-ui-components/src/wm_menu_overlay.rs
13
77.39
9.31% crates/term-wm-sys-ui-components/src/wm_help_overlay.rs
11
35.29
crates/term-wm-console/src/lib.rs
10
0.0
crates/term-wm-console/src/widget_adapter.rs
10
78.65
45.66% crates/term-wm-core/src/window/decorator.rs
9
77.78
-2.8% crates/term-wm-core/src/event_loop.rs
8
61.01
1.87% crates/term-wm-core/src/window/window_manager/layout.rs
8
36.87
-0.17% crates/term-wm-ui-components/src/ascii_image.rs
8
88.71
0.46% crates/term-wm-ui-components/src/scroll_view.rs
7
88.77
0.84% crates/term-wm-core/src/utils/selectable_text.rs
6
0.0
crates/term-wm-console/src/console_render_target.rs
6
84.16
-5.32% crates/term-wm-core/src/theme.rs
5
79.17
8.58% crates/term-wm-core/src/events.rs
5
71.01
-3.99% crates/term-wm-core/src/io/event_source.rs
5
77.47
1.58% crates/term-wm-ui-components/src/text_renderer.rs
4
94.91
1.09% crates/term-wm-core/src/hitbox_registry.rs
4
61.57
0.3% crates/term-wm-core/src/window/window_manager/drag.rs
4
75.82
0.0% crates/term-wm-ui-components/src/svg_image.rs
3
4.29
0.0% crates/term-wm-core/src/window/window_manager/command_menu.rs
3
95.32
51.93% crates/term-wm-ui-components/src/confirm_overlay.rs
3
98.94
crates/term-wm-ui-components/src/helpers.rs
2
73.74
1.23% crates/term-wm-core/src/keybindings.rs
2
79.52
3.8% crates/term-wm-core/src/utils/keyboard_normalizer.rs
2
66.67
crates/term-wm-core/src/utils/mod.rs
2
71.21
1.37% crates/term-wm-core/src/window/window_manager/chrome.rs
2
83.85
1.44% crates/term-wm-ui-components/src/markdown_viewer.rs
1
77.54
-0.18% crates/term-wm-pty-engine/src/pty.rs
1
89.51
0.3% crates/term-wm-ui-components/src/menu.rs

Coverage Regressions

Lines Coverage ∆ File
13
73.55
-5.27% crates/term-wm-core/src/utils/linkifier.rs
8
52.78
7.61% crates/term-wm-core/src/runner.rs
4
0.0
0.0% src/main.rs
3
74.03
2.84% crates/term-wm-core/src/window/window_manager/mod.rs
3
55.49
6.1% crates/term-wm-sys-ui-components/src/wm_bottom_panel.rs
2
73.74
1.23% crates/term-wm-core/src/keybindings.rs
1
41.1
1.66% crates/term-wm-core/src/components/mod.rs
1
77.78
-2.8% crates/term-wm-core/src/event_loop.rs
1
71.01
-3.99% crates/term-wm-core/src/io/event_source.rs
1
80.63
13.88% crates/term-wm-core/src/layout/tiling.rs
1
78.65
45.66% crates/term-wm-core/src/window/decorator.rs
1
84.87
2.01% crates/term-wm-pty-engine/src/input_encoding.rs
1
77.54
-0.18% crates/term-wm-pty-engine/src/pty.rs
1
77.39
9.31% crates/term-wm-sys-ui-components/src/wm_help_overlay.rs
1
22.3
-0.45% crates/term-wm-sys-ui-components/src/wm_top_panel.rs
1
95.32
51.93% crates/term-wm-ui-components/src/confirm_overlay.rs
1
98.85
34.74% crates/term-wm-ui-components/src/dialog_overlay.rs
1
77.52
-0.76% crates/term-wm-ui-components/src/terminal.rs
1
0.0
0.0% src/term_wm_app.rs
Jobs
ID Job ID Ran Files Coverage
1 28972063561.1 08 Jul 2026 08:10PM UTC 88
72.18
GitHub Action Run
Source Files on build 28972063561
  • Tree
  • List 88
  • Changed 52
  • Source Changed 52
  • Coverage Changed 46
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28972063561
  • 42bb85f5 on github
  • Prev Build on main (#28882173509)
  • Next Build on main (#29007432198)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc