Clamp min size of layout demo

This commit is contained in:
2026-03-22 15:36:18 -04:00
parent 01eb861879
commit 3260747408

View File

@@ -76,7 +76,7 @@ async fn main() {
} }
async fn run_demo() -> Result<(), Box<dyn Error>> { async fn run_demo() -> Result<(), Box<dyn Error>> {
let initial_size = UiSize::new(960.0, 640.0); let initial_size = UiSize::new(1000.0, 800.0);
let viewport = ruin_reactivity::cell(initial_size); let viewport = ruin_reactivity::cell(initial_size);
let animation_elapsed = ruin_reactivity::cell(Duration::ZERO); let animation_elapsed = ruin_reactivity::cell(Duration::ZERO);
let memory_telemetry = ruin_reactivity::cell(sample_memory_telemetry()); let memory_telemetry = ruin_reactivity::cell(sample_memory_telemetry());
@@ -93,7 +93,8 @@ async fn run_demo() -> Result<(), Box<dyn Error>> {
let window = WaylandWindow::open( let window = WaylandWindow::open(
WindowSpec::new("Reactive layout demo") WindowSpec::new("Reactive layout demo")
.app_id("dev.ruin.reactive-layout") .app_id("dev.ruin.reactive-layout")
.requested_inner_size(initial_size), .requested_inner_size(initial_size)
.min_inner_size(UiSize::new(1000.0, 800.0)),
) )
.expect("Wayland window should open"); .expect("Wayland window should open");
let renderer = WgpuSceneRenderer::new( let renderer = WgpuSceneRenderer::new(
@@ -363,6 +364,8 @@ fn notify_worker_closed(state: &Rc<RefCell<WorkerState>>) {
let _ = event_tx.send(WorkerEvent::Closed); let _ = event_tx.send(WorkerEvent::Closed);
} }
const ANIMATION_FACTOR: f32 = 3.0;
fn build_dashboard_tree( fn build_dashboard_tree(
viewport: UiSize, viewport: UiSize,
animation_elapsed: Duration, animation_elapsed: Duration,
@@ -373,27 +376,27 @@ fn build_dashboard_tree(
let sidebar_width = lerp( let sidebar_width = lerp(
150.0, 150.0,
260.0, 260.0,
triangle_wave_seconds(animation_elapsed, 0.72, 0.0), triangle_wave_seconds(animation_elapsed, 0.72 * ANIMATION_FACTOR, 0.0),
); );
let inspector_width = lerp( let inspector_width = lerp(
180.0, 180.0,
280.0, 280.0,
triangle_wave_seconds(animation_elapsed, 0.84, 0.24), triangle_wave_seconds(animation_elapsed, 0.84 * ANIMATION_FACTOR, 0.24),
); );
let top_card_pulse = lerp( let top_card_pulse = lerp(
1.0, 1.0,
1.8, 1.8,
triangle_wave_seconds(animation_elapsed, 0.48, 0.0), triangle_wave_seconds(animation_elapsed, 0.48 * ANIMATION_FACTOR, 0.0),
); );
let bottom_left_pulse = lerp( let bottom_left_pulse = lerp(
1.0, 1.0,
2.1, 2.1,
triangle_wave_seconds(animation_elapsed, 0.64, 0.12), triangle_wave_seconds(animation_elapsed, 0.64 * ANIMATION_FACTOR, 0.12),
); );
let bottom_right_pulse = lerp( let bottom_right_pulse = lerp(
1.0, 1.0,
1.7, 1.7,
triangle_wave_seconds(animation_elapsed, 0.80, 0.30), triangle_wave_seconds(animation_elapsed, 0.80 * ANIMATION_FACTOR, 0.30),
); );
let memory_label = format_memory_telemetry(memory_telemetry); let memory_label = format_memory_telemetry(memory_telemetry);