6.6 KiB
Feature-parity estimate and remaining effort
How close PhotoCraft is to Adobe Photoshop 2026, and how much Opus 5.5 work remains. Generated by
assessment, not a tool; revisit when a major arc lands. Menu coverage is from cargo xtask parity;
fidelity is from the PSD oracle (cargo xtask corpus / oracle_diff).
Headline
Update 2026-10-03: menu/command breadth reached 100% (625/625) — every Photoshop menu item now dispatches a live command (incl. Variables/Data Sets, Trap, the Timeline panel and Layer › Video Layers). Remaining parity work is depth and fidelity, not breadth: PSD oracle (~66%), Camera Raw/video-layer depth, and the AI/Neural tier. See the table below.
- Menu / command breadth: 625 / 625 Photoshop menu items live = 100% (every menu item has a live command).
- PSD rendering fidelity (oracle): ~111 / 170 corpus files pixel-match = ~65%.
- Overall functional parity (weighted, mainstream workflows): ~86% (menu breadth complete; depth + fidelity are the remaining gap).
- Overall including Adobe's AI / Firefly features: ~75% (these are mostly cloud/ML and the hardest to reach clean-room).
Menu coverage (96%) overstates true parity because many live commands are faithful-but-approximate (Camera Raw without masking/calibration, Vanishing Point without its UI, heuristic Select Subject/Sky vs Adobe's ML, Content-Aware Fill basic). The weighted figure accounts for depth and fidelity, not just presence.
Where we stand, by area
| Area | Parity | Notes |
|---|---|---|
| Layers, masks, groups, blend modes, smart objects, layer styles | ~92% | Broad + GPU-accelerated; bevel/satin shapes and a few blend edge cases remain |
| Selections, paths, vector shapes, pen | ~90% | Select menu 100% of items; Select Subject/Sky are heuristic, not ML |
| Paint / brush engine, retouch (clone, healing) | ~85% | Solid; no Mixer Brush depth, no Content-Aware healing |
| Adjustments + adjustment layers | ~90% | All kinds present; Camera Raw depth and a few toe-curve models approximate |
| Filters (incl. Filter Gallery ×47, Liquify, blurs, render) | ~88% | Gallery looks are approximations; no Neural Filters |
| Type / text engine, character & paragraph styles, glyphs | ~90% | Vertical type and OpenType alternates thin |
| Color management (ICC v2/v4, intents, soft-proof) | ~90% | Own pure-Rust CMS; no Adobe CMYK profiles (synthetic) |
| File I/O: PSD, native .pcraft, flats (png/jpg/tiff/webp/exr/…) | ~85% | PSD oracle ~65% pixel-exact; most structure round-trips |
| Transform, warp, puppet, perspective, liquify | ~88% | No Face-Aware Liquify (needs a landmark model) |
| Automation: CLI, MCP, headless server, control channel | ~95% | Ahead of Photoshop here (see below) |
| Image modes (RGB/Gray/CMYK/Lab/Indexed/Duotone/Multichannel) | ~85% | Multichannel display-only; no ink-plate model |
| Print / export / Save for Web / slices / Generator | ~85% | No Separations/bleed; droplets basic |
| Computational photo (Photomerge, HDR, Lens, Camera Raw, Wide Angle) | ~70% | Classical implementations; generic lens profiles only |
| Data-driven graphics (Variables, Data Sets) | ~0% | Not started (5 menu items) |
| Video / Timeline / animation | ~0% | Not started (13 menu items) — a whole subsystem |
| AI / Neural / Generative (Firefly, Sensei, Neural Filters) | ~5% | Mostly absent; needs licensed/trained models |
| Prepress niche (Trap, measurement scale pro) | ~30% | Trap, ink spread not modelled |
The remaining 25 menu items, grouped
- Video & Timeline (13): Video Layers (new/insert/duplicate/delete/replace/interpret/restore/ reload/rasterize), Rasterize › Video, Timeline panel, Render Video, Import Video Frames to Layers. One cohesive subsystem: a frame/time model, a video decoder/encoder (clean-room Rust, no ffmpeg), onion-skinning, and a timeline UI.
- Data-driven graphics (5): Variables › Define / Data Sets, Apply Data Set, Export Data Sets as Files, Import Variable Data Sets. A template-binding model over layers + a CSV/data-set engine.
- Niche / platform (7): Trap (prepress ink spread), Frame from Layers, Migrate Presets, WIA Support (Windows scanners), and two already-adjacent items.
Effort to parity (Opus 5.5)
Two clocks: agent-hours (total model work) and wall-clock (with this session's observed ~6–8× parallelism across independent arcs). This session landed ~70 menu items + major subsystems in a handful of wall-clock hours using 8 parallel agents, so wall-clock ≈ agent-hours ÷ 6.
| Milestone | Scope | Agent-hours | Wall-clock |
|---|---|---|---|
| To 90% functional | remaining non-AI/non-video menu items (Variables, Trap, Frame, Migrate, WIA), Camera Raw depth, Vanishing Point UI, selection quality, polish | 60–90 | 10–15 h |
| To 95% functional | the above + PSD oracle 65% → ~90% (bevel/satin shapes, Lab blending, noise-gradient RNG, toe curves), broad UI-parity pass, perf pass | +80–130 | +15–22 h |
| Video / Timeline subsystem | frame model, clean-room decode/encode, timeline, animation, Render Video | 50–80 | 10–14 h |
| Credible AI tier | ML Select Subject/Sky, Content-Aware Fill (PatchMatch++), basic generative fill/expand — needs model integration; some features may be infeasible fully clean-room without licensed models | 120–250+ | 25–45 h |
Totals:
- To ~95% functional parity (everything except video and AI): ~140–220 agent-hours ≈ 25–40 wall-clock hours of Opus 5.5 with parallel agents.
- To ~98% incl. the video subsystem: +50–80 agent-hours ≈ +10–14 wall-clock hours.
- To ~99% incl. a credible AI tier: +120–250 agent-hours ≈ +25–45 wall-clock hours, with the caveat that pixel-for-pixel Firefly/Sensei parity is not achievable clean-room without trained models; we target functional equivalents.
Best single number: PhotoCraft is ~82% of the way to full Photoshop parity, and reaching a 95%, ships-for-most-users state is roughly 25–40 wall-clock hours of parallel Opus 5.5 work. Closing the last 5% (video + AI) is the long, uncertain tail.
Assumptions & caveats
- "Parity" = functional + visual equivalence of what a user can do, not byte-identical output. Clean- room means no Adobe code, profiles, shaders, or trained models; AI features target equivalents.
- Wall-clock assumes 6–8 independent arcs in parallel with their own target dirs, as this session ran. Serial work is ~6× longer.
- Adobe removed 3D/Substance from Photoshop, so 3D is intentionally out of scope.
- Fidelity hours are the least certain: the remaining oracle failures are proprietary RNGs and unpublished curve models fitted by observation.