From ae28e4e3b5bb5e3a96e2807d9e78b9d9fd15a932 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Fri, 2 Oct 2026 00:00:21 -0400 Subject: [PATCH] M9.4: document layer styles in the render pipeline Co-Authored-By: Claude Opus 5.5 --- docs/architecture.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/architecture.md b/docs/architecture.md index 4c8646b3..ee0b7876 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -61,7 +61,7 @@ text animators and shape contents are groups in the same tree. `Renderer::comp_frame(comp, t)` walks the layers bottom to top. For each visible layer it renders the **source** (solid, footage frame, text, shape contents, or a nested comp), applies **masks**, -then **effects** in order, then the **transform** into comp space (with motion blur sub-samples +then **effects** in order, then **layer styles**, then the **transform** into comp space (with motion blur sub-samples when enabled), the **track matte**, and finally **blends** into the accumulator. Adjustment layers apply their effects to the accumulator. Runs of 3D layers are composited per pixel through the active camera, with lights, shadows and depth of field. @@ -71,6 +71,14 @@ its evaluated inputs, excluding the transform. Static and transform-only layers editing one layer re-renders only that layer. Effects that read the clock directly are declared in `effects::TIME_DEPENDENT`, and a test checks every registered effect against that list. +**Layer styles** (Layer ▸ Layer Styles; `crates/render/src/styles.rs`) render in layer space and +may grow the layer's bounds. Drop Shadow and Outer Glow become separate passes composited below the +layer with their own blend modes; the interior styles, Stroke and Bevel and Emboss are baked into +the layer body. Layer opacity fades the whole stack; Knockout and the R/G/B channel switches apply +at composite time. Styled pixels are cached separately from the layer content, so editing a style +reuses the cached source/masks/effects. Global Light is one setting per comp, mirrored into every +layer's Blending Options and kept in step after each edit. + Half, Third and Quarter resolution render proportionally fewer pixels end to end. ## 5. Expressions