where we render graphics

WindowLoop is an instance of soy._internals.LoopThread which calls each object so that rendering is performed in the background. This allows physics (processed in SceneLoop) and Python code to continue without interruptions to or by rendering.

Each window will then render it's widgets, each an instance of soy.widgets.Widget. The more popular of these include:

  • soy.widgets.Canvas - renders a texture directly, used to display graphics and text
  • soy.widgets.Projector - renders the "output" of a soy.bodies.Camera
  • soy.widgets.StackX - this stacks children widgets horizontally
  • soy.widgets.StackY - this stacks children widgets vertically
  • soy.widgets.StackZ - this stacks children widgets over each other, akin to root-level widgets

Interactive widgets have not yet been written but are planned for the future.

WindowLoop has not yet replaced this function of CoreLoop, this is a work in progress.