// import 'package:ecosim/src/presentation/benchmark_screen.dart';
// import 'package:ecosim/src/presentation/ecosystem_screen.dart';
// import 'package:ecosim/src/presentation/preset_ecosystem_screen.dart';
// import 'package:ecosim/src/presentation/seeking_screen.dart';
// import 'package:flutter/material.dart';
// import 'package:flutter_deck/flutter_deck.dart';

// class MainSlideScreen extends StatelessWidget {
//   const MainSlideScreen({super.key});

//   @override
//   Widget build(BuildContext context) {
//     return FlutterDeckApp(
//       configuration: const FlutterDeckConfiguration(),
//       slides: const [
//         TitleSlide(),
//         GoalSlide(),
//         ApproachSlide(),
//         // MemeSlide(),
//         SettingTitleSlide(),
//         BirdSlide(),
//         BoidSlide(),
//         SeekSlide(),
//         ParametersSlide(),
//         SeekingSlide(),
//         BenchmarkSlide(),
//         PresetEcosystemSlide(),
//         EcosystemSlide(),
//       ],
//     );
//   }
// }

// class TitleSlide extends FlutterDeckSlideWidget {
//   const TitleSlide()
//       : super(
//           configuration: const FlutterDeckSlideConfiguration(
//             route: '/home',
//             title: 'Home',
//           ),
//         );

//   @override
//   FlutterDeckSlide build(BuildContext context) {
//     return FlutterDeckSlide.title(
//       title: 'Ecosystem Simulation',
//       subtitle: 'Fabian Baldeau (27516)',
//       headerBuilder: (context) => const FlutterDeckHeader(
//         title: 'title',
//       ),
//     );
//   }
// }

// class GoalSlide extends FlutterDeckSlideWidget {
//   const GoalSlide()
//       : super(
//           configuration: const FlutterDeckSlideConfiguration(
//             route: '/goal',
//             header: FlutterDeckHeaderConfiguration(
//               title: 'Simulation Goals',
//             ),
//             steps: 5,
//           ),
//         );

//   @override
//   FlutterDeckSlide build(BuildContext context) {
//     return FlutterDeckSlide.blank(
//       builder: (context) => FlutterDeckBulletList(
//         useSteps: true, // Enable steps for the bullet list
//         items: const [
//           'sandbox for an ecosystem simulation with boids',
//           'prey and predators evolve with genetic algorithms',
//           'food and poison spawns at random positions',
//           'capability to render the simulation in an cross-platform app (Windows, Linux, macOS, Android, iOS)',
//           'future use case as teaching app for machine learning and boid simulations',
//         ],
//       ),
//     );
//   }
// }

// class ApproachSlide extends FlutterDeckSlideWidget {
//   const ApproachSlide()
//       : super(
//           configuration: const FlutterDeckSlideConfiguration(
//             route: '/approach',
//             header: FlutterDeckHeaderConfiguration(
//               title: 'Approach Methods',
//             ),
//             steps: 5,
//           ),
//         );

//   @override
//   FlutterDeckSlide build(BuildContext context) {
//     return FlutterDeckSlide.blank(
//       builder: (context) => FlutterDeckBulletList(
//         useSteps: true, // Enable steps for the bullet list
//         items: const [
//           'Rust and the Bevy Engine: high performant ECS style',
//           'Flutter and Dart for a stable cross-platform experience',
//           'Use Flutters rendering engine with low level calls (SKIA and Impeller)',
//           'combine Flutter and Rust with the Flutter Rust Bridge project',
//           'future: use flutter_3d for direct gpu calls to metal/vulkan',
//         ],
//       ),
//     );
//   }
// }

// class MemeSlide extends FlutterDeckSlideWidget {
//   const MemeSlide()
//       : super(
//           configuration: const FlutterDeckSlideConfiguration(
//             route: '/meme',
//           ),
//         );

//   @override
//   FlutterDeckSlide build(BuildContext context) {
//     return FlutterDeckSlide.image(
//       imageBuilder: (context) => Image.asset('assets/img/meme.jpeg'),
//       // label: '',
//     );
//   }
// }

// class SettingTitleSlide extends FlutterDeckSlideWidget {
//   const SettingTitleSlide()
//       : super(
//           configuration: const FlutterDeckSlideConfiguration(
//             route: '/setting-title',
//             title: 'Simulation Setting',
//           ),
//         );

//   @override
//   FlutterDeckSlide build(BuildContext context) {
//     return FlutterDeckSlide.title(
//       title: 'Simulation Setting',
//       subtitle: 'with input data and simulation parameters',
//       headerBuilder: (context) => const FlutterDeckHeader(
//         title: 'title',
//       ),
//     );
//   }
// }

// class BirdSlide extends FlutterDeckSlideWidget {
//   const BirdSlide()
//       : super(
//           configuration: const FlutterDeckSlideConfiguration(
//             route: '/birds',
//           ),
//         );

//   @override
//   FlutterDeckSlide build(BuildContext context) {
//     return FlutterDeckSlide.image(
//       imageBuilder: (context) => Image.asset('assets/img/birds.jpg'),
//       label: 'Flock of birds can be modeled with boids',
//     );
//   }
// }

// class BoidSlide extends FlutterDeckSlideWidget {
//   const BoidSlide()
//       : super(
//           configuration: const FlutterDeckSlideConfiguration(
//             route: '/boid',
//           ),
//         );

//   @override
//   FlutterDeckSlide build(BuildContext context) {
//     return FlutterDeckSlide.image(
//       imageBuilder: (context) => Image.asset('assets/img/boids.png'),
//       label:
//           'There are only 3 rules which specify the behavior of each bird (boid).',
//     );
//   }
// }

// class SeekSlide extends FlutterDeckSlideWidget {
//   const SeekSlide()
//       : super(
//           configuration: const FlutterDeckSlideConfiguration(
//             route: '/seek',
//           ),
//         );

//   @override
//   FlutterDeckSlide build(BuildContext context) {
//     return FlutterDeckSlide.image(
//       imageBuilder: (context) => Image.asset('assets/img/seek.png'),
//       label: 'seek and flee functions of the steering behaviors',
//     );
//   }
// }

// class ParametersSlide extends FlutterDeckSlideWidget {
//   const ParametersSlide()
//       : super(
//           configuration: const FlutterDeckSlideConfiguration(
//             route: '/parameters',
//             steps: 5,
//           ),
//         );

//   @override
//   FlutterDeckSlide build(BuildContext context) {
//     return FlutterDeckSlide.split(
//       leftBuilder: (context) => FlutterDeckBulletList(
//         useSteps: true, // Enable steps for the bullet list
//         items: const [
//           'every boid gets a DNA with options (random or preset)',
//           'a boid can have offspring with a chance of 1/1000 each frame if it\'s healthy with food > 0.8',
//           'chance of mutation for offspring',
//           'perception radius with weight',
//           'sandbox: fine tune through trial and error!',
//         ],
//       ),
//       rightBuilder: (context) => const FlutterDeckCodeHighlight(
//         code: '''
// class Boid {
//   PVector acceleration = PVector(0, 0);
//   PVector velocity = PVector(0, -2);
//   PVector position = PVector(0, 0);
//   double r = 6;
//   double maxspeed = 5;
//   double maxforce = 0.2;
//   double health = 1;
//   List<num> dna;
// }

// dna = [
//           // Food Weight
//           rng.nextInt(10),
//           // Poison Weight
//           -rng.nextInt(10),
//           // Food perception
//           rng.nextInt(40) + 1,
//           // Poison perception
//           rng.nextInt(40) + 1,
//         ];
// ''',
//         // fileName: 'code_highlight_slide.dart',
//         language: 'dart',
//       ),
//     );
//   }
// }

// class SeekingSlide extends FlutterDeckSlideWidget {
//   const SeekingSlide()
//       : super(
//           configuration: const FlutterDeckSlideConfiguration(
//             route: '/seeking',
//           ),
//         );

//   @override
//   FlutterDeckSlide build(BuildContext context) {
//     return FlutterDeckSlide.split(
//       rightBuilder: (context) => Container(
//         child: Column(
//           mainAxisAlignment: MainAxisAlignment.center,
//           children: [
//             Text(
//               'Seeking a target',
//               style: FlutterDeckTheme.of(context).textTheme.bodyMedium,
//             ),
//             const FlutterDeckCodeHighlight(
//               code: '''
// // A method that calculates a steering force towards a target
// // STEER = DESIRED - VELOCITY
// PVector seek(PVector target) {
//   PVector desired = target;
//   desired.sub(position);
//   // Scale to maximum speed
//   desired.mag = maxspeed;
//   // Steering = Desired minus velocity
//   PVector steer = desired;
//   steer.sub(velocity);
//   // Limit to maximum steering force
//   steer.limit(maxforce);
//   // applyForce(steer);
//   return steer;
// }''',
//               // fileName: 'code_highlight_slide.dart',
//               language: 'dart',
//             ),
//           ],
//         ),
//       ),
//       leftBuilder: (context) => const SeekingScreen(),
//     );
//   }
// }

// class BenchmarkSlide extends FlutterDeckSlideWidget {
//   const BenchmarkSlide()
//       : super(
//           configuration: const FlutterDeckSlideConfiguration(
//             route: '/benchmark',
//           ),
//         );

//   @override
//   FlutterDeckSlide build(BuildContext context) {
//     return FlutterDeckSlide.blank(
//       builder: (context) => const BenchmarkSimulationScreen(),
//     );
//   }
// }

// class PresetEcosystemSlide extends FlutterDeckSlideWidget {
//   const PresetEcosystemSlide()
//       : super(
//           configuration: const FlutterDeckSlideConfiguration(
//             route: '/presetecosystem',
//           ),
//         );

//   @override
//   FlutterDeckSlide build(BuildContext context) {
//     return FlutterDeckSlide.blank(
//       builder: (context) => const PresetEcosystemSimulationScreen(),
//     );
//   }
// }

// class EcosystemSlide extends FlutterDeckSlideWidget {
//   const EcosystemSlide()
//       : super(
//           configuration: const FlutterDeckSlideConfiguration(
//             route: '/ecosystem',
//           ),
//         );

//   @override
//   FlutterDeckSlide build(BuildContext context) {
//     return FlutterDeckSlide.blank(
//       builder: (context) => const EcosystemSimulationScreen(),
//     );
//   }
// }
