- 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.
- 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.
Major features and improvements:
* **Clip Effects**:
* Added UI in Properties Panel to manage effects on video/image clips (add, remove, toggle, reorder).
* Implemented dynamic parameter fields for effects.
* Added support for keyframing effect parameters.
* **Assets Panel**:
* Added sorting options: Name, Type, Duration, and File Size.
* Persisted view preferences (grid/list mode, sort order) to local storage.
* Refactored media item rendering and drag interactions.
* **Timeline & Interaction**:
* **Keyframe Dragging**: Added ability to drag keyframes directly on the timeline element.
* **Resizing**: Improved resize logic to respect neighboring clips (prevents overlaps).
* **Visuals**: Implemented tiled background rendering for video/image clips on the timeline.
* **Shortcuts**: Added "Deselect All" action bound to the `Escape` key.
* **Fixes**: Corrected drag-and-drop coordinate calculations when the timeline track area is scrolled.
* **Text Elements**:
* Refactored text background storage to use an explicit `enabled` flag.
* Added `V8toV9` storage migration to update existing projects.
* **Architecture**:
* Moved export state management to `ProjectManager` for better lifecycle handling.
* Refactored `PropertiesPanel` sections to be more composable (custom headers, borders).