Warconvert

Roadmap Checklist

Current: App v0.3.020 · PNG/JPEG/GIF/WebP live · BMP/ICO MVP · Parity QA Suite

Warconvert is a local-first image format converter: upload once, convert to PNG, JPEG, GIF, BMP, ICO, WebP, then download. No servers — the long-term goal is a single-file HTML tool you can run offline.

Done In progress / partly live Planned / not started
One row = one build slice
Phase 0 Warchief Shell + Input Spine
Branded UI, drag/drop, preview, and the conversion pipeline interface.
Done
  • 0.A — Warchief Frame + LayoutUI
    App frame, header pills, “Roadmap” parity, and a clean center workflow panel.
    Done · styling + spacing lock-in
  • 0.B — Upload + Drag/Drop + PreviewInput
    Accept files, show size/type, and render a reliable preview (with fallback decode strategy).
    Done · decode spine + preview canvas
  • 0.C — Target Picker + Batch Queue (v1)Flow
    Choose output format per file; queue list with per-item status and “Convert all”.
    Done · multi-file quality-of-life
  • 0.D — Download ManagerOutput
    File naming templates, “Save as…”, and optional ZIP pack for batch exports.
    Done · export UX polish
Phase 1 PNG Output
Baseline conversion target: correct alpha, predictable pixels.
Done
  • 1.A — Canvas Pipeline v1Core
    Decode → draw to canvas → re-encode. Establish the “single truth” pixel buffer.
    Done · foundation for all formats
  • 1.B — Export PNG (Lossless)PNG
    One-click PNG download from the canvas buffer; preserves transparency.
    Done · the “gold standard” target
  • 1.C — Pixel Integrity TestsQA
    Verify dimensions, alpha edges, and color parity across sample assets.
    Done · parity QA modal + pixel integrity runner
Phase 2 JPEG Output
Quality slider, flatten options, and predictable file size control.
Done
  • 2.A — Export JPEG v1JPG
    Encode to JPEG with sane defaults; consistent filename suffixing.
    Done · first lossy lane
  • 2.B — Quality Slider + Size PreviewUX
    Live-estimate output size; quick presets (High/Med/Low).
    Done · compression control
  • 2.C — Transparency FlatteningAlpha
    Choose a background (black/white/custom) when converting transparent sources to JPEG.
    Done · avoid “black halo” surprises
Phase 3 GIF Output
Single-frame export first; animation later as a separate milestone.
Done
  • 3.A — Export GIF (Single Frame)GIF
    Encode current canvas buffer as a static GIF for compatibility targets.
    Done · simple, reliable baseline
  • 3.B — Palette / Dither Controls (v1)Color
    Basic dithering toggle + palette size presets to reduce banding.
    Done · quality knobs for GIF limits
  • 3.C — Animated GIF (Optional Expansion)Anim
    Add true multi-frame GIF export + timeline controls (planned to integrate with Oranima pipeline).
    Planned · multi‑frame lane (Oranima/timeline milestone)
Phase 4 BMP Output
Legacy-friendly exports and predictable byte layouts.
In Progress
  • 4.A — Export BMP (24-bit)BMP
    Export BMP (baseline lane). Current build exports 32‑bit BGRA; add true 24‑bit BMP option for widest decoder support.
    Partial · exports 32‑bit BGRA today; add 24‑bit baseline for maximum compatibility
  • 4.B — Optional 32-bit + Alpha NoteAlpha
    32‑bit BMP export is live (BGRA). Document/communicate alpha caveats and offer a compatibility switch if needed.
    Done · 32‑bit BGRA encoder (alpha may be ignored by many decoders)
Phase 5 ICO Output
Icon bundles (multi-size) for favicons and Windows assets.
In Progress
  • 5.A — ICO Pack BuilderICO
    ICO export is live as a single image entry (PNG payload, alpha preserved). Planned: multi-size pack builder (16→256).
    Partial · single‑image ICO (PNG payload) with resize-to-≤256; pack builder still planned
  • 5.B — Icon Preview GridUX
    Preview each generated size in a grid (light/dark checkboard backgrounds).
    Planned · preview multi-size sharpness before export
  • 5.C — Smart Crop + Centering HelperFit
    Optional crop/contain modes so small icons don’t get awkward padding.
    Planned · crop/center helpers for icon-ready framing
Phase 6 WebP Output
Modern compression target with lossy/lossless options.
In Progress
  • 6.A — Export WebP v1WEBP
    Export WebP is live (browser encoder).
    Done · WebP export lane is live
  • 6.B — Lossy / Lossless ToggleMode
    Lossy/Lossless control is live. Lossless is best‑effort depending on browser encoder.
    Done · lossy/lossless toggle (lossless is best‑effort, browser-dependent)
  • 6.C — Batch PresetsBatch
    Per-format presets (PNG lossless, JPEG 85, WebP 80) for “convert a folder” workflows.
    Planned · one‑click presets for batch workflows
Phase 7Oranima Bridge + Local Frame Cache
Planned pipeline: cache frames locally (IndexedDB) and roundtrip assets into Oranima’s timeline editor.
Planned
  • 7.A — IndexedDB Frame Cache (v1)Cache
    Store decoded frames/images locally (IndexedDB) so Oranima can load/swap them without re-importing each time.
    Planned · local-first frame store + manifest index
  • 7.B — Warconvert → Oranima Asset ManifestBridge
    Define a simple manifest (JSON) describing frames, sizes, and metadata for Oranima to ingest.
    Planned · import/export contract for timeline editor
  • 7.C — Roundtrip + Frame Substitution FlowPipeline
    Enable swapping frames in Oranima and returning updated assets back to Warconvert / Warpaint workflows.
    Planned · roundtrip UX + conflict handling
Roadmap is aspirational and will evolve. Status in this file is updated from app snapshot: Warconvert v0.3.020 (BMP/ICO/WebP MVP + Parity QA). Priority: stability → correctness (truth buffer) → batch ergonomics → optional expansions (animation, packs, Oranima bridge).