From 29c13021914bd5baefbc99875f76c28efd20e094 Mon Sep 17 00:00:00 2001 From: Nikola <2212719@stud.hs-mannheim.de> Date: Mon, 16 Jun 2025 20:44:14 +0200 Subject: [PATCH 1/3] add lift to actually update param values on ui change --- scripts/main.jl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/main.jl b/scripts/main.jl index d4ec92f..45738d4 100644 --- a/scripts/main.jl +++ b/scripts/main.jl @@ -22,6 +22,9 @@ params = ( ) params_obs = Observable{Constants.CombinedPDEParams}(CombinedPDEParams(N, dx, params.Du[], params.Dv[], params.F[], params.k[], params.ϵ[], params.a[], params.b[])) +lift(params.N, params.dx, params.Du, params.Dv, params.F, params.k, params.ϵ, params.a, params.b) do N, dx, Du, Dv, F, k, ϵ, a, b + params_obs[] = CombinedPDEParams(N, dx, Du, Dv, F, k, ϵ, a, b) +end U = ones(N, N) V = zeros(N, N) From ba7ef483c48a3991b8b6db3ca187ba8e91358cf2 Mon Sep 17 00:00:00 2001 From: Nikola <2212719@stud.hs-mannheim.de> Date: Mon, 16 Jun 2025 20:44:47 +0200 Subject: [PATCH 2/3] make slider not limit whole screen size and remove print --- src/visualization.jl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/visualization.jl b/src/visualization.jl index b4ded0a..7efa50e 100644 --- a/src/visualization.jl +++ b/src/visualization.jl @@ -89,7 +89,7 @@ function build_ui(U, V, param_obs_map::NamedTuple, params_obs, heat_obs) btn_step = Button(buttongrid[1, 1], width=50, label="Step") btn_start = Button(buttongrid[1, 2], width=50, label=run_label) btn_reset = Button(buttongrid[1, 3], width=50, label="Reset") - slidergrid = SliderGrid(fig[3, 1], (label="Speed", range=1:1:100, format="{}x", width=350, startvalue=stepsize[])) + slidergrid = SliderGrid(fig[3, 1], (label="Speed", range=1:1:100, format="{}x", width=350, startvalue=stepsize[]), tellwidth=false) speed_slider = slidergrid.sliders[1].value @@ -156,7 +156,6 @@ function build_ui(U, V, param_obs_map::NamedTuple, params_obs, heat_obs) return end x, y = pt - println("params_obs[].N, ", params_obs[].N) i, j = coord_to_index(x, y, params_obs[].N) # get corners of square that will get filled with concentration From e994df0d65c1d9db82a808294549b355e8d77643 Mon Sep 17 00:00:00 2001 From: Nikola <2212719@stud.hs-mannheim.de> Date: Mon, 16 Jun 2025 20:49:38 +0200 Subject: [PATCH 3/3] parameter changes made from code during runtime are reflected in text boxes --- src/visualization.jl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/visualization.jl b/src/visualization.jl index 7efa50e..3f4c132 100644 --- a/src/visualization.jl +++ b/src/visualization.jl @@ -57,6 +57,9 @@ function param_box!(grid, row, labeltxt, observable::Observable; col=1) @warn "Invalid input for $labeltxt: $s" end end + on(observable) do val + box.displayed_string[] = string(val) + end end function multi_step!(state, n_steps, heat_obs::Observable, params_obs::Observable; step_method=step_gray_scott!, dx=1)