Giter Club home page Giter Club logo

Comments (1)

JD557 avatar JD557 commented on August 18, 2024

Hey there,

I was wondering if contributions are currently accepted?

I haven't thought too much about that, but I would say small contributions are OK.

I wouldn't recommend sending any large PRs without creating an issue, since there's a chance that I might reject it for considering it out of scope of the library, and that sucks 😓

So I think you did the right thing by asking.

I noticed that the library lacks of (correct me if I'm wrong) primitives such as Triangle, Square, Circle, which might be handy for people who just want to experiment and do some quick sketches.

Indeed, this was something that I wanted to do, but didn't because I couldn't find out an API that I liked.

I had an initial implementation, but I really don't like how it turned out.

Having said that, the main problem was that at the time I was trying to have both a mutable and immutable API, and since I removed minart-pure (#407) I think that's not a problem anymore.

May I ask if I can help with it?

Sure.

If so, any guidelines I should consider?

I haven't thought too much about that, but from the top of my head there are two things:

One thing that I would ask you for now is to add the code to a separate package (maybe eu.joaocosta.minart.graphics.geometry or something like that). I think for now it's OK to have that in minart-core, but I might want to extract that to a different module in the future, and having it in a different package makes things a bit cleaner for this.

The other is to make sure that the implementations are platform independent (e.g. you can use methods like MutableSurface#putPixel and MutableSurface#fillRegion, but not something like htmlCanvas.ctx.lineTo). I know that this is a bit annoying, but it's one of the main principles of the library.

As a side note, in general I'm OK if the implementations are not very performant. That can be worked out later and, if someone really needs performance, they should probably use a different library 😛

from minart.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.