2.9 KiB
2.9 KiB
name, description, license, metadata
| name | description | license | metadata | ||||
|---|---|---|---|---|---|---|---|
| premium-game-ui | 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. | Apache-2.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
- Never flatten a real screen into one PNG. Use real Flutter layout for text, buttons, state, progress, localization, and accessibility.
- Generate a layered asset kit. Separate opaque backgrounds from transparent overlays.
- Transparent means technically transparent. For overlays, image corners should usually be
alpha=0; reject white/black baked backgrounds. - Right size, not maximum size. Icons/avatars usually 128–256 px. Hero bursts 512–1024 px. Full backgrounds can be larger.
- 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.
- Avoid expensive composition. Do not wrap large areas in
Opacitywhen a semitransparent color/image or pre-baked alpha asset works. - 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.yamlonly at the needed directory level. - Integrated through
Stack/widgets, not as a full-screen screenshot.
Flutter Integration Pattern
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