|
| 1 | +name: 📃 p5.js 2.0 RFC Proposal |
| 2 | +description: This template is for submitting a proposal to the p5.js 2.0 RFC. |
| 3 | +title: "[p5.js 2.0 RFC Proposal]: " |
| 4 | +labels: [p5.js 2.0] |
| 5 | +body: |
| 6 | + - type: textarea |
| 7 | + attributes: |
| 8 | + label: Increasing access |
| 9 | + description: How would this proposal help [increase access](https://github.com/processing/p5.js/blob/main/contributor_docs/access.md) to p5.js? (If you're not sure, you can type "Unsure" here and let others from the community offer their thoughts.) |
| 10 | + validations: |
| 11 | + required: true |
| 12 | + - type: markdown |
| 13 | + attributes: |
| 14 | + value: | |
| 15 | + ### Acceptance criteria |
| 16 | + The [p5.js 2.0 RFC](https://github.com/processing/p5.js/blob/dev-2.0/rfc_p5js_2.md) is a compilation of proposals for the next major version of p5.js. |
| 17 | + |
| 18 | + **✖️ New features**: In order to focus the community's efforts, proposals for new features will typically not be accepted into the RFC. A [New Feature Request](https://github.com/processing/p5.js/issues/new?assignees=&labels=Feature+Request&projects=&template=feature-request.yml) may still be submitted, but it will only be considered after the release of p5.js 2.0. |
| 19 | + |
| 20 | + **✔️Existing features**: This proposal will be accepted if the community determines it would improve an existing feature through a breaking change, a systemic change, or an overdue change. |
| 21 | + - type: checkboxes |
| 22 | + id: type-of-change |
| 23 | + attributes: |
| 24 | + label: Which types of changes would be made? |
| 25 | + description: Please select at least one. |
| 26 | + options: |
| 27 | + - label: Breaking change (Add-on libraries or sketches will work differently even if their code stays the same.) |
| 28 | + - label: Systemic change (Many features or contributor workflows will be affected.) |
| 29 | + - label: Overdue change (Modifications will be made that have been desirable for a long time.) |
| 30 | + - label: Unsure (The community can help to determine the type of change.) |
| 31 | + - type: checkboxes |
| 32 | + id: sub-area |
| 33 | + attributes: |
| 34 | + label: Most appropriate sub-area of p5.js? |
| 35 | + description: Please select at least one. |
| 36 | + options: |
| 37 | + - label: Accessibility |
| 38 | + - label: Color |
| 39 | + - label: Core/Environment/Rendering |
| 40 | + - label: Data |
| 41 | + - label: DOM |
| 42 | + - label: Events |
| 43 | + - label: Image |
| 44 | + - label: IO |
| 45 | + - label: Math |
| 46 | + - label: Typography |
| 47 | + - label: Utilities |
| 48 | + - label: WebGL |
| 49 | + - label: Build process |
| 50 | + - label: Unit testing |
| 51 | + - label: Internationalization |
| 52 | + - label: Friendly errors |
| 53 | + - label: Other (specify if possible) |
| 54 | + - type: textarea |
| 55 | + attributes: |
| 56 | + label: What's the problem? |
| 57 | + description: Describe the problem this proposal aims to solve. (Use as much space as you need.) |
| 58 | + validations: |
| 59 | + required: true |
| 60 | + - type: textarea |
| 61 | + attributes: |
| 62 | + label: What's the solution? |
| 63 | + description: Describe how you would solve the problem. (For large proposals, a summary is fine; this proposal can link to sub-issues for details.) |
| 64 | + validations: |
| 65 | + required: true |
| 66 | + - type: textarea |
| 67 | + attributes: |
| 68 | + label: Pros (updated based on community comments) |
| 69 | + description: Indicate the advantages of implementing this proposal. If the community identifies more advantages in the comments, please add them. |
| 70 | + value: | |
| 71 | + Example list: |
| 72 | + * **Consistency:** This proposal increases API consistency by... |
| 73 | + * **Readability:** This proposal makes the source code more readable by... |
| 74 | + * Other advantages... |
| 75 | + validations: |
| 76 | + required: true |
| 77 | + - type: textarea |
| 78 | + attributes: |
| 79 | + label: Cons (updated based on community comments) |
| 80 | + description: Indicate the disadvantages of implementing this proposal, if you know of any. If the community identifies disadvantages in the comments, please add them. |
| 81 | + placeholder: None so far... |
| 82 | + validations: |
| 83 | + required: true |
| 84 | + - type: dropdown |
| 85 | + attributes: |
| 86 | + label: Proposal status |
| 87 | + options: |
| 88 | + - Under review |
| 89 | + - Accepted |
| 90 | + - Not accepted |
| 91 | + default: 0 |
| 92 | + validations: |
| 93 | + required: true |
| 94 | + - type: markdown |
| 95 | + attributes: |
| 96 | + value: | |
| 97 | + ### Implementation process |
| 98 | + If this proposal is accepted, it will be included in the p5.js 2.0 RFC. A contributor who has participated in the discussion will then be assigned to lead the implementation, which will happen on the [dev-2.0](https://github.com/processing/p5.js/tree/dev-2.0) branch. |
0 commit comments