The heavy lifting is done by a native-code library, while the bash code provides the glue and the overall control logic. (Much like having heavy lifting done by PyTorch with Python code providing general guidance.)
And this is completely fine, to my mind. Bash is intended to be a glue language orchestrating execution of native code. Usually it starts processes, but here it interacts with a native-code library.
See:
In contrast, game uses an imperative, immediate rendering library, where the developer directly controls every sprite with something like `pos += velocity * dt`. It's very classic, and it reminds me of the Touhou PC-98 Restoration Project - https://github.com/nmlgc/ReC98/blob/master/th05/main/boss/b1...
For the repo (as linked in that thread), https://github.com/SomeUnusualGames/Tux-vs-Mutant-Window/
Has anyone made Doom in bash?