Skip to content

Releases: quantumnic/lasermac

v0.4.3 — AI CLI interface

15 Mar 01:34

Choose a tag to compare

lasermac-cli — AI-friendly command-line interface

Control your laser engraver programmatically from scripts and AI agents.

Commands

  • Connection: connect, disconnect, status, ports
  • Machine control: home, unlock, reset, origin, goto, jog
  • Laser: laser-on, laser-off, laser-test
  • Jobs: send (file or raw gcode), burn-text, burn-rect, burn-circle, frame
  • Settings: settings, set, detect
  • Profiles: profile list/save/load

Features

  • All output is JSON by default (perfect for AI tool calls)
  • --plain flag for human-readable output
  • State persistence in ~/.lasermac/cli_state.json
  • Built-in single-stroke font for text engraving
  • Circle approximation with configurable segments

Install

pip install lasermac
lasermac-cli --help

v0.4.2 — Larger sliders

15 Mar 01:26

Choose a tag to compare

UX Fix: Sliders are now bigger and easier to use

  • Height 20px (was ~14px) — much easier to grab
  • Bigger handle (button_length=16)
  • Wider track in draw canvas (100→160px for main sliders)
  • Better value label — fits '10000 mm/min' without truncation
  • Tested on Python 3.12 (Anaconda) before release ✅
pip install --upgrade "git+https://github.com/quantumnic/lasermac@v0.4.2"
lasermac

v0.4.1 — Startup crash fix

15 Mar 01:21

Choose a tag to compare

Fixes startup crash on all Python versions.

Invalid height_override argument removed from CTkButton call. Tested on Python 3.12 (Anaconda) before release.

pip install --upgrade git+https://github.com/quantumnic/lasermac
lasermac

v0.4.0 — Modern Dark UI

15 Mar 01:14

Choose a tag to compare

Complete UI Redesign 🎨

LaserMac now looks and feels like a professional macOS laser engraver app.

New

  • Theme system (theme.py): Centralized dark color palette with laser-orange accent (#FF6B35), consistent typography, and reusable component styles
  • 3-column layout: Sidebar (240px) | Canvas (grows) | Properties Panel (280px)
  • Toolbar: File ops (Open/Save/Export) + Job control (Start/Pause/Stop) + Frame + time estimate
  • Status bar: Live connection state, machine position, spindle/feed, time estimate
  • Properties panel: Context-aware settings for Cut/Engrave/Mark with LabeledSlider components
  • Card components: Rounded corners, subtle borders, section headers
  • StatusPill: Colored connection state indicator
  • OperationButton: Large toggle buttons with operation-specific colors
  • LabeledSlider: Slider with live value display and unit labels

Changed

  • All widgets themed with consistent COLORS/FONTS from theme.py
  • Canvas: dark background (#0A0A0A), subtle grid lines (#1A1A1A)
  • Operation buttons: colored active state, muted inactive
  • Tool buttons: accent highlight for active tool
  • Jog pad: compact themed buttons with orange home button
  • Console: dark mono-styled log with themed input

Tests

All 135 tests passing ✅

v0.3.1 — Hotfix: startup crash fixed

15 Mar 01:02

Choose a tag to compare

Bugfix

Fixes startup crash: AttributeError: 'bind_all' is not allowed

CustomTkinter >= 5.x does not allow bind_all(). Fixed by using canvas.bind() instead. Added macOS Cmd+Z/Y shortcuts for undo/redo.

Update

pip install --upgrade git+https://github.com/quantumnic/lasermac
lasermac

v0.3.0 — Operation-Centric Major Expansion

15 Mar 00:51

Choose a tag to compare

🔥 LaserMac v0.3.0 — CUT / ENGRAVE / MARK

The core UX: every shape has an operation type that you see at a glance on the canvas.

✂️ CUT (Red)

  • Slow speed (F100-400), max power (S800-1000), multi-pass (1-10x)
  • Outline only — no fill. For cutting through material.

✏️ ENGRAVE (Blue)

  • Medium speed (F500-3000), medium power (S200-700)
  • Supports fill patterns: lines, schraffur (45°), cross-hatch
  • For burning logos, text, images into material.

🖊️ MARK (Green)

  • Fast speed (F3000+), low power (S50-200)
  • Surface marking only.

G-code Export Order

Mark → Engrave → Cut (cut always last!)
Prevents cuts from shifting material before engraving finishes.

New Features

  • 🎯 Per-shape operation settings (speed, power, passes, fill)
  • 🎨 Color-coded canvas (red/blue/green = instant visual feedback)
  • 🖼️ 5 image dithering modes (threshold, Floyd-Steinberg, Bayer, Jarvis, grayscale)
  • ⚡ Power tester grid (speed × power matrix)
  • 💾 Machine profiles (~/.lasermac/profiles/)
  • 📁 Project save/load (.lmc format)
  • 🔧 G-code export with headers (bounds, time estimate, machine info)
  • 📊 Brightness/contrast/gamma image adjustments

Stats

  • 135 tests (was 67), all passing
  • +1800 lines of new code
  • 4 new modules: layers, profiles, project, power_tester

v0.2.0 — Drawing Canvas + Auto-Update + Jog Fix

14 Mar 23:51

Choose a tag to compare

What's new

✏️ Drawing Canvas

  • Draw directly in LaserMac: freehand, line, rectangle, circle
  • Undo/Redo (Ctrl+Z / Ctrl+Y)
  • "Burn This!" button — sends drawing straight to laser
  • Speed + Power sliders before burning
  • Save as SVG or G-code

🔔 Auto-Update

  • App checks GitHub on startup for new versions
  • Banner appears when update is available
  • Help → Check for Updates

🐛 Jog Fix (Totem S)

  • Fixed X-axis (left/right) jog for GRBL 1.1 compatibility (added G21 mm mode)
  • New Invert X / Invert Y checkboxes — fix mirrored axis in one click
  • Y+/Y- was already working correctly

Install / Update

pip install git+https://github.com/quantumnic/lasermac

Or if already installed:

pip install --upgrade git+https://github.com/quantumnic/lasermac

v0.1.0 — Initial release

14 Mar 23:40

Choose a tag to compare

🔥 LaserMac v0.1.0 — Free macOS laser engraver controller for GRBL machines

Features

  • Serial connection with auto-detect ports
  • GRBL console with quick commands (Home, Unlock, Reset)
  • Jog controls (X/Y/Z) with configurable step sizes
  • G-code file loading (.nc, .gcode, .gc)
  • Image → G-code conversion (threshold, Floyd-Steinberg, grayscale)
  • SVG → G-code vector cutting
  • Matplotlib toolpath preview
  • Job control: Start/Pause/Stop with progress bar
  • Laser test with power/speed sliders
  • Frame tracing (bounding box preview)

Supported Machines

Totem S, xTool, Ortur, Atomstack, Sculpfun, and any GRBL-compatible device.

Install

pip install lasermac
lasermac