Conversation
Signed-off-by: Andrew Stein <steinlink@gmail.com>
Signed-off-by: Andrew Stein <steinlink@gmail.com>
Signed-off-by: Andrew Stein <steinlink@gmail.com>
Signed-off-by: Andrew Stein <steinlink@gmail.com>
Signed-off-by: Andrew Stein <steinlink@gmail.com>
Signed-off-by: Andrew Stein <steinlink@gmail.com>
…g stack frames in viewer errors Signed-off-by: Andrew Stein <steinlink@gmail.com>
Signed-off-by: Andrew Stein <steinlink@gmail.com>
Signed-off-by: Andrew Stein <steinlink@gmail.com>
Signed-off-by: Andrew Stein <steinlink@gmail.com>
Signed-off-by: Andrew Stein <steinlink@gmail.com>
Signed-off-by: Andrew Stein <steinlink@gmail.com>
Signed-off-by: Andrew Stein <steinlink@gmail.com>
Signed-off-by: Andrew Stein <steinlink@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds two new declarative control types,
PaletteandGradientStops, replacing single-color and two-stop gradient pickers where plugins declare them.A multi-stop gradient selector with draggable stops, double-click to insert a stop sampled from the gradient, and a
discretemode that pins exactly two stops (end colors locked, shown with a lock affordance). Loading a longer named gradient into a discrete control fits it to a two-stop pair.A palette selector with swatch editing, one-click add (opens the native color picker on the new swatch), and pointer-drag reordering with a live preview of the resulting order.
User-selected colors, palettes, and gradients are persisted through the existing per-column config maps — no new top-level config fields per control:
columns_configunder the plugin-declared key for that control (e.g.color,palette,gradient), keyed by column name — in theViewerConfigemitted by a panel'ssave(), and per-panel insideWorkspaceConfig.panelsfromsaveWorkspace(). These values' shape is defined by the active plugin'scolumn_config_schema().#rrggbb, palettes aslinear-gradient(to right, #rrggbb, …)(positions forbidden), and gradients aslinear-gradient(to right, #rrggbb 0%, …).var(--var-name)- pointing at a scale defined by the active theme's CSS, so a config can follow the theme rather than freeze literal colors.WorkspaceConfigadditionally gains a top-levelpalettemap - named color-scale definitions (--psp-user--<kind>-<name>-> canonical CSS value) shared by every panel.New docs site.
docs/is rebuilt as a single-page demo application, andexamples/blocksis deleted with its examples ported into the site's project corpus (~127 projects):<perspective-viewer>stage with a sidebar, project gallery (modal + deep links via?project=<id>), and a theme toggle.perspective-layout-updateandperspective-active-panel-update, emitted once per settled batch of workspace mutations.Fixes
sumaggregate no longer accumulates incorrectly when updates flip values to or from null (Fixes Handling null updates in sum aggregate #1256).computed_expression.cpp).column_paths/ viewport off-by-one inview.cppthat corrupted region copy and windowed reads (Fixes region copy not working #3216).table_make_view), applied across the JS and Python DuckDB and ClickHouse adapters.restorerace between settings toggling and render tasks;restore({settings})no longer poisons the settings flag.