Skip to content

Latest commit

 

History

History
44 lines (33 loc) · 2.29 KB

File metadata and controls

44 lines (33 loc) · 2.29 KB

WARP.md — Papyrus

⭐ CODEGRAPHCONTEXT: /Users/home/Workspace/Apps/.code-analysis/monorepo-analysis.md ⭐ QUERIES: /Users/home/Workspace/Apps/.code-analysis/essential-queries.md Agent Context: /Users/home/Workspace/Apps/Papyrus/AGENTS.md

⚡ Quick Commands

Action Command Notes
Push razorpush Papyrus Commit and save Papyrus only
Build (Release) papyrusbuild Full .app + DMG (~2m)
Verify uv run pytest tests/test_parser.py tests/test_renderer.py -q Focused parser/renderer check
Run uv run python -m papyrus.main Dev run

🏗️ Architecture

Component Location Purpose
PapyrusApp src/papyrus/core/app.py Main window wiring, preview/convert actions, Finder and Snapchat mode
PapyrusOrchestrator src/papyrus/core/orchestrator.py Browser preview, export flow, theme state, temp preview cleanup
ContentParser src/papyrus/core/parser.py Input detection plus readable HTML extraction
PDFRenderer src/papyrus/core/renderer.py Print CSS injection and Playwright Chromium PDF output
PreviewPanel src/papyrus/ui/composer.py Right-side stacked preview and Finder panel

🔑 Key Features

  • Browser preview of the current editor content
  • HTML and plain-text export through a shared conversion pipeline
  • Finder mode for supported Snapchat HTML imports
  • Cmd+F opens Finder search

💾 Data & Dependencies

  • Storage: No confirmed persistent history store in the current code path; preview uses temporary HTML files
  • Engine: Playwright Chromium is required for PDF rendering

🚨 Rules

  1. Python Lock: STRICTLY 3.13.x.
  2. Imports: Absolute ONLY (from papyrus.core import X).
  3. Pipeline: Raw URL strings are recognized, but export currently stops with a notice instead of fetching remote pages.
  4. Styling: Keep shared window styling centralized in ui/composer.py; ui/highlighter.py has its own local color map for syntax highlighting.
  5. Version: Read from pyproject.toml (SSOT).