Skip to content

Latest commit

ย 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽจ Interactive Visuals Flutter App

A beautiful, interactive Flutter application featuring 7 stunning visual effects with dynamic theming and professional UI design. Created to showcase advanced Flutter animations, custom painting, and interactive touch experiences.

Demo Video Screenshots Medium Article Flutter MIT License

โœจ Features

๐ŸŽฏ 7 Interactive Visual Effects

Effect Description Icon
Particle Trail Colorful particles that follow your finger movement with realistic physics ๐Ÿ”ด
Ripple Effect Touch creates expanding water-like ripples with inner wave details ๐Ÿ’ง
Spring Object A ball that follows your finger with spring physics and damping ๐Ÿ€
Scribble Draw Freehand drawing with smooth paint strokes and customizable colors ๐Ÿ–Œ๏ธ
Sparkle Trail Rainbow glitter sparkles with 6-pointed stars and glow effects โœจ
Bezier Web Curved bezier lines connecting finger paths with smooth animations ๐Ÿ“ˆ
Floating Blobs Autonomous bouncing blobs that react to touch interactions ๐Ÿซง

๐ŸŽจ Dynamic UI & Design

  • Professional App Bar: Dynamically changes color based on selected paint color
  • Smart Color Detection: Automatically adjusts text/icon colors for optimal contrast
  • Gradient Backgrounds: Beautiful 3-layer gradients with professional shadows
  • Smooth Animations: 300ms transitions throughout the app
  • Modern Typography: Premium font weights and letter spacing
  • Interactive Effect Selector: Grid-based effect switcher with overlay UI

๐Ÿ”ง Technical Features

  • Real-time Rendering: 60 FPS smooth animations using Flutter's CustomPainter
  • Optimized Performance: Effect-specific rendering and state management
  • Professional Architecture: Clean code separation with controllers, models, and widgets
  • Responsive Design: Works perfectly on all screen sizes
  • Material 3 Compliance: Modern design following latest Material Design guidelines
  • Complete Documentation: Includes screenshots, demo video, and comprehensive guides

๐Ÿ“ Technical Blog Post

๐Ÿ”— Read the Full Technical Article on Medium

Dive deep into the implementation details with our comprehensive Medium article: "Building Interactive Visual Effects in Flutter: A Deep Dive into Custom Painting and Animations"

๐Ÿ“– What You'll Learn:

  • Advanced CustomPainter techniques for high-performance graphics
  • Physics-based animations with realistic particle systems
  • State management patterns for complex interactive apps
  • Performance optimization strategies for smooth 60 FPS animations
  • Common challenges and solutions when building visual effects
  • Architecture patterns and best practices for Flutter animations

Perfect for developers who want to understand the technical implementation and build their own visual effects!

๐Ÿš€ Getting Started

Prerequisites

  • Flutter SDK (>=3.0.0)
  • Dart SDK (>=2.17.0)
  • Android Studio / VS Code
  • iOS/Android device or emulator

Installation

  1. Clone the repository
git clone https://github.com/Piyushhhhh/flutter-visuals.git
cd flutter-visuals
  1. Install dependencies
flutter pub get
  1. Run the app
flutter run

๐ŸŽฎ How to Use

Basic Controls

  1. Launch the app - You'll see the default Particle Trail effect
  2. Touch and drag on the screen to interact with the current effect
  3. Tap the magic wand button (โญ) to open the effect selector
  4. Select any effect from the grid to switch instantly
  5. Use the color picker (๐ŸŽจ) to change effect colors
  6. Clear the screen (๐Ÿงน) to reset all effects

Effect-Specific Interactions

  • Particle Trail: Drag to create colorful particle streams
  • Ripple Effect: Touch to create expanding ripples
  • Spring Object: The ball follows your finger with realistic physics
  • Scribble Draw: Draw freely with customizable brush colors
  • Sparkle Trail: Drag to create rainbow sparkle trails
  • Bezier Web: Draw to create smooth curved line connections
  • Floating Blobs: Touch to interact with autonomous bouncing balls

๐Ÿ—๏ธ Architecture

Project Structure

