Skip to content

Commit

Permalink
Consolidate "next steps" files into single "todo" file
Browse files Browse the repository at this point in the history
The project had two files, "bugs" which was version tracked and "todo"
which was not. However, the two files had very similar contents. This
commit merges them (without too much curation) and switches the
version-contolled filename to "todo"

Should probably move most of these to github issues or whatever.
  • Loading branch information
run4flat committed Feb 10, 2022
1 parent 2a9d7fd commit cbc03ff
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 36 deletions.
36 changes: 0 additions & 36 deletions bugs

This file was deleted.

77 changes: 77 additions & 0 deletions todo
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
Top Priorities
--------------
1. Rewrite collation. Right now the algorithm depends upon knowing the pixel
extent of each axis, but that shouldn't be necessary and is only marginally
an artifact of the implementation. Collation should return a hash with keys
being pixel padding and values being the min/max. This would also allow for
negative paddings values (for offset text).
2. Perform dataset collation when datasets are created or changed.
3. Use SizeSpecs to configure all distances.
Sliders for interactive plots:
- add as option to function plots
- add as separate group of options (like palette, axes, legend)
- would need to be able to configure their scaling, min, max, and default
New scaling types:
- date scaling type, mostly used (I suspect) for axes
- power-law (quadratic, square-root, etc), probably mostly used for color maps
Add margin/padding options
Better color space support, use Maggie's ColorSpace?


Next Steps: Aesthetics
----------------------
1. Use SizeSpecs to configure all distances.
2. Add margin/padding options
3. Superscripts and/or subscripts
4. Better handling of large numbers (depends upon previous)
5. Better color space support, use Maggie's ColorSpace?
6. Support legends
7. Greater configuration for placement, orientation, and size of color map
8. Fancier axis rendering options, especially background gray

Wishlist
--------
Sliders for interactive plots:
- add as option to function plots
- add as separate group of options (like palette, axes, legend)
- would need to be able to configure their scaling, min, max, and default
New scaling types:
- date scaling type, mostly used (I suspect) for axes
- power-law (quadratic, square-root, etc), probably mostly used for color maps

Histogram blows up when its data is removed
colors do not appear to be threading (11-03-08/plot-dists.pl)
legends
criss-crossing lines for high zoom levels (maybe need to change Prima
interface to use double instead of int)

Colors
======
Switch to using Maggie's ColorSpace

Emphasizing Data
================
Teach DataSets how to emphasize and de-emphasize their data
Teach Palettes how to emphasize and de-emphasize their colors

Legends, Color Bars
===================
One legend entry per data set
Auto-detect features based on explicit DataSet properties
Zoom/pan on color bar emphasizes data in that color range

Grid/Matrix
===========
To speed up rendering, work with images
If grid bounds are within viewport, or extend just outside, use a single
Image.
If grid bounds are much larger than viewport, work with tiles of Images that
cover slightly beyond the current view.
- Create function/method that updates the tiles one data-row or column at a
time. This will preserve user interaction while still updating the plot
- When panning (say) left, once the leftmost tiles pan far enough, simply
move them to the far right.

On zoom, create first "image" of zoom based on a zoom-in of the current
image or tiles. Then use the UI rendering method to improve resolution.
Might want to create a whole new Prima image class for this

0 comments on commit cbc03ff

Please sign in to comment.