fission-shell
Shared shell abstractions for the Fission UI framework.
fission-shell defines the platform-agnostic traits and types that every Fission shell backend
(desktop, web, mobile, test) implements. It provides the Platform enum for identifying the
current target, the VideoBackend and VideoPlayer traits for native video playback, and the
VideoSurfaceFrame struct for compositing video surfaces into the Fission layout tree.
Key types
| Type / Trait | Description |
|---|---|
Platform |
Enum with variants Desktop, Web, Mobile, and Test. Used for platform-conditional logic in widgets and renderers. |
VideoBackend |
Trait for creating VideoPlayer instances and presenting video surface frames at their laid-out rectangles. |
VideoPlayer |
Trait for controlling a single video stream -- play, pause, stop, seek, volume, rate, and polling for VideoEvent updates. |
VideoSurfaceFrame |
Struct carrying a WidgetNodeId, a surface_id, and a LayoutRect so the compositor knows where to place a native video surface. |
VideoEvent |
Enum for events emitted by a VideoPlayer: Ready { duration }, Ended, and Error(String). |
Usage example
use ;
Status
Supported -- stable traits consumed by fission-shell-desktop, rendering backends, and the
test harness.
License
MIT -- see the Fission repository for full documentation at https://fission.rs.