gui: QR-code panel for the host ticket
Encodes the relay-only ticket as a QR with a 4-module quiet zone so a phone (or a second laptop with a webcam) can pick the room up without typing 140+ characters. Built lazily on the first draw after a Ticket event, NEAREST-filtered, 200x200 logical; cleared on session start and stop. Pulls `qrcode` 0.14 with `default-features = false` so the heavy `image` crate tree is skipped — we render modules straight to an `egui::ColorImage` ourselves. Reapplies the idea from Gemini's stale `feat/gemini-branch-qrcode` (`7f07583`) against the post-hand-rolled-loop GUI; the original commit no longer cherry-picks because gui/mod.rs was rewritten for the true-Wayland-window-hide work. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+6
-1
@@ -55,6 +55,11 @@ egui_glow = { version = "0.34.2", default-features = false, features = ["winit",
|
||||
winit = { version = "0.30", default-features = false, features = ["rwh_06", "x11", "wayland", "wayland-dlopen"], optional = true }
|
||||
glutin = { version = "0.32", optional = true }
|
||||
glutin-winit = { version = "0.5", optional = true }
|
||||
# QR-encode the host ticket so a phone (or a second laptop with a webcam) can
|
||||
# pick it up without typing 140 chars. default-features = false to skip the
|
||||
# `image` crate dep tree — we render the modules to an `egui::ColorImage`
|
||||
# directly.
|
||||
qrcode = { version = "0.14", default-features = false, optional = true }
|
||||
|
||||
[profile.release]
|
||||
lto = "thin"
|
||||
@@ -64,4 +69,4 @@ strip = "symbols"
|
||||
[features]
|
||||
# Opt-in graphical front-end (pixelpass --gui). Default-off so the headless
|
||||
# build never pulls the GUI toolkit tree.
|
||||
gui = ["dep:eframe", "dep:notify-rust", "dep:ksni", "dep:egui_glow", "dep:winit", "dep:glutin", "dep:glutin-winit"]
|
||||
gui = ["dep:eframe", "dep:notify-rust", "dep:ksni", "dep:egui_glow", "dep:winit", "dep:glutin", "dep:glutin-winit", "dep:qrcode"]
|
||||
|
||||
Reference in New Issue
Block a user