google / google/clojure-turtle
event loop discrepancies between CLJ and CLJS
- Dominant language
- Clojure
- Stars
- 424
- Forks
- 32
- PR merge metrics
- No merged PRs in 30d
Description
Based on work for issue #6, we have a `wait` fn that does what you would expect. But only in the CLJS REPL, and only when you try to mix wait and turtle commands, all of the waiting happens first, and all of the rendering happens at the end. As an example, see the difference in the following at the CLJS REPL:
``` clojure
(do (wait 3000) (forward 30) (wait 3000))
```
``` clojure
clojure-turtle.core=> (do (wait 3000) (println "hello") (wait 3000))
```
Perhaps the issue is due to how the rendering event loop in either Processing.js or the CLJS version of Quil is implemented. But for whatever reason, the issue is happening. It would be great to identify the problem and fix it if possible.
Contributor guide
Research direction
Reproduce the two wait-and-render examples in the CLJS REPL and compare them with the Clojure behavior. Inspect the rendering event loop in Processing.js or the CLJS version of Quil; done means waits and turtle rendering occur in the expected sequence instead of rendering only at the end.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100