Overview
The path equivalent of sprite_flip: it turns a Bezier path as if it were a card. Because
Bezier geometry remains affine, flipping at the path stage is lossless at every angle and
axis tilt. Rasterization and lighting then run on the flattened shape for each frame.
Usage tips
- A common chain is a path from
shape_generateorbezier_path → path_flip → path_fillorpath_stroke, optionally followed bysurface_light_previewfor per-frame lighting. - Promote Angle and drive it with
time_source → remapfrom 0–1 to 0–360 for a full flip. - Connect a back path drawn as seen from the front. The node handles mirroring at 180°. Without a back input, it uses the mirrored front path.
- Connect the
showing_backBoolean to avalue_selectindex to switch fill colors or stroke settings between front and back. - Canvas Center is the default pivot and remains stable even if front and back bounds differ. A path without canvas dimensions falls back to its bounds center.
Common mistakes
- Nothing is visible near 90°: a path has zero thickness and collapses to a line. Fill
disappears, but a 1px
path_strokecan retain an edge-like line. - Offsets or winding-dependent fills break after mirroring: keep Preserve Winding on. Mirroring reverses winding, and the default corrects it automatically.
- The shape jumps when front and back switch: Path Center moves when their bounds differ. Use Canvas Center or a Custom pivot.
- Perspective is required: perspective is not affine. Rasterize first and use
sprite_flipwhen perspective is necessary.
Related nodes
sprite_flip— raster-stage flip with perspective, edge line, and RotSpritepath_transform— general affine path transform, including manual negative scalepath_fill/path_stroke— rasterize the flipped pathsurface_light_preview— relight the flattened shape on every framevalue_select— switch appearance using the back-side flag