Skip to content

Conversation

@jwindhager
Copy link
Member

No description provided.

@jwindhager
Copy link
Member Author

As discussed offline, since this branch affects more than just the points panel, we'll merge and continue development on ui

@jwindhager jwindhager marked this pull request as ready for review January 27, 2026 14:40
@jwindhager jwindhager requested a review from Copilot January 27, 2026 14:40
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request implements a comprehensive PointsPanel with color and size configuration controls. The PR refactors several core APIs to support dynamic query-based column selection, updates configuration types to better separate project-level and custom mappings, and introduces new UI components for user interaction.

Changes:

  • Refactored table/points data interfaces from synchronous getColumns/getDimensions to async suggestColumnQueries/getColumn and suggestDimensionQueries/getDimension for better query-based filtering
  • Updated GroupByConfig API to use optional projectMap and map fields (either/or) instead of a union type
  • Implemented ColorConfigControl and SizeConfigControl components with support for constant, from, groupBy, and random sources
  • Added react-colorful dependency and created ColorPicker component for color selection
  • Refactored ColorUtils to use fromHex/toHex methods instead of generic parseColor
  • Created new common UI components (accordion, field, toggle, radio-group, popover, simple-select, simple-combobox) following Base UI patterns
  • Updated store slices to include updateX methods for partial updates
  • Implemented custom Tailwind CSS theme for dockview

Reviewed changes

Copilot reviewed 48 out of 49 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
pnpm-lock.yaml Added react-colorful@5.6.1 dependency
packages/@tissuumaps-viewer/src/components/Viewer/index.tsx Simplified props to accept only className
packages/@tissuumaps-storage/src/table/TablePointsData.ts Replaced getDimensions with async suggestDimensionQueries/getDimension methods
packages/@tissuumaps-storage/src/parquet/ParquetTableData.ts Replaced getColumns with async suggestColumnQueries/getColumn methods
packages/@tissuumaps-storage/src/csv/CSVTableData.ts Same as Parquet, plus added unused getColumns method
packages/@tissuumaps-core/src/utils/LoadUtils.ts Updated to use projectMap field and improved color index clamping
packages/@tissuumaps-core/src/utils/ColorUtils.ts Refactored parseColor to separate fromHex/toHex methods with validation
packages/@tissuumaps-core/src/utils/ColorUtils.test.ts Updated tests to cover new fromHex/toHex methods
packages/@tissuumaps-core/src/storage/table.ts Updated TableData interface with new async query methods
packages/@tissuumaps-core/src/storage/points.ts Updated PointsData interface with new async query methods
packages/@tissuumaps-core/src/model/configs.ts Refactored GroupByConfig to use optional projectMap/map fields, simplified type guards
packages/@tissuumaps-core/src/assets/shaders/points.frag Fixed type conversion from float to vec2
apps/tissuumaps/src/store/* Added updateX methods to all store slices for partial updates
apps/tissuumaps/src/dockview.css Created custom Tailwind-themed dockview CSS
apps/tissuumaps/src/components/ui/* Added new UI primitives (toggle, toggle-group, radio-group, popover) and removed unused ones
apps/tissuumaps/src/components/panels/PointsPanel/* Implemented PointsPanel with accordion UI and settings control
apps/tissuumaps/src/components/panels/ProjectPanel/index.tsx Migrated to new field component structure
apps/tissuumaps/src/components/panels/ImagesPanel/index.tsx Updated to use new accordion components
apps/tissuumaps/src/components/controls/ColorConfigControl/* New control for managing color configurations with multiple sources
apps/tissuumaps/src/components/controls/SizeConfigControl/* New control for managing size configurations with multiple sources
apps/tissuumaps/src/components/common/* New common components (accordion, field, color-picker, simple-select, simple-combobox)
apps/tissuumaps/src/App.tsx Simplified dockview integration with new theme approach
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported
Comments suppressed due to low confidence (1)

packages/@tissuumaps-core/src/utils/LoadUtils.ts:83

  • The logic for handling projectMap and map has a potential issue. When projectMap is undefined, the code checks if markerConfig.groupBy.map exists and uses it (line 82). However, according to the updated type definition in configs.ts, the map field is now optional (map?: ValueMap<TValue>). If neither projectMap nor map is provided, the code will proceed to use markerMap which will be undefined, causing it to fall back to hashing logic. This behavior should be validated to ensure it's intentional, as it may be confusing that an incomplete configuration doesn't produce an error or warning.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

Copilot AI commented Jan 27, 2026

@jwindhager I've opened a new pull request, #55, to work on those changes. Once the pull request is ready, I'll request review from you.

* Initial plan

* Fix typo: TailwinCSS -> TailwindCSS in dockview.css comment

Co-authored-by: jwindhager <7105759+jwindhager@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jwindhager <7105759+jwindhager@users.noreply.github.com>
Copy link

Copilot AI commented Jan 27, 2026

@jwindhager I've opened a new pull request, #56, to work on those changes. Once the pull request is ready, I'll request review from you.

@cavenel
Copy link
Contributor

cavenel commented Jan 27, 2026

As discussed with @jwindhager, I will merge this branch and continue the development of the points and other tabs in the https://github.com/TissUUmaps/TissUUmaps4/tree/ui branch.

Copy link

Copilot AI commented Jan 27, 2026

@jwindhager I've opened a new pull request, #57, to work on those changes. Once the pull request is ready, I'll request review from you.

@jwindhager jwindhager deleted the points-panel branch January 27, 2026 15:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants