Add KC target test button, API docs header link, and UI polish
- Add POST /api/v1/picture-targets/{target_id}/test endpoint for single-frame
color extraction preview on Key Colors targets
- Add test button on KC target cards that opens lightbox with spinner,
displays captured frame with rectangle overlays and color swatches
- Add API docs link in WebUI header
- Swap confirm dialog button colors (No=red, Yes=neutral)
- Remove type badges from WLED and KC target cards
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -151,3 +151,23 @@ class TargetMetricsResponse(BaseModel):
|
||||
errors_count: int = Field(description="Total error count")
|
||||
last_error: Optional[str] = Field(None, description="Last error message")
|
||||
last_update: Optional[datetime] = Field(None, description="Last update timestamp")
|
||||
|
||||
|
||||
class KCTestRectangleResponse(BaseModel):
|
||||
"""A rectangle with its extracted color from a KC test."""
|
||||
|
||||
name: str = Field(description="Rectangle name")
|
||||
x: float = Field(description="Left edge (0.0-1.0)")
|
||||
y: float = Field(description="Top edge (0.0-1.0)")
|
||||
width: float = Field(description="Width (0.0-1.0)")
|
||||
height: float = Field(description="Height (0.0-1.0)")
|
||||
color: ExtractedColorResponse = Field(description="Extracted color for this rectangle")
|
||||
|
||||
|
||||
class KCTestResponse(BaseModel):
|
||||
"""Response from testing a KC target."""
|
||||
|
||||
image: str = Field(description="Base64 data URI of the captured frame")
|
||||
rectangles: List[KCTestRectangleResponse] = Field(description="Rectangles with extracted colors")
|
||||
interpolation_mode: str = Field(description="Color extraction mode used")
|
||||
pattern_template_name: str = Field(description="Pattern template name")
|
||||
|
||||
Reference in New Issue
Block a user