Hi @claudine! I’m Tanya. I’ve been working with Java and JUnit lately and just submitted PR #1464:(Add basic unit test to verify test setup by TanyaC07 · Pull Request #1464 · processing/processing4 · GitHub) to the core module. This PR adds a simple basic Unit test to verify that the existing test infrastructure in Processing 4 is set up and working. I’m excited to contribute to this
Hello folks, I’m Lee. I initiated the L5 creative coding library, a Processing library in Lua. There are suggested proposal areas relating to Expanding L5 on the Project Ideas List.
I’m writing here because I received a direct message asking how to strengthen a proposal relating to L5 and in the interest of public conversation I wanted to post the response publicly here.
Personally, I don’t think you need to already be an expert in Lua. Folks with background in p5.js/Javascript and Processing/Java would most likely be able to jump in fairly quickly to working in L5/Lua. See L5 for Processing/p5.js programmers for example.
To help strengthen a proposal relating to L5, it’s a great idea to install L5 and try running the L5 starter program. You could try creating programs, running example code, and generally get a feel for what setup and debugging feel like. Review L5’s Contributing documentation, take a look at the L5 issues, L5 website issues, and this less formal TODO list. L5 is a new project so there’s lots of opportunities for testing, including building out a test suite potentially, and lots of bug fixes and refactoring, improving error messages, and completing some Processing and p5 functions.
Other proposal ideas that could be quite useful are helping to build a first version of sound and camera libraries for L5. For sound, Love2d (our underlying framework) already has sound sample functions, and we could create a nice wrapper around the FFI library for additional sound synthesis to get closer to parity with p5.sound. For video, we already have built in much video functionality, though for running a webcam, I have successful tests using a C library that would need to be integrated a bit better. My first successful build of a webcam library for L5 (using some C code) is here.
One other area that is distinct from other Processing/p5 languages is that L5 is also motivated by a desire to build a creative coding library that is accessible even on older hardware, and with a goal of running long into the future, inspired by the community of practice and concept of Permacomputing. There is a dedicated page for L5 on the Permacomputing wiki. You’ll see noted there a tension with hosting on GitHub forge, and another area to explore would be moving to a different forge or considering other infrastructure ideas (self-hosted, Codeberg, etc).
So these are all areas to consider, and engaging with a number of them would help strengthen a proposal. But obviously, you don’t need to take all of this on, and you are welcome to make other proposals! Feel free to ask additional questions relating to a Summer of Code application here. And for general L5 discussions and questions, you are also welcome to post on Discourse in the new L5 category.
Hi everyone! ![]()
Thanks to mentors @claudine and @lee for the additional info.
Meetup Highlights
It was great meeting many of you at the meetup on Monday! There were many excellent questions. Below are highlighted notes:
- For any proposals on the libraries (p5.js, processing4), maintain backwards compatibility. You can propose new functionality, but we use semantic versioning, and major version releases are not planned (so no breaking-change API updates can be considered)
- In general, technical research during the proposal phase is recommended. @clairep94 wrote that for E2E testing on the editor there “no preferred testing framework, however I believe there is some existing work either on the web editor repo, or sibling repos that have started setup to use playwright for accessibility testing. Feel free to do some research on this and add this to your application!”
- Although you can write code as part of technical research, that is not the most important part of a strong proposal. A good proposal will research its topic substantially: review older (closed or open) issues and work; get community feedback if it makes sense of the project; do market research of other relevant work. Understanding the user perspective (that can be the end user or learner for features; and developer for internal tooling or development process improvement) is really helpful here.
- For the proposal, we will ask for a breakdown of activity, week by week. Other than that, every part of the template will reflect something from the “application prep checklist” above.
- In general: we expect that your proposal presents your research and makes a recommendation of what you plan to implement and how. In individual feedback round, we will look at whether there’s any blockers or issues to be aware of, and generally give technical and conceptual feedback.
Upcoming Developer Chats
We will have more calls on the p5.js Discord related to specific technical projects (not only for GSoC contributors, but welcome to you all):
- Every Tuesday: The Processing Discord server also has the Processing4 call every Tuesday, hosted by processing project lead Moon Davé.
- March 6, 6pm CET - p5.js editor Code Mirror open issues and intro for contributor. Hosted by Rachel (p5.js editor project lead) and Connie (contributor)
- March 9, 4pm CET - p5.js website contributor onboarding. I’m hosting, and current website stewards Dora and Ego will be there. Ego was a contributor in GSoC 2025, with Dora as a mentor, and they’ve continued to work together.
- (Time TBD, I’ll add here when finalized) - Reflections on p5.js editor contribution by GSoC 2025 contributor Kamakshi. Hosted by me and Rachel (p5.js editor lead)
- March 20, 5pm CET - p5.sound.js contributor chat + demo with Tommy Martinez
Q&A
I got a question in private message I will answer here:
it okay to write the GSoC proposal using LaTeX, or is using Google Docs preferred or mandatory for submission?
The template will specify what sections and content need to be covered. It will be ~5-7 pages, but you can use a software of your choice to create the document.
@Behlool asks:
I have thought about this idea more and i would like to ask if i am able to post it on this forum so i could get feedback from you or any of the other admins
You can ask either here and I (and the others!) will respond as well as we can! Or on March 15th I’ll post a signup sheet to get individual feedback. The sign-up sheet is a google form. The feedback is given over email. Everyone ho signs up will get one round of feedback for sure, and we will try to do more rounds if possible.
Thanks for your active work @khuntvidisha13 @aakriti @Tanya10 ! Please note that because we get a high volume of requests (private messages, PRs, etc) during this time, so review may be slow, especially for large PRs. I understand this may require a bit of patience. But please rest assured, your contribution is appreciated and will be reviewed as soon as it is possible!
@aash.u7707 asks:
Are there any specific architectural considerations for e.g. injection patterns like Accessibility Settings that I should review while drafting my proposal?
That’s the main existing pattern that can be used. However, you could fork the editor and maybe see if there’s any issues with that method, and propose an alternative if it is needed. In general, it is preferred not to introduce complexity if possible, so this is only if there is a technical need to do something other than injection like the accessibility settings does.
Welcome @chandrasingh01 ! I hope @Damaris 's answer helped - it is thorough and accurate ![]()
Best,
Kit
Thanks for sharing the highlights @kit
The guidance on backwards compatibility and research focus is really helpful — I’ll make sure to reflect that in my proposal and look forward to the March 15 feedback round.
Thanks @kit
The notes on research and proposal structure are super clear. I’ll make sure to dive into past issues and community discussions before drafting, and I’m glad there’s a feedback round on March 15 to refine things further.
Thank you for replying. My ideas was to extend the functionality of the debug button and the tool button on the processing4 ide. Essentially what i am proposing is to make a physics visual debugger, mainly targeted at people working through the nature of code book. Key concepts include adding heatmaps to show the forces an object experiences, vectors displaying the current direction of velocity. Other features also include being able to see a graph display current position, current velocity and acceleration with respect to time. Another feature is also being able to replay previous frames and freeze the current sketch. I don’t know if this is complex enough and honestly to anyone reading this I would absolutely love your feedback.
Hiyaaa
As a ux design student who hasn’t gotten a chance to contribute to open source yet, was wondering if applications for user experience redesign and interface design can be sent too?
Have been working with p5.js for the past year for my new media and art practices, and had always wanted to contribute!
Is there a specific format to be followed for the proposal doc.
Hi everyone,
I’m Rakesh and I’ve recently contributed several PRs to the p5.js
reference website.
I’m interested in applying for GSoC 2026 and particularly in the
“Continued Development of Translation Tracker” project.
I’m currently exploring the translation tracker workflow and would
love to know what areas of the system need the most improvement
or where contributors could help the most.
Thanks!
I think the format template will be given to us on 15th or 16th March.
Hi @lee and everyone! ![]()
I’m Quan, a CS student interested in the L5 Creative Coding Library Project. I’ve used Processing before for creative coding and I’ve also made some video games using Lua and the Löve2D framework, which is what drew me to the L5 project.
I’m really excited about L5’s goal of building a lightweight Processing-style library in Lua, especially with its focus on accessibility and long-term sustainability. Over the past few days I’ve been exploring the repository, running examples, and reading through the contributing docs to get a better feel for the project. I’ve also submitted a pull request to add a custom 404 error page.
I’m currently thinking about possible GSoC proposal ideas and would love to learn more about areas where contributions would be most helpful.
Quick question:
Are there any specific L5 features or parts of the library that you think would be especially helpful for new contributors to explore or experiment with first?
Looking forward to learning more and contributing!
Best,
Quan
Hi Quan,
In addition to my post above that has lots of info, here’s some other things that I think are a good way to start:
- try porting * p5.js examples and/or * Processing examples to L5. Keep in mind that many examples from the other libraries don’t make sense within the context of L5 - for example, we don’t need to port over examples from p5.js that make use of features of a web browser specifically, like the DOM library. Some can be converted over easily. The process of converting some will help with discovering missing L5 features or bugs where there isn’t feature parity between the libraries.
- writing up a tutorial on how to export a L5 program as a standalone application (and for Mac, Windows and Linux - the trifecta)
- L5 is a project aligned with * permacomputing. Are there specific tutorials or examples that can be built that support this? For example, how to install L5 on older hardware and phones.
- testing the step-by-step directions for installation on various OSes (and updating documentation for anything incorrect or adding screenshots for Windows 11)
- Testing the reload/hotreload branch, putting it through all tests and reporting any bugs in that issue. This is supposed to work like tweak mode in Processing or refresh in the p5.js web editor.
- More advanced: exploring options for adding a noCanvas() option
- Building an L5 extension for VS Code
- Intermediate: Test out my * test repo for a webcam library
- Advanced: Review p5sound and then compare what features are possible via Love2d that could go into a L5sound library.
- Reporting or fixing other bugs or improving typos in documentation pages
Thanks,
Lee
Hi @divyansh013 and @kit!
Following up from my earlier post, I’ve since spent time auditing the tracker codebase and as you guided- researching how similar file-based systems handle translation workflows.
Wanted to share what I found and get your thoughts before drafting a full proposal.
A few observations from the current system (correct me if I am wrong!):
- Outdated detection uses commit date comparison, which can produce false positives from minor edits or whitespace fixes
- The tracker generates useful manifest data internally, but there’s no visibility layer exposing this to contributors
- The biggest friction point seems to be the gap between issue creation and PR submission - translators must manually scaffold files themselves with no guidance
From the external research:
- MDN and VitePress — both use commit - hash metadata in translation frontmatter for more precise outdated detection
- No system pre-generates bulk stubs — on-demand creation triggered by translator intent is the consistent pattern
- Visibility mechanisms (per-language lists, banners, dashboards) significantly improve contributor clarity across all systems
Based on this, I’m leaning toward three focused extensions of the existing tracker:
- Hash-based sync tracking - store English source commit hash in translation frontmatter instead of relying on commit dates
- On-demand scaffolding CLI - demand-driven stub creation triggered by translator intent, not bulk generation
- Structured status manifest - extend existing JSON output to power per-language visibility
Two questions before I finalize the proposal direction:
- Does this direction align with what you see as the highest impact for this cycle?
- Would you prioritize sync precision, contributor onboarding, or visibility tooling differently?
Happy to share full research notes if helpful!
Hi @rakesh2oo5 welcome to the discussion! You can understand the current flow here. As far as the areas of improvement, we have kept this open ended while our focus being on increasing accessibility and welcoming more and more new contributors even those who are not from coding background. If you have any specific idea/direction you can discuss them here. Thanks!
Hi @manaswi thanks for the detailed research. The points you raised are quite valid ones.
The commit date makes sense to me as it remains in sync with the commit history. Also the action works on on-push event, so unless the code is merged the action won’t create new issue, this leaves behind the cases of bad quality PRs having only whitespace changes or so.
Regarding displaying the data, yes it was in my thoughts when I was submitting this year’s project, however I’m not sure displaying this on UI of p5 website itself will be feasible or not, what do you think about this?
Also I’m working on updating a Readme so that translation contribution guidelines are clear and easy to understand for someone who is new to the codebase.
Hi Lee,
I started working through some of the example-porting you suggested. I ported all the examples under the Input section from the Processing examples website to L5 and just opened a pull request on the L5 GitHub.
I was wondering, should I also work on adding documentation pages for these examples on the L5 website?
I’m also interested in the idea you mentioned about reviewing p5.sound and I’ve been exploring what could realistically become an L5sound library using Love2D. I did a quick comparison of the two libraries/framework and wanted to share a short summary of what I found and get your thoughts!
From what I can tell, most basic playback features map very well between the two. Loading sounds, playing, pausing, stopping, looping, adjusting volume, and seeking all exist in Love2D, so I think wrapping these into a higher-level L5sound interface should be fairly straightforward. Love2D also has solid spatial audio support (positioning and velocity/Doppler, which I assume are for “Proximity Audio“-type mechanics in a game?), which could be a useful feature to expose that I haven’t seen available in the p5sound library
However, there seems to be quite a large gap in sound synthesis and audio analysis. p5.sound includes oscillators, envelopes, and noise generation, but Love2D doesn’t support synthesis natively, so I assume something like that would likely require integrating an external library or a custom implementation. For audio analysis, I think features like FFT spectrum analysis or amplitude detection would be difficult because Love2D doesn’t expose raw audio waveform data.
Effects seem somewhat feasible, Love2D supports things like reverb and filters, though in a simpler form than p5.sound’s effect chains. From what I’ve seen so far, it seems quite feasible for an initial L5sound library to achieve feature parity with p5sound on core sound features, like playback and basic effects, possibly spatial audio but audio synthesis and analysis might need external libraries or custom implementation.
I’d be curious to hear your thoughts on whether that direction makes sense, or if there are particular parts of p5.sound you think would be most valuable to prioritize.
Thank you!
Quan
Hi @qhoang yes, these examples make the most sense to be added to the examples documentation page.
In terms of L5sound:
Loading sounds, playing, pausing, stopping, looping, adjusting volume, and seeking all exist in Love2D
yes!
Love2D also has solid spatial audio support (positioning and velocity/Doppler, which I assume are for “Proximity Audio“-type mechanics in a game?), which could be a useful feature to expose that I haven’t seen available in the p5sound library
out of scope i think
In terms of resources for looking into sound synthesis via love2d, here’s some example programs to study:
The scope of working on this is much larger. The way to get started on that if interested is to create a space to document the Processing sound library with a mapping of functions/features to possible implementations via Love2d features like SoundData and likely adding the lua-fft library.
but Love2D doesn’t support synthesis natively
To be clear, love.sound does have access to raw PCM data with SoundData, though I haven’t used it myself yet. Research is neeed!
Updated: I’ve uploaded a simple example of a sine wave in native Love2d . We would/could figure out a way to wrap around/implement in a more native Processinglike way in a L5sound library for example)
This is really helpful, thank you! I’ve been looking intoEmbedFrame.jsx and the existing injection pattern while drafting my proposal. Good to know that’s the right direction..
Hello everyone ![]()
Welcome @rakesh2oo5 @Kriti @qhoang! Thanks very much @divyansh013 and @lee for answering the project-specific questions, and to everyone for sharing your thoughtful research.
2025 Contributor Chat - p5.js Editor
It’s been awesome to meet some of you over on the Discord casual meetups! I’m very glad you had this idea:) The next Discord chat will be with Kamakshi (GSoC contributor 2025), co-hosted by Rachel (p5.js Editor Project Lead). Kam worked on the auto-complete hinter in the p5.js Editor.
Friday, March 20th, 14:00CET Event Invite
Application Process Questions
In a few days (March 15, before applications open on the 16th), I will be posting the template and the feedback sign-up form. (Like @harshil stated above, thanks for jumping in!)
First, to answer some great questions from @aash.u7707 over Discord:
- Is there any recommended length for the proposal? Mine is getting quite detailed and may go close to 25 to 30 pages with diagrams, images and explanations, so I just wanted to check if that’s generally okay or if proposals are expected to be shorter.
The length of the proposal depends on the complexity and scope of the project. Around 10-15 pages has been common in the past, so 30 is on the long side, but if there is a reason, that is not a problem. If you’re still working on the eye-dropper, that makes sense that it needs more. Well-explained diagrams are fantastic! Especially with a long proposal, diagrams should be very simple, to help understanding and navigating the ideas.
Minor note here is that I’ve seen diagrams actually create confusion when the proposal text gets revised, but not all diagrams are revised. Just something to keep in mind, that all text and diagram must make sense together. This was not TOO common but common enough that multiple proposals I read had big enough mismatches between different parts of text and diagrams that it was not possible to fully know what was actually being proposed. Even though clearly research and work had been done, it could by accident actually undermine the proposed work.
A shorter proposal makes it much easier to review your final submission and make sure it has no errors. Simpler diagrams are also better, both for understanding and for final checks. After March 31st, the submission cannot be updated.
We will evaluate holistically, including contributions impact and so on, but technical viability of the proposal is essential. The proposals must be detailed, clear, and well-scoped. (This year, we’re also including more guidance in the template itself to help with the level of detail.)
- Since I’ve had around 16+ PRs merged while contributing over the p5.js ecosystem, would it be useful to highlight those contributions in a section of the proposal, or should the focus mostly stay on the project plan itself?
No, you don’t need to explicitly list them; but they will be considered. Part of the template asks a couple of questions about one contribution of your choice. We also ask for the handles on GitHub, Discord, and Discourse, so that we can check other contributions in online community spaces.
The template asks for a few other things too, but as it’s not published yet, please check the “Application Preparation Checklist.” The checklist reflects the different areas of the template. Some of these may be uncommon in GSoC, but are important.
- In the proposal I’ve outlined a few possible approaches (around 3 technical approaches and a few design/UX options) before presenting the final direction. Is it okay to include multiple considered approaches like that, or would you prefer the proposal to focus mainly on one finalized approach?
That sounds like it does needs 20+ pages, and I look forward to reading about all the research you’ve done here! For anyone in a similar situation:
I’d recommend having ~10 pages of your proposal be clearly your recommendation (and this part should follow the template), and the rest / the research in an appendix organized in any way you like. This way, when we review the proposal, we are evaluating the technical viability and impact of the actual work proposed, and the research would only support it, and have no negative impact even if there accidental mistakes, gaps, etc in the appendix part.
Custom Project Questions
And a couple of questions regarding custom proposals.
@Behlool asks:
My ideas was to extend the functionality of the debug button and the tool button on the processing4 ide. Essentially what i am proposing is to make a physics visual debugger, mainly targeted at people working through the nature of code book. Key concepts include adding heatmaps to show the forces an object experiences, vectors displaying the current direction of velocity. Other features also include being able to see a graph display current position, current velocity and acceleration with respect to time. Another feature is also being able to replay previous frames and freeze the current sketch. I don’t know if this is complex enough and honestly to anyone reading this I would absolutely love your feedback.
The replay feature in particular seems potentially quite challenging, definitely “complex enough” if your aim is to integrate with PDE (processing development environment. Although we don’t require PRs with this kind of proposal I strongly recommend that you get involved in some kind of online community space if you haven’t already, such as:
- using Discourse, or the processing Discord (discord.processing.org) to look for channels about inspiration or community tools and ask about what libraries/tools for simultaenous/physics, and/or recording and playback, already exist in the processing ecosystem (or beyond, as inspiration).
- be sure to fork the processing4 repo and build the PDE locally, at the absolute minimum. If you encounter problems, ask for help in the Discord or Discourse (following the guidelines of each space and picking the appropriate section/channel). If you find bugs, report these. Bug reporting is also a type of contribution. You asked before if focusing only on sketches would hurt your project being selected - no, it would not; but if you are proposing “to extend the functionality of the debug button and the tool button on the processing4 ide” then please be sure to sense-check this.
Anyone proposing a custom project should do something like the above, too: research about related work in the community, and do a technical sense-check at minimum.
Every technical proposal should be clear about what you are bringing to the project (what skills you already have, which will make the project succeed) and what you want to learn (this can be anything, especially if you’re mostly familiar with writing sketches but not the tools - you can be direct about this)
@Kriti asks:
As a ux design student who hasn’t gotten a chance to contribute to open source yet, was wondering if applications for user experience redesign and interface design can be sent too?
Great question! Yes. Keep in mind that GSoC focuses on technical output, so implementation must be part of it, but spending more time during research and implementation be on UX is very welcome.
Which project are you interested in?
The p5.js website has usability study results arriving soon (stay tuned here), so if you’re interested in the website specifically I recommend coming by the #p5js-website channel on p5 Discord. We will have at least one more call before the application deadline. If you (or someone else) are interested in proposing a UX/UI redesign on the website, I can also try to figure out a way to share preliminary results from the studies so you can respond to it in your proposal.
If it’s the other projects you’re interested in I can also try to find more current info on UX/design questions/priorities.
I hope it’s helpful and if I missed anything don’t hesitate to @ here/on Discord!
Best,
Kit
