Skip to content

v1.1.0-bin

Latest

Choose a tag to compare

@Daynlight Daynlight released this 26 Dec 00:20

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 Line class, 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 Plot2D class with improved resource management using stack allocation instead of raw pointers
  • Point Class Improvements - Enhanced Point class 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 Plot2D interface 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 generation
  • Plot2D - Supports both points and lines with unified rendering pipeline

Rendering Improvements

  • Mesh caching with point_cell and 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 APIs
  • Examples/Lines/ - New example demonstrating line plotting
  • Examples/Plots/ - Updated with new Plot2D interface
  • Examples/Sin/ - Refactored to use plot. point_cell

📝 Pull Requests Merged

🔗 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 Plot2D to 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