cienicera / p5.js-mint

The p5.js Editor is a website that integrates p5.js, a popular JavaScript library used for creative coding and visual arts, with the functionality to mint SVG NFTs on Starknet. The project aims to provide a streamlined process for generative artists to create and mint unique digital art pieces as NFTs directly from their p5.js code.
https://editor.p5js.org
GNU Lesser General Public License v2.1
0 stars 8 forks source link

Support multiple SVG exports #3

Open caseywescott opened 1 month ago

caseywescott commented 1 month ago

Increasing Access

This feature aims to enhance the p5.js Web Editor by allowing users to generate and export multiple SVG files from a single p5.js sketch.

Feature request details

This is particularly useful for projects where users need to create a series of related SVG images, such as a sequence of frames, variations of a design, or multiple assets that can be minted as NFTs. The system should be able to collect and manage these SVGs as an array, giving users the flexibility to work with multiple outputs.

Tasks:

Extend SVG Rendering Capabilities:

Modify the sketch environment to support generating multiple SVG outputs. Ensure that the p5.js-svg library can handle and store each SVG separately. Update the setup and draw functions in p5.js to allow for iterative SVG creation, enabling multiple SVGs to be generated in sequence or based on different parameters. Create a Storage System for SVGs:

Implement a system within the editor to store multiple SVGs as they are generated. This could involve an array or other data structure to hold each SVG as a separate entry. Ensure that the storage system can handle large numbers of SVGs efficiently, with options to view, manage, and export them. UI Enhancements for Managing Multiple SVGs:

Design and implement a user interface for managing multiple SVGs. This could include a gallery view where users can see thumbnails of each SVG, options to select or deselect SVGs for export, and buttons to delete or edit individual SVGs. Provide tools for organizing the SVGs, such as reordering, grouping, or labeling. Modify the Export Functionality:

Update the export function to handle multiple SVGs. Users should be able to export all SVGs at once, or select specific SVGs for export. Implement batch processing for exporting multiple SVG files, ensuring that each file is named appropriately (e.g., using a base name with incremental numbering, timestamps, or custom labels). Optionally, provide the ability to export the SVGs as a zip archive for easier downloading.

ShantelPeters commented 3 weeks ago

Hi @caseywescott can I work on this ?

onlydustapp[bot] commented 3 weeks ago

Hi @ShantelPeters! Maintainers during the ODHack # 7.0 will be tracking applications via OnlyDust. Therefore, in order for you to have a chance at being assigned to this issue, please apply directly here, or else your application may not be considered.

Josh-121 commented 3 weeks ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Software engineering background with great experience in smart contract development with experience working on similar projects in previous odhacks(https://app.onlydust.com/u/Josh-121) looking forward to make a first contribution here

How I plan on tackling this issue

I would Follow all due instructions on here as stated clearly and have gone through the repo flowcharts/readme .I would be sure to make the required changes work on any feedback and deliver swiftly

ShantelPeters commented 3 weeks ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

With my experience in frontend development and user interface design, I can enhance the p5.js Web Editor by implementing multi-SVG generation, storage, and management features, ensuring a seamless user experience for exporting multiple SVG files.

How I plan on tackling this issue

  1. Enhance Rendering: Modify p5.js to support multiple SVG outputs using the p5.js-svg library.
  2. Implement Storage: Create a system to store and manage multiple SVGs efficiently.
  3. Design UI: Develop a user interface for viewing, selecting, and managing SVGs.
  4. Update Export: Enable batch export of SVGs with options for naming and zipping files.
onlydustapp[bot] commented 3 weeks ago

The maintainer caseywescott has assigned Josh-121 to this issue via OnlyDust Platform. Good luck!