Repository navigation
DebateOwl owls at intensity B: the logo plus one owl per key screen - #232
Conversation
The five existing poses come from the c-trace set and six new ones are hand-traced in the same style: thinking, reading, timekeeper, arguing, coach and sleepy. Each file is 13 to 21 kB and replaces the 26 glossy WebP cutouts. The avatar crops the full pose with CSS instead of shipping separate bust files. The offline precache picks up the poses that the offline pages show. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Home points at Start debate. Generate thinks while it writes and looks surprised when the run fails. History's empty states sleep, the Library reads, and the Debate Timer title holds a stopwatch. The Sparring opponent argues, and the Ask coach gives a thumbs-up. Case Saved celebrates beside its check. The 404 and the won ballot already had the right pose. Owls beside text stay decorative. The coach and opponent avatars get alt text in English, Hungarian and Spanish. No other copy changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
What this is
This adds owl intensity B from
~/debateowl-owl-assets(decisions.md item 11), which is the logo plus one owl on each key screen. It stacks on the DebateOwl restyle (#228, which now includes #229) and targetsdesign/debateowl-restyle, notmain.This is a draft. Nothing is merged or deployed. No feature, route or label changes; the only new strings are alt text for the coach and opponent avatars.
Placements
public/owl-mark.svguses the same c-icon art asmark.svg.Tool icons are untouched. There's no owl pattern and no corner owls.
The SVGs
Every owl is now a hand-written SVG; the 26 glossy WebP cutouts are deleted. The five existing poses are the c-trace files. The six new ones were traced from
poses/new-*.pngin the same style. They share the body, glasses, beak, feet and palette, and only the wings, eyes and prop change.All 11 poses total 164 kB.
OwlAvatarzooms the full pose onto the head instead of shipping bust files. The offline precache now lists the six poses the offline pages show (point, reading, sleepy, timekeeper, idea, surprised);npm run test:swpasses with them.Accessibility and motion
aria-hidden).role="img"with alt text in English, Hungarian and Spanish, "The owl, your debate coach" / "A bagoly, a vitaedződ" / "El búho, tu coach de debate", and "The owl, your AI opponent" / "A bagoly, az MI-ellenfeled" / "El búho, tu oponente de IA". Spanish is there because the catalogs have to match.aria-livestatus, where a label would be read out on every update.Screenshots
Each image shows before on top and after below, with light on the left and dark on the right. Every placement was captured at 375, 430, 768x1024, 1024x768 and 1440x900 in both themes (220 shots), on the local verify stack with the fake provider. The full set, the raw captures and per-shot metrics are on the
owls-screenshotsbranch. Delete that branch when this PR closes.Checks on every shot: no horizontal overflow, no owl box leaving the viewport. Cumulative layout shift matches before and after on every screen (max 0.039, all from existing page behaviour). One run showed Sparring at 1440 going from 0.011 to 0.018; a rerun gave 0.011 again, the same as before. Every owl box has a fixed width and height, so the images can't shift layout as they load.
App logo
375 px phone, and the other widths
Other widths: 430 · 768x1024 · 1024x768
Home, Start debate
375 px phone, and the other widths
Other widths: 430 · 768x1024 · 1024x768
Generate, writing
375 px phone, and the other widths
Other widths: 430 · 768x1024 · 1024x768
Generate, failed
375 px phone, and the other widths
Other widths: 430 · 768x1024 · 1024x768
History, empty
375 px phone, and the other widths
Other widths: 430 · 768x1024 · 1024x768
Library, No Sources Yet
375 px phone, and the other widths
Other widths: 430 · 768x1024 · 1024x768
404
375 px phone, and the other widths
Other widths: 430 · 768x1024 · 1024x768
Sparring opponent
375 px phone, and the other widths
Other widths: 430 · 768x1024 · 1024x768
Won ballot
375 px phone, and the other widths
Other widths: 430 · 768x1024 · 1024x768
Ask coach
375 px phone, and the other widths
Other widths: 430 · 768x1024 · 1024x768
Debate Timer
375 px phone, and the other widths
Other widths: 430 · 768x1024 · 1024x768
Case Saved
375 px phone, and the other widths
Other widths: 430 · 768x1024 · 1024x768
Checks
npm run verifypasses at 42cb530 (the last commit after it only changes one Spanish alt string; the i18n tests pass on it). That covers docs, lint (with knip and repo rules), typecheck, 651 unit tests, 30 collaboration, 470 edge, build, the offline service-worker test, and 47 smoke e2e.npm run test:e2eon desktop and mobile Chromium: 278 passed, 5 skipped, 6 failed. The six failures are the three known failures that also fail onmain, once per project:loading-performance.spec.ts:63,navigation-performance.spec.ts:344,search-quality.spec.ts:7. Five mobile tests needed a retry during the 12-minute run; all five pass with retries off when run again alone.Not settled
mark.svgin the assets is the round badge version of the same art; I didn't swap the shape.🤖 Generated with Claude Code