Open AkashaP opened 2 years ago
Ho, that's a very interesting workaround for SBCL! I'll certainly think about adding it to gamekit
.
Unfortunately though, these dangerously looking restarts (something-something-flow
) are actually belong to the project. cl-bodge
uses very weird way for an engine to handle concurrency - reactive programming paradigm provided by cl-flow
project. So yes, those are actually correct restarts for cl-bodge
. gamekit
user manual mentions them here.
But for trivial-gamekit
, which is single threaded, those indeed make no sense and it's better to have something more obvious and not scary sounding.
loving this project so far. when the debugger prompt is started from the update or draw threads they are flooded with restart-binds from many other dependencies
take this scenario for example:
when i start this i get the following restarts:
All of these buttons except the first seem pretty dangerous to press, they can potentially bury the useful restarts. I've accidentally hit the wrong button once and it messed up my active system forcing me to restart my computer.
I had a look into where these restarts were coming from in SBCL, and found they are bound to a let symbol
sb-kernel::*restart-clusters*
. Then I had an idea: i can just shadow this variable in another let, filtering out the dangerous restarts:This offers the following restart cases in SLY's debugger, only affecting the update and draw methods and anything called from inside them:
gamekit:update
gamekit:draw