Files
vectorcraft/docs/effects-parity.md
T
Ayberk A. 043b446b94 3D and Materials: the light takes the documented settings
The public 3D and Materials panel options give the Light Settings as
Intensity (0–100 %), Rotation (-180° to 180°), Height (0° to 90°),
Softness (0–100 %) and Ambient Light (0–200 %), with the light moved to
the back or the front of the object. The 3D effects (Revolve included)
had Direction and Elevation (an azimuth and elevation), Intensity and
Ambient (0–100 %).

- Rotation turns the light round the object on the page (our reading:
  0° on its right, counterclockwise); Height raises it from beside the
  object (0°) to straight in front (90°); Light behind the object puts
  it at the back. The light gizmo's ring and line are Rotation and
  Height.
- Softness wraps the light round the object: at 0 % it falls off with
  the angle as before, at 100 % it reaches nothing only straight away.
- Ambient Light runs to 200 %; faces stay no brighter than the art.
- lightRotation, lightHeight, lightBehind and lightSoftness replace
  lightAzimuth and lightElevation. An earlier light is read as the same
  direction, so it shades exactly as before (old and new code give the
  same colours for the four effects and five lights); effect.setParams
  turns a stored one into the new form before applying new values, and
  the parameter description names lightAzimuth and lightElevation as the
  earlier form, so effect.apply and effect.setParams still take them. The
  default light is the earlier default's: Rotation 125.26°, Height 30°.
- The dialog's Lighting tab shows the settings in the documented order;
  Softness, Ambient Light and Light behind the object are in every
  catalog, and the unused Direction, Elevation and Ambient are gone.

Light colour, presets, several lights and shadows are not built.
2026-10-14 05:10:48 +07:00

10 KiB
Raw Blame History

Effects parity

