Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement image comparison for visual tests #882

Open
4 tasks
SableRaf opened this issue Dec 13, 2024 · 7 comments
Open
4 tasks

Implement image comparison for visual tests #882

SableRaf opened this issue Dec 13, 2024 · 7 comments
Labels
help wanted Extra attention is needed

Comments

@SableRaf
Copy link
Collaborator

SableRaf commented Dec 13, 2024

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

Note

This has been added to our GSoC 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.

@SableRaf SableRaf converted this from a draft issue Dec 13, 2024
@Stefterv Stefterv added the help wanted Extra attention is needed label Dec 18, 2024
@Rishab87
Copy link
Contributor

Rishab87 commented Mar 5, 2025

Hi I would like to work on this issue, can you please assign this to me?

@SableRaf
Copy link
Collaborator Author

SableRaf commented Mar 5, 2025

Hi @Rishab87,

This issue is a rather large undertaking and not ready to be assigned. However, we've added it to our GSoC 2025 project list. You're very welcome to apply!

For questions about Processing's participation in GSoC, check out this post on the Processing forum. You can also ask any question you have about this project in that thread.

@SableRaf SableRaf removed the help wanted Extra attention is needed label Mar 5, 2025
@Rishab87
Copy link
Contributor

Rishab87 commented Mar 5, 2025

Thanks for telling @SableRaf, I already made a basic implementation of it, I'll check out this project, I was already planning to apply for GSoC this year with p5

@SableRaf SableRaf added the help wanted Extra attention is needed label Mar 5, 2025
@LakshitSharma1
Copy link

Hi @SableRaf
I’m really interested in this project and plan to apply for GSoC 2025. I’ve read the p5.js documentation and blog post on snapshot testing, and I’d love to contribute to implementing a similar system for Processing.
I have experience with Java, JavaScript, and GitHub Actions, and I’d like to get more familiar with image comparison tools like image-comparison.
To get started, are there any existing test cases or Processing rendering examples that we should focus on first? Or should I look at the existing p5.js tests and try to adapt them?
Looking forward to your insights!

@SableRaf
Copy link
Collaborator Author

Hi @LakshitSharma1 and thanks for your question.

As Kit mentioned on the forum:

In the timeline, right now is the time to explore and (soon) to develop proposals. After proposals are submitted, some will be accepted, and then work can begin. So for now, please feel free to try things out and explore (and keep asking questions!), but not work on the projects directly.

For further questions, please check our GSoC 2025 FAQ or ask directly on this thread on the Processing forum.

@LakshitSharma1
Copy link

Hi @SableRaf,

Thanks for your earlier response! Now that we're further along in the GSoC timeline, I’m finalizing my proposal for this project. I’ve been exploring how snapshot testing works in p5.js and considering how it can be adapted for Processing.

I had a couple of follow-up questions:

  1. Are there any specific technical constraints in Processing’s rendering system that might make snapshot testing more challenging compared to p5.js?
  2. Would it be helpful to prototype a small proof of concept to demonstrate feasibility, or should I focus entirely on the proposal at this stage?
    Looking forward to your thoughts!

@SableRaf
Copy link
Collaborator Author

Hi @LakshitSharma1 for general GSoC questions please use the forum thread. If you have time sensitive questions you can use our feedback request form

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
Status: To do
Development

No branches or pull requests

4 participants