Feat: add hidden mode and new documentation

This commit is contained in:
2026-02-26 12:31:56 +01:00
parent e1cf57918e
commit 70032acc75
95 changed files with 1055 additions and 286 deletions

View File

@@ -16,6 +16,12 @@ pub enum PatternField {
Speed,
}
#[derive(Clone, Copy, PartialEq, Eq)]
pub enum ScriptField {
Speed,
Length,
}
#[derive(Clone, Copy, PartialEq, Eq, Default)]
pub enum PatternPropsField {
#[default]
@@ -155,3 +161,25 @@ impl Default for EditorContext {
}
}
}
pub struct ScriptEditorState {
pub editor: Editor,
pub show_stack: bool,
pub stack_cache: RefCell<Option<StackCache>>,
pub dirty: bool,
pub focused: bool,
pub mouse_selecting: bool,
}
impl Default for ScriptEditorState {
fn default() -> Self {
Self {
editor: Editor::new(),
show_stack: false,
stack_cache: RefCell::new(None),
dirty: false,
focused: true,
mouse_selecting: false,
}
}
}

View File

@@ -34,7 +34,7 @@ pub use audio::{AudioSettings, DeviceKind, EngineSection, MainLayout, Metrics, S
pub use color_scheme::ColorScheme;
pub use editor::{
CopiedStepData, CopiedSteps, EditorContext, EditorTarget, EuclideanField, PatternField,
PatternPropsField, StackCache,
PatternPropsField, ScriptEditorState, ScriptField, StackCache,
};
pub use live_keys::LiveKeyState;
pub use modal::{ConfirmAction, Modal, RenameTarget};

View File

@@ -1,5 +1,5 @@
use crate::model::{self, FollowUp, LaunchQuantization, PatternSpeed, SyncMode};
use crate::state::editor::{EuclideanField, PatternField, PatternPropsField};
use crate::state::editor::{EuclideanField, PatternField, PatternPropsField, ScriptField};
use crate::state::file_browser::FileBrowserState;
#[derive(Clone, PartialEq, Eq)]
@@ -69,6 +69,10 @@ pub enum Modal {
field: PatternField,
input: String,
},
SetScript {
field: ScriptField,
input: String,
},
SetTempo(String),
JumpToStep(String),
AddSamplePath(Box<FileBrowserState>),