Skyler Lehmkuhl
318720f89d
Fix gamma handling and improve brush canvas performance
...
Color correctness:
- Unpremultiply before the sRGB OETF on the display and export blits;
encoding premultiplied color corrupted antialiased/transparent edges.
- Tag exported video as full-range BT.709 (matrix/primaries/transfer).
- Run perception effects (invert, brightness/contrast, hue/saturation)
in gamma space to match standard editors.
- Interpolate gradients in gamma space across the raster and vector paths.
- Render effect thumbnails in the same linear space as the live pipeline.
Brush performance:
- Store the raster canvas as Rgba16Float (no shadow banding from 8-bit
linear), with an incremental per-tile ping-pong sync replacing the
per-frame full-canvas copy.
- Do the linear->sRGB readback conversion on the GPU and reuse a cached
scratch texture, dropping a ~110ms-per-stroke CPU decode.
Cleanup:
- Single COLOR_WGSL prelude and shared CPU sRGB scalars instead of ~8
duplicated copies of the transfer functions.
- Shared compute-pipeline builder; smudge folded onto the tile-sync path.
2026-06-16 08:32:39 -04:00
Skyler Lehmkuhl
d7de5ce3f1
Bump version to 1.0.4-alpha
2026-06-02 14:37:07 -04:00
Skyler Lehmkuhl
37f4abd1f5
fix build issues
2026-06-02 13:41:10 -04:00
Skyler Lehmkuhl
54d5764bd0
Make beats canonical representation rather than seconds
2026-06-02 13:06:36 -04:00
Skyler Lehmkuhl
f372a84313
Massive tempo refactor - make beats canonical time rep and allow them to be non constant
2026-04-02 10:26:01 -04:00
Skyler Lehmkuhl
ae146533d9
Update automation lanes too
2026-04-01 10:17:52 -04:00
Skyler Lehmkuhl
3fc4773ec3
Fix remaining sites that weren't updating properly on BPM changes
2026-04-01 09:33:35 -04:00
Skyler Lehmkuhl
cfb8e4462b
All events now have three time references for seconds, measures/beats, frames
2026-03-30 10:15:55 -04:00
Skyler Lehmkuhl
65a550d8f4
Add piano roll note snapping
2026-03-24 19:24:24 -04:00
Skyler Lehmkuhl
123fe3f21a
Tweak automation lane appearance
2026-03-23 23:37:15 -04:00
Skyler Lehmkuhl
fa40173562
Add automatable volume and pan control to default instruments
2026-03-23 23:27:05 -04:00
Skyler Lehmkuhl
434b488a4c
Merge branch 'rust-ui' of https://git.skyler.io/skyler/Lightningbeam into rust-ui
2026-03-22 18:16:25 -04:00
Skyler Lehmkuhl
f16e651610
work on vector graph
2026-03-22 18:16:17 -04:00
Skyler Lehmkuhl
0d7f15853c
Set default timeline mode based on activity
2026-03-20 21:05:00 -04:00
Skyler Lehmkuhl
121fa3a50a
Add count-in
2026-03-20 20:51:50 -04:00
Skyler Lehmkuhl
c938ea44b0
Add metronome
2026-03-19 01:16:26 -04:00
Skyler Lehmkuhl
84a1a98452
Snap to beats in measures mode
2026-03-19 00:47:15 -04:00
Skyler Lehmkuhl
164ed2ba73
Add velocity and modulation editing
2026-03-18 23:35:18 -04:00
Skyler Lehmkuhl
6b6ae230a1
Add pitch bend support
2026-03-18 23:11:24 -04:00
Skyler Lehmkuhl
4f3da810d0
Add automation inputs for audio graphs
2026-03-18 11:25:48 -04:00
Skyler Lehmkuhl
d7a29ee1dc
Double CPU performance by using tiny-skia instead of vello CPU
2026-03-13 18:52:37 -04:00
Skyler Lehmkuhl
be8514e2e6
Fix midi tracks recording previews
2026-03-11 12:53:26 -04:00
Skyler Lehmkuhl
3bc980d08d
Use audio engine as source of truth for audio tracks
2026-03-11 12:37:31 -04:00
Skyler Lehmkuhl
b8f847e167
Add drawing tablet input support
2026-03-11 10:58:30 -04:00
Skyler Lehmkuhl
f72c2c5dbd
Release 1.0.3-alpha
2026-03-10 21:43:26 -04:00
Skyler Lehmkuhl
ce7ed2586f
Support Vello CPU fallback on systems with older GPUs
2026-03-10 21:39:01 -04:00
Skyler Lehmkuhl
7a3f522735
Give metatracks explicit node graphs
2026-03-10 20:20:46 -04:00
Skyler Lehmkuhl
f9b62bb090
Add frames timeline mode
2026-03-10 15:54:54 -04:00
Skyler Lehmkuhl
4118c75b86
Performance tweaks
2026-03-10 03:24:03 -04:00
Skyler Lehmkuhl
ac2b4ff8ab
Improve idle performance
2026-03-10 02:41:44 -04:00
Skyler Lehmkuhl
26f06da5bf
Add gradient support to vector graphics
2026-03-10 00:57:47 -04:00
Skyler Lehmkuhl
06973d185c
Merge branch 'rust-ui' of https://git.skyler.io/skyler/Lightningbeam into rust-ui
2026-03-09 13:41:48 -04:00
Skyler Lehmkuhl
dc93f78dc7
More work on DCEL correctness
2026-03-09 13:41:45 -04:00
Skyler Lehmkuhl
89721d4c0e
Release 1.0.2-alpha
2026-03-09 13:40:58 -04:00
Skyler Lehmkuhl
78e296ffde
Improve export performance
2026-03-09 13:39:56 -04:00
Skyler Lehmkuhl
a18a335c60
Export images
2026-03-09 11:22:51 -04:00
Skyler Lehmkuhl
09856ab52c
Refactor tools and fix bugs
2026-03-08 18:44:32 -04:00
Skyler Lehmkuhl
0d2609c064
work on raster tools
2026-03-07 16:55:38 -05:00
Skyler Lehmkuhl
a628d8af37
Shape tools
2026-03-07 07:27:45 -05:00
Skyler Lehmkuhl
354b96f142
Quick select tool
2026-03-07 05:30:51 -05:00
Skyler Lehmkuhl
1900792fa9
Magic wand selection
2026-03-07 03:39:09 -05:00
Skyler Lehmkuhl
1e80b1bc77
Paint bucket
2026-03-07 02:53:47 -05:00
Skyler Lehmkuhl
4386917fc2
Implement transform tool for raster
2026-03-07 02:12:55 -05:00
Skyler Lehmkuhl
e7641edd0d
Add blur/sharpen tool
2026-03-06 11:47:10 -05:00
Skyler Lehmkuhl
922e8f78b6
Refactor tools
2026-03-06 10:07:24 -05:00
Skyler Lehmkuhl
901aa04246
Add sponge tool
2026-03-06 09:17:35 -05:00
Skyler Lehmkuhl
6590b249d1
Add dodge/burn tool
2026-03-06 09:05:14 -05:00
Skyler Lehmkuhl
7d55443b2a
Add pattern stamp tool
2026-03-06 08:40:17 -05:00
Skyler Lehmkuhl
1d9d702a59
Add healing brush
2026-03-06 08:25:12 -05:00
Skyler Lehmkuhl
de24622f02
Add clone stamp tool
2026-03-06 08:05:45 -05:00
Skyler Lehmkuhl
2c9d8c1589
Add tool skeletons
2026-03-06 07:22:50 -05:00
Skyler Lehmkuhl
d1f47d7164
Merge branch 'rust-ui' of /home/skyler/Dev/Lightningbeam-2/. into rust-ui
2026-03-06 06:19:48 -05:00
Skyler Lehmkuhl
5ae1119de7
Brush preview cursor
2026-03-06 06:18:22 -05:00
Skyler Lehmkuhl
bff3d660d6
Improve smudge tool
2026-03-06 06:03:33 -05:00
Skyler Lehmkuhl
bc7d997cff
More region select fixes
2026-03-06 05:52:20 -05:00
Skyler Lehmkuhl
553cc383d5
separate brush and eraser in infopanel
2026-03-06 05:24:26 -05:00
Skyler Lehmkuhl
f2c15d7f0d
brush fixes and improvements
2026-03-05 20:24:38 -05:00
Skyler Lehmkuhl
f97e61751f
Fix DCEL selection bugs
2026-03-05 19:55:39 -05:00
Skyler Lehmkuhl
292328bf87
add brush library
2026-03-04 16:42:43 -05:00
Skyler Lehmkuhl
63a8080e60
improve painting performance
2026-03-04 15:20:39 -05:00
Skyler Lehmkuhl
e500914fa0
Merge branch 'rust-ui' of https://git.skyler.io/skyler/Lightningbeam into rust-ui
2026-03-04 14:50:53 -05:00
Skyler Lehmkuhl
a36fae7f8a
Fix menu width and mouse following
2026-03-04 14:50:44 -05:00
Skyler Lehmkuhl
e578aadd61
Merge branch 'rust-ui' of /home/skyler/Dev/Lightningbeam-2/. into rust-ui
2026-03-04 14:43:18 -05:00
Skyler Lehmkuhl
16b0d822e3
painting fixes
2026-03-04 14:40:08 -05:00
Skyler Lehmkuhl
759e41d84a
fix color space for raster editing
2026-03-04 11:25:15 -05:00
Skyler Lehmkuhl
b4c7a45990
fix NAM model loading
2026-03-02 11:58:13 -05:00
Skyler Lehmkuhl
885c52c02a
organize raster buffers better
2026-03-02 11:24:12 -05:00
Skyler Lehmkuhl
6b3a286caf
css fixes
2026-03-02 10:51:58 -05:00
Skyler Lehmkuhl
ec46e22782
update css handling
2026-03-02 10:32:19 -05:00
Skyler Lehmkuhl
73ef9e3b9c
fix double paste and make selections always floating
2026-03-02 09:19:55 -05:00
Skyler Lehmkuhl
6f1a706dd2
fix interaction with a fresh raster layer
2026-03-02 08:07:45 -05:00
Skyler Lehmkuhl
19617e4223
fix pasting image data from external programs
2026-03-02 07:59:29 -05:00
Skyler Lehmkuhl
c1266c0377
remove legacy path that was still dumping into text clipboard
2026-03-02 07:54:14 -05:00
Skyler Lehmkuhl
75e35b0ac6
Don't dump json into text clipboard
2026-03-02 07:30:09 -05:00
Skyler Lehmkuhl
a45d674ed7
Merge branch 'rust-ui' of /home/skyler/Dev/Lightningbeam-2/. into rust-ui
2026-03-02 00:01:35 -05:00
Skyler Lehmkuhl
87815fe379
Cut/copy/paste raster data
2026-03-02 00:01:18 -05:00
Skyler Lehmkuhl
6162adfa9f
Add transparent bg and make raster and vector tools use same colors
2026-03-01 23:38:20 -05:00
Skyler Lehmkuhl
1c3f794958
Merge remote and fix color space
2026-03-01 15:50:53 -05:00
Skyler Lehmkuhl
da02edb9f5
Move raster editing to GPU
2026-03-01 15:41:28 -05:00
Skyler Lehmkuhl
49b822da8c
Add final mix VU meters
2026-03-01 15:04:58 -05:00
Skyler Lehmkuhl
a6e04ae89b
Add VU meters
2026-03-01 14:49:49 -05:00
Skyler Lehmkuhl
e85efe7405
Fix smudge tool
2026-03-01 14:00:39 -05:00
Skyler Lehmkuhl
8e9d90ed92
Fix recording to layers inside groups
2026-03-01 13:51:42 -05:00
Skyler Lehmkuhl
83736ec9e3
Record to multiple layers
2026-03-01 13:48:43 -05:00
Skyler Lehmkuhl
1c7256a12e
Add raster layers
2026-03-01 13:16:49 -05:00
Skyler Lehmkuhl
8d8f94a547
Make layer dragging graphics nicer
2026-03-01 12:09:41 -05:00
Skyler Lehmkuhl
516960062a
Drag layers to reorder
2026-03-01 11:54:41 -05:00
Skyler Lehmkuhl
4b638b882f
Make tools dependent on layer type
2026-03-01 11:22:03 -05:00
Skyler Lehmkuhl
c60eef0c5a
Merge branch 'rust-ui' of https://git.skyler.io/skyler/Lightningbeam into rust-ui
2026-03-01 11:04:29 -05:00
Skyler Lehmkuhl
38831948ac
group layers manually
2026-03-01 11:01:51 -05:00
Skyler Lehmkuhl
4ab6fe0504
give secondary music panes a shared pane selection bar
2026-03-01 10:47:46 -05:00
Skyler Lehmkuhl
13840ee45f
add top-level selection
2026-03-01 10:22:46 -05:00
Skyler Lehmkuhl
78577babb1
draw thumbnails on group clips too
2026-03-01 09:44:06 -05:00
Skyler Lehmkuhl
b3e1da3152
draw thumbnails on video clips
2026-03-01 09:35:31 -05:00
Skyler Lehmkuhl
6bd400d353
fix lag spike when first displaying audio clip
2026-03-01 09:22:18 -05:00
Skyler Lehmkuhl
b87e4325c2
use group layers instead of linked tracks
2026-03-01 09:00:55 -05:00
Skyler Lehmkuhl
520776c6e5
background color
2026-03-01 06:37:10 -05:00
Skyler Lehmkuhl
5d39627d03
Update version to 1.0.1
2026-03-01 03:17:41 -05:00
Skyler Lehmkuhl
0026ad3e02
fix dcel
2026-03-01 03:03:57 -05:00
Skyler Lehmkuhl
5a19e91788
add vibrato node
2026-02-26 19:14:34 -05:00
Skyler Lehmkuhl
dc27cf253d
rewrite dcel
2026-02-26 18:48:21 -05:00
Skyler Lehmkuhl
1621602f41
center stage
2026-02-25 07:57:50 -05:00
Skyler Lehmkuhl
7c37e69687
adjust default layouts
2026-02-25 07:55:26 -05:00
Skyler Lehmkuhl
63c1ba8854
use start screen for new file
2026-02-25 07:42:52 -05:00
Skyler Lehmkuhl
1cc7029321
make keyboard shortcuts configurable
2026-02-25 07:36:53 -05:00
Skyler Lehmkuhl
353aec3513
Fix panic with vertex deduplication
2026-02-25 07:02:09 -05:00
Skyler Lehmkuhl
4c34c8a17d
Add snapping for vector editing
2026-02-25 03:29:42 -05:00
Skyler Lehmkuhl
543d99e5d5
fix rpm build
2026-02-25 01:14:33 -05:00
Skyler Lehmkuhl
bc7f1170e1
fix version
2026-02-24 12:09:50 -05:00
Skyler Lehmkuhl
7ff5ddf6ee
Update packaging
2026-02-24 12:05:59 -05:00
Skyler Lehmkuhl
05966ed271
rest of DCEL migration
2026-02-24 11:41:10 -05:00
Skyler Lehmkuhl
72977ccaf4
Fix stroke self-intersections
2026-02-24 03:26:12 -05:00
Skyler Lehmkuhl
bcf6277329
Rebuild DCEL after vector edits
2026-02-24 02:04:07 -05:00
Skyler Lehmkuhl
99f8dcfcf4
Change vector drawing primitive from shape to doubly-connected edge graph
2026-02-23 21:29:58 -05:00
Skyler Lehmkuhl
eab116c930
Add beat mode
2026-02-22 18:43:17 -05:00
Skyler Lehmkuhl
4122fda954
piano roll and clip resizing fixes
2026-02-21 18:45:46 -05:00
Skyler Lehmkuhl
16011e5f28
Fix preset loading not updating node graph editor
2026-02-21 10:58:10 -05:00
Skyler Lehmkuhl
725faa4445
Load sample .nam amps
2026-02-21 10:25:55 -05:00
Skyler Lehmkuhl
3eba231447
deduplicate node list
2026-02-21 09:42:05 -05:00
Skyler Lehmkuhl
84f1f8e7d7
Add orchestral sampled instruments
2026-02-21 07:28:19 -05:00
Skyler Lehmkuhl
2222e68a3e
Work on region select
2026-02-21 06:04:54 -05:00
Skyler Lehmkuhl
469849a0d6
Add nested audio tracks
2026-02-21 03:56:07 -05:00
Skyler Lehmkuhl
70855963cb
Stack clips only on overlap
2026-02-21 01:22:48 -05:00
Skyler Lehmkuhl
1892f970c4
Initial work on movie clips
2026-02-21 00:54:38 -05:00
Skyler Lehmkuhl
3ba6dcb3d2
Group shapes
2026-02-20 11:13:56 -05:00
Skyler Lehmkuhl
7e2f63b62d
highlight node connections directly
2026-02-20 11:13:34 -05:00
Skyler Lehmkuhl
ce40147efa
Fix looping bugs
2026-02-20 04:27:20 -05:00
Skyler Lehmkuhl
042dd50db3
Add clip looping
2026-02-20 02:48:44 -05:00
Skyler Lehmkuhl
66c848e218
Multi sample bulk import
2026-02-20 01:59:37 -05:00
Skyler Lehmkuhl
35089f3b2e
Add state-variable filter
2026-02-20 00:20:59 -05:00
Skyler Lehmkuhl
116db01805
Build Linux packages
2026-02-19 15:50:23 -05:00
Skyler Lehmkuhl
c344e11e42
Code cleanup
2026-02-19 11:19:44 -05:00
Skyler Lehmkuhl
a98b59a6d3
Clean up build warnings
2026-02-19 10:21:48 -05:00
Skyler Lehmkuhl
92dffbaa4e
Add UI to script node
2026-02-19 10:16:05 -05:00
Skyler Lehmkuhl
2804c2bd5d
Merge branch 'rust-ui' of https://git.skyler.io/skyler/Lightningbeam into rust-ui
2026-02-19 09:29:19 -05:00
Skyler Lehmkuhl
c66487b25e
Add script node
2026-02-19 09:29:14 -05:00
Skyler Lehmkuhl
8e342582d9
hide console on windows release builds
2026-02-19 07:55:55 -05:00
Skyler Lehmkuhl
75be94d737
Add step sequencer node
2026-02-19 06:06:41 -05:00
Skyler Lehmkuhl
0a18d28f98
Add arpeggiator node
2026-02-19 05:30:34 -05:00
Skyler Lehmkuhl
89bbd3614f
Add beat node
2026-02-19 01:19:40 -05:00
Skyler Lehmkuhl
21a49235fc
sampler improvements, live waveform preview
2026-02-17 10:08:49 -05:00
Skyler Lehmkuhl
c10f42da8f
Merge branch 'rust-ui' of https://git.skyler.io/skyler/Lightningbeam into rust-ui
2026-02-16 19:12:49 -05:00
Skyler Lehmkuhl
b2a6304771
make sample load menus consistent
2026-02-16 19:12:21 -05:00
Skyler Lehmkuhl
2c0d53fb84
Work on sampler nodes, fix slew limiter
2026-02-16 18:45:11 -05:00
Skyler Lehmkuhl
e9ee0d92e2
fix shaders on windows
2026-02-16 10:48:51 -05:00
Skyler Lehmkuhl
2a94ac0f69
Merge branch 'rust-ui' of https://git.skyler.io/skyler/Lightningbeam into rust-ui
2026-02-16 10:06:00 -05:00
Skyler Lehmkuhl
6c10112a16
Fix build on Windows
2026-02-16 10:05:39 -05:00
Skyler Lehmkuhl
93a29192fd
Split export dialog into simple/advanced
2026-02-16 08:15:13 -05:00
Skyler Lehmkuhl
e03d12009f
fix broken mp3/aac export
2026-02-16 07:53:23 -05:00
Skyler Lehmkuhl
da147fe6d4
Stop virtual piano from stealing keyboard focus from input elements
2026-02-16 06:16:05 -05:00