Перейти до основного вмісту

Rayforge 1.8 - Rust Pipeline Complete, LightBurn Import, New Device Profiles

Rayforge Team
Core development team

Rayforge 1.8 is here! This release completes the Rust geometry pipeline migration, adds full LightBurn file format import, new device profiles, a simple GRBL serial driver, and significant performance improvements across the board.

Rust Pipeline (raygeo)

The geometry engine now runs entirely in Rust through the raygeo library. Tab operations, merge lines, overscan, lead-in/out, hull computation, the raster scan engine, image processing, SVG parsing, and encoder functions are all Rust-accelerated. The old Python implementations have all been removed.

raygeo is now at version 0.8 with thoroughly documented APIs, visual examples, and interactive tools. It handles everything from bezier curve processing to camera calibration algorithms.

What runs in Rust:

  • Tab operations, merge lines, overscan, lead-in/out, hull computation
  • Raster scan engine: power modulation, mask scanning, multi-pass modes
  • Image processing: sRGB conversion, dithering, grayscale normalization, auto-level computation
  • SVG parsing: length parsing, geometry extraction, layer splitting, metadata extraction
  • Encoder functions: scanline rasterization, cylinder transforms
  • Image denoising and Otsu thresholding

LightBurn Import

Rayforge can now import LightBurn project files (.lbrn / .lbrn2) with layers and geometry preserved, device profiles (.lbdev) with camera calibration, and cut settings as workflow step parameters. Power, speed, and passes carry over from your existing LightBurn designs.

New Device Profiles

  • Acmer P3 laser engraver
  • Creality Falcon 10W -- 10W diode laser with 400x415mm work area
  • Sculpfun C1 engraver

Simple GRBL Serial Driver

A new GrblSerialSimpleDriver uses a ping-pong protocol: send one line, wait for "ok", send the next. No character-counting buffer management, no deadlock detection, no stall recovery. Available as an alternative when the advanced driver causes false alarms on certain devices.

Performance

The 3D canvas slider no longer freezes on large jobs. The old O(n) seek was replaced with pre-computed snapshots and binary search. Seek time dropped from seconds to roughly 3 milliseconds on a 338K-command job.

Adaptive deadlock timeouts estimate per-command execution time, so slow moves get longer timeouts and fast moves get shorter ones. Machine settings now apply immediately without requiring a restart.

Ops Redesign

The core Ops container was completely rewritten from a list of Python Command objects to a Struct-of-Arrays layout with index-based access. This is the foundation for the Rust integration and is significantly faster in Python too.

Other Improvements

  • Go to WCS Zero button in the Current Position section
  • Lens calibration dialog in camera properties, split from image settings
  • Finer raster line spacing lowered to 0.001 mm for microfabrication
  • macOS Tahoe icons updated to Liquid Glass-style design
  • Deadlock detection toggle in GRBL driver settings
  • Rotary module selection disabled when machine has no rotary modules
  • pyclipper and svgelements dependencies removed, replaced by raygeo
  • Worker pool detects crashed workers and spawns replacements
  • Pre-generated raygeo API docs on the website

Bug Fixes

Fixed GRBL network disconnect with MKS DLC32 boards, buffer stall recovery aborting jobs during slow moves, 3D canvas slider freeze on large jobs, optimizer splitting continuous scanlines, tab clip points not scaled to workpiece size, machine settings not applying until restart, ValueError when removing the active machine, manual laser control routing, WCS dropdown coordinates not syncing, multiprocessing warnings on Python 3.12, and many more.

Special Thanks

This release was made possible with the support of our Patreon supporters: froqstar, old-man-and-the-seam, pghpete, Derek McTavish, starlynx.dev, Amsel, and four anonymous supporters.

Download Rayforge 1.8

Join the Community