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]: TRIANGLES Requires Multiples of 3

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

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

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

Línea de trabajo

Empieza reproduciendo el caso informado en el sketch del editor de p5.js enlazado: llama a beginShape(TRIANGLES), añade cuatro vértices y llama a endShape(). Compara el resultado con p5.js 1, donde se ignoraba el vértice adicional. El trabajo estará terminado cuando p5.js 2 gestione el vértice adicional sin un error de ejecución y dibuje el triángulo completo.

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

Descripción

Area:Core p5.js 2.0+
Most appropriate sub-area of p5.js?
  • Accessibility
  • Color
  • Core/Environment/Rendering
  • Data
  • DOM
  • Events
  • Image
  • IO
  • Math
  • Typography
  • Utilities
  • WebGL
  • WebGPU
  • p5.strands
  • Build process
  • Unit testing
  • Internationalization
  • Friendly errors
  • Other (specify if possible)
p5.js version

2.3.4

Web browser and version

No response

Operating system

No response

Steps to reproduce this
Steps:

Creating a custom shape using the beginShape(TRIANGLES) option in v2.0+ requires the number of vertices to be exactly a multiple of 3 or it will hit a runtime error and not draw anything. The error is not a particularly friendly one: TypeError: can't access property "position", v1 is undefined

In p5 V1, extra vertices that could not be wrangled into a triangle (e.g. a shape with 4 vertices) were simply ignored.

I think the V1 method makes a lot more sense, and we should go back to ignoring extra vertices. This would also maintain some continuity for people porting V1 code to V2.

Snippet:

https://editor.p5js.org/lewi0622/sketches/lnZLG0GhN


  beginShape(TRIANGLES);
  vertex(random(width), random(height));
  vertex(random(width), random(height));
  vertex(random(width), random(height));
  //uncommment fourth vertex to see issue in v2+, not in an issue in v1
  // vertex(random(width), random(height));
  endShape();

Lenguaje dominante
JavaScript
Estrellas
24.2k
Forks
3.9k
Merge medio
2 d 17 h
PR fusionados (30 d)
35

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.