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
55
56
57
//! Shared renderer logic for plushie.
//!
//! This crate contains the platform-independent rendering engine that
//! processes incoming messages, dispatches iced updates, and emits
//! outgoing events. It compiles to both native and wasm32 targets.
//!
//! Platform-specific behavior (I/O, effects, sleep) is injected via
//! traits and cfg-gated dependencies. The `plushie-renderer` binary
//! and `plushie-renderer-wasm` WASM crate each provide their own
//! implementations.
/// Renderer crate version string.
///
/// Emitted by the renderer in the `hello` handshake message and
/// cross-referenced by host SDKs (and `plushie::run_with_renderer`) to
/// detect version skew between the SDK and an installed renderer
/// binary. A mismatch is not fatal by itself (wire protocol
/// compatibility is governed by `plushie_core::protocol::PROTOCOL_VERSION`),
/// but host SDKs use this to surface a clear upgrade hint.
pub const RENDERER_VERSION: &str = env!;
/// The iced daemon application. See [`app::App`] for details.
pub use App;
/// Clamp or reject invalid scale factors. See [`app::validate_scale_factor`].
pub use validate_scale_factor;
/// Trait for platform-specific side effects. See [`effects::EffectHandler`].
pub use EffectHandler;
/// Native (rfd + arboard + notify-rust) effect handler. See
/// [`effects::native::NativeEffectHandler`].
pub use NativeEffectHandler;
/// Pluggable output for renderer events. See [`emitters::EventSink`].
pub use EventSink;
/// An EventSink that encodes via a codec and writes to a writer.
pub use WriterSink;