Skip to content

Commit e84c0cf

Browse files
committed
comments + codebase index
1 parent 1dbc22b commit e84c0cf

File tree

2 files changed

+162
-138
lines changed

2 files changed

+162
-138
lines changed

.cursor/rules/codebase-index.mdc

Lines changed: 114 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,6 @@ When implementing new features:
1616
3. Understand the API surface of your codebase
1717

1818
```typescript
19-
## apps/web/src/components/editor/timeline
20-
21-
audio-waveform.tsx
22-
export function AudioWaveform({
23-
audioUrl,
24-
audioBuffer,
25-
height = 32,
26-
className = "",
27-
}: AudioWaveformProps)
28-
2919
## apps/web/src/constants
3020

3121
editor-constants.ts
@@ -464,46 +454,46 @@ rate-limit.ts
464454
scenes.ts
465455
export function getMainScene({ scenes }: { scenes: TScene[] }): TScene | null
466456
export function ensureMainScene({ scenes }: { scenes: TScene[] }): TScene[]
467-
export function buildDefaultScene({
468-
name,
469-
isMain,
470-
}: {
471-
name: string;
472-
isMain: boolean;
457+
export function buildDefaultScene({
458+
name,
459+
isMain,
460+
}: {
461+
name: string;
462+
isMain: boolean;
473463
}): TScene
474-
export function canDeleteScene({ scene }: { scene: TScene }): {
475-
canDelete: boolean;
476-
reason?: string;
477-
}
478-
export function getFallbackSceneAfterDelete({
479-
scenes,
480-
deletedSceneId,
481-
currentSceneId,
482-
}: {
483-
scenes: TScene[];
484-
deletedSceneId: string;
485-
currentSceneId: string | null;
464+
export function canDeleteScene({ scene }: { scene: TScene }): {
465+
canDelete: boolean;
466+
reason?: string;
467+
}
468+
export function getFallbackSceneAfterDelete({
469+
scenes,
470+
deletedSceneId,
471+
currentSceneId,
472+
}: {
473+
scenes: TScene[];
474+
deletedSceneId: string;
475+
currentSceneId: string | null;
486476
}): TScene | null
487-
export function findCurrentScene({
488-
scenes,
489-
currentSceneId,
490-
}: {
491-
scenes: TScene[];
492-
currentSceneId: string;
477+
export function findCurrentScene({
478+
scenes,
479+
currentSceneId,
480+
}: {
481+
scenes: TScene[];
482+
currentSceneId: string;
493483
}): TScene | null
494-
export function getProjectDurationFromScenes({
495-
scenes,
496-
}: {
497-
scenes: TScene[];
484+
export function getProjectDurationFromScenes({
485+
scenes,
486+
}: {
487+
scenes: TScene[];
498488
}): number
499-
export function updateSceneInArray({
500-
scenes,
501-
sceneId,
502-
updates,
503-
}: {
504-
scenes: TScene[];
505-
sceneId: string;
506-
updates: Partial<TScene>;
489+
export function updateSceneInArray({
490+
scenes,
491+
sceneId,
492+
updates,
493+
}: {
494+
scenes: TScene[];
495+
sceneId: string;
496+
updates: Partial<TScene>;
507497
}): TScene[]
508498

509499
time.ts
@@ -699,27 +689,28 @@ parser.ts
699689
## apps/web/src/lib/media
700690

701691
audio.ts
702-
export type CollectedAudioElement = Omit<
703-
AudioElement,
704-
"type" | "mediaId" | "volume" | "id" | "name" | "sourceType" | "sourceUrl...
692+
export type CollectedAudioElement = Omit<
693+
AudioElement,
694+
"type" | "mediaId" | "volume" | "id" | "name" | "sourceType" | "sourceUrl"
695+
...
705696
export function createAudioContext(): AudioContext
706697
export interface DecodedAudio {
707698
samples: Float32Array
708699
sampleRate: number
709700
}
710-
export function decodeAudioToFloat32({
711-
audioBlob,
712-
}: {
713-
audioBlob: Blob;
701+
export function decodeAudioToFloat32({
702+
audioBlob,
703+
}: {
704+
audioBlob: Blob;
714705
}): Promise<DecodedAudio>
715-
export function collectAudioElements({
716-
tracks,
717-
mediaAssets,
718-
audioContext,
719-
}: {
720-
tracks: TimelineTrack[];
721-
mediaAssets: MediaAsset[];
722-
audioContext: AudioContext;
706+
export function collectAudioElements({
707+
tracks,
708+
mediaAssets,
709+
audioContext,
710+
}: {
711+
tracks: TimelineTrack[];
712+
mediaAssets: MediaAsset[];
713+
audioContext: AudioContext;
723714
}): Promise<CollectedAudioElement[]>
724715
export interface AudioClipSource {
725716
id: string
@@ -731,32 +722,32 @@ audio.ts
731722
trimEnd: number
732723
muted: boolean
733724
}
734-
export function collectAudioMixSources({
735-
tracks,
736-
mediaAssets,
737-
}: {
738-
tracks: TimelineTrack[];
739-
mediaAssets: MediaAsset[];
725+
export function collectAudioMixSources({
726+
tracks,
727+
mediaAssets,
728+
}: {
729+
tracks: TimelineTrack[];
730+
mediaAssets: MediaAsset[];
740731
}): Promise<AudioMixSource[]>
741-
export function collectAudioClips({
742-
tracks,
743-
mediaAssets,
744-
}: {
745-
tracks: TimelineTrack[];
746-
mediaAssets: MediaAsset[];
732+
export function collectAudioClips({
733+
tracks,
734+
mediaAssets,
735+
}: {
736+
tracks: TimelineTrack[];
737+
mediaAssets: MediaAsset[];
747738
}): Promise<AudioClipSource[]>
748-
export function createTimelineAudioBuffer({
749-
tracks,
750-
mediaAssets,
751-
duration,
752-
sampleRate = 44100,
753-
audioContext,
754-
}: {
755-
tracks: TimelineTrack[];
756-
mediaAssets: MediaAsset[];
757-
duration: number;
758-
sampleRate?: number;
759-
audioContext?: AudioContext;
739+
export function createTimelineAudioBuffer({
740+
tracks,
741+
mediaAssets,
742+
duration,
743+
sampleRate = 44100,
744+
audioContext,
745+
}: {
746+
tracks: TimelineTrack[];
747+
mediaAssets: MediaAsset[];
748+
duration: number;
749+
sampleRate?: number;
750+
audioContext?: AudioContext;
760751
}): Promise<AudioBuffer | null>
761752

762753
media-utils.ts
@@ -1091,28 +1082,46 @@ track-utils.ts
10911082
}): { isValid: boolean; errorMessage?: string }
10921083

10931084
zoom-utils.ts
1094-
export function getTimelineZoomMin({
1095-
duration,
1096-
containerWidth,
1097-
}: {
1098-
duration: number;
1099-
containerWidth: number | null | undefined;
1085+
export function getTimelineZoomMin({
1086+
duration,
1087+
containerWidth,
1088+
}: {
1089+
duration: number;
1090+
containerWidth: number | null | undefined;
11001091
}): number
1101-
export function getTimelinePaddingPx({
1102-
containerWidth,
1103-
zoomLevel,
1104-
minZoom,
1105-
}: {
1106-
containerWidth: number;
1107-
zoomLevel: number;
1108-
minZoom: number;
1092+
export function getTimelinePaddingPx({
1093+
containerWidth,
1094+
zoomLevel,
1095+
minZoom,
1096+
}: {
1097+
containerWidth: number;
1098+
zoomLevel: number;
1099+
minZoom: number;
11091100
}): number
1110-
export function getZoomPercent({
1111-
zoomLevel,
1112-
minZoom,
1113-
}: {
1114-
zoomLevel: number;
1115-
minZoom: number;
1101+
export function getZoomPercent({
1102+
zoomLevel,
1103+
minZoom,
1104+
}: {
1105+
zoomLevel: number;
1106+
minZoom: number;
1107+
}): number
1108+
export function sliderToZoom({
1109+
sliderPosition,
1110+
minZoom,
1111+
maxZoom = TIMELINE_CONSTANTS.ZOOM_MAX,
1112+
}: {
1113+
sliderPosition: number;
1114+
minZoom: number;
1115+
maxZoom?: number;
1116+
}): number
1117+
export function zoomToSlider({
1118+
zoomLevel,
1119+
minZoom,
1120+
maxZoom = TIMELINE_CONSTANTS.ZOOM_MAX,
1121+
}: {
1122+
zoomLevel: number;
1123+
minZoom: number;
1124+
maxZoom?: number;
11161125
}): number
11171126

11181127
## apps/web/src/lib/transcription

0 commit comments

Comments
 (0)