Remove quadratic and bezier glyphs? #12169
-
These two glyphs were added very early simply for the reason that they were easy to add, since HTML canvas has APIs for them built in. However, I can't really recall any questions about either of them coming up about them in over ten years. A quick check of SO results in:
Most of those actually concern already discretized data. The only really relevant is the third one asking about filled bezier areas for Sankey diagrams. @philippjfr @jbednar does Holoviz make use of either of these, or expect to? If not, I'd propose jettisoning them. cc @bokeh/dev |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments
-
I'm not aware of any usage in HoloViz, but Philipp would probably know for sure. |
Beta Was this translation helpful? Give feedback.
-
The number of questions is such a weird and inconclusive metric in my opinion. What if this works so well, that there is no need to ask questions? Then you may end up with features "popping up" in questions that don't work or are confusing, etc. This being a variation of survivor bias, where users don't compliment good and working features, but primarily report issues and missing features. That being said, they in fact may be used sparingly, as they don't seem to fit the primary use cases of bokeh, at least as advertised. Perhaps they could be used in diagraming or graphing applications, though splines or force directed annotations would be much more useful in those cases. Just to note, I'm preserving bezier curves as part of the new (scalar) shapes API (a part of PR #12083), so the existing function will be preserved through shape collections (this includes selections, etc.), albeit with significant performance loss for large data sets. |
Beta Was this translation helpful? Give feedback.
-
I have used Bezier curves once in a personal project. I was planning on a WebGL implementation eventually and they are in the WebGL roadmap (#11369), albeit the last item! So I lean towards keeping them but it wouldn't really upset me if they went. Quadratic curves I don't care about as they easy to create (it is the control-point maths of the Bezier curves that makes them interesting and non-trivial for end users to recreate). |
Beta Was this translation helpful? Give feedback.
-
We also have support for Bezier curves in HoloViews (see here and a nice example here). I can't comment on how frequently it's used but I'd be -1 on removing it. |
Beta Was this translation helpful? Give feedback.
-
FWIW, I'm also against removing functionality just because its usage isn't apparent. Unless it's a true burden to support - in which case there should be a deprecation warning till the end of the major version. |
Beta Was this translation helpful? Give feedback.
-
Trust me there is no-one here more aware of that phenomena than I am. However what you are discounting is that being good or working well is in no way a barrier against questions, either. Users ask questions when they don't know how to do something, which can be because
Users ask questions about things that work perfectly, literally all the time. In any case it was just an observation. My main concern is that they don't fit in with anything else in the library, or have any clear use-cases at all. I think there are places where bezier curves make sense as an implementation detail:
but otherwise, what data needs a scatterplot of bezier curves to plot.
Every line of code is always a burden to support. In this case, these glyphs are deficient relative to most others. They don't support any of: webgl, auto-ranging, or hit-testing. So we do a fair amount of work and add even more code to bring them closer to parity, or we are stuck having to describe and explain the inconsistencies in perpetuity. However, I see that I am in the minority for this proposal idea. |
Beta Was this translation helpful? Give feedback.
Trust me there is no-one here more aware of that phenomena than I am. However what you are discounting is that being good or working well is in no way a barrier against questions, either. Users ask questions when they don't know how to do something, which can be because
Users ask questions about things that work perfectly, literally all the time.
In any case it was just an observation. My main concern is that they don't fit in…