pub struct Layer {
pub system: SystemKind,
pub join: LayerJoin,
pub blend: LayerBlend,
pub mix: Option<Binding>,
pub params: Vec<Binding>,
pub per_vertex: Vec<Binding>,
pub config: Option<GeneratorConfig>,
}Expand description
The optional second scene layer (ADR-0090 / Plan 0076): a full authoring
surface — its own system, params, bindings, [layer.smoothing] and
structural tables — joined to the composite at LayerJoin. The preset’s
single [palette] serves both layers (one colour language, one baked LUT),
and layer params are namespaced to the layer: they reach the layer’s
scene only, never the main scene’s first-owner-wins routing and never the
compositing stages, which belong to the preset as a whole.
Fields§
§system: SystemKindThe built-in system this layer drives.
join: LayerJoinWhere the layer joins the composite.
blend: LayerBlendHow an over layer blends in (ignored, with a load warning, on an
under join — there is no junction for it to apply at).
mix: Option<Binding>The bindable mix amount at the over join (ADR-0090): how much of the
layer the blend applies, evaluated per frame like any binding so audio
can surge the second layer. None — the default — is full strength.
params: Vec<Binding>The layer’s parameter bindings, name-sorted like the preset’s own.
per_vertex: Vec<Binding>The layer’s [layer.per_vertex] bindings — see
Preset::per_vertex.
config: Option<GeneratorConfig>The layer’s declarative structural config (ADR-0007), from its own
[layer.curve] / [layer.generator] / [layer.particles] /
[layer.spectrum] tables — validated by the same per-system rules as
the top level.