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

Dataframe view update and blueprint API (part 6): cleanup #7573

Merged
merged 5 commits into from
Oct 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,63 +1,12 @@
namespace rerun.blueprint.archetypes;


// Rationale behind the present data modelling:
// - Avoid using `union` at all cost.
// - An explicit "mode" enum maps well with a UI toggle and API parameter, and enabled a hard disambiguation when
// settings are present for both the latest-at and range modes.
// - Timestamps are hard-invalidated by a change of timeline. So we keep them on a per-timeline basis.

// TODO(#7067): add visible components (maybe in another archetype?)
// TODO(#7072): add (optional) PoV components
// Note: component list should be modelled as:
// component PovComponents {
// datatype ComponentNames {
// value: [string];
// }
// }
//
// Motivation:
// - Chances are high that the user prefers to have their pov components _not_ invalidated by a changeof timeline.
// - That is even though a component might _technically_ be soft-invalidated by a change of timeline (e.g. if it was
// not logged on that particular timeline). But we have to deal regardless with potentially invalid component, so this
// doesn't change the story much.

// --

/// The query for the dataframe view.
//TODO(ab): replace by DataframeQueryV2 when ready
table DataframeQuery (
"attr.rerun.scope": "blueprint"
) {
// --- Optional ---

/// The timeline for this query.
///
/// If unset, use the time panel's timeline and a latest-at query, ignoring all other components of this archetype.
timeline: rerun.blueprint.components.TimelineName ("attr.rerun.component_optional", nullable, order: 100);

/// Kind of query: latest-at or range.
kind: rerun.blueprint.components.QueryKind ("attr.rerun.component_optional", nullable,order: 200);

/// Configuration for latest-at queries.
///
/// Note: configuration as saved on a per-timeline basis.
latest_at_queries: rerun.blueprint.components.LatestAtQueries ("attr.rerun.component_optional", nullable,order: 400);

/// Configuration for the time range queries.
///
/// Note: configuration as saved on a per-timeline basis.
time_range_queries: rerun.blueprint.components.TimeRangeQueries ("attr.rerun.component_optional", nullable,order: 500);
}



/// The query for the dataframe view.
table DataframeQueryV2 (
"attr.rerun.scope": "blueprint"
) {
// --- Optional ---

/// The timeline for this query.
///
/// If unset, the timeline currently active on the time panel is used.
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

This file was deleted.

This file was deleted.

This file was deleted.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ namespace rerun.blueprint.views;
/// \example views/dataframe title="Use a blueprint to customize a DataframeView."
//TODO(#6896): add a thumbnail when the example becomes interesting
table DataframeView (
"attr.rerun.view_identifier": "Dataframe"
"attr.rerun.view_identifier": "Dataframe",
"attr.docs.unreleased"
) {
/// Query of the dataframe.
query: rerun.blueprint.archetypes.DataframeQueryV2 (order: 1000);
query: rerun.blueprint.archetypes.DataframeQuery (order: 1000);
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading