oakui/component/controls.rs owns the effect/editor controls instead of reaching into gpui_widgets: - Slider: horizontal 1:1-cursor drag (the gpui_widgets slider only responded to vertical cursor movement, so horizontal drags did nothing), wheel, middle-click reset, arrow keys (Shift = 1/10 step, Home/End = range ends), and double-click numeric editing (app text input; commit on blur, Escape cancels). A gesture emits ValueChanged exactly once on drop — one undoable edit per drag, so per-mouse-move edits + frame invalidation can no longer freeze the UI thread. - CheckBox: click / Space / Enter toggle, request-only contract (Toggled + set_state), theme colors, optional label. - ComboBox: click opens a popup list, Up/Down navigate (open) or change the selection (closed), Enter commits/opens, Escape closes. - SpinBox: wheel + Up/Down (Shift fine) + Home/End. The params panel, timeline and dialogs import from the component module. App-move fallout: i18n packs resolve from the repo-root assets/i18n via CARGO_MANIFEST_DIR (crates/oak-app is not the repo root anymore), and the render tests' worker-binary paths point at ../../target/debug/oak-worker.
4 lines
92 B
Plaintext
4 lines
92 B
Plaintext
[submodule "gpui"]
|
|
path = gpui
|
|
url = https://git.oakvideoeditor.org/oak-team/oak-gpui.git
|