lib/
โ”œโ”€โ”€ main.dart                          # App entry point and main UI
โ”œโ”€โ”€ controllers/
โ”‚   โ””โ”€โ”€ visual_effects_controller.dart # State management and effect logic
โ”œโ”€โ”€ models/
โ”‚   โ””โ”€โ”€ visual_effects_models.dart     # Data models for all effects
โ”œโ”€โ”€ widgets/
โ”‚   โ”œโ”€โ”€ interactive_canvas.dart        # Main canvas widget
โ”‚   โ””โ”€โ”€ effect_selector.dart          # Effect selection UI
โ”œโ”€โ”€ painters/
โ”‚   โ””โ”€โ”€ visual_effects_painter.dart    # Custom painters for rendering
โ””โ”€โ”€ core/
    โ”œโ”€โ”€ constants/
    โ”‚   โ””โ”€โ”€ app_constants.dart         # App-wide constants
    โ””โ”€โ”€ extensions/
        โ””โ”€โ”€ offset_extensions.dart     # Utility extensions

Key Components

  • VisualEffectsController: Manages state and coordinates all effects
  • VisualEffectsPainter: Handles rendering with effect-specific painters
  • EffectSelector: Professional UI for switching between effects
  • InteractiveCanvas: Touch-responsive canvas with gesture handling

๐ŸŽจ Customization

Adding New Effects

  1. Add to EffectType enum in visual_effects_models.dart
  2. Create model class extending VisualEffect
  3. Add update logic in VisualEffectsController
  4. Implement painter in VisualEffectsPainter
  5. Add icon mapping in _getEffectIcon method

Styling

  • Colors: Modify _availableColors and _rainbowColors arrays
  • Physics: Adjust constants in app_constants.dart
  • Animations: Update duration values in controller methods
  • UI: Customize _DynamicAppBar and EffectSelector widgets

๐Ÿ”ง Technical Details

Performance Optimizations

  • Selective Rendering: Only renders the current effect type
  • Efficient State Management: Uses ChangeNotifier for optimal rebuilds
  • Memory Management: Automatic cleanup of expired effects
  • Smooth Animations: 60 FPS with AnimationController

Key Dependencies

  • Flutter SDK: Core framework
  • Material Icons: Professional iconography
  • Custom Painting: For high-performance rendering

๐Ÿค Contributing

Contributions are welcome! Here's how to get started:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-effect)
  3. Commit your changes (git commit -m 'Add amazing effect')
  4. Push to the branch (git push origin feature/amazing-effect)
  5. Open a Pull Request

Contribution Guidelines

  • Follow Flutter best practices
  • Add tests for new effects
  • Update documentation
  • Maintain consistent code style
  • Test on multiple devices

๐Ÿ“ฑ Screenshots & Demo

๐ŸŽฅ Live Demo Video

Flutter Interactive Visuals Demo

๐Ÿ‘† Click the thumbnail above to watch the full demo on YouTube

Watch on YouTube

๐ŸŽฌ Full working demonstration of all 7 interactive visual effects

Note: GitHub doesn't support embedded video playback, so clicking the thumbnail or button above will open the demo video on YouTube where you can watch all the interactive visual effects in action!

๐Ÿ“ธ App Screenshots

Floating Blobs Effect Particle Trail Effect Sparkle Trail Effect
Floating Blobs Particle Trail Sparkle Trail

โœจ Key Visual Features Shown

  • Dynamic app bar with gradient background matching paint color
  • Professional cross icon for clearing the frame
  • Floating action buttons with effect selector and color picker
  • Real-time visual effects responding to touch interactions
  • Smooth animations and particle physics
  • Modern UI design with clean typography and spacing

๐Ÿ› Known Issues

  • None currently reported

๐Ÿ“‹ TODO

  • Add sound effects for interactions
  • Implement effect recording/playback
  • Add more color palettes
  • Create effect presets
  • Add haptic feedback

๐Ÿ“š Resources

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Flutter team for the amazing framework
  • Material Design team for design guidelines
  • Community contributors and testers

๐Ÿ“ž Contact


โญ Star this repository if you found it helpful!

Made with โค๏ธ and Flutter

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages