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
Dipanshu Rawat
6da55c7aee
chore: improve accessibility and security ( #707 )
...
- Update roadmap description date from July 14, 2025 to February 2026
- Improve landing page hero image alt text for better a11y
- Add noreferrer to external links for security best practice
2026-02-25 03:27:27 +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
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
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
93d1e3383c
feat: major editor overhaul (assets, properties, timeline, fonts) ( #709 )
...
* feat: major editor overhaul (assets, properties, timeline, fonts)
Refactor editor core systems to standardize UI architecture and improve performance.
Assets & Properties:
- Replace monolithic property items with composable `Section` architecture.
- Add specialized sections for Transform, Blending, and Text.
- Implement `NumberField` with scrubbing and math evaluation.
- Add new ColorPicker with EyeDropper and multiple format support.
- Standardize asset panels using new `PanelView` layout.
Fonts & Stickers:
- Implement custom font atlas/sprite system for high-performance previews.
- Add virtualized FontPicker with search and favorites.
- Refactor stickers to use a provider-based architecture (icons, emoji, flags, shapes).
- Standardize sticker IDs to `provider:value` format.
Timeline & Interaction:
- Convert bookmarks to rich objects with notes, colors, and duration.
- Refactor drag-and-drop to use Command pattern (enabling proper undo/redo).
- Add Shift modifier to disable snapping during moves/resizes.
- Add new overlays for layout guides and text editing.
Renderer:
- Add support for multi-line text, custom line-height, and letter-spacing.
- Implement global composite operation (blend modes).
- Update sticker node to resolve dynamic provider IDs.
Infrastructure:
- Add storage migrations (v3->v6) for text weights, sticker IDs, and bookmarks.
- Update global styles and core UI components (Button, Input, Popover).
* add ts-nocheck directive to settings-legacy.tsx to suppress TypeScript errors
* fix: correct global composite operation assignment in TextNode to ensure proper blend mode handling
* deleted shadcn components with errors
* formatting
* fix linter issues
* migrate from next middleware to proxy
* add missing component back
* add breadcrumb back
* chore: add @radix-ui/react-primitive deps
* chore: more deps
* chore: add missing env vars to bun-ci
* next env
2026-02-23 03:24:02 +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
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
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
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
Maze Winther
22ea6b8925
change rounding
2026-02-01 15:35:53 +01:00
Maze Winther
dfccf905bb
more test stuff
2026-02-01 13:31:44 +01:00
Maze Winther
3e4584edde
fix
2026-02-01 13:19:51 +01:00
Maze Winther
4cd15fcf00
fix default panel sizes
2026-02-01 12:32:28 +01:00
Maze Winther
748856f4c4
fix onboarding text
2026-02-01 12:32:18 +01:00
Maze Winther
2759d7ed31
add tests for storage migrations
2026-02-01 12:15:37 +01:00
Maze Winther
5e1e509c11
testing 4
2026-02-01 11:18:38 +01:00
Maze Winther
bfcf20e108
testing 3
2026-02-01 11:16:18 +01:00
Maze Winther
4f64ff50cd
testing 2
2026-02-01 11:09:55 +01:00
Maze Winther
58f23e8f2a
testing
2026-02-01 11:06:20 +01:00
Maze Winther
33f4a54768
please
2026-02-01 10:59:05 +01:00
Maze Winther
1d55b903d7
fix remaining errors
2026-02-01 10:03:51 +01:00
Maze Winther
af047ba4a7
more errors
2026-02-01 09:54:29 +01:00
Maze Winther
ef3563745a
fix errors
2026-02-01 02:10:24 +01:00
Maze Winther
d06b7c3b0f
update type definition for containerRef in ColorPickerProps to allow null
2026-02-01 01:44:48 +01:00
Maze Winther
b7293dc552
fix type definition for ref in PanelBaseViewProps
2026-02-01 00:32:35 +01:00
Maze Winther
82d92934cb
typescript error
2026-02-01 00:22:48 +01:00
Maze Winther
b2a976ba82
fix type error (build)
2026-02-01 00:20:34 +01:00
Maze Winther
1d31b7a586
fix import
2026-01-31 22:54:33 +01:00
Maze Winther
f820d9a894
refactor services structure
2026-01-31 22:19:11 +01:00
Maze
7bf0984698
codebase overhaul ( #697 )
2026-01-31 00:20:04 +01:00
Maze Winther
88304c8a90
fix: ts error
2025-09-03 00:10:56 +02:00
Maze Winther
167e2b83dc
feat: add support for deleting/splitting multiple elements instead of single
2025-09-02 23:07:11 +02:00
Maze Winther
c5c32a1e34
style: make plus button bigger
2025-09-01 23:20:01 +02:00
Maze Winther
f7ef8d7f38
move logic to zustand store
2025-09-01 23:17:48 +02:00
Maze Winther
42cf851d63
disable back animation
2025-09-01 23:02:57 +02:00
Maze Winther
c5480d307c
refactor: make stickers use panel base view
2025-09-01 23:01:15 +02:00
Maze Winther
3d67b065f5
refactor: remove success toast
2025-09-01 22:19:55 +02:00
Maze Winther
9c00da37b9
actually fix border
2025-09-01 22:17:12 +02:00
Maze Winther
d8f446580c
feat: remove default background scene and add scene management
2025-09-01 22:15:32 +02:00
Maze Winther
b84e699e9c
fix: border issue
2025-09-01 17:27:39 +02:00
Maze Winther
af1964cf11
fix: scenes now load properly
2025-09-01 17:18:00 +02:00
Maze Winther
e2bd8d1e09
fix: don't pre-fetch sounds
2025-09-01 16:31:03 +02:00
Maze Winther
971f9d35d7
fix: normal case instead of title case
2025-09-01 16:20:13 +02:00
Maze Winther
dd02e31380
refactor: reduce code duplication
2025-09-01 16:19:14 +02:00
Maze Winther
350b55081c
refactor(core): switch to scene-based architecture
2025-09-01 16:17:06 +02:00
Maze Winther
2b700b7474
feat: scenes button to timeline toolbar
2025-08-31 23:25:26 +02:00
Maze Winther
e43d79e4c5
style: fix timeline toolbar border to extend full width
2025-08-31 22:39:20 +02:00
Maze Winther
45d0caf979
style: spacing
2025-08-31 21:55:36 +02:00
Maze Winther
6e32d4aed5
refactor: move timeline toolbar to separate file
2025-08-31 21:54:42 +02:00
Maze Winther
8eabbeae7c
more changes
2025-08-31 21:51:31 +02:00
Maze Winther
2c5d5dc234
bunch of small improvements
2025-08-31 19:57:50 +02:00
Maze Winther
46a74b30ba
update roadmap to check off export
2025-08-31 14:43:25 +02:00
Maze Winther
73a156c002
gradient backgrounds now work
2025-08-31 14:35:24 +02:00
Maze Winther
29fdd8568d
refactor: improve types, fix background blur, some other stuff
2025-08-31 14:10:59 +02:00
Maze Winther
3db7666467
more styling
2025-08-31 13:53:13 +02:00
Maze Winther
ae50aee4b6
style: spacing
2025-08-31 13:48:29 +02:00
Maze Winther
e7d75ce1f8
fix: add fallback
2025-08-31 13:43:52 +02:00
Maze Winther
d747fb458d
feat: make timeline renderer 15x faster
2025-08-31 13:40:41 +02:00
Maze Winther
e222f15d1d
feat: implement timeline caching with cache indicator
2025-08-31 13:26:53 +02:00
Maze Winther
21dac9f09e
fix space key to play
2025-08-31 00:58:33 +02:00
Maze Winther
5abddb0a22
idk
2025-08-31 00:04:41 +02:00
Maze Winther
598afab08b
style: fix spacing
2025-08-31 00:03:55 +02:00
Maze Winther
2afd4ec6fb
feat: switching theme across entire site
2025-08-31 00:01:38 +02:00
Maze Winther
886cf81bd0
feat: timeline auto-scroll for moving clips
2025-08-28 23:59:40 +02:00
Maze Winther
a7d90f7eac
feat: copy/pasting for elements
2025-08-28 22:37:51 +02:00
Maze Winther
70a9bfebb1
feat: add audio support for export
2025-08-28 21:52:03 +02:00
Maze Winther
d4e08bb7e3
fix: deselect text before timeline selection
2025-08-27 17:55:54 +02:00
Maze Winther
06e3d0ca2a
fix: color picker
2025-08-27 17:45:13 +02:00
Maze Winther
f9170dcf09
style: re-design colors in text properties panel
2025-08-27 17:23:16 +02:00
Maze Winther
ebe1b38bdf
style: properties panel
2025-08-27 11:26:28 +02:00
Maze Winther
88c4d160e0
more padding
2025-08-27 01:02:43 +02:00
Maze Winther
163b3599dc
padding
2025-08-27 00:56:37 +02:00
Maze Winther
adc8cb37fc
another huge refactor
2025-08-27 00:52:39 +02:00
Maze Winther
b459b46802
refactor: type-safety & separate concerns
2025-08-26 15:04:25 +02:00
Maze Winther
2f7cd11ca1
refactor: type-safety
2025-08-26 11:51:08 +02:00
Maze Winther
9497bef10a
Merge branch 'staging' of https://github.com/mazeincoding/AppCut into staging
2025-08-26 11:44:06 +02:00
Maze Winther
74d45a7913
style: sonner position
2025-08-26 11:44:00 +02:00
Taesu
7434f90949
fix: use svh to prevent hero mobile layout shift ( #572 )
...
* Update README.md
* fix: use svh to prevent mobile layout shift
---------
Co-authored-by: Maze <167211895+mazeincoding@users.noreply.github.com>
Co-authored-by: Maze Winther <mazewinther@gmail.com>
2025-08-25 21:10:48 +02:00
Danilo Arantes F.
03e68e77a9
fix(editor): Don't log expected errors in `AudioWaveform` during unmount ( #565 )
...
* Update README.md
* fix(editor): Don't log expected errors in `AudioWaveform` during unmount
---------
Co-authored-by: Maze <167211895+mazeincoding@users.noreply.github.com>
Co-authored-by: Maze Winther <mazewinther@gmail.com>
2025-08-25 11:37:33 +02:00
Maze Winther
a4f2273e25
feat: mediabunny + preview canvas refactor
2025-08-23 11:00:59 +02:00
Megh Bari
ffc1d7526e
feat(rename-modal): enhance input visibility in dark theme with border ( #561 )
2025-08-19 23:24:09 +02:00
David
f750c45765
fix: adjust padding in HeaderBase for landing page ( #563 )
2025-08-19 23:23:19 +02:00
Maze Winther
756a7c7caa
feat: implement reveal in media feature
2025-08-18 10:54:28 +02:00
Maze Winther
13dff382c4
Merge branch 'staging' of https://github.com/mazeincoding/AppCut into staging
2025-08-17 18:50:25 +02:00
Maze Winther
f3ddf26334
feat: export waitlist
2025-08-17 18:50:13 +02:00
enkei64
0f1ed40aef
fix: stickers panel ( #553 )
...
* fixes to the stickers panel
* Reduce padding on the sides to save space
2025-08-16 23:03:16 +02:00
Maze Winther
bb461fa9fb
refactor: move export button to component
2025-08-16 21:44:23 +02:00
Maze Winther
a90a0f9740
typo
2025-08-16 19:16:20 +02:00
Maze Winther
11d2a66c95
style: improve ui for selected timeline elements
2025-08-16 19:11:50 +02:00
Maze Winther
77d8c6c774
style: sort button in /projects
2025-08-16 18:54:18 +02:00
Maze Winther
c0709293da
style: rounded corners
2025-08-16 18:43:54 +02:00
Maze Winther
9da0dfc107
fix: clear timeline/media on new project creation to prevent state leakage
2025-08-16 18:26:41 +02:00
Maze Winther
a0f8e2c1a7
fix: clarify onboarding
2025-08-16 11:46:34 +02:00
Maze Winther
96f3373fad
Merge branch 'staging' of https://github.com/mazeincoding/AppCut into staging
2025-08-16 11:36:55 +02:00
Maze Winther
354b6caedd
fix: improve clarity on export button
2025-08-16 11:36:53 +02:00
karansingh21202
e96682f89e
fix: enable removing background color in text back to transparent and remember last selection ( #510 )
2025-08-16 07:39:32 +02:00
enkei64
1b1486ad94
fix color of icon in footer when in light mode ( #552 )
2025-08-16 07:37:30 +02:00
Maze Winther
f4e127f2d4
feat: export notice dialog
2025-08-15 23:44:19 +02:00
Shubhashish Chakraborty
4621caee19
made header sticky on scroll ( #519 ) ( #520 )
...
* made header sticky on scroll (#519 )
* cleanup
---------
Co-authored-by: Maze Winther <mazewinther@gmail.com>
2025-08-15 23:22:34 +02:00
Zaka
7e4cd76762
feat: add an input so the user can go to a specific timestamp ( #530 )
...
* feat: add an input so the user can go to a specific timestamp
* fix: use TimeCode type for EditableTimecodeProps
* cleanup
---------
Co-authored-by: Maze Winther <mazewinther@gmail.com>
2025-08-15 23:01:18 +02:00
Maze Winther
033a9aa1bc
refactor: duplicated classes
2025-08-15 22:36:48 +02:00
Maze Winther
aa5cd1edca
refactor: shortcuts help
2025-08-15 22:34:04 +02:00
karansingh21202
32d263fccc
fix: improve keyboard shortcuts dialog scrolling behavior and cursor ( #522 )
2025-08-15 02:49:18 +02:00
Maze Winther
7f91c9ca00
Merge branch 'staging' of https://github.com/mazeincoding/AppCut into staging
2025-08-15 02:12:16 +02:00