Tags: milo-gsi/chart-fx
Tags
Minor release before starting Chart-fx x.2.y development: * improved unit-testing and code coverage (now at ~60%) * multiple fixes of rare cornercases detected by Coverity, PMD and Sonarlint and GH-reported issues * made ProfilerInfoBox public API and updated SimplePerformanceMeter = new Features = * made ProfilerInfoBox public API and updated SimplePerformanceMeter * added runAndWait methods for Runnable, Supplier and Function to FXUtils * added pre- and post-listener to Cache<K> implementation * new CacheCollections, [Double, Byte]ArrayCache & WritableImageCache classes & getInstance() as global cache (for internal short-lived variable, minimises JVM memory reallocation penalty -> huge performance boost) * added SoftHashMap and SoftKeyHashMap implementations * changed PNG encoder to PNGJ with near-complete RFC implementation * added RAINBOW_OPAQUE colour palette with non-transparent boundaries * upgraded EventSource::invokeListener() to non-blocking call * handle 3D data in Builder and Serialiser * add rate limiting to UpdateAxisLabels Plugin * treat non-histogram data in TSpectrum peak finder * introduced auto remove property in SimpleMeasurements for unused indicatory = Bugfixes, Documentation & Unit-Testing = * reduced logger verbosity * added missing axis tickmark font/fill assignment * reduce clipping of data point tooltip * fixed selective bar colour in drawBars() function * workaround/fix for JavaFX FlowPane bug of not wrapping children. * DefaultAxisDescription use parent set[Min, Max] methods and notify once * added missing readLockGuard to SimpleMeasurements computation * fixes to MountainRangeRenderer[Sample] (remove DataSet3D dependence) * fix add/remove Legend to the proper Title/Legend pane + unit-testing * fix memory exhaustion for axis cornercase * fix overlappingLabels bug for inverted axes * improved Label collision detection * fixes to DataSetMeasurement- and sub-plugins * fixed rare threading bug and reduced logger verbosity in FXUtilsTests * Increase performance of short time fourier transform * fix colors in HistoryDataSetRenderer = Tooling = * enable formatFiles.sh to cover also files not yet added to index * added formatLastCommit.sh that formast the last (or more commits) - usage alone or via git rebase --exec=./formatLastCommit.sh master formats all commits since 'master' reference in checked-out feature branch N.B. This is targeted to be the last x.1.y minor release. We will start soon with the x.2.y development process (see GH issue fair-acc#44)
Minor release before starting Chart-fx x.2.y development: * improved unit-testing and code coverage (now at ~60%) * multiple fixes of rare cornercases detected by Coverity, PMD and Sonarlint and GH-reported issues * made ProfilerInfoBox public API and updated SimplePerformanceMeter = new Features = * made ProfilerInfoBox public API and updated SimplePerformanceMeter * added runAndWait methods for Runnable, Supplier and Function to FXUtils * added pre- and post-listener to Cache<K> implementation * new CacheCollections, [Double, Byte]ArrayCache & WritableImageCache classes & getInstance() as global cache (for internal short-lived variable, minimises JVM memory reallocation penalty -> huge performance boost) * added SoftHashMap and SoftKeyHashMap implementations * changed PNG encoder to PNGJ with near-complete RFC implementation * added RAINBOW_OPAQUE colour palette with non-transparent boundaries * upgraded EventSource::invokeListener() to non-blocking call * handle 3D data in Builder and Serialiser * add rate limiting to UpdateAxisLabels Plugin * treat non-histogram data in TSpectrum peak finder * introduced auto remove property in SimpleMeasurements for unused indicatory = Bugfixes, Documentation & Unit-Testing = * reduced logger verbosity * added missing axis tickmark font/fill assignment * reduce clipping of data point tooltip * fixed selective bar colour in drawBars() function * workaround/fix for JavaFX FlowPane bug of not wrapping children. * DefaultAxisDescription use parent set[Min, Max] methods and notify once * added missing readLockGuard to SimpleMeasurements computation * fixes to MountainRangeRenderer[Sample] (remove DataSet3D dependence) * fix add/remove Legend to the proper Title/Legend pane + unit-testing * fix memory exhaustion for axis cornercase * fix overlappingLabels bug for inverted axes * improved Label collision detection * fixes to DataSetMeasurement- and sub-plugins * fixed rare threading bug and reduced logger verbosity in FXUtilsTests * Increase performance of short time fourier transform * fix colors in HistoryDataSetRenderer = Tooling = * enable formatFiles.sh to cover also files not yet added to index * added formatLastCommit.sh that formast the last (or more commits) - usage alone or via git rebase --exec=./formatLastCommit.sh master formats all commits since 'master' reference in checked-out feature branch N.B. This is targeted to be the last x.1.y minor release. We will start soon with the x.2.y development process (see GH issue fair-acc#44)
11.1.4 Release Minor release with some new features and primarily lots of small bugfixes and unit-test improvements: = New Features = * extended DataViewer, ParameterMeasurement plugin and new DataSetMeasurements concept now includes user-/UI-configurable * DataSetMath measurements (generic math operation on functions, trends, FFT, ...) * UTC/local-time/history trending of simple parameter values * detaching of generated DataSets into new extenally managed Stages * added unit-tests for the corresponding FX UI items * added [set,get]SubtractOffset control to LimitedIndexedTreeDataSet This controls whether the x-Axis range is false: returned as defined (raw-values) true: normalised to the last (usually newest) value. N.B. This is useful for time-series uses where the data should be shown either in UTC (local) time coordinates or as a time difference * removed FxSwingUtils dependency on javafx-swing by implementing a custom high-performance png image exporter = API/Implementation improvements = * modified DimReductionDataSet API syntax & fixed broken unit-tests * replaced ControlFX's Borders factory with custom BorderedTitledPane * added new parameter in ErrorDataSetRenderer to control if all or only local DataSets shall be drawn * added DataViewWindow detachability flag & changed to a more robust drag handler * added boolean property controlling whether windows are detachable * change drag/detach gesture: window have to be dragged outsides their stage to detach * added new getTickLabelSpacing() to AbstractAxis & updated unit-tests - See RotatedAxisLabelSample.java for example. * added SelectiveJavaFxInterceptor + refactored existing JavaFxInterceptor * added new @TestFX annotation and corresponding SelectiveJavaFxInterceptor extension. usage example: a) '@ExtendWith(JavaFxInterceptor.class)' before test class: - functions with @TestFX and/or @test are executed in JavaFX thread b) '@ExtendWith(SelectiveJavaFxInterceptor.class)' before test class: - only functions with @TestFX are executed in JavaFX thread - functions with @test are executed in JUnit's standard thread pool N.B The new functionality and refactoring should make the testing classes/readability more consistent w.r.t. the different use cases. Enjoy! = Bugfixes, Documentation & Unit-Testing= * across the board: added unit-tests and fixed minor bugs in response to these: TRandom, DataSetBuilder, LabelledMarkerRenderer, FifoDoubleErrorDataSet, CircularDoubleErrorDataSet, DataSetMeasurements, DataViewer, ... see coverage reports for details. * ErrorDataSetRenderer: polyline drawing range to one point outside drawing range * fix recomputeLimits performance regression for empty dataSets * miscellaneous Coverity- and Codacity-detected issues fixes * fixes random JavaDoc errors detected with new Eclipse IDE version * added additional DataSet listener (removal) on renderer change * clean-up/simplification of Chart and ToolBarFlowPane * JavaFX fix/workaround: ToolBarFlowPane respect requested StackPane Pos alignment and size requirements * run tests in headless mode * run tests for dataset in parallel * changed to codecov.io as primary coverage tracker/PR * removed redundant Coveralls coverage tracker * changed Codacity coverage upload from flaky bash script to maven plugin * fix mvn build for local builds and external PRs * added instructions to use snapshot repository * added setupGitHooks.sh and formatFiles.sh sript to ease code auto-format tooling For more details, please see the samples and/or corresponding unit-tests. Minor release with some new features and primarily lots of small bugfixes and unit-test improvements: = New Features = * extended DataViewer, ParameterMeasurement plugin and new DataSetMeasurements concept now includes user-/UI-configurable * DataSetMath measurements (generic math operation on functions, trends, FFT, ...) * UTC/local-time/history trending of simple parameter values * detaching of generated DataSets into new extenally managed Stages * added unit-tests for the corresponding FX UI items * added [set,get]SubtractOffset control to LimitedIndexedTreeDataSet This controls whether the x-Axis range is false: returned as defined (raw-values) true: normalised to the last (usually newest) value. N.B. This is useful for time-series uses where the data should be shown either in UTC (local) time coordinates or as a time difference * removed FxSwingUtils dependency on javafx-swing by implementing a custom high-performance png image exporter = API/Implementation improvements = * modified DimReductionDataSet API syntax & fixed broken unit-tests * replaced ControlFX's Borders factory with custom BorderedTitledPane * added new parameter in ErrorDataSetRenderer to control if all or only local DataSets shall be drawn * added DataViewWindow detachability flag & changed to a more robust drag handler * added boolean property controlling whether windows are detachable * change drag/detach gesture: window have to be dragged outsides their stage to detach * added new getTickLabelSpacing() to AbstractAxis & updated unit-tests - See RotatedAxisLabelSample.java for example. * added SelectiveJavaFxInterceptor + refactored existing JavaFxInterceptor * added new @TestFX annotation and corresponding SelectiveJavaFxInterceptor extension. usage example: a) '@ExtendWith(JavaFxInterceptor.class)' before test class: - functions with @TestFX and/or @test are executed in JavaFX thread b) '@ExtendWith(SelectiveJavaFxInterceptor.class)' before test class: - only functions with @TestFX are executed in JavaFX thread - functions with @test are executed in JUnit's standard thread pool N.B The new functionality and refactoring should make the testing classes/readability more consistent w.r.t. the different use cases. Enjoy! = Bugfixes, Documentation & Unit-Testing= * across the board: added unit-tests and fixed minor bugs in response to these: TRandom, DataSetBuilder, LabelledMarkerRenderer, FifoDoubleErrorDataSet, CircularDoubleErrorDataSet, DataSetMeasurements, DataViewer, ... see coverage reports for details. * ErrorDataSetRenderer: polyline drawing range to one point outside drawing range * fix recomputeLimits performance regression for empty dataSets * miscellaneous Coverity- and Codacity-detected issues fixes * fixes random JavaDoc errors detected with new Eclipse IDE version * added additional DataSet listener (removal) on renderer change * clean-up/simplification of Chart and ToolBarFlowPane * JavaFX fix/workaround: ToolBarFlowPane respect requested StackPane Pos alignment and size requirements * run tests in headless mode * run tests for dataset in parallel * changed to codecov.io as primary coverage tracker/PR * removed redundant Coveralls coverage tracker * changed Codacity coverage upload from flaky bash script to maven plugin * fix mvn build for local builds and external PRs * added instructions to use snapshot repository * added setupGitHooks.sh and formatFiles.sh sript to ease code auto-format tooling For more details, please see the samples and/or corresponding unit-tests.
Minor release with some new features and primarily lots of small bugfixes and unit-test improvements: = New Features = * extended DataViewer, ParameterMeasurement plugin and new DataSetMeasurements concept now includes user-/UI-configurable * DataSetMath measurements (generic math operation on functions, trends, FFT, ...) * UTC/local-time/history trending of simple parameter values * detaching of generated DataSets into new extenally managed Stages * added unit-tests for the corresponding FX UI items * added [set,get]SubtractOffset control to LimitedIndexedTreeDataSet This controls whether the x-Axis range is false: returned as defined (raw-values) true: normalised to the last (usually newest) value. N.B. This is useful for time-series uses where the data should be shown either in UTC (local) time coordinates or as a time difference * removed FxSwingUtils dependency on javafx-swing by implementing a custom high-performance png image exporter = API/Implementation improvements = * modified DimReductionDataSet API syntax & fixed broken unit-tests * replaced ControlFX's Borders factory with custom BorderedTitledPane * added new parameter in ErrorDataSetRenderer to control if all or only local DataSets shall be drawn * added DataViewWindow detachability flag & changed to a more robust drag handler * added boolean property controlling whether windows are detachable * change drag/detach gesture: window have to be dragged outsides their stage to detach * added new getTickLabelSpacing() to AbstractAxis & updated unit-tests - See RotatedAxisLabelSample.java for example. * added SelectiveJavaFxInterceptor + refactored existing JavaFxInterceptor * added new @TestFX annotation and corresponding SelectiveJavaFxInterceptor extension. usage example: a) '@ExtendWith(JavaFxInterceptor.class)' before test class: - functions with @TestFX and/or @test are executed in JavaFX thread b) '@ExtendWith(SelectiveJavaFxInterceptor.class)' before test class: - only functions with @TestFX are executed in JavaFX thread - functions with @test are executed in JUnit's standard thread pool N.B The new functionality and refactoring should make the testing classes/readability more consistent w.r.t. the different use cases. Enjoy! = Bugfixes, Documentation & Unit-Testing= * across the board: added unit-tests and fixed minor bugs in response to these: TRandom, DataSetBuilder, LabelledMarkerRenderer, FifoDoubleErrorDataSet, CircularDoubleErrorDataSet, DataSetMeasurements, DataViewer, ... see coverage reports for details. * ErrorDataSetRenderer: polyline drawing range to one point outside drawing range * fix recomputeLimits performance regression for empty dataSets * miscellaneous Coverity- and Codacity-detected issues fixes * fixes random JavaDoc errors detected with new Eclipse IDE version * added additional DataSet listener (removal) on renderer change * clean-up/simplification of Chart and ToolBarFlowPane * JavaFX fix/workaround: ToolBarFlowPane respect requested StackPane Pos alignment and size requirements * run tests in headless mode * run tests for dataset in parallel * changed to codecov.io as primary coverage tracker/PR * removed redundant Coveralls coverage tracker * changed Codacity coverage upload from flaky bash script to maven plugin * fix mvn build for local builds and external PRs * added instructions to use snapshot repository * added setupGitHooks.sh and formatFiles.sh sript to ease code auto-format tooling For more details, please see the samples and/or corresponding unit-tests.
11.1.3 Release Minor release with some new features and lots of small bugfixes and improvements. = New Features = * EventRateLimiter and AggregateException, optimised EventSource * MathDataSet: dataset which update based on input dataset changes * https://codecov.io/ integration * OscilloscopeAxis: allows fixed divisions and zero position * MultiDimDoubleDataSet: like DoubleDataSet but with arbitrary number of dimensions * ShortTimeFourierTransform * Added pre-commit hook to apply default .clang-format style (run ./setupGitHooks.sh to always reformat your changes before committing them) = API/Implementation improvements = * Removed FFT, DST, DCT, DHT transforms in favour of the upstream library (com.github.wendykierp:JTransforms) * RecomputeLimits: removed explicit locking and changed dataset setters to invalidate data instead of recomputing. Recompution is done in the render pass or in DefaultAxisDescription#getMin/Max/Length if the range is undefined. * LabelRenderer now uses axes added to renderer and skips points with no label * Removed unnecessary final class Axes (mostly dead legacy code) * Lots of unit tests added = Bugfixes = * EditAxis Plugin: fix NPE on removing plugin from chart and add to axes added after the plugin * TableViewer: fix NPE crashing component for high update rates * fix issue fair-acc#104 'Custom legend is not visible' * Many small bugfixes
8.1.3 Release Minor release with some new features and lots of small bugfixes and improvements. = New Features = * EventRateLimiter and AggregateException, optimised EventSource * MathDataSet: dataset which update based on input dataset changes * https://codecov.io/ integration * OscilloscopeAxis: allows fixed divisions and zero position * MultiDimDoubleDataSet: like DoubleDataSet but with arbitrary number of dimensions * ShortTimeFourierTransform * Added pre-commit hook to apply default .clang-format style (run ./setupGitHooks.sh to always reformat your changes before committing them) = API/Implementation improvements = * Removed FFT, DST, DCT, DHT transforms in favour of the upstream library (com.github.wendykierp:JTransforms) * RecomputeLimits: removed explicit locking and changed dataset setters to invalidate data instead of recomputing. Recompution is done in the render pass or in DefaultAxisDescription#getMin/Max/Length if the range is undefined. * LabelRenderer now uses axes added to renderer and skips points with no label * Removed unnecessary final class Axes (mostly dead legacy code) * Lots of unit tests added = Bugfixes = * EditAxis Plugin: fix NPE on removing plugin from chart and add to axes added after the plugin * TableViewer: fix NPE crashing component for high update rates * fix issue fair-acc#104 'Custom legend is not visible' * Many small bugfixes
11.1.2 Release = Summary = This is mostly a maintainance release with lots of bugfixes, performance improvements and a few new isolated features. for details see detailed list below = New Features = = Performance improvements = * Refactoring of ContourDataSetRenderer, new WaterfallPerformanceSample * completed Cache implementation to full java.util.Map interface * extended CircularBuffer (new replace) + additional/complete unit tests = API/Implementation improvements = * added Restyler.io plugin/bot (activated for PR) * added Coverity code analysis scan tool hook (activated for cron jobs, tags, and commits on 'coverity_scan' branch) * add dependency vuln scanner and add update batik * added more unit test for core components (to-be-completed) * redraw when drawGridOnTop property changes * add equiperceptual rainbow color scheme * add Screenshot plugin * daomonised and added proper Timer thread names to ease debugging = Bugfixes = * fix NPE in TableViewer when updating columns (tbc.) * fixed indentation in restyled bot clang formatter definition * Fix csv export from table view without selection * Fix DataPoint tooltip for negative Points * Fix bugs for non equidistant bins in Histogram (partial fix for fair-acc#80) * Fix zoom reset to origin (fixes fair-acc#78) * Fix Zoomer respect omitting axes when scrolling * added chartfx-math unit tests & fixed minor SpectrumTools for float[] * Fix TransposedDataSet for the 3D case * DefaultDataReducer fix: do not remove end-1 point when reducing
11.1.1 Release = Summary = This is mostly a maintainance release with lots of bugfixes, performance improvements and a few new isolated features. for details see detailed list below = New Features = * Improved FXML Support (478a7d4 & 35a9b35) Improves the support for adding Charts and DataViewers in fxml files by adding @NamedArgs and @DefaultProperty Annotations, improving axis management and providing an fxml sample. * Feature chart auto zoom (fair-acc#58, 83c6c9f) New zoom mode for the zoomer, which intelligently switches between XY, X and Y mode. * Feature dataviewer window listener (fair-acc#57, 35a9b35) Improves the DataViewer, now allows to add Windows to the minimized, maximized, etc lists and allows to listen to events for window state changes. * DimReductionDataSet (e78d72c) A dataset working similarly to TransposedDataSet, which allows to create 2D views of 3D Data by taking slices or integrating summing over a specified range. The dataset is updated automatically whenever the original data is changed. = Performance improvements = * Do not build profile label string if we are not profiling (a5b09aa) * Compile style parser patterns statically (ad045eb) = API/Implementation improvements = * Improve dataset getter (fair-acc#48, 27e2bfe) Use dimIndex everywhere internally. * Make getIndexX/Y(...) use getIndex(dimIndex, ...) (bd4e4f3) = Bugfixes = * Move non source files to resource directory, so they are copied to the release jars.(fair-acc#52, fair-acc#53, 42da5c5, e2f43b2) Fixes various Warnings and exceptions when using certain functionalities from the released jars. * Improve handling of axis labels (fair-acc#49, 98a566c) Prevents overlapping axis labels especially for vertical axes with rotated labels. Also fixes the implementation of the NARROW_FONT Axis policy and introduces countermeasures agains the "jumping axis labels" effect observed for rolling time charts (fair-acc#43). Adds a majorTickCount (Default: 20) property and corresponding style (-fx-axis-max-major-tick-label-count). A new sample allows to compare and test the different policies. * Fix NPE for DataSetBuilder with only one error given (431882d) * math Functions: correct initialisation of parameter values in constructor(42ea324) * Fix IndexOutOfBounds error encountered on singular matrices (4c3bd60) * Clean up references to allow garbage collection (35a9b35) * changed readLockGuardOptimistic to regular readLockGuard (292551c) Code in optimistic lock tried to access allready cleared dataset. * Bugfix: contour renderer skipped zoomed in datasets (2aa629d) * UpdataAxisLabels plugin: only update name and unit (559ecc3) * Prevent exceptions for autoSIUnit axis, ignore nonFinite exponents (1e5114a) = CI = * Allow CI to run for pull requests from forked repositories(7519ecb) * initial https://restyled.io/ configuration (0678546, b807b1e) * added missing 'mvn install' statement necessary to execute samples (35a9b35)
11.1.1 Release = Summary = This is mostly a maintainance release with lots of bugfixes, performance improvements and a few new isolated features. for details see detailed list below = New Features = * Improved FXML Support (478a7d4 & 35a9b35) Improves the support for adding Charts and DataViewers in fxml files by adding @NamedArgs and @DefaultProperty Annotations, improving axis management and providing an fxml sample. * Feature chart auto zoom (fair-acc#58, 83c6c9f) New zoom mode for the zoomer, which intelligently switches between XY, X and Y mode. * Feature dataviewer window listener (fair-acc#57, 35a9b35) Improves the DataViewer, now allows to add Windows to the minimized, maximized, etc lists and allows to listen to events for window state changes. * DimReductionDataSet (e78d72c) A dataset working similarly to TransposedDataSet, which allows to create 2D views of 3D Data by taking slices or integrating summing over a specified range. The dataset is updated automatically whenever the original data is changed. = Performance improvements = * Do not build profile label string if we are not profiling (a5b09aa) * Compile style parser patterns statically (ad045eb) = API/Implementation improvements = * Improve dataset getter (fair-acc#48, 27e2bfe) Use dimIndex everywhere internally. * Make getIndexX/Y(...) use getIndex(dimIndex, ...) (bd4e4f3) = Bugfixes = * Move non source files to resource directory, so they are copied to the release jars.(fair-acc#52, fair-acc#53, 42da5c5, e2f43b2) Fixes various Warnings and exceptions when using certain functionalities from the released jars. * Improve handling of axis labels (fair-acc#49, 98a566c) Prevents overlapping axis labels especially for vertical axes with rotated labels. Also fixes the implementation of the NARROW_FONT Axis policy and introduces countermeasures agains the "jumping axis labels" effect observed for rolling time charts (fair-acc#43). Adds a majorTickCount (Default: 20) property and corresponding style (-fx-axis-max-major-tick-label-count). A new sample allows to compare and test the different policies. * Fix NPE for DataSetBuilder with only one error given (431882d) * math Functions: correct initialisation of parameter values in constructor(42ea324) * Fix IndexOutOfBounds error encountered on singular matrices (4c3bd60) * Clean up references to allow garbage collection (35a9b35) * changed readLockGuardOptimistic to regular readLockGuard (292551c) Code in optimistic lock tried to access allready cleared dataset. * Bugfix: contour renderer skipped zoomed in datasets (2aa629d) * UpdataAxisLabels plugin: only update name and unit (559ecc3) * Prevent exceptions for autoSIUnit axis, ignore nonFinite exponents (1e5114a) = CI = * Allow CI to run for pull requests from forked repositories(7519ecb) * initial https://restyled.io/ configuration (0678546, b807b1e) * added missing 'mvn install' statement necessary to execute samples (35a9b35)
11.1.0 release **Summary:** restructured `DataSet` interface added thread-safety features plus many bug-fixes, code- and performance improvements. more details: * changed/major thread-safety improvement for UI and non-UI components (also checked/verified against JUnit, Coverity) * changed DataSet `get[X/Y]` to a more multi-dimensional-consistent and iterable `get(dimIndex, index)` interface * changed Chart toolbar from a SidePane to an embedded less obstrusive HiddenSidePane * changed/simplified DataSet and Histogram interfaces * changed logging statements to slf4j's new fluent api (use of system printouts are henceforth deprecated) * added write-lock primitives to all lib-based DataSet setters and read-locks to getter in Renderer and Plugin implementations * added guards in ChartFx's components for early detection of potential FX UI thread violations * added style-parser for custom colouring schemes, dashed-lines, grid on top/below graphs, ... * added option to ErrorDataSetRenderer to skip sanitizing NaN values before pushing it to the JavaFX framework (N.B. in JDK8 this causes infinite loops) * added reflection-based serialiser framework open to arbitrary binary- and/or text-based formats (IoSerializer as initial example) * added AxisDescription interface to synchronise axis name, units, range between `DataSet as well as `Axis` interface * added UpdateAxis plugin to automatically synchonise chart axes to given DataSet AxisDescription * added DataViewer dynamic Pane manager to control multiple Charts and/or other custom JavaFX Panes * added JUnit tests for new (and many older) ChartFx components * added optional Panner-functionality to Zoomer plugin (N.B. old Panner plugin still available) * added boolean property to ErrorDataSetRenderer to control whether renderer may/should assume unsorted data or not * added scatter-type plot functionality and example * fixed handling of negative (= before Epoch) dates in time-based axes * fixed vertical zoom-bug in MountainRangeRenderer reported by Harald * fixed zoom-bug at numerical floating-point limits * eliminated unnecessary dependencies on jfxtras and openjfx-web * reformatted entire library against in-house formatting standards This closes fair-acc#38. Please let us know if you find bugs, missing features, or have any questions regarding library usage etc. Larger new (API changing) features to be collected in fair-acc#44
PreviousNext