Feat: optimizations

This commit is contained in:
2026-02-05 23:15:46 +01:00
parent 5a83c4c1d1
commit 53167e35b6
22 changed files with 175 additions and 215 deletions

View File

@@ -95,7 +95,6 @@ pub fn paste_steps(
step.name = data.name.clone();
if source.is_some() {
step.script.clear();
step.command = None;
} else {
step.script = data.script.clone();
}
@@ -130,15 +129,14 @@ pub fn link_paste_steps(
let source_idx = if data.source.is_some() {
data.source
} else {
Some(data.original_index)
Some(data.original_index as u8)
};
if source_idx == Some(target) {
if source_idx == Some(target as u8) {
continue;
}
if let Some(step) = project.pattern_at_mut(bank, pattern).step_mut(target) {
step.source = source_idx;
step.script.clear();
step.command = None;
}
}
@@ -183,7 +181,7 @@ pub fn duplicate_steps(
let pat_len = pat.length;
let paste_at = *indices.last().unwrap() + 1;
let dupe_data: Vec<(bool, String, Option<usize>)> = indices
let dupe_data: Vec<(bool, String, Option<u8>)> = indices
.iter()
.filter_map(|&idx| {
let step = pat.step(idx)?;
@@ -204,10 +202,8 @@ pub fn duplicate_steps(
step.source = source;
if source.is_some() {
step.script.clear();
step.command = None;
} else {
step.script = script;
step.command = None;
}
}
compile_targets.push(target);

View File

@@ -44,9 +44,8 @@ pub fn apply_distribution(
}
if let Some(step) = project.pattern_at_mut(bank, pattern).step_mut(target) {
step.source = Some(source_step);
step.source = Some(source_step as u8);
step.script.clear();
step.command = None;
step.active = true;
}
targets.push(target);

View File

@@ -94,16 +94,14 @@ pub fn get_step_script(
pub fn delete_step(project: &mut Project, bank: usize, pattern: usize, step: usize) -> PatternEdit {
let pat = project.pattern_at_mut(bank, pattern);
for s in &mut pat.steps {
if s.source == Some(step) {
if s.source == Some(step as u8) {
s.source = None;
s.script.clear();
s.command = None;
}
}
set_step_script(project, bank, pattern, step, String::new());
if let Some(s) = project.pattern_at_mut(bank, pattern).step_mut(step) {
s.command = None;
s.source = None;
}
PatternEdit::new(bank, pattern)