1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
//! Job-control suspend orchestration (cycle-2 review I-2) — split from
//! `driver.rs` (file budget, the `driver_images.rs` sibling pattern;
//! same `impl Driver` surface).
//!
//! [`crate::term::Terminal::suspend`] alone restores/stops/re-enters
//! the TERMINAL, but the engine holds state the stop invalidates:
//!
//! - the key-state down-set: releases during the stop are
//! unobservable, and no repeat ever corrects a stale hold (Ctrl+Z
//! keeps the window focused — no `FocusLost` arrives). A held
//! push-to-talk capture would resume "recording" with the chord up:
//! the media-av/0610 stuck-mic privacy class.
//! - the previous-frame model + presenter pen: the alternate screen
//! comes back BLANK and the restore reset cursor/pen state, so the
//! next diff must re-emit everything from an anchored position
//! (the apply_resize rule — both halves of "the screen is unknown").
//!
//! `Driver::suspend` owns that composition so no caller re-derives it
//! slightly wrong.
use crateResult;
use crateTerminal;
use Driver;
use App;