Commit graph

3635 commits

Author SHA1 Message Date
jeromew
132dea8478 Merge branch 'main' into fix-perf12 2025-12-08 18:54:51 +01:00
jeromew
b889d19493 Merge branch 'fix-perf12' of https://codeberg.org/jeromew/strudel into fix-perf12 2025-12-08 17:32:47 +00:00
jeromew
71d36b79ed Improve getOscillator/noiseMix release 2025-12-08 17:31:34 +00: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
48231ea12a Merge branch 'main' into glossing/midin-channels 2025-12-07 21:23:57 +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
5e99393f5a Merge branch 'main' into glossing/controls-various 2025-12-07 18:54:18 +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
4374bdf1bd Merge branch 'main' into fix-perf12 2025-12-07 18:44:38 +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
Aria
82ca77be9d Working version 2025-12-06 12:02:11 -06:00
scrappy_fiddler
ab03ece2b7 prettier 2025-12-06 16:48:40 +01:00
miranda
173e359a65 simplify envValAtTime and remove asymmetric behavior (fix #1653) 2025-12-06 17:46:16 +02:00
Aria
ad43259353 Switch to omod 2025-12-05 13:39:52 -06:00
Aria
32924b3fcf Merge branch 'main' into glossing/lfo-anything 2025-12-05 10:47:17 -06:00
Aria
4c99f4866b Use setvalueattime to pin values and prevent bleed 2025-12-04 22:50:28 -06:00
Aria
d50af71ba1 Merge branch 'main' into glossing/basic-node-pool 2025-12-04 14:20:41 -06:00
Aria
0664f90178 Remove old comment 2025-12-04 13:07:13 -06:00
Aria
4321814d36 Working version for compressor, filter, supersaw, wavetable 2025-12-04 13:04:33 -06:00
Aria
6610713018 Working version of supersaw, almost on wavetable 2025-12-04 12:40:28 -06:00
Aria
600ab0a83e WIP with compressors, filters, heavy worklets 2025-12-04 12:17:07 -06:00
jeromew
1225d04437 codeformat 2025-12-04 15:29:21 +00:00
jeromew
f6f507dd29 propagate releaseAudioNode in packages 2025-12-04 15:26:59 +00:00
jeromew
c7586e96ff Add comment on end worklet param 2025-12-04 13:20:17 +00:00
jeromew
46291bf85c Difuse the onceEnded mechanism 2025-12-04 13:17:20 +00:00
jeromew
0b711e879c Improve naming & backward compat 2025-12-04 08:23:36 +00:00
Jade (Rose) Rowland
f0aac2098a update_shortcut 2025-12-03 22:59:20 -05:00
Jade (Rose) Rowland
c1a185e852 fix null case 2025-12-03 15:25:05 -05:00
Jade (Rose) Rowland
b9fce15042 working 2025-12-03 15:18:32 -05: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
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
Nikita
c5250d7794 Add info comment about ascending time order 2025-11-30 10:12:55 +03:00
Nikita
7d890156f4 Fix haps not being sorted by time 2025-11-30 10:12:55 +03:00
Nikita
8f9967c76d Format 2025-11-30 10:12:55 +03:00
Nikita
fc74dcdb1a More bug fixes 2025-11-30 10:12:51 +03:00
Lu[ke] Wilson
c77675c492 add another synonym 2025-11-29 18:01:27 +00:00