summaryrefslogtreecommitdiff
path: root/src/pardes.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/pardes.zig')
-rw-r--r--src/pardes.zig6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/pardes.zig b/src/pardes.zig
index 54fe2df0..bbd8e7cd 100644
--- a/src/pardes.zig
+++ b/src/pardes.zig
@@ -4294,6 +4294,10 @@ pub const Pardes = struct {
/// the pane and view origin it was last aimed in, and the last key or
/// click, which a blink holds for.
cursor_glide: animation.CursorGlide = .{},
+ /// A pixel shell's own render-time motion is under way (its smooth
+ /// scroll, G6): the core then keeps the continuous path running, so the
+ /// shell draws every loop and a virtual clock moves on, as for a lift.
+ shell_continuous: bool = false,
cursor_view: struct { serial: u32 = 0, line: i64 = 0 } = .{},
input_ns: u64 = 0,
animate_theme_changes: bool = false,
@@ -6527,7 +6531,7 @@ pub const Pardes = struct {
/// is for the stepped animations, which count frames of `frame_ns`.
pub fn continuous(p: *const Pardes) bool {
for (p.lifts) |spring| if (!spring.settled) return true;
- return p.cursor_glide.moving();
+ return p.cursor_glide.moving() or p.shell_continuous;
}
/// For shells that only need a yes or no: macOS and the board, which