๐Ÿš€ zeba_academy_scroll_physics_lab

A powerful Flutter package for custom scroll physics, fine-tuned motion control, and interactive physics editing.

Design fluid, natural, and highly customizable scrolling experiences across all platforms.


โœจ Features

  • ๐ŸŽฏ Custom Scroll Physics Engine
  • โš™๏ธ Bounce & Friction Tuning
  • ๐Ÿ”„ Multi-Device Scroll Support (Touch, Mouse, Stylus, Trackpad)
  • ๐Ÿงช Real-time Physics Editor UI
  • ๐Ÿš€ High-performance & lightweight
  • ๐Ÿ“ฆ Clean architecture & extensible design

๐Ÿ“ฆ Installation

Add the dependency to your pubspec.yaml:

dependencies:
  zeba_academy_scroll_physics_lab: ^0.0.1

Then run:

flutter pub get

๐Ÿš€ Usage

1. Import

import 'package:zeba_academy_scroll_physics_lab/zeba_academy_scroll_physics_lab.dart';

2. Basic Example

final controller = PhysicsController();

ListView.builder(
  physics: CustomScrollPhysics(config: controller.config),
  itemCount: 50,
  itemBuilder: (_, i) => ListTile(title: Text('Item $i')),
);

3. Enable Multi-Direction Scroll

MaterialApp(
  scrollBehavior: MultiDirectionScrollBehavior(),
  home: MyHomePage(),
);

4. Add Physics Editor (Live Tuning)

PhysicsEditor(controller: controller);

โš™๏ธ Configuration

Customize physics using PhysicsConfig:

PhysicsConfig(
  friction: 0.02,
  bounceFactor: 0.6,
  minFlingVelocity: 50,
  maxFlingVelocity: 8000,
);

๐Ÿง  Architecture

Layer Responsibility
Models PhysicsConfig
Core Custom physics engine
Controller State management
Widgets Physics editor UI
Behavior Multi-device scrolling

๐Ÿงช Testing

Run tests:

flutter test

All core physics behaviors and controllers are fully tested.


๐Ÿ“Œ Use Cases

  • ๐ŸŽฎ Game-like scroll experiences
  • ๐Ÿ“ฑ Advanced UI/UX animations
  • ๐Ÿ“Š Scroll tuning tools
  • ๐Ÿงช Physics experimentation

๐Ÿ›ฃ๏ธ Roadmap

  • โœ… Physics presets (iOS, Android, Gaming)
  • ๐Ÿ”„ Free-axis scrolling (2D scroll)
  • ๐Ÿ“Š Debug overlay (velocity, friction graphs)
  • โšก Performance benchmarks

๐Ÿค Contributing

Contributions are welcome!

  1. Fork the repository
  2. Create a new branch
  3. Commit your changes
  4. Open a pull request

๐Ÿ“„ License (GPL v3)

This project is licensed under the GNU General Public License v3.0.


About Me

โœจ Iโ€™m Sufyan bin Uzayr, an open-source developer passionate about building and sharing meaningful projects. You can learn more about me and my work at https://sufyanism.com/ or connect with me on https://www.linkedin.com/in/sufyanism


Your all-in-one no-bloat hub!

๐Ÿš€ Explore cutting-edge resources in coding, tech, and development at zeba.academy and code.zeba.academy.

Zeba Academy is a learning platform dedicated to coding, technology, and development.

โžก Visit: https://zeba.academy โžก Learn: https://code.zeba.academy โžก YouTube: https://www.youtube.com/@zeba.academy โžก Instagram: https://www.instagram.com/zeba.academy/


Thank you for visiting! ๐Ÿ™Œ