playcanvas / playcanvas/engine

Mouse events during frame update

Open
#6,110 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area: input enhancement
Dominant language
JavaScript
Stars
16.8k
Forks
2k
Avg merge
4h 32m
Merged PRs (30d)
222

Description

At the moment the mouse/touch event callbacks are executed immediately on browser detecting those. This makes it hard to fence a logic that depends on those events, as they are fired outside of the application update loop.

Since we (end users) are not subscribing to the window events directly, but listening for the application to tell us when an event happened, the application could fire them at a proper time during the frame update instead, in line with its update logic. We can then use its frameend event as a guarantee that all systems and all inputs have been processed and the application is done updating the frame.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing where browser mouse and touch callbacks enter the application and how the frame update loop dispatches application events. Compare the current callback timing with frameend; done means event notifications are delivered during the update loop while frameend remains after all systems and inputs are processed.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
game-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.