Oregami
Repositories/oxedyne/fe2o3

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]
2name = "oxedyne_fe2o3_pearlite"
3version = "0.5.0"
4authors = ["h00gs <hello@oxedyne.io>"]
5edition = "2021"
6license = "BSD-2-Clause/Apache-2.0"
7description = "Pearlite: a native .prl reader -- raster to PNG, and a loopback browser-shell app sharing the web reader's own JS."
8repository = "https://github.com/oxedyne-io/fe2o3"
9
10[lib]
11path = "src/lib.rs"
12
13[[bin]]
14name = "pearlite"
15path = "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]]
21name = "pearlite-reader"
22path = "src/bin/pearlite-reader.rs"
23required-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.
31gui = ["dep:winit", "dep:softbuffer", "dep:rfd", "dep:oxedyne_fe2o3_font"]
32
33[dependencies]
34oxedyne_fe2o3_austenite = { path = "../fe2o3_austenite" }
35oxedyne_fe2o3_graphics = { path = "../fe2o3_graphics" }
36oxedyne_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.
39oxedyne_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.
45oxedyne_fe2o3_ore = { path = "../fe2o3_ore" }
46oxedyne_fe2o3_jdat = { path = "../fe2o3_jdat" }
47oxedyne_fe2o3_crypto = { path = "../fe2o3_crypto", features = ["p256"] }
48oxedyne_fe2o3_o3db_sync = { path = "../fe2o3_o3db_sync" }
49oxedyne_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.
52oxedyne_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.
56oxedyne_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.
62winit = { version = "0.30", optional = true }
63softbuffer = { 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.
67rfd = { 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.
70oxedyne_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.
77oxedyne_fe2o3_net = { path = "../fe2o3_net", default-features = false, features = ["ring"] }