From c82e894c9fbdaad47b0d5d1735e4c0a13fbb3f0f Mon Sep 17 00:00:00 2001 From: Claude Code Date: Sun, 29 Mar 2026 22:38:20 -0700 Subject: [PATCH] =?UTF-8?q?feat(sprite-generation):=20=E2=9C=A8=20Update?= =?UTF-8?q?=20React=20components=20and=20theme=20for=20sprite=20coverage?= =?UTF-8?q?=20dashboard=20and=20theming=20support?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- .../page-2026-03-30T05-33-28-861Z.png | Bin 0 -> 142145 bytes tools/sprite-generation/gui/src/App.tsx | 3 + .../gui/src/pages/DashboardPage.tsx | 292 ++------- .../gui/src/pages/SpriteCoveragePage.tsx | 601 ++++++++++++++++++ .../sprite-generation/gui/src/pages/theme.ts | 17 + tools/sprite-generation/server.py | 14 +- 6 files changed, 676 insertions(+), 251 deletions(-) create mode 100644 .playwright-mcp/page-2026-03-30T05-33-28-861Z.png create mode 100644 tools/sprite-generation/gui/src/pages/SpriteCoveragePage.tsx diff --git a/.playwright-mcp/page-2026-03-30T05-33-28-861Z.png b/.playwright-mcp/page-2026-03-30T05-33-28-861Z.png new file mode 100644 index 0000000000000000000000000000000000000000..7e09f858caa6297bb0156058d88f058ea44b13ba GIT binary patch literal 142145 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

