space-shell
055f009357
feat: Refactor Vim/Helix keybindings with shared helper functions
...
Factor out the repl-eval and repl-stop event dispatching code into
replEval() and replStop() helper functions that are shared between
Vim and Helix keybindings.
This refactoring:
- Reduces code duplication between Vim :w/:q and Helix :w/:q commands
- Makes the keybinding handlers more maintainable
- Properly implements Helix commands using the commands.of() API
- Ensures consistent behavior across both keybinding modes
The Helix keybindings now properly integrate with the REPL using the
same event dispatch mechanism as Vim, dispatching custom repl-evaluate
and repl-stop events with fallbacks to keyboard events.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-13 19:47:12 +01:00
space-shell
a6b3b9ef5e
updates formatting
2025-12-15 13:22:13 +01:00
space-shell
ec73c48e2e
feat: Add Helix keybindings and Nix development environment
...
Add support for Helix editor keybindings in the REPL, providing users
with a modern, selection-first modal editing experience as an alternative
to Vim, Emacs, and VSCode keybindings.
Helix Keybindings Integration:
- Add codemirror-helix@^0.5.0 dependency to @strudel/codemirror
- Import and register helix keybindings in keybindings.mjs
- Add 'Helix' option to keybindings selector in Settings UI
- Create comprehensive user documentation at technical-manual/helix.mdx
- Update developer documentation with keybinding integration pattern
The Helix mode provides selection-first editing (select → action) which
differs from Vim's action-motion paradigm, offering an alternative
workflow for modal editing enthusiasts.
Documentation:
- Update CLAUDE.md with Helix support and keybinding addition process
- Create helix.mdx with user-facing documentation and command reference
- Update CHANGELOG.md with December 2025 entry
Testing:
Run `pnpm i` to install new dependencies, then `pnpm dev` to test.
Verify Helix mode works in Settings → Keybindings → Helix.
2025-12-08 09:44:02 +01:00
Aria
d7bf5db8be
Merge pull request 'Feat: Add channel support to midi in' ( #1775 ) from glossing/midin-channels into main
...
Reviewed-on: https://codeberg.org/uzu/strudel/pulls/1775
2025-12-07 21:51:39 +01:00
Aria
48231ea12a
Merge branch 'main' into glossing/midin-channels
2025-12-07 21:23:57 +01:00
Aria
c8a442234e
Merge pull request 'Feat: Transient shaper' ( #1777 ) from glossing/transient-processor into main
...
Reviewed-on: https://codeberg.org/uzu/strudel/pulls/1777
2025-12-07 21:23:42 +01:00
Aria
efda32eedb
Merge branch 'main' into glossing/transient-processor
2025-12-07 20:29:50 +01:00
Aria
95d04d1149
Merge branch 'main' into glossing/midin-channels
2025-12-07 20:29:39 +01:00
Aria
358b1e3f56
Make sure processor turns off; fix array sizes for JIT
2025-12-07 13:28:57 -06:00
Aria
fe7e8f7add
Clearer docstring
2025-12-07 13:21:06 -06:00
Aria
45d329d3d1
Merge pull request 'Add vel as a synonym for velocity & update a few docstrings' ( #1781 ) from glossing/controls-various into main
...
Reviewed-on: https://codeberg.org/uzu/strudel/pulls/1781
2025-12-07 19:15:42 +01:00
Aria
5e99393f5a
Merge branch 'main' into glossing/controls-various
2025-12-07 18:54:18 +01:00
Aria
9650c8eb50
Merge pull request '[perf] fix phaser leak of unused biquads' ( #1800 ) from jeromew/strudel:fix-perf10 into main
...
Reviewed-on: https://codeberg.org/uzu/strudel/pulls/1800
Reviewed-by: Aria <glossing@noreply.codeberg.org >
2025-12-07 18:53:03 +01:00
Aria
fab8d2193d
Merge branch 'main' into glossing/midin-channels
2025-12-07 18:45:16 +01:00
Aria
150835aa4d
Merge branch 'main' into glossing/transient-processor
2025-12-07 18:45:11 +01:00
Aria
76237016a3
Merge branch 'main' into glossing/controls-various
2025-12-07 18:45:02 +01:00
Aria
6f4d8ebacf
Merge branch 'main' into fix-perf10
2025-12-07 18:44:47 +01:00
Aria
3cecf4a50e
Merge pull request 'Bug fix: Remove failing tests due to shabda removal' ( #1820 ) from glossing/shabda-test-fix into main
...
Reviewed-on: https://codeberg.org/uzu/strudel/pulls/1820
2025-12-07 18:42:49 +01:00
Aria
16b5faf333
Removing failing tests due to shabda removal
2025-12-07 11:23:55 -06:00
Aria
c4826b7dfb
Merge branch 'main' into glossing/midin-channels
2025-12-07 18:11:59 +01:00
Aria
bd61c1dc7e
Merge branch 'main' into glossing/transient-processor
2025-12-07 18:11:50 +01:00
Aria
ceb3aa797d
Merge branch 'main' into glossing/controls-various
2025-12-07 18:11:39 +01:00
Aria
9b3277da1c
Merge branch 'main' into fix-perf10
2025-12-07 18:09:00 +01:00
jeromew
0b711e879c
Improve naming & backward compat
2025-12-04 08:23:36 +00:00
Aria
e01621d0cc
Merge pull request 'Feature: Eight FMs' ( #1628 ) from glossing/strudel:glossing/fmsss into main
...
Reviewed-on: https://codeberg.org/uzu/strudel/pulls/1628
2025-12-03 18:27:27 +01:00
Aria
196f70ab6b
Formatting
2025-12-03 11:13:21 -06:00
Aria
1d4f2b81d8
Switch back to explicit exports and use new release mechanism
2025-12-03 11:12:30 -06:00
Aria
d28c8dac8e
Merge branch 'main' into glossing/fmsss
2025-12-03 10:42:35 -06:00
Aria
eb18648a2a
Merge pull request '[perf] release unused AudioBufferSourceNode + releaseAudioNode' ( #1805 ) from jeromew/strudel:fix-perf11 into main
...
Reviewed-on: https://codeberg.org/uzu/strudel/pulls/1805
Reviewed-by: Aria <glossing@noreply.codeberg.org >
2025-12-03 17:35:03 +01:00
jeromew
0ec9826de5
onceEnded mechanism to clean audioNode.onended callbacks
2025-12-02 09:29:50 +00:00
jeromew
af7855402f
Accept non-instanciated nodes for better developer experience
2025-12-01 20:43:55 +00:00
jeromew
68b1cb87ca
[perf] release unused AudioBufferSourceNode + releaseAudioNode
2025-12-01 15:29:19 +00:00
jeromew
b65cc2128f
[perf] fix phaser leak of unused biquads
2025-11-29 14:47:03 +00:00
froos
7a3e0fd3fe
Merge pull request 'added export to getSuperdoughAudioController() so that its possible to route superdough audio through other webaudio applications.' ( #1796 ) from ndr0n/strudel:exportSuperdoughAudioController into main
...
Reviewed-on: https://codeberg.org/uzu/strudel/pulls/1796
2025-11-29 01:00:41 +01:00
Alex McLean
4061dd4cf8
Merge pull request 'add revv() for reversing whole patterns' ( #1791 ) from revv into main
...
Reviewed-on: https://codeberg.org/uzu/strudel/pulls/1791
2025-11-28 23:26:19 +01:00
alex
b523205590
Merge branch 'revv' of ssh://codeberg.org/uzu/strudel into revv
2025-11-28 22:03:32 +00:00
alex
956598da18
snapshot
2025-11-28 22:03:21 +00:00
Alex McLean
e011f3b982
Merge branch 'main' into revv
2025-11-28 22:37:03 +01:00
alex
cb591815ed
fix copy paste errors
2025-11-28 21:35:35 +00:00
Alex McLean
6a4fd27f5b
Merge branch 'main' into exportSuperdoughAudioController
2025-11-28 22:32:10 +01:00
Aria
d30df8d4cf
Merge pull request '[perf] Disconnect lfos for phaser and filters' ( #1787 ) from glossing/perf-lfos into main
...
Reviewed-on: https://codeberg.org/uzu/strudel/pulls/1787
2025-11-28 20:19:14 +01:00
Aria
e10cd22c26
Merge branch 'main' into glossing/perf-lfos
2025-11-28 19:59:51 +01:00
Aria
18dc4944bf
Typos and cleanup
2025-11-28 12:36:23 -06:00
ndr0n
a6008e2700
added export to getSuperdoughAudioController() so that its possible to route superdough audio on external application integrations.
2025-11-28 04:03:48 +00:00
froos
2f8cabbb6b
Merge pull request 'fix: return silence when no pattern is returned' ( #1795 ) from fix-empty-pattern into main
...
Reviewed-on: https://codeberg.org/uzu/strudel/pulls/1795
2025-11-27 23:08:50 +01:00
Felix Roos
ec26392509
fix: return silence when no pattern is returned
2025-11-27 22:53:38 +01:00
froos
30cd486f37
Merge pull request 'fix(tool/dbpatch): add missing package name' ( #1765 ) from peterpf/strudel:bugfix/add-package-name-for-dbpatch into main
...
Reviewed-on: https://codeberg.org/uzu/strudel/pulls/1765
2025-11-27 22:47:01 +01:00
froos
cde0520ed9
Merge pull request 'add CHANGELOG.md + basic script to generate' ( #1794 ) from changelog into main
...
Reviewed-on: https://codeberg.org/uzu/strudel/pulls/1794
2025-11-27 22:38:04 +01:00
Felix Roos
405338e4f0
add CHANGELOG.md + basic script to generate
2025-11-27 22:25:32 +01:00
froos
afbcaa54d0
Merge pull request '[perf] in noise, let noiseMix do the disconnect when it exists' ( #1783 ) from jeromew/strudel:fix-perf9 into main
...
Reviewed-on: https://codeberg.org/uzu/strudel/pulls/1783
2025-11-27 22:03:51 +01:00