--- name: premium-game-ui description: > Create professional, layered, high-impact game screens in Flutter without flattening the UI into a single image. Trigger: when designing, generating, reviewing, or implementing premium game UI screens, reward screens, medal screens, avatar screens, overlays, transparent assets, visual effects, or cinematic game feedback. license: Apache-2.0 metadata: author: gentleman-programming version: "1.0" --- ## When to Use - A screen must look premium, cinematic, or game-like. - Assets are being generated for Flutter UI. - The user mentions transparent backgrounds, overlays, rewards, medals, avatars, glows, bursts, particles, confetti, Lottie, Rive, or visual polish. - A prototype/mockup must be converted into real app UI. ## Critical Patterns 1. **Never flatten a real screen into one PNG.** Use real Flutter layout for text, buttons, state, progress, localization, and accessibility. 2. **Generate a layered asset kit.** Separate opaque backgrounds from transparent overlays. 3. **Transparent means technically transparent.** For overlays, image corners should usually be `alpha=0`; reject white/black baked backgrounds. 4. **Right size, not maximum size.** Icons/avatars usually 128–256 px. Hero bursts 512–1024 px. Full backgrounds can be larger. 5. **Use animation by responsibility.** - `flutter_animate`: widget entrances, shimmer, scale, blur, staggered UI. - `confetti`: short celebrations; keep particles controlled. - `Rive`: interactive/stateful vector animation. - `Lottie`: After Effects JSON animations. 6. **Avoid expensive composition.** Do not wrap large areas in `Opacity` when a semitransparent color/image or pre-baked alpha asset works. 7. **Plan before generating.** First write the layer list: filename, role, size, alpha requirement, anchor, and Flutter usage. ## Asset Acceptance Checklist - [ ] Correct role: background, overlay, hero element, icon, or animation. - [ ] Correct format: PNG/WebP alpha for pictorial overlays, SVG for simple vector, Rive/Lottie for motion. - [ ] Correct alpha: overlay corners transparent unless intentionally full-canvas. - [ ] Centered visible content; no neighboring sprite fragments. - [ ] No unnecessary 2048+ px icons. - [ ] Registered in `pubspec.yaml` only at the needed directory level. - [ ] Integrated through `Stack`/widgets, not as a full-screen screenshot. ## Flutter Integration Pattern ```dart Stack( children: [ const PremiumBackground(), // opaque base Positioned.fill(child: Image.asset('assets/fx/vignette.png', fit: BoxFit.cover)), Positioned(top: 80, left: 0, right: 0, child: RewardHero()), Positioned.fill(child: IgnorePointer(child: ConfettiWidget(confettiController: controller))), SafeArea(child: RealScreenContent()), // text/buttons/progress remain widgets ], ) ``` ## Documentation - Main pipeline: `docs/premium_game_ui_pipeline.md`