Commit Graph

53 Commits

Author SHA1 Message Date
Maze Winther 446e68e65e chore: monorepo setup and web foundation 2026-05-27 00:30:10 +02:00
Maze Winther b3d35fbc2a chore: clean state 2026-05-06 22:59:08 +02:00
Maze Winther 6b1f38a9a3 refactor: split animation helpers by domain 2026-04-26 20:44:07 +02:00
Maze Winther 56ca09692a refactor: thinner hooks 2026-04-26 17:31: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 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 44d8c4c876 refactor: unify element updates into pipeline and centralize ripple 2026-04-06 00:02:23 +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 4d127a038b chore: normalize line endings 2026-03-29 15:56:48 +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 e15ccefbe5 deps 2026-02-01 11:26:58 +01:00
Maze 7bf0984698
codebase overhaul (#697) 2026-01-31 00:20:04 +01:00
Maze Winther f9170dcf09 style: re-design colors in text properties panel 2025-08-27 17:23:16 +02:00
Maze Winther a4f2273e25 feat: mediabunny + preview canvas refactor 2025-08-23 11:00:59 +02: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
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
Hayden Bleasel 5931ddb77a
feat: add ultracite (#452)
* Init ultracite

* Update scripts and biome.jsonc

* Update biome.jsonc

* Update biome.jsonc

* Update biome.jsonc

* Run format
2025-07-25 00:41:34 +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 fe0175c15e chore: fix bun lock for duplicate 2025-07-22 12:02:53 +02: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 6ba75a28f5 chore: add @biomejs/biome as dependency 2025-07-21 20:15:53 +07:00
Maze Winther fef9d9a3fb ??? typescript 2025-07-17 17:08:33 +02:00
Maze Winther 0554a031c2 man idk 2025-07-16 14:52:53 +02:00
Ahmet Kilinc eb49500592 adds Vercel BotId 2025-07-16 01:00:40 +01:00
Maze Winther 10b6cc98b8 chore: bump next version in bun lock 2025-07-15 14:57:05 +02:00
Maze Winther cb877769fb refactor: remove google auth 2025-07-15 12:35:08 +02: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 Winther e57ca15dc6 fix: missing name field 2025-07-12 16:54:55 +02:00
creotove 7f0bcea4ca Feat: basic audio waveform added. 2025-06-25 15:29:20 +05:30
Maze Winther 33916d4e91 chore: update @types/node to version 22.15.33 and add project name in package.json 2025-06-24 21:29:15 +02:00