Skip to content

Tags: fair-acc/chart-fx

Tags

11.3.1

Toggle 11.3.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
ZoomerPlugin: Initial zoom is incorrect (#660)

Clamp the plot coordinates to [0, axisHeight/Width] before querying the values for display

11.3.0

Toggle 11.3.0's commit message
11.3.0 Major Release

Hello everyone 👋

It's been quite some time since the last release and the announcement of starting to work on a major release to fix some of the outstanding maintainability issues, but now we are finally at a state to release ChartFx 11.3.0! The release brings a lot of performance and stability improvements, cleans up a lot of the organically grown code to make it easier to maintain and fix bugs within in the future and fixes some long outstanding bugs some of which were deeply rooted in the way things were set up previously.

Major Improvements:
- New layout and event system #594. This is by far the biggest improvement and change and we're very thankful for all the hard work @ennerf has put into this.
  - layout: removes lots of notorious rendering inconsistencies by using a global preLayout listener to update all the chart wide state
    - befor/after comparisons: #579 (comment)
  - event system: DirtyBit based event system for chart events. this ensures that expensive computations and rendering steps are in in
almost all cases performed exactly once.
    - before/after comparisons: #530 (comment)
    - all datasets now belong to a renderer. The shared datasets were removed from the chart.
    - the error surface hatch is now shifted and can show overlapping error surfaces
  - for technical details take a look at the individual PRs/issues and the [Architecture.md](https://github.com/fair-acc/chart-fx/blob/main/docs/Architecture.md) file.
- Consistent CSS styling for all chart components #598
  - Several renderer styling parameters moved to the datasets (line width, color, etc)
  - replaces custom ColorScheme classes and Style parsers
  - might need some adjustments where ChartFx used non-standard CSS property names before
  - follow-up PR also allows complete style control for datasets using CSS #603. Because DataSets can be in multiple Renderers/Charts, but stylable nodes can be in the scene graph only once, a DatasetNode unique to the renderer is created. This is transparent to the user but it can be accessed to change the style from code. For more Details see the PR description.
- improved axis label generation based on the schubfach algorithm removing the huge (20Mb) icu4j dependency #575
- use controlsfx's sampler to display our samples instead of having the launcher with a list of buttons #578 + #593 (thanks at @uosis for the followup fix #581)
- added code to optionally collect and/or display latency histogram data for different parts of the code #604, #614, #618

Bugfixes:
- fix 2d histogram getGrid() #628, thanks to @ajackson2681
- ErrorDataSetRenderer: fix bubble chart error value handling #596, thanks @protogenes for finding the bug and solution.
- make ChartFx applications and samples terminate properly #598
- Zoomer: perform zoom actions based on display coordinates #602. This allows to properly zoom in logarithmic plots.
- DragResizerUtil: fix copy and paste error #606, thanks to @rsuna
- Allow CSS styling of line cap and join for line charts and add sensible defaults, javafx defaults can create display artifacts outside of the acutal data range #626, thanks @protogenes for bringing this up

CI:
- changed the package names from `de.gsi.chart` to `io.fair_acc.chartfx`. This should by far be the biggest user facing change but unfortunately was necessary for deployment reasons. Sorry for the inconvenience, but the changes should be mostly mechanical.
- changed code level to java 17 and added a java 20 build, dropping java 11 support
- code-formatting: switch to clang-format-16, disable restyler PRs (apply fixes by downloading the diff by clicking on "Details" for the failed CI check) and apply consistent formatting to the whole project
- Added a logo, banner and updated outdated badges #619, thanks to @milo-gsi for the original logo design and iterations!
- conveyor packaging for the sample application to easily showcase ChartFx on different systems #580
- remove fastutil dependency by sharding the few classes used by ChartFx #576

Please let us know if there are any bigger problems in upgrading, any regressions we missed or just your (hopefully positive) experience with the new release in the linked discussion.

11.2.7

Toggle 11.2.7's commit message
added NonLinearTimeAxis prototype -- WIP

11.2.6

Toggle 11.2.6's commit message
Typos and formatting

11.2.5

Toggle 11.2.5's commit message
fixes autoranging for CircularDoubleErrorDataSet (issue #378) + addit…

…ional unit-tests and follow-up fixes

11.2.4

Toggle 11.2.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Add javadoc and source jars creation to pom.xml (#376)

* fix javadoc16 errors

11.2.3

Toggle 11.2.3's commit message
maven: set maven surefire locale to en_US

Since meging #316 `mvn test` failed on systems with non US locales, due
to some tests expecting numbers to be formated according to US locale.

This fixes the locale for running the tests to `en_US` s.t. the tests
will run through regardless of the developer's locale.

11.2.2

Toggle 11.2.2's commit message
fixed/added missing default branch in CmwLightClient and exposed inte…

…rnal variables as protected

N.B. allows/facilitates further extension

11.2.1

Toggle 11.2.1's commit message
Fix bug in (error) point reduction

When reducing the points, the reducer would for some reason swap the
positive and negative error for the last point. When no actual reduction
is taking place, this leads to the values actually having the same value
which would give strange results in the error bars/surfaces.

This commit removes the swapping of the errors of the last point.

The error surface renderer would also swap these points again before
rendering, so this is also removed with this commit.

To ease testing, an option to enable/disable parallel point caching in
the renderer was added to the ErrorDataSetRendererStylingSample.

11.2.0

Toggle 11.2.0's commit message
Features/Changes

- Automatic module name: allows to use chartfx as a jpms/jigsaw module
- switch from GlyphFont and batiksvg to Ikonly with custom fonts
- simplified CSS styled properties
- Serialiser
  - move from chartfx-dataset to separate subpackage
  - add json and cmw support
  - Benchmarks to compare against different other serialisers
  - allow in-place deserialisation
- Add new GridDataSet interface for data on Cartesian grids
- MultiArrayDouble/Float/... primitive class for striding multidimensional arrays
- Add code generation to reduce need for multiple implementations for primitive types
- Make chart indicators editable and removable
- ProfilerInfoBox: control to show javafx/cpu performance and version indicators