ReleasesCosmograph 2.0 Pre Release

2.0.0-beta.24

  • cosmograph: Replaced isomorphic-dompurify with dompurify eeca90e
  • cosmograph: Add new methods from “@cosmos.gl/[email protected]799f6f6
    • Added visual property getters: getPointColors(), getPointSizes(), getLinkColors(), getLinkWidths()
    • Added new position tracking and sampling methods: trackPointPositionsByIndices(), getTrackedPointPositionsArray(), getTrackedPointPositionsMap(), getSampledPoints()
  • general: Update “@cosmos.gl/graph” to “2.3.0-beta.1” 97cc15a
  • cosmograph: Add descriptions to button configurations for improved accessibility 172b96a
  • cosmograph: Fix applyExactFilter for null values 46c7ee1
  • cosmograph > Search: Select results from suggestion list by pressing enter 41a45da
  • cosmograph: Clickable cluster labels 5925052
    • Introduced selectClusterOnLabelClick to control point selection on cluster label clicks.
    • Added onClusterLabelClick callback for handling cluster label click events. Closes #408
  • cosmograph: Enhance cluster label handling and styling ca73027
  • cosmograph: Update CosmographButtonPolygonalSelection icon 2fb5ec3
  • cosmograph: Fix missing escaping for column names in some queries 16f91ec
  • ui >Bars: fix label text overflow d5ad437
  • general: Update “@cosmos.gl/graph” to “2.3.0-beta.0” 4291ed5
  • cosmograph: Tweak label sizes and styles 36b0d35
  • cosmograph: Fix search suggestions height 8b4ed7f
  • cosmograph: Improve Labels performance during dragging and simulation 8f39781
    • New Cosmograph methods: getPointScreenRadiusByIndex() and getPointPositionByIndex()
    • Fix radius calculation in labels/popup
  • cosmograph: Fix label positions during dragging 9da3ed4
  • cosmograph + react: CosmographPopup component bc7b473
  • cosmograph: Update CosmographButtonPolygonalSelection icon 55a1596
  • cosmograph + react: CosmographButtonPolygonalSelection component 7350dea
  • cosmograph: Fixed retriggering simulation if simulation is stopped 5d422f0 Closes #428
  • cosmograph + react: BREAKING: Rename CosmographButtonSelectArea -> CosmographButtonRectangularSelection 6dbdb79
  • cosmograph: Hide spinner while waiting for data db1fb2d
  • cosmograph: Align area selection methods with “@cosmos.gl/[email protected]88c7331
  • general: Update “@cosmos.gl/graph” to “2.2.1” bda5062
  • cosmograph: Lock “apache-arrow” version to “17.0.0” a7da054
  • cosmograph: Added polygonal selection features e07215c
    • BREAKING: Rename onAreaSelected -> onRectSelected
    • New methods for polygonal selection: activatePolygonalSelection(), deactivatePolygonalSelection(), selectPointsInPolygon() and props for the Cosmograph config: polygonalSelectorStrokeColor, polygonalSelectorLineWidth
    • New method unselectPointsByIndicies() for unselection of multiple points at once
  • general: Update “@cosmos.gl/graph” to “2.2.0” 27926fe
  • cosmograph: Update access modifiers for components fa30e22

2.0.0-beta.23

  • cosmograph > CosmographSizeLegend: Synced link width legend with scaleLinksOnZoom 1e39435
  • cosmograph: Fixed labels destroying during graph reinitialization 60df9ca
  • general: Update “@cosmos.gl/graph” to “2.1.0” 62159b2
  • cosmograph: Add onConfigUpdated callback 92c9686
  • cosmograph: Fix showLabelsFor prop’s dependency on showTopLabels 7457b6f
  • ui: Histogram + Timeline: Fix hanging axis/bars when accessor switched and incorrect data acquired e70d6d3

2.0.0-beta.22

  • cosmograph: Remove access to attribution cosmos prop 251d1d0
  • general: | Update from “@cosmograph/cosmos” to “@cosmos.gl/graph” ff32480
  • cosmograph: New statusIndicatorMode prop for loading status customization d1213cd
  • cosmograph > CosmographSearch: Minor bug fixes 67eb717
    • Provided default ‘id’ accessor into the default config
    • Fixed unability to expand accessors menu
  • cosmograph: Updated single point selection behavior cec285b
    • CosmographExclusiveSelectionComponent now resets clicked point selection
    • Updated setFocusedPoint method to use only cosmos’s focusedPointIndex prop
  • ui: Minor fixes b9e98a0
    • Fixed disabled pointer events in Bars component when DisplayState is visible
    • Fixed scrollbar style for Search
  • cosmograph + ui: Legends tweaks 87f746b
    • SizeLegend: Show No data state if extent or labels are not valid numbers
    • RangeColorLegend: Minor style tweaks
    • DisplayStateManager: Add pointer-events: none to parent when state is visible
    • Cosmograph legends: Add hidden prop that controls legend visibility
    • CosmographRangeColorLegend: Synced useQuantiles when activePointColorStrategy is palette
  • general: Update “@cosmograph/cosmos” to “2.0.0-beta.26” 2516b7c

