Learning GRBL/Fluid.NC

Where are some good places to learn about the more advanced commands capable in GRBL? Such as workspaces, tool offsets, etc.
Figured as shop time is still very limited but “free” time is available I can at least be productive and learn some of the more advanced features.

Will post useful links below

FluidNC Wiki
CNCCOOKBOOK ~G54, G52, G92 commands
CNCCOOKBOOK ~G10 quick & automation of offsets


So doing lots of research today on G54-59 commands for work offsets, I am having some issues understanding this. The “general” use of this command is to reference specific work places in your useable table space (a machinists vise is the most common mention). But I know some people use it for tool offsets (say for example you are doing a job that is both router and laser based). But how would one set this up? its my understanding that setting say G55 to X50 Y-50 would tell the system that workspace 0,0 is the true position of X50 Y-50 not the virtual workspace is offset by that value. Or am I reading this all wrong and it is simply preforming a math function on the virtual workspace?

Edit: Answered my own question

“When you execute the work offset g-code, the XYZ offset will be added to all of your coordinates from that point forward. Note that this does not cause any motion–the next move will be relative to the new offset.”

~ CNCCOOKBOOK (Click Here for Article)