| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
preview popout
- New Lens category in the assets panel: Blur, Motion Blur, Zoom In/Out,
Pan x4, Shake, Pulse, Spin, Custom Zoom. EffectDefinition gains a
category field; tabs with an empty category are hidden, and the
properties-panel 'Open effects' button opens the first non-empty one.
- Motion effects work standalone: dropping them on the timeline creates
an effect-track element that animates (scale/translate/rotate) every
track below it, computed purely in the TS frame descriptor - no wasm
changes, identical in preview and export. supportsStandalone removed.
- Motion Blur: directional gaussian smear (amount + angle) reusing the
existing WGSL shader with arbitrary u_direction.
- Custom Zoom: start/end scale params (keyframable clip-level).
- MotionOffset gains optional rotate, accumulated clip-level and applied
to standalone layer quads via rotationDegrees.
- Rename clips (timeline context menu) and media assets (media panel
context menu) via a shared RenameDialog; asset rename persists through
storageService with rollback on error.
- Preview pops out into a Document Picture-in-Picture window and docks
back; button hidden where the API is unsupported.
- Export keeps running when the export popover is closed; only the
explicit Cancel button aborts.
- Captions and Adjustment tabs removed from the assets panel.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On the WebGL backend wgpu can only present to the single canvas its GL
context is bound to, which is also the compositor's output canvas. The
effect tile previews (and mask feather) rendered through that canvas
and resized it behind the compositor's back, leaving the main preview
showing the preview image stretched until a full reload.
TS side (works with the published wasm): after every applyEffectPasses/
applyMaskFeather call the gpu renderer restores the canvas size, using
a one-pixel intermediate resize to force a surface reconfigure, then
notifies the preview component to re-render the current frame.
Rust side (next wasm publish): the GL canvas detour saves and restores
the canvas size, and resizeCompositor always reconfigures the surface.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove dead ternary in getPreferredEdges (always returned undefined; the
all-false object was never reached by Object.values().some(Boolean))
- Document why drawWithFeather descriptors zero the feather field in the
compositor (analytical renderer handles softness itself; zeroing prevents
a second JFA feather pass)
- Remove legacyType from V30→V31 migration (not consumed anywhere; a
down-migration can map type:"freeform" back to "custom" directly)
- Add V30→V31 test coverage: skip-guard branches, freeform passthrough,
elements without a masks array
- Add snap tests for vertical-edge (bottom) and uniform-scale handle paths
Co-authored-by: Cursor <cursoragent@cursor.com>
|
| |
|
|
| |
Made-with: Cursor
|
| |
|
|
| |
Made-with: Cursor
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
and dep graph
|
| | |
|
| | |
|
|
|
Made-with: Cursor
|