Thanks for all the responses.
I am using 4.3 and I have been staring at the frame work but hesitate 'jumping down the rabbit hole' if what I am trying to do is not possible.
So, I have a couple of specific questions:
1.) Would I be able to do the following inside the worker:
require(["esri/geometry/geometryEngine", "esri/geometry/Extent", "esri/geometry/Polygon" ], someFunctionInTheWorker)
2.) Is the worker a true worker and what I mean here is, can I still use postMessage() and onmessage?
I would like to send a progress message back several times before I send the final result.
3.) If I serialize to JSON will I get everything back on the other side. For example, will a polygon object still have a centroid?
Rob