InteractiveDynamics: Unknown agent position type in Forest Fire and Game of Life

Hey folks, I am having an issue with one of my models that seems to work fine using just Agents.jl functionality (e.g., run!(), etc.), but fails when trying any of the animation or interactive functionality from InteractiveDynamics.jl. I now notice that the same warning message seems to be present in the presentation of the Forest Fire and Game of Life examples in the Example Zoo.

Forest fire · Agents.jl Example Zoo (juliadynamics.github.io)

I can probably produce a minimal example, and give all of my sordid stacktraces, etc., but I am hoping that you folks (all with more experience than me) already know or can quickly come up with the explanation based on the existing examples.

Thanks in advance for any insights! (Some details do follow.)

Here’s the warning and eventual error I get when trying something like abmvideo():

┌ Warning: Unknown agent position type: Vector{Any}. Skipping plotting agents.
└ @ InteractiveDynamics D:\.julia\packages\InteractiveDynamics\x2wQQ\src\agents\abmplot.jl:290
ERROR: MethodError: no method matching draw_atomic(::GLMakie.Screen{GLFW.Window}, ::Scene, ::Combined{InteractiveDynamics._abmplot, Tuple{ABMObservable{AgentBasedModel{GridSpaceSingle{2, false}, Grain, typeof(Agents.Schedulers.fastest), Dict{Symbol, Any}, 
Random.TaskLocalRNG}, typeof(grain_step!), typeof(model_step!), 
Nothing, Nothing, Nothing, Nothing, Bool}}})
Closest candidates are:
  draw_atomic(::GLMakie.Screen, ::Scene, ::Union{MeshScatter, Scatter}) at D:\.julia\packages\GLMakie\N16Fq\src\drawing_primitives.jl:197
  draw_atomic(::GLMakie.Screen, ::Scene, ::Lines) at D:\.julia\packages\GLMakie\N16Fq\src\drawing_primitives.jl:263
  draw_atomic(::GLMakie.Screen, ::Scene, ::LineSegments) at D:\.julia\packages\GLMakie\N16Fq\src\drawing_primitives.jl:283      
  ...

More boring stuff:

(Moving) pkg> st
     Project Moving v0.1.0
      Status `D:\Dev\Moving\Project.toml`
  [46ada45e] Agents v5.6.5
  [e9467ef8] GLMakie v0.8.2
  [916415d5] Images v0.25.2
  [ec714cd0] InteractiveDynamics v0.21.12
  [14b8a8f1] PkgTemplates v0.7.31
  [91a5bcdd] Plots v1.38.5
  [295af30f] Revise v3.5.1
  [9a3f8284] Random

Sorry to hear that. Since it’s also throwing the warning in the docs, I suspect there was some regression in the past release(s). Could you please try out to run your code with Agents@5.6.4 and/or InteractiveDynamics@0.21.11 and report if any of these fixed it?

Many thanks for the suggestion. I tried Agents@5.6.4 and InteractiveDynamics@0.21.11 and got the same result. I was going to try something in the Agents@5.5 and InteractiveDynamics@0.20 range, but Agents seemed to insist on a newer InteractiveDynamics at that point, so I stopped flailing.

Thanks again! This isn’t critical to my work, but if more folks care, here is some detail that adds the stacktrace:

┌ Warning: Unknown agent position type: Vector{Any}. Skipping plotting agents.     plot.jl:2
└ @ InteractiveDynamics D:\.julia\packages\InteractiveDynamics\x2wQQ\src\agents\abmbmplot.jl:290                                                                      :Scene, :
ERROR: MethodError: no method matching draw_atomic(::GLMakie.Screen{GLFW.Window}, :aceSingl{ ::Scene, ::Combined{InteractiveDynamics._abmplot, Tuple{ABMObservable{AgentBaseddeskLocalR}Model{GridSpaceSingle{2, false}, Grain, typeof(Agents.Schedulers.fastest), Dict{Sl,Bool}}}) ymbol, Any}, Random.TaskLocalRNG}, typeof(grain_step!), typeof(model_step!), Nothoting, Nothing, Nothing, Nothing, Bool}}})                                                   e
Closest candidates are:                                                            a\packag
  draw_atomic(::GLMakie.Screen, ::Scene, ::Union{MeshScatter, Scatter}) at D:\.juli        rlia\packages\GLMakie\N16Fq\src\drawing_primitives.jl:197                           Fq\src\d
  draw_atomic(::GLMakie.Screen, ::Scene, ::Lines) at D:\.julia\packages\GLMakie\N16        q16Fq\src\drawing_primitives.jl:263                                                 kie\N16F
  draw_atomic(::GLMakie.Screen, ::Scene, ::LineSegments) at D:\.julia\packages\GLMaMakie\N16Fq\src\drawing_primitives.jl:283
  ...                                                                                      m
Stacktrace:                                                                        tiveDynaA
 [1] insert!(screen::GLMakie.Screen{GLFW.Window}, scene::Scene, x::Combined{Interac, typeofpactiveDynamics._abmplot, Tuple{ABMObservable{AgentBasedModel{GridSpaceSingle{2, fsestep!), alse}, Grain, typeof(Agents.Schedulers.fastest), Dict{Symbol, Any}, Random.TaskLoNGcalRNG}, typeof(grain_step!), typeof(model_step!), Nothing, Nothing, Nothing, NotBo        phing, Bool}}})                                                                     \.julia\
   @ GLMakie D:\.julia\packages\GLMakie\N16Fq\src\drawing_primitives.jl:126                 
 [2] insertplots!(screen::GLMakie.Screen{GLFW.Window}, scene::Scene)   @ GLMakie D:es)     
D:\.julia\packages\GLMakie\N16Fq\src\screen.jl:435
 [3] insertplots!(screen::GLMakie.Screen{GLFW.Window}, scene::Scene) (repeats 2 timimes)
   @ GLMakie D:\.julia\packages\GLMakie\N16Fq\src\screen.jl:438

julia>