MakieOrg / Makie.jl

Interactive data visualizations and plotting in Julia
https://docs.makie.org/stable
MIT License
2.4k stars 310 forks source link

Error in renderloop when resizing window with heatmap and autolimitaspect #4511

Open jaakkor2 opened 3 days ago

jaakkor2 commented 3 days ago
julia> ┌ Warning: error in renderloop
│   exception =
│    StackOverflowError:
│    Stacktrace:
│         [1] similar
│           @ .\abstractarray.jl:839 [inlined]
│         [2] _similar_for
│           @ .\array.jl:717 [inlined]
│         [3] _collect(c::Vector{Point{2, Float32}}, itr::Base.Generator{Vector{Point{2, Float32}}, Makie.var"#728#729"{MakieCore.Text{Tuple{Vector{Point{2, Float32}}}}, StaticArraysCore.SMatrix{4, 4, Float64, 16}, Symbol}}, ::Base.EltypeUnknown, isz::Base.HasShape{1})
│           @ Base .\array.jl:859
│         [4] collect_similar(cont::Vector{Point{2, Float32}}, itr::Base.Generator{Vector{Point{2, Float32}}, Makie.var"#728#729"{MakieCore.Text{Tuple{Vector{Point{2, Float32}}}}, StaticArraysCore.SMatrix{4, 4, Float64, 16}, Symbol}})
│           @ Base .\array.jl:763
│         [5] map(f::Function, A::Vector{Point{2, Float32}})
│           @ Base .\abstractarray.jl:3285
│         [6] plot_to_screen(plot::MakieCore.Text{Tuple{Vector{Point{2, Float32}}}}, points::Vector{Point{2, Float32}})
│           @ Makie C:\Users\jaakkor2\.julia\packages\Makie\6c4lt\src\basic_recipes\error_and_rangebars.jl:264
│         [7] (::Makie.var"#2424#2428"{MakieCore.Text{Tuple{Vector{Point{2, Float32}}}}, Observable{Vector{Point{2, Float32}}}, Base.RefValue{Vector{Int64}}})(segs::Vector{Point{2, Float32}}, pos::Vector{Point{2, Float32}}, ::StaticArraysCore.SMatrix{4, 4, Float64, 16}, ::GeometryBasics.HyperRectangle{2, Int64}, ::Nothing, transf::Function, space::Symbol)
│           @ Makie C:\Users\jaakkor2\.julia\packages\Makie\6c4lt\src\basic_recipes\text.jl:82
│         [8] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
│           @ Base .\essentials.jl:892
│         [9] invokelatest(::Any, ::Any, ::Vararg{Any})
│           @ Base .\essentials.jl:889
│        [10] (::Observables.OnAny)(value::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:420
│        [11] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│        [12] invokelatest
│           @ .\essentials.jl:889 [inlined]
│        [13] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│        [14] #62
│           @ .\tuple.jl:627 [inlined]
│        [15] BottomRF
│           @ .\reduce.jl:86 [inlined]
│        [16] afoldl
│           @ .\operators.jl:544 [inlined]
│        [17] _foldl_impl
│           @ .\reduce.jl:68 [inlined]
│        [18] foldl_impl
│           @ .\reduce.jl:48 [inlined]
│        [19] mapfoldl_impl
│           @ .\reduce.jl:44 [inlined]
│        [20] mapfoldl
│           @ .\reduce.jl:175 [inlined]
│        [21] foldl
│           @ .\reduce.jl:198 [inlined]
│        [22] foreach
│           @ .\tuple.jl:627 [inlined]
│        [23] (::Makie.var"#303#304"{UnionAll, Tuple{Observable{Vector{Point{2, Float32}}}}})(kw::Vector{Pair{Symbol, Any}}, args::Point{2, Float32})
│           @ Makie C:\Users\jaakkor2\.julia\packages\Makie\6c4lt\src\interfaces.jl:190
│        [24] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
│           @ Base .\essentials.jl:892
│        [25] invokelatest(::Any, ::Any, ::Vararg{Any})
│           @ Base .\essentials.jl:889
│        [26] (::Observables.OnAny)(value::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:420
│        [27] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│        [28] invokelatest
│           @ .\essentials.jl:889 [inlined]
│        [29] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│        [30] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│        [31] (::Observables.MapCallback)(value::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:436
│    --- the last 5 lines are repeated 1 more time ---
│        [37] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│        [38] invokelatest
│           @ .\essentials.jl:889 [inlined]
│        [39] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│        [40] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│        [41] (::Observables.SetindexCallback)(x::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:148
│        [42] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│        [43] invokelatest
│           @ .\essentials.jl:889 [inlined]
│        [44] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│        [45] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│        [46] (::Observables.MapCallback)(value::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:436
│    --- the last 5 lines are repeated 1 more time ---
│        [52] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│        [53] invokelatest
│           @ .\essentials.jl:889 [inlined]
│        [54] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│        [55] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│        [56] update_computedbbox!(computedbbox::Observable{GeometryBasics.HyperRectangle{2, Float32}}, suggestedbbox::GeometryBasics.HyperRectangle{2, Float32}, alignment::Tuple{Float32, Float32}, reporteddimensions::GridLayoutBase.Dimensions, alignmode::Inside, protrusions::GridLayoutBase.RectSides{Float32}, sizeattrs::Observable{Tuple{Union{Nothing, Float32, Auto, Fixed, Relative}, Union{Nothing, Float32, Auto, Fixed, Relative}}}, autosizeobservable::Observable{Tuple{Union{Nothing, Float32}, Union{Nothing, Float32}}})
│           @ GridLayoutBase C:\Users\jaakkor2\.julia\packages\GridLayoutBase\TSvez\src\layoutobservables.jl:356
│        [57] (::GridLayoutBase.var"#106#108"{Observable{GridLayoutBase.Dimensions}, Observable{Tuple{Union{Nothing, Float32, Auto, Fixed, Relative}, Union{Nothing, Float32, Auto, Fixed, Relative}}}, Observable{Tuple{Union{Nothing, Float32}, Union{Nothing, Float32}}}, Observable{Any}, Observable{GridLayoutBase.RectSides{Float32}}, Observable{GeometryBasics.HyperRectangle{2, Float32}}})(sbbox::GeometryBasics.HyperRectangle{2, Float32}, ali::Tuple{Float32, Float32})
│           @ GridLayoutBase C:\Users\jaakkor2\.julia\packages\GridLayoutBase\TSvez\src\layoutobservables.jl:218
│        [58] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
│           @ Base .\essentials.jl:892
│        [59] invokelatest(::Any, ::Any, ::Vararg{Any})
│           @ Base .\essentials.jl:889
│        [60] (::Observables.OnAny)(value::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:420
│        [61] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│        [62] invokelatest
│           @ .\essentials.jl:889 [inlined]
│        [63] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│        [64] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│        [65] align_to_bbox!(gl::GridLayout, suggestedbbox::GeometryBasics.HyperRectangle{2, Float32})
│           @ GridLayoutBase C:\Users\jaakkor2\.julia\packages\GridLayoutBase\TSvez\src\gridlayout.jl:1096
│        [66] (::GridLayoutBase.var"#11#12"{GridLayout})(bbox::GeometryBasics.HyperRectangle{2, Float32})
│           @ GridLayoutBase C:\Users\jaakkor2\.julia\packages\GridLayoutBase\TSvez\src\gridlayout.jl:158
│        [67] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│        [68] invokelatest
│           @ .\essentials.jl:889 [inlined]
│        [69] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│        [70] update!(gl::GridLayout)
│           @ GridLayoutBase C:\Users\jaakkor2\.julia\packages\GridLayoutBase\TSvez\src\gridlayout.jl:193
│        [71] update!
│           @ C:\Users\jaakkor2\.julia\packages\GridLayoutBase\TSvez\src\gridlayout.jl:1525 [inlined]
│        [72] (::GridLayoutBase.var"#14#15"{GridLayoutBase.GridContent{GridLayout}, Axis})(c::GridLayoutBase.Dimensions)
│           @ GridLayoutBase C:\Users\jaakkor2\.julia\packages\GridLayoutBase\TSvez\src\gridlayout.jl:261
│        [73] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│        [74] invokelatest
│           @ .\essentials.jl:889 [inlined]
│        [75] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│        [76] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│        [77] (::Observables.MapCallback)(value::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:436
│    --- the last 5 lines are repeated 2 more times ---
│        [88] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│        [89] invokelatest
│           @ .\essentials.jl:889 [inlined]
│        [90] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│        [91] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│        [92] (::Makie.var"#1676#1690"{Observable{Any}})(idealspace::Float32, space::MakieCore.Automatic)
│           @ Makie C:\Users\jaakkor2\.julia\packages\Makie\6c4lt\src\makielayout\lineaxis.jl:325
│        [93] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
│           @ Base .\essentials.jl:892
│        [94] invokelatest(::Any, ::Any, ::Vararg{Any})
│           @ Base .\essentials.jl:889
│        [95] (::Observables.OnAny)(value::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:420
│        [96] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│        [97] invokelatest
│           @ .\essentials.jl:889 [inlined]
│        [98] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│        [99] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│       [100] (::Observables.MapCallback)(value::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:436
│       [101] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│       [102] invokelatest
│           @ .\essentials.jl:889 [inlined]
│       [103] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│       [104] update_ticklabel_node(closure_args::Tuple{Observable{Bool}, Observable{Any}, Observable{Float32}, Observable{Any}, Observable{Vector{Float64}}}, ticklabel_annotation_obs::Observable{Vector{Tuple{Any, Point{2, Float32}}}}, labelgap::Float32, flipped::Bool, tickpositions::Vector{Point{2, Float32}}, tickstrings::Vector{Any})
│           @ Makie C:\Users\jaakkor2\.julia\packages\Makie\6c4lt\src\makielayout\lineaxis.jl:165
│       [105] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
│           @ Base .\essentials.jl:892
│       [106] invokelatest(::Any, ::Any, ::Vararg{Any})
│           @ Base .\essentials.jl:889
│       [107] (::Observables.OnAny)(value::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:420
│       [108] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│       [109] invokelatest
│           @ .\essentials.jl:889 [inlined]
│       [110] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│       [111] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│       [112] update_tickpos_string(closure_args::Tuple{Observable{Vector{Any}}, Observable{Vector{Point{2, Float32}}}, Observable{Vector{Float64}}, Observable{Tuple{Float32, Tuple{Float32, Float32}, Bool}}, Observable{Tuple{Float64, Float64}}}, tickvalues_labels_unfiltered::Tuple{Vector{Float64}, Vector{Any}}, reversed::Bool, scale::typeof(identity))
│           @ Makie C:\Users\jaakkor2\.julia\packages\Makie\6c4lt\src\makielayout\lineaxis.jl:229
│       [113] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
│           @ Base .\essentials.jl:892
│       [114] invokelatest(::Any, ::Any, ::Vararg{Any})
│           @ Base .\essentials.jl:889
│       [115] (::Observables.OnAny)(value::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:420
│       [116] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│       [117] invokelatest
│           @ .\essentials.jl:889 [inlined]
│       [118] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│       [119] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│       [120] (::Observables.MapCallback)(value::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:436
│    --- the last 5 lines are repeated 1 more time ---
│       [126] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│       [127] invokelatest
│           @ .\essentials.jl:889 [inlined]
│       [128] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│       [129] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│       [130] (::Observables.SetindexCallback)(x::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:148
│       [131] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│       [132] invokelatest
│           @ .\essentials.jl:889 [inlined]
│       [133] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│       [134] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│       [135] (::Observables.MapCallback)(value::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:436
│       [136] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│       [137] invokelatest
│           @ .\essentials.jl:889 [inlined]
│       [138] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│       [139] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│       [140] adjustlimits!(la::Axis)
│           @ Makie C:\Users\jaakkor2\.julia\packages\Makie\6c4lt\src\makielayout\blocks\axis.jl:1028
│       [141] (::Makie.var"#1747#1778"{Axis})(pxa::GeometryBasics.HyperRectangle{2, Int64}, lims::GeometryBasics.HyperRectangle{2, Float64})
│           @ Makie C:\Users\jaakkor2\.julia\packages\Makie\6c4lt\src\makielayout\blocks\axis.jl:507
│       [142] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
│           @ Base .\essentials.jl:892
│       [143] invokelatest(::Any, ::Any, ::Vararg{Any})
│           @ Base .\essentials.jl:889
│       [144] (::Observables.OnAny)(value::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:420
│    --- the last 98 lines are repeated 232 more times ---
│     [22881] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│     [22882] invokelatest
│           @ .\essentials.jl:889 [inlined]
│     [22883] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│     [22884] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│     [22885] (::Observables.MapCallback)(value::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:436
│     [22886] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│     [22887] invokelatest
│           @ .\essentials.jl:889 [inlined]
│     [22888] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│     [22889] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│     [22890] update_computedbbox!(computedbbox::Observable{GeometryBasics.HyperRectangle{2, Float32}}, suggestedbbox::GeometryBasics.HyperRectangle{2, Float32}, alignment::Tuple{Float32, Float32}, reporteddimensions::GridLayoutBase.Dimensions, alignmode::Inside, protrusions::GridLayoutBase.RectSides{Float32}, sizeattrs::Observable{Tuple{Union{Nothing, Float32, Auto, Fixed, Relative}, Union{Nothing, Float32, Auto, Fixed, Relative}}}, autosizeobservable::Observable{Tuple{Union{Nothing, Float32}, Union{Nothing, Float32}}})
│           @ GridLayoutBase C:\Users\jaakkor2\.julia\packages\GridLayoutBase\TSvez\src\layoutobservables.jl:356
│     [22891] (::GridLayoutBase.var"#106#108"{Observable{GridLayoutBase.Dimensions}, Observable{Tuple{Union{Nothing, Float32, Auto, Fixed, Relative}, Union{Nothing, Float32, Auto, Fixed, Relative}}}, Observable{Tuple{Union{Nothing, Float32}, Union{Nothing, Float32}}}, Observable{Any}, Observable{GridLayoutBase.RectSides{Float32}}, Observable{GeometryBasics.HyperRectangle{2, Float32}}})(sbbox::GeometryBasics.HyperRectangle{2, Float32}, ali::Tuple{Float32, Float32})
│           @ GridLayoutBase C:\Users\jaakkor2\.julia\packages\GridLayoutBase\TSvez\src\layoutobservables.jl:218
│     [22892] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
│           @ Base .\essentials.jl:892
│     [22893] invokelatest(::Any, ::Any, ::Vararg{Any})
│           @ Base .\essentials.jl:889
│     [22894] (::Observables.OnAny)(value::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:420
│     [22895] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│     [22896] invokelatest
│           @ .\essentials.jl:889 [inlined]
│     [22897] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│     [22898] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│     [22899] align_to_bbox!(gl::GridLayout, suggestedbbox::GeometryBasics.HyperRectangle{2, Float32})
│           @ GridLayoutBase C:\Users\jaakkor2\.julia\packages\GridLayoutBase\TSvez\src\gridlayout.jl:1096
│     [22900] (::GridLayoutBase.var"#11#12"{GridLayout})(bbox::GeometryBasics.HyperRectangle{2, Float32})
│           @ GridLayoutBase C:\Users\jaakkor2\.julia\packages\GridLayoutBase\TSvez\src\gridlayout.jl:158
│     [22901] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│     [22902] invokelatest
│           @ .\essentials.jl:889 [inlined]
│     [22903] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│     [22904] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│     [22905] update_computedbbox!(computedbbox::Observable{GeometryBasics.HyperRectangle{2, Float32}}, suggestedbbox::GeometryBasics.HyperRectangle{2, Float32}, alignment::Tuple{Float32, Float32}, reporteddimensions::GridLayoutBase.Dimensions, alignmode::Inside, protrusions::GridLayoutBase.RectSides{Float32}, sizeattrs::Observable{Tuple{Union{Nothing, Float32, Auto, Fixed, Relative}, Union{Nothing, Float32, Auto, Fixed, Relative}}}, autosizeobservable::Observable{Tuple{Union{Nothing, Float32}, Union{Nothing, Float32}}})
│           @ GridLayoutBase C:\Users\jaakkor2\.julia\packages\GridLayoutBase\TSvez\src\layoutobservables.jl:356
│     [22906] (::GridLayoutBase.var"#106#108"{Observable{GridLayoutBase.Dimensions}, Observable{Tuple{Union{Nothing, Float32, Auto, Fixed, Relative}, Union{Nothing, Float32, Auto, Fixed, Relative}}}, Observable{Tuple{Union{Nothing, Float32}, Union{Nothing, Float32}}}, Observable{Union{Inside, Outside, Mixed}}, Observable{GridLayoutBase.RectSides{Float32}}, Observable{GeometryBasics.HyperRectangle{2, Float32}}})(sbbox::GeometryBasics.HyperRectangle{2, Float32}, ali::Tuple{Float32, Float32})
│           @ GridLayoutBase C:\Users\jaakkor2\.julia\packages\GridLayoutBase\TSvez\src\layoutobservables.jl:218
│     [22907] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
│           @ Base .\essentials.jl:892
│     [22908] invokelatest(::Any, ::Any, ::Vararg{Any})
│           @ Base .\essentials.jl:889
│     [22909] (::Observables.OnAny)(value::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:420
│     [22910] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│     [22911] invokelatest
│           @ .\essentials.jl:889 [inlined]
│     [22912] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│     [22913] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│     [22914] (::Observables.MapCallback)(value::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:436
│     [22915] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│     [22916] invokelatest
│           @ .\essentials.jl:889 [inlined]
│     [22917] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│     [22918] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│     [22919] (::Makie.var"#238#240")(w_area::GeometryBasics.HyperRectangle{2, Int64})
│           @ Makie C:\Users\jaakkor2\.julia\packages\Makie\6c4lt\src\scenes.jl:257
│     [22920] #invokelatest#2
│           @ .\essentials.jl:892 [inlined]
│     [22921] invokelatest
│           @ .\essentials.jl:889 [inlined]
│     [22922] notify
│           @ C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
│     [22923] setindex!(observable::Observable, val::Any)
│           @ Observables C:\Users\jaakkor2\.julia\packages\Observables\YdEbO\src\Observables.jl:123
│     [22924] (::GLMakie.var"#windowsizecb#168"{Scene, GLMakie.Screen{GLFW.Window}})(window::GLFW.Window, width::Int32, height::Int32)
│           @ GLMakie C:\Users\jaakkor2\.julia\packages\GLMakie\JHrMq\src\events.jl:58
│     [22925] (::GLMakie.var"#167#169"{GLMakie.var"#windowsizecb#168"{Scene, GLMakie.Screen{GLFW.Window}}})(win::GLFW.Window, w::Int32, h::Int32)
│           @ GLMakie C:\Users\jaakkor2\.julia\packages\GLMakie\JHrMq\src\events.jl:75
│     [22926] _WindowSizeCallbackWrapper(window::GLFW.Window, width::Int32, height::Int32)
│           @ GLFW C:\Users\jaakkor2\.julia\packages\GLFW\wmoTL\src\callback.jl:43
│     [22927] PollEvents
│           @ C:\Users\jaakkor2\.julia\packages\GLFW\wmoTL\src\glfw3.jl:702 [inlined]
│     [22928] pollevents(screen::GLMakie.Screen{GLFW.Window}, frame_state::Makie.TickState)
│           @ GLMakie C:\Users\jaakkor2\.julia\packages\GLMakie\JHrMq\src\screen.jl:483
│     [22929] on_demand_renderloop(screen::GLMakie.Screen{GLFW.Window})
│           @ GLMakie C:\Users\jaakkor2\.julia\packages\GLMakie\JHrMq\src\screen.jl:939
│     [22930] renderloop(screen::GLMakie.Screen{GLFW.Window})
│           @ GLMakie C:\Users\jaakkor2\.julia\packages\GLMakie\JHrMq\src\screen.jl:967
└ @ GLMakie C:\Users\jaakkor2\.julia\packages\GLMakie\JHrMq\src\screen.jl:976
jkrumbiegel commented 3 days ago

That's a known problem with autolimitaspect, probably should just be documented because I don't know if it can be really solved. If you change the limits when the layout changes, then you sometimes change the layout again, and again, and again, etc. You can avoid this by fixing the space allotted for the tick labels (whose length change causes the relayout) with tight_ticklabel_spacing!(ax) or just hiding ticks altogether.