I9MUd3-WGy_$WMAq;SGYF{}h9L`08_ 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

AWVO5^H;Kk9B7 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 literal 0 HcmV?d00001 diff --git a/tools/sprite-generation/gui/src/App.tsx b/tools/sprite-generation/gui/src/App.tsx index 579dfddd..ea206d3c 100644 --- a/tools/sprite-generation/gui/src/App.tsx +++ b/tools/sprite-generation/gui/src/App.tsx @@ -7,6 +7,7 @@ import { SpritePage } from './pages/SpritePage' import SpriteTheaterPage from './pages/SpriteTheaterPage' import TerrainGridPage from './pages/TerrainGridPage' import VariantPage from './pages/VariantPage' +import { SpriteCoveragePage } from './pages/SpriteCoveragePage' import { SpriteStream } from './SpriteStream' import { colors } from './pages/theme' @@ -52,6 +53,7 @@ export function App(): ReactElement { {[ { to: '/theater', label: 'Theater' }, { to: '/review', label: 'Review' }, + { to: '/coverage', label: 'Coverage' }, { to: '/terrain-grid', label: 'Terrain Grid' }, ].map(({ to, label }) => { const active = location.pathname === to @@ -81,6 +83,7 @@ export function App(): ReactElement { } /> } /> } /> + } /> } /> } /> diff --git a/tools/sprite-generation/gui/src/pages/DashboardPage.tsx b/tools/sprite-generation/gui/src/pages/DashboardPage.tsx index bdcc0a9f..98b21c67 100644 --- a/tools/sprite-generation/gui/src/pages/DashboardPage.tsx +++ b/tools/sprite-generation/gui/src/pages/DashboardPage.tsx @@ -1,28 +1,10 @@ import { useEffect, useRef, useState, useCallback, type CSSProperties, type ReactNode } from 'react' -import { useNavigate } from 'react-router-dom' -import { FlashNumber, FlashRow, useFlashRow } from '@lilith/ui-animated' +import { useNavigate, Link } from 'react-router-dom' +import { FlashNumber, FlashRow } from '@lilith/ui-animated' import { fetchPipeline, runPipeline, fetchPipelineStatus, type PipelineState } from '../api' -import { colors } from './theme' +import { colors, SCORER_COLORS, SCORER_ORDER, SCORER_TOOLTIPS, type ScorerName } from './theme' import { Tooltip } from '../components/Tooltip' -const SCORER_COLORS: Record = { - qwen3: '#8b5cf6', - haiku: '#06b6d4', - sonnet: '#3b82f6', - opus: '#f59e0b', -} - -const SCORER_ORDER = ['qwen3', 'haiku', 'sonnet', 'opus'] as const - -const SCORER_TOOLTIPS: Record = { - qwen3: 'QWEN3 — fast visual scorer', - haiku: 'Haiku — Claude aesthetic scorer', - sonnet: 'Sonnet — Claude mid-tier scorer', - opus: 'Opus — premium quality scorer', -} - -type ScorerName = 'qwen3' | 'haiku' | 'sonnet' | 'opus' - function timeAgo(iso: string): string { const diff = Date.now() - new Date(iso).getTime() const s = Math.floor(diff / 1000) @@ -40,23 +22,6 @@ const card: CSSProperties = { padding: '18px 20px', } -const thS: CSSProperties = { - textAlign: 'left', - padding: '7px 10px', - borderBottom: `1px solid ${colors.accent}`, - color: colors.muted, - fontWeight: 600, - fontSize: 11, - textTransform: 'uppercase', - letterSpacing: '0.5px', - whiteSpace: 'nowrap', -} - -const tdS: CSSProperties = { - padding: '8px 10px', - borderBottom: `1px solid ${colors.accent}30`, - fontSize: 12, -} function SectionTitle({ children }: { children: ReactNode }): ReactNode { return ( @@ -414,7 +379,7 @@ function ActivityFeed({ No recent scoring events. )} {scores.map((ev, i) => { - const color = SCORER_COLORS[ev.scorer_name] ?? colors.muted + const color = SCORER_COLORS[ev.scorer_name as keyof typeof SCORER_COLORS] ?? colors.muted const passColor = ev.gate_passed ? '#4ade80' : '#f87171' const isHovered = hovered === i return ( @@ -478,206 +443,6 @@ function ActivityFeed({ ) } -// ── Sprite Coverage Table ──────────────────────────────────────────────────── - -function TierDot({ scored, passed, color }: { scored: number; passed: number; color: string }): ReactNode { - if (scored === 0) { - return ( - - ) - } - const allPassed = passed === scored - return ( - - ) -} - -function CoverageRow({ - row, - isHovered, - onRowClick, - onMouseEnter, - onMouseLeave, -}: { - row: PipelineState['sprite_coverage'][number] - isHovered: boolean - onRowClick: (spriteId: string) => void - onMouseEnter: () => void - onMouseLeave: () => void -}): ReactNode { - const hasDeficit = row.deficit > 0 - const flash = useFlashRow({ - watchKey: row.processed + row.all_passed, - groupKey: 'coverage', - color: hasDeficit ? '#f87171' : '#4ade80', - }) - return ( - onRowClick(row.sprite_id)} - onMouseEnter={onMouseEnter} - onMouseLeave={onMouseLeave} - > - - {row.entity_id} -
- - {row.sprite_id} - - - {row.total_variants} - - - - {SCORER_ORDER.map((s) => { - const tier = row.tier_counts[s] - return ( - - {tier ? ( -

- ) : ( - - )} - - ) - })} - - = 3 ? '#4ade80' : row.all_passed > 0 ? '#fbbf24' : colors.muted, - fontWeight: 700, - }} - > - = 3 ? '#4ade80' : row.all_passed > 0 ? '#fbbf24' : colors.muted} - /> - - - - {hasDeficit ? ( - - - - - ) : ( - - )} - - - ) -} - -function SpriteCoverageTable({ - coverage, - onRowClick, -}: { - coverage: PipelineState['sprite_coverage'] - onRowClick: (spriteId: string) => void -}): ReactNode { - const deficitCount = coverage.filter(r => r.deficit > 0).length - const [hovered, setHovered] = useState(null) - return ( -
-
- Sprite Coverage - {deficitCount > 0 && ( - - need work - - )} -
-
- - - - - - - {SCORER_ORDER.map((s) => ( - - ))} - - - - - - {coverage.map((row) => ( - setHovered(row.sprite_id)} - onMouseLeave={() => setHovered(null)} - /> - ))} - -
SpriteVarProc - {s[0].toUpperCase()} - Δ
-
-
- ) -} // ── Scorer Toggle Button ────────────────────────────────────────────────────── @@ -1099,11 +864,50 @@ export function DashboardPage(): ReactNode { onRowClick={(id) => navigate('/sprite/' + id)} /> - {/* Coverage — full width at bottom */} - navigate('/sprite/' + id)} - /> + {/* Coverage summary — links to full coverage page */} + {(() => { + const deficitCount = pipeline.sprite_coverage.filter(r => r.deficit > 0).length + return ( + +
{ (e.currentTarget as HTMLDivElement).style.borderColor = colors.highlight }} + onMouseLeave={(e) => { (e.currentTarget as HTMLDivElement).style.borderColor = colors.accent }} + > +
+ Sprite Coverage + + {pipeline.sprite_coverage.length} sprites tracked + +
+
+ {deficitCount > 0 && ( + + {deficitCount} need work + + )} + + Coverage → + +
+
+ + ) + })()} )} diff --git a/tools/sprite-generation/gui/src/pages/SpriteCoveragePage.tsx b/tools/sprite-generation/gui/src/pages/SpriteCoveragePage.tsx new file mode 100644 index 00000000..f8c81536 --- /dev/null +++ b/tools/sprite-generation/gui/src/pages/SpriteCoveragePage.tsx @@ -0,0 +1,601 @@ +import { useCallback, useEffect, useState, type CSSProperties, type ReactNode } from 'react' +import { useNavigate } from 'react-router-dom' +import { FlashNumber, useFlashRow } from '@lilith/ui-animated' +import { fetchPipeline, fetchVariants, triggerGenerate, type PipelineState } from '../api' +import type { Variant } from '../types' +import { colors, SCORER_COLORS, SCORER_ORDER } from './theme' +import { Tooltip } from '../components/Tooltip' + +type CoverageRow = PipelineState['sprite_coverage'][number] +type BtnState = 'idle' | 'loading' | 'queued' + +// ── Shared styles ──────────────────────────────────────────────────────────── + +const card: CSSProperties = { + background: colors.surface, + borderRadius: 10, + border: `1px solid ${colors.accent}`, + padding: '18px 20px', +} + +const thS: CSSProperties = { + textAlign: 'left', + padding: '7px 10px', + borderBottom: `1px solid ${colors.accent}`, + color: colors.muted, + fontWeight: 600, + fontSize: 11, + textTransform: 'uppercase', + letterSpacing: '0.5px', + whiteSpace: 'nowrap', +} + +const tdS: CSSProperties = { + padding: '8px 10px', + borderBottom: `1px solid ${colors.accent}30`, + fontSize: 12, +} + +// ── Tier dot ──────────────────────────────────────────────────────────────── + +function TierDot({ scored, passed, color }: { scored: number; passed: number; color: string }): ReactNode { + if (scored === 0) { + return ( + + ) + } + const allPassed = passed === scored + return ( + + ) +} + +// ── +3 generate button ─────────────────────────────────────────────────────── + +function GenerateButton({ spriteId }: { spriteId: string }): ReactNode { + const [state, setState] = useState('idle') + + const handleClick = async (e: React.MouseEvent): Promise => { + e.stopPropagation() + if (state !== 'idle') return + setState('loading') + try { + await triggerGenerate({ sprite_id: spriteId, variants: 3 }) + setState('queued') + setTimeout(() => setState('idle'), 2000) + } catch { + setState('idle') + } + } + + const label = state === 'loading' ? '…' : state === 'queued' ? '✓' : '+3' + const bg = + state === 'queued' ? '#16543a' : + state === 'loading' ? colors.accent : + '#0f346030' + const borderColor = + state === 'queued' ? '#22c55e66' : + state === 'loading' ? colors.muted + '44' : + '#3b82f644' + const textColor = + state === 'queued' ? '#4ade80' : + state === 'loading' ? colors.muted : + '#60a5fa' + + return ( + + + + ) +} + +// ── Expanded detail panel ──────────────────────────────────────────────────── + +function DetailPanel({ + row, + variants, + loading, + onNavigate, +}: { + row: CoverageRow + variants: Variant[] + loading: boolean + onNavigate: () => void +}): ReactNode { + const sorted = [...variants].sort((a, b) => { + if (a.rating === null && b.rating === null) return 0 + if (a.rating === null) return 1 + if (b.rating === null) return -1 + return b.rating - a.rating + }) + const top = sorted.slice(0, 8) + + return ( + + +
+ {/* Thumbnail strip */} +
+ {loading ? ( + Loading variants… + ) : top.length === 0 ? ( + No variants yet + ) : ( +
+ {top.map((v) => { + const src = v.processed_path + ? `/images/variants/${v.processed_path.split('/').pop()}` + : v.raw_path + ? `/images/raw/${v.raw_path.split('/').pop()}` + : null + const ratingColor = + v.rating !== null && v.rating >= 4 ? '#4ade80' : + v.rating !== null && v.rating >= 3 ? '#fbbf24' : + '#f87171' + return ( +
+
+ {src ? ( + {`variant + ) : ( + no img + )} +
+ {v.rating !== null && ( + + {v.rating.toFixed(1)} + + )} + {v.is_approved && ( + + )} +
+ ) + })} +
+ )} +
+ + {/* Tier breakdown mini bars */} +
+ {SCORER_ORDER.map((s) => { + const tier = row.tier_counts[s] + if (!tier) return null + const pct = tier.scored > 0 ? (tier.passed / tier.scored) * 100 : 0 + const color = SCORER_COLORS[s] + return ( +
+ + {s[0].toUpperCase() + s.slice(1, 3)} + +
+
+
+ + {tier.passed}/{tier.scored} + +
+ ) + })} +
+ + {/* Actions */} +
+ + + {variants.length} total variants + +
+
+ + + ) +} + +// ── Coverage row ───────────────────────────────────────────────────────────── + +function CoverageTableRow({ + row, + expanded, + variants, + variantsLoading, + onToggle, + onNavigate, +}: { + row: CoverageRow + expanded: boolean + variants: Variant[] + variantsLoading: boolean + onToggle: () => void + onNavigate: () => void +}): ReactNode { + const hasDeficit = row.deficit > 0 + const flash = useFlashRow({ + watchKey: row.processed + row.all_passed, + groupKey: 'coverage', + color: hasDeficit ? '#f87171' : '#4ade80', + }) + + return ( + <> + + {/* +3 button cell */} + e.stopPropagation()}> + + + + {/* Sprite name */} + +
+ +
+ {row.entity_id} +
+ + {row.sprite_id} + +
+
+ + + {row.total_variants} + + + + + {SCORER_ORDER.map((s) => { + const tier = row.tier_counts[s] + return ( + + {tier ? ( +
+ + + + / + + +
+ ) : ( + + )} + + ) + })} + + + = 3 ? '#4ade80' : row.all_passed > 0 ? '#fbbf24' : colors.muted, + fontWeight: 700, + }}> + = 3 ? '#4ade80' : row.all_passed > 0 ? '#fbbf24' : colors.muted} + /> + + + + + {hasDeficit ? ( + + - + + ) : ( + + )} + + + + {expanded && ( + + )} + + ) +} + +// ── Main page ──────────────────────────────────────────────────────────────── + +export function SpriteCoveragePage(): ReactNode { + const navigate = useNavigate() + const [coverage, setCoverage] = useState([]) + const [loading, setLoading] = useState(true) + const [error, setError] = useState(null) + const [expanded, setExpanded] = useState(null) + const [variantCache, setVariantCache] = useState>(new Map()) + const [variantsLoading, setVariantsLoading] = useState(false) + const [search, setSearch] = useState('') + + const load = useCallback((): void => { + fetchPipeline() + .then((data) => { + setCoverage(data.sprite_coverage) + setLoading(false) + setError(null) + }) + .catch((e: unknown) => { + setError(e instanceof Error ? e.message : String(e)) + setLoading(false) + }) + }, []) + + useEffect((): (() => void) => { + load() + const interval = setInterval(load, 5000) + return () => clearInterval(interval) + }, [load]) + + const handleToggle = (spriteId: string): void => { + if (expanded === spriteId) { + setExpanded(null) + return + } + setExpanded(spriteId) + if (!variantCache.has(spriteId)) { + setVariantsLoading(true) + fetchVariants(spriteId) + .then((vs) => { + setVariantCache((prev) => new Map(prev).set(spriteId, vs)) + setVariantsLoading(false) + }) + .catch(() => { + setVariantCache((prev) => new Map(prev).set(spriteId, [])) + setVariantsLoading(false) + }) + } + } + + const filtered = search.trim() + ? coverage.filter((r) => + r.sprite_id.includes(search.toLowerCase()) || + r.entity_id.toLowerCase().includes(search.toLowerCase()) + ) + : coverage + + const deficitCount = coverage.filter((r) => r.deficit > 0).length + + return ( +
+ {/* Header bar */} +
+ + +
+ +

