Code Monkey home page Code Monkey logo

jeometry's People

Contributors

dependabot[bot] avatar github-actions[bot] avatar hdouss avatar uncoolasiandad avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

jeometry's Issues

Get rid of Degrees parametrization

Generic introduction on aljebra entities made Degrees entity to be generic. This is not necessary, only the resolve method should be parametrized. It does not make sens that Degrees is parametrized for itself.

Implement mocking objects

The testing classes has many unchecked warnings suppression. This is essentially due to generic classes could not be mocked safely. Let's get our mocking objects and get rid of these suppressions

Parametrize aljebra entities

Aljebra package entities should be parametrized. This could lead to better type safety and to seamless Scalar.Default.value implementation.

Default Rendering style class

A new DefaultStyle class was introduced in #13, but it is still not defining any class. We should define a by-default style and implement it as a default stroke and a default fill styles.

Implement a rendering style class

Today, shapes are only renderables with a name. We should enhance shapes to have more attributes that could be useful to enhance rendering capabilities/options. First thing that will be added is a style property that will be defined these rendering attributes (could be enriched in the future):

  • Stroke properties (width, style, color)
  • Fill properties (color)

The class and its properties should be renderer-agnostic and cannot rely on (for example) AWT classes unless it is obvious that an AWT class describes perfectly the property. We could for example use the Color AWT class because it is describing a color without being AWT dependent.

Keep in mind that:

  • Renderable classes instances are bare objects describing a geometric spatial properties
  • Shape classes instances encapsulate a Renderable along with rendering related properties like name, color, style..

Automating release management

The first version to be released (v0.1) should be released and deployed automatically with one and a single action.
Like merging process, the release and deployment process could be done with github workflow actions.
Issues are organized in milestones.
Closing a milestone should be the event that triggers the release.

Implement mocking objects for OrderedRandom

After resolving #74, the same thing should be done for OrderedRandom.
Either we use a "simple" implementation, or implement our own mocking objects. The objective being to remove warning suppression of Mockito mocking calls.

Get rid of null usage

There are some null usages that could be avoidable. Let's get rid of all null usages, and keep only those where no other option is available

Implement spying scalar mock

After resolving #74, there is still a need for mocking scalars for verifying purpose. Let's have our own spying mock for Scalar.

Get rid of SameDimensionCheck

We should get rid of aspectj dependency and AOP style be removing SameDimensionCheck. We can start by removing without replacing by anything as this check is not critical for now

How to define each shape's colour

Hi Douss, I am trying to use your library to draw road networks. Mostly, it is convenient. But I encountered some issues about it.

How to define the color of each individual shape? Currently, they are all black. I notice that the axises are in red. Could customise the shapes to different colours?

Looking forward your reply~

Deploying project to Maven Central

The project should meet all the requirements explained in Requirements, in order to be deployed to Sonatype which will synchronize artifacts to Maven Central.
Especially the group id should be com.github.hdouss as this is the group id applied for.
All secrets should be added to github secrets project settings and not commited to git.

Fix copyright dates

Copyright dates in licence are still referencing 2016. They should be updated to 2020.

Stroke style to Awt Stroke conversion

Implementing a class in OOP way to convert jeometry stroke style classes to an implementation of java.awt.Stroke in order to be used in renderers.

Remove unchecked warning suppression for FixedVector

FixedVector class have constructor with varargs generic parameters. This forces the user of this classes to add warning suppression every time. We should get rid of this by either replacing this constructor with Lists or adding SafeVarargs annotation to these constructors.

Update figure in documentation

The illustration in the documentation is not anymore corresponding to the code shown above it, after introducing styles. A new illustration with styles should be attached.

Rename DefaultStyle classes

These classes have misleading names:

  • DefaultStyle
  • DefaultStroke
  • DefaultFill

They are not really default classes as they have constructors to be more generic. We should rename them and probably create new real default classes.

Documenting contribution guidelines

The project documentation lacks contribution guidelines. These guidelines should detail pull requests merging process, code quality standards and test coverage thresholds that makes a pull request accepted.

Update qulice version

Update qulice to 0.18.19 version.
We should create separate issues if some new validations rules makes the build to fail.

Implement mocking objects for Vect

After resolving #74, the same thing should be done for Vect.
Either we use a "simple" implementation like FixedVect, or implement our own mocking objects. The objective being to remove warning suppression of Mockito mocking calls.

Remove unchecked warning suppression for Add and Sum

The different Add and Sum classes (over scalars, vectors, matrices...) have constructors with varargs generic parameters. This forces the user of this classes to add warning suppression every time. We should get rid of this by either replacing this constructor with Lists or adding SafeVarargs annotation to these constructors.

Remove unchecked warning suppression for Multiplication

The different Multiplication classes (over scalars, vectors, matrices...) have constructors with varargs generic parameters. This forces the user of this classes to add warning suppression every time. We should get rid of this by either replacing this constructor with Lists or adding SafeVarargs annotation to these constructors.

Remove unchecked warning suppression for FixedMatrix

FixedMatrix class have constructor with varargs generic parameters. This forces the user of this classes to add warning suppression every time. We should get rid of this by either replacing this constructor with Lists or adding SafeVarargs annotation to these constructors.

SVG output

jeometry should have an svg output figure renderer.

Get rid of parametrization of Predicate

Generic introduction on aljebra entities made Predicate entity to be generic. This is not necessary, only the resolve method should be parametrized. It does not make sens that Predicate is parametrized for itself.

POM usage documentation

Documentation should have a section to document pom dependency declaration in projects using jeometry.

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.