Files

41 KiB
Raw Permalink Blame History

Gaps

Last reviewed: 2026-10-10 · Last updated: 2026-10-13 · Change: minor (G1: Average and Join in one step with a corner or smooth choice added as missing (it was listed as done in ui-parity.md); Join after Average, #1533; guide objects, #1534; Keyboard Shortcuts, #1539; G9 and G11 fixes, #1528, #1530, #1544, #1553, #1512, #1537; estimates unchanged; Direct Selection anchor precedence, #1508; dialog slider rails, #1483; template layers in Outline view, #1486; Tabs panel stop drags, #1458; type that does not fit its frame is reported, #1471; 3D on outlined type, #1481, Twist range, #1524, twisted walls, #1525; print-size images, #1517; French catalog, #1511; estimates unchanged; G1: Split Into Grid options, #1462, Transform Objects and Reflect's angle, #1448 and #1460, Pathfinder on a group, #1450, value fields, #1457 and #1465 in part; G9: grayscale TIFFs with alpha, #1466 in part; G6: unknown parameter keys refused, #1442; G10: window surfaces past 8192 px, #1459 in part; G15: many-object edits, #1429 in part; estimates unchanged; G16: Vietnamese catalog added, complete under the tests; three key languages remain, 60–100 → 55–90 h; G3: Extrude & Bevel, Inflate and Rotate added, 45–75 → 25–45 h; G9: .ai compound path paint, #1410, overprint kept on import, #1388, text-only PDF parts, #1387; G1: Transform dialogs preview, #1412, transforms of direct-selected anchors, #1408, corner drags, #1229; G11: strokes wider than their shape, #1396; estimates unchanged; G9: .ai editing-data follow-ups (gradient stops, type placement, short area-type frames), #1390, #1391, #1392; G15: symbol instance art kept between frames, #1386; G1: dialog keyboard focus, #1367 and #1395; estimates unchanged; G9: placed (linked) files read from .ai editing data, #1264; G9: gradient shapes import as paths, #1304, and white constant alpha masks, #1286 in part; G15: linear deselect on hide or lock, #1353; estimates unchanged; G7: custom ruler origin done, #1212; G1: Artboard object clicks create a fitted artboard (#1227); remaining interaction pass and estimate unchanged; Pathfinder single-result source names and SVG IDs retained, #1293; DXF control-point SPLINE closure read, #1299 follow-up; G16: Korean catalog added, 70–110 → 60–100 h; Czech render-site localization follow-up; scores and estimates unchanged; Document Setup: Edit Artboards closes the modal after applying valid settings; pointer-click regressions; scores and hours unchanged; Artboards: Escape exits editing; an active drag cancels first; shortcut-routing regression; scores and hours unchanged; G11: valid selection after Simplify and Add Anchor Points (#1272); estimates unchanged; G2: Film Grain added; Photoshop effects 29/57; 28 filters remain; G10: RPM runtime dependency metadata (#1275); estimates unchanged; G15: texture-effect distance searches optimized (#1257); idle-machine/platform drag QA still pending; estimate unchanged; G1: Curvature point display improved (#1236, in part); estimates unchanged; G4: full-name font matching (#1258); Windows font-service QA pending; estimate unchanged; G11: no-op anchor Align keeps history and saved state (#1180 follow-up); estimates unchanged; G1: dedicated Eyedropper cursor and precise-cursor checks (#1269); estimates unchanged; G1: Eyedropper reads visible locked and outside-isolation sources (#1251); estimate unchanged; G11: Direct Selection segment Delete (#1278); estimates unchanged; G1: painted strokes regain the existing default after None/zero-width inheritance (#1253); estimate unchanged; G15: large-selection edits, cached live effects and faster Pathfinder, #1173; G4: proportional vertical metrics done, #966; G11: Shape Builder merge seams on grids of lines fixed, #893; scaled text controls corrected, #1034; group font-size preservation deferred; G9: .ai gradient matrices and meshes from the editing data; estimate unchanged; G9: .ai art styles from the editing data; estimate unchanged; G9: .ai editing-data follow-ups (gradient stops, type placement, short area-type frames), #1390, #1391, #1392; G15: symbol instance art kept between frames, #1386; G1: dialog keyboard focus, #1367 and #1395; estimates unchanged; G9: placed (linked) files read from .ai editing data, #1264; G9: gradient shapes import as paths, #1304, and white constant alpha masks, #1286 in part; G15: linear deselect on hide or lock, #1353; estimates unchanged; G7: custom ruler origin done, #1212; G1: Artboard object clicks create a fitted artboard (#1227); remaining interaction pass and estimate unchanged; Pathfinder single-result source names and SVG IDs retained, #1293; DXF control-point SPLINE closure read, #1299 follow-up; G16: Korean catalog added, 70–110 → 60–100 h; Czech render-site localization follow-up; scores and estimates unchanged; Document Setup: Edit Artboards closes the modal after applying valid settings; pointer-click regressions; scores and hours unchanged; Artboards: Escape exits editing; an active drag cancels first; shortcut-routing regression; scores and hours unchanged; G11: valid selection after Simplify and Add Anchor Points (#1272); estimates unchanged; G2: Film Grain added; Photoshop effects 29/57; 28 filters remain; G10: RPM runtime dependency metadata (#1275); estimates unchanged; G15: texture-effect distance searches optimized (#1257); idle-machine/platform drag QA still pending; estimate unchanged; G1: Curvature point display improved (#1236, in part); estimates unchanged; G4: full-name font matching (#1258); Windows font-service QA pending; estimate unchanged; G11: no-op anchor Align keeps history and saved state (#1180 follow-up); estimates unchanged; G1: dedicated Eyedropper cursor and precise-cursor checks (#1269); estimates unchanged; G1: Eyedropper reads visible locked and outside-isolation sources (#1251); estimate unchanged; G11: Direct Selection segment Delete (#1278); estimates unchanged; G1: painted strokes regain the existing default after None/zero-width inheritance (#1253); estimate unchanged; G15: large-selection edits, cached live effects and faster Pathfinder, #1173; G4: proportional vertical metrics done, #966; G11: Shape Builder merge seams on grids of lines fixed, #893; scaled text controls corrected, #1034; group font-size preservation deferred; G9: .ai gradient matrices and meshes from the editing data; estimate unchanged; G9: .ai editing-data follow-ups (gradient stops, type placement, short area-type frames), #1390, #1391, #1392; G15: symbol instance art kept between frames, #1386; G1: dialog keyboard focus, #1367 and #1395; estimates unchanged; G9: placed (linked) files read from .ai editing data, #1264; G9: gradient shapes import as paths, #1304, and white constant alpha masks, #1286 in part; G15: linear deselect on hide or lock, #1353; estimates unchanged; G7: custom ruler origin done, #1212; G1: Artboard object clicks create a fitted artboard (#1227); remaining interaction pass and estimate unchanged; Pathfinder single-result source names and SVG IDs retained, #1293; DXF control-point SPLINE closure read, #1299 follow-up; G16: Korean catalog added, 70–110 → 60–100 h; Czech render-site localization follow-up; scores and estimates unchanged; Document Setup: Edit Artboards closes the modal after applying valid settings; pointer-click regressions; scores and hours unchanged; Artboards: Escape exits editing; an active drag cancels first; shortcut-routing regression; scores and hours unchanged; G11: valid selection after Simplify and Add Anchor Points (#1272); estimates unchanged; G2: Film Grain added; Photoshop effects 29/57; 28 filters remain; G10: RPM runtime dependency metadata (#1275); estimates unchanged; G15: texture-effect distance searches optimized (#1257); idle-machine/platform drag QA still pending; estimate unchanged; G1: Curvature point display improved (#1236, in part); estimates unchanged; G4: full-name font matching (#1258); Windows font-service QA pending; estimate unchanged; G11: no-op anchor Align keeps history and saved state (#1180 follow-up); estimates unchanged; G1: dedicated Eyedropper cursor and precise-cursor checks (#1269); estimates unchanged; G1: Eyedropper reads visible locked and outside-isolation sources (#1251); estimate unchanged; G11: Direct Selection segment Delete (#1278); estimates unchanged; G1: painted strokes regain the existing default after None/zero-width inheritance (#1253); estimate unchanged; G15: large-selection edits, cached live effects and faster Pathfinder, #1173; G4: proportional vertical metrics done, #966; G11: Shape Builder merge seams on grids of lines fixed, #893; scaled text controls corrected, #1034; group font-size preservation deferred; SVG knockout groups of opaque art export without masks; G9: .ai editing-data follow-ups (gradient stops, type placement, short area-type frames), #1390, #1391, #1392; G15: symbol instance art kept between frames, #1386; G1: dialog keyboard focus, #1367 and #1395; estimates unchanged; G9: placed (linked) files read from .ai editing data, #1264; G9: gradient shapes import as paths, #1304, and white constant alpha masks, #1286 in part; G15: linear deselect on hide or lock, #1353; estimates unchanged; G7: custom ruler origin done, #1212; G1: Artboard object clicks create a fitted artboard (#1227); remaining interaction pass and estimate unchanged; Pathfinder single-result source names and SVG IDs retained, #1293; DXF control-point SPLINE closure read, #1299 follow-up; G16: Korean catalog added, 70–110 → 60–100 h; Czech render-site localization follow-up; scores and estimates unchanged; Document Setup: Edit Artboards closes the modal after applying valid settings; pointer-click regressions; scores and hours unchanged; Artboards: Escape exits editing; an active drag cancels first; shortcut-routing regression; scores and hours unchanged; G11: valid selection after Simplify and Add Anchor Points (#1272); estimates unchanged; G2: Film Grain added; Photoshop effects 29/57; 28 filters remain; G10: RPM runtime dependency metadata (#1275); estimates unchanged; G15: texture-effect distance searches optimized (#1257); idle-machine/platform drag QA still pending; estimate unchanged; G1: Curvature point display improved (#1236, in part); estimates unchanged; G4: full-name font matching (#1258); Windows font-service QA pending; estimate unchanged; G11: no-op anchor Align keeps history and saved state (#1180 follow-up); estimates unchanged; G1: dedicated Eyedropper cursor and precise-cursor checks (#1269); estimates unchanged; G1: Eyedropper reads visible locked and outside-isolation sources (#1251); estimate unchanged; G11: Direct Selection segment Delete (#1278); estimates unchanged; G1: painted strokes regain the existing default after None/zero-width inheritance (#1253); estimate unchanged; G15: large-selection edits, cached live effects and faster Pathfinder, #1173; G4: proportional vertical metrics done, #966; G11: Shape Builder merge seams on grids of lines fixed, #893; scaled text controls corrected, #1034; group font-size preservation deferred; G9: .ai keeps its RGB numbers, PDF import keeps strokes apart from fills faded or masked by their group; estimates unchanged) · Target: Adobe Illustrator 2026 (30.x)

Every known shortfall against Illustrator, one entry each, ranked by how much it stops a professional from switching. This is the work list: unless you were given a task, pick the highest-ranked gap you can make progress on, write a plan, and update the entry (and target-app-parity.md) in the same PR.

Gap ids are stable (PRs say "Part of gap 2"); the rank can change. Hours are Opus 5.5 agent wall-clock hours for one agent, estimated unless marked; calibration in target-app-parity.md. Beta marks the gaps that must close before the beta stage (ROADMAP.md).

Ranked

Rank Gap Hours Beta Doc
1 G1 Interaction fidelity 60–90 yes ui-parity.md
2 G9 Illustrator .ai and EPS files from real users 10–20 yes file-format-parity.md
3 G10 Launch and stability on real machines 20–35 yes —
4 G8 Hardening at scale 30–50 yes (part) —
5 G11 Correctness bugs in core tools 8–15 yes target-app-parity.md
6 G4 Advanced type 34–47 core part type-parity.md
7 G12 Preferences and panels that don't act yet 13–20 yes ui-parity.md
8 G2 Photoshop-style raster effects and the Effect Gallery 23–39 no effects-parity.md
9 G13 Illustrator 2026 (30.x) additions 15–25 no target-app-parity.md
10 G14 Pen hardware beyond Windows pressure 8–16 macOS pressure hardware-parity.md
11 G5 Brushes, symbols and libraries 17–28 no target-app-parity.md
12 G3 3D and Materials 25–45 no effects-parity.md
13 G7 Views and windows 15–25 no ui-parity.md
14 G6 Automation and scripting 8–14 no target-app-parity.md
15 G15 Performance budgets and a GPU renderer 15–25 budgets only hardware-parity.md
16 G16 Localization: the three missing key languages 55–90 no localization-parity.md
17 G17 Ecosystem: third-party plug-ins 20–45 no —
18 G18 Generative AI features 30–60 no —
19 G19 Accessibility 15–25 no ui-parity.md

Alpha blockers: none. Every core workflow passes the alpha gate; G9 is the only partial one, and it blocks beta, not alpha.

To beta: G1, G9, G10, G11, G12, the corpus and QA part of G8, the type-core part of G4, macOS pen pressure from G14 and the budget run of G15: ~170–270 h one agent, ~50–80 h wall clock with 4–6 agents.

G1 Interaction fidelity

  • Done (#1227): object clicks with the Artboard tool create a fitted artboard, preserving art and selection; handles, modified clicks and drags retain their meaning. Covered by tool-event regression tests and undo/cancellation checks.

  • Done: Document Setup → Edit Artboards applies valid settings, closes the dialog and activates the Artboard tool. Pointer-click tests cover successful handoff, invalid settings, OK, Cancel and Undo in dialogs/document_setup.rs.

  • Improved: Curvature uses circular point markers without direction handles or duplicate markers (#1236, in part); real egui frames cover creation, existing paths, Anchor Size and Hide Edges. The request to change interpolation of existing paths remains open.

  • Improved: Eyedropper has an original pipette cursor at its sampling tip; Use Precise Cursors keeps the crosshair. Bitmap/DPI and preference checks cover the distinction (#1269). OS cursor display and Caps Lock remain unverified.

  • Done (#1251): Eyedropper source reads are independent of locks and isolation, including Shift/Shift+Alt and gradient stops. Source and selection preservation, unchanged Alt reverse/selection restrictions, hidden art and Undo/Redo have regression coverage. This addresses the reported behavior, with no new full-parity measurement.

  • Done (#1253): adding paint to an unpainted zero-width stroke restores the existing 1 pt default, including new-art defaults and Swap Fill/Stroke. The real Eyedropper inheritance sequence, targeted appearance items, preserved widths and Undo/Redo have regression coverage.

  • Missing: Average and Join in one step, with a corner or smooth choice for the joined anchor. path.average and path.join are separate commands and Join has no such choice (coinciding anchors merge into one since #1533). ui-parity.md listed "Join with corner/smooth choice" as done until 2026-10-13. About 1–2 h (estimated), inside the estimate below.

  • Missing: a tool-by-tool, panel-by-panel pass over modifiers, cursors, the Properties panel per context, isolation mode and small behaviours, against the public tool and shortcut documentation. Itemized in ui-parity.md. The Shaper's construction-mode widget and gesture refinements remain.

  • Evidence: no side-by-side session has ever happened (the clean-room rule forbids running Illustrator, so the pass works from the documentation); users keep reporting small differences: #991, #975, #973, #955, #908.

  • Impact: a power user notices this in the first minutes and stops trusting the tool.

  • Estimate: 60–90 h; splits well by tool across agents.

G9 Illustrator .ai and EPS files from real users

  • Missing: faithful layer and group structure from the editing data in real files (#951: 109 layers instead of 14), guides and non-printing construction lines (#779), open speed on large files (#758), legacy type in .ai files in PostScript form (those without their prolog open since #1027), live effects, brushes and symbols as live objects (#637; pattern fills and global colours are read since #1025, placed (linked) files since #1264). Writing Illustrator's own editing data is out of scope (undocumented); Save As .ai stays PDF-compatible, and Illustrator 2018 opens such a file without its layers and groups (#868).
  • Evidence: the issues above; 28 of the 350 issues are about .ai/EPS (about 22 people, the most common single format theme), 20 fixed, and the 8 open ones are about structure (layers, guides, speed, live objects), not missing art. No real-file .ai corpus (users' files may be used locally, never committed).
  • Impact: blocks anyone who hands files back to Illustrator users. Opening and reworking their own archive works, with layer cleanup in some files. This is the main-format gap that keeps the stage at alpha.
  • Estimate: 10–20 h with users' files to test against.

G10 Launch and stability on real machines

  • Done: RPM required dependencies use 64-bit library capabilities and declare glibc 2.35, libm and libgcc_s (#1275); generated metadata and isolated synthetic-provider checks cover x86_64/aarch64. Real-distribution install/start-up QA is still missing.
  • Missing: the app not starting or staying in the background on some Windows 11 machines (#858, #964 fixed 2026-10-10, #620, #818), slow pointer on a Linux AppImage (#575), macOS paste from other apps (#954), a web-free crash/hang reporter, a field record.
  • Evidence: open issues; the never-crash lints and guard stop panics, not driver, windowing or packaging failures.
  • Impact: an app that doesn't start on someone's machine is 0% for them.
  • Estimate: 20–35 h, needs reporters' help on hardware we don't have.

G8 Hardening at scale

  • Missing: a corpus of real-world SVG/PDF/EPS files; more Affinity versions and platforms (51 pinned files now, including 28 original Affinity 3.2.3 feature probes; large interacting documents and complex typography missing); Windows, Linux and browser QA by hand; packaging polish (Homebrew cask #588, Flathub #554, update checks #615).
  • Impact: unknown failures on users' files.
  • Estimate: 30–50 h (the corpus and QA part blocks beta).

G11 Correctness bugs in core tools

  • Done: Divide splits filled paths along open cutting lines and curves (#1307), preserving the frontmost filled appearance, implicit filled closure, holes, unrelated objects and one Undo/Redo; the existing bounded-map fallback remains.

  • Done: Numeric fields keep a text drag's start when the pointer gains focus and movement exceeds the click threshold (#1326, in part). A completed focus click selects the whole value; keyboard focus, double-click and numeric stepping remain regression-tested. Short movements still classified as clicks can select all; that case remains open.

  • Done: DXF reads control-point SPLINE closure (#1299 follow-up after #1320); open curves keep their open state. Escape leaves Artboard editing for Selection; during a drag it first cancels the gesture. Headless egui key events cover idle Escape, active-drag cancellation and a subsequent Escape in tests_distortkeys.rs.

  • Done: Simplify and Add Anchor Points clear stale component selections on rewritten paths; Simplify previews and reports original/new point counts (#1272).

  • Done: no-op anchor Align preserves Undo, Redo, saved state and path geometry (#1180 follow-up), with the same 1e-9 pt tolerance as whole-object Align; actual alignment remains one undo step.

  • Done: scaled text's size and horizontal-scale controls account for object/group transforms (#1034),

  • Done: Direct Selection picks a segment independently of its anchors and Delete preserves neighboring edges (#1278); scaled text's size and horizontal-scale controls account for object/group transforms (#1034), including exact sizes across grouped labels and resetting horizontal stretch while keeping editable text. Single-result Pathfinder booleans keep source names and SVG IDs, including named groups/compound paths (#1293).

  • Missing: Shape Builder misses planar regions and targets whole shapes (#937); Transform effect dialog's invisible checkboxes and missing options (#885); PDF text boxes moving on open (#722); SVG units reverting to points (#864); bezier drag preview freezing (#834).

  • Impact: wrong output in everyday work.

  • Estimate: 8–15 h.

G4 Advanced type

  • Improved (#1258): full font names (name ID 4) resolve the face instead of falling back, and Missing Fonts searches recognize the same aliases. Synthetic regressions cover loaded/cataloged fonts, localized names, real-family precedence and variable default faces. Windows font-service activation still needs reporter QA; estimate unchanged.
  • Missing: hyphenation and justification options, Optical Margin Alignment (type core); CJK vertical composition (ruby, mojikumi sets and dialog, kinsoku settings #633, manual tate-chu-yoko), Middle Eastern features beyond bidi and digit types (Character Direction, kashidas, composers), variable font axes, spell check with an open dictionary, Touch Type, Retype, Snap to Glyph; optional preservation of font sizes during group scaling (#1034 enhancement). Itemized in type-parity.md.
  • Impact: professional typography and Japanese/Chinese publishing.
  • Estimate: 34–47 h (type core 14–19 h blocks beta).

G12 Preferences and panels that don't act yet

  • Missing: ~16 Preferences options stored but not acted on (#394: Highlight Alternate Glyphs, Open Documents As Tabs, Real-time Drawing, hyphenation language, Appearance of Black for output, devices…), Properties panel per context, context menus beyond the canvas, Layers panel row menus and Collect for Export, SVG Interactivity.
  • Impact: settings that silently do nothing erode trust.
  • Estimate: 13–20 h.
  • Missing: 28 of 57 filters (the remaining 14 Artistic filters and all of Sketch), the Effect Gallery dialog, Load Texture for Glass and Texturizer, Smart Blur's Edge Only and Overlay Edge. Measured in effects-parity.md.
  • Done: the pixel-filter pipeline and 29 filters (Artistic: Film Grain, Blur, Brush Strokes, Distort, Pixelate, Sharpen, Stylize, Texture, Video), Brush Strokes on 2026-10-11 and Film Grain on 2026-10-12.
  • Estimate: 23–39 h (measured 0.7–1.2 h per filter); parallelizes well.

G13 Illustrator 2026 (30.x) additions

  • Missing: gradient dither and perceptual blending, gradient presets (30.0); tangent and perpendicular snapping and the consolidated snapping options (30.0); artboard locking, artboard colours and managing artboards from the canvas (30.0); the Blend panel with ease in/out and separate colour acceleration (30.7); TIFF in Export for Screens (30.2); the Dimension tool (28.x).
  • Evidence: Adobe's 30.0 and 30.7 release announcements, see target-app-parity.md.
  • Estimate: 15–25 h.

G14 Pen hardware beyond Windows pressure

  • Missing: pen pressure on macOS (#852) and Wayland (#491, #764) — winit 0.30 reports none there; tilt, bearing and barrel rotation for brushes (6D Art Pen, #372); the eraser end.
  • Estimate: 8–16 h, partly waiting on winit 0.31; needs pen hardware to verify.

G5 Brushes, symbols and libraries

  • Missing: the Art brush's Overlap, auto-generated Pattern brush corners, new tile art in Pattern Brush Options, the Key Color eyedropper; original brush, symbol and graphic-style libraries generated in code (never Adobe's); dynamic symbols; Start Global Edit.
  • Estimate: 17–28 h.

G3 3D and Materials

  • Done: an initial live Revolve in the three-d crate (#846, from the contributor who offered in #605); Extrude & Bevel, Inflate and Rotate with Position presets (three-d.md, #1407).
  • Missing: materials (base, Substance, graphics), several lights, light colour and softness, shadows, ray-traced rendering, Revolve caps, exact visibility for intersecting and concave surfaces, 3D Classic, Turntable, 3D export (OBJ, USDA, glTF).
  • Impact: specialist; Materials is the one menu stub left.
  • Estimate: 25–45 h; plan in plan/ before coding.

G7 Views and windows

  • Done: custom document ruler origin (#1212): corner drag with preview, double-click reset to the active artboard, relative X/Y inputs and native save/reopen.
  • Missing: multiple windows and Window › Arrange (Cascade, Tile, Float in Window, Consolidate All Windows), panels on another monitor, New View/Edit Views, global/artboard ruler mode switch and video rulers.
  • Estimate: 15–25 h.

G6 Automation and scripting

  • Missing: a scripting surface over the command registry (Illustrator: JavaScript), Batch, image and graph variable kinds, dataset import/export. Actions, Variables (text and visibility) and full agent control over MCP are done.
  • Estimate: 8–14 h.

G15 Performance budgets and a GPU renderer

  • Improved (#1257): Craquelure, Mosaic Tiles and Stained Glass reuse squared distances during nearest-cell searches, with the original distance ordering retained near rounding/tie boundaries. A brute-force boundary regression and full-viewport pixel comparisons agree with the old result. texture_drag_perf reproduces a moved CMYK rounded rectangle at 190.07% and DPI 1.5; timings from a busy development machine are supporting evidence, with idle Windows drag QA still pending.
  • Missing: an idle-machine run of vectorcraft-cli perf at 50k paths (last: 2026-10-11 at 25k paths, every budget met, 400% zoom 12.3 ms against 16 ms, measured), a spatial index for zoomed-in frames, dirty-region rendering, the GPU backend spike (M5). Large-selection edits, cached live effects and Pathfinder Trim, Merge, Crop and Outline landed in #1173.
  • Estimate: 15–25 h (the budget run and fixes block beta).

G16 Localization: the three missing key languages

  • Evidence: Vietnamese catalog complete under the tests (menus, literals, messages; one plural form). Czech render-site bypasses reduced in file dialogs, diagnostics, preset names and contributor tooltips; gradient grammar and printer-mark context corrected (see localization-parity.md). Native review and the remaining missing-language work remain.

  • Missing: Hindi, Arabic, Indonesian catalogs; a Korean UI font for the web build; a right-to-left interface and interface shaping for Arabic and Devanagari; messages for Simplified Chinese and Brazilian Portuguese; native review of every catalog. Measured in localization-parity.md.

  • Estimate: 55–90 h plus human review (Vietnamese landed 2026-10-12).

G17 Ecosystem: third-party plug-ins

  • Missing: Illustrator's ecosystem is a C++ plug-in SDK and a large commercial plug-in market. VectorCraft has sandboxed WebAssembly plug-ins for object filters and live effects (plugins.md) and MCP; missing are tool plug-ins, panel plug-ins, a plug-in directory and any third-party plug-ins (#710).
  • Estimate: 20–45 h for the APIs; the ecosystem itself isn't agent work.

G18 Generative AI features

  • Missing: Text to Vector Graphic, Generative Recolor, Generative Shape Fill (#766), Generative Expand, Concept to Vector, Prompt to Edit, Rewrite Text. Adobe's run on its cloud models; ours would be a pluggable provider.
  • Needs: an owner decision on models and providers.
  • Estimate: 30–60 h after that decision.

G19 Accessibility

  • Missing: AccessKit is on by default, so egui widgets reach screen readers, but custom panels, the canvas and its objects aren't described and nothing has been tested with VoiceOver, Narrator or Orca; keyboard-only canvas operation; high contrast. Illustrator's own accessibility is limited, so this is mostly beyond parity.
  • Estimate: 15–25 h.

Revision history

Date Change Summary
2026-10-13 minor G1: Average and Join in one step with a corner or smooth choice is listed as missing (the ui-parity row said done; the command does not exist); Join merges the selected anchor points that lie on one another, as after Average, into one anchor (#1582, fixes #1533); Lock Guides also locks the objects made into guides: they can't be selected, moved or deleted (#1543); they are drawn in the guide colour and style of Preferences, and a dragged selection snaps to ruler guides with Smart Guides on (#1583, fixes #1534); Edit › Keyboard Shortcuts lists Edit › Duplicate and the other commands that are in no menu but run without parameters (panel-menu commands such as Break Link to Symbol), so they can be given shortcuts (#1549, #1580, fixes #1539). G11: Make Compound Path on a group (such as outlined type) keeps the paint of its backmost path instead of drawing nothing, and compound paths joined into one keep their holes (#1537); a round corner next to a curved side curves smoothly instead of sticking out of the shape and the Smooth tool smooths only the stretch of path under the drag (#1547, fixes #1512); Raster effects (blur, shadow, glow, grain) drawn after a pattern, radial or freeform gradient fill export at their place and size (#1541, fixes #1536). G9: a multi-artboard .ai with notes beside its artboards opens from its editing data, a page's art past its artboard no longer lying over the page before it (#1528); a .ai gradient whose stops are listed upwards keeps each midpoint on the stop that starts its part of the ramp (#1530); SVG text on a path follows basic shapes (circle, ellipse, rect, line, polyline, polygon) as their SVG 2 equivalent paths (#1531, fixes #1527); PDFs whose alpha soft masks are drawn as images import with the mask instead of empty art (#1551); EPS and PostScript type set in Type 42 (TrueType) fonts imports at its size instead of 1000 times too large (#1553); PDF and EPS import keep a clipping path whose bounding box covers the page but whose shape doesn't (#1544, fixes #1542); Paste takes a PDF or EPS another app copied as editable vector art: from the macOS pasteboard (with SVG), EPS on Windows beside PDF, and .eps files copied in a file manager, with the new command clipboard.importEps (#1538, fixes #1499); Opening or placing a file with an image too large to decode says so, and the Links panel shows it on the row (#1540, part of #1479). Native documents with a lot of path data (traced or generated art, in layers, symbols or patterns) are saved as compact JSON, about a fifth of the size; small documents stay pretty-printed (#1492); the font scan on Linux also reads the folders fontconfig's configuration lists, such as TeX fonts under /usr/share/texmf/fonts (#1548, fixes #1529; not verified on Linux); Polish catalog (#1498); estimates unchanged, no gap entry closed
2026-10-13 minor Interaction: Direct Selection takes the selected object's anchor where anchors of overlapping objects coincide (#1508), sliders in dialogs show their rail (#1483), a template layer stays in Preview in Outline view (#1486), a tab stop in the Tabs panel drags from where the press landed (#1458); type: commands and MCP add_text report area type that does not fit its frame (#1471); 3D and Materials on outlined type and other shapes of many small curves (#1481), Twist 0° to 360° (#1524), twisted walls keep their faces (#1525); print-size images draw, export and crop (#1517); vectorcraft-cli perf reports load and memory on Windows (#1502; the idle-machine run is still missing); French catalog complete again (#1511); graph.setData's CSV keeps each value exactly (#1485); estimates unchanged, no gap entry closed
2026-10-13 minor G1: Split Into Grid has its documented options (#1462), Transform Objects in the Transform dialogs and Transform Each and Reflect across an angle (#1448, #1460), the Pathfinder panel works on a group selected alone (#1450; one plain path alone is not settled), a focused field follows its value (#1457), selected text in value fields is readable (#1465 in part); G9: grayscale TIFFs with an alpha channel or extra channels place (#1466 in part), strokes kept apart from a faded or masked fill on PDF and .ai import (#1434); G4: Fit Headline in a frame one line tall (#1444), frames beyond a billion points hold no text (#1451); G6: commands refuse a parameter key they don't take (#1442); G10: a window surface past 8192 px no longer closes the app (#1459 in part); G15: edits and Alt-drags of thousands of objects (#1429 in part); G16: 128 more Czech strings (#1461); estimates unchanged
2026-10-12 minor G3: Extrude & Bevel, Inflate and Rotate with Position presets (three-d.md, #1407); materials, lights, shadows, Classic, Turntable and export remain, 45–75 → 25–45 h
2026-10-12 minor G9: a .ai compound path takes its last path's paint and keeps paths grouped inside it (#1410); PDF and .ai import keep overprint (#1388); a .ai whose PDF part draws only text opens from it (#1387); G1: the Transform dialogs preview and step with the arrow keys (#1412), the transform tools and commands act on direct-selected anchors (#1408), the bounding box hides during a corner drag (#1229); G11: a stroke wider than its closed shape paints solid on the canvas (#1396); estimates unchanged
2026-10-12 minor G9: .ai art styles, clipping fills and compound looks read from the editing data; estimate unchanged
2026-10-12 minor G9: .ai gradient matrices and meshes read from the editing data; estimate unchanged
2026-10-12 minor No gap: SVG export writes knockout groups of opaque art without masks (no edge seams)
2026-10-12 minor G9: .ai keeps the RGB numbers of its ICCBased spaces (uncalibrated_rgb; colours change for non-sRGB-profiled .ai files); estimate unchanged
2026-10-12 minor G9: PDF import no longer merges a stroke into a fill that got its opacity or soft mask from a transparency group; estimate unchanged
2026-10-12 minor G9: in .ai editing data, gradients with middle stops (#1390), type of objects with an appearance, hidden layers and later artboards (#1391) and area type in a frame too short for the fallback font (#1392) open as saved; G15: the art placed for symbol instances and inline graphics is kept between frames (#1386; the budget run on an idle machine remains); G1: dialogs take the keyboard focus on every open (#1367, #1395); estimates unchanged
2026-10-12 minor G9: placed (linked) files in .ai editing data come in as linked images showing their saved preview, so such files open through their layers with their guides (#1264); estimate unchanged
2026-10-12 minor G9: gradient-filled shapes from a PDF or .ai open as paths, not clip groups (#1304); CMYK files with transparency show in applications reading soft masks by luminosity (#1286, in part: the layer groups' bounding boxes remain); G15: hiding or locking a layer deselects in linear time (#1353); estimates unchanged
2026-10-12 minor G7: custom document ruler origin (#1212) done; global/artboard mode switching and video rulers remain, estimate unchanged
2026-10-12 minor G1: Artboard object clicks create a fitted artboard (#1227); remaining interaction pass and estimate unchanged
2026-10-12 minor Pathfinder single-result booleans preserve source names and SVG IDs (#1293); paint-order, grouped/compound sources, unchanged geometry/appearance and Undo/Redo regression tests; scores and estimates unchanged
2026-10-12 minor DXF reads control-point SPLINE closure (#1299 follow-up after #1320); open curves stay open and curves retained; rational/non-rational import and export versions regression-tested; scores/hours unchanged
2026-10-12 minor G16: Vietnamese catalog added (complete under the tests); three key languages remain (Hindi, Arabic, Indonesian), 55–90 h
2026-10-12 minor G16: Korean catalog added (complete under the tests); four key languages remain, 60–100 h
2026-10-11 minor Czech render-site follow-up: file-dialog filters, diagnostics, preset numbering, contributor tooltips/plurals, gradient grammar and contextual printer mark styles; estimates unchanged
2026-10-12 minor Document Setup: Edit Artboards closes the modal after applying valid settings; pointer-click regressions; scores and hours unchanged
2026-10-12 minor Artboards: Escape exits editing; an active drag cancels first; shortcut-routing regression; scores and hours unchanged
2026-10-12 minor G11: clear stale component refs after Simplify/Add Anchor Points; preview and point counts give visible feedback (#1272); estimates unchanged
2026-10-12 minor G2: Artistic › Film Grain added with live controls and raster exports; measured Photoshop filters 29/57, 28 remaining (23–39 h).
2026-10-12 minor G10: RPM required dependencies and glibc floor metadata checked (#1275); real-distro install/start-up QA remains; estimates unchanged
2026-10-12 minor G15: texture-effect distance searches optimized (#1257); idle-machine/platform drag QA still pending; estimate unchanged
2026-10-12 minor G1: Curvature point display improved; existing-path interpolation request remains open (#1236, in part); estimates unchanged
2026-10-12 minor G4: full-name font matching and Missing Fonts searches verified (#1258); Windows font-service QA pending; estimate unchanged
2026-10-12 minor G11: no-op anchor Align no longer consumes Undo, clears Redo or marks saved paths modified (#1180 follow-up); estimate unchanged
2026-10-12 minor G1: Eyedropper uses an original pipette glyph; precise setting and DPI checks verified (#1269); estimates unchanged
2026-10-12 minor G1: Eyedropper reads visible locked and outside-isolation sources (#1251); estimate unchanged
2026-10-12 minor G11: Direct Selection segment Delete retains neighboring geometry and appearance (#1278); estimates unchanged
2026-10-12 minor G1: painted strokes regain the existing default after None/zero-width inheritance (#1253); estimate unchanged
2026-10-12 minor G11: Divide uses open cutting paths without taking their paint (#1307); implicit filled closure, holes and history regression-tested; estimates unchanged
2026-10-12 minor G11: numeric fields keep the text-drag start instead of replacing it with select-all on press (#1326, in part); keyboard and click selection regression-tested; estimates unchanged; short movements below the click threshold remain open
2026-10-11 minor G15: large-selection edits, cached live effects and faster Pathfinder (#1173); a 25k-path perf run meets every budget; estimate unchanged
2026-10-11 minor G4: Middle Eastern digit types done (Character panel menu › Digits); estimate unchanged
2026-10-11 minor G4: proportional vertical metrics (#966) done; estimate unchanged
2026-10-11 minor G11: #893 fixed (merged regions of crossing lines left seams); #937 still open, estimate unchanged
2026-10-11 minor #1034: corrected scaled type controls; optional group font-size preservation remains separate. Estimates unchanged at this rounding.
2026-10-11 minor G9: legacy .ai without the prolog opens with its layers (#1027)
2026-10-11 minor G9: .ai pattern fills and global colours read from the editing data (#1025)
2026-10-10 minor G3: initial Revolve landed (#846), 45–75 h left
2026-10-10 minor G9 evidence counted from the tracker (28 .ai/EPS issues, 20 fixed); impact narrowed to handing files back
2026-10-10 minor Alpha blockers checked against the core-workflow gate: none
2026-10-10 major Moved from the ROADMAP's "Where we're lacking"; kept ids G1–G8, added G9–G19 (file formats, stability, bugs, preferences, 30.x additions, pen hardware, performance, localization, ecosystem, AI, accessibility) and re-ranked