Maze Winther
eca13e3e71
changelog: update to be more accurate
2026-04-15 00:40:22 +02:00
Maze Winther
1943a4d18f
feat: changelog now supports markdown within entries
2026-04-15 00:33:59 +02:00
Maze Winther
3eccc2f9e3
fix: copy to markdown formatting
2026-04-15 00:29:04 +02:00
Maze Winther
368a20ddc2
changelog: fix date
2026-04-15 00:26:12 +02:00
Maze Winther
64588ceeea
docs: fill in v0.3.0 technical changelog entries
2026-04-15 00:22:20 +02:00
Maze Winther
8fe66090e7
feat: add support for technical details in changelog entries
2026-04-14 23:55:20 +02:00
Maze Winther
91e1232112
feat: transcription diagnostics
2026-04-14 23:34:57 +02:00
Maze Winther
78a0a27a72
feat: editor feedback
2026-04-14 21:45:11 +02:00
Maze Winther
8d82ea9c0b
feat: draft persistence on Form via persistKey
2026-04-14 19:13:06 +02:00
Maze Winther
6aa4ffe462
style: export button icon size
2026-04-14 18:38:59 +02:00
Maze Winther
8a54e5d884
test: remove keyframe query
2026-04-14 18:34:33 +02:00
Maze Winther
5e6c26f3c1
fix: keyframe removal state
2026-04-14 18:32:07 +02:00
Maze Winther
520c0b3264
chore: remove unused import
2026-04-14 18:30:34 +02:00
Maze Winther
607eaeacc7
fix: timeline element resizing
2026-04-14 18:29:23 +02:00
Maze Winther
6de6c7fd95
refactor: move constants to domain modules
2026-04-14 18:17:14 +02:00
Maze Winther
34c67ef8e8
chore: fix comment
2026-04-14 15:27:24 +02:00
Maze Winther
5f2f00dde0
chore: hide logos sticker category
2026-04-14 15:14:30 +02:00
Maze Winther
6db7ad0696
chore: hide preview grid guide until v0.4.0
2026-04-14 15:08:06 +02:00
Maze Winther
24a0d10a92
changelog
2026-04-14 14:57:40 +02:00
kcfancher
e3d4f3fa92
Add support for basic SRT subtitle import to Captions panel ( #756 )
...
* Add SRT subtitle import to the captions panel
[Modified from 0bd641b4102c827ef8d218ada099229f73396077, 2026-03-28 08:46:23 -0400]
Parse .srt files into chunks and insert them as text elements on a new text track using the existing caption styling defaults. Displays a warning when malformed cues are skipped during import.
* Batch caption text insertion
[Modified from eece3bbc5f0578a24a4f90f0ab87fe5ca37e94e9, 2026-03-28 09:13:18 -0400]
Batch caption insertion in a BatchCommand so that undo will batch undo all subtitle insertion from either srt file or ai transcriptions.
* Move subtitle parsing into a shared interface
[Modified from e84404b7857f8c611eda7a65b5d61ee6c9823d75, 2026-03-28 09:52:31 -0400]
Extracted the srt specific extraction behind a generic shared interface to allow easier adding of other subtitle formats in the future.
* Apply better default styling for subtitles.
[Modified from b5deec4285f99873ba5bf57971f7bcab26e8c743, 2026-03-31 11:49:34 -0400]
Shrink font size, aim to layout 5% above bottom, keep subtitle width 80% of video, wrap text on new lines if too long.
* Update Captions Panel UI
Split captions panel into Generate and Import tabs as they are two different approaches for adding captions.
* Add biome formatting fixes
* Add .ass subtitle import support
Extend subtitle import to accept .ass files alongside .srt, map supported .ass styles onto imported text elements, and display warnings when unsupported .ass features are skipped.
* Change “Import subtitles” button style
* refactor: review fixes
* fix: convert subtitle times from seconds to ticks
* refactor: replace captions tab switcher with import action button
---------
Co-authored-by: Maze Winther <mazewinther@gmail.com>
2026-04-14 03:19:12 +02:00
Maze Winther
d85566ab8d
changelog: publish 0.3.0
2026-04-14 00:50:18 +02:00
Maze Winther
3191e038d8
changelog
2026-04-14 00:33:28 +02:00
Maze Winther
ba994d8bf9
fix: linter
2026-04-13 22:00:29 +02:00
Maze Winther
270e2951b1
feat: graph editor for flat keyframe segments
2026-04-13 21:59:50 +02:00
Maze Winther
496f7d690d
chore: remove filters tab from assets panel
2026-04-13 21:56:47 +02:00
Maze Winther
11ee0dbf27
fix: stable background blur previews in settings
2026-04-13 21:56:18 +02:00
Maze Winther
2c344fa01d
fix: use published opencut-wasm package
2026-04-13 05:08:29 +02:00
Maze Winther
7feb3b238c
changelog: 0.3.0
...
Made-with: Cursor
2026-04-13 05:08:29 +02:00
Maze Winther
7d4e166678
fix: text measurement, rotation handle, video cache races, playback sync
...
Made-with: Cursor
2026-04-13 05:08:29 +02:00
Maze Winther
cad88ee4d1
refactor: rendering pipeline
...
Made-with: Cursor
2026-04-13 05:08:29 +02:00
Maze Winther
36efdf66e7
feat: expandable keyframe lanes in timeline
...
Made-with: Cursor
2026-04-13 05:08:29 +02:00
Maze Winther
2272598d42
feat: clipboard with keyframe paste
...
Made-with: Cursor
2026-04-13 05:03:10 +02:00
Maze Winther
5a2aaf3601
feat: cinematic bars, diamond, heart, and star masks
...
Made-with: Cursor
2026-04-13 05:01:51 +02:00
Maze Winther
108d3f4eca
feat: position animated independently per axis
...
Made-with: Cursor
2026-04-13 05:01:51 +02:00
Maze Winther
0d0d737563
fix: one more
2026-04-13 05:01:51 +02:00
Maze Winther
f06a930fc1
fix: convert media asset duration to ticks on insert
2026-04-13 05:01:51 +02:00
Maze Winther
532f050a64
changelog: add entry
2026-04-13 05:00:19 +02:00
Maze Winther
d422b602c9
fix: clicking a selected element collapses multi-selection
2026-04-13 05:00:19 +02:00
Maze Winther
cbd1b82123
refactor: structured track layout per scene
2026-04-07 04:41:27 +02:00
Maze Winther
4f7d401a97
style: compact dropdown and context menu styling
2026-04-07 01:55:21 +02:00
Maze Winther
30709d7134
fix: fix timeline width calculation for tick-based time
2026-04-07 01:45:52 +02:00
Maze Winther
93a0afdf64
fix: use line-height-based bounds for text elements
2026-04-07 01:39:35 +02:00
Maze Winther
b8979c65d4
feat: select element on insert
2026-04-07 01:20:07 +02:00
Maze Winther
f47e85c3bb
fix: respect scale lock when editing keyframed scale
2026-04-07 01:19:46 +02:00
Maze Winther
e43b859439
fix: place new overlay tracks at the top of the timeline
2026-04-07 01:18:57 +02:00
Maze Winther
e4b67094e7
refactor: split effects and masks into dedicated rust crates, introduce MediaTime and FrameRate
2026-04-07 01:09:13 +02:00
Maze Winther
79df736431
fix: clean up graph editor
2026-04-06 13:15:50 +02:00
Maze Winther
c411edb7c1
fix: clean up
2026-04-06 12:59:07 +02:00
Maze Winther
2776adaae1
fix: whitespace
2026-04-06 12:42:46 +02:00
Maze Winther
964ac82d5e
refactor: split presets into data definitions and storage store
2026-04-06 12:40:47 +02:00
Maze Winther
05243616ea
refactor: use useShiftKey hook in bezier graph
2026-04-06 01:51:09 +02:00
Maze Winther
ccd552a1c0
chore: addition to last merge
2026-04-06 01:24:09 +02:00
Maze Winther
fcc09e80e2
Merge branch 'temp'
2026-04-06 01:23:47 +02:00
Maze
dedb13546a
feat: graphs popover
2026-04-06 01:13:14 +02:00
Maze Winther
c56d6f8188
fix: preserve negative start times during timeline drag
2026-04-06 00:57:54 +02:00
Maze Winther
44d8c4c876
refactor: unify element updates into pipeline and centralize ripple
2026-04-06 00:02:23 +02:00
Maze Winther
20235d0724
chore: remove comment
2026-04-05 19:04:39 +02:00
Maze
0997466331
fix: subscribe to playback time so keyframe button updates on frame change
...
Made-with: Cursor
2026-04-05 13:37:29 +02:00
Maze
1bd9fac203
refactor: rewrite animation system to use bindings and scalar channels
2026-04-05 13:15:58 +02:00
Maze
69da5bee0c
style: tabs
2026-04-04 11:59:04 +02:00
Maze
cb99925d75
refactor: swap out manual tabs withthe shared tabs component in stickers
2026-04-04 11:58:55 +02:00
Maze
78c6c497f1
chore: remove transcription envs
2026-04-04 08:53:10 +02:00
Maze Winther
22725f71fa
chore: update opencut-wasm to 0.1.3
2026-04-03 03:37:41 +02:00
Maze Winther
1a8a1e889a
refactor: update command execute methods to return CommandResult | undefined
2026-04-03 03:13:49 +02:00
Maze Winther
3516bd69f4
fix: use published opencut-wasm package
2026-04-01 21:30:26 +02:00
Maze Winther
bd9ec023ee
refactor: split constants by domain and isolate timeline panel from core
2026-04-01 19:27:49 +02:00
Maze Winther
f4b9f40ab1
fix: update tooltip text for graph editor button
2026-04-01 18:17:23 +02:00
Maze Winther
93cc5d50f3
fix: don't crash when GPU isn't available
2026-04-01 18:13:27 +02:00
Maze Winther
8a1d37cf3e
fix: align background blur with effect blur intensity scale
2026-04-01 15:15:41 +02:00
Maze Winther
e579ae1202
feat: migrate GPU renderer from WebGL to wgpu/WASM
2026-04-01 13:57:32 +02:00
Maze Winther
b048b739bd
Merge branch 'refactor-selection-commands'
2026-03-31 23:40:59 +02:00
Maze Winther
dc82826951
refactor: move track pruning into a post-command reactor
2026-03-31 23:39:43 +02:00
Maze Winther
608dc1a62f
Merge branch 'feature/separate-audio'
2026-03-31 23:24:33 +02:00
Maze Winther
f1d5932c54
feat: separate audio from elements
2026-03-31 23:23:36 +02:00
Maze Winther
cc150c7cfb
Merge branch 'refactor-selection-commands'
2026-03-31 22:54:06 +02:00
Maze Winther
f8fb238b22
feat: centralize selection management
2026-03-31 22:53:16 +02:00
Maze Winther
0488a6be45
fix: normalize vertical drag direction in preferIndex placement
2026-03-31 22:38:56 +02:00
Maze Winther
154b78c7d1
fix: allow timeline paste and duplicate commands to reassign updated tracks
2026-03-31 18:47:45 +02:00
Maze Winther
d23be079cc
Merge branch 'feature/track-placement'
2026-03-31 15:53:23 +02:00
Maze Winther
70a6d58b84
refactor: centralize track placement into its own module
2026-03-31 15:47:30 +02:00
Maze Winther
dcf54c1250
feat: migrate time utilities from typescript to rust WASM
2026-03-31 04:03:52 +02:00
Maze Winther
5cc6abc3a4
style: swap ripple icon
2026-03-29 22:31:26 +02:00
Maze Winther
77a14b1023
refactor: standardize icon component props
2026-03-29 22:30:11 +02:00
Maze Winther
1c3b22edec
feat: add keyframe graphs button
2026-03-29 21:48:33 +02:00
Maze Winther
41562baeb5
style: remove unnecessary margin from keyframe
2026-03-29 21:48:08 +02:00
Maze Winther
df207e0f83
refactor: name magic numbers and rename el in landing handlebars
2026-03-29 21:18:07 +02:00
Maze Winther
dc5956900e
fix: eliminate first-paint flicker in landing handlebars
2026-03-29 20:45:48 +02:00
Maze Winther
b095862cc0
fix: improve DATABASE_URL validation in web environment schema
2026-03-29 18:58:35 +02:00
Maze Winther
0a6ede73ae
chore: update deps
2026-03-29 18:57:05 +02:00
Maze Winther
7ce0018c9b
chore: update .gitignore
2026-03-29 18:55:56 +02:00
Maze Winther
9528d0053b
chore: untrack files
2026-03-29 18:55:10 +02:00
Maze Winther
689853312d
fix: remove OpenNext Cloudflare initialization
2026-03-29 18:35:58 +02:00
Maze Winther
5a1d9ef3f4
chore: remove unused middleware file
2026-03-29 18:30:16 +02:00
Rayan Salhab
eb66e03f0e
fix(security): replace new Function() with safe math expression parser ( #753 )
...
* fix(security): replace new Function() with safe math expression parser
Replace the dangerous new Function() constructor in evaluateMathExpression()
with a recursive descent parser that safely evaluates basic arithmetic
expressions.
The Function constructor is a security anti-pattern that could enable
arbitrary code execution if the validation regex is ever bypassed or
relaxed. The new parser:
- Only supports numbers, +, -, *, /, parentheses, and whitespace
- Has no eval-like functionality that could execute arbitrary code
- Maintains backward compatibility with existing expressions
- Handles operator precedence and parentheses correctly
Fixes #725
* Apply suggestion from @coderabbitai[bot]
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
---------
Co-authored-by: Maze <167211895+mazeincoding@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-03-29 18:27:05 +02:00
Maze Winther
a2418751e6
chore: remove accidentally committed Zone.Identifier stream
2026-03-29 18:25:43 +02:00
Maze Winther
5777a555f6
feat: add shared Rust crates for cross-platform time utilities
...
Introduce `bridge` proc-macro crate with `#[export]` attribute that conditionally applies `wasm_bindgen` for WASM builds, and `time` crate porting all timecode/frame utilities from TypeScript to Rust.
2026-03-29 15:58:46 +02:00
Maze Winther
220ec757d4
refactor: move packages sub-folders into web app
2026-03-29 15:58:46 +02:00
Maze Winther
585e28d49b
feat: add published status to changelog entries
2026-03-29 15:58:46 +02:00
Maze Winther
c34e01c63e
refactor: clean up number formatting and step handling in property tabs
2026-03-29 15:58:46 +02:00
Maze Winther
3e75852ffe
chore: remove dead songs tab
2026-03-29 15:58:46 +02:00