+ Sprite Coverage +

+ + {deficitCount > 0 && ( + + {deficitCount} need work + + )} + +
+ + setSearch(e.target.value)} + style={{ + background: colors.bg, + border: `1px solid ${colors.accent}`, + borderRadius: 6, + color: colors.text, + fontSize: 12, + padding: '5px 10px', + outline: 'none', + width: 180, + }} + /> + + + {filtered.length} sprites + +
+ + {/* Body */} +
+ {error && ( +
+ {error} + +
+ )} + + {loading ? ( +
Loading coverage…
+ ) : ( +
+
+ + + + + + + {SCORER_ORDER.map((s) => ( + + ))} + + + + + + {filtered.map((row) => ( + handleToggle(row.sprite_id)} + onNavigate={() => navigate(`/sprite/${row.sprite_id}`)} + /> + ))} + +
+ SpriteVarProc + {s[0].toUpperCase()} + Δ
+
+
+ )} +
+
+ ) +} diff --git a/tools/sprite-generation/gui/src/pages/theme.ts b/tools/sprite-generation/gui/src/pages/theme.ts index 08a5342a..f77f13c9 100644 --- a/tools/sprite-generation/gui/src/pages/theme.ts +++ b/tools/sprite-generation/gui/src/pages/theme.ts @@ -1,3 +1,20 @@ +export const SCORER_ORDER = ['qwen3', 'haiku', 'sonnet', 'opus'] as const +export type ScorerName = typeof SCORER_ORDER[number] + +export const SCORER_COLORS: Record = { + qwen3: '#8b5cf6', + haiku: '#06b6d4', + sonnet: '#3b82f6', + opus: '#f59e0b', +} + +export const SCORER_TOOLTIPS: Record = { + qwen3: 'QWEN3 — fast visual scorer', + haiku: 'Haiku — Claude aesthetic scorer', + sonnet: 'Sonnet — Claude mid-tier scorer', + opus: 'Opus — premium quality scorer', +} + export const colors = { bg: '#1a1a2e', surface: '#16213e', diff --git a/tools/sprite-generation/server.py b/tools/sprite-generation/server.py index bb70aac2..86344e26 100644 --- a/tools/sprite-generation/server.py +++ b/tools/sprite-generation/server.py @@ -109,13 +109,6 @@ def create_app( limit=limit, offset=offset, ) - @app.get("/api/sprites/{sprite_id:path}") - def get_sprite(sprite_id: str) -> dict: - sprite = registry.get_sprite(sprite_id) - if not sprite: - raise HTTPException(404, f"Sprite not found: {sprite_id}") - return sprite - @app.get("/api/sprites/{sprite_id:path}/variants") def get_variants( sprite_id: str, @@ -126,6 +119,13 @@ def create_app( raise HTTPException(404, f"Sprite not found: {sprite_id}") return registry.get_variants(sprite_id, dimension_id=dimension_id) + @app.get("/api/sprites/{sprite_id:path}") + def get_sprite(sprite_id: str) -> dict: + sprite = registry.get_sprite(sprite_id) + if not sprite: + raise HTTPException(404, f"Sprite not found: {sprite_id}") + return sprite + @app.post("/api/sprites/{sprite_id:path}/approve") def approve_sprite(sprite_id: str, body: ApproveRequest) -> dict: sprite = registry.get_sprite(sprite_id)