Sudha247 / ocaml-joy

MIT License
22 stars 14 forks source link

Some proposed features #38

Closed nangahamandine closed 6 months ago

nangahamandine commented 11 months ago

Here are some proposed features that I think could be implemented to improve the user experience and that we the applicants could tackle during this contribution phase.

Please verify if these are okay and I hope it's okay that I opened a new issue to propose these features. I'd be happy to take on any or all of them possibly.

TitilayoAdeyemi commented 11 months ago

These are really cool Nangah. If these are verified, I'd like to work with you, even though I'm new to Ocaml

nangahamandine commented 11 months ago

These are really cool Nangah. If these are verified, I'd like to work with you, even though I'm new to Ocaml

Okay, awesome! Thank you

Sudha247 commented 11 months ago

Thanks for the thoughtful suggestions @nangahamandine!

Working on RGB colouring would be useful. I'd suggest looking at what abstractions joy provides for colours: https://github.com/fossunited/joy/blob/main/tutorial.ipynb. We don't have to follow it as such, it's ok to tweak it as we see fit.

When you have an idea of how we can adapt it to our implementation, you can describe it here. One of the mentors will go over it and provide feedback. You can then proceed with the implementation. I'm suggesting this to avoid back and forth on the API and having to do the implementation multiple times.

Other ideas are quite interesting too. For now, we're keeping the API simple. Let's come back to it at a later point.

nangahamandine commented 11 months ago

Thanks for the thoughtful suggestions @nangahamandine!

Working on RGB colouring would be useful. I'd suggest looking at what abstractions joy provides for colours: https://github.com/fossunited/joy/blob/main/tutorial.ipynb. We don't have to follow it as such, it's ok to tweak it as we see fit.

When you have an idea of how we can adapt it to our implementation, you can describe it here. One of the mentors will go over it and provide feedback. You can then proceed with the implementation. I'm suggesting this to avoid back and forth on the API and having to do the implementation multiple times.

Other ideas are quite interesting too. For now, we're keeping the API simple. Let's come back to it at a later point.

Okay, understood! It's my pleasure> I'll make sure to verify and leave feedback here at the earliest time :)

nangahamandine commented 11 months ago

Thanks for the thoughtful suggestions @nangahamandine!

Working on RGB colouring would be useful. I'd suggest looking at what abstractions joy provides for colours: https://github.com/fossunited/joy/blob/main/tutorial.ipynb. We don't have to follow it as such, it's ok to tweak it as we see fit.

When you have an idea of how we can adapt it to our implementation, you can describe it here. One of the mentors will go over it and provide feedback. You can then proceed with the implementation. I'm suggesting this to avoid back and forth on the API and having to do the implementation multiple times.

Other ideas are quite interesting too. For now, we're keeping the API simple. Let's come back to it at a later point.

I've reviewed the Joy library's color features and based on that, I wish to discuss the proposed API for adding custom color support to the ocaml-joy library.

We could have new functions for custom color creation as follows:

We will have to modify existing functions for custom color usage For example, set_color : color -> unit - The set_color function is modified to accept custom colors so it will enable users to set the current drawing color to the specified custom color.

This is my feedback so far. I'd like to know your thoughts.

Mankavelda commented 11 months ago

Here are some proposed features that I think could be implemented to improve the user experience and that we the applicants could tackle during this contribution phase.

  • Add support for more transformations like skewing, and custom matrix transformations
  • Add functions to set colors using RGB values, hexadecimal codes, or other color models to allow users to create and specify custom colors for shapes.
  • Introduce functions to render text with customizable fonts, sizes, and styles that allow users to overlay text on graphics.
  • Implement line style options, including dashed and dotted lines that allow users to specify custom line patterns.

Please verify if these are okay and I hope it's okay that I opened a new issue to propose these features. I'd be happy to take on any or all of them possibly.

Interesting @nangahamandine .. I can work on this with you if you don't mind

nangahamandine commented 11 months ago

Thanks @Mankavelda :) Sure, if possible.

nangahamandine commented 11 months ago

Thanks for the thoughtful suggestions @nangahamandine! Working on RGB colouring would be useful. I'd suggest looking at what abstractions joy provides for colours: https://github.com/fossunited/joy/blob/main/tutorial.ipynb. We don't have to follow it as such, it's ok to tweak it as we see fit. When you have an idea of how we can adapt it to our implementation, you can describe it here. One of the mentors will go over it and provide feedback. You can then proceed with the implementation. I'm suggesting this to avoid back and forth on the API and having to do the implementation multiple times. Other ideas are quite interesting too. For now, we're keeping the API simple. Let's come back to it at a later point.

I've reviewed the Joy library's color features and based on that, I wish to discuss the proposed API for adding custom color support to the ocaml-joy library.

We could have new functions for custom color creation as follows:

* For RGB: `rgb : int -> int -> int -> color` - This function will create custom colors using RGB values and users can specify the red, green, and blue components as integers in the range 0-255. For example `let my_red = rgb 255 0 0`

* For hexadecimal: `hex : string -> color` - This function will create custom colors using hexadecimal color codes and users can input the color code as a string. For example "#RRGGBB".

We will have to modify existing functions for custom color usage For example, set_color : color -> unit - The set_color function is modified to accept custom colors so it will enable users to set the current drawing color to the specified custom color.

This is my feedback so far. I'd like to know your thoughts.

May I please proceed to work on this proposal? Or would you rather I work on something else?

nikochiko commented 10 months ago

@nangahamandine Can you create a separate issue for the color changes?

nangahamandine commented 10 months ago

@nangahamandine Can you create a separate issue for the color changes?

Okay, sure