Commit Graph

1205 Commits

Author SHA1 Message Date
Maze Winther e95992b406 chore: add missing open-next config 2026-03-29 15:58:46 +02:00
Maze Winther 6df9d70b9b chore: update dep 2026-03-29 15:58:46 +02:00
Maze Winther f8a0390827 chore: rename proxy to middleware 2026-03-29 15:58:46 +02:00
Maze Winther d862e56e34 feat: init desktop app 2026-03-29 15:58:42 +02:00
Maze Winther 4d127a038b chore: normalize line endings 2026-03-29 15:56:48 +02:00
Maze Winther 82817cb50c chore: next-env 2026-03-29 15:49:30 +02:00
Maze Winther a54b3ef076 chore: update botid 2026-03-29 15:49:30 +02:00
Maze Winther 6dd8191f4b chore: init cloudflare 2026-03-29 15:49:30 +02:00
Maze Winther 722dcdd88f fix: resolve typescript/lint errors 2026-03-29 15:49:30 +02:00
Maze Winther 8db3bead13 feat: masks, properties refactor, shaders, storage migrations, and more 2026-03-29 15:48:22 +02:00
Maze Winther 5e2b829f8a changelog: add already-completed item 2026-03-29 15:46:35 +02:00
Maze Winther b09635064a fix: assets having unreasonable widths and heights 2026-03-29 15:41:10 +02:00
Maze Winther 6018efc5ac changelog: new version with already-made changes 2026-03-29 15:41:10 +02:00
kcfancher 63496d05a2
Fix transcription sample-rate handling (#740)
Fix for #703.

Adds an optional sampleRate parameter to the decodeAudioToFloat32() function. The caption transcriber passes in a value of 16000 to prepare audio in the format Whisper expects.
2026-03-28 19:06:40 +01:00
Maze Winther f2eed05d36 fix blog build when marble cms isn't available 2026-03-24 14:18:39 +01:00
Maze Winther 26d523ebad fix: fallback to opus codec 2026-03-09 00:10:31 +01:00
Maze Winther 0be9275a2d dialog: decrease gap 2026-03-04 17:18:28 +01:00
Maze Winther a2d08719f9 refactor: remove foreground variant from button, make it default 2026-03-04 17:16:01 +01:00
Maze Winther ca3e5c98e6 add context menu (w/ brand options) to header logo
allows downloading brand assets directly from the logo in the header
2026-03-04 17:11:32 +01:00
Maze Winther 5ca2de25c6 fix: auto scroll on link 2026-03-04 16:53:04 +01:00
Maze Winther ed8815c755 checker pattern for brand asset cards (branding page) 2026-03-04 16:45:03 +01:00
Maze Winther 24dac1232c rename branding page to brand 2026-03-04 02:56:08 +01:00
Maze Winther 46e55674de feat: branding page 2026-03-04 01:48:39 +01:00
Maze Winther 8e8f1c3596 chore: upgrade tailwind-related deps 2026-03-04 01:47:40 +01:00
Maze Winther 4e0483e425 replace opencut assets 2026-03-03 14:39:56 +01:00
Maze Winther 31dc78637f fix: outline button styling 2026-03-03 14:39:17 +01:00
Maze Winther 705faea56f feat: add changelog link to footer 2026-03-03 14:24:04 +01:00
Maze Winther 21f12ff763 button color 2026-03-03 14:22:14 +01:00
Maze Winther 719e0d4398 fix: invert logos in /sponsors when dark mode 2026-03-03 07:01:17 +01:00
Maze Winther df518cbf4e close effects after last effect removal + spacing 2026-03-02 21:00:28 +01:00
Maze Winther d9a214ef07 fix content-collections implicit content deprecation 2026-03-02 20:50:07 +01:00
Maze Winther dc58c10e64 changelog: fix date 2026-03-02 20:37:42 +01:00
Maze Winther 8fd9b96f80 fix changelog opengraph image 2026-03-02 20:36:28 +01:00
Maze Winther 5216f4398f changelog open graph image 2026-03-02 18:37:04 +01:00
Maze Winther 3a2ec3c291 changelog: improve phrasing for timeline clip gap description 2026-03-02 18:31:37 +01:00
Maze Winther a87b344ba5 Merge branch 'dev' 2026-03-02 17:48:39 +01:00
Maze Winther a635ae9e14 fix inconsistency in blur intensity 2026-03-02 17:43:42 +01:00
Maze Winther 88bf59d6b4 fix effects button in light mode 2026-03-02 17:42:11 +01:00
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 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 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 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 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 85f41756d1 feat: changelog page 2026-02-28 23:58:54 +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
Malthe Hartmann a352eb1aab
feat(projects): add right-click context menu to project cards (#711)
* feat(projects): add right-click context menu to project cards

- Add context menu with Rename, Duplicate, Info, Delete actions
- Works in both grid and list view
- Uses existing Radix UI ContextMenu components
- Mirrors actions from the existing ProjectMenu dropdown

Co-authored-by: Cursor <cursoragent@cursor.com>

* refactor(projects): lift dialog state out of ProjectMenu and context menu

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Maze Winther <mazewinther@gmail.com>
2026-02-28 14:12:31 +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
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 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 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 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 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 03c2b16064 next-env.d.ts 2026-02-01 11:31: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 02d4f9c314 no idea 2026-02-01 00:20:10 +01:00
Maze Winther 1d31b7a586 fix import 2026-01-31 22:54:33 +01:00
Maze Winther e00ba706fe update deps 2026-01-31 22:24:22 +01:00
Maze Winther f820d9a894 refactor services structure 2026-01-31 22:19:11 +01:00
Joep Duin 59c189ca27
Github readme logo fix. (#699)
* Add files via upload

* Update logo image source in README.md

* Rename logo.png to apps/web/public/icons/github-logo.png

* Rename github-logo.png to github-logo.png

* Rename github-logo.png to github-logo.png

* Rename apps/web/public/logos/github-logo.png to apps/web/public/logos/opencut/white-black.png

* Rename apps/web/public/logos/opencut/white-black.png to apps/web/public/logos/opencut/1k/logo-white-black.png

* Update logo image source in README

* Update logo image path in README.md
2026-01-31 15:55:01 +01:00
Maze 7bf0984698
codebase overhaul (#697) 2026-01-31 00:20:04 +01:00
Maze 154353ee66
Update next dependency version to 15.5.7 2025-12-07 22:24:42 +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