MotionScript

@motion-script/core


@motion-script/core / View3DFillProp

Interface: View3DFillProp

Defined in: attributes/shape/fill/implementations/view3d.ts:22

A 3D scene, painted as a fill.

3D is paint, not structure: the renderer draws the scene to a texture and shades the shape's own path with it. So it clips to whatever painted it — an Ellipse, a Path, a run of Text — stacks with the other fills in the array, and inherits the fill layer's opacity/blend/space like any other.

The payload is a built Graphics3D, never a builder callback. Per-frame freshness comes from where the value is produced — a renderSelf runs every frame, and a () => … prop is an ordinary reactive binding — which is exactly how every other fill behaves.

Properties

antialias?

optional antialias?: boolean

Defined in: attributes/shape/fill/implementations/view3d.ts:35

Multisample the 3D pass. Default true.


blend?

optional blend?: "color" | "multiply" | "screen" | "overlay" | "darken" | "lighten" | "color-dodge" | "color-burn" | "hard-light" | "soft-light" | "difference" | "exclusion" | "hue" | "saturation" | "luminosity" | "normal"

Defined in: attributes/shape/fill/implementations/view3d.ts:37


graphics3D

graphics3D: Graphics3D

Defined in: attributes/shape/fill/implementations/view3d.ts:25

The scene to draw. Rebuilt by its producer each frame; never a callback.


maxPixelRatio?

optional maxPixelRatio?: number

Defined in: attributes/shape/fill/implementations/view3d.ts:33

Ceiling on the 3D buffer's device-pixel ratio. Default 2.

Exists so a high-scale export doesn't allocate a quadratically larger render buffer than the scene needs — a 4× export of a 1080p shape would otherwise ask for a 16× buffer.


opacity?

optional opacity?: number

Defined in: attributes/shape/fill/implementations/view3d.ts:36


type

type: "view3D"

Defined in: attributes/shape/fill/implementations/view3d.ts:23