Hey @Tanvi2

Appreciate the interest! Here’s a preview of our multiplayer cursors update working inside Pan & Zoom Pro:

We’re relying heavily on Pan & Zoom Pro’s coordinate system to place other user’s cursors into your canvas. This approach mitigates the drawbacks common in page-based multiplayer cursor systems (like Together.js) as the Pan & Zoom Pro canvas is scale invariant and we therefore don’t have to worry about differences in user page width, zoom level, etc.

Keep in mind, you will need to set up your own realtime database with Firebase to act as an intermediate server for this to work. We’re working hard to make this as lightweight as possible and will have all details on how to set this up upon release. It’s pretty simple.

At present we’ve got the following key features working:

  • Render cursor position correctly regardless of canvas scale. For example, if your canvas is at 200% and mine is at 50%, our code will correctly offset your cursor on my canvas so it is correctly positioned.
  • Keep cursor representations static when other users are panning the canvas
  • Polling frequency adjustment
  • Linear interpolation for cursor representations to keep things smooth even at low polling frequencies
  • Display names from your Bubble database
  • User colours from your Bubble database

Still in development:

  • Anonymous user cursor representations for users who are not logged in
  • Proper cursor culling based on user cursor leaving viewport/not hovering over canvas
  • Methods to only show cursors for certain canvas instances (say if you were changing canvas data based on URL and wanted cursors only viewable when given users are viewing that URL, etc.)
  • More bug fixes and performance optimisations.

We expect to release this update around Jan/Feb 2025.

As for the rest of the roadmap, we’ll be sharing that soon once we’ve bedded down our priorities for this plugin. Stay tuned.

Tom

1 Like