Card Evolution Phase 0 — Render Pipeline Optimization Master Tracker #93

Closed
opened 2026-03-13 04:38:00 +00:00 by cal · 1 comment
Owner

Render Pipeline Optimization (Phase 0)

Tracking issue for all Phase 0 work packages. Independent of Card Evolution — benefits all existing card workflows immediately. Prerequisite for Phase 4 (Animated Cosmetics).

Plan: docs/prd-evolution/PHASE0_PROJECT_PLAN.md (v1.0)
PRD: docs/prd-evolution/02-architecture.md § Card Render Pipeline Optimization

Target metrics:

Metric Before After
Per-card render ~3.0s <1.0s
800-card upload ~40 min <5 min
External deps during render Google Fonts CDN None
Chromium processes per run 800 1

Work Packages

  • #87 — WP-00: Baseline Benchmarks (database + card-creation)
  • #88 — WP-01: Self-Hosted Fonts (database)
  • #89 — WP-02: Persistent Browser Instance (database)
  • #90 — WP-03: FastAPI Lifespan Hooks (database)
  • #91 — WP-04: Concurrent Upload Pipeline (card-creation)
  • #92 — WP-05: Legacy Upload Script Update (card-creation)

Dependency Graph

WP-00 (benchmarks)
  |
  v
WP-01 (fonts) ──────┐
                     ├──> WP-03 (lifespan) ──> Deploy to dev ──> WP-04 (concurrent upload)
WP-02 (browser) ────┘                                              |
                                                                    v
                                                              WP-05 (legacy script)
                                                                    |
                                                                    v
                                                              Re-run benchmarks

Parallelization:

  • WP-00, WP-01, WP-02 can start immediately in parallel
  • WP-03 needs WP-02
  • WP-04 needs WP-02 deployed server-side
  • WP-05 reuses WP-04 pattern

Repos involved:

  • paper-dynasty-database — persistent browser, lifespan hooks, self-hosted fonts (WP-00 through WP-03)
  • paper-dynasty/card-creation — concurrent upload pipeline (WP-04, WP-05)
## Render Pipeline Optimization (Phase 0) Tracking issue for all Phase 0 work packages. Independent of Card Evolution — benefits all existing card workflows immediately. Prerequisite for Phase 4 (Animated Cosmetics). **Plan:** `docs/prd-evolution/PHASE0_PROJECT_PLAN.md` (v1.0) **PRD:** `docs/prd-evolution/02-architecture.md` § Card Render Pipeline Optimization **Target metrics:** | Metric | Before | After | |--------|--------|-------| | Per-card render | ~3.0s | <1.0s | | 800-card upload | ~40 min | <5 min | | External deps during render | Google Fonts CDN | None | | Chromium processes per run | 800 | 1 | --- ### Work Packages - [ ] #87 — WP-00: Baseline Benchmarks (`database` + `card-creation`) - [ ] #88 — WP-01: Self-Hosted Fonts (`database`) - [ ] #89 — WP-02: Persistent Browser Instance (`database`) - [ ] #90 — WP-03: FastAPI Lifespan Hooks (`database`) - [ ] #91 — WP-04: Concurrent Upload Pipeline (`card-creation`) - [ ] #92 — WP-05: Legacy Upload Script Update (`card-creation`) --- ### Dependency Graph ``` WP-00 (benchmarks) | v WP-01 (fonts) ──────┐ ├──> WP-03 (lifespan) ──> Deploy to dev ──> WP-04 (concurrent upload) WP-02 (browser) ────┘ | v WP-05 (legacy script) | v Re-run benchmarks ``` **Parallelization:** - WP-00, WP-01, WP-02 can start immediately in parallel - WP-03 needs WP-02 - WP-04 needs WP-02 deployed server-side - WP-05 reuses WP-04 pattern **Repos involved:** - `paper-dynasty-database` — persistent browser, lifespan hooks, self-hosted fonts (WP-00 through WP-03) - `paper-dynasty/card-creation` — concurrent upload pipeline (WP-04, WP-05)
cal added this to the Card Evolution Phase 0 — Render Pipeline Optimization milestone 2026-03-13 04:38:18 +00:00
cal added the
evolution
phase-0
labels 2026-03-13 04:38:18 +00:00
Author
Owner

All work packages complete. Closing tracker.

WP Issue Status
WP-00 #87 Done — PR #95 (database)
WP-01 #88 Done — PR #96 (database)
WP-02 #89 Done — PR #97 (database)
WP-03 #90 Done — PR #99 (database)
WP-04 #91 Done — merged to card-creation main
WP-05 #92 Done — merged to card-creation main

Results:

  • Per-card render: ~2.0s → ~0.98s (51% reduction)
  • Chromium processes per run: 800 → 1
  • External deps during render: Google Fonts CDN → None
  • Upload pipeline: sequential → 8x concurrent (with configurable --api-url for 32x local)

Database-side PRs (#95-#99) still need merge review.

**All work packages complete.** Closing tracker. | WP | Issue | Status | |----|-------|--------| | WP-00 | #87 | Done — PR #95 (database) | | WP-01 | #88 | Done — PR #96 (database) | | WP-02 | #89 | Done — PR #97 (database) | | WP-03 | #90 | Done — PR #99 (database) | | WP-04 | #91 | Done — merged to card-creation main | | WP-05 | #92 | Done — merged to card-creation main | **Results:** - Per-card render: ~2.0s → **~0.98s** (51% reduction) - Chromium processes per run: 800 → **1** - External deps during render: Google Fonts CDN → **None** - Upload pipeline: sequential → **8x concurrent** (with configurable `--api-url` for 32x local) Database-side PRs (#95-#99) still need merge review.
cal closed this issue 2026-03-16 16:04:00 +00:00
Sign in to join this conversation.
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: cal/paper-dynasty-database#93
No description provided.