feat(k-ui): motion: ring springs to focus, toggle knob slides, screens slide+fade in (theme motion tokens, 0 = off); 16ms frame timer only while moving; motion-only frames drawn+presented in part (whole elements, pixel-snapped rects, == full draw); virtio fb flushes only damage; TICKS_PER_MS in types

This commit is contained in:
2026-10-28 13:58:38 +01:00
parent e952a149ec
commit 3b71243dea
11 changed files with 504 additions and 63 deletions

View File

@@ -29,9 +29,8 @@ const CELL_HEIGHT: usize = raster::font::HEIGHT as usize;
const FG: Color = Color::rgb(220, 220, 220);
const BG: Color = Color::rgb(16, 16, 24);
/// Output is shown at most this long after it is written. The timebase is
/// QEMU virt's 10 MHz.
const FLUSH_DELAY: u64 = 20 * 10_000;
/// Output is shown at most this long after it is written.
const FLUSH_DELAY: u64 = 20 * types::time::TICKS_PER_MS;
struct Screen {
/// The terminal's window, all of which scrolls.