name: 💡 Existing Feature Enhancement
description: Suggest an improvement for an existing feature of Processing.
labels: [enhancement]
body:

- type: markdown
  attributes:
    value: |
      > [!TIP]
      > If you have an idea for something Processing doesn’t yet support, **creating a library** is often the best way to contribute. Read more about creating a library [here](https://github.com/processing/processing4/blob/main/CONTRIBUTING.md#adding-new-features-to-processing).

- type: dropdown
  id: feature-area
  attributes:
    label: Most relevant area for this enhancement?
    description: Choose the most relevant area for the proposed feature or improvement.
    multiple: true
    options:
        - I'm not sure
        - Accessibility
        - Core/Environment/Rendering
        - PDE
        - Data
        - Events
        - Image
        - IO
        - Math
        - Typography
        - Utilities
        - OpenGL
        - Contributions Manager
        - Export
        - Build process
        - Unit testing
        - Internationalization
        - Other (specify if possible)
  validations:
    required: true

- type: input
  attributes:
    label: Feature to enhance
    description: Which existing feature of Processing would be improved by this enhancement?
  validations:
    required: true

- type: textarea
  attributes:
    label: Enhancement details
    description: |
      Describe the improvement you’d like to see for this existing feature.
    value: |
      #### Enhancement description
      Describe the enhancement in detail. Include how it should work and its intended impact.
      
      #### Benefits
      Outline how this enhancement would benefit users or improve Processing.
      
      #### Challenges
      Discuss any possible challenges or considerations in implementing this enhancement.
      
      #### Additional context
      Provide any additional context or screenshots that may help clarify the enhancement.
  validations:
    required: true

- type: dropdown
  attributes:
    label: Would you like to help implement this enhancement?
    description: |
      If not, that’s okay too. Your suggestion is appreciated.
    options:
      - No, I’m just suggesting the enhancement
      - Yes, I’d like to help with this
      - I’m not sure yet
  validations:
    required: true

- type: markdown
  attributes:
    value: |
      > [!NOTE]
      > Processing is a community-driven, open-source project. If you have time and interest to help, your contribution would be greatly appreciated! See the [contribution guide](https://github.com/processing/processing4/blob/main/CONTRIBUTING.md) to learn more. And if you need some guidance or support, we're happy to help you get started.