Last reviewed: 2026-10-10 · Last updated: 2026-10-13 · Change: minor (raster effects after a pattern, radial or freeform gradient fill export at their place and size, #1536; score unchanged; 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; score unchanged; 3D and Materials: Inflate takes Twist, Taper and Cap; score unchanged; 3D and Materials: Perspective as the documented 0°–160° angle; 3D and Materials: the documented light settings) · Target: Adobe Illustrator 2026 (30.x)

Every entry of Illustrator's Effect menu, by its public feature name, against VectorCraft's effects catalogue (effect_catalog() in crates/effects/src/lib.rs) and the Effect menu built from it (crates/ui-egui/src/menus.rs). Counts are measured from the catalogue; "depth" notes are estimated. Part of target-app-parity.md; open work is in gaps.md.

Summary

Group Illustrator VectorCraft % Remaining (h)
Illustrator effects (vector and stylize) 50 44 88% 6–10
Photoshop effects (raster, Effect Gallery) 57 29 51% 23–39
3D and Materials 4 (+3 Classic) 4 (initial: Extrude & Bevel, Revolve, Inflate, Rotate) ~25% 25–45
Beyond Illustrator: Effect › Color Adjustments (6), effect plug-ins (WebAssembly) — 6 + plug-ins — —

Illustrator effects

Submenu Items Ours Missing
Convert to Shape Rectangle, Rounded Rectangle, Ellipse 3/3 —
Crop Marks Crop Marks 1/1 —
Distort & Transform Free Distort, Pucker & Bloat, Roughen, Transform, Tweak, Twist, Zig Zag 7/7 Transform's Transform Objects/Patterns and Scale Strokes & Effects options, invisible Reflect checkboxes (#885)
Path Offset Path, Outline Object, Outline Stroke 2/3 Outline Object
Pathfinder Add, Intersect, Exclude, Subtract, Minus Back, Divide, Trim, Merge, Crop, Outline, Hard Mix, Soft Mix, Trap 10/13 Hard Mix, Soft Mix, Trap
Rasterize Rasterize… (as a live effect) 0/1 the live effect (Object › Rasterize exists)
Stylize Drop Shadow, Feather, Inner Glow, Outer Glow, Round Corners, Scribble 6/6 —
SVG Filters Apply SVG Filter… and the filter list 0/1 the whole submenu (SVG filters on import round-trip already)
Warp Arc, Arc Lower, Arc Upper, Arch, Bulge, Shell Lower, Shell Upper, Flag, Wave, Fish, Rise, Fisheye, Inflate, Squeeze, Twist 15/15 warp point editing in envelopes

Document Raster Effects Settings exists. When the 64 million pixel cap on an effect image lowers its resolution, PDF export warns once per object with the requested and the lowest achieved ppi (crates/engine/src/tests_pdfraster.rs).

Photoshop effects

Submenu Items Ours Missing
Artistic Colored Pencil, Cutout, Dry Brush, Film Grain, Fresco, Neon Glow, Paint Daubs, Palette Knife, Plastic Wrap, Poster Edges, Rough Pastels, Smudge Stick, Sponge, Underpainting, Watercolor 1/15 (approximate Film Grain) Colored Pencil, Cutout, Dry Brush, Fresco, Neon Glow, Paint Daubs, Palette Knife, Plastic Wrap, Poster Edges, Rough Pastels, Smudge Stick, Sponge, Underpainting, Watercolor
Blur Gaussian Blur, Radial Blur, Smart Blur 3/3 Smart Blur's Edge Only and Overlay Edge modes
Brush Strokes Accented Edges, Angled Strokes, Crosshatch, Dark Strokes, Ink Outlines, Spatter, Sprayed Strokes, Sumi-e 8/8 —
Distort Diffuse Glow, Glass, Ocean Ripple 3/3 Glass's Load Texture
Pixelate Color Halftone, Crystallize, Mezzotint, Pointillize 4/4 —
Sharpen Unsharp Mask 1/1 —
Sketch Bas Relief, Chalk & Charcoal, Charcoal, Chrome, Conté Crayon, Graphic Pen, Halftone Pattern, Note Paper, Photocopy, Plaster, Reticulation, Stamp, Torn Edges, Water Paper 0/14 all
Stylize Glowing Edges 1/1 —
Texture Craquelure, Grain, Mosaic Tiles, Patchwork, Stained Glass, Texturizer 6/6 Texturizer's Load Texture
Video De-Interlace, NTSC Colors 2/2 —
Effect Gallery the combined browser and stack dialog 0/1 all

The pixel-filter pipeline (vectorcraft_effects::pixel) is in place: each new filter is one function, a catalogue row, a menu entry and translations. Measured throughput: 0.7–1.2 agent hours per filter (see calibration), so the 28 missing filters are ~19–34 h and the Effect Gallery dialog another 4–6 h. These parallelize well across agents.

Film Grain (artistic.filmGrain, Effect › Artistic) adds stable monochrome noise to shadows and midtones, with Grain, Highlight Area and Intensity sliders, live preview and appearance editing. Its smooth grain field follows translations, preserves transparency and stays in document units; zoomed-out rendering uses bounded approximate footprint filtering. Changing the bounds shifts the pattern. Command exports bake it to an image in SVG and PDF, while the native document keeps the effect editable. Behaviour is an original visual approximation based on Illustrator's public effects reference and the public Artistic filters guide, not a pixel-identical proprietary implementation. Intensity is interpreted as highlight strength and quieter highlight grain. Grain strength stays even across shadows and midtones and rolls off above mid-grey to a quarter-strength floor at full Intensity before highlight headroom; cream retains soft grain, black takes light speckles and white stays clean. The tonal curve and endpoint behaviour are interpretations, not verified proprietary behaviour. Saturated colour channels may clip. The parameter ranges and defaults are chosen for VectorCraft, not asserted as measured proprietary defaults. Near white, highlight headroom can limit grain equally at every Intensity; highlight lift still depends on Intensity when Highlight Area is nonzero. The two rotated, variance-normalised noise layers can leave a faint diagonal weave at high magnification. Removing that remaining direction would require a more expensive field; the current implementation keeps bounded per-pixel work. Film Grain is still slower than Texture Grain (Regular), particularly when its wider footprint needs four samples. Calibration on uniform grey at Grain 20, using 32×32 fine samples per coarse pixel, measured grain standard deviation within about 15% of the dense area average at pixel widths of 2, 4 and 8 document units (ratios 1.13, 0.89, 0.85). This is evidence for the bounded approximation, not an accuracy guarantee for arbitrary artwork. Tests: pixel::tests::film_grain_*, tests_rasterfilters, tests_adjust::film_grain_dialog_* and tests_labels::effect_menu_lists_film_grain_*.

3D and Materials

Item Ours
Revolve initial: live, editable profile, rotation and light gizmos, flat shading, SVG/PDF output, Expand Appearance (revolve.md, #846)
Extrude & Bevel, Inflate, Rotate initial: live, depth, twist, taper, solid or hollow caps, five original bevel shapes, Inflate volume, both sides, twist, taper and cap, Rotate of every fill and stroke, Position presets, rotation and light gizmos, SVG/PDF output, Expand Appearance (three-d.md)
Materials panel, lighting, ray-traced render one directional light with the documented Intensity, Rotation, Height, Softness and Ambient Light, flat shading; no materials, several lights, light colour or presets, shadows or ray tracing
3D (Classic): Extrude & Bevel, Revolve, Rotate none
Turntable (30.0 beta) none
Export 3D objects (OBJ, USDA, glTF) none

The three-d crate (depends only on geom) builds, rotates, projects, shades and depth-sorts the surfaces; the effects crate turns them into art. What's left (materials, several lights and shadows, ray-traced rendering, Revolve caps, 3D Classic, Turntable, 3D export) is 25–45 h.

Revision history

Date Change Summary
2026-10-13 minor 3D lighting takes the documented Intensity, Rotation, Height, Softness and Ambient Light (to 200 %), and a light behind the object; earlier lights read as the same (three-d.md); 3D stays ~25%, 25–45 h
2026-10-13 minor 3D Perspective is the documented 0°–160° angle, earlier strengths read as the same view (three-d.md); 3D stays ~25%, 25–45 h
2026-10-13 minor Raster effects (blur, shadow, glow, grain) drawn after a pattern, radial or freeform gradient fill export at their place and size (#1541, fixes #1536); scores unchanged (estimated)
2026-10-13 minor 3D and Materials: outlined words and other shapes of many small curves take Rotate, Extrude & Bevel and Inflate (curves are sampled by a tolerance; Rotate takes up to 65,536 outline points; #1481); Extrude & Bevel's Twist runs 0° to 360° as the public panel reference gives it, a negative value drawing untwisted (#1524); a twisted extrusion keeps its walls, which were dropped from about 45° (#1525); details in three-d.md; 3D stays ~25%, 25–45 h (estimated)
2026-10-13 minor Inflate takes Twist, Taper and Cap (three-d.md); 3D stays ~25%, 25–45 h: materials, lights and shadows are the bulk of what remains
2026-10-12 minor Extrude & Bevel, Inflate and Rotate (initial, three-d.md); 3D ~8% → ~25%, 45–75 → 25–45 h
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-11 minor PDF cap warnings identify original objects after appearance splitting and report the lowest achieved ppi; cap/rendering and scores unchanged
2026-10-11 minor Zig Zag's dialog: Size and Ridges per segment sliders, Points as Smooth / Corner radio buttons (#1133)
2026-10-11 minor Brush Strokes landed (8 filters): 28/57 Photoshop effects
2026-10-10 minor Initial Revolve landed (#846)
2026-10-10 major First checklist, counted from the effects catalogue (20/57 Photoshop effects, 44/50 Illustrator effects)