Convert Point is a tool of its own, built on the existing path.convertPoint edit that Pen + Alt already drives. A click makes a smooth anchor a corner, a drag from an anchor pulls out smooth handles, a drag on a handle moves it alone. The tool selects the anchor it converts so its handles show; a press on empty canvas or a segment does nothing, and Cmd/Ctrl is Direct Selection, as with the Pen. It shares the Pen's key (P). Original glyph with an ATTRIBUTION.md row; tool name in all catalogs; README tool list and the G6 / ui-parity / roadmap counts updated (tools 56 of 68, the earlier 53 was stale). Co-authored-by: Brandon Thomas <[email protected]> Co-authored-by: Claude Opus 5.5 <[email protected]>
8.1 KiB
PhotoCraft roadmap
Stage: alpha · next: beta, ~30 points (ready for real work ~45% → ~75%, with reliable PSD) and ~1,100–1,800 h away
Last reviewed: 2026-10-11 · Last updated: 2026-10-11 · Change: minor (toolbox count 56 of 68, 12 missing) · Target: Adobe Photoshop 2026
PhotoCraft's one-page summary of how close it is to Adobe Photoshop 2026 (27.11.0, measured from the installed app on 2026-10-10) at version 0.6.0. Detail: target-app parity (methodology, weights, evidence), gaps (the ranked work list), roadmap (milestones, current focus), scorecard and menu checklist (both generated and measured), architecture.
Hours are Opus 5.5 agent wall-clock hours for one agent working sequentially, calibrated from this repository's 1,004 merged PRs (see calibration). About 80% of the work parallelizes.
Headline numbers
| Value | Kind | |
|---|---|---|
| Feature breadth | ~76% | partly measured: menus 628/628, tools 56/68, panels 30/35, formats 13+4 of 31 |
| Ready for real work | ~45% (40–50%) | estimated: weighted by dimension below |
| Mainstream practitioner | ~43% (38–48%) | estimated: weekly areas of a typical pro, with discounts (method) |
| Essentials user | ~61% (55–67%) | estimated: core features only (method) |
| Remaining to beta | ~1,100–1,800 h | estimated |
| Remaining to full parity | ~2,300–4,100 h | estimated; AI and plug-ins need owner decisions |
Readiness by audience
| Audience | Ready % | Opus 5.5 agent-hours to ~95% | Work that dominates |
|---|---|---|---|
| Full target (ready for real work) | ~45% (additive weighted sum: 46%) | 2,300–4,100 | Everything below, plus AI tier, plug-in/scripting ecosystem, video, localization, hardware |
| Mainstream practitioner | ~43% | 1,700–2,800 | Depth in the 11 weekly areas (1,180–2,000), performance budgets, stability on real machines, PSD exchange with Photoshop |
| Essentials user | ~61% | 400–700 | Startup and GPU robustness, brush and transform responsiveness, Type tool, discoverability (flyouts, commit buttons), AVIF/PDF open |
Hours calibrated as in Remaining effort (2–9 h per checklist item, 8–20 h per format or subsystem, from the repo's 1,004 merged PRs); each tier is a subset of the one above. About 80% parallelizes (independent crates and command modules); performance architecture and the PSD writer are the serial parts.
Why alpha. Core workflows (open, layer, select, paint, adjust, filter, type, save) work end to end, and breadth is high, but users of 0.5/0.6 have 579 open issues, 22 of 25 performance budgets are missed, and PSDs we write are not yet reliably accepted by Photoshop (#1281, #2469). Beta needs ~75% ready and no blocking PSD gap. The alpha gate passes: all six core workflows (retouch, composite, cut-out, design, paint, PSD exchange) complete end to end and save and reopen; four are partial in depth, none blocked.
By dimension
| Dimension | % ready | Hours to full | Doc |
|---|---|---|---|
| Features (depth) | 55% (breadth 76%) | 600–1,000 | target-app-parity |
| UI/UX fidelity (tools, handles, modifiers, brush feel, panels) | 40% | 350–600 | ui-parity, brush-parity, context-menu-parity |
| File formats | 60% (presence ~80%) | 300–500 | file-format-parity |
| Hardware (GPU, pen, displays) | 50% | 80–150 | hardware-parity |
| Localization | 55% | 80–140 | localization-parity |
| Performance | 25% (3/25 budgets met, measured) | 200–350 | scorecard |
| Stability | 45% | 150–250 | gaps |
| Platforms | 80% | 30–60 | scorecard |
| Ecosystem / plug-ins / scripting | 15% | 250–450 | gaps |
| AI features | 10% | 300–600 | gaps |
Features
| Area | % ready | Hours |
|---|---|---|
| Layers, masks, blend modes, smart objects, styles | 65% | 150–250 |
| Selections, Select and Mask, channels | 55% | 120–200 |
| Painting and brush engine | 55% | 150–250 |
| Retouching (healing, clone, patch, remove, content-aware) | 50% | 100–180 |
| Transform, warp, puppet, liquify | 55% | 100–180 |
| Adjustments and filters | 70% | 120–200 |
| Type | 40% | 120–200 |
| Vector shapes and paths | 55% | 80–140 |
| Colour management and modes | 70% | 60–100 |
| Camera Raw and computational photo | 45% | 120–200 |
| Automation, actions, scripting | 45% | 120–200 |
| File I/O | 60% | 300–500 |
| Print, export, Save for Web | 50% | 60–100 |
| Video / timeline, data-driven graphics | 30% | 100–200 |
| Workspace, panels, preferences | 40% | 150–250 |
| AI / generative | 10% | 300–600 |
Rows and evidence: target-app-parity › Feature areas.
Languages
Measured with the cargo xtask i18n-coverage key universe (1,608 keys). partial everywhere
because engine messages are still English. Detail: localization-parity.
| Language | Code | UI strings | Status |
|---|---|---|---|
| English | en |
100% | full |
| Simplified Chinese | zh-hans |
100% | partial |
| Spanish | es |
100% | partial |
| Hindi | hi |
0% | none |
| Arabic | ar |
0% (RTL shell only) | none |
| French | fr |
100% | partial |
| Portuguese (Brazil) | pt-br |
100% | partial |
| Indonesian | id |
100% | partial |
| Japanese | ja |
100% | partial |
| German | de |
100% | partial |
| Korean | ko |
100% | partial |
| Vietnamese | vi |
0% | none |
Also shipped: Traditional Chinese, Russian, Ukrainian, Czech, Polish, Greek, Dutch, Italian (8).
Upcoming
| Rank | Milestone | Estimate |
|---|---|---|
| 1 | PSD that Photoshop trusts: Save As corruption, Photoshop re-open check, Photoshop-oracle floor 133 → 200+ of 256 | 150–250 h |
| 2 | Performance budgets: the 22 over-budget scenarios and the 150-layer GPU crash | 200–350 h |
| 3 | User bug backlog to under 100 open | 250–400 h |
| 4 | Brush and transform feel (brush-parity, ui-parity rows) | 160–290 h |
| 5 | The 12 missing tools | 60–100 h |
Detail and the next releases: docs/roadmap.md.
Progress log
| Date | Entry |
|---|---|
| 2026-10-10 | Full re-measure against Photoshop 2026 27.11.0 (installed bundle inspected): breadth ~76%, ready ~45%, alpha. Progress docs reorganized to the craftrules standard (parity.md → parity-checklist.md, parity-estimate.md merged into target-app-parity.md). 0.6.0 released. |
| 2026-10-09 | Remove tool, Rotate View, crop rotation; OpenRaster and Paint.NET; 39 Affinity documents in the corpus |
| 2026-10-08 | 0.5.0. Affinity import; Magnetic Lasso, Pattern Stamp, Mixer Brush, Pencil, Patch, Vertical Type on the toolbar |
| 2026-10-07 | 0.3.0. 10 UI languages; shortcut audit 214 → 0 failures; TIFF decode 10× faster |
| 2026-10-05 | 0.2.0, first signed and notarized release. Honest assessment: ready for real work 25–35% |
| 2026-10-03 | Menu breadth 625/625 |
| 2026-10-01 | Menu breadth 224 → 532 of 625 in a day |
| 2026-09-30 | First commit |
Revision history
| Date | Change | Summary |
|---|---|---|
| 2026-10-11 | minor | Toolbox count 56 of 68 (12 missing) with the Convert Point tool (#3204) |
| 2026-10-10 | minor | Readiness by audience with hours per tier |
| 2026-10-10 | minor | Mainstream-practitioner and essentials-user numbers added |
| 2026-10-10 | minor | Alpha gate result (passes; stays alpha) in the stage explanation |
| 2026-10-10 | major | First version, per craftrules standards/progress-docs.md |