Comments (1)
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)
- Fix Java Renderling in Linux HOT 1
- Fix janky rendering on scaled HTML canvas
- Convert examples to scala-cli
- Add audio support
- Add instructions on how to compile native applications on windows HOT 3
- Improve FullScreen ergonomics
- Add GamePad support HOT 1
- Fix cross-compilation in examples
- Provide cross-platform ExecutionContext
- Fix audio sync problems in Firefox
- Surface#fillRegion implementations should check bounds
- Set sbt versionScheme
- Stereo sound output
- Alpha channel support HOT 1
- Replace scala.math with java.lang.math
- Add more keys
- Support resizable windows
- Better Scastie support
- Handle SDL surface formats
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from minart.