Skip to content

v1.2.0

Latest

Choose a tag to compare

@o-murphy o-murphy released this 24 Dec 15:20
· 7 commits to master since this release

BCRG Release Notes

[1.2.0] - 2024-12-24

🎨 Added - New Drawing Methods

Arc Drawing

  • FrameBuffer:c_arc(x, y, rx, ry, start_angle, end_angle, color) - Draw arc relative to reticle center
    • Angles measured in degrees from 12 o'clock (0°) clockwise
    • Supports both circular and elliptical arcs with independent X/Y radii
    • Example: fb:c_arc(0, 0, 20, 20, 0, 90, BLACK) draws a quarter circle
  • ReticleDraw:arc(cx, cy, rx, ry, start_angle, end_angle, color) - Draw arc with absolute coordinates
    • Same functionality as c_arc but uses absolute pixel coordinates

📚 Documentation

  • Updated API reference with arc drawing methods
  • Added arc drawing examples and use cases
  • Added angle measurement system documentation (0° = top, clockwise rotation)
  • Documented difference between centered and absolute coordinate methods

🔧 Improvements

  • Implemented efficient arc rendering using Bresenham-based ellipse algorithm
  • Optimized arc drawing with 4-way symmetry for better performance
  • Improved angle normalization for arcs crossing 0°/360° boundary
  • Fixed coordinate system to properly center arcs at specified (cx, cy) point

[1.1.0] - 2024-12-XX

🎨 Added

  • Enhanced polygon drawing capabilities
  • Improved text rendering options

🐛 Fixed

  • Minor coordinate calculation fixes
  • Text alignment improvements

📚 Documentation

  • Expanded template examples
  • Added best practices guide

[1.0.2] - 2024-12-XX

🐛 Fixed

  • Fixed coordinate offset issues in centered drawing methods
  • Corrected rectangle centering calculations
  • Improved pixel-perfect alignment for small elements

🔧 Improvements

  • Better handling of fractional coordinates
  • Optimized rounding functions for negative values

[1.0.1] - 2024-12-XX

🐛 Fixed

  • Initial bug fixes and stability improvements
  • Corrected bitmap export format
  • Fixed buffer size calculations

📦 Dependencies

  • Updated package dependencies
  • Improved Python 3.8+ compatibility

Migration Guide: v1.1.x → v1.2.0

New Capabilities

Arc Drawing:

-- Draw quarter circle arc (top-right quadrant)
fb:c_arc(0, 0, 20, 20, 0, 90, BLACK)

-- Draw elliptical arc (horizontal ellipse, top half)
fb:c_arc(0, 0, 30, 15, -90, 90, BLACK)

-- Draw arc that crosses 0° boundary
fb:c_arc(0, 0, 25, 25, 315, 45, BLACK)  -- from 315° to 45°

-- Use absolute coordinates
fb:arc(320, 240, 20, 20, 0, 180, BLACK)  -- semi-circle at specific position

Common Use Cases:

  • Range estimation curves
  • Ballistic drop indicators
  • Windage compensation arcs
  • MOA/MIL reference marks

Compatibility

All existing v1.0.x and v1.1.x templates remain fully compatible. New methods are purely additive.


Installation

Using uv (Recommended):

uv tool upgrade bcrg

Using pip:

pip install --upgrade bcrg

Full Changelog: v1.0.1...v1.2.0