* Update README.md
* added the image comparator which is the pixel matching algorithm
* added build.gradle file
* added the test runner
* added the simple test
* Revise README for Jetpack Compose migration strategy
Updated README to reflect migration to Jetpack Compose and strategy for replacing JEditTextArea with RSyntaxTextArea. Added insights on LSP-based editor research and the need for user feedback on Tweak Mode and autocompletion features.
* fixing the build issues
* added junit as dependency
* removing custom class implementation
* inclding visual-tests in settings
* fixed the overlapping cmd
* cleaning
* adding packages
* added updated screenshot structure
* refactoring
* added tests in suits
* removed simple test
* deleting earlier files
* updated the core/gradle file
* added the infrastructure
* added some tests ported by p5js
* removing test rendering suite and its test file
* added screenshots
* config files
* fixed the pixeldensity to 1
* Revert "fixed the pixeldensity to 1"
This reverts commit 66071ac191.
* fixed pixeldensity to 1
* Configure dependencyUpdates task in build.gradle.kts
Add configuration for dependencyUpdates task to manage non-stable versions.
* removing rendering gradient screenshot
* General cleanup of `Base`
I started cleaning up some of `Base`'s startup sequence for clarity of what is being started when. Nowhere near completion and I think a lot of this class will need to be refactored in the future.
Also removed some of the timing measurement comments
Added some comments to the Processing CLI class
* Move contributor list to CONTRIBUTORS.md (#1313)
Created CONTRIBUTORS.md and updated .all-contributorsrc to reference the new file instead of README.md. This will reduce the size of the README and improve loading times.
* Update BUILD.md with build failure troubleshooting
Added troubleshooting steps for build failures related to permissions.
* fixing the build issues
* inclding visual-tests in settings
* updated the core/gradle file
* config files
* Configure dependencyUpdates task in build.gradle.kts
Add configuration for dependencyUpdates task to manage non-stable versions.
* fix rebasing
---------
Co-authored-by: Stef Tervelde <stef@steftervelde.nl>
Co-authored-by: Raphaël de Courville <raphael@processingfoundation.org>
Processing is a flexible software sketchbook and a programming language designed for learning how to code.
This repository contains the source code for the Processing project for people who want to help improve the code.
Welcome to Processing 4.4!
We’re excited to announce the release of Processing 4.4! This update modernizes Processing under the hood to make future development easier. Key changes include switching the build system from Ant to Gradle, starting the transition from Swing to Jetpack Compose Multiplatform for the UI, and adding Kotlin support to the codebase. To learn more, check out Changes in 4.4.0.
We hope these updates will make it easier for more people to contribute to Processing. If you'd like to get involved, have a look at our Contributor Guide.
Acknowledgement
Processing was initiated in 2001 by Ben Fry and Casey Reas, who led the development and maintenance of the project until 2023. We are grateful for their vision and dedication to the project. Processing is also indebted to over two decades of contributions from the broader Processing community.
Using Processing
If you're interested in using Processing, head over to the download page, or read more about the project on the Processing website. There are also several tutorials that provide a helpful introduction. They are complemented by hundreds of examples that are included with the software itself.
Getting Help
For assistance with your own sketches, projects, or code, please post your question on the Processing forum: https://discourse.processing.org/. Our community is full of experienced developers and knowledgeable users who are eager to help. Before you post, please take a moment to read the guidelines on asking questions to make sure you get the best possible help. We’re incredibly grateful for the support and knowledge shared by everyone on the forum over the years.
Contributing to Processing
Processing is a labor of love, built over decades by people who believe in this community and genuinely enjoy contributing to it. If you want to fix a bug that’s been bothering you or give back to the project in other ways, you’re in the right place! We invite you to think of this repository as a community garden. We’re here to cultivate something beautiful together, and that takes kindness, dedication, and patience. For detailed guidelines on how to contribute, please see our CONTRIBUTING.md.
We understand that contributing to open source can be intimidating, but mistakes are part of learning—and we are all learners here. We do not assume knowledge or imply that somebody should already know any particular thing in order to contribute. Whether you’re a newcomer or an expert, your knowledge and contributions are valuable. Never hesitate to ask questions, open an issue, a pull request, or write a comment. We also encourage you to step in if you can: reply to issues, review pull requests, or help out in whatever way feels right for you.
While we assume good intentions, and will give everyone a chance to learn, we have zero tolerance for repeated harassment, harmful behavior, or toxicity of any kind. Please read our Code of Conduct and join us in creating a safe and supportive environment through your words and actions.
Building Processing
Building Processing locally on your machine will let you troubleshoot and make sure your contributions work as intended before submitting them to this repository. It also gives you the flexibility to experiment and learn more about how Processing is structured.
For a quick start:
- Fork and clone the repository
- Open it in IntelliJ IDEA
- Wait for Gradle to sync
- Next to the run Button, select the
ProcessingConfiguration - Hit Run
For more information and detailed instructions, follow our How to Build Processing guide.
Contact Information
For technical support or troubleshooting with your project, please post on the Processing Forum.
For bug reports or feature requests, please create an issue.
For non-technical inquiries, here’s how to get in touch:
- For press inquiries, general information about the Processing software, or other non-technical questions, contact hello@processing.org.
- For anything related to the Processing Foundation or broader topics beyond the software, please reach out to foundation@processingfoundation.org.
License & Copyright
- The core library is licensed under the GNU Lesser General Public License version 2.1 (LGPL-2.1).
- Everything else including the PDE is licensed under the GNU General Public License version 2 (GPL-2.0).
- The reference, including the JavaDoc comments, is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC-BY-NC-SA-4.0).
For complete licensing information about the Processing core library and software, see LICENSE.md
For licensing information about the Processing website see the processing-website README.
Copyright (c) 2015-now The Processing Foundation
Contributors
See CONTRIBUTORS.md for a list of all contributors to the project.
This project follows the all-contributors specification and the Emoji Key ✨ for contribution types. Detailed instructions on how to add yourself or add contribution emojis to your name are here. You can also post an issue or comment on a pull request with the text: @all-contributors please add @YOUR-USERNAME for THINGS (where THINGS is a comma-separated list of entries from the list of possible contribution types) and our nice bot will add you to CONTRIBUTORS.md automatically!