oxedyne/fe2o3/fe2o3_pearlite/Cargo.toml
4.2 KiB, 25 runs
created by r1870400018:58210, which is this file's identity for as long as the history lasts, whatever it is later renamed to
download · who wrote it · its history
| 1 | [package] |
| 2 | name = "oxedyne_fe2o3_pearlite" |
| 3 | version = "0.5.0" |
| 4 | authors = ["h00gs <hello@oxedyne.io>"] |
| 5 | edition = "2021" |
| 6 | license = "BSD-2-Clause/Apache-2.0" |
| 7 | description = "Pearlite: a native .prl reader -- raster to PNG, and a loopback browser-shell app sharing the web reader's own JS." |
| 8 | repository = "https://github.com/oxedyne-io/fe2o3" |
| 9 | |
| 10 | [lib] |
| 11 | path = "src/lib.rs" |
| 12 | |
| 13 | [[bin]] |
| 14 | name = "pearlite" |
| 15 | path = "src/bin/pearlite.rs" |
| 16 | |
| 17 | # The windowed reader as a GUI application with no console: on Windows the binary is linked for the |
| 18 | # GUI subsystem, so a double-click or a file association opens the window and nothing else. Elsewhere |
| 19 | # it is the same launcher the bare `pearlite` runs. |
| 20 | [[bin]] |
| 21 | name = "pearlite-reader" |
| 22 | path = "src/bin/pearlite-reader.rs" |
| 23 | required-features = ["gui"] |
| 24 | |
| 25 | [features] |
| 26 | # The native windowed reader (Phase 3), default-off so `render`, `png`, the loopback shell and every |
| 27 | # other consumer of the crate pull in neither winit nor softbuffer. It is the sole gate on those two |
| 28 | # dependencies -- verify with `cargo tree -p oxedyne_fe2o3_pearlite -e normal | grep -E 'winit|softbuffer'` |
| 29 | # (empty without `--features gui`). The same gate carries the native open-file dialog (rfd) and the |
| 30 | # shaper the contents sidebar sets its titles with. |
| 31 | gui = ["dep:winit", "dep:softbuffer", "dep:rfd", "dep:oxedyne_fe2o3_font"] |
| 32 | |
| 33 | [dependencies] |
| 34 | oxedyne_fe2o3_austenite = { path = "../fe2o3_austenite" } |
| 35 | oxedyne_fe2o3_graphics = { path = "../fe2o3_graphics" } |
| 36 | oxedyne_fe2o3_core = { path = "../fe2o3_core" } |
| 37 | # base64 decode for the pixmap sink's embedded rasters -- the same wasm-clean decoder `svg_doc` rests on, |
| 38 | # already in the tree, so no new external crate. |
| 39 | oxedyne_fe2o3_text = { path = "../fe2o3_text" } |
| 40 | # Collaboration backend: signed operation history (ore), the neutral serialisation |
| 41 | # it and the store speak (jdat), the wasm-clean P-256 verifier (crypto, p256 |
| 42 | # feature only), the hub store (o3db) and the thin blocking database trait it is |
| 43 | # reached through (iop_db). No new external crates: the p256 feature enables a |
| 44 | # dependency fe2o3_crypto already declares. |
| 45 | oxedyne_fe2o3_ore = { path = "../fe2o3_ore" } |
| 46 | oxedyne_fe2o3_jdat = { path = "../fe2o3_jdat" } |
| 47 | oxedyne_fe2o3_crypto = { path = "../fe2o3_crypto", features = ["p256"] } |
| 48 | oxedyne_fe2o3_o3db_sync = { path = "../fe2o3_o3db_sync" } |
| 49 | oxedyne_fe2o3_iop_db = { path = "../fe2o3_iop_db" } |
| 50 | # SHA-256 for binding a signer's key to its replica identity; the same wasm-clean |
| 51 | # hasher fe2o3_crypto's p256 verifier already rests on. |
| 52 | oxedyne_fe2o3_hash = { path = "../fe2o3_hash" } |
| 53 | # The loopback browser-shell's static server (`http::local`), which is tokio-free, |
| 54 | # so `default-features = false` keeps the whole async/TLS half of the crate -- and |
| 55 | # tokio and ring -- out of this reader entirely. |
| 56 | oxedyne_fe2o3_net = { path = "../fe2o3_net", default-features = false } |
| 57 | |
| 58 | # Phase 3, the native windowed reader: a true OS window (winit) presenting the CPU-rendered pixmap via a |
| 59 | # raw framebuffer blit (softbuffer). Owner-ruled: no webview. Both are optional and reached only through |
| 60 | # the default-off `gui` feature, so the reader's non-window paths and every downstream consumer stay free |
| 61 | # of them. Cross-OS by construction (x11/wayland, macOS, Windows); only Linux is runtime-verified here. |
| 62 | winit = { version = "0.30", optional = true } |
| 63 | softbuffer = { version = "0.4", optional = true } |
| 64 | # The native open-file dialog a no-argument launch shows: the XDG desktop portal (zenity when no |
| 65 | # portal answers) on Linux, the common item dialog on Windows. The portal backend is pure Rust over |
| 66 | # D-Bus, so the reader links no GTK and still cross-links against an older glibc. |
| 67 | rfd = { version = "0.17", optional = true, default-features = false, features = ["xdg-portal"] } |
| 68 | # The embedded reading faces' shaper, for the contents sidebar's titles; already in the tree through |
| 69 | # fe2o3_austenite. |
| 70 | oxedyne_fe2o3_font = { path = "../fe2o3_font", optional = true } |
| 71 | |
| 72 | [dev-dependencies] |
| 73 | # The checksum scheme an o3db instance is parameterised over comes from |
| 74 | # fe2o3_hash, which is now a normal dependency (see above). |
| 75 | # The ring-backed P-256 signer (`ecdsa`) the integration tests use as a stand-in |
| 76 | # for a browser's WebCrypto key; tests only, so the reader itself stays ring-free. |
| 77 | oxedyne_fe2o3_net = { path = "../fe2o3_net", default-features = false, features = ["ring"] } |