-
Notifications
You must be signed in to change notification settings - Fork 385
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
Allow appending instances to an existing batch #6123
Comments
Interesting. That does indeed sound like textbook visible time range to me.
Shouldn't be long now ™️
In effect, this is exactly what the "visible time range" does. Internally, there's nothing specifically "visible" about it, it's just a different kind of query that accumulates results across many time indices instead of focusing only on the latest index available. It's really made specifically for this, the naming is just unfortunate here.
Interestingly, we already support that kind of I agree we should have (configurable?) generalized Clear-handling behavior directly at the query layer for range queries. That'd be pretty neat. |
The reason I'm skeptical that "visible time range" will cover all of the use cases that appending and clearing might is: "visible time range" allows expressing "visualize these events strictly cumulatively" but it does not allow expressing “the current state at this instant contains fewer of these entities". For example, if the algorithm I mentioned above has multiple phases, it might be appropriate to completely clear the data from a certain phase at a certain point, and start accumulating new data in the same space. In a 2D time series plot, this is no problem because the horizontal axis allows keeping the two phases obviously separate, but in 3D there is no analogous way to avoid arbitrarily-positioned objects hiding others. It could work, though, if the viewer could be instructed to respect Also, “append” can be seen as a subset of “modify existing instances”, which might be useful for any situation where the process being visualized revisits old data and updates it. |
From chat I heard that I wasn't very clear about the “multiple phases” thing, so let me repost what I said there with sketches. The basic principle is that the application should be able to log stuff and forget it exists, but end up displaying more data over time. A chart of time vs. how much stuff is on the screen looks like this:
So far, a “from beginning to now” range query is perfect for that. But if there are multiple stages to the process being visualized,
such that you want the |
Lots of interesting thoughts in this thread: https://discord.com/channels/1062300748202921994/1075873257124810852/1233429218441035879 |
We had a long discussion that yielded a lot of ideas across a wide range of query-related matters (see discord thread linked above). One of the more concrete ideas that came out of this is this issue: |
Is your feature request related to a problem? Please describe.
I want to visualize progress in an algorithm which is incrementally building an output dataset. This means displaying not just a current state, but what has come before it. Currently, I do this by having my application log the entire dataset each time an element is added, which has the following disadvantages:
Describe the solution you'd like
Add the ability to append a batch of component instances to the existing data, rather than replacing them.
Describe alternatives you've considered
It is possible that the “Visible time range” feature would make more sense here instead. I haven't explored its possibilities in detail since there is no Rust API for blueprint configuration yet. However, it seems to me that there should be support for efficiently logging data which is semantically an accumulation rather than only for display purposes. (And, for example, an application might want to use appends but then sometimes
clear
and rebuild the whole thing due to some change — which does not interact well with the visible time range feature.)The text was updated successfully, but these errors were encountered: