Skip to content

Instantly share code, notes, and snippets.

View Adrian333Dev's full-sized avatar

Omar Jafarov (Adrian) Adrian333Dev

View GitHub Profile

Markdown to PDF Pipeline - Technical Guide

Overview

A complete technical guide for building a Markdown-to-PDF conversion pipeline using Pandoc and Playwright. This approach provides maximum CSS control and ATS-friendly output.

Tools Required

1. Pandoc (Markdown → HTML Converter)

Asset Generation API - Provider Selection & Frame Support

Overview

This document describes the new asset generation functionality that enables provider selection and start/end frame uploads for video generation. This feature allows the platform to choose AI providers (Replicate, Fal.ai) and upload reference frames for more precise video generation.

Key Features

  1. Provider Selection: Platform can filter and select models by provider (Replicate, Fal.ai)
  2. Start/End Frame Upload: Users can upload reference frames to guide video generation

Editor v8 Customizations (Platform Build)

Goal: Keep Platform-specific changes isolated, traceable, and easy to port to future editor versions.
Scope: coyote/editor_v8


Rules & Conventions

  1. Isolation: Platform code or new code we add in general lives in lib/platform, components/platform, components/custom, or Platform routes. Do not edit as much as possible in app/reactvideoeditor/pro/* except to add enum values or minor stuff, but if you do you must include a // CUSTOMIZATION: ... comment on top of the change. whenever you want to make change to existing code, you should make copy of it while prefixing it with custom-, and add it under platform specific folders like components/custom/! and when making the changes in those copies, you must include a // CUSTOMIZATION: ... comment on top of the changes as well, and in general you should try to keep the changes minimal to keep it aligned with the editor, this will simplify the migration in the future.

Copilot Video Editor Branch Analysis

This document provides a comprehensive analysis of commits in the video-editor branch of the copilot repository that are related to video editor functionality.

Overview

  • Focus: Commits modifying copilot code related to video editor integration
  • Note: Many commits in this branch are "sync coyote" commits (submodule updates) which are excluded from this analysis
  • Key Areas: Copilot specs management, video generation, storage management, and integration with coyote editor

Coyote Video Editor Branch Analysis

This document provides a comprehensive analysis of all commits in the video-editor branch of the coyote repository, starting from the initial editor setup commit.

Overview

  • Total commits analyzed: 36 (1 initial setup + 35 subsequent commits)
  • Initial editor setup: ~40,317 lines added across 259 files
  • Branch focus: Video editor implementation and integration

🎯 User Media Upload System - COMPLETE HIGH-LEVEL DESIGN

📊 1. Database Schema

// shared/src/types/platform-schema.ts

export interface IUserMediaMetadata {
  width?: number;
  height?: number;
Excellent refinements! Let me update the flows with these simplifications and clarifications:
---
## Updated Flow 1: Normal Generation with Simplified Logic
```
┌─────────────┐
│ USER │
│ Clicks │
@Adrian333Dev
Adrian333Dev / next.config.ts
Created October 20, 2025 16:53
coyote/platform/next.config.ts
import { withSentryConfig } from "@sentry/nextjs";
import type { NextConfig } from "next";
import createMDX from "@next/mdx";
import remarkGfm from "remark-gfm";
import rehypeSlug from "rehype-slug";
import rehypeAutolinkHeadings from "rehype-autolink-headings";
import remarkCustomHeadingId from "remark-custom-heading-id";
const withMDX = createMDX({
options: {
@Adrian333Dev
Adrian333Dev / solution.md
Created October 19, 2025 23:00
ChatGPT suggested solution

I'll look for imports that pull shared source directly (like @/shared/...) which would force Next to watch/transpile the shared package instead of using its compiled dist. Then I'll propose targeted fixes.

[1 tool called]

Here’s how to tackle the biggest offender first: the shared package.

Priority 1 — Make shared lightweight for platform

  • Use compiled shared/dist only (don’t point platform at shared/src).
    • Remove the alias that points into source: