chart-fx icon indicating copy to clipboard operation
chart-fx copied to clipboard

Notes for future work past 11.3

Open ennerf opened this issue 2 years ago • 1 comments

Here are some notes for low-priority things that may be good to be addressed at some point in the future:

Axis

  • [ ] The code for determining the Axis scale/ticks/range should be cleaned up. At the moment there are many different overloads and it is unclear when to use which.
  • [ ] Fix OscilloscopeAxis zero offset
  • [ ] The tick generation should be easier to extend. Setting the ticks should not require creating a new axis.
  • [ ] The tick generator should generate decomposed doubles w/o rounding errors and explicitly set precision. This would make the string conversion easier and fix some issues with rounding errors around zero.
  • [ ] The grid should be drawn within the Axes. That'd make it easier to support grids for multiple axes with different colors
  • [ ] Change autoRanging / growRanging / user to be an enum rather than two mutually exclusive booleans
  • [ ] make min/max/tickUnit properties ReadOnly to match scale and length. Alternatively, make them bindable and throw an error if the properties get bound while auto-ranging is enabled

Renderer

  • [ ] Replace the axisList inside Renderers with dedicated setXAxis() / setYAxis()

DataSet

  • [ ] Provide a batch export (e.g., DataSet::export(DataExport)) so that data can be exported more efficiently (memcpy) than looping over getX(i) / getY(i). The result would be something like a more generic version of the CachedDataPoints in the ErrorDataSetRenderer.

Chart

  • [ ] Make colors looked-up colors and natively support AtlantaFX and Modena-style themes
  • [ ] Remove deprecated Chart::getAllDataSets and Chart::getDataSets? Maybe also remove the default renderer?

Sampler

  • [ ] Maybe migrate from the FXSampler to the AtlantaFX sampler?
  • [ ] Add examples for an ImageRenderer and an OpenGL line renderer

ennerf avatar Sep 26 '23 12:09 ennerf

I just noticed that the thread pool in HdrHistogramRecorder#L115 is not using daemon threads. That needs to be fixed.

ennerf avatar Apr 08 '24 16:04 ennerf