mirror of
https://github.com/OpenCut-app/OpenCut.git
synced 2026-07-13 21:52:53 +02:00
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.
58 lines
1.0 KiB
TypeScript
58 lines
1.0 KiB
TypeScript
import type { NextConfig } from "next";
|
|
import { withBotId } from "botid/next/config";
|
|
|
|
const nextConfig: NextConfig = {
|
|
turbopack: {
|
|
rules: {
|
|
"*.glsl": {
|
|
loaders: [require.resolve("raw-loader")],
|
|
as: "*.js",
|
|
},
|
|
},
|
|
},
|
|
compiler: {
|
|
removeConsole: process.env.NODE_ENV === "production",
|
|
},
|
|
reactStrictMode: true,
|
|
productionBrowserSourceMaps: true,
|
|
output: "standalone",
|
|
images: {
|
|
remotePatterns: [
|
|
{
|
|
protocol: "https",
|
|
hostname: "plus.unsplash.com",
|
|
},
|
|
{
|
|
protocol: "https",
|
|
hostname: "images.unsplash.com",
|
|
},
|
|
{
|
|
protocol: "https",
|
|
hostname: "images.marblecms.com",
|
|
},
|
|
{
|
|
protocol: "https",
|
|
hostname: "lh3.googleusercontent.com",
|
|
},
|
|
{
|
|
protocol: "https",
|
|
hostname: "avatars.githubusercontent.com",
|
|
},
|
|
{
|
|
protocol: "https",
|
|
hostname: "api.iconify.design",
|
|
},
|
|
{
|
|
protocol: "https",
|
|
hostname: "api.simplesvg.com",
|
|
},
|
|
{
|
|
protocol: "https",
|
|
hostname: "api.unisvg.com",
|
|
},
|
|
],
|
|
},
|
|
};
|
|
|
|
export default withBotId(nextConfig);
|