processing / processing/p5.js

Add additional WebGL filter stress scenarios to visual regression suite

Open
#8,550 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area:Core Area:WebGL Community Input Needed Enhancement Help Wanted
Dominant language
JavaScript
Stars
24k
Forks
3.8k
Avg merge
3d 16h
Merged PRs (30d)
25

Description

Increasing access

Adds more WebGL filter scenarios to the visual regression suite so rendering issues can be caught earlier. This makes it easier to verify changes and reduces the chance of unnoticed breakage across releases.

Most appropriate sub-area of p5.js?
  • Accessibility
  • Color
  • Core/Environment/Rendering
  • Data
  • DOM
  • Events
  • Image
  • IO
  • Math
  • Typography
  • Utilities
  • WebGL
  • Build process
  • Unit testing
  • Internationalization
  • Friendly errors
  • Other (specify if possible)
Feature enhancement details

While working on #8549 , I manually tested a few additional WebGL filter interaction scenarios that are not currently covered by the visual regression suite.

The current suite covers individual filters and some chained combinations, but does not cover:

  • Filters applied after texture() on WebGL geometry
  • Filters on createGraphics(WEBGL) buffers
  • Filters after resizeCanvas()
  • Filters with pixelDensity(2)
  • Additional chained combinations beyond existing coverage

These scenarios behaved consistently across versions during manual testing. It may be useful to formalize them into automated visual tests to improve regression detection in future releases.

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 locating the visual regression suite and its existing WebGL filter scenarios. Review how current filter snapshots are defined, then add coverage for filters after texture(), createGraphics(WEBGL), resizeCanvas(), pixelDensity(2), and additional chained combinations. Run the visual regression tests and confirm the new scenarios produce stable expected results.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
computer-graphics, testing
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.