2.0.0-beta.21

  • cosmograph: usePointColorStrategyForClusterLabels prop d3a6a26
    • Fix incorrect ?? operator usage in Labels that caused wrong label coloring in some cases and in and CosmographRangeColorLegend
    • Update _addCustomLabelsToDataMap() method
  • ui: Update default numeric formatter 6eadbe1
  • cosmograph: Fix summarize query for tables named with custom schema 2a4420e
  • cosmograph: isSimulationAvailable getter b9bd6bb
  • cosmograph: Update defaults for the simulation forces f461e33
  • cosmograph: CosmographDataManager class and methods for removing/adding data in current graph 837136f
    • Renamed Cosmos props to sync with 2.0.0-beta.25 changes https://github.com/cosmosgl/cosmos/pull/141
    • Fixed initialization and destruction processes for CosmographSelectionComponent that could lead to multiple instances rendering in one container
    • New CosmographDataManager class that contains all logic for uploading and modifying data (previously partially located in CosmographConfigManager)
    • New methods: addPoints(), addLinks() that accept object arrays and auto-index them while preserving existing indices and populating missing fields with defaults
    • Restored removePointsByIndices(), removeLinksByPointIdPairs(), removeLinksByPointIndicesPairs() methods; added removePointsByIds() method
    • Labels: Fixed issue with redundant querying for top labels by degree
  • cosmograph + ui: Update destroy methods for components 899c0e9
  • general: Update “@cosmograph/cosmos” to “2.0.0-beta.25” 2a5d393
  • cosmograph > Labels: Scalable cluster labels padding when scaleClusterLabels is true fad689e
  • cosmograph: Update “@interacta/css-labels” to “0.1.3-beta.1” f78b6dc
  • cosmograph > CosmographEventManager: Fix selectPointOnLabelClick click handling logic 002ca19
    • Clicking empty canvas now will always reset active selection even if selectPointOnLabelClick or selectPointOnClick is not true
  • cosmograph: Add getPointsData() and getLinksData() methods to retrieve all points and links data 01580be
  • cosmograph > CosmographConfig: Implement point position preservation on data updates 5f67e53
    • New preservePointPositionsOnDataUpdate prop for config that will preserve positions for points with same ids during data update
  • cosmograph > CosmographConfigManager: Fix point cluster props handling logic bdd1b72
    • Update clusters buffer even if only pointClusterByFn changed
    • Fixed type of cluster column data
    • Fixed undefined cluster value handling
  • cosmograph > CosmographTypeColorLegend: Add resetSelectionOnCollapse prop fa4c5fe
  • ui > TypeColorLegend: Add onShowMoreClick() callback and isExpanded getter f274fd3
  • cosmograph > Labels: Fix cluster labels visibility when no pointLabelBy ce0fa0f
  • ui + cosmograph: Fix componentsDisplayStateMode prop value consistency at initialize 80109b2
    • BREAKING: Renamed noDataTextnoDataMessage, disableTextdisableStateMessages and loadingTextloadingMessage across various components for clarity
  • cosmograph > Labels: Fix consistency with showTopLabels and showDynamicLabels in _populateLabelDataMap() 01c5294
    • Added text-shadow styling to labels for improved cluster labels visibility
  • general: Update typedoc and fix links in the doc d728a75

