Graphite v1.1.0 Release Notes
What's Changed
This release brings significant enhancements to the Graphite plotting engine with improved rendering capabilities, interactive controls, and major refactoring for better performance and maintainability.
🎨 New Features
- Line Rendering Support - Added full support for drawing lines with the new
Lineclass, enabling line plots alongside point plots - Interactive Camera Controls - Added pan (WASD keys) and zoom (+/- keys or mouse scroll) controls for intuitive plot navigation
- Dynamic Window Scaling - Plots now automatically scale with window size changes
⚡ Performance Improvements
- Draw Optimization - Implemented mesh caching system for points and lines, regenerating only when data changes
- Unified Rendering Pipeline - Refactored shader system for efficient rendering of both points and lines
- Update Tracking - Added state tracking to prevent unnecessary re-renders
🔧 Refactoring & Code Quality
- Plot2D Enhancement - Refactored
Plot2Dclass with improved resource management using stack allocation instead of raw pointers - Point Class Improvements - Enhanced
Pointclass with size support, update tracking, and better mutability - Organized Math Classes - Moved math classes to
Resources/Math/Functions/directory for better organization - Simplified Examples - Updated all example scripts to use the new
Plot2Dinterface and APIs
📦 Technical Details
New Classes
Graphite:: Math::Line- Full line primitive with position, size, color, and update tracking
Enhanced Classes
Graphite::Math::Point- Now includes size, update tracking, and mesh generationPlot2D- Supports both points and lines with unified rendering pipeline
Rendering Improvements
- Mesh caching with
point_celland line cells - Unified shader and uniform system
- Dynamic geometry generation
- Camera transformation support with zoom limits
Example Updates
Examples/Curve Bezier/- Updated to use new plotting APIsExamples/Lines/- New example demonstrating line plottingExamples/Plots/- Updated with newPlot2DinterfaceExamples/Sin/- Refactored to useplot. point_cell
📝 Pull Requests Merged
- Full plot by @Daynlight in #33
- Dev by @Daynlight in #34
- Draw optimization by @Daynlight in #35
- UI by @Daynlight in #36
- UI by @Daynlight in #37
🔗 Links
Full Changelog: v1.0.2...v1.1.0
Installation
Download the appropriate binary for your platform from the releases page.
Upgrading from v1.0.2
This release includes API changes. Please note:
- Update any code using
Plot2Dto use the new stack-allocated resource pattern - Point and Line classes now have update tracking - call appropriate setters to trigger re-renders
- Example scripts demonstrate the new usage patterns
Contributors
Released: 2025-12-26