yes! that's the issue, it's paused when the script is in sleep mode. (actually the workaround didn't end up working, so i'd love some more help with it, i'll dm you on discord
To de-mystify a little, when Dialogizer is displaying a dd.say[] modal, it's doing something similar to the following:
while !pointer.down blink_cursor[] deck.card.event["animate"] sleep[1] end
The "animate" event which is being sent to the current card provides the opportunity to make other things happen while the dialog box is idling and waiting for user input. Puppeteer uses this hook to animate puppets, and it can be used to give other modules and contraptions a chance to do their thing as well.
Any "blocking" scripts you write yourself can use a similar approach; a synchronous animation script becomes responsible for explicitly routing the events to everything that needs to do work on every frame, whereas an asynchronous script allows Decker to handle some of that plumbing automatically.