* enable centroid
* introduce new sizing
* scale point size based off hovered category
* add styling
* fix margins
* disable centroid labels
* remove unused code and add detail to comment
* remove cell dilation on selection toggle
* move hover to name label
* hover on value except for checkbox
* add border radius to value
* add action to clear colorMode and colorAccessor if diffexp is removed
* create new colorHelper function
* creater colorHelper for conditionally setting state
* add abbr
* revert abbr
* comment
* add histogram functionality to Dataframe; port category occupancy to use it
* fix binning and create histogram for continous by catagorical
* Remove unnecessary logs
* Begin work on KDE
* Replace broken KDE with working histogram
* Define domain and range based on data from histogram
* Fix occupancy
* Add continuous obs and switch to canvas
* Stop value from always rerendering
* clear before render
* Clear canvas on render
* refactor categorical occupancy to canvas
* Remove log
* simplify finding max
* refactor kde->histogram and occupancy->bins
* refactor svg -> canvas
* rename to occupancy stack
* create popup
* add metadata and categorical values to popup
* fix overflow
* remove zeros info
* style graph
* fix shouldComponentUpdate to look for world changes
* change categorySelected -> categoryValueSelected
* refactor out render
* remove comment
* conditionally have bottom border
* remove diff comp
* remove comments
* remove unnecessary mapping
* Add comments describing drawing functions
* comments
* flip comparison order
* remove logging
* move default to parameter
* move defaults to parameter
* disable popover if not showing histogram
* fix wording and styling
* add line break
* Update example datasets w/ pbmc3k and tabula muris
* Add `prepare` overview and example
* Add S3 data links
* Incorporate PR feedback & copyedits
* Switch to letter pointers
* unix line endings
* path
* Connect mouse over events to reducer actions
* Change Styling on hover
* Rename reducer actions to be more descriptive
* Reorder reducer in cascade
* Create centroid calculation util
* Whitespace
* Typo fix, use correct action
* Create centroid calc util
* Create centroid svg setup
* Refactor existing svg layer to toolSVG
* Change calcCentroid signature and centroidXY to match mapPointToScreen
* Add id and styling
* Run prettier
* Set z-index to 999
* Draw the label
* Introduce the centroid SVG, refactor code to allow both SVG layers
* Add text label and compute radius based on population
* Implement optional chaining
* Update font family
* Optimize calcMeanCentroid()
* Create and utilize calcMedianCentroid()
* Remove mass circle from label
* Remove styling change on hover
* Remove reducer action logs
* Prettier
* Swap out binds for arrow functions
* Style text
* switch from selectAll() to select()
* Reflect centroid container's purpose in id
* Remove mass from the output
* Swap to obj
* Add finite check
* Don't draw centroid if no finite values
* Fix finite check
* Remove log
* Toggle label coloring based on colorBy state
* Pass cursor events through centroid svg
* menubar 1
* zoom switching
* centering, pixel perfect canvas
* remove dead args and code
* clipping
* remove log
* if
* connect props
* lint
* undo
* logo left, componetize
* graph back to full height
* shadow to top
* do not prematurely call event handlers during render
* change test to deal with async histogram creation
* left section padding
* lint
* adjust graph to account for top bar,
* lasso tests
* refine histogram tests
* remove testing (onlys)
* enforce column name uniqueness for obs and var
* parameterize the column name containing obs and var user-readable names
* use the new annotation index value from schema
* update f/e unit tests
* PR review suggestions
* lint
* change pan speed to 1 per issue #722
* correct handle scaling of graph when aspect ratio less than one
* add package lock
* add invert to our scale functions
* correctly transform to/from gl coordinates
* remove unused import
* fix naming of import
* update smoke tests