Commit Graph

67 Commits

Author SHA1 Message Date
Maze Winther 6b1f38a9a3 refactor: split animation helpers by domain 2026-04-26 20:44:07 +02:00
Maze Winther 7428dc75cf chore: bump opencut-wasm version 2026-04-22 14:24:28 +02:00
Maze Winther 729d10592f fix: WebGL frame rendering and opencut-wasm 0.2.8 2026-04-19 07:42:52 +02:00
Maze Winther 794d4ae149 fix: align LayerUniformBuffer to 16 bytes for WebGL compat 2026-04-18 15:01:59 +02:00
Maze Winther 2c344fa01d fix: use published opencut-wasm package 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 e4b67094e7 refactor: split effects and masks into dedicated rust crates, introduce MediaTime and FrameRate 2026-04-07 01:09:13 +02:00
Maze Winther 22725f71fa chore: update opencut-wasm to 0.1.3 2026-04-03 03:37:41 +02:00
Maze Winther 3516bd69f4 fix: use published opencut-wasm package 2026-04-01 21:30:26 +02:00
Maze Winther e579ae1202 feat: migrate GPU renderer from WebGL to wgpu/WASM 2026-04-01 13:57:32 +02:00
Maze Winther dcf54c1250 feat: migrate time utilities from typescript to rust WASM 2026-03-31 04:03:52 +02:00
Maze Winther 0a6ede73ae chore: update deps 2026-03-29 18:57:05 +02:00
Maze Winther 220ec757d4 refactor: move packages sub-folders into web app 2026-03-29 15:58:46 +02:00
Maze Winther 6df9d70b9b chore: update dep 2026-03-29 15:58:46 +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 8db3bead13 feat: masks, properties refactor, shaders, storage migrations, and more 2026-03-29 15:48:22 +02:00
Maze Winther 8e8f1c3596 chore: upgrade tailwind-related deps 2026-03-04 01:47:40 +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
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