Maze Winther
d62eb6aa9e
Merge branch 'main' of https://github.com/OpenCut-app/OpenCut
2026-03-02 17:33:01 +01:00
Maze Winther
fbb00cf9cc
style: hover of copy markdown button
2026-03-02 17:29:43 +01:00
Maze Winther
a63cdcfe7e
changelog: update description
2026-03-02 17:28:19 +01:00
Maze Winther
1b870fd9a0
changelog: fix phrasing
2026-03-02 17:15:23 +01:00
Maze Winther
c7a00b6af1
feat: copy changelog release as markdown
2026-03-02 17:03:23 +01:00
Maze Winther
9b6a1f7973
disable react-scan in prod
2026-03-02 16:53:30 +01:00
Maze Winther
eee3233c97
fix linter
2026-03-02 16:50:55 +01:00
Maze Winther
14ae9b4f11
remove z-index
2026-03-02 16:43:43 +01:00
Maze Winther
565d2595da
clcik to seek on keyframes
2026-03-02 16:40:41 +01:00
Maze Winther
a526066b61
feat: wire ui to have keyframes for: opacity, text color, and all background properties
2026-03-02 16:36:10 +01:00
Maze Winther
b0165da764
fix: selecting multiple effects didn't work
2026-03-02 16:30:50 +01:00
Maze Winther
228e2e4342
docs: keyframes system
2026-03-02 16:02:32 +01:00
Maze Winther
81e7a7fb32
feat: implement keyframe support for more properties at the core (no ui yet)
2026-03-02 15:08:21 +01:00
Maze Winther
887d1795dd
fix: keyframe drag bug
2026-03-02 15:06:31 +01:00
Maze Winther
9261589ff3
fix: keyframe placement
2026-03-02 15:06:01 +01:00
Maze Winther
db50b5214d
feat: ripple support for element resize
2026-03-02 13:26:40 +01:00
Maze Winther
e7dcb586c0
feat: Clip effects, asset sorting, and timeline improvements
...
Major features and improvements:
* **Clip Effects**:
* Added UI in Properties Panel to manage effects on video/image clips (add, remove, toggle, reorder).
* Implemented dynamic parameter fields for effects.
* Added support for keyframing effect parameters.
* **Assets Panel**:
* Added sorting options: Name, Type, Duration, and File Size.
* Persisted view preferences (grid/list mode, sort order) to local storage.
* Refactored media item rendering and drag interactions.
* **Timeline & Interaction**:
* **Keyframe Dragging**: Added ability to drag keyframes directly on the timeline element.
* **Resizing**: Improved resize logic to respect neighboring clips (prevents overlaps).
* **Visuals**: Implemented tiled background rendering for video/image clips on the timeline.
* **Shortcuts**: Added "Deselect All" action bound to the `Escape` key.
* **Fixes**: Corrected drag-and-drop coordinate calculations when the timeline track area is scrolled.
* **Text Elements**:
* Refactored text background storage to use an explicit `enabled` flag.
* Added `V8toV9` storage migration to update existing projects.
* **Architecture**:
* Moved export state management to `ProjectManager` for better lifecycle handling.
* Refactored `PropertiesPanel` sections to be more composable (custom headers, borders).
2026-03-02 13:13:07 +01:00
Maze Winther
93bea01c9e
docs: update actions
2026-03-02 10:37:44 +01:00
Maze Winther
a2727f2ae5
fix button color
2026-03-02 10:36:37 +01:00
Maze Winther
82f8f76a84
feat: mobile gate
2026-03-02 10:36:19 +01:00
Maze Winther
2074dde3e3
feat: add roadmap link to header
2026-03-02 10:34:54 +01:00
Maze Winther
feaeec8dbe
feat: add react-scan
2026-03-02 10:34:23 +01:00
Maze Winther
3b74cddbfb
fix: global.css
2026-03-02 10:34:05 +01:00
Maze Winther
a0695dadaa
fix: make roadmap page responsive
2026-03-02 10:33:52 +01:00
Maze Winther
7bd0b43746
update cursor rule
2026-03-02 10:32:46 +01:00
Maze Winther
77a3708213
web: refactor changelog to support a dedicated page for each version + links for each release
2026-03-02 00:55:08 +01:00
Maze Winther
9a00e8ac5b
disable cursor rules
2026-03-01 21:48:37 +01:00
Maze Winther
51234e673b
changelog: correct release date for version 0.2.0
2026-03-01 17:56:13 +01:00
Maze Winther
13237a04fd
changelog: update ripple editing description for clarity in 0.2.0
2026-03-01 01:52:01 +01:00
Maze Winther
35dd209b4e
docs: add ripple editing to 0.2.0 changelog
2026-03-01 01:44:38 +01:00
Maze Winther
5e7c27f542
Merge branch 'dev' into ripple-editing
2026-03-01 01:32:09 +01:00
Maze Winther
354f4dec67
changelog: update titles for no title case
2026-03-01 01:12:57 +01:00
Maze Winther
c6bffaa243
fix(audio): stabilize playback startup when timeline selection is heavy
2026-03-01 01:10:56 +01:00
Maze Winther
f3af18e0c7
delete CHANGELOG.md
2026-03-01 01:08:26 +01:00
Maze Winther
85f41756d1
feat: changelog page
2026-02-28 23:58:54 +01:00
Maze Winther
fe964c4a4a
cursor: design skill
2026-02-28 23:48:33 +01:00
Maze Winther
216e3e0c39
feat: introduce WebGL effects system and Blur effect
...
This implements the foundational architecture for video effects, starting with a multi-pass WebGL rendering pipeline and a customizable Gaussian Blur effect.
Key changes:
- WebGL Engine: Added `raw-loader` for `.glsl` shaders, multi-pass framebuffer rendering, and live offscreen canvas previews.
- Node Architecture: Replaced hardcoded background blur with `CompositeEffectNode` and added `EffectLayerNode` to apply effects to specific visual elements.
- Timeline & DND: Added a new `effect` track type. Upgraded drag-and-drop to support dropping effects directly onto the timeline. Consolidated track constants into a cleaner `TRACK_CONFIG`.
- UI/UX: Added an Effects tab in the assets panel with live previews. Added an Effect Properties panel with sliders and inputs for fine-tuning parameters.
- Data Model: Added `sourceDuration` to video and audio elements, and wrote a v8 storage migration to update existing projects to the new schema.
- Docs: Added `CHANGELOG.md` tracking v0.1.0 and v0.2.0, plus `docs/effects-renderer.md` to document the new WebGL pipeline.
2026-02-28 18:41:22 +01:00
Maze Winther
a9e93471a7
review cursor command
2026-02-28 01:12:27 +01:00
Maze Winther
50885fb976
fix: update review checklist terminology for clarity
2026-02-28 00:26:09 +01:00
Maze Winther
6226ceb052
fix coderabbit issues
2026-02-27 20:34:33 +01:00
Maze Winther
cb8f003478
another type error
2026-02-27 18:23:13 +01:00
Maze Winther
956f3d201b
fix type error
2026-02-27 18:15:36 +01:00
Maze Winther
49426f19cd
feat: implement keyframe animation system
...
Add keyframe support for transform, opacity, and volume properties.
Includes animation engine (interpolation, mutations, resolvers), timeline
markers with selection/snapping, properties panel toggles, keyframe-aware
renderer, and full undo/redo command support.
Also refactor element command constructors to object params, extract
timeline pixel math to pixel-utils.ts, and update cursor rules.
2026-02-27 16:33:57 +01:00
Maze Winther
9b94f89def
roadmao
2026-02-25 04:51:50 +01:00
Maze Winther
07c2289168
feat: add properties for video/image/sticker elements
2026-02-25 04:22:00 +01:00
Maze Winther
987153266e
refactor: move transform type to more relevant file
2026-02-25 04:14:21 +01:00
Maze Winther
f96192289b
docs: move sponsors near the top
2026-02-25 01:40:12 +01:00
Maze Winther
f75b5d3fd2
fix a ton of issues + improvement
2026-02-25 01:37:56 +01:00
Maze Winther
4d77e3f2bb
refactor: snapping system
2026-02-23 10:55:35 +01:00
Maze Winther
ab64c48c92
feat: make playhead snap to elements
2026-02-23 10:55:06 +01:00
Maze Winther
d352e58570
fix preview snapping threshold
2026-02-23 10:15:51 +01:00
Maze Winther
baa5f33407
fix preview perf issues
2026-02-23 10:03:15 +01:00
Maze Winther
dbfecbba59
docker + update readme
2026-02-23 09:38:38 +01:00
Maze Winther
86a3592c88
refactor: make export audio consistent to preview
...
fixes audio export issue with .mkv files
2026-02-23 09:28:54 +01:00
Maze Winther
744419469d
feat: basic ripple editing
2026-02-23 07:09:26 +01:00
Maze Winther
1762dc077d
persist snapping + ripple
2026-02-23 06:56:05 +01:00
Maze Winther
a982304bb3
docs: actions
2026-02-23 06:50:53 +01:00
Maze Winther
5616d4e9f3
feat: save frame as image
2026-02-23 06:44:27 +01:00
Maze Winther
71970d5f5f
fix: audio from video files not being exported
2026-02-23 06:20:11 +01:00
Maze Winther
fca99d6126
refactor
2026-02-10 16:28:21 +01:00
Maze Winther
33a8705f0d
fix selection not getting cleared after element deletion
2026-02-09 16:38:17 +01:00
Maze Winther
fe10cee3eb
fix: correct default text capitalization in text constants
2026-02-09 00:34:45 +01:00
Maze Winther
1d05f5ac56
fix linter
2026-02-08 22:23:12 +01:00
Maze Winther
395e415cc4
formatting
2026-02-08 22:22:23 +01:00
Maze Winther
e50a817b97
add transform + few fixes
...
feat: transform
feat: batch command
fix: slider undo
fix: timeline zoom perf
refactor: make updateElement support multiple
2026-02-08 22:21:17 +01:00
Maze Winther
484ce47867
update review cursor command
2026-02-08 22:19:39 +01:00
Maze Winther
681f006b35
fix: fps not being displayed in some cases
2026-02-08 21:49:32 +01:00
Maze Winther
0282ef2223
scale timeline ruler labels to hours
2026-02-08 18:32:08 +01:00
Maze Winther
dc0b57cd6a
refactor: replace text-specific update command with generic
2026-02-08 18:01:45 +01:00
Maze Winther
a218a52d2d
persist sotring (projects)
2026-02-08 17:45:39 +01:00
Maze Winther
1c2cf80188
change default sorting from createdAt to updatedAt in projects store
2026-02-08 17:44:43 +01:00
Maze Winther
cdd29eb1dc
fix: resize-none
2026-02-08 17:06:16 +01:00
Maze Winther
34cfeacdbb
fix: stop audio on timeline scrub
2026-02-08 17:02:49 +01:00
Maze Winther
6d55a34586
refactor: move isScrubbing state to playback manager
2026-02-08 17:01:46 +01:00
Maze Winther
c6666fd385
feat: update text properties to use dynamic font size limits and scaling
2026-02-08 16:50:31 +01:00
Maze Winther
9b5fd6eb07
feat: ensure elements on main track starts at 0
2026-02-08 01:51:25 +01:00
Maze Winther
00cf7f6ab7
add todo
2026-02-08 01:23:13 +01:00
Maze Winther
a82817a703
fix landing image
2026-02-08 01:17:29 +01:00
Maze Winther
39b6ea5613
type error
2026-02-07 23:57:19 +01:00
Maze Winther
ae45ef8154
blog ui fixes
2026-02-07 23:14:31 +01:00
Maze Winther
49c4fcb229
refactor: remove AuthorList component
2026-02-07 22:37:19 +01:00
Maze Winther
464a6e83b9
fix rendering issue from v1 to current
2026-02-05 14:44:31 +01:00
Maze Winther
d0b4b1a5fc
fix migration dialog
2026-02-05 14:28:16 +01:00
Maze Winther
2257ca2e6f
make storage versioning per-project + few other refactors
2026-02-05 12:53:56 +01:00
Maze Winther
490fc170c0
checkbox
2026-02-03 21:10:08 +01:00
Maze Winther
feb8a07c16
remove comment
2026-02-03 14:00:43 +01:00
Maze Winther
7366cb27e9
fix v1 to v2 migration
2026-02-03 14:00:04 +01:00
Maze Winther
34daad9df7
comments
2026-02-03 08:48:32 +01:00
Maze Winther
9bc35363b9
remove hover state from export button
2026-02-03 08:33:42 +01:00
Maze Winther
e84c0cfda6
comments + codebase index
2026-02-02 23:17:30 +01:00
Maze Winther
1dbc22b2f4
docs: update contribution guidelines and pull request template
2026-02-02 19:51:04 +01:00
Maze Winther
ad794fa43b
Merge branch 'timeline-zoom'
2026-02-02 19:46:51 +01:00
Maze Winther
9ca32e5e39
fix: click empty on track to move playhead
2026-02-02 19:44:27 +01:00
Maze Winther
5120e2efa6
feat: timeline zoom anchoring
2026-02-02 19:42:35 +01:00
Maze Winther
1aec9c5cf5
fix comment
2026-02-02 19:15:25 +01:00
Maze Winther
e88a059222
increase zoom of buttons + refactor
2026-02-02 19:14:37 +01:00
Maze Winther
c3f0d640ef
feat: exponential zoom
2026-02-02 18:11:12 +01:00
Maze Winther
7d5914353b
Merge branch 'staging'
2026-02-01 17:01:59 +01:00
Maze Winther
ee7eaecc9f
add comments
2026-02-01 16:44:07 +01:00
Maze Winther
8ea3db833f
organize imports
2026-02-01 16:43:57 +01:00