2.6 KiB
Rayforge synthetic LightBurn MOPA import spike
- Date: 2026-10-18
- Rayforge commit:
c28918c87f8273dd1d244f5a057addc192807fa5 - Fixture: synthetic public
.lbrn2; no machine identifiers - Scope: importer boundary only, with no discovery or transport
Result
The pinned Rayforge importer successfully parsed a synthetic two-millimetre
square and preserved its layer name, geometry, 50 percent power, 250 mm/s
speed and one pass. LightBurn's observed frequency and
overrideFrequency elements also survive in the source asset's raw metadata.
The pinned upstream importer does not map frequency into workflow settings; it
maps only power, speed and passes from this fixture. The external addon now
supplies that narrow mapping for LightBurn 2.1.03. Subsequent operator-verified
evidence correlates raw frequency=1000000 and QPulseWidth=10 with visible
1000 kHz and 10 ns, establishing the version-bound Hz/ns serialization
contract. The staged job nevertheless remains unsafe for JCZ encoding because
machine, lens, correction and promotion review are still unresolved.
Two runs produced identical output with SHA-256
9ebce7b5b3388abfeed024e25f8f46001260bf814da19808bfc83fb6554fc26e.
The golden result is tests/fixtures/rayforge-lightburn-mopa-import.json.
Evidence classification
- Observed: Rayforge's own LightBurn test fixtures contain
frequencyandoverrideFrequencyelements. - Observed: generic parsing retains these elements in source metadata.
- Observed:
_build_step_configdoes not map frequency or pulse width. - Observed after this spike: a LightBurn
2.1.03device-library export usesQPulseWidth; official LightBurn documentation defines Q-pulse width in nanoseconds. See the device-export analysis. - Observed after this spike: three known-working galvo projects use the
case-sensitive
QPulseWidthfield. Missing fields remain absent; their effective default is still unknown and is never invented. - Not inferred: no pulse-width tag, unit, default or machine limit was invented for the public fixture.
Decision impact
Rayforge's existing LightBurn importer remains useful for ordinary vector
geometry and common process settings. The external addon now implements the
narrow frequency/QPulseWidth mapping with a version- and evidence-bound unit
contract, stages values on disabled workflow steps, and retains all blockers.
Image equivalence, absent pulse width and physical compatibility remain gated.
No USB enumeration, controller command, motion or emission was attempted.