cristalyse 0.4.4
cristalyse: ^0.4.4 copied to clipboard
Cristalyse is a high-performance data visualization library for Dart/Flutter that implements grammar of graphics principles with native rendering capabilities.
0.4.4 - 2025-06-12 #
Added #
- Stacked Bar Charts: Full support for stacked bars with
BarStyle.stacked- Segment-by-segment progressive animation with staggered timing
- Automatic cumulative value calculation for proper stacking
- Consistent color ordering across all stacked groups
- Smart Y-scale domain calculation based on total stack heights (not individual segments)
- Segment-by-segment progressive animation with staggered timing
Fixed #
- Stacked Bar Scale Domain: Y-axis now correctly calculates domain based on cumulative stacked totals instead of individual segment values, preventing bars from rendering outside chart bounds
- Stacked Bar Animation: Improved animation timing with proper segment delays for smooth visual building effect
Improved #
- Example App: Added new "Stacked Bars" tab showcasing revenue breakdown by category with realistic business data
- Chart Features Documentation: Updated feature descriptions to include stacked bar capabilities
Technical #
- Enhanced
_setupYScalemethod to detect stacked bar geometries and calculate proper domain bounds - Added 10% padding to stacked bar charts for better visual spacing
- Improved data grouping logic in
_drawStackedBarswith consistent sorting for predictable stacking order
0.4.3 - 2025-06-12 #
Added
- 📸 Added screenshots of the example app to README
0.4.2 - 2025-06-12 #
Improved
- Enhanced the example project to showcase multiple chart types, themes, and color palettes.
0.4.1 - 2025-06-12 #
Technical
- Code quality improvements and linting compliance
0.4.0 - 2025-06-12 #
Added
- Enhanced Theming: Added
solarizedLightThemeandsolarizedDarkThemeto the theme factory. - Color Palettes: Introduced multiple color palettes (
warm,cool,pastel) that can be applied independently of the base theme. - Custom Label Styles: Added an optional
axisLabelStyletoChartThemefor more granular control over axis label appearance. - Interactive Example App: The example app now features controls to dynamically cycle through themes, color palettes, and adjust chart-specific properties like bar width, line stroke width, and point size via a slider.
Fixed
- Axis Label Rendering: Overhauled axis label drawing logic to correctly render labels with proper spacing and prevent overlap, especially on horizontal charts.
- Color Palette Application: Ensured that color palette changes now correctly apply to all chart types, including those without explicit color mappings.
Changed
- Improved Padding: Increased default padding in
ChartThemeto give axis labels more breathing room.
0.3.0 - 2025-06-12 #
Added
- Bar chart support with
geomBar(). - Horizontal bar chart functionality via
coordFlip()method. - Added
borderRadiusandborderWidthproperties toBarGeometryfor enhanced styling.
Fixed
- Resolved numerous rendering issues and lint errors in
animated_chart_widget.dartto enable robust bar chart display. - Corrected scale setup and drawing logic for flipped coordinates in horizontal bar charts.
- Ensured proper propagation of the
coordFlippedflag throughout the chart rendering pipeline.
0.2.3 - 2025-06-08 #
Technical
- Code quality improvements and linting compliance
0.2.2 - 2025-06-08 #
Documentation
- Updated README with comprehensive examples and installation guide
- Added CONTRIBUTING.md for new contributors
0.2.1 - 2025-06-08 #
Changed
- Updated deprecated code to use
withValuesinstead ofwithOpacity
0.2.0 - 2025-06-08 #
Added
- Line chart support with
geom_line() - Basic animations with configurable duration and curves
- Multi-series support with color-grouped lines
- Staggered point animations and progressive line drawing
- Dark theme support and theme switching
Fixed
- Canvas rendering crashes due to invalid opacity values
- TextPainter missing textDirection parameter
- Coordinate validation for edge cases and invalid data
- Animation progress validation and fallback handling
- Y-axis label positioning and overlap issues
Technical
- Comprehensive input validation for all numeric values
- Graceful handling of NaN, infinite, and out-of-bounds data
- Improved error recovery and fallback mechanisms