1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
{:paths ["src"]
;; glimmer owns the reactive half (ratom, components, reconciler);
;; glimmer-vidya paints it as Vidya/egui through libvidya's retained-tree ABI.
;; Our fork of glimmer, until the reconciler fix in it lands upstream: a
;; component unmounted between a cell firing and the queued render running
;; used to render anyway, into widgets the backend had already freed and
;; handed out again — which took the message list apart in a busy channel.
:deps {jolt-lang/glimmer {:git/url "https://gitlab.com/nandithebull/glimmer"
:git/sha "4e733aa26343cef0478d8dfd3f2b76c0113b0969"}
nandi/glimmer-vidya {:local/root "../vidya/glimmer"}}
;; libvidya, the Rust/egui build (the C/raylib one does not export the tree
;; ABI the backend binds):
;; cd ../vidya && just ffi
;; LD_LIBRARY_PATH=../vidya/build jolt -M:frq
;; libjoltmoq is the AV media plane — MoQ over QUIC, Opus, H.264 and capture —
;; from gitlab.com/nandithebull/jolt-native. Calls are the one thing this
;; client cannot do in jolt: signaling is IRC and lives in src/frq/av.jolt,
;; but the media half is three thousand lines of codec and transport that
;; would only be written badly a second time here.
;; cd ../jolt-native && just build
:jolt/native [{:name "vidya"
:darwin ["libvidya.dylib"]
:linux ["libvidya.so"]}
{:name "joltmoq"
:darwin ["libjoltmoq.dylib"]
:linux ["libjoltmoq.so"]}]
:aliases {:frq {:main-opts ["-m" "frq.app"]}}
:tasks {frq "jolt -M:frq"}}
|