Override blend mode, FPS sparkline, fix api_input persistence
New features: - Override composite blend mode: per-pixel alpha from brightness (black=transparent, bright=opaque). Ideal for API input over effects. - API input test preview FPS chart uses shared createFpsSparkline (same look as target card charts) Fixes: - Fix api_input source not surviving server restart: from_dict was still passing removed led_count field to constructor - Fix composite layer brightness/processing selectors not aligned: labels get fixed width, selects fill remaining space - Fix CSPT input selector showing in non-CSPT CSS test mode - Fix test modal LED/FPS controls showing for api_input sources - Server only sends test WS frames when api_input push_generation changes Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -31,7 +31,7 @@ class CompositeLayer(BaseModel):
|
||||
"""A single layer in a composite color strip source."""
|
||||
|
||||
source_id: str = Field(description="ID of the layer's color strip source")
|
||||
blend_mode: str = Field(default="normal", description="Blend mode: normal|add|multiply|screen")
|
||||
blend_mode: str = Field(default="normal", description="Blend mode: normal|add|multiply|screen|override")
|
||||
opacity: float = Field(default=1.0, ge=0.0, le=1.0, description="Layer opacity 0.0-1.0")
|
||||
enabled: bool = Field(default=True, description="Whether this layer is active")
|
||||
brightness_source_id: Optional[str] = Field(None, description="Optional value source ID for dynamic brightness")
|
||||
|
||||
Reference in New Issue
Block a user