4.2 KiB
4.2 KiB
🛠️ PDF Engine — Developer Command Cheat Sheet
This document serves as the single source of truth for commands across our developer roles.
🗺️ Developer Matrix & Focus Areas
| Role | Focus Area | Code Paths | Primary Responsibilities |
|---|---|---|---|
| Dev 1 — Parser & SDK | Core PDF parser, C++ wrappers, and FastAPI integration | engine/src/parser/gateway/ |
PDFium abstraction layers, Rule R2 compliance, Python bindings, FastAPI gateway |
| Dev 2 — Graphics & Render | Frontend React viewer and browser WebAssembly layers | frontend/wasm/ |
Rendering facade, Emscripten build pipeline, annotation tools, React UI components |
| Dev 3 — Fonts & Text | Text shaping, font embedding, and subsetting | engine/src/fonts/engine/src/text/ |
FreeType & HarfBuzz wrappers, font subsetting, text extraction layers |
⚡ Quick Reference Command Matrix
| Task / Goal | Dev 1: Parser & SDK | Dev 2: Graphics & Render | Dev 3: Fonts & Text |
|---|---|---|---|
| 1. One-Time Setup | powershell scripts/bootstrap.ps1(Setup Python env in gateway/) |
powershell scripts/bootstrap.ps1(Setup Node in frontend/) |
powershell scripts/bootstrap.ps1(Setup Python env in gateway/) |
| 2. Build C++ Engine | powershell scripts/build_cpp.ps1 |
powershell scripts/build_wasm.ps1 (WASM) |
powershell scripts/build_cpp.ps1 |
| 3. Run Unit Tests | powershell scripts/test_cpp.ps1 |
node wasm/pdfengine.test.mjs |
powershell scripts/test_cpp.ps1 -R "Font|Text" |
| 4. Run Gateway/UI Tests | powershell scripts/test_gateway.ps1 |
— | powershell scripts/test_gateway.ps1 |
| 5. Start Local Server | powershell scripts/start_gateway.ps1 |
cd frontend; npm run dev |
— |
| 6. Aggregator/CI Check | powershell scripts/test_phase0.ps1 |
powershell scripts/test_phase0.ps1 |
powershell scripts/test_phase0.ps1 |
🛠️ Setup & Execution Workflows
💻 Dev 1 — Parser & SDK Workflow
A. Setup Python Gateway
powershell -ExecutionPolicy Bypass -File scripts/bootstrap.ps1
cd gateway
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -e ".[dev]"
cd ..
B. Build & Local Verification
powershell -ExecutionPolicy Bypass -File scripts/build_cpp.ps1
powershell -ExecutionPolicy Bypass -File scripts/test_cpp.ps1
powershell -ExecutionPolicy Bypass -File scripts/check_pdfium_boundary.ps1
C. Gateway Integration & Dev Loop
powershell -ExecutionPolicy Bypass -File scripts/test_gateway.ps1
powershell -ExecutionPolicy Bypass -File scripts/start_gateway.ps1
⚛️ Dev 2 — Graphics & Render Workflow
A. Setup Frontend UI
powershell -ExecutionPolicy Bypass -File scripts/bootstrap.ps1
cd frontend
npm install
cd ..
B. WASM Engine Compilation
powershell -ExecutionPolicy Bypass -File scripts/build_wasm.ps1
C. Frontend Execution & Production Build
To launch the Vite web server for visual UI prototyping:
cd frontend
npm run dev
To compile production bundles:
cd frontend
npm run build
🔤 Dev 3 — Fonts & Text Workflow
A. Setup Environment
powershell -ExecutionPolicy Bypass -File scripts/bootstrap.ps1
cd gateway
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -e ".[dev]"
cd ..
B. Development & Test Loop
powershell -ExecutionPolicy Bypass -File scripts/build_cpp.ps1
powershell -ExecutionPolicy Bypass -File scripts/test_cpp.ps1 -R "Font|Text"
powershell -ExecutionPolicy Bypass -File scripts/test_gateway.ps1
🏁 Environment Verification (Aggregator Check)
Before pushing any branches, all developers should run the full suite verification:
powershell -ExecutionPolicy Bypass -File scripts/test_phase0.ps1 -Preset win-local-pdfium
🔧 Developer Utilities
Below is a list of other helper scripts in the repository:
- Populate Test Corpus:
(Copies standard testing PDFs from local PDFium source/checkout directories to the workspace
powershell -ExecutionPolicy Bypass -File scripts/copy_test_corpus.ps1corpus/folder).