When you use the turtle library, there's no "run" function. When you create the first agent a window appears, and then the python console receives new input and sends that to the window.
First: make a small proof of concept python project (no relation to the agent library), where we make a window, but keep the REPL active to receive new input. That is, figure out if we can make a Window, move it to a separate thread/subprocess and continue there, and then send signals to the process from the Python terminal about what to draw.
In this way we will have two different programs: one accepting inputs from the user in the Python terminal, a user facing library, but all calls to the library sends messages to the other UI-process which is doing the actual simulation.
When you use the turtle library, there's no "run" function. When you create the first agent a window appears, and then the python console receives new input and sends that to the window.
First: make a small proof of concept python project (no relation to the agent library), where we make a window, but keep the REPL active to receive new input. That is, figure out if we can make a Window, move it to a separate thread/subprocess and continue there, and then send signals to the process from the Python terminal about what to draw.
In this way we will have two different programs: one accepting inputs from the user in the Python terminal, a user facing library, but all calls to the library sends messages to the other UI-process which is doing the actual simulation.