You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: contributor_docs/contributor_guidelines.md
+23-5Lines changed: 23 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,8 @@ This is a fairly long and comprehensive document but we will try to deliniate al
14
14
- [New Feature Request](#new-feature-request)
15
15
- [Discussion](#discussion)
16
16
-[Working on p5.js codebase](#working-on-p5js-codebase)
17
-
- [Using the GitHub edit functionality](#using-the-github-edit-functionality)
17
+
- [Quick Get Started For Developers](#quick-get-started-for-developers)
18
+
- [Using the Github edit functionality](#using-the-github-edit-functionality)
18
19
- [Forking p5.js and working from your fork](#forking-p5js-and-working-from-your-fork)
19
20
- [Codebase breakdown](#codebase-breakdown)
20
21
- [Build setup](#build-setup)
@@ -37,7 +38,6 @@ This is a fairly long and comprehensive document but we will try to deliniate al
37
38
The majority of the activity on p5.js' GitHub repositories (repo for short) happens in issues and issues will most likely be the place to start your contribution process as well.
38
39
39
40
## What are issues?
40
-
41
41
Issue is the generic name for a post on GitHub that aims to describe, well, an issue. This "issue" can be a bug report, a request to add new feature, a discussion, a question, an announcement, or anything that works as a post. Comments can be added below each issue by anyone with a GitHub account, including bots! It is the place where contributors dicuss topics related to the development of the project in the repo.
42
42
43
43
While an issue can be opened for a wide variety of reasons, for p5.js' repos we usually only use issues to discuss p5.js source code development related topics. Topics such as debugging your own code, inviting collaborators to your project, or other unrelated topics should be discuss either on the [forum](https://discourse.processing.com) or on other platforms.
@@ -93,8 +93,26 @@ Similarly, if you have come across an issue or joined in discussions of an issue
93
93
94
94
You should not "jump the queue" by filing a PR for an issue that either someone else has indicated willingness to submit a contribution or has already been assigned to someone else. We will always prioritise "first assigned first serve" order for accepting code contribution for an issue, if you file a PR for an issue while someone else is still working on the same issue, your PR will be closed. If you see that it has been a few months since last activity on an issue with an assigned individual, you can check in with them by leaving a polite comment on the issue asking for progress and if they need help with the implementation. We generally allow for fairly long time frame for people to work on their contributions as we understand that most people will often be working on a volunteer basis or it simply takes more time for them to work on the feature; similarly, you should work at your own pace and be confident that there is no hard time limit on how long you can spend working on something. That being said, if you are having trouble with any aspect of your code contribution, do not hesitate to ask for help in the issue, the stewards and maintainers, as well as members of our community, will do their best to guide you!
95
95
96
-
## Using the GitHub edit functionality
97
-
When viewing a file on the GitHub web interface, near the top of the content of the file you are viewing will be a pencil icon button. This button is a convenient edit feature provided by GitHub that simplifies many of the processes we will be covering below and can be used to make quick and simple edits to the file you are viewing.
96
+
## Quick Get Started For Developers
97
+
If you want to work/contribute to p5.js'🌸 codebase as a developer, either directly for improving p5.js or for improving it's sub projects like [Friendly Error Systems](https://github.com/processing/p5.js/blob/main/contributor_docs/friendly_error_system.md), you can follow the following steps directly :
[More information on Configuring a remote repository for a fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/configuring-a-remote-repository-for-a-fork)
104
+
4. Make sure your machine has [NodeJs](https://nodejs.org/en/download) installed, check it with the following command :
105
+
`node -v`
106
+
5. Run : `npm ci`
107
+
6. Create a git branch of the `main` branch having a descriptive branch name using :
108
+
`git checkout -b [branch_name]`
109
+
7. As you start making changes to the codebase, frequently run :
110
+
`npm test`
111
+
(it takes time, but it ensures that existing behaviours are not being broken)
112
+
8. Once it is done, you can commit the changes and create a [Pull Request](https://p5js.org/contributor-docs/#/./contributor_guidelines?id=pull-requests).
113
+
114
+
## Using the Github edit functionality
115
+
When viewing a file on the Github web interface, near the top of the content of the file you are viewing will be a pencil icon button. This button is a convenient edit feature provided by Github that simplifies many of the processes we will be covering below and can be used to make quick and simple edits to the file you are viewing.
98
116
99
117
However, it is not recommended to use this feature other than for very simple changes. One of the main reason for this is that for more complex changes to the source code, it should be built and tested locally before being filed as a PR. Using a local development environment is also often much more fluent for most as compared to the basic editing environment provided by this edit functionality.
100
118
@@ -228,4 +246,4 @@ Once a steward has reviewed your PR, one of two things may happen: 1. Your PR is
228
246
229
247
If changes are requested of your PR and you are able to make those changes, follow the [same process as before](#git-workflow) but just continue from your local copy of the repo and relevant branch, make those changes, commit them into git, and push them to your forked remote repo. Once you have pushed additional commits to your forked remote repo, you will see that the new commits automatically show up in the PR. Leave a comment in the PR to let the reviewer know you have made the changes requested and if no additional changes are needed, your PR will be merged!
Method names you can register include the following list. Note that you may need to define the function before you register it.
88
+
89
+
Method names you can register and unregister include the following list. Note that you may need to define the function before you register it.
87
90
88
91
***pre** — Called at the beginning of `draw()`. It can affect drawing.
89
92
***post** — Called at the end of `draw()`.
90
93
***remove** — Called when `remove()` is called.
91
94
***init** — Called when the sketch is first initialized, just before the sketch initialization function (the one that was passed into the `p5` constructor) is executed. This is also called before any global mode setup, so your library can add anything to the sketch and it will automatically be copied to `window` if global mode is active.
95
+
***beforePreload** — Called before the `preload()` function is executed.
96
+
***afterPreload** — Called after the `preload()` function is executed.
97
+
***beforeSetup** — Called before the `setup()` function is executed.
98
+
***afterSetup** — Called after the `setup()` function is executed.
92
99
93
100
More to come shortly, lining up roughly with this list:
*[`_validateParameters()`] checks a p5.js function’s input parameters based on inline documents.
132
-
*[`_fesErrorMontitor()`] handles global errors.
132
+
*[`_fesErrorMonitor()`] handles global errors.
133
133
134
134
For full reference, please see our [Dev Notes].
135
135
@@ -165,4 +165,4 @@ function setup() {
165
165
166
166
The single minified file of p5 (i.e., p5.min.js) automatically omits the FES.
167
167
168
-
[disable the FES for performance]: https://github.com/processing/p5.js/wiki/Optimizing-p5.js-Code-for-Performance#disable-the-friendly-error-system-fes
168
+
[disable the FES for performance]: https://github.com/processing/p5.js/wiki/Optimizing-p5.js-Code-for-Performance#disable-the-friendly-error-system-fes
Copy file name to clipboardExpand all lines: contributor_docs/project_wrapups/README.md
+8Lines changed: 8 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,14 @@ This folder contains wrap-up reports from p5.js related [Google Summer of Code](
5
5
6
6
## Google Summer of Code
7
7
8
+
### Google Summer of Code 2023
9
+
*[Mobile/Responsive Design Implementation of p5.js Web Editor](https://github.com/processing/p5.js/blob/main/contributor_docs/project_wrapups/dewansDT_gsoc_2023.md) by Dewansh Thakur, 2023
10
+
*[Friendly Error System(FES) and Documentation](https://github.com/processing/p5.js/blob/main/contributor_docs/project_wrapups/ayush23dash_gsoc_2023.md) by Ayush Shankar, 2023
11
+
*[Supporting shader-based filters in p5js](https://github.com/processing/p5.js/blob/main/contributor_docs/project_wrapups/wong_gsoc_2023.md) by Justin Wong, 2023
12
+
*[Updating p5js.org Site Documentation and Accessibility](https://github.com/processing/p5.js/blob/main/contributor_docs/project_wrapups/lichlyter_gsoc_2023.md), by Kathryn Lichlyter, 2023
13
+
*[A Typographic Revamp for p5.js](https://github.com/processing/p5.js/blob/main/contributor_docs/project_wrapups/munusshih_gsoc_2023.md), by Munus Shih, 2023
14
+
15
+
8
16
### Google Summer of Code 2022
9
17
*[p5 /teach reorganize & update](https://github.com/processing/p5.js/blob/main/contributor_docs/project_wrapups/graciazhang_gsoc_2022.md) by Gracia Zhang, 2022
10
18
*[p5xr Immersive Session Process and Controller API update](https://github.com/processing/p5.js/blob/main/contributor_docs/project_wrapups/smrghsh_gsoc_2022.md) by Samir Ghosh, 2022
0 commit comments