Previously, in some cases (eg, during puzzle load or during fold processing) unhandled errors would cause the app to freeze without displaying the error (or allowing the possibility to try continuing).
Implementation Notes
The issue was that if the error was thrown as part of the update loop, which is initially triggered by the Pixi ticker's update, and so since the ticker update function is interrupted, the next frame is never queued (and so we never do the mode transition, animate in the dialog, or otherwise keep updating).
Summary
Previously, in some cases (eg, during puzzle load or during fold processing) unhandled errors would cause the app to freeze without displaying the error (or allowing the possibility to try continuing).
Implementation Notes
The issue was that if the error was thrown as part of the update loop, which is initially triggered by the Pixi ticker's update, and so since the ticker update function is interrupted, the next frame is never queued (and so we never do the mode transition, animate in the dialog, or otherwise keep updating).