An implementation of the 7 Tasks.
This is the code repo. See it live right here.
MVP Feature Complete.
Each of UIs has a standalone state (a reagent atom) that is the source-of-record truth model for the UI. This is critical so you don't have state spread out all over the place. Get the model right and sync the UI to it.
The Cells API is fairly cool. I broke it out as two cljc nses so it could potentially be front-end, back-end, Swing, etc. The parser is a bit limited, but this is round 0. Another thought is to have self-hosted cljs so that I can do "real" evaluation of forms. I'd use a similar strategy for cell lineage and propagation.
- Cells
- Add cycles or cycle limits
- Self-hosted cljs for cells vs. a parser?
- More functions?
- Evaluate watch-per-cell vs. global watch for performance
- Testing
- Move rich comment blocks into tests.
- Ensure that the
shadow-cljs
alias is active. clj -A:shadow-cljs compile frontend
will compile the app.clj -A:shadow-cljs watch frontend
will launch the build system.- Once the watch is running:
- Jack in to localhost:7888
- Open public/index.html in your browser
- Execute
(shadow.cljs.devtools.api/nrepl-select :frontend)
in your ns.
clj -A:shadow-cljs release frontend
will create a minified js file.- Refresher on gh-pages creation.
These can be useful for finding events, css, etc.****