pub enum SceneOp {
Show 29 variants
PushTransform {
transform: Transform2D,
},
PopTransform,
PushOpacity {
opacity: f32,
},
PopOpacity,
PushLayer {
layer: u32,
},
PopLayer,
PushClipRect {
rect: Rect,
},
PushClipRRect {
rect: Rect,
corner_radii: Corners,
},
PushClipPath {
bounds: Rect,
origin: Point,
path: PathId,
},
PopClip,
PushMask {
bounds: Rect,
mask: Mask,
},
PopMask,
PushEffect {
bounds: Rect,
mode: EffectMode,
chain: EffectChain,
quality: EffectQuality,
},
PopEffect,
PushBackdropSourceGroupV1 {
bounds: Rect,
pyramid: Option<CustomEffectPyramidRequestV1>,
quality: EffectQuality,
},
PopBackdropSourceGroup,
PushCompositeGroup {
desc: CompositeGroupDesc,
},
PopCompositeGroup,
Quad {
order: DrawOrder,
rect: Rect,
background: PaintBindingV1,
border: Edges,
border_paint: PaintBindingV1,
corner_radii: Corners,
},
StrokeRRect {
order: DrawOrder,
rect: Rect,
stroke: Edges,
stroke_paint: PaintBindingV1,
corner_radii: Corners,
style: StrokeStyleV1,
},
ShadowRRect {
order: DrawOrder,
rect: Rect,
corner_radii: Corners,
offset: Point,
spread: Px,
blur_radius: Px,
color: Color,
},
Image {
order: DrawOrder,
rect: Rect,
image: ImageId,
fit: ViewportFit,
sampling: ImageSamplingHint,
opacity: f32,
},
ImageRegion {
order: DrawOrder,
rect: Rect,
image: ImageId,
uv: UvRect,
sampling: ImageSamplingHint,
opacity: f32,
},
MaskImage {
order: DrawOrder,
rect: Rect,
image: ImageId,
uv: UvRect,
sampling: ImageSamplingHint,
color: Color,
opacity: f32,
},
SvgMaskIcon {
order: DrawOrder,
rect: Rect,
svg: SvgId,
fit: SvgFit,
color: Color,
opacity: f32,
},
SvgImage {
order: DrawOrder,
rect: Rect,
svg: SvgId,
fit: SvgFit,
opacity: f32,
},
Text {
order: DrawOrder,
origin: Point,
text: TextBlobId,
paint: PaintBindingV1,
outline: Option<TextOutlineV1>,
shadow: Option<TextShadowV1>,
},
Path {
order: DrawOrder,
origin: Point,
path: PathId,
paint: PaintBindingV1,
},
ViewportSurface {
order: DrawOrder,
rect: Rect,
target: RenderTargetId,
opacity: f32,
},
}Variants§
PushTransform
Fields
transform: Transform2DPopTransform
PushOpacity
Opacity multiplier applied to subsequent draw ops.
The opacity stack composes multiplicatively (parent * child).
PopOpacity
PushLayer
Reserved layer stack marker (ADR 0019).
PopLayer
PushClipRect
PushClipRRect
PushClipPath
Push a path-based clip entry (clip-path).
bounds is a computation bound (not an implicit clip) used to bound GPU work and enable
deterministic budgeting/degradation. The clip geometry is given by a prepared path handle.
v1 note: renderers may implement this via an offscreen intermediate + mask composite.
PopClip
PushMask
PopMask
PushEffect
PopEffect
PushBackdropSourceGroupV1
Backdrop source group (v1): a mechanism-level scope that enables renderers to share a raw backdrop snapshot (and optional pyramid) across multiple CustomV3 “liquid glass” surfaces.
bounds are computation bounds (not an implicit clip). pyramid is an optional bounded
request for a shared renderer-owned blur pyramid derived from the group snapshot.
See ADR 0302.
Fields
pyramid: Option<CustomEffectPyramidRequestV1>Optional bounded pyramid request shared by the group (upper bound).
quality: EffectQualityQuality hint used for deterministic budgeting/degradation.
PopBackdropSourceGroup
PushCompositeGroup
Fields
desc: CompositeGroupDescPopCompositeGroup
Quad
StrokeRRect
ShadowRRect
Draw a single rounded-rect box shadow layer.
This is a first-class geometric shadow primitive for container chrome. Unlike
EffectStep::DropShadowV1, it is not content-derived and does not require a FilterContent
intermediate.
Fields
Image
ImageRegion
Fields
sampling: ImageSamplingHintMaskImage
Draw an alpha mask image tinted with a solid color.
The referenced image is expected to store coverage in the red channel (e.g. R8Unorm).
Fields
sampling: ImageSamplingHintSvgMaskIcon
Draw an SVG as a monochrome icon: rasterize to an alpha mask, then tint with a solid color.
SvgImage
Draw an SVG as an RGBA image: rasterize and upload as an image texture.
Text
Fields
text: TextBlobIdpaint: PaintBindingV1outline: Option<TextOutlineV1>shadow: Option<TextShadowV1>