Apparently the only time instructions are available in the GFUI is when a design is from the Glowforge store, something tells me that we can add it via Chrome DevTools are some code added to the .svg file or maybe a bookmarklet, any ideas?
IIRC, it was @palmercr who found the SVG tags for the instructions. I’d link you to those posts, but I’m pretty sure they were all deleted from the official forums by the overlords at GF.
The instructions would need to be stored locally on the user’s host because we don’t have any ability to store additional data on GF’s cloud. They could then be injected into the SVG when it loads in the browser.
@icirellik has done quite a bit of work in the GFUI for his glowforge-material-manager project. His plugin already manipulates data coming from GF, and stores settings locally.
My suggestion would be to add that capability to his tool, as the bulk of the needed framework is already there.
A budding programmer could fork his project, work out the details, and submit a pull request back to him for inclusion in his plugin. His project is well documented and the code is very clean making it easy to follow. It is mostly written in TypeScript using the React library.
If there’s enough interest in mod’ing the GFUI, I can make a category on here. Unlike the official forum, we don’t delete posts here (unless they are obvious spam or we receive a valid DMCA take down, which we would also post here).
FWIW, I archived this post from palmercr on the GF forum. It may be of interest, though I don’t see any reference to SVG files.
------------- Quote -----------------
“Yes I can decode puls files. They have a header with name value pairs that set things like the motor modes and current, fan speeds for air assist, exhaust, intake, filter exhaust, filer intake, etc, and the waveform frequency, which is 10kHz. After that it is a raw uncompressed waveform with one byte per sample at 10kHz. That means the 3 hour limit comes from having a 100MB buffer.
Each byte has step and direction bits for each motor plus a laser enable bit, making 7. The top bit indicates the lower 7 bits are a laser power PWM value instead.”
That is referring to the “PULS” binary motion files that are sent to the machine. Those contain the step and laser waveforms.
I was looking back at this, and I think I am mistaken about the instructions being encoded in the SVG. I think information embedded in the SVG’s that @palmercr was referring to were cut/engrave settings - not the instructions.
Still, I think that @icirellik’s Chrome plugin could be adapted to allow instructions to be attached. Perhaps, going a little further, the community could settle on a standard for sharing projects on Github that could be opened with that plugin.
The plugin could load the project’s source files from the Github repository along with the instructions. It may even be possible to craft a shareable URI that would load the project in the GFUI automatically.
This would be an easy way to share projects - and it would be community driven.