layer_stack — GFX2D composite op

• Data kinds: table → rgba

• Call: import fullseye as fs; fs.ledger.layer_stack(layers) (implementation को सीधे call करना हो तो import gfx2d; gfx2d.layer_stack(layers), registry से लेना हो तो opsgfx2d.get("layer_stack"))

उपयोग

z-क्रम वाली rgba layer की सूची को composite करता है, सबसे नीचे वाली पहले।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

Each layer is a dict:

{"image": rgba, "mode": str = "normal", "opacity": float = 1.0}

and the W3C rule for a blend mode against a *partially transparent* backdrop is used — the blend function is weighted by the backdrop's own alpha, Cs' = (1 - a_b) Cs + a_b B(Cb, Cs) — so a layer over empty space keeps its own colour whatever the mode. The result is straight-alpha rgba.

All layers must share one shape; see alpha_composite on why.

Raises ValueError: empty list, more than MAX_LAYERS, a non-dict entry, an unknown key, mismatched shapes.

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• gfx2d_scene — py -3.11 examples/gfx2d_scene.py

वे अगले ops जिनसे type जुड़ता है (rgba को input के रूप में लेते हैं)

premultiply · alpha_composite · sprite_blit · sprite_transform · sprite_sheet_slice · nine_slice

इसी category के (composite)

premultiply · unpremultiply · alpha_composite · alpha_composite_premul · blend_mode


*Provenance: gfx2d.py — GFX2D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.