Commit Graph

24 Commits

Author SHA1 Message Date
anh doan 46d741a51a
chore: handle validate hex color 2026-03-23 17:13:34 +07:00
anh doan 4f74ec9057
chore: add util for get effectParams 2026-03-23 16:41:42 +07:00
anh doan 22a42d509b
fix: review coderabbit 2026-03-23 15:29:45 +07:00
anh doan 6cbc8d9d1b
test(effects): add unit tests for chromatic aberration, glitch, sharpen, and vignette effects
- Implement tests for chromatic aberration effect definition, verifying type, name, category, parameters, and renderer behavior.
- Add tests for glitch effect definition, covering type, name, parameters, and rendering logic.
- Create tests for sharpen effect definition, ensuring correct parameter defaults and rendering.
- Introduce tests for vignette effect definition, validating parameters and rendering behavior.

These tests enhance coverage for the new effects introduced in the @opencut/effects package.
2026-03-23 15:21:10 +07:00
anh doan 81adac6e1e
feat(effects): add @opencut/effects package with 24 effects and presets
Add a standalone effects package that extracts effect definitions,
GLSL shaders, and registry from @opencut/web into a reusable package.

## Package (@opencut/effects)

- Registry: register/get/has/getAll effects with Map-based lookup
- Categories: COLOR_TONE, ARTISTIC, BEAUTY with display metadata
- Types: Effect, EffectDefinition, EffectContext, WebGLEffectPass

### Effects (24 total)

**Color & Tone (8):** brightness, contrast, saturation, hue-shift,
temperature, exposure, gamma, color-balance

**Artistic (10):** blur, vignette, film-grain, sharpen, pixelate,
chromatic-aberration, glitch (2-pass), neon-glow (2-pass),
sketch (2-pass), oil-paint (2-pass)

**Beauty (6):** skin-smooth (bilateral filter), face-brighten,
eye-enhance, teeth-whiten, blush, slim-face

### Presets (12)

- Instagram: clarendon, juno, lark, gingham, valencia, nashville
- Cinematic: teal-and-orange, vintage-film, noir, bleach-bypass
- Beauty: soft-glow, portrait

## Web App Integration

- Migrate blur effect from web app to package
- Update imports via re-export pattern (backward compatible)
- Pass time param for animated effects (film-grain, glitch)
- Add face-mesh service using MediaPipe Face Mesh (lazy-loaded)
- Beauty effects auto-detect faces and pass EffectContext
- Async renderVisual for face detection pipeline

## Tests

152 unit tests covering registry, all effect definitions, and presets
2026-03-23 13:32:46 +07:00
Maze Winther f75b5d3fd2 fix a ton of issues + improvement 2026-02-25 01:37:56 +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 7bf0984698
codebase overhaul (#697) 2026-01-31 00:20:04 +01:00
Maze Winther f3ddf26334 feat: export waitlist 2025-08-17 18:50:13 +02:00
Maze Winther 5e2b07e518 feat: better auth rate limiting 2025-08-02 17:33:23 +02:00
Maze Winther c8980de41a refactor: remove all waitlist-related code 2025-08-02 17:28:01 +02: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
Maze Winther cb877769fb refactor: remove google auth 2025-07-15 12:35:08 +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 73ba7d6577 fix: better auth env variable 2025-07-14 16:16:10 +02:00
Mirza-Samad-Ahmed-Baig d48a3fe287 refactor: improve theme handling, env var safety, and db schema 2025-07-12 13:31:50 +05:00
Maze Winther 8fe09c83b1 fix: DATABASE_URL error on setup 2025-06-27 16:56:59 +02:00
iza b66e85cf4d
Merge pull request #48 from fathisiddiqi/fix/google-login
fix: set redirect uri for google login and prevent router push when login by google
2025-06-26 11:28:58 +03:00
fathisiddiqi 2f5bde1051 fix: remove GOOGLE_REDIRECT_URI env due to better auth set the default of that 2025-06-26 09:55:30 +07:00
fathisiddiqi 6626a8c413 fix: set redirect uri for google login and prevent router push when login by google 2025-06-26 09:33:47 +07:00
ANAGO Ronnel ebb3456c10 refactor: update imports in waitlist API and library to ensure consistent usage of drizzle-orm functions 2025-06-26 02:51:17 +02:00
Maze Winther 0ebab57aaa fix: version mismatch with drizzle 2025-06-24 10:55:06 +02:00
Hyteq 3b4577e474 feat: initial auth package 2025-06-24 11:31:35 +03:00
Hyteq 140880a444 chore(turborepo): initial setup and config, move db to package 2025-06-24 11:23:40 +03:00