2.0.0-beta.20

  • cosmograph > Labels: Fixed _normalizeWeight() performance bottleneck 7c17391
  • ui + cosmograph >Search: Minor fixes ca27da0
  • ui: Minor style changes 223e05d
  • cosmograph + ui: Enhance Search components eae078c
    • CosmographSearch: Added showAccessorsMenu prop to control accessors selection menu visibility.
    • CosmographSearch: Introduced suggestionFields prop to support displaying multiple fields in suggestions.
    • CosmographSearch: Added suggestionFieldsPalette prop for custom suggestion field colors.
    • CosmographSearch: Implemented a remove() method for component destruction and cleanup.
    • ui > Search: Added a disabled prop to enable/disable the component.
    • ui > Search: Added openListUpwards prop to control the suggestion list’s opening direction.
    • ui > Search: Added highlightMatch prop to control matching text highlighting.
    • ui > Search: Exposed getHighlightedMatch public method for manual text highlighting.
    • ui > Search: Exposed focus() and blur() public methods for programmatic input focus control.
  • cosmograph: Clusters updates 4ddf8cc
    • BREAKING: Rename clusterPositionsclusterPositionsMap and change type from [string, string | [number, number, number, number]][] to Record<string, string | [number, number, number, number]>. clusterPositionsMap now accepts an object with positions where keys should be values from the pointClusterBy column.
    • BREAKING: pointColorByMap: Change type from [string, string | [number, number, number, number]][] to Record<string, string | [number, number, number, number]>
    • Added pointClusterByFn for functional cluster assignments based on values in the {@link pointClusterBy} column.
    • Added scaleClusterLabels prop to enable scaling of clusters by their item coun
    • Added clusterLabelClassName prop for controlling cluster label style
    • Updated labels background color
    • Optimized some queries by replacing convertArrowToObject to native toArray()
  • general: Update “@cosmograph/cosmos” to “2.0.0-beta.24” 3bfb764
  • cosmograph: Cluster labels 42497b7
    • Implemented new layer of labels for clusters
    • New props for cluster labels: showClusterLabels and clusterLabelFontSize
  • cosmograph + ui: HistogramBarData and TimelineBarData types 8ca1227
  • cosmograph: New componentsDisplayStateMode config prop to control visibility of component state messages c77a73c
  • ui: Unify comopnents state messages 3fd76a4
    • New DisplayStateManager class that UI components can extend to manage component state messages
    • Removed old state message logic in components in favor of DisplayStateManager
    • UI Components have now noDataText, loadingText, disableText props that customize message text and behavior
  • ui > Bars: Fix elements visibility in different cases f9468ed
  • ui + cosmograph: Add onAnimationTick callback to Timeline component e021ebb
  • comsograph: Use updated object-based config for components from ui with flatten events 8151221
  • ui: Remove Config class, use object-based config ec0bd20
    • BREAKING: Flatten events in the components config, each event is now directly in the config rather than in config.events
    • Enhanced JSDoc for interfaces of all components
  • cosmograph > Labels: Improved rendering performance 427e19a
    • BREAKING: Removed showTopLabelsBy in favor of pointLabelWeightBy as it duplicated functionality
    • Optimize labels querying during zoom and drag
    • If no pointLabelWeightBy specified, labels will try to use pointSizeBy for weight, otherwise weight by degree
    • Max labels amount now limited to showTopLabelsLimit static labels + showTopLabelsLimit dynamic labels
    • Normalize label weight using min/max from weight column data or degree data
  • react: Implement createCosmographReactComponent() to simplify components creation 537748b
    • Add CosmographSearch react component
  • cosmograph > CosmographSearch: Basic component implementation 917825e
  • ui > Search: Update module with new configuration class and styling enhancements 6499050
    • Added methods for setting configuration and clearing input
    • Added module into lib exports
  • cosmograph > zoomToPoint(): Add default zoom duration when not explicitly provided in args f98ec8e
  • cosmograph: Higher priority for PointsSelectionClient selections d32d818
    • Changed point selection behavior for clicks and rectangular selections: if another selection was already active, the new selection by PointsSelectionClient will now clear all previous selections (even if empty).
  • ui: Fix building styles via vite a544a81
  • ui: Fix composite build a25d703
  • cosmograph > Data Kit: Remove cluster indexing logic in queries 634e2b4
  • cosmograph: Parse string columns in pointClusterBy 984f06c
    • New clusterIndexMapping getter in Cosmograph that provides mapping of cluster values to their auto-generated indices.
  • ui: Update Button stories for Storybook 8941ecf
  • cosmograph: Update CosmographPointColorStrategy and CosmographPointSizeStrategy types 9152d9e

2.0.0-beta.19

  • cosmograph > FilteringClient: Fix querying null values and nested data column paths f0cc761
  • general: Update “@uwdata/mosaic” to “0.15.0” 33ca2da
  • cosmograph: Refine filtering components logic 360ea0c
    • Refactored selection logic to ensure correct behavior with inclusive and exclusive selection types
    • Implemented PointsSelectionClient to manage point selections, replacing the previous FilteringClient usage in Cosmograph
    • Fixed date type handling in CosmographTimeline brush selection
    • BREAKING: CosmographHistogram + CosmographTimeline: Rename highlightCrossfilteredhighlightSelectedData for clarity
  • cosmograph > EventManager: Unify clicking logic for labels and points fdd8645
    • Point and label clicks now also trigger setFocusedPoint() if selectPointOnClick is true and focusPointOnClick is undefined. Otherwise, if focusPointOnClick is specified, will follow its value behavior.
  • ui > Timeline + Histogram: Fixed bars animation when highlighted data is empty 73928df
  • cosmograph: Rectangular selection with modifier keys dc849b1
    • BREAKING: focusPoint()setFocusedPoint(). Removed duplicating method for point focusing
    • Updated selectPointsInRect() and selectPoints() methods to support adding points to existing selection
    • New unselectPointsInRect() method for unselecting points in range
    • If focused point was unselected, remove focus from this point
  • cosmograph: Add support for multi-point selection and unselection with modifier keys 05da58a
    • Breaking: rename unselectPoints()unselectAllPoints()
    • Implement multi-point selection using Shift key and unselection using Alt key
    • Implement unselectPoint() public method to handle point deselection
    • Update selectPoint() method to support adding points to the current selection using the Shift key
  • ui: Enhance common data processing logic for Timeline and Histogram and move it unto utils fb42066
  • cosmograph: Remove null value for disableSimulation as it’s auto-controlled when unset 3e4458d
  • cosmograph: Reorganize config files structure 02f78fc
  • cosmograph > Crossfiltering: Move _resetActiveClientSelections into exclusive selection class 8f3736b
  • cosmograph > FilteringClient: Use Mosaic built-ins for gte and lte functions 822ecb8
  • cosmograph: Crossfiltering refactor 932b2e1
    • Cosmograph: setConfig now provides Promise that resolves when the configuration fully is updated and Cosmos is rendered
    • Cosmograph: New summary getter in the internal api that gets summary after data updated and does not waits for the first cosmos render
    • CosmographRangeColorLegend: Added useDiscreteColors for customizing displaying of overrideColors custom palette
    • CosmographConfigManager: More granulated conditions for visual updates to prevent extra rendering and unexpected configuration cases
    • Labels: Prevent calling tracking functions in Cosmos when it’s not initialized yet
    • Updated Mosiaic Selections strategy to resolve empty array when nothing selected
    • New abstract classes for exclusive or inclusive selection components that already include unified selection behaviour
    • Refactored filtering components to use new abstract classes
    • Updated performance of crossfiltering functions
  • cosmograph: Updated CSV auto types parsing for local DuckDB instance 7282fbc
  • ui > Legends: Updated default formatter for legends 4959ecf
    • Fixed fallback container styles for legends
  • ui > Timeline + Histogram: Enhance data processing performance 261c47f
    • Timeline: Fixed SVG rendering errors for / elements
    • Timeline: Updated default numeric formatter
  • ui > Bars: Update rendering logic and styles d2c8ef6
    • Added showSortingBlock and showSearch for customizing bars elements displaying
    • Tweaked row colors
  • cosmograph + react: Update CosmographPointColorStrategy + CosmographPointSizeStrategy types 68b52b6
  • cosmograph > PointColorStrategy: Reverse palette values for string 'palette' strategy to respect min/max coloring alignment 27804d8
  • react: Check if component config differs from previous before updating 2dccb08
  • ui > RangeColorLegend: Update labels max width 24f3beb
  • cosmograph > setConfig(): Return Promise to support async chaining 12d76b7
  • cosmograph > Labels: Fix labels update if only label props changed bc8c619
  • cosmograph: Rename ‘components’ and ‘modules’ 8b5c4f1
  • cosmograph > Labels: Do not run extra checkColumnsExist query during update bc0fe3d
  • general: Update typedoc and website API docs 452c494

2.0.0-beta.18

  • cosmograph > Buttons: Fix userConfig at initialization afd044e

2.0.0-beta.17

  • cosmograph > CosmographSizeLegend: Fix degree strategy legend 0e88d10
  • cosmograph: Fix loading state for legends and filtering components a04e8e6
  • cosmograph > CosmographConfigManager: Improve error handling for point positions validation d791f94
  • cosmograph: Public getConfig() method to get actual config state f6718d7
  • cosmograph + react: Export CosmographPointColorStrategy and CosmographPointSizeStrategy types 42c2bbb
  • cosmograph > Data Kit: Update CosmographDataPrepConfig type e21ff00
  • cosmograph > CosmographSizeLegend: Fix loading state f687e5a
  • cosmograph > CosmographConfigManager: Prevent run links visual update if no links in graph a883a11
  • cosmograph: Bars, Timeline, Histogram: Remove default accessor value 921dfe3
  • cosmograph > Buttons: Update initialiation flow 28cef92

2.0.0-beta.16

  • ui > Timeline: Improve timeline tick formatting and density 4033f92
    • Stick ticks to the data bars
  • cosmograph: Fix cosmos config update on re-initialization 5fce61d
  • cosmograph + react: Fix types for proper TS/IntelliSense support 14a19b6
  • cosmograph: Update link and point default colors 4107269
  • cosmograph: Update data uploading flow a48b8e3
  • general: Update dependencies ec1e513
    • Updated @duckdb/duckdb-wasm to 1.29.1-dev68.0
    • Updated @uwdata/mosaic-core to 0.13.0
    • Updated apache-arrow to 19.0.1
  • cosmograph: Post-refactoring adjustments 3225484
    • BREAKING: Renamed onDataUpdated callback to onGraphRebuilt`
    • Updated default value of showHoveredPointLabel to false
    • Added onGraphDataUpdated callbacks to CosmographConfig for more granular event handling
    • Modified event listener attachment/removal in Legends to reduce unnecessary queries
    • Replaced internal dataUpdated event with dataUploaded for clarity and consistency
  • general: Update “@cosmograph/cosmos” to “2.0.0-beta.23” 9aaf737
  • ui > Timeline: Updated defaultDateFormat to use defaultNumFormat when formatting numeric dates b491706
  • cosmograph: Major structure refactoring b5557fd Renamed and reorganized modules and files for better structure and maintainability.
    • BREAKING: renamed dataReady -> dataUploaded
    • BREAKING >PointColorStrategy: ‘actualColor’ renamed to ‘direct’
    • New ‘direct’ strategy for PointSizeStrategy that parses values as is
    • Temporary removed addData(), removePointsByIndices(), removeLinksByPointIdPairs(), removeLinksByPointIndicesPairs() methods
    • Implemented activePointColorStrategy getter for current point coloring strategy value and getActivePointColorFn which returns current point coloring function
    • Implemented activePointSizeStrategy getter for current point sizing strategy value and getActivePointSizeFn which returns current point sizing function
    • getActiveLinkColorFn and getActiveLinkWidthFn for current link color/width functions
  • cosmograph > Labels: Tweaking overlapping and amount of labels 70952e0
  • cosmograph: Remove rescalePointPositions and related logic 7557454
    • Updated the rescaleXFn and rescaleYFn getters in Cosmograph to use the cosmos’s scale functions.
  • general: Update “@cosmograph/cosmos” to “2.0.0-beta.22” 40b14ad
  • cosmograph: Improve PlayPause button initialization and visibility handling 22f629c
    • Add ‘cosmosInitialized’ event emission after Cosmos initialization
    • Hide PlayPause button when simulation is disabled (e.g., for embeddings)

2.0.0-beta.14

  • cosmograph: Prioritize categorical color for points with string columns 7f3d681
    • Added a new ‘actualColor’ point color strategy that directly applies color values from the pointColorBy column
    • Removed redundant getPointColorStrategy and getPointSizeStrategy functions in favor of resolveOptimalPointColorStrategy and resolveOptimalPointSizeStrategy

2.0.0-beta.13

  • cosmograph: Update typedoc 4b912d4
  • cosmograph: Methods for getting optimal color/size strategy for current configuration 81b4820
    • Added getOptimalPointColorStrategy and getOptimalPointSizeStrategy methods to automatically determine the optimal point color and size strategies based on the current configuration
  • cosmograph: Props for controlling selected and focused point 28c8689
    • New props that add own logic into _onClick()/_onLabelClick() Cosmograph methods : selectPointOnClick, selectPointOnLabelClick, focusPointOnClick, focusPointOnLabelClick, showFocusedPointLabel
    • Added setFocusedPointByIndex method to set focus on a point
    • Added focusedPointIndex getter to get current focused point index
    • Implemented labels logic for focused point that works independently from dynamic, top, and forced labels
  • cosmograph > Legends: Fix event handlers ebfddc6
    • CosmographTypeColorLegend: Fix legend order
    • CosmographTypeColorLegend: Fix resetting active selection when point colors changed
  • cosmograph > Labels: Prioritize showing labels for active selection 5cbf051
  • cosmograph: Make showDynamicLabels true as defalut 6b8867b
    • Tweak pointSamplingDistance to slightly reduce overall dynamic labels amount
  • cosmograph > CosmographSizeLegend + CosmographRangeColorLegend: Fix legend label update on accessor change f2ffeda
  • ui > Histogram: Apply default formatter for ticks 4683f81
  • ui > TypeColorLegend: Fix fallback div style da13fc0
  • ui > Timeline: Recalculate tick amount on resize 5eb32f0
    • Update default barCount value from 100 to 250 for Timeline
  • cosmograph > Data Kit: Update CosmographDataPrepPointsConfig and CosmographDataPrepLinksConfig interfaces 90acf4c
  • cosmograph: Fix async flow for legends when color/size props updated 6f664a9
  • cosmograph: Reset pointSizeRange and pointColorPalette to defaults if passed undefined in config 7fdfa05

2.0.0-beta.12

  • cosmograph > _checkSizesChanged: Add check for pointSizeByFn configuration change b7050dd
  • cosmograph: Update types and comments bc3a7c0
    • PrepResult -> CosmographDataPrepResult
  • general: Update “@cosmograph/cosmos” to “2.0.0-beta.21 65dc05d
  • cosmograph: Update “@interacta/css-labels” to “0.1.2” 3e4bc65
  • cosmograph > CosmographSizeLegend: _updateLabel() function a22630b
  • cosmograph > CosmographRangeColorLegend: Sync with PointColorStrategy 1e779d6
  • ui > RangeColorLegend: discreteColors prop to display colors as segments 8ac5e0b
  • cosmograph > Data Kit: Use pointColor and pointSize as undefined value for strategies b15c403
  • cosmograph: Update default point and link color bd1c665
  • cosmograph > CosmographFilteringComponent: Fix _filterByIdx() performance 7475fb6
  • ui > Timeline + Histogram: Selection performance update d16c0d9
    • Timeline and Histogram: Fixed including data into edge bars
  • ui > Timeline + Histogram: Fixed extra bar selection 9c4c4df Closes #372

2.0.0-beta.11

  • react + cosmograph: Rename button components into CosmographButton... 7b1445b
  • ui > Button: Update styles 55bd899
  • cosmograph: fitView methods args consistency 03c4486
  • ui + cosmograph + react: Add control buttons and event dispatchers b092c50
    • Added Button component in the ui lib.
    • Added control buttons: CosmographFitViewButton, CosmographPlayPauseButton, CosmographSelectAreaButton and CosmographZoomInOutButton.
    • Added event dispatchers to cosmograph lib: areaSelected and onSimulationEnd event.
  • cosmograph: captureScreenshot() method d602bd2
  • ui: Non-selectable ui elements for Safari 65e749e Closes #365
  • cosmograph: PointSizeStrategy + CosmographSizeLegend size strategy sync dbde78f
  • cosmograph/ui: Major styles update ad4406f
    • Fixed loading state for components
    • Minor bug fixes
    • Unify components typography/styles
    • #350
  • cosmograph: escapeValue() for correctly escaping values in SQL queries for points/links 4cba2ff
  • cosmograph > Labels: Add pointLabelFontSize prop, make labelPadding prop flat f8a59d4
    • Update labelPadding defaults
  • cosmograph: getPointIndicesByNumericValue and getPointIndicesByLinksNumericValue 152d561
    • Rename getPointIndicesByColumnValues -> getPointIndicesByExactValues and getPointIndicesByLinksColumnValues -> getPointIndicesByLinksExactValues
  • ui: Auto-format numeric values in SizeLegend and RangeColorLegend 3f1bd2c

2.0.0-beta.10

  • cosmograph > RangeColorLegend : Sync with coloring strategy a4f135c
    • useQuantiles prop for RangeColorLegend
  • cosmograph: Update accessor types efb8d16
  • cosmograph > Data Kit: Fix getPointColorStrategy when pointColor provided 9b7f14e
  • cosmograph: Auto scale point sizes by link degree if graph has links 43877e6
  • cosmograph > Labels: Set pointer-events: none if no onLabelClick 164c60b – Set hoveredPointCursor: 'pointer' if onLabelClick provided
  • cosmograph > SizeLegend: useQuantiles logic to respect auto-scale d488ffd
  • ui > TypeColorLegend: Set minimum width of legend container a0dbbfc
  • cosmograph: Set showTopLabels: true and setShowDynamicLabels: false by default 5611672

2.0.0-beta.9

  • general: Update “@cosmograph/cosmos” to “2.0.0-beta.20” 9a66efa
  • cosmograph > Labels: Tweak colors for custom labels 309f667
  • cosmograph > TypeColorLegend: Order items by column type 14ffd77
  • cosmograph > Labels: pointLabelColor prop + color labels by point color by default 2345a10
  • cosmograph > Coloring strategy: Tweak scales for VARCHAR data 411bc85
  • cosmograph > Data Kit: Improve getPointColorStrategy c1abe38
  • cosmograph: _configUpdatePromise/ configUpdated for awaiting for config update end a4ef895
  • cosmograph: Data Kit logic for point coloring scale auto-generation 9f75fc9
    • Fixed pointColorStrategy bugs
  • cosmograph: Initialize legend components earlier e36e651
  • cosmograph: pointColorStrategy: Auto-scaling logic for colors 027833f
    • Added pointColorByMap and pointColorPalette that can be used with pointColorStrategy
    • Fixed AccessorFn type and added extra types for color/size/boolean accessor functions
    • Added hideUnknown prop for CosmographTypeColorLegend that filters out fallback colors from legend
  • cosmograph: Use quantiles for auto-scaled size function 4cf053d
  • cosmograph: Fix zooming through labels e6d636d
  • general: Update “@cosmograph/cosmos” to “2.0.0-beta.19” 16a1500
    • Set disableAttribution: true
  • cosmograph: Sync with “2.0.0-beta.18” cosmos 946d896
    • Send
      instead of into cosmos
    • Rename ‘watermark’ to ‘attribution’
    • Set default space size to 8192
  • general: Update “@cosmograph/cosmos” to “2.0.0-beta.18” 6a7f163
  • cosmograph: Fix getConfig method of legends 36ede86
  • cosmograph + ui: Loading state for legends 901bba8 #341
  • cosmograph: Set loading state for filtering components before fetching data 73b6ac4
  • cosmograph: Update points rescaling factor calculation 063a1f1
  • cosmograph: Points rescaling logic d113825 #344
  • cosmograph: Set showLabels: true by default 76607ce

2.0.0-beta.8

  • cosmograph > _handlePointPositions(): Strict point positions check if provided 5412226
    • Fix reset() method
  • react + cosmograph: Update README.md 36d118d
  • cosmograph > Labels: Tweak weights logic 56f4db0
  • ui > Timeline: Fix parsing ‘null’ dates fe99e5e
  • general: Remove default... prefix from some Cosmograph config properties f07d2b7
  • general: Update “@cosmograph/cosmos” to “2.0.0-beta.17” 133d223
  • cosmograph: Add pointSizeRange and linkWidthRange props for automatic scaling 54623c3
  • general: Rename all props that accept column name as input by adding postfix ‘By’ aa83829
  • cosmograph: (breaking) Add postfix ‘By’ to all props that accept column name as input 79a392f
  • cosmograph: Rename setClusterStrength to setPointClusterStrength 64b6f9a
  • general: Update “@cosmograph/cosmos” to “2.0.0-beta.16” f941ac7
  • cosmograph: Clustering features a096d8d
    • Added pointClusterStrength column to control how strongly each point is attracted to its assigned cluster during the simulation
    • getClusterPositions() methods to get current cluster centers [x, y] positions at canvas
    • clusterPositions prop to set [x, y] positions of cluster centers at canvas
  • cosmograph > MosaicDBCoordinator: Better logging for query() and exec() methods 836e4c5
  • cosmograph > PointSelectionClient: Fix handling empty selection 01c733c
  • cosmograph > Data Kit: Fix insertPoints query to index clusters only when pointCluster provided 3cff4e9
  • cosmograph: Sync codebase with cosmos “2.0.0-beta.15” 943c11c
    • Typed arrays for cosmos data (PointColor, PointSize, LinkColor, etc)
    • Added simulationClusterStrength force into CosmographConfig
  • general: Update “@cosmograph/cosmos” to “2.0.0-beta.15” 318fac8
  • cosmograph > Data Kit: Prepare pointCluster column as indexed clusters for cosmograph 67bf082
  • cosmograph: !prepareCosmographDataArrow -> prepareCosmographData + !prepareCosmographData -> prepareCosmographDataFiles fb4239a
  • cosmograph: Add support for pointCluster ecbe779
  • cosmograph: Update “@uwdata/mosaic-core” + “@uwdata/mosaic-sql” to “0.12.0” dc84f93
  • cosmograph > Labels: showLabels prop for controlling visibility of all labels at once (except hovered) 57b3dd1
    • showLabels is false by default and showDynamicLabels is now true by default.
    • If pointLabel provided into the Data Kit config, it will automatically output a Cosmograph config with showLabels: true
  • cosmograph > _removeCosmosPoints: Remove points data only from valid arrays 7af3f01
  • general: Update “@cosmograph/cosmos” to “2.0.0-beta.13” ec5a3b4
  • cosmograph: Do not control simulation if disableSimulation is true 8e36a03
  • react: Add React.memo into components 22c2d0a
  • cosmograph + react: Update README.md 345e4ba
  • react: Fix useCosmograph hook a50e460
  • cosmograph: Auto-generated pointSizeFn for pointSize 27b694c Closes #293
  • ui + cosmograph: SizeLegend: Fix graph elements size consistency with the current scales da26d72 Closes #315 and #316
  • cosmograph: Add pointSizeUpdated/linkWidthUpdated listeners for SizeLegend 3b120cf
  • cosmograph: Update AccessorFn type d2e66ee
  • cosmograph > SizeLegend: Recalculate label of max extent when zooming and scalePointOnZoom enabled b057265 Closes #314
  • cosmograph: Fix type of onDataUpdated callback 6a2da66
  • cosmograph: Fix exports 6ef1c45
  • cosmograph > CosmographBars: Reset selection (if active) when invalid accessor 1d871c7
  • ui > Bars: Sorting buttons 8afd388
  • ui: Legends > Styles update 3978ba5
    • RangeColorLegend: Fix extent label visibility if extent value === 0
  • ui + cosmograph: TypeLegend: Fixed behavior when accessor is not vaild 1ea9800
  • ui + cosmograph: RangeColorLegend : Add show/hide methods, fix styles 024501e
  • ui + cosmograph: SizeLegend: Fix show/hide methods 4408a51
  • ui + cosmograph: TypeLegend: Added show/hide methods 326afdb – Fixed hidden TypeLegend style
  • react: CosmographBars component dc7db4f
  • cosmograph: CosmographBars component + restructuring update dbd5e44 – Updated modules ordering – Refactored HistogramClient into FilteringClient with publishExact method to allow filtering by values. – Added CosmographFilteringComponent base class to simplify creation of filtering components – Refactored CosmographTimeline, CosmographHistogram to use CosmographFilteringComponent – Added CosmographBars component based on “CosmographFilteringComponent– Fixed selection bugs forCosmographTypeColorLegend`
  • ui: Update TypeColorLegend c24680f – Added JSDoc – Added alignRight prop to align legend items to the right – Added “show more” button that activates virtualized list scrolling – Added expanded prop to control legend list
  • ui: Bars component 90a86c8
  • cosmograph > Labels: Apply ‘pointer: cursorifonLabelClick` provided 090fe72
  • cosmograph + react > Labels: Support for custom floating labels be8db5e
  • cosmograph > CosmographSizeLegend: Added dynamicPointSize prop 6a9c63e
  • cosmograph > Legends: Prevent legends from updating before initialization d9ea49d
  • cosmograph: Fix parsing [r,g,b,a] colors in pointColor/linkColor 858208a
  • ui > TypeColorLegend: Fixed legend container height calculation ac9d5e5

2.0.0-beta.7

  • cosmograph: Promises fix ff13459
    • Do not query getPointsByIndices, getPointIdsByIndices, getPointsByIndices, getPointIndicesByColumnValues, getPointIndicesByLinksColumnValues, getLinksByPointIds, getLinksByPointIndices if items array to query is empty
  • ui + cosmograph: TypeLegend list virtualization d0e18df
    • Moved selection styling logic into ui/TypeLegend
    • New maxDisplayedItems prop in the TypeLegend config
    • Added sortBy and sortOrder functional into CosmographTypeColorLegend
  • cosmograph: Update env variable for the debug log ef56600
  • cosmograph: Fix points unselection 6f7911b

2.0.0-beta.6

  • cosmograph: simulationImpulse prop to control simulation while adding/removing data 7d6a8f3
  • cosmograph > RangeColorLegend + SizeLegend: Update legends on dataUpdated 1d78104
  • cosmograph: Data adding and removing functions update a7132a6
    • addPoints -> addData, now handles links data adding too
    • Added removeLinksByPointIndicesPairs, removeLinksByPointIdPairs
    • Renamed all ‘indicies’ to ‘indices’ in method names and props
  • cosmograph: Fix duplicate column quering in labels requests 05309dd
  • ui > historgam + timeline: Handle equal min/max data extent b93e694
  • general: Update “@cosmograph/cosmos” to “2.0.0-beta.12” f6bfe6b
  • cosmograph > CosmographHistogram+CosmographTimeline: Always get actual getColumnsToInclude 224bfe8
  • cosmograph: Async states refactoring a0659d5
  • cosmograph > Labels: Fix hide condition a91c59f
  • ui > historgam + timeline: Fix selection when less than half of bar selected 248a4d0
    • Histogram : ‘No timeline data’ -> ‘No histogram data’
  • cosmograph: Fixed condition for adding points during positions update 23c03ff
  • cosmograph: Remove unused methods d35b556
  • cosmograph > CosmographHistogram+CosmographTimeline: Add loading data state 234d6ed
  • cosmograph: Refactor getPointIndicesFromLinks 2b933b8 (‘@uwdata‘“0.11.0” now uses ‘@uwdata/flechette’ that is faster replacement for ‘apache-arrow’ Table but don’t support concat method)
  • general: Update “@duckdb/duckdb-wasm” to “1.29.0” 15360ce
  • general: Update “@cosmograph/cosmos” to “2.0.0-beta.11” fc02e3a
  • cosmograph > Labels: Set z-index: 1 for hovered label default style 1a234a9
  • cosmograph: Update “@uwdata/mosaic-core” + “@uwdata/mosaic-sql” to “0.11.0” eec7a72
  • general: Update “@duckdb/duckdb-wasm” to “1.28.1-dev292.0” d7b12b6
  • react: Remove “@cosmograph/cosmos” from dependencies c8d3eee
  • cosmograph > _handlePointPositions: Fix logic of preserving existing points positions 9e3bb79
  • cosmograph > Labels: labelMargin + LabelPadding updated config props ae09ae1
    • Fixed custom class assignment
  • cosmograph + react: CosmographSizeLegend 78b85d1
  • ui > RangeColorLegend + SizeLegend: Update legend items animation style during selection a60f2f2
  • ui: TypeColorLegend component 4bb2370
  • cosmograph: Worked out nullish values of data inputs 1d426aa
  • cosmograph > DuckDBInstance: Better error handling for data upload fed24c1
  • ui > legends: Fixed “no data” div displaying e45bbc7
  • ui > timeline + historgam: Added setLoadingState function 1767544
  • cosmograph: Isolate column names in queries to prevent errors when column named like SQL command f6ab09b
  • cosmograph > CosmographHistogram/CosmographTimeline: Fetch data during initialization if available c67e9d6
  • ui > timeline: Fixed timeline data type detection f0a10a4
  • cosmograph: Fix timing of _resolveDataReady/'dataUpdated' events e00b29a
  • cosmograph: addPoints and removePointsByIndices docs 631d95e

2.0.0-beta.5

  • cosmograph: addPoints and removePointsByIndices methods 597a6c5
    • MosaicDBCoordinator: Made destroy() async
  • cosmograph > duckdb: Add insert option into data uploading methods 80dd9ce
  • general: Update @cosmograph/cosmos to 2.0.0-beta.9 107bb5e
  • ui > histogram: Boosted initialization performance a074f5e
  • cosmograph: Dispatch ‘dataUpdated’ event earlier for faster Cosmograph components initialization 67f7930
  • ui > timeline: Boosted initialization performance 47eab15
    • Fixed handling timestamps in formats lesser than milliseconds
  • cosmograph: Update JSDoc 1a1e624

2.0.0-beta.4

  • cosmograph > Legends: Update types e2450de
  • cosmograph + react: CosmographRangeColorLegend component 49f70af
  • ui: RangeColorLegend component 20354c5
  • cosmograph + ui > SizeLegend: Enhance logic, update style, add docs d8e7f40
  • cosmograph: Update labels positions after pointX/pointY change d47823f
  • cosmograph: Fix linksSummary querying if no links e72d65a
  • cosmograph > Labels: Enhance label customization and positioning f1245f4
    • Fixed hovered point label positioning calculation with respect to point radius and zoom
    • Support inline style passed in pointLabelClassName/hoveredPointLabelClassName
    • Add text as first argument inside pointLabelClassName/hoveredPointLabelClassName callback
  • cosmograph > SizeLegend: Sync extent with pointSizeFn/linkWidthFn cf57648
  • cosmograph + react: CosmographSizeLegend 627d12a
    • Added getPointIndicesByLinksColumnValues() and getPointIndiciesByColumnValues() methods into Cosmograph
    • Added public getter selectionClient for selection client that allows users to apply custom selections by point indicies
    • Added pointSizeScaleUpdated/linkWidthScaleUpdated events dispatching while _onZoom() of Cosmograph that fixes Labels alignment during zoom
  • ui: SizeLegend component 5dad7d2
  • cosmograph: Fix disableSimulation detection 547dbff
  • cosmograph: Fix data resolving for external DuckDB instances 71bd76d
  • cosmograph > Labels: Fixed label position calculation while zoom\pointSizeScale increase feff62e
    • Added labelPadding
  • cosmograph > timeline/histogram: Rename filterLinks -> useLinksData 1b7769d
  • cosmograph > Cosmograph: Add summary into stats 2eab468
  • cosmograph: Configured “typedoc-plugin-markdown” 8d44218
  • cosmograph: Updated internal interfaces structure and comments for typedoc 7a5c2c8
  • cosmograph: Added typedoc 563ed10
  • cosmograph: Fixed [r, g, b, a] colors parsing from table if specified in RGBA 7b7f95f
  • cosmograph: Fixed checking env.DEV for dev logging 3398372
  • cosmograph > Cosmograph: Improved logging while initialization e86ce9e
  • cosmograph > MosaicDBCoordinator: Return undefined if unsuccessful initialization 48c218e

2.0.0-beta.3

  • dev: Update examples 1074720
  • cosmograph > data-kit: Add showTopLabels and showDynamicLabels into config if pointLabel provided d6a8c96
  • cosmograph > Labels: Set cosmographDynamicLabel opacity to 1 6765b8f
  • cosmograph > Labels: Correct hovered label positioning 5ee709b
  • general: bump @cosmograph/cosmos from 2.0.0-beta.6 to 2.0.0-beta.7 0205fc9
  • refactor: rename link index properties for clarity, HTMLDivElement -> HTMLElement 9ed44e2
    • Renamed linkSourceIdx to linkSourceIndex and linkTargetIdx to linkTargetIndex across multiple files for better readability and consistency.
    • Replaced HTMLDivElement with HTMLElement in cosmograph/index.ts and cosmograph/labels/index.ts to generalize container element types.