nandi/frqpublic Fork 0
5c7976e0e9f36027ad2071454d8fbf3e317535bd
Commits
Clone
git clone https://git.rickub.com/nandi/frq.git
git clone ssh://git@rickub.com/nandi/frq.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Paint the same screens into a terminal ab83b42 · on 5c7976e0e9f36027ad2071454d8fbf3e317535bd · nandi · 17d ago
deps.edn · 54 lines · 2.6 KBClojure Blame HistoryRaw
 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
{: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 fixes in it land 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.
 ;; And replacing a native node with one of another tag left every watcher
 ;; under it subscribed, so swapping the phone layout for the split one and
 ;; back shredded the chat: one component's props painted onto another's
 ;; widget.
 :deps {jolt-lang/glimmer   {:git/url "https://gitlab.com/nandithebull/glimmer"
                             :git/sha "399df371c790d690fb6e4560c3d4d7f838502857"}
        nandi/glimmer-vidya {:git/url "https://gitlab.com/nandithebull/jolt-native"
                             :git/sha "fd0e21a6c5d745ff9d134f92f909665454a7a1c9"
                             :deps/root "jolt/glimmer-vidya"}}

 ;; Both objects come from gitlab.com/nandithebull/jolt-native, one crate each,
 ;; out of one target directory:
 ;;
 ;;   libvidya   the retained-tree ABI glimmer-vidya binds, on egui
 ;;   libjoltmoq the AV media plane — MoQ over QUIC, Opus, H.264, capture
 ;;
 ;; Calls are the one thing this client cannot do in jolt. Signaling is IRC and
 ;; lives in src/frq/av.jolt; the media half is three thousand lines of codec
 ;; and transport that would only be written badly a second time here.
 ;;
 ;;   just lib
 :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"]}

           ;; The same screens in a terminal. glimmer-tui is the other backend
           ;; for the same reconciler — libjolttui's tree ABI is libvidya's
           ;; with cells under it — so `frq.tui` requires it after `frq.app`
           ;; and renders the hiccup that is already written.
           ;;
           ;; A path rather than a sha because the backend is not in a
           ;; jolt-native release yet; it wants the checkout beside this one,
           ;; and `libjolttui.so` on the library path:
           ;;
           ;;   just tui
           :tui {:extra-deps {nandi/glimmer-tui
                              {:local/root "../jolt-native/jolt/glimmer-tui"}}
                 :main-opts ["-m" "frq.tui"]}}

 :tasks {frq "jolt -M:frq"
         tui "jolt -M:tui"}}