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_arcbut uses absolute pixel coordinates
- Same functionality as
📚 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 positionCommon 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 bcrgUsing pip:
pip install --upgrade bcrgFull Changelog: v1.0.1...v1.2.0