feat: search sidebar relocation, display fields fix, and compact layout#25
Merged
Conversation
Add pydantic-settings fields for reduction_algorithm (tsne/umap/pca), tsne_perplexity, tsne_learning_rate, umap_n_neighbors, umap_min_dist, and umap_metric. Add umap-learn as optional dependency group. Include mypy override for umap stubs. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Add reduce_dimensions() function supporting t-SNE, UMAP, and PCA with strategy dispatch. Refactor compute_plot_data() to use the new function. UMAP import is guarded with a friendly error message when not installed. Includes 8 new tests covering all algorithms, custom params, import guard, and invalid algorithm handling. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Extend PlotRequest model with reduction_algorithm field (tsne/umap/pca) and algorithm-specific parameters with field_validator for mutual exclusivity. Update plot route to pass reduction params to Settings. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Add ReductionAlgorithm type and algorithm params to PlotRequest interface. Extend plotStore with algorithm state and setters. Add radio selector for t-SNE/UMAP/PCA with conditional parameter panels: perplexity slider and learning rate dropdown for t-SNE, neighbors/min-dist sliders and metric dropdown for UMAP, and info text for PCA. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Document t-SNE/UMAP/PCA algorithm selection in features, architecture diagram, and Plot parameters table. Add UMAP optional installation instructions and new env var reference for all 6 reduction parameters. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
compute_plot_data now respects text_display_fields setting by filtering each point metadata dict to only the selected keys. When no fields are selected, all metadata is returned (previous behavior). imageUrl is treated like any other field with no special-casing. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Move SearchBar and SearchResults above PlotControls in the left sidebar, displayed only after plot is computed. This improves search discoverability without consuming extra vertical screen space like the top bar approach. Also adds data-testid attributes for robust e2e selectors, and fixes fullscreen state desync when exiting via Escape key. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Tighten spacing, padding, and font sizes across all sidebar components. Add collapsible accordion sections to PlotControls with chevron toggles — Collection and Clusters default open, all others collapsed. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Tests Report 📄Tests Succees ✅JUnit Details
Coverage Details (93% >= 90%) ✅Diff Cover Details
|
||||||||||||||||||||||||||||||||||
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.
Summary
Changes
Backend
scatter_plot.py: Filtercompute_plot_data()metadata output to respecttext_display_fieldssettingtest_scatter_plot.py: AddedTestComputePlotDatawith 2 tests for display field filteringFrontend
PlotControls.tsx: Compact spacing (space-y-2 p-3), collapsible sections with inlineCollapsibleSectioncomponentSearchBar.tsx: Tightened spacing (space-y-2 p-3), smaller heading and input paddingSearchResults.tsx: Compact items (px-3 py-2), smaller thumbnails (w-8 h-8)ClusterSuggestion.tsx: Smaller chart (240x110), adjusted paddingPlotPage.tsx: Sidebar SearchBar wrapper reduced topx-3 py-2, search conditional onplotData, fullscreen desync fixsearch.spec.ts: 9 e2e tests updated for sidebar placement withdata-testidselectorsVerification
Ultraworked with Sisyphus