Giter Club home page Giter Club logo

jkanvas's People

Contributors

enplotz avatar josuakrause avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

jkanvas's Issues

Make Canvas strongly typed

Make Canvas strongly typed by creating subclasses of Point2D to reflect the coordinate system they're in

Java 8 simplifications

Find parts of the code-base that can be simplified with the use of Java 8 when it comes out.
Not decided whether to use two branches or switch to Java 8 at one point

MDS layouter

implement layout using multi-dimensional scaling.

More unit tests

Write more unit tests.
Especially ObjectDependencies and Utility classes.

Change bounding box access

Change bounding box access from getBoundingBox() to

Rectangle2D rect = new Rectangle2D.Double();
pass.getBoundingBox(rect);
// work with rect...

Dead-lock when using parallel animation

A small conundrum:

When using the ForkJoinPool to animate in parallel the invoking thread holds the animation lock while the workers do not have any monitors. When it happens that an animated object wants to do something that needs the animation lock (ie adding animated objects, etc) normally it works fine, because the animation thread already holds the lock, but when the animation is done in the workers the lock is tried to be acquired by them which fails (because the lock is held by the invoking thread) and results in a dead-lock.

Refactor package presentation

The presentation package is not up to date anymore -- it could use a refactoring to current JSON reading techniques and also items on slides can be regular render passes (since we can guarantee bounding boxes now)

Animation Action

The current behavior of finish actions for animations is not very well defined.
Maybe restrict it further or execute the action always when the animation changes (not only when it ends normally)
Some thoughts have to be put into it...

Licence

We should look into which licence to use here, as no one is able to use this without asking if no licence file is present.

Maybe just go with MIT?

rename renderpass

rename renderpass into rendernode or something similar. The current name is used wrong. Also rename similar classes

Remove RenderpassAdapter

For now we have two actual base classes for a Renderpass.
And AbstractRenderpass inherits from RenderpassAdapter anyways.

improve GenericAnimated

Make GenericAnimated a zero allocation class...

  • create set(T from, T to) method
  • remove actual value from GenericAnimated
  • integrate in GenericShapeList

Fix dependency view

The dependency view should be a way to explore data structures within Java.
It should handle arrays correctly, have a better way to decide which classes are included, and should use a (minimal) layout strategy.

Problems with non origin bounding boxes

When the top left corner of render pass bounding boxes does not equal (0, 0)
RenderGroups (LinearGroup, ExpandableGroup) do not work correctly.
Adding the offset to the positions while laying out makes the problem worse.
Maybe only allow bounding boxes without an additional position (similar to java.awt.Dimension)
for render passes. A proper bounding box then can be computed by using the offset of the render pass.

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.