Commit Graph

49 Commits

Author SHA1 Message Date
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
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 e00ba706fe update deps 2026-01-31 22:24:22 +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 0274fb6626 cleanup 2025-08-13 17:05:17 +02:00
ryu 0ae09c9df5
Merge branch 'staging' into feat/timeline-return-to-start 2025-08-13 14:01:07 +05:00
Khang Hoang c72badb7e9
fix missing package on fresh installation (#537)
Co-authored-by: Maze <167211895+mazeincoding@users.noreply.github.com>
2025-08-12 19:39:28 +02:00
Maze Winther 5b059ce6de feat: auto-captions 2025-08-11 22:24:54 +02:00
ryu e71788014d
Merge branch 'main' into feat/timeline-return-to-start 2025-08-07 19:37:06 +05:00
ryu 6412158003 feat: enhance timeline navigation with comprehensive testing and documentation
- Add comprehensive test suite with 13 passing tests
- Create detailed keyboard shortcuts documentation (KEYBOARD_SHORTCUTS.md)
- Add meaningful code comments explaining functionality
- Set up Vitest testing framework with proper mocks
- Fix React imports in timeline components for proper JSX rendering
- Add ResizeObserver mock for browser environment compatibility
- Enhance keyboard shortcuts help to properly format Enter key display

Tests cover:
- Enter key keybinding functionality
- Return to Start button click behavior
- Keyboard shortcuts help system integration
- Component rendering and tooltip structure

Documentation includes:
- Complete keyboard shortcuts reference
- UI feature explanations
- Usage notes and behavior descriptions

All tests passing (13/13) with full feature coverage.
2025-08-01 03:04:06 +05:00
ryu f5d5a387d3 feat: add timeline navigation return to start functionality
- Add Enter key shortcut for seeking to timeline start (00:00:00)
- Add return to start button in timeline toolbar with skip-back icon
- Both methods complement existing Home key shortcut
- Update keyboard shortcuts help to display Enter key properly
- Maintain consistent UI styling with existing playback controls

Resolves #415
2025-08-01 02:33:42 +05:00
Brandon McConnell df1e80b528 Lay groundwork for Tailwind v4 upgrade 2025-07-30 13:15:09 -04:00
Dominik K. 1c20027d33
feat: create external tools section (#493)
* feat: create external tools section

* fix: better wording
2025-07-30 16:20:44 +03:00
iza 81ad5c1782
Merge pull request #443 from OpenCut-app/feat/sitemap
feat: add sitemap and robots generation
2025-07-23 20:46:02 +03:00
Dominik Koch 17d1336c80 chore: bump nextjs 2025-07-23 19:33:30 +02:00
Taqib 57243bc4b4 feat: add an rss feed 2025-07-23 15:11:10 +01:00
Maze Winther fb5dca9f9d Merge branch 'main' into staging 2025-07-22 11:41:58 +02:00
Dominik Koch 5ef6e2bc97 fix: implement coderabbit suggestions
They actually good wtf
2025-07-21 23:45:02 +02:00
Dominik Koch e21c467489 feat: add opencut blog 2025-07-21 23:18:07 +02:00
tuananh31j 18296402cb config: Turborepo and Biome configuration 2025-07-21 19:42:25 +07:00
Maze Winther fef9d9a3fb ??? typescript 2025-07-17 17:08:33 +02:00
Maze Winther 8bc26539eb cleanup (this doesn't work) 2025-07-16 14:37:08 +02:00
Maze Winther 527d588897 chore: bump lucide react verion 2025-07-16 13:40:34 +02:00
Ahmet Kilinc eb49500592 adds Vercel BotId 2025-07-16 01:00:40 +01:00
Maze Winther 2432bcf54b chore: bump next version 2025-07-15 14:56:48 +02:00
tranminhquang 9d5fb821c7 feat: integrate @t3-oss/env for environment variable management across the application 2025-07-15 13:29:16 +07:00
Maze Winther 7798334300 feat: roadmap page and move all open-graph images to /open-graph folder 2025-07-14 20:34:16 +02:00
Maze Winther 89691312b8 chore: bump drizzle-orm version 2025-07-14 16:20:52 +02:00
Maze e96832bf9b
Merge pull request #172 from Zaid-maker/bump-bun-version
Bump bun version
2025-07-12 16:52:42 +02:00
Maze Winther 8545d95070 refactor: add FPS and remove turbopack (yes, fuck you turbopack) 2025-07-12 12:48:31 +02:00
Zaid Hafeez 74408541fd
Update package.json 2025-07-08 13:24:33 +05:00
priyankarpal f76555dae5
fix: remmove video track when media is deleted 2025-06-26 21:29:03 +05:30
muhammed sinan 354dbbd0f9 Moved @types/pg into devDependencies 2025-06-25 14:59:49 +05:30
Hyteq b57d6db5a0 first test 2025-06-24 13:44:23 +03:00
Hyteq d25e1eaa1d feat: migrated packages properly, using packages in web app 2025-06-24 11:29:15 +03:00
Hyteq 140880a444 chore(turborepo): initial setup and config, move db to package 2025-06-24 11:23:40 +03:00
Maze Winther 4260d4be08 feat: implement unified AuthForm component for login and signup pages 2025-06-24 02:48:14 +02:00
Hyteq fd7ac5fd42 fix: mentions of npm 2025-06-23 13:39:38 +03:00
Hyteq 8ab6d243bb feat: github templates and db migration 2025-06-23 13:37:33 +03:00
Hyteq 56480772c3 feat: initial DnD and ffmpeg install 2025-06-23 10:33:03 +03:00
Hyteq ed6ab6cd5b feat: cleaned up video player, added functionality, zooming in/out, timeline position viewer, keyboard controls 2025-06-23 09:18:15 +03:00
Hyteq 589f4a20a1 feat: migrated to latest radix to improve performance / tree-shaking 2025-06-23 09:06:42 +03:00
Maze Winther 4bcd8aec0e chore: add cross-env as dep 2025-06-22 14:27:44 +02:00
Maze Winther 6e84dcaffb chore: add dotenv as dependency 2025-06-22 13:45:34 +02:00
Maze Winther faca97f1ae add upstash rate limiting 2025-06-22 13:21:03 +02:00
Maze Winther be97024868 so much stuff??? 2025-06-22 13:07:02 +02:00
Maze Winther 87a83a5604 Initial commit 2025-06-22 10:02:50 +02:00