Skyler Lehmkuhl
242f494219
fix clicking
2025-10-18 21:55:28 -04:00
Skyler Lehmkuhl
7ef562917a
midi import in daw backend
2025-10-18 21:46:40 -04:00
Skyler Lehmkuhl
e45659ddfd
Work on timeline
2025-10-18 21:32:59 -04:00
Skyler Lehmkuhl
9414bdcd74
Work on daw backend
2025-10-18 18:09:07 -04:00
Skyler Lehmkuhl
87d2036f07
Complete Phase 5: Timeline curve interaction and nested animation support
...
Phase 5 adds interactive curve editing, proper interpolation visualization,
and automatic segment keyframe management for nested animations.
Timeline curve interaction features:
- Add keyframe creation by clicking in expanded curve view
- Implement keyframe dragging with snapping support
- Add multi-keyframe selection (Shift/Ctrl modifiers)
- Support constrained dragging (Shift: vertical, Ctrl: horizontal)
- Add keyframe deletion via right-click context menu
- Display hover tooltips showing keyframe values
- Respect interpolation modes in curve visualization:
* Linear: straight lines
* Bezier: smooth curves with tangent handles
* Step/Hold: horizontal hold then vertical jump
* Zero: jump to zero and back
Nested animation improvements:
- Add bidirectional parent references:
* Layer.parentObject → GraphicsObject
* AnimationData.parentLayer → Layer
* GraphicsObject.parentLayer → Layer
- Auto-update segment keyframes when nested animation duration changes
- Update both time and value of segment end keyframe
- Fix parameter ordering (required before optional) in constructors
Bug fixes:
- Fix nested object rendering offset (transformCanvas applied twice)
- Fix curve visualization ignoring interpolation mode
2025-10-15 19:08:59 -04:00
Skyler Lehmkuhl
1936e91327
Implement Timeline V2 Phase 2: Track hierarchy with selection and scrolling
...
Phase 2 Implementation:
- Added TrackHierarchy class to build and manage hierarchical track structure
- Track display with expand/collapse triangles for layers and groups
- Hierarchical indentation for visual hierarchy
- Track selection syncs with stage selection (shapes, objects, layers)
- Vertical scrolling for track area when many tracks present
- Horizontal scrolling in ruler area for timeline navigation
Timeline Integration:
- Set TimelineV2 as default timeline on app load
- Timeline automatically updates when shapes added or grouped
- Trigger timeline redraw in renderLayers() for efficient batching
Selection System:
- Clicking tracks selects corresponding objects/shapes on stage
- Selected tracks highlighted in timeline
- Updates context.selection and context.shapeselection arrays
- Stores oldselection/oldshapeselection for undo support
- Calls updateUI() and updateMenu() to sync UI state
Visual Improvements:
- Use predefined colors from styles.js (no hardcoded colors)
- Alternating track background colors for readability
- Selection highlighting with predefined highlight color
- Type indicators for tracks: [L]ayer, [G]roup, [S]hape
Mouse Interactions:
- Click ruler area to move playhead
- Click track expand/collapse triangles to show/hide children
- Click track name to select object/shape
- Scroll wheel in ruler area for horizontal timeline scroll
- Scroll wheel in track area for vertical track list scroll
- Adjusts hit testing for vertical scroll offset
2025-10-15 01:47:37 -04:00
Skyler Lehmkuhl
6c79914ffb
Work on moving things to animation curves
2025-10-15 00:41:51 -04:00
Skyler Lehmkuhl
7bade4517c
Move frames to animation curves
2025-10-13 22:41:08 -04:00
Skyler Lehmkuhl
9f338ba6dc
Start refactoring
2025-10-05 23:08:31 -04:00
Skyler Lehmkuhl
ff76b93b9d
improve detection
2025-01-31 07:12:12 -05:00
Skyler Lehmkuhl
18fad499c5
Automatically resize audio buffer to prevent overruns
2025-01-31 06:44:03 -05:00
Skyler Lehmkuhl
749caa14a5
Add RecordedAudioTrack
2025-01-29 04:41:59 -05:00
Skyler Lehmkuhl
e12c2e8877
Require user interaction to start audio
2025-01-25 18:48:34 -05:00
Skyler Lehmkuhl
cdd1ff2cbf
sound is playing!
2025-01-25 05:39:57 -05:00
Skyler Lehmkuhl
98d6e82397
More work on Rust
2025-01-25 04:10:04 -05:00
Skyler Lehmkuhl
f534ca7e5d
Start work on audio handler in Rust
2025-01-24 16:27:19 -05:00
Skyler Lehmkuhl
573b564ff5
Bump version to 0.7.14-alpha
2025-01-23 16:43:22 -05:00
Skyler Lehmkuhl
065e6eb99e
Show wait cursor while loading a file
2025-01-23 16:41:00 -05:00
Skyler Lehmkuhl
ca69813a5c
Make moving frames undoable
2025-01-23 16:30:45 -05:00
Skyler Lehmkuhl
1bfacd6b11
Fix "frame deleting" issue
2025-01-23 16:30:45 -05:00
Skyler Lehmkuhl
e13c92f661
Fix clicking on layers bug
2025-01-23 16:30:24 -05:00
Skyler Lehmkuhl
279cf538ab
Bump version to 0.7.13-alpha
2025-01-23 05:28:04 -05:00
Skyler Lehmkuhl
139aedd5de
fix a few errors
2025-01-23 05:23:26 -05:00
Skyler Lehmkuhl
f88c1f1408
Cache line highlight pattern to improve performance
2025-01-23 05:09:49 -05:00
Skyler Lehmkuhl
2de03ff7f7
restore finishEncoding function
2025-01-23 04:55:46 -05:00
Skyler Lehmkuhl
c79476e7a9
Cache icon rendering to improve performance
2025-01-23 04:55:18 -05:00
Skyler Lehmkuhl
ad1da5b349
replace it with application/lightningbeam
2025-01-18 03:53:36 -05:00
Skyler Lehmkuhl
babd2ebbdc
remove text/plain MIME type
2025-01-18 03:44:00 -05:00
Skyler Lehmkuhl
268790943f
Add option to reopen file from last session
2025-01-18 03:32:53 -05:00
Skyler Lehmkuhl
666db06b78
Fix new file dialog
2025-01-18 03:17:54 -05:00
Skyler Lehmkuhl
7b6dbf21c2
fix opening files on macOS
2025-01-18 03:13:15 -05:00
Skyler Lehmkuhl
420443dc59
Bump version to 0.7.12-alpha
2025-01-18 00:43:54 -05:00
Skyler Lehmkuhl
ff5ad5cfb0
Bump version to 0.7.13-alpha
2025-01-18 00:31:57 -05:00
Skyler Lehmkuhl
c7151d6796
Fix objects not showing up when imported multiple times
2025-01-18 00:25:36 -05:00
Skyler Lehmkuhl
c76cc75337
store parents in json
2025-01-17 23:44:41 -05:00
Skyler Lehmkuhl
a24128ab08
automate release process somewhat
2025-01-17 23:19:48 -05:00
Skyler Lehmkuhl
871793115f
Fix crash when object deleted from frame
2025-01-17 23:19:24 -05:00
Skyler Lehmkuhl
f168d64f95
Fix asset protocol import
2025-01-17 23:18:40 -05:00
Skyler Lehmkuhl
f642fa8e4d
Make file opening work properly
2025-01-17 21:27:15 -05:00
Skyler Lehmkuhl
6e4f3d670f
work on opening files
2025-01-17 21:09:45 -05:00
Skyler Lehmkuhl
62ad2e35f2
cleanup
2025-01-17 20:13:38 -05:00
Skyler Lehmkuhl
15fe7d1283
Get open-with files from command line
2025-01-17 20:07:40 -05:00
Skyler Lehmkuhl
2d355a13b9
Add 'New Window' command
2025-01-16 21:48:39 -05:00
Skyler Lehmkuhl
7cf33494fa
Bump version to 0.7.11-alpha
2025-01-16 21:42:24 -05:00
Skyler Lehmkuhl
b76dcc7a7e
work on converting timeline to widgets
2025-01-16 21:40:05 -05:00
Skyler Lehmkuhl
33896c693d
Fix audio layers going offscreen
2025-01-16 20:12:44 -05:00
Skyler Lehmkuhl
e321b2bfcc
Fix duplicate objects showing up after grouping
2025-01-16 19:36:02 -05:00
Skyler Lehmkuhl
ad51399064
Fix markdown
2025-01-15 21:39:58 -05:00
Skyler Lehmkuhl
24a97c08e1
Bump version to 0.7.10-alpha
2025-01-15 21:25:26 -05:00
Skyler Lehmkuhl
2806588146
Bump version to 0.7.10-alpha
2025-01-15 21:15:49 -05:00