···11+use crate::loose_enum;
12use serde::{Deserialize, Serialize};
2334pub mod color;
55+mod easing;
46pub mod rotation;
5768#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
···1719 pub l: i32,
1820 pub d: i32,
1921}
2222+2323+loose_enum! {
2424+ /// The distribution value does different things depending on the type.
2525+ ///
2626+ /// # [Beat Distribution](https://bsmg.wiki/mapping/map-format/lightshow.html#light-color-event-boxes-beat-distribution):
2727+ /// ### Wave:
2828+ /// The value represents the total time for all steps to complete.
2929+ /// ### Step:
3030+ /// The value represents the time until the next step is completed.
3131+ ///
3232+ /// # [Brightness](https://bsmg.wiki/mapping/map-format/lightshow.html#light-color-event-boxes-effect-distribution) and [Rotation Distribution](https://bsmg.wiki/mapping/map-format/lightshow.html#light-rotation-event-boxes-effect-distribution):
3333+ /// ### Wave:
3434+ /// The value represents the total difference between the first and last step.
3535+ /// ### Step:
3636+ /// The value represents the different between the current and next step.
3737+ #[derive(Default)]
3838+ DistributionType {
3939+ #[default]
4040+ Wave = 1,
4141+ Step = 2,
4242+ }
4343+}