OVERVIEW this is an early build of a utility I'm calling "zeta-lib". so far it has two main capabilities: framerate stabilization and broadcasting of mouse events. ABOUT THIS DEMO the measured framerate is displayed in the top left. by performing actions with your mouse, you can view which events are emitted and where they took place. special interactions are performed for dragging and for clicking the titular zeta in the background. FRAMERATE STABILIZATION zeta-lib includes a constant called "target_framerate" which can be used to cap a project's framerate to a desired value. for example, setting the value to "30" would tell zeta-lib to broadcast "advance_frame" 30 times per second. by using this broadcast to run your rendering procedure you can ensure that it runs at a consistent speed across different devices and even in turbo. MOUSE EVENTS zeta-lib will emit broadcasts for "mouse_down" and "mouse_up". after either of these events, the zeta-lib sprite will be positioned at the location of the event. in addition, if the mouse is held for a configurable amount of time, it will broadcast "mouse_drag", though this will not update the position as the drag technically originated at an earlier location. this time can be changed using the "time_before_drag" constant. when "mouse_up" fires, zeta-lib will set "mouse_up_action" to either "click" or "drag" to indicate whether the event is from a drag or not. WHO IS THIS FOR primarily, this was written for use in my own projects. it stemmed from features of my GUI library I thought warranted refactoring into a standalone utility. however, it was created with readability, performance, and extensibility in mind, so it could absolutely be used for other user's projects as well. if you have any interest in using this in yourself, feel free to ask me questions about how it works. I'd appreciate some mention of the fact that your project uses zeta-lib in the notes if you do end up using it in a project.