MOPA Color Studio Β· Release History
Changelog
Version History & Updates
A complete record of every feature, fix, and improvement
Β© 2026 Jason Mills

v6.0
v6.0
Current Release
May 2025
Layer Structure β€” v6.0.1 Update
New
T1 metadata tool layer β€” A dedicated type="Tool" layer at LBRN index 0 now auto-populates with the imported file's name, file type, and pixel dimensions (e.g. photo.jpg | JPG | 1200Γ—800px). T1 appears in LightBurn but does not fire the laser. The label can be manually edited after import.
New
T2 available tool layer β€” A second tool layer at LBRN index 1, reserved and empty. Available for custom user content such as notes, registration marks, or machine-specific geometry that should not fire the laser.
Improved
Import range redefined as layers 00–27 β€” The 28 working colour/import layers now occupy LBRN indices 2–29 and display as 00–27. Layer 00 (index 2) is the default import layer and is always present. Previously the metadata label occupied index 0; it has been moved to T1.
New
Reserve/Aux layers 28 & 29 β€” Two dedicated type="Cut" layers at LBRN indices 30–31 are now generated in every export, clearly labelled Reserve/Aux β€” Available for Cut/Shape. Use these for outlines, fixtures, frames, or any custom geometry without disturbing the colour passes.
Image Processing
New
Edge Smoothness slider β€” A new toolbar slider (0–4) controls how aggressively stray edge pixels and path noise are cleaned up before export to LightBurn. Three processing stages are combined and scaled by the slider value: Option A (pre-classification box blur, active at levels 3–4) softens noisy photo pixels before colour classification runs; Option B (majority-vote cleanup, active at levels 1–4) reassigns any classified pixel where 55%+ of its neighbours belong to a different colour β€” eliminating fringe pixels and edge speckle without touching the original image; Option C (Douglas-Peucker path simplification tolerance, scales from 0.5 px at level 0 to 3.0 px at level 4) smooths traced contour paths so diagonal edges do not stair-step. Default is 2 Β· Balanced. Use level 0 (Raw) for clean logos and vector artwork; use levels 3–4 for photos with noisy colour transitions. The slider re-processes and re-renders immediately so results are visible before export.
Splash Screen & UI
New
Welcome splash screen β€” A full-screen welcome overlay displays on launch featuring animated colour bar, scanning line effect, feature tiles (30-layer system, auto T1 metadata, MOPA colour guide, Reserve/Aux layers), and quick-start buttons. Designed to orient new users without requiring any action.
New
Startup preference toggle β€” A checkbox on the splash screen ("Show this screen every time I open MOPA Color Studio") is checked by default. Unchecking it sets localStorage key mopa_splash_hide = "1" and suppresses the splash on future visits. Preference persists in the browser.
New
Help banner on splash β€” A prominent banner on the splash screen directs users to the Documents section inside the app for the full user guide and layer reference.
Branding & Deployment
New
Favicon added β€” Full favicon set deployed to Netlify: favicon.ico, favicon.svg, PNG sizes 16Γ—16 through 512Γ—512, Apple touch icon (180Γ—180), Android Chrome icons, and site.webmanifest. Design uses dark navy background with yellow main beam, red top line, green bottom line, and blue circular laser pointer. All <link> tags added to <head>.
LightBurn Export β€” Complete Rewrite
New
Native .lbrn export β€” All zone geometry is now written directly into the LightBurn project file as <Shape Type="Rect"> elements. No SVG import step. No manual alignment. Open mopa_project.lbrn with File β€Ί Open and all zones are pre-drawn on their own layers, ready to engrave immediately.
New
Per-colour SVG files β€” Individual colour SVGs are exported into an svg/ subfolder inside the ZIP for single-colour testing or manual import. Each SVG shares identical canvas dimensions so zones align perfectly when stacked.
Fix
Scanline run flush bug β€” The final pixel run at the end of every row was silently dropped, leaving zoneRuns largely empty. Fixed by flushing the active run at the end of each row. This was the root cause of blank LightBurn exports.
Fix
SVG export ordering β€” SVG generation now runs before the block-merge rect loop. The block-merge algorithm marks run spans as used, which was exhausting the run data before SVGs could be built, resulting in empty SVG files.
Improved
LightBurn format compatibility β€” Confirmed working format through iterative testing against LightBurn 2.0: AppVersion="1.0.00" with no DeviceName is universally accepted regardless of the user's LightBurn version or device name. No user configuration required.
Wattage & Machine Profile
New
Wattage selector β€” 10W, 20W (baseline), 30W, 50W, 60W, 80W, 100W, 200W. Power% and speed scale automatically. Frequency and pulse width are unchanged by wattage.
New
Laser source selector β€” JPT (baseline, fully calibrated), Raycus, MAX, IPG. All four multipliers (wattage Γ— source Γ— lens Γ— material) apply simultaneously.
New
Lens focal length selector β€” 75mm, 110mm (baseline), 160mm, 254mm. Physics-derived multipliers scale power and speed for spot size differences.
User Interface
New
Preset system β€” Save complete machine profiles (wattage, source, lens, material, all colour parameters) as named presets. Load in one click. Factory defaults always available.
New
11-language support β€” EN, FR, DE, IT, ES, PT, NL, PL, δΈ­ζ–‡, ζ—₯本θͺž, ν•œκ΅­μ–΄. Language selection saved to localStorage and remembered across sessions.
New
Docs dropdown menu β€” Toolbar dropdown links to all four instruction documents. Opens each in a new tab without leaving the app.
New
Vector preview tab β€” Live preview of exported geometry inside the app. Three trace methods selectable via A / B / C pills: Pixel Runs, Block Merge, Contour Trace.
Improved
Tooltip redesign β€” Fixed-position grid layout, 260px wide, shows full machine profile (frequency, pulse width, power, speed, line gap, passes) on hover.
Fix
Duplicate openPresetModal declaration β€” A stub version of the function co-existed with the full version, causing a syntax error in strict mode browsers. Stub removed.
Fix
Docs dropdown backslash-escaped quotes β€” onmouseover attributes used invalid \'var(--surf2)\' syntax. Replaced with .docs-link CSS class and hover styles.
Fix
Export modal stack overflow β€” selectTraceCard() was calling setVecMethod() which triggered renderVectorPreview() synchronously on modal open. With large images this exceeded the call stack. Fixed by breaking the call chain β€” card selection now only updates UI state without triggering a canvas re-render.
Fix
JSZip recursive load loop β€” Added window._jsZipLoading guard flag to prevent the JSZip lazy-load callback from calling exportZIP recursively if JSZip loaded before the callback fired.
LightBurn Export β€” Layer Improvements
New
Layer 00 image label β€” The exported mopa_project.lbrn now includes a dedicated Layer 00 containing the source image filename as a text label. Colour zones occupy Layers 01–29. Toggle Layer 00 on/off independently in LightBurn to show or hide the job reference without affecting the engraving layers.
Fix
Vertical image flip in LightBurn export β€” Pixel Y coordinates are now mirrored around the canvas height to account for LightBurn's Y-up coordinate system. Images previously appeared vertically flipped when opened in LightBurn.
Test Card Generator
New
🎨 Test Card button β€” New toolbar button (next to CSV) and button in the Export LightBurn modal. Generates two files instantly based on your current machine settings (wattage, source, lens, material): mopa_test_card.html β€” a printable 29-colour reference card with a Notes column for recording adjustments, and mopa_test_card.lbrn β€” a ready-to-engrave LightBurn file with all 29 colour swatches laid out as 10Γ—10mm squares in a 6Γ—5 grid.
New
Dynamic parameter scaling β€” Test card parameters are scaled to your exact machine profile. Switching from 20W JPT to 30W Raycus generates a completely different card with correctly scaled power and speed values.
Documentation & Marketing Package
New
Complete documentation suite β€” Four instruction documents: User Instructions, LightBurn Import Guide (3-step workflow), Vendor Onboarding, Quick Start Card.
New
Marketing materials β€” User Brochure, Vendor Brochure, Parameter Reference Card, Partnership Terms Sheet.
New
Email templates β€” Five outreach emails: Investor Direct, Investor Story-led, General Conversational, General Short, One-paragraph Elevator Pitch.
New
Screenshot embedded throughout β€” The Black-eyed Susan flower photograph (52 colours, Raycus 30W, Stainless 304) by Jason Mills is used as a demonstration image in the User Brochure and Vendor Brochure.
Improved
LightBurn Import Guide updated to 3-step workflow β€” Now reflects the native .lbrn export: Export ZIP β†’ File β€Ί Open β†’ Ctrl+A, Ctrl+G to group. Old 10-step SVG import process removed.
πŸ“‹
Earlier Versions

Versions 1.0 through 5.6 established the core colour classification engine, the 29-colour parameter database, the MOPA remap canvas, the five remap view tabs (Color, Freq, Power, Colours, Vector), the colour editor with six parameter sliders, and the CSV export. The baseline machine profile (20W JPT, 110mm lens, Stainless 304) was calibrated across all 29 colours during this period.

Full changelogs for earlier versions are available on request from .

Β© 2026 Jason Mills Β· Β· All rights reserved
MOPA COLOR STUDIO Β· CHANGELOG Β· v6.0