Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

regl-scatter2d #1869

Closed
wants to merge 161 commits into from
Closed

regl-scatter2d #1869

wants to merge 161 commits into from

Conversation

dy
Copy link
Contributor

@dy dy commented Jul 11, 2017

Work in progress, early stages. PR is for discussions.

  • make proper creation of glcontainer and glcanvas
  • make regl plot object
  • setup parcoord, pointcloud and scatter to use regl plot
  • make sure scatter updates are passing
  • integrate
  • 2 scattergl plots case
  • shared context with parcoords case
  • hi-precision mode Increased WebGL 2D projection precision - updated dependencies and mock #1114
  • crossfilter case ?
  • multiple plots
  • shared regl context
  • regl-scatter2d component
  • clustering points (kdtree) for boosting hover
  • scatter/scattergl image tests
  • selection API for regl-scatter2d component handled by trace
  • set proper name, remove scattergl
  • sprite with all regular scatter symbols instead of font-atlas
  • all FIXME/TODOs in code
  • speed up autoscale
  • background image scattergl image background feature request #1603 (comment) a separate PR
  • wrong coloring Coloring for markers using scattergl isn't working properly #1909
  • pointcloud/scatterregl two plots
  • extra update after updateRange call for half-transparent lines
  • point size discrepancy with scatter
  • test memory use
  • fills: tonexty, tonextx, tozerox, tozeroy
  • multiselect Enable multiple selection for box/lasso tool #1853
  • speed up hover (3 strategies) − on hold
  • optimize creating select2d plot by cloning positions and unchangeble attribs
  • reuse scatter2d tree for picking (can save up to 500ms for 1e6 points)
  • subrange selection by the scatter2d tree (visible range + region)
  • multiselect interaction: should persist selection on panning, zooming leave it for a separate PR
  • all gl2d image tests
  • jasmine tests help required @etpinard
  • benchmark plot relayout/restyle test-case required @etpinard
  • hover/pick modes
  • entering selection mode in gl2d_12 respans axes
  • make better pick image
  • running Plotly.plot(container, mock.data) two times breaks selection
  • running Plotly.plot(container, mock.data) two times with modified data.type breaks selection and panning
  • axes range detection discrepancy image vs image in gl2d_axes_labels, gl2d_axes_lines or gl2d_axes_range_type
  • axis font size is broken in gl2d_axes_range_type
  • gl2d_connect_gaps
  • gl2d_date_axes
  • gl2d_error_bars
  • gl-line2d antialiasing image vs reg-line2d image it really depends on layout width, because some layouts are vv
  • axes range in gl2d_scatter-colorscale-colorbar
  • gl2d_stacked_coupled_subplots
  • Make sure images are generated fine
  • Merge master or slice by PRs? @etpinard
  • Double click should remove selection
  • Zoom of big number of points hides part of the points

@cpsievert
Copy link

@dfcreative I just added fill='toself' here #130 (comment) -- if it's ok with @etpinard, and if it's not too much of a time investment, could we add that to your TODO list here?

@bpostlethwaite
Copy link
Member

bpostlethwaite commented Dec 5, 2017

  • SVG annotations on top of 2d webgl traces
  • SVG shapes on top of 2d webgl traces

@etpinard
Copy link
Contributor

etpinard commented Dec 6, 2017

@dy
Copy link
Contributor Author

dy commented Dec 7, 2017

@bpostlethwaite that should work already.
@cpsievert @etpinard added toself logic, but seems that making hollow fills is a bit tricky in regl.
image image
WebGL vs SVG

@dy
Copy link
Contributor Author

dy commented Dec 8, 2017

@bpostlethwaite SVG shapes and annotations:
image

@etpinard etpinard added this to the On-par gl2d milestone Dec 15, 2017
@etpinard etpinard mentioned this pull request Dec 29, 2017
@dy dy mentioned this pull request Jan 3, 2018
return Plotly.restyle(gd, 'visible', 'legendonly');
})
.then(function() {
expect(objects().length).toEqual(OBJECT_PER_TRACE);
expect(objects()[0].data.length).toEqual(0);
expect(readPixel(gd.querySelector('.gl-canvas-context'), 108, 100)[0]).toBe(0);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dfcreative Non-blocking for the first regl release, but it would be nice to make the visible: 'legendonly' state NOT clear the gl context to speed up trace visibility toggle via legend items.

@etpinard
Copy link
Contributor

Closing in favour of #2258

@etpinard etpinard closed this Jan 17, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants