Skip to main content

Crate wisp

Crate wisp 

Source
Expand description

wisp — 2D scene graph + filter chain on wgpu.

Pixi-shaped public API for compositing recorded screen content. See _docs/recorder-features-and-render-api.md for the design surface and _docs/milestone-0-renderer.md for the build plan.

§Module map

  • applicationApplication, AppConfig, Stage (root context).
  • sceneContainer, Sprite, Graphics, Text, Mesh, transforms, clip masks.
  • textureTexture, VideoTexture, RenderTexture.
  • filterFilter trait + built-in filters (blur, drop shadow, motion blur, color matrix).
  • render — internal renderer, batcher, pipeline cache, filter pass orchestrator.
  • math — re-exports from glam plus Rect.
  • colorColor (RGBA f32).
  • blendBlendMode.

Re-exports§

pub use blend::BlendMode;
pub use color::Color;
pub use filter::BlurFilter;
pub use filter::ColorMatrixFilter;
pub use filter::DropShadowFilter;
pub use filter::Filter;
pub use filter::FilterContext;
pub use filter::MotionBlurFilter;
pub use math::Rect;
pub use render::mask_combine::MaskCombineOp;
pub use scene::BlurStrength;
pub use scene::Callout;
pub use scene::Container;
pub use scene::DimOutside;
pub use scene::DimStrength;
pub use scene::Fill;
pub use scene::FlexText;
pub use scene::Font;
pub use scene::Graphics;
pub use scene::Highlight;
pub use scene::MaskShape;
pub use scene::Mesh;
pub use scene::Node;
pub use scene::NodeId;
pub use scene::Path;
pub use scene::PathBuilder;
pub use scene::PathCommand;
pub use scene::PrivacyBlur;
pub use scene::Sprite;
pub use scene::Stage;
pub use scene::Stroke;
pub use scene::Text;
pub use scene::Transform;
pub use scene::Vector;
pub use scene::VectorShape;
pub use scene::VectorStroke;
pub use text::AtlasGlyphInstance;
pub use text::AtlasTextEngine;
pub use text::AtlasTextLayout;
pub use text::FlexibleTextEngine;
pub use text::FlexibleTextLayout;
pub use text::FlexibleTextRenderer;
pub use text::TextTextureCache;
pub use text::TextTextureKey;
pub use text::TextTexturePipeline;
pub use text::WispFontHandle;
pub use text::WispFontStyle;
pub use text::WispFontWeight;
pub use text::WispText;
pub use text::WispTextAlign;
pub use text::WispTextEngine;
pub use text::WispTextLayout;
pub use text::WispTextMetrics;
pub use text::WispTextRenderer;
pub use text::WispTextStyle;
pub use texture::Texture;
pub use texture::render_texture::RenderTexture;
pub use texture::video_texture::VideoTexture;
pub use wgpu;

Modules§

application
Application — root context for wisp, owns the wgpu device and queue.
blend
Blend modes for compositing nodes.
color
RGBA colors in linear f32 space.
error 🔒
Crate-level error type.
filter
Filter trait + built-in filters.
math
Math primitives — glam re-exports + Rect.
path
Public façade for path types + boolean ops (M-BOOL track).
recording
RecordingScene — composes the recorder’s two visible streams (full-screen capture + circular webcam bubble) into a single Stage ready to render to a wgpu::TextureView (M-EXPORT.0 of M-RECORD-EXPORT).
render
Renderer — pipeline cache, draw-call batcher, filter pass orchestrator.
scene
Scene graph — Container, Sprite, Graphics, Text, Mesh, transforms, clip masks.
text
Wisp text abstraction + backend boundary (M-TEXT.1 / AUT-75).
texture
Texture types — Texture (image), VideoTexture (per-frame upload), RenderTexture (target).

Structs§

Mat3
A 3x3 column major matrix.
Mat4
A 4x4 column major matrix.
Vec2
A 2-dimensional vector.
Vec3
A 3-dimensional vector.
Vec4
A 4-dimensional vector.

Enums§

Error
All errors produced by wisp.

Type Aliases§

Result
Convenience alias for Result<T, wisp::Error>.