@vibecuting/video-project-core 0.1.29 → 0.1.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +9 -5
- package/src/base/BaseRemotionScene.test.tsx +11 -1
- package/src/base/index.ts +1 -0
- package/src/base/utils/asset-source.ts +11 -0
- package/src/base/utils/background-audio-layer.tsx +90 -0
- package/src/base/utils/background-layer.tsx +84 -0
- package/src/base/utils/chapter-progress-foreground.tsx +125 -0
- package/src/base/utils/chapter-progress-state.test.ts +28 -0
- package/src/base/utils/chapter-progress-state.ts +33 -0
- package/src/base/utils/display-motion.test.ts +21 -0
- package/src/base/utils/display-motion.ts +52 -0
- package/src/base/utils/display-surface.ts +57 -0
- package/src/base/utils/index.ts +10 -0
- package/src/base/utils/subtitle-style.ts +28 -0
- package/src/base/utils/video-layer-types.test.ts +145 -0
- package/src/base/utils/video-layer-types.ts +220 -0
- package/src/base/utils/voice-captions-foreground.tsx +169 -0
- package/src/core/intro/index.ts +18 -18
- package/src/core/outro/index.ts +33 -33
- package/src/core/scene/2dscene/{default-2d-scene-Horizontal.stories.tsx → default-2d-scene/default-2d-scene-Horizontal.stories.tsx} +1 -1
- package/src/core/scene/2dscene/{default-2d-scene-Horizontal.tsx → default-2d-scene/default-2d-scene-Horizontal.tsx} +1 -1
- package/src/core/scene/2dscene/{default-2d-scene-Landscape.tsx → default-2d-scene/default-2d-scene-Landscape.tsx} +1 -1
- package/src/core/scene/2dscene/{default-2d-scene.stories.tsx → default-2d-scene/default-2d-scene.stories.tsx} +1 -1
- package/src/core/scene/2dscene/{default-2d-scene.tsx → default-2d-scene/default-2d-scene.tsx} +4 -4
- package/src/core/scene/2dscene/index.ts +3 -3
- package/src/core/scene/3dscene/{default-3d-scene-Horizontal.stories.tsx → default-3d-scene/default-3d-scene-Horizontal.stories.tsx} +1 -1
- package/src/core/scene/3dscene/{default-3d-scene-Horizontal.tsx → default-3d-scene/default-3d-scene-Horizontal.tsx} +1 -1
- package/src/core/scene/3dscene/{default-3d-scene-Landscape.tsx → default-3d-scene/default-3d-scene-Landscape.tsx} +1 -1
- package/src/core/scene/3dscene/{default-3d-scene.stories.tsx → default-3d-scene/default-3d-scene.stories.tsx} +1 -1
- package/src/core/scene/3dscene/{default-3d-scene.tsx → default-3d-scene/default-3d-scene.tsx} +4 -4
- package/src/core/scene/3dscene/index.ts +3 -3
- package/src/core/scene/html-in-canvas/browser/default-html-in-canvas-browser-scene-Horizontal.stories.tsx +35 -0
- package/src/core/scene/html-in-canvas/browser/default-html-in-canvas-browser-scene-Landscape.stories.tsx +80 -0
- package/src/core/scene/html-in-canvas/dashboard/default-html-in-canvas-dashboard-scene-Horizontal.stories.tsx +35 -0
- package/src/core/scene/html-in-canvas/dashboard/default-html-in-canvas-dashboard-scene-Landscape.stories.tsx +35 -0
- package/src/core/scene/html-in-canvas/dashboard-shell/default-dashboard-shell-html-in-canvas-scene.stories.tsx +40 -0
- package/src/core/scene/html-in-canvas/dashboard-shell/default-dashboard-shell-html-in-canvas-scene.tsx +44 -0
- package/src/core/scene/html-in-canvas/dashboard-shell/index.ts +8 -0
- package/src/core/scene/html-in-canvas/docs/default-html-in-canvas-docs-scene-Horizontal.stories.tsx +35 -0
- package/src/core/scene/html-in-canvas/docs/default-html-in-canvas-docs-scene-Landscape.stories.tsx +35 -0
- package/src/core/scene/html-in-canvas/document/article/default-article-html-in-canvas-scene.stories.tsx +38 -0
- package/src/core/scene/html-in-canvas/document/article/default-article-html-in-canvas-scene.tsx +50 -0
- package/src/core/scene/html-in-canvas/document/article/index.ts +8 -0
- package/src/core/scene/html-in-canvas/document/default-document-html-in-canvas-scene.stories.tsx +40 -0
- package/src/core/scene/html-in-canvas/document/default-document-html-in-canvas-scene.tsx +50 -0
- package/src/core/scene/html-in-canvas/document/index.ts +31 -0
- package/src/core/scene/html-in-canvas/document/report/default-report-html-in-canvas-scene.stories.tsx +38 -0
- package/src/core/scene/html-in-canvas/document/report/default-report-html-in-canvas-scene.tsx +51 -0
- package/src/core/scene/html-in-canvas/document/report/index.ts +8 -0
- package/src/core/scene/html-in-canvas/document/whitepaper/default-whitepaper-html-in-canvas-scene.stories.tsx +41 -0
- package/src/core/scene/html-in-canvas/document/whitepaper/default-whitepaper-html-in-canvas-scene.tsx +50 -0
- package/src/core/scene/html-in-canvas/document/whitepaper/index.ts +8 -0
- package/src/core/scene/html-in-canvas/editor/default-html-in-canvas-editor-scene-Horizontal.stories.tsx +35 -0
- package/src/core/scene/html-in-canvas/editor/default-html-in-canvas-editor-scene-Landscape.stories.tsx +35 -0
- package/src/core/scene/html-in-canvas/full-bleed/default-full-bleed-html-in-canvas-scene.stories.tsx +40 -0
- package/src/core/scene/html-in-canvas/full-bleed/default-full-bleed-html-in-canvas-scene.tsx +38 -0
- package/src/core/scene/html-in-canvas/full-bleed/index.ts +8 -0
- package/src/core/scene/html-in-canvas/index.ts +6 -0
- package/src/core/scene/html-in-canvas/landing-page/default-landing-page-html-in-canvas-scene.stories.tsx +40 -0
- package/src/core/scene/html-in-canvas/landing-page/default-landing-page-html-in-canvas-scene.tsx +46 -0
- package/src/core/scene/html-in-canvas/landing-page/feature-grid/default-feature-grid-html-in-canvas-scene.stories.tsx +38 -0
- package/src/core/scene/html-in-canvas/landing-page/feature-grid/default-feature-grid-html-in-canvas-scene.tsx +41 -0
- package/src/core/scene/html-in-canvas/landing-page/feature-grid/index.ts +8 -0
- package/src/core/scene/html-in-canvas/landing-page/hero/default-hero-html-in-canvas-scene.stories.tsx +38 -0
- package/src/core/scene/html-in-canvas/landing-page/hero/default-hero-html-in-canvas-scene.tsx +46 -0
- package/src/core/scene/html-in-canvas/landing-page/hero/index.ts +8 -0
- package/src/core/scene/html-in-canvas/landing-page/index.ts +31 -0
- package/src/core/scene/html-in-canvas/landing-page/pricing/default-pricing-html-in-canvas-scene.stories.tsx +38 -0
- package/src/core/scene/html-in-canvas/landing-page/pricing/default-pricing-html-in-canvas-scene.tsx +42 -0
- package/src/core/scene/html-in-canvas/landing-page/pricing/index.ts +8 -0
- package/src/core/scene/html-in-canvas/media-wall/collage/default-collage-html-in-canvas-scene.stories.tsx +38 -0
- package/src/core/scene/html-in-canvas/media-wall/collage/default-collage-html-in-canvas-scene.tsx +42 -0
- package/src/core/scene/html-in-canvas/media-wall/collage/index.ts +8 -0
- package/src/core/scene/html-in-canvas/media-wall/default-media-wall-html-in-canvas-scene.stories.tsx +40 -0
- package/src/core/scene/html-in-canvas/media-wall/default-media-wall-html-in-canvas-scene.tsx +35 -0
- package/src/core/scene/html-in-canvas/media-wall/gallery/default-gallery-html-in-canvas-scene.stories.tsx +38 -0
- package/src/core/scene/html-in-canvas/media-wall/gallery/default-gallery-html-in-canvas-scene.tsx +43 -0
- package/src/core/scene/html-in-canvas/media-wall/gallery/index.ts +8 -0
- package/src/core/scene/html-in-canvas/media-wall/grid/default-grid-html-in-canvas-scene.stories.tsx +38 -0
- package/src/core/scene/html-in-canvas/media-wall/grid/default-grid-html-in-canvas-scene.tsx +35 -0
- package/src/core/scene/html-in-canvas/media-wall/grid/index.ts +8 -0
- package/src/core/scene/html-in-canvas/media-wall/index.ts +31 -0
- package/src/core/scene/html-in-canvas/shared/default-html-in-canvas-scene.tsx +1315 -0
- package/src/core/scene/index.ts +1 -0
- package/src/core/scene/photo/3dvr-photo/{default-3dvr-photo-scene.stories.tsx → default-3dvr-photo-scene/default-3dvr-photo-scene.stories.tsx} +2 -2
- package/src/core/scene/photo/3dvr-photo/{default-3dvr-photo-scene.tsx → default-3dvr-photo-scene/default-3dvr-photo-scene.tsx} +4 -4
- package/src/core/scene/photo/3dvr-photo/{default-3dvr-photo-scene-Horizontal.stories.tsx → default-3dvr-photo-scene-Horizontal/default-3dvr-photo-scene-Horizontal.stories.tsx} +1 -1
- package/src/core/scene/photo/3dvr-photo/{default-3dvr-photo-scene-Horizontal.tsx → default-3dvr-photo-scene-Horizontal/default-3dvr-photo-scene-Horizontal.tsx} +4 -4
- package/src/core/scene/photo/3dvr-photo/{default-3dvr-photo-scene-Landscape.tsx → default-3dvr-photo-scene-Landscape/default-3dvr-photo-scene-Landscape.tsx} +4 -4
- package/src/core/scene/photo/3dvr-photo/default-dolly-3dvr-photo-scene/default-dolly-3dvr-photo-scene.stories.tsx +38 -0
- package/src/core/scene/photo/3dvr-photo/default-dolly-3dvr-photo-scene/default-dolly-3dvr-photo-scene.tsx +36 -0
- package/src/core/scene/photo/3dvr-photo/default-orbit-3dvr-photo-scene/default-orbit-3dvr-photo-scene.stories.tsx +38 -0
- package/src/core/scene/photo/3dvr-photo/default-orbit-3dvr-photo-scene/default-orbit-3dvr-photo-scene.tsx +34 -0
- package/src/core/scene/photo/3dvr-photo/default-poster-3dvr-photo-scene/default-poster-3dvr-photo-scene.stories.tsx +38 -0
- package/src/core/scene/photo/3dvr-photo/default-poster-3dvr-photo-scene/default-poster-3dvr-photo-scene.tsx +39 -0
- package/src/core/scene/photo/3dvr-photo/index.ts +6 -3
- package/src/core/scene/photo/effects-photo/default-chrome-effects-photo-scene/default-chrome-effects-photo-scene.stories.tsx +24 -0
- package/src/core/scene/photo/effects-photo/default-chrome-effects-photo-scene/default-chrome-effects-photo-scene.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-cool-tone-effects-photo-scene/default-cool-tone-effects-photo-scene.stories.tsx +24 -0
- package/src/core/scene/photo/effects-photo/default-cool-tone-effects-photo-scene/default-cool-tone-effects-photo-scene.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-dream-effects-photo-scene/default-dream-effects-photo-scene.stories.tsx +23 -0
- package/src/core/scene/photo/effects-photo/default-dream-effects-photo-scene/default-dream-effects-photo-scene.tsx +37 -0
- package/src/core/scene/photo/effects-photo/default-duotone-effects-photo-scene/default-duotone-effects-photo-scene.stories.tsx +25 -0
- package/src/core/scene/photo/effects-photo/default-duotone-effects-photo-scene/default-duotone-effects-photo-scene.tsx +41 -0
- package/src/core/scene/photo/effects-photo/{default-effects-photo-scene.stories.tsx → default-effects-photo-scene/default-effects-photo-scene.stories.tsx} +2 -2
- package/src/core/scene/photo/effects-photo/default-effects-photo-scene/default-effects-photo-scene.tsx +639 -0
- package/src/core/scene/photo/effects-photo/{default-effects-photo-scene-Horizontal.stories.tsx → default-effects-photo-scene-Horizontal/default-effects-photo-scene-Horizontal.stories.tsx} +1 -1
- package/src/core/scene/photo/effects-photo/{default-effects-photo-scene-Horizontal.tsx → default-effects-photo-scene-Horizontal/default-effects-photo-scene-Horizontal.tsx} +4 -4
- package/src/core/scene/photo/effects-photo/{default-effects-photo-scene-Landscape.tsx → default-effects-photo-scene-Landscape/default-effects-photo-scene-Landscape.tsx} +4 -4
- package/src/core/scene/photo/effects-photo/default-glow-effects-photo-scene/default-glow-effects-photo-scene.stories.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-glow-effects-photo-scene/default-glow-effects-photo-scene.tsx +37 -0
- package/src/core/scene/photo/effects-photo/default-grain-effects-photo-scene/default-grain-effects-photo-scene.stories.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-grain-effects-photo-scene/default-grain-effects-photo-scene.tsx +37 -0
- package/src/core/scene/photo/effects-photo/default-halation-effects-photo-scene/default-halation-effects-photo-scene.stories.tsx +24 -0
- package/src/core/scene/photo/effects-photo/default-halation-effects-photo-scene/default-halation-effects-photo-scene.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-infrared-effects-photo-scene/default-infrared-effects-photo-scene.stories.tsx +24 -0
- package/src/core/scene/photo/effects-photo/default-infrared-effects-photo-scene/default-infrared-effects-photo-scene.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-light-leak-effects-photo-scene/default-light-leak-effects-photo-scene.stories.tsx +24 -0
- package/src/core/scene/photo/effects-photo/default-light-leak-effects-photo-scene/default-light-leak-effects-photo-scene.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-mono-effects-photo-scene/default-mono-effects-photo-scene.stories.tsx +23 -0
- package/src/core/scene/photo/effects-photo/default-mono-effects-photo-scene/default-mono-effects-photo-scene.tsx +37 -0
- package/src/core/scene/photo/effects-photo/default-noir-effects-photo-scene/default-noir-effects-photo-scene.stories.tsx +23 -0
- package/src/core/scene/photo/effects-photo/default-noir-effects-photo-scene/default-noir-effects-photo-scene.tsx +37 -0
- package/src/core/scene/photo/effects-photo/default-pastel-effects-photo-scene/default-pastel-effects-photo-scene.stories.tsx +24 -0
- package/src/core/scene/photo/effects-photo/default-pastel-effects-photo-scene/default-pastel-effects-photo-scene.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-retro-effects-photo-scene/default-retro-effects-photo-scene.stories.tsx +24 -0
- package/src/core/scene/photo/effects-photo/default-retro-effects-photo-scene/default-retro-effects-photo-scene.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-sepia-effects-photo-scene/default-sepia-effects-photo-scene.stories.tsx +23 -0
- package/src/core/scene/photo/effects-photo/default-sepia-effects-photo-scene/default-sepia-effects-photo-scene.tsx +37 -0
- package/src/core/scene/photo/effects-photo/default-soft-focus-effects-photo-scene/default-soft-focus-effects-photo-scene.stories.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-soft-focus-effects-photo-scene/default-soft-focus-effects-photo-scene.tsx +37 -0
- package/src/core/scene/photo/effects-photo/default-vibrant-effects-photo-scene/default-vibrant-effects-photo-scene.stories.tsx +23 -0
- package/src/core/scene/photo/effects-photo/default-vibrant-effects-photo-scene/default-vibrant-effects-photo-scene.tsx +37 -0
- package/src/core/scene/photo/effects-photo/default-vignette-effects-photo-scene/default-vignette-effects-photo-scene.stories.tsx +39 -0
- package/src/core/scene/photo/effects-photo/default-vignette-effects-photo-scene/default-vignette-effects-photo-scene.tsx +37 -0
- package/src/core/scene/photo/effects-photo/default-warmth-effects-photo-scene/default-warmth-effects-photo-scene.stories.tsx +40 -0
- package/src/core/scene/photo/effects-photo/default-warmth-effects-photo-scene/default-warmth-effects-photo-scene.tsx +39 -0
- package/src/core/scene/photo/effects-photo/index.ts +21 -3
- package/src/core/scene/photo/index.ts +25 -9
- package/src/core/scene/photo/{default-live-photo-scene-Horizontal.stories.tsx → live-photo/default-live-photo-scene-Horizontal.stories.tsx} +1 -1
- package/src/core/scene/photo/{default-live-photo-scene-Horizontal.tsx → live-photo/default-live-photo-scene-Horizontal.tsx} +1 -1
- package/src/core/scene/photo/{default-live-photo-scene-Landscape.tsx → live-photo/default-live-photo-scene-Landscape.tsx} +1 -1
- package/src/core/scene/photo/{default-live-photo-scene.stories.tsx → live-photo/default-live-photo-scene.stories.tsx} +1 -1
- package/src/core/scene/photo/{default-live-photo-scene.tsx → live-photo/default-live-photo-scene.tsx} +5 -3
- package/src/core/scene/photo/photo-storybook.test.tsx +2 -2
- package/src/core/scene/photo/{default-photo-strip-scene-Horizontal.tsx → photo-strip/default-photo-strip-scene-Horizontal.tsx} +1 -1
- package/src/core/scene/photo/{default-photo-strip-scene-Landscape.tsx → photo-strip/default-photo-strip-scene-Landscape.tsx} +1 -1
- package/src/core/scene/photo/{default-photo-strip-scene.stories.tsx → photo-strip/default-photo-strip-scene.stories.tsx} +1 -1
- package/src/core/scene/photo/{default-photo-strip-scene.tsx → photo-strip/default-photo-strip-scene.tsx} +2 -2
- package/src/core/scene/photo/{default-photo-wall-scene-Horizontal.tsx → photo-wall/default-photo-wall-scene-Horizontal.tsx} +1 -1
- package/src/core/scene/photo/{default-photo-wall-scene-Landscape.tsx → photo-wall/default-photo-wall-scene-Landscape.tsx} +1 -1
- package/src/core/scene/photo/{default-photo-wall-scene.stories.tsx → photo-wall/default-photo-wall-scene.stories.tsx} +1 -1
- package/src/core/scene/photo/{default-photo-wall-scene.tsx → photo-wall/default-photo-wall-scene.tsx} +2 -2
- package/src/core/scene/slide/{default-slide-scene-Horizontal.animated.stories.tsx → default-slide-scene/default-slide-scene-Horizontal.animated.stories.tsx} +1 -1
- package/src/core/scene/slide/{default-slide-scene-Horizontal.tsx → default-slide-scene/default-slide-scene-Horizontal.tsx} +1 -1
- package/src/core/scene/slide/{default-slide-scene-Landscape.tsx → default-slide-scene/default-slide-scene-Landscape.tsx} +1 -1
- package/src/core/scene/slide/{default-slide-scene.animated.stories.tsx → default-slide-scene/default-slide-scene.animated.stories.tsx} +1 -1
- package/src/core/scene/slide/{default-slide-scene.tsx → default-slide-scene/default-slide-scene.tsx} +5 -5
- package/src/core/scene/slide/index.ts +3 -3
- package/src/core/scene/video/{default-video-scene-Horizontal.stories.tsx → default-video-scene/default-video-scene-Horizontal.stories.tsx} +1 -1
- package/src/core/scene/video/{default-video-scene-Horizontal.tsx → default-video-scene/default-video-scene-Horizontal.tsx} +1 -1
- package/src/core/scene/video/{default-video-scene-Landscape.tsx → default-video-scene/default-video-scene-Landscape.tsx} +1 -1
- package/src/core/scene/video/{default-video-scene.stories.tsx → default-video-scene/default-video-scene.stories.tsx} +1 -1
- package/src/core/scene/video/{default-video-scene.tsx → default-video-scene/default-video-scene.tsx} +3 -3
- package/src/core/scene/video/{default-video-split-scene-Horizontal.tsx → default-video-split-scene/default-video-split-scene-Horizontal.tsx} +1 -1
- package/src/core/scene/video/{default-video-split-scene-Landscape.tsx → default-video-split-scene/default-video-split-scene-Landscape.tsx} +1 -1
- package/src/core/scene/video/{default-video-split-scene.stories.tsx → default-video-split-scene/default-video-split-scene.stories.tsx} +1 -1
- package/src/core/scene/video/{default-video-split-scene.tsx → default-video-split-scene/default-video-split-scene.tsx} +2 -2
- package/src/core/scene/video/{default-video-wall-scene-Horizontal.tsx → default-video-wall-scene/default-video-wall-scene-Horizontal.tsx} +1 -1
- package/src/core/scene/video/{default-video-wall-scene-Landscape.tsx → default-video-wall-scene/default-video-wall-scene-Landscape.tsx} +1 -1
- package/src/core/scene/video/{default-video-wall-scene.stories.tsx → default-video-wall-scene/default-video-wall-scene.stories.tsx} +1 -1
- package/src/core/scene/video/{default-video-wall-scene.tsx → default-video-wall-scene/default-video-wall-scene.tsx} +2 -2
- package/src/core/scene/video/index.ts +9 -9
- package/src/lint/index.ts +2 -0
- package/src/lint/scene-convention-lint.test.ts +86 -0
- package/src/lint/scene-convention-lint.ts +247 -0
- package/src/storybook/index.ts +19 -0
- package/src/storybook/remotion-preview.test.tsx +53 -0
- package/src/storybook/remotion-preview.tsx +85 -11
- package/src/core/scene/photo/effects-photo/default-effects-photo-scene.tsx +0 -352
- /package/src/core/scene/slide/{default-slide-scene-Horizontal.stories.tsx → default-slide-scene/default-slide-scene-Horizontal.stories.tsx} +0 -0
- /package/src/core/scene/slide/{default-slide-scene.stories.tsx → default-slide-scene/default-slide-scene.stories.tsx} +0 -0
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { DefaultEffectsPhotoSceneProps } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
2
2
|
|
|
3
3
|
import { VideoComponent, type ScenePluginMetadata } from '@vibecuting/component-project-helper'
|
|
4
4
|
|
|
5
|
-
import { DefaultEffectsPhotoScene, componentMetadata as baseComponentMetadata } from '
|
|
5
|
+
import { DefaultEffectsPhotoScene, componentMetadata as baseComponentMetadata } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
6
6
|
|
|
7
7
|
export const componentMetadata: ScenePluginMetadata = {
|
|
8
8
|
...baseComponentMetadata,
|
|
9
9
|
name: 'DefaultEffectsPhotoSceneLandscape',
|
|
10
10
|
description: 'Photo effects scene for 16:9 landscape previews with a wide cinematic layout',
|
|
11
|
-
sourceFile: 'src/core/scene/photo/effects-photo/default-effects-photo-scene-Landscape.tsx',
|
|
11
|
+
sourceFile: 'src/core/scene/photo/effects-photo/default-effects-photo-scene-Landscape/default-effects-photo-scene-Landscape.tsx',
|
|
12
12
|
aspectRatio: '16:9',
|
|
13
13
|
tags: Array.from(new Set([...(baseComponentMetadata.tags ?? []), 'landscape'])),
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export const DefaultEffectsPhotoSceneLandscape = VideoComponent(componentMetadata)(function DefaultEffectsPhotoSceneLandscape(
|
|
17
|
-
props:
|
|
17
|
+
props: DefaultEffectsPhotoSceneProps,
|
|
18
18
|
) {
|
|
19
19
|
return <DefaultEffectsPhotoScene {...props} />
|
|
20
20
|
})
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { DefaultGlowEffectsPhotoScene } from './default-glow-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
const photoUrl = 'https://heyaai-statics-1342239856.cos.ap-guangzhou.myqcloud.com/tmp/premium_photo-1779404552087-0f905162376f-121.jpeg'
|
|
4
|
+
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'core/scene/photo/effects-photo/default-glow-effects-photo-scene/DefaultGlowEffectsPhotoScene',
|
|
7
|
+
component: DefaultGlowEffectsPhotoScene,
|
|
8
|
+
args: {
|
|
9
|
+
title: 'Bloom Light',
|
|
10
|
+
subtitle: 'Single glow treatment for luminous highlights and soft halos.',
|
|
11
|
+
badge: 'Glow',
|
|
12
|
+
imageSrc: photoUrl,
|
|
13
|
+
intensity: 0.58,
|
|
14
|
+
accent: '#020617',
|
|
15
|
+
secondaryAccent: '#1d4ed8',
|
|
16
|
+
},
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default meta
|
|
20
|
+
|
|
21
|
+
export const Default = {
|
|
22
|
+
parameters: {
|
|
23
|
+
scenePreviewAspectRatio: '16:9',
|
|
24
|
+
},
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export const Animated = {
|
|
28
|
+
parameters: {
|
|
29
|
+
scenePreviewAspectRatio: '16:9',
|
|
30
|
+
scenePreviewMode: 'animation',
|
|
31
|
+
},
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export const Both = {
|
|
35
|
+
parameters: {
|
|
36
|
+
scenePreviewAspectRatio: '9:16',
|
|
37
|
+
scenePreviewMode: 'both',
|
|
38
|
+
},
|
|
39
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { DefaultEffectsPhotoSceneProps } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
import { VideoComponent, type ScenePluginMetadata } from '@vibecuting/component-project-helper'
|
|
4
|
+
|
|
5
|
+
import { DefaultEffectsPhotoScene, componentMetadata as baseComponentMetadata } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
6
|
+
|
|
7
|
+
type BaseProps = DefaultEffectsPhotoSceneProps
|
|
8
|
+
|
|
9
|
+
export interface DefaultGlowEffectsPhotoSceneProps extends Omit<BaseProps, 'effects'> {
|
|
10
|
+
intensity?: number
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const componentMetadata: ScenePluginMetadata = {
|
|
14
|
+
...baseComponentMetadata,
|
|
15
|
+
name: 'DefaultGlowEffectsPhotoScene',
|
|
16
|
+
description: 'Photo scene focused on a single glow treatment with soft halo light',
|
|
17
|
+
sourceFile: 'src/core/scene/photo/effects-photo/default-glow-effects-photo-scene/default-glow-effects-photo-scene.tsx',
|
|
18
|
+
tags: Array.from(new Set([...(baseComponentMetadata.tags ?? []), 'glow', 'single-effect'])),
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const DefaultGlowEffectsPhotoScene = VideoComponent(componentMetadata)(function DefaultGlowEffectsPhotoScene(
|
|
22
|
+
props: DefaultGlowEffectsPhotoSceneProps,
|
|
23
|
+
) {
|
|
24
|
+
const { intensity = 0.55, ...rest } = props
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
<DefaultEffectsPhotoScene
|
|
28
|
+
{...rest}
|
|
29
|
+
effects={[
|
|
30
|
+
{
|
|
31
|
+
type: 'glow',
|
|
32
|
+
intensity,
|
|
33
|
+
},
|
|
34
|
+
]}
|
|
35
|
+
/>
|
|
36
|
+
)
|
|
37
|
+
})
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { DefaultGrainEffectsPhotoScene } from './default-grain-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
const photoUrl = 'https://heyaai-statics-1342239856.cos.ap-guangzhou.myqcloud.com/tmp/premium_photo-1779404552087-0f905162376f-121.jpeg'
|
|
4
|
+
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'core/scene/photo/effects-photo/default-grain-effects-photo-scene/DefaultGrainEffectsPhotoScene',
|
|
7
|
+
component: DefaultGrainEffectsPhotoScene,
|
|
8
|
+
args: {
|
|
9
|
+
title: 'Film Grain',
|
|
10
|
+
subtitle: 'Single grain treatment for analog texture and softness.',
|
|
11
|
+
badge: 'Grain',
|
|
12
|
+
imageSrc: photoUrl,
|
|
13
|
+
intensity: 0.14,
|
|
14
|
+
accent: '#020617',
|
|
15
|
+
secondaryAccent: '#1d4ed8',
|
|
16
|
+
},
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default meta
|
|
20
|
+
|
|
21
|
+
export const Default = {
|
|
22
|
+
parameters: {
|
|
23
|
+
scenePreviewAspectRatio: '16:9',
|
|
24
|
+
},
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export const Animated = {
|
|
28
|
+
parameters: {
|
|
29
|
+
scenePreviewAspectRatio: '16:9',
|
|
30
|
+
scenePreviewMode: 'animation',
|
|
31
|
+
},
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export const Both = {
|
|
35
|
+
parameters: {
|
|
36
|
+
scenePreviewAspectRatio: '9:16',
|
|
37
|
+
scenePreviewMode: 'both',
|
|
38
|
+
},
|
|
39
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { DefaultEffectsPhotoSceneProps } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
import { VideoComponent, type ScenePluginMetadata } from '@vibecuting/component-project-helper'
|
|
4
|
+
|
|
5
|
+
import { DefaultEffectsPhotoScene, componentMetadata as baseComponentMetadata } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
6
|
+
|
|
7
|
+
type BaseProps = DefaultEffectsPhotoSceneProps
|
|
8
|
+
|
|
9
|
+
export interface DefaultGrainEffectsPhotoSceneProps extends Omit<BaseProps, 'effects'> {
|
|
10
|
+
intensity?: number
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const componentMetadata: ScenePluginMetadata = {
|
|
14
|
+
...baseComponentMetadata,
|
|
15
|
+
name: 'DefaultGrainEffectsPhotoScene',
|
|
16
|
+
description: 'Photo scene focused on a single grain treatment with film texture',
|
|
17
|
+
sourceFile: 'src/core/scene/photo/effects-photo/default-grain-effects-photo-scene/default-grain-effects-photo-scene.tsx',
|
|
18
|
+
tags: Array.from(new Set([...(baseComponentMetadata.tags ?? []), 'grain', 'single-effect'])),
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const DefaultGrainEffectsPhotoScene = VideoComponent(componentMetadata)(function DefaultGrainEffectsPhotoScene(
|
|
22
|
+
props: DefaultGrainEffectsPhotoSceneProps,
|
|
23
|
+
) {
|
|
24
|
+
const { intensity = 0.12, ...rest } = props
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
<DefaultEffectsPhotoScene
|
|
28
|
+
{...rest}
|
|
29
|
+
effects={[
|
|
30
|
+
{
|
|
31
|
+
type: 'grain',
|
|
32
|
+
intensity,
|
|
33
|
+
},
|
|
34
|
+
]}
|
|
35
|
+
/>
|
|
36
|
+
)
|
|
37
|
+
})
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { DefaultHalationEffectsPhotoScene } from './default-halation-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
const photoUrl = 'https://heyaai-statics-1342239856.cos.ap-guangzhou.myqcloud.com/tmp/premium_photo-1779404552087-0f905162376f-121.jpeg'
|
|
4
|
+
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'core/scene/photo/effects-photo/default-halation-effects-photo-scene/DefaultHalationEffectsPhotoScene',
|
|
7
|
+
component: DefaultHalationEffectsPhotoScene,
|
|
8
|
+
args: {
|
|
9
|
+
title: 'Halation Bloom',
|
|
10
|
+
subtitle: 'Glowing highlight bloom with a filmic halation ring.',
|
|
11
|
+
badge: 'Halation',
|
|
12
|
+
imageSrc: photoUrl,
|
|
13
|
+
intensity: 0.58,
|
|
14
|
+
hue: '#fef3c7',
|
|
15
|
+
accent: '#020617',
|
|
16
|
+
secondaryAccent: '#f59e0b',
|
|
17
|
+
},
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default meta
|
|
21
|
+
|
|
22
|
+
export const Default = { parameters: { scenePreviewAspectRatio: '16:9' } }
|
|
23
|
+
export const Animated = { parameters: { scenePreviewAspectRatio: '16:9', scenePreviewMode: 'animation' } }
|
|
24
|
+
export const Both = { parameters: { scenePreviewAspectRatio: '9:16', scenePreviewMode: 'both' } }
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { DefaultEffectsPhotoSceneProps } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
import { VideoComponent, type ScenePluginMetadata } from '@vibecuting/component-project-helper'
|
|
4
|
+
|
|
5
|
+
import { DefaultEffectsPhotoScene, componentMetadata as baseComponentMetadata } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
6
|
+
|
|
7
|
+
type BaseProps = DefaultEffectsPhotoSceneProps
|
|
8
|
+
|
|
9
|
+
export interface DefaultHalationEffectsPhotoSceneProps extends Omit<BaseProps, 'effects'> {
|
|
10
|
+
intensity?: number
|
|
11
|
+
hue?: string
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const componentMetadata: ScenePluginMetadata = {
|
|
15
|
+
...baseComponentMetadata,
|
|
16
|
+
name: 'DefaultHalationEffectsPhotoScene',
|
|
17
|
+
description: 'Photo scene focused on halation bloom and bright highlight bloom',
|
|
18
|
+
sourceFile: 'src/core/scene/photo/effects-photo/default-halation-effects-photo-scene/default-halation-effects-photo-scene.tsx',
|
|
19
|
+
tags: Array.from(new Set([...(baseComponentMetadata.tags ?? []), 'halation', 'single-effect'])),
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const DefaultHalationEffectsPhotoScene = VideoComponent(componentMetadata)(function DefaultHalationEffectsPhotoScene(
|
|
23
|
+
props: DefaultHalationEffectsPhotoSceneProps,
|
|
24
|
+
) {
|
|
25
|
+
const { intensity = 0.58, hue = '#fef3c7', ...rest } = props
|
|
26
|
+
|
|
27
|
+
return (
|
|
28
|
+
<DefaultEffectsPhotoScene
|
|
29
|
+
{...rest}
|
|
30
|
+
effects={[
|
|
31
|
+
{
|
|
32
|
+
type: 'halation',
|
|
33
|
+
intensity,
|
|
34
|
+
hue,
|
|
35
|
+
},
|
|
36
|
+
]}
|
|
37
|
+
/>
|
|
38
|
+
)
|
|
39
|
+
})
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { DefaultInfraredEffectsPhotoScene } from './default-infrared-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
const photoUrl = 'https://heyaai-statics-1342239856.cos.ap-guangzhou.myqcloud.com/tmp/premium_photo-1779404552087-0f905162376f-121.jpeg'
|
|
4
|
+
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'core/scene/photo/effects-photo/default-infrared-effects-photo-scene/DefaultInfraredEffectsPhotoScene',
|
|
7
|
+
component: DefaultInfraredEffectsPhotoScene,
|
|
8
|
+
args: {
|
|
9
|
+
title: 'Infrared Heat',
|
|
10
|
+
subtitle: 'False-color infrared-inspired treatment with dramatic color response.',
|
|
11
|
+
badge: 'Infrared',
|
|
12
|
+
imageSrc: photoUrl,
|
|
13
|
+
intensity: 0.62,
|
|
14
|
+
hue: '#ef4444',
|
|
15
|
+
accent: '#020617',
|
|
16
|
+
secondaryAccent: '#22c55e',
|
|
17
|
+
},
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default meta
|
|
21
|
+
|
|
22
|
+
export const Default = { parameters: { scenePreviewAspectRatio: '16:9' } }
|
|
23
|
+
export const Animated = { parameters: { scenePreviewAspectRatio: '16:9', scenePreviewMode: 'animation' } }
|
|
24
|
+
export const Both = { parameters: { scenePreviewAspectRatio: '9:16', scenePreviewMode: 'both' } }
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { DefaultEffectsPhotoSceneProps } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
import { VideoComponent, type ScenePluginMetadata } from '@vibecuting/component-project-helper'
|
|
4
|
+
|
|
5
|
+
import { DefaultEffectsPhotoScene, componentMetadata as baseComponentMetadata } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
6
|
+
|
|
7
|
+
type BaseProps = DefaultEffectsPhotoSceneProps
|
|
8
|
+
|
|
9
|
+
export interface DefaultInfraredEffectsPhotoSceneProps extends Omit<BaseProps, 'effects'> {
|
|
10
|
+
intensity?: number
|
|
11
|
+
hue?: string
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const componentMetadata: ScenePluginMetadata = {
|
|
15
|
+
...baseComponentMetadata,
|
|
16
|
+
name: 'DefaultInfraredEffectsPhotoScene',
|
|
17
|
+
description: 'Photo scene focused on infrared-inspired false-color grading',
|
|
18
|
+
sourceFile: 'src/core/scene/photo/effects-photo/default-infrared-effects-photo-scene/default-infrared-effects-photo-scene.tsx',
|
|
19
|
+
tags: Array.from(new Set([...(baseComponentMetadata.tags ?? []), 'infrared', 'single-effect'])),
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const DefaultInfraredEffectsPhotoScene = VideoComponent(componentMetadata)(function DefaultInfraredEffectsPhotoScene(
|
|
23
|
+
props: DefaultInfraredEffectsPhotoSceneProps,
|
|
24
|
+
) {
|
|
25
|
+
const { intensity = 0.62, hue = '#ef4444', ...rest } = props
|
|
26
|
+
|
|
27
|
+
return (
|
|
28
|
+
<DefaultEffectsPhotoScene
|
|
29
|
+
{...rest}
|
|
30
|
+
effects={[
|
|
31
|
+
{
|
|
32
|
+
type: 'infrared',
|
|
33
|
+
intensity,
|
|
34
|
+
hue,
|
|
35
|
+
},
|
|
36
|
+
]}
|
|
37
|
+
/>
|
|
38
|
+
)
|
|
39
|
+
})
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { DefaultLightLeakEffectsPhotoScene } from './default-light-leak-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
const photoUrl = 'https://heyaai-statics-1342239856.cos.ap-guangzhou.myqcloud.com/tmp/premium_photo-1779404552087-0f905162376f-121.jpeg'
|
|
4
|
+
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'core/scene/photo/effects-photo/default-light-leak-effects-photo-scene/DefaultLightLeakEffectsPhotoScene',
|
|
7
|
+
component: DefaultLightLeakEffectsPhotoScene,
|
|
8
|
+
args: {
|
|
9
|
+
title: 'Light Leak',
|
|
10
|
+
subtitle: 'Warm flare spill for an analog camera feel.',
|
|
11
|
+
badge: 'Leak',
|
|
12
|
+
imageSrc: photoUrl,
|
|
13
|
+
intensity: 0.62,
|
|
14
|
+
hue: '#fde68a',
|
|
15
|
+
accent: '#f59e0b',
|
|
16
|
+
secondaryAccent: '#1d4ed8',
|
|
17
|
+
},
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default meta
|
|
21
|
+
|
|
22
|
+
export const Default = { parameters: { scenePreviewAspectRatio: '16:9' } }
|
|
23
|
+
export const Animated = { parameters: { scenePreviewAspectRatio: '16:9', scenePreviewMode: 'animation' } }
|
|
24
|
+
export const Both = { parameters: { scenePreviewAspectRatio: '9:16', scenePreviewMode: 'both' } }
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { DefaultEffectsPhotoSceneProps } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
import { VideoComponent, type ScenePluginMetadata } from '@vibecuting/component-project-helper'
|
|
4
|
+
|
|
5
|
+
import { DefaultEffectsPhotoScene, componentMetadata as baseComponentMetadata } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
6
|
+
|
|
7
|
+
type BaseProps = DefaultEffectsPhotoSceneProps
|
|
8
|
+
|
|
9
|
+
export interface DefaultLightLeakEffectsPhotoSceneProps extends Omit<BaseProps, 'effects'> {
|
|
10
|
+
intensity?: number
|
|
11
|
+
hue?: string
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const componentMetadata: ScenePluginMetadata = {
|
|
15
|
+
...baseComponentMetadata,
|
|
16
|
+
name: 'DefaultLightLeakEffectsPhotoScene',
|
|
17
|
+
description: 'Photo scene focused on warm light leak flare overlays',
|
|
18
|
+
sourceFile: 'src/core/scene/photo/effects-photo/default-light-leak-effects-photo-scene/default-light-leak-effects-photo-scene.tsx',
|
|
19
|
+
tags: Array.from(new Set([...(baseComponentMetadata.tags ?? []), 'light-leak', 'single-effect'])),
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const DefaultLightLeakEffectsPhotoScene = VideoComponent(componentMetadata)(function DefaultLightLeakEffectsPhotoScene(
|
|
23
|
+
props: DefaultLightLeakEffectsPhotoSceneProps,
|
|
24
|
+
) {
|
|
25
|
+
const { intensity = 0.62, hue = '#fde68a', ...rest } = props
|
|
26
|
+
|
|
27
|
+
return (
|
|
28
|
+
<DefaultEffectsPhotoScene
|
|
29
|
+
{...rest}
|
|
30
|
+
effects={[
|
|
31
|
+
{
|
|
32
|
+
type: 'light-leak',
|
|
33
|
+
intensity,
|
|
34
|
+
hue,
|
|
35
|
+
},
|
|
36
|
+
]}
|
|
37
|
+
/>
|
|
38
|
+
)
|
|
39
|
+
})
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { DefaultMonoEffectsPhotoScene } from './default-mono-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
const photoUrl = 'https://heyaai-statics-1342239856.cos.ap-guangzhou.myqcloud.com/tmp/premium_photo-1779404552087-0f905162376f-121.jpeg'
|
|
4
|
+
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'core/scene/photo/effects-photo/default-mono-effects-photo-scene/DefaultMonoEffectsPhotoScene',
|
|
7
|
+
component: DefaultMonoEffectsPhotoScene,
|
|
8
|
+
args: {
|
|
9
|
+
title: 'Black and White',
|
|
10
|
+
subtitle: 'Monochrome scene with strong tonal separation and drama.',
|
|
11
|
+
badge: 'Mono',
|
|
12
|
+
imageSrc: photoUrl,
|
|
13
|
+
intensity: 1,
|
|
14
|
+
accent: '#020617',
|
|
15
|
+
secondaryAccent: '#1d4ed8',
|
|
16
|
+
},
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default meta
|
|
20
|
+
|
|
21
|
+
export const Default = { parameters: { scenePreviewAspectRatio: '16:9' } }
|
|
22
|
+
export const Animated = { parameters: { scenePreviewAspectRatio: '16:9', scenePreviewMode: 'animation' } }
|
|
23
|
+
export const Both = { parameters: { scenePreviewAspectRatio: '9:16', scenePreviewMode: 'both' } }
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { DefaultEffectsPhotoSceneProps } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
import { VideoComponent, type ScenePluginMetadata } from '@vibecuting/component-project-helper'
|
|
4
|
+
|
|
5
|
+
import { DefaultEffectsPhotoScene, componentMetadata as baseComponentMetadata } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
6
|
+
|
|
7
|
+
type BaseProps = DefaultEffectsPhotoSceneProps
|
|
8
|
+
|
|
9
|
+
export interface DefaultMonoEffectsPhotoSceneProps extends Omit<BaseProps, 'effects'> {
|
|
10
|
+
intensity?: number
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const componentMetadata: ScenePluginMetadata = {
|
|
14
|
+
...baseComponentMetadata,
|
|
15
|
+
name: 'DefaultMonoEffectsPhotoScene',
|
|
16
|
+
description: 'Photo scene focused on monochrome black-and-white rendering',
|
|
17
|
+
sourceFile: 'src/core/scene/photo/effects-photo/default-mono-effects-photo-scene/default-mono-effects-photo-scene.tsx',
|
|
18
|
+
tags: Array.from(new Set([...(baseComponentMetadata.tags ?? []), 'mono', 'single-effect'])),
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const DefaultMonoEffectsPhotoScene = VideoComponent(componentMetadata)(function DefaultMonoEffectsPhotoScene(
|
|
22
|
+
props: DefaultMonoEffectsPhotoSceneProps,
|
|
23
|
+
) {
|
|
24
|
+
const { intensity = 1, ...rest } = props
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
<DefaultEffectsPhotoScene
|
|
28
|
+
{...rest}
|
|
29
|
+
effects={[
|
|
30
|
+
{
|
|
31
|
+
type: 'mono',
|
|
32
|
+
intensity,
|
|
33
|
+
},
|
|
34
|
+
]}
|
|
35
|
+
/>
|
|
36
|
+
)
|
|
37
|
+
})
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { DefaultNoirEffectsPhotoScene } from './default-noir-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
const photoUrl = 'https://heyaai-statics-1342239856.cos.ap-guangzhou.myqcloud.com/tmp/premium_photo-1779404552087-0f905162376f-121.jpeg'
|
|
4
|
+
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'core/scene/photo/effects-photo/default-noir-effects-photo-scene/DefaultNoirEffectsPhotoScene',
|
|
7
|
+
component: DefaultNoirEffectsPhotoScene,
|
|
8
|
+
args: {
|
|
9
|
+
title: 'Noir Shadow',
|
|
10
|
+
subtitle: 'High-contrast shadow study with hard blacks and low key mood.',
|
|
11
|
+
badge: 'Noir',
|
|
12
|
+
imageSrc: photoUrl,
|
|
13
|
+
intensity: 0.9,
|
|
14
|
+
accent: '#020617',
|
|
15
|
+
secondaryAccent: '#64748b',
|
|
16
|
+
},
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default meta
|
|
20
|
+
|
|
21
|
+
export const Default = { parameters: { scenePreviewAspectRatio: '16:9' } }
|
|
22
|
+
export const Animated = { parameters: { scenePreviewAspectRatio: '16:9', scenePreviewMode: 'animation' } }
|
|
23
|
+
export const Both = { parameters: { scenePreviewAspectRatio: '9:16', scenePreviewMode: 'both' } }
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { DefaultEffectsPhotoSceneProps } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
import { VideoComponent, type ScenePluginMetadata } from '@vibecuting/component-project-helper'
|
|
4
|
+
|
|
5
|
+
import { DefaultEffectsPhotoScene, componentMetadata as baseComponentMetadata } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
6
|
+
|
|
7
|
+
type BaseProps = DefaultEffectsPhotoSceneProps
|
|
8
|
+
|
|
9
|
+
export interface DefaultNoirEffectsPhotoSceneProps extends Omit<BaseProps, 'effects'> {
|
|
10
|
+
intensity?: number
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const componentMetadata: ScenePluginMetadata = {
|
|
14
|
+
...baseComponentMetadata,
|
|
15
|
+
name: 'DefaultNoirEffectsPhotoScene',
|
|
16
|
+
description: 'Photo scene focused on noir contrast and moody shadow falloff',
|
|
17
|
+
sourceFile: 'src/core/scene/photo/effects-photo/default-noir-effects-photo-scene/default-noir-effects-photo-scene.tsx',
|
|
18
|
+
tags: Array.from(new Set([...(baseComponentMetadata.tags ?? []), 'noir', 'single-effect'])),
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const DefaultNoirEffectsPhotoScene = VideoComponent(componentMetadata)(function DefaultNoirEffectsPhotoScene(
|
|
22
|
+
props: DefaultNoirEffectsPhotoSceneProps,
|
|
23
|
+
) {
|
|
24
|
+
const { intensity = 0.9, ...rest } = props
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
<DefaultEffectsPhotoScene
|
|
28
|
+
{...rest}
|
|
29
|
+
effects={[
|
|
30
|
+
{
|
|
31
|
+
type: 'noir',
|
|
32
|
+
intensity,
|
|
33
|
+
},
|
|
34
|
+
]}
|
|
35
|
+
/>
|
|
36
|
+
)
|
|
37
|
+
})
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { DefaultPastelEffectsPhotoScene } from './default-pastel-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
const photoUrl = 'https://heyaai-statics-1342239856.cos.ap-guangzhou.myqcloud.com/tmp/premium_photo-1779404552087-0f905162376f-121.jpeg'
|
|
4
|
+
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'core/scene/photo/effects-photo/default-pastel-effects-photo-scene/DefaultPastelEffectsPhotoScene',
|
|
7
|
+
component: DefaultPastelEffectsPhotoScene,
|
|
8
|
+
args: {
|
|
9
|
+
title: 'Pastel Wash',
|
|
10
|
+
subtitle: 'Soft pastel wash with low contrast and airy highlights.',
|
|
11
|
+
badge: 'Pastel',
|
|
12
|
+
imageSrc: photoUrl,
|
|
13
|
+
intensity: 0.68,
|
|
14
|
+
hue: '#f9a8d4',
|
|
15
|
+
accent: '#020617',
|
|
16
|
+
secondaryAccent: '#38bdf8',
|
|
17
|
+
},
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default meta
|
|
21
|
+
|
|
22
|
+
export const Default = { parameters: { scenePreviewAspectRatio: '16:9' } }
|
|
23
|
+
export const Animated = { parameters: { scenePreviewAspectRatio: '16:9', scenePreviewMode: 'animation' } }
|
|
24
|
+
export const Both = { parameters: { scenePreviewAspectRatio: '9:16', scenePreviewMode: 'both' } }
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { DefaultEffectsPhotoSceneProps } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
import { VideoComponent, type ScenePluginMetadata } from '@vibecuting/component-project-helper'
|
|
4
|
+
|
|
5
|
+
import { DefaultEffectsPhotoScene, componentMetadata as baseComponentMetadata } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
6
|
+
|
|
7
|
+
type BaseProps = DefaultEffectsPhotoSceneProps
|
|
8
|
+
|
|
9
|
+
export interface DefaultPastelEffectsPhotoSceneProps extends Omit<BaseProps, 'effects'> {
|
|
10
|
+
intensity?: number
|
|
11
|
+
hue?: string
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const componentMetadata: ScenePluginMetadata = {
|
|
15
|
+
...baseComponentMetadata,
|
|
16
|
+
name: 'DefaultPastelEffectsPhotoScene',
|
|
17
|
+
description: 'Photo scene focused on soft pastel color grading and low-contrast diffusion',
|
|
18
|
+
sourceFile: 'src/core/scene/photo/effects-photo/default-pastel-effects-photo-scene/default-pastel-effects-photo-scene.tsx',
|
|
19
|
+
tags: Array.from(new Set([...(baseComponentMetadata.tags ?? []), 'pastel', 'single-effect'])),
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const DefaultPastelEffectsPhotoScene = VideoComponent(componentMetadata)(function DefaultPastelEffectsPhotoScene(
|
|
23
|
+
props: DefaultPastelEffectsPhotoSceneProps,
|
|
24
|
+
) {
|
|
25
|
+
const { intensity = 0.68, hue = '#f9a8d4', ...rest } = props
|
|
26
|
+
|
|
27
|
+
return (
|
|
28
|
+
<DefaultEffectsPhotoScene
|
|
29
|
+
{...rest}
|
|
30
|
+
effects={[
|
|
31
|
+
{
|
|
32
|
+
type: 'pastel',
|
|
33
|
+
intensity,
|
|
34
|
+
hue,
|
|
35
|
+
},
|
|
36
|
+
]}
|
|
37
|
+
/>
|
|
38
|
+
)
|
|
39
|
+
})
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { DefaultRetroEffectsPhotoScene } from './default-retro-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
const photoUrl = 'https://heyaai-statics-1342239856.cos.ap-guangzhou.myqcloud.com/tmp/premium_photo-1779404552087-0f905162376f-121.jpeg'
|
|
4
|
+
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'core/scene/photo/effects-photo/default-retro-effects-photo-scene/DefaultRetroEffectsPhotoScene',
|
|
7
|
+
component: DefaultRetroEffectsPhotoScene,
|
|
8
|
+
args: {
|
|
9
|
+
title: 'Retro Film',
|
|
10
|
+
subtitle: 'Warm nostalgic film treatment with a vintage print vibe.',
|
|
11
|
+
badge: 'Retro',
|
|
12
|
+
imageSrc: photoUrl,
|
|
13
|
+
intensity: 0.72,
|
|
14
|
+
hue: '#f59e0b',
|
|
15
|
+
accent: '#020617',
|
|
16
|
+
secondaryAccent: '#7c3aed',
|
|
17
|
+
},
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default meta
|
|
21
|
+
|
|
22
|
+
export const Default = { parameters: { scenePreviewAspectRatio: '16:9' } }
|
|
23
|
+
export const Animated = { parameters: { scenePreviewAspectRatio: '16:9', scenePreviewMode: 'animation' } }
|
|
24
|
+
export const Both = { parameters: { scenePreviewAspectRatio: '9:16', scenePreviewMode: 'both' } }
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { DefaultEffectsPhotoSceneProps } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
import { VideoComponent, type ScenePluginMetadata } from '@vibecuting/component-project-helper'
|
|
4
|
+
|
|
5
|
+
import { DefaultEffectsPhotoScene, componentMetadata as baseComponentMetadata } from '../default-effects-photo-scene/default-effects-photo-scene'
|
|
6
|
+
|
|
7
|
+
type BaseProps = DefaultEffectsPhotoSceneProps
|
|
8
|
+
|
|
9
|
+
export interface DefaultRetroEffectsPhotoSceneProps extends Omit<BaseProps, 'effects'> {
|
|
10
|
+
intensity?: number
|
|
11
|
+
hue?: string
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const componentMetadata: ScenePluginMetadata = {
|
|
15
|
+
...baseComponentMetadata,
|
|
16
|
+
name: 'DefaultRetroEffectsPhotoScene',
|
|
17
|
+
description: 'Photo scene focused on retro film colors and nostalgic grading',
|
|
18
|
+
sourceFile: 'src/core/scene/photo/effects-photo/default-retro-effects-photo-scene/default-retro-effects-photo-scene.tsx',
|
|
19
|
+
tags: Array.from(new Set([...(baseComponentMetadata.tags ?? []), 'retro', 'single-effect'])),
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const DefaultRetroEffectsPhotoScene = VideoComponent(componentMetadata)(function DefaultRetroEffectsPhotoScene(
|
|
23
|
+
props: DefaultRetroEffectsPhotoSceneProps,
|
|
24
|
+
) {
|
|
25
|
+
const { intensity = 0.72, hue = '#f59e0b', ...rest } = props
|
|
26
|
+
|
|
27
|
+
return (
|
|
28
|
+
<DefaultEffectsPhotoScene
|
|
29
|
+
{...rest}
|
|
30
|
+
effects={[
|
|
31
|
+
{
|
|
32
|
+
type: 'retro',
|
|
33
|
+
intensity,
|
|
34
|
+
hue,
|
|
35
|
+
},
|
|
36
|
+
]}
|
|
37
|
+
/>
|
|
38
|
+
)
|
|
39
|
+
})
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { DefaultSepiaEffectsPhotoScene } from './default-sepia-effects-photo-scene'
|
|
2
|
+
|
|
3
|
+
const photoUrl = 'https://heyaai-statics-1342239856.cos.ap-guangzhou.myqcloud.com/tmp/premium_photo-1779404552087-0f905162376f-121.jpeg'
|
|
4
|
+
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'core/scene/photo/effects-photo/default-sepia-effects-photo-scene/DefaultSepiaEffectsPhotoScene',
|
|
7
|
+
component: DefaultSepiaEffectsPhotoScene,
|
|
8
|
+
args: {
|
|
9
|
+
title: 'Sepia Tone',
|
|
10
|
+
subtitle: 'Aged-paper warmth with archival styling.',
|
|
11
|
+
badge: 'Sepia',
|
|
12
|
+
imageSrc: photoUrl,
|
|
13
|
+
intensity: 0.84,
|
|
14
|
+
accent: '#020617',
|
|
15
|
+
secondaryAccent: '#f97316',
|
|
16
|
+
},
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default meta
|
|
20
|
+
|
|
21
|
+
export const Default = { parameters: { scenePreviewAspectRatio: '16:9' } }
|
|
22
|
+
export const Animated = { parameters: { scenePreviewAspectRatio: '16:9', scenePreviewMode: 'animation' } }
|
|
23
|
+
export const Both = { parameters: { scenePreviewAspectRatio: '9:16', scenePreviewMode: 'both' } }
|