Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[p5.js 2.0+ Bug Report]: touches[0].x lags one pointer event behind while dragging

Abierto Apto para principiantes
#9,305 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 3 días

@titanstride ya está trabajando en esto.

Desde el 17/10/2026.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
76/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
javascript
Área
frontend

Línea de trabajo

Empieza en src/events/pointer.js, centrándote en _onpointermove y _updatePointerCoords; el issue informa de que las coordenadas se actualizan antes de almacenar el puntero activo. Ejecuta o amplía la prueba local del handler mencionada en el informe y, si es posible, verifica el comportamiento en un sketch. El trabajo está terminado cuando touches[0].x refleja la posición actual del toque durante el mismo evento de movimiento que mouseX.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Area:Events p5.js 2.0+
Most appropriate sub-area of p5.js?
  • Events
p5.js version

2.3.2

Web browser and version

Brave || 1.97.59

Operating system

macOS (local code-path test)

Steps to reproduce this
  1. Run a p5.js 2.3.2 sketch on a touch device, or enable touch emulation in browser DevTools.
  2. Drag one touch across the canvas while logging mouseX and touches[0].x in touchMoved().
  3. Compare the values on each move. In the local handler test, moving the touch from x=50 to x=150 updated mouseX to 150 while touches[0].x stayed at 50. On the next move, touches[0].x changed to 150.
Snippet
function setup() {
  createCanvas(300, 100);
}

function touchMoved() {
  console.log('mouseX:', mouseX, 'touchX:', touches[0] && touches[0].x);
}
Expected behavior

touches[0].x should reflect the current touch position during the move event.

Actual behavior and likely cause

The latest position appears in mouseX, but touches[0].x is one pointer event behind. In src/events/pointer.js, _onpointermove calls _updatePointerCoords(e) before storing the new event in _activePointers. The coordinate updater rebuilds touches from _activePointers, so it reads the previous event. This was confirmed with a direct local handler test; I have not yet verified the sketch end to end in a browser.

Lenguaje dominante
JavaScript
Estrellas
24.1k
Forks
3.9k
Merge medio
2 d 16 h
PR fusionados (30 d)
33

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de processing/p5.js

Todos los issues de processing/p5.js

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.