OptionalsignalOptionaltimeoutabandons the task after this many milliseconds; there is no default, because a render can legitimately take minutes
Optionaltransferbuffers posted to the task instead of copied: each is detached from this thread when spawn runs
aborting rejects the promise with the signal's reason and terminates the task's worker