## Phase 8: Enterprise Extractor Improvements ✅ - 14 security extractors (TLS, JWT, SQL injection, XSS, etc.) - 10 framework-specific extractors (Spring, Django, Rails, etc.) - Config file security detection (YAML, TOML) ## Phase 9: Autonomous Extractor Generation ✅ - Shadow mode executor with TP/FP tracking - Graduation pipeline with confidence thresholds - Auto-rollback on regression detection - Cross-project pattern syncing ## UAT Suite Complete (14 scripts, 90 tests) - test-core-detection.sh (6 tests) - test-declarative-extractors.sh (5 tests) - test-domain-frameworks.sh (5 tests) - test-domain-unreal.sh (3 tests) - test-llm-extraction.sh (6 tests) - test-eval-harness.sh (5 tests) - test-cross-language.sh (3 tests) - test-precommit-performance.sh (4 tests) - test-output-formats.sh (8 tests) - test-drift-detection.sh (6 tests) - test-exit-codes.sh (12 tests) + 3 more scripts ## Other Changes - Updated roadmap to mark Phase 8-9 complete - Added .gitignore entries for build artifacts - Updated pre-commit: 800 line limit, exclude tests/data/cmd Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
115 lines
2.7 KiB
Markdown
115 lines
2.7 KiB
Markdown
# Video Renderer
|
|
|
|
Remotion-based video renderer for StemeDB marketing and pitch videos.
|
|
|
|
## Compositions
|
|
|
|
| Composition | Purpose | Aspect Ratio |
|
|
|-------------|---------|--------------|
|
|
| `ExpertConversation` | TikTok/Reels style product discovery videos | 9:16 |
|
|
| `PitchVideo` | Pitch presentations with slide → app demo transitions | 16:9 |
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
# Install dependencies
|
|
pnpm install
|
|
|
|
# Open Remotion Studio (preview/edit)
|
|
pnpm studio
|
|
|
|
# Render PitchVideo
|
|
pnpm render:pitch
|
|
```
|
|
|
|
## Pitch Video Structure
|
|
|
|
The pitch video is built from "blocks" - each with its own MP3 audio file:
|
|
|
|
| Block Type | Visual | Example |
|
|
|------------|--------|---------|
|
|
| `stat` | Big number with count-up animation | "79% of FDA Warning Letters..." |
|
|
| `slide` | Full-screen headline with optional subheadline | "With AI making more decisions..." |
|
|
| `problem` | Problem statement with icon | "Sources disagree" |
|
|
| `feature` | Feature card with icon and description | "Conflict Visibility" |
|
|
| `app-demo` | Dashboard screenshot with animated callouts | Skeptic Query page |
|
|
| `closing` | CTA with animated button | "Schedule a Demo" |
|
|
|
|
## Assets
|
|
|
|
### Audio Files
|
|
|
|
Place MP3 voiceover files in `public/audio/`:
|
|
|
|
```
|
|
public/audio/
|
|
├── 01-hook-stat.mp3
|
|
├── 02-hook-reveal.mp3
|
|
├── 03-problem-1.mp3
|
|
...
|
|
├── 30-close.mp3
|
|
└── background-music.mp3 (optional)
|
|
```
|
|
|
|
### Screenshots
|
|
|
|
Place dashboard screenshots in `public/screenshots/`:
|
|
|
|
```
|
|
public/screenshots/
|
|
├── skeptic-query.png
|
|
├── weight-distribution.png
|
|
├── audit-trail.png
|
|
├── sources-page.png
|
|
├── impact-preview.png
|
|
├── quarantine-source.png
|
|
├── time-travel.png
|
|
└── circuit-breaker.png
|
|
```
|
|
|
|
Capture at 1920x1080 for 16:9 aspect ratio.
|
|
|
|
## Scripts
|
|
|
|
| Script | Description |
|
|
|--------|-------------|
|
|
| `pnpm studio` | Open Remotion Studio for preview |
|
|
| `pnpm render:pitch` | Render full pitch video to `out/stemedb-pitch.mp4` |
|
|
| `pnpm render:pitch:preview` | Render lower quality preview (faster) |
|
|
| `pnpm render:pitch:api` | Programmatic render with custom script |
|
|
|
|
## Customizing the Script
|
|
|
|
Edit `src/data/stemedb-pitch.ts` to modify:
|
|
|
|
- Block order and content
|
|
- Audio file paths and durations
|
|
- Callout positions and timing
|
|
- Captions and headlines
|
|
|
|
## Audio Sync
|
|
|
|
Each block's duration is determined by its `audio.durationMs` value. Update these values after generating audio:
|
|
|
|
```typescript
|
|
{
|
|
id: 'hook-stat',
|
|
type: 'stat',
|
|
audio: {
|
|
src: 'audio/01-hook-stat.mp3',
|
|
durationMs: 5000, // Update to actual audio duration
|
|
},
|
|
content: { ... }
|
|
}
|
|
```
|
|
|
|
## Development
|
|
|
|
```bash
|
|
# Type check
|
|
npx tsc --noEmit
|
|
|
|
# Preview specific composition
|
|
pnpm studio # Then select composition in UI
|
|
```
|