Skip to main content

Crate plushie_renderer_lib

Crate plushie_renderer_lib 

Source
Expand description

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.

Re-exports§

pub use app::App;
pub use app::validate_scale_factor;
pub use effects::EffectHandler;
pub use effects::NativeEffectHandler;
pub use emitters::EventSink;
pub use emitters::WriterSink;

Modules§

app
Application struct and core utility methods.
apply
Processes incoming protocol messages (snapshots, patches, settings, widget commands) by delegating to Core and handling resulting effects.
constants
String constants for the stdin/stdout protocol.
effects
Platform abstraction for side effects.
emitter
Rate-limited event emission with coalescing.
emitters
Output emitters for the renderer.
events
Subscription event handlers for keyboard, mouse, touch, IME, window lifecycle, and pane grid events. Each handler checks whether the host subscribed to the event type before emitting it.
execute
Typed command execution for RendererOp.
scripting
Protocol helpers for scripting messages.
settings
Shared settings parsing logic for plushie renderer startup.
subscriptions
Builds the iced Subscription list based on which events the host has registered for. Split into per-category builders (keyboard, mouse, touch, IME, window, system).
update
Message dispatcher and stdin handler. Routes iced messages to event handlers, emitters, or the apply pipeline.
view
Renders a window’s UI tree into iced Elements via plushie-core’s widget mapper.
widget_ops
Widget operations: focus, scroll, cursor, pane grid, font loading, tree hash queries, image management. Dispatched from the widget SDK’s Dispatch::WidgetOp core effect via the op string and JSON payload.
window_map
Bidirectional window ID mapping with associated per-window state.
window_ops
Window + system operations: typed dispatch for lifecycle (open, close, update), state changes (resize, move, maximize, mode, level, decorations, focus), queries (size, position, mode, scale factor, monitor, raw_id), and window sync.

Constants§

RENDERER_VERSION
Renderer crate version string.