| Lift freeq's AV media plane out of sleek 90f8b89 nandi 19d ago | 1 | # One repo, one crate per shared object. |
| 2 | # |
| 3 | # Every crate here builds a `.so` that a jolt library binds through |
| 4 | # `jolt.ffi/defcfn`, plus `jolt-abi`, which is the rules they all keep at the |
| 5 | # edge rather than a library anyone loads. |
| 6 | # |
| 7 | # Deliberately NOT one cdylib with cargo features selecting the parts. Features |
| 8 | # are additive within a library, so `graphics` + `moq` would mean one object |
| 9 | # carrying egui *and* QUIC, Opus, H.264 and the camera stacks — a chat client |
| 10 | # that is not in a call would link the whole media plane to open a window. The |
| 11 | # feature unification that comes with it has bitten this code before: enabling |
| 12 | # eframe's wayland/x11 features for the desktop build pulled them into the |
| 13 | # Android one and made the activity exit on launch. |
| 14 | # |
| 15 | # A workspace gives the parts of a monorepo worth having — one CI, one release, |
| 16 | # shared conventions in `jolt-abi` — while each consumer still links only what |
| 17 | # it asked for. jolt's `:jolt/native` is a vector; naming two objects there is |
| 18 | # no harder than naming one. |
| 19 | [workspace] |
| 20 | resolver = "2" |
| Bring vidya in cfd3e36 nandi 19d ago | 21 | members = [ |
| 22 | "crates/jolt-abi", |
| glimmer-cosmic: a libcosmic backend for glimmer (spike) 6a3304d nandi 8d ago | 23 | "crates/jolt-cosmic", |
| Bring vidya in cfd3e36 nandi 19d ago | 24 | "crates/jolt-moq", |
| Paint the same tree into a terminal, for the machines with no window a7f6202 nandi 17d ago | 25 | "crates/jolt-tui", |
| Bring vidya in cfd3e36 nandi 19d ago | 26 | "crates/jolt-vidya", |
| 27 | "crates/vidya-core", |
| 28 | ] |
| Lift freeq's AV media plane out of sleek 90f8b89 nandi 19d ago | 29 | |
| 30 | [workspace.package] |
| 31 | version = "0.1.0" |
| 32 | edition = "2021" |
| 33 | license = "MIT" |
| 34 | repository = "https://gitlab.com/nandithebull/jolt-native" |
| 35 | |
| Bring vidya in cfd3e36 nandi 19d ago | 36 | # vidya-ffi set opt-level 2 when it was its own workspace: the tree walk and |
| 37 | # the texture uploads are hot every frame, and a debug build of them is not |
| 38 | # worth looking at. A member cannot set this, so it is set here. |
| 39 | [profile.release] |
| 40 | opt-level = 2 |
| Pin the toolchain with a flake, and let buck2 and DotSlash go 5ae197f nandi 13d ago | 41 | # 1.5M off the desktop object; opt-level 3 was measured alongside and is larger, |
| 42 | # so it stays at 2. |
| Ship the object without the notes nobody reads aabacba nandi 18d ago | 43 | lto = "fat" |
| 44 | codegen-units = 1 |
| Bring vidya in cfd3e36 nandi 19d ago | 45 | |
| Lift freeq's AV media plane out of sleek 90f8b89 nandi 19d ago | 46 | [workspace.dependencies] |
| 47 | jolt-abi = { path = "crates/jolt-abi" } |
| 48 | log = "0.4" |
| 49 | |