processing / processing/processing4

Implement image comparison for visual tests

Open
#882 7 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

help wanted
Dominant language
Java
Stars
494
Forks
183
Avg merge
4h 39m
Merged PRs (30d)
3

Description

Implement a visual snapshot testing system, inspired by the one used in p5.js.

[!NOTE]
This has been added to our pr05 2025 project list.

Goals
  • Develop a visual snapshot testing framework for Processing.
  • Automate image comparisons using pixel matching (e.g., image-comparison).
  • Integrate the testing system into GitHub workflows.
  • Port existing p5.js snapshot tests and develop new ones for Processing’s Java environment.
Motivation

This will benefit both the Processing community and its future contributors by providing a reliable way to catch visual regressions, making it easier for contributors to propose changes with confidence.

References

Read more about the p5.js approach in the documentation and this contributor blog post.

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 reading the referenced p5.js visual-testing documentation and reviewing the image-comparison project, then inspect Processing’s existing GitHub workflows and any current snapshot tests. Done means a visual snapshot framework exists for Processing, pixel comparisons and workflow integration are automated, and relevant p5.js tests have been ported or new Java tests added.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, java
Domain
ci-cd, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.