feat: publish av-tools 0.1.0

This commit is contained in:
2026-07-24 14:58:03 +02:00
commit fcc537b024
254 changed files with 63270 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
import { createEmptyProject } from '../../../src/project/project.schema';
import type {
AvProjectV1,
MediaAssetReference,
} from '../../../src/project/project.types';
export const CREATED_AT = '2026-01-02T03:04:05.000Z';
export const UPDATED_AT = '2026-01-02T04:00:00.000Z';
export function mediaAsset(
overrides: Partial<MediaAssetReference> = {}
): MediaAssetReference {
return {
id: 'asset-1',
originalName: 'source.mp4',
size: 1_024,
lastModified: 1_700_000_000_000,
mimeType: 'video/mp4',
sourceStatus: 'attached',
probe: {
durationSeconds: 10,
formatNames: ['mov', 'mp4'],
tags: {},
streams: [
{
index: 0,
type: 'video',
codecName: 'h264',
disposition: { default: true },
tags: {},
},
],
chapters: [],
warnings: [],
},
...overrides,
};
}
export function populatedProject(): AvProjectV1 {
const project = createEmptyProject({
id: 'project-1',
name: 'Demo project',
timestamp: CREATED_AT,
});
return {
...project,
assets: [mediaAsset()],
timeline: [
{
id: 'clip-1',
assetId: 'asset-1',
sourceInSeconds: 1,
sourceOutSeconds: 4.5,
audio: { enabled: true, fadeInSeconds: 0.2 },
video: { enabled: true },
},
],
ui: {
selectedAssetId: 'asset-1',
selectedClipId: 'clip-1',
inspectorPanel: 'clip',
timelineZoom: 1,
},
};
}