339b01f48bfebcf0b03098e683035ebac5cf39e9
2
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
30ba774e6f |
Part of gap 2: Effect › Texture (Craquelure, Grain, Mosaic Tiles, Patchwork, Stained Glass, Texturizer)
Six raster effects on the pixel-filter pipeline (vectorcraft_effects::pixel::texture), under a new Effect › Texture submenu between Sharpen and Video in the Raster Effects section: - Craquelure (crackSpacing pt 2..100, default 15; crackDepth 0..10, 6; crackBrightness 0..10, 9): the object on relief plaster that cracks into plates about Crack Spacing apart (a Voronoi network over jittered points) and along the quarter, half and three-quarter contours of its softened tones. Depth sets how dark and wide the cracks are and how high the plates' bevels and the tones stand (lit from the top left); Brightness how brightly the surface is lit. - Grain (intensity 0..100, 40; contrast 0..100, 50 = unchanged; grainType Regular, Soft, Sprinkles, Clumped, Contrasty, Enlarged, Stippled, Horizontal, Vertical, Speckle; default Regular): coloured 1-point grains, smooth ones, clumps, 2-point grains, streaks along rows or columns, dark specks; Sprinkles and Stippled use the background colour, white. - Mosaic Tiles (tileSize pt 2..100, 12; groutWidth 1..15, 3; lightenGrout 0..10, 9): irregular tiles bevelled at their edges, with sunken grout half a point wide per step, lightened as Lighten Grout says. - Patchwork (squareSize pt 0..10, 4; relief 0..25, 8): squares filled with the colour around their centres, raised to heights that follow the highlights and shadows, a little more or less at random. - Stained Glass (cellSize pt 2..50, 10; borderThickness 1..20, 4; lightIntensity 0..10, 3): single-coloured panes leaded in the foreground colour (black, half a point per step), lit from behind at the object's centre and fading out towards its corners (PixelSpace gains `extent`). - Texturizer (texture Brick, Burlap, Canvas, Sandstone, default Canvas; scaling % 50..200, 100; relief 0..50, 4; lightDirection Bottom, Bottom Left, Left, Top Left, Top, Top Right, Right, Bottom Right, default Top; invert): the object on a surface in relief. The four surfaces are height fields generated in code (bricks in stretcher bond, plain weaves coarse and fine, octaves of smooth noise); no image files. Load Texture is left out. Every pattern lies in document space around the object's centre, so the result is the same at any zoom or raster resolution, moves with the object and is identical on every redraw (hash noise of cell indices); slopes are taken in document units. Work per pixel is bounded (a 5 x 5 cell search, four or five height samples, box blurs); parameters are clamped to their ranges and finite-checked. The Pixelate helpers (Place, the cell search, the softened colours) are shared, Mezzotint uses the shared smooth noise, and the effect dialogs' dropdowns translate their labels in an "effect" context where the plain word means something else (Soft, Horizontal and Vertical are type settings in Japanese and Chinese). Catalogue rows with parameter docs, outsets and reaches, menu entries, dropdowns (Grain Type, Texture, Light Direction), translations, tests (parameters and clamping, cracks and contours, ten distinct grains, tiles and grout, squares in relief, leaded panes and the centre light, the textures lit and inverted, the same at twice the resolution and when moved, canvas, multithreaded, PDF and SVG, the command sweep with junk parameters, the dialogs and the menu) and ROADMAP. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|
|
9bad0a24ca |
Part of gap 2: Effect › Pixelate (Color Halftone, Crystallize, Mezzotint, Pointillize)
Four Photoshop-style raster effects on the pixel-filter pipeline (vectorcraft_effects::pixel::pixelate), under a new Effect › Pixelate submenu between Blur and Sharpen in the Raster Effects section: - Color Halftone (maxRadius 4..127, default 8; channel1..channel4 screen angles -360..360, defaults 108/162/90/45): each colour channel is screened at its angle in square cells sized so a dot of Max. Radius fills one; each cell's dot covers the share of the cell that is the channel's coverage-weighted mean there (white stays white, black black). RGB documents screen R, G, B (channels 1 to 3); CMYK documents screen C, M, Y, K inks (channels 1 to 4), also when they are drawn ink plane by ink plane (the K plane uses channel 4). - Crystallize (cellSize 3..300, default 10): every pixel takes the colour at the nearest of one jittered point per cell (exact Voronoi over a 5 x 5 neighbourhood, pruned by distance). - Mezzotint (type: Fine/Medium/Grainy/Coarse Dots, Short/Medium/Long Lines, Short/Medium/Long Strokes; default Fine Dots; a dropdown in the dialog): each channel is turned fully on or off against its own random threshold pattern, so the object becomes pure colours. - Pointillize (cellSize 3..300, default 5): one dot of random size per cell at a jittered point, coloured by the softened object there and as opaque as the object at its centre, stacked in random order over a white canvas where the object is. Lengths are in points (Scale Strokes & Effects scales them) and every pattern lies in document space around the object's centre, so the result is the same at any zoom or raster resolution, moves with the object, and is identical on every redraw (hash noise of the pattern's cell indices, no state). Work per pixel is bounded whatever the parameters, which are clamped to their ranges and finite-checked; the halftone's cell grid is capped by the raster's size and a screen finer than 3 pixels leaves the image as it is (its average). PixelSpace gains `channels` so the renderer tells the filters what the channels hold. Catalogue rows with parameter docs, outsets and reaches for cropping, menu entries, dialog labels (Max. Radius, Channel 1-4, Cell Size), the Mezzotint Type dropdown, translations, and tests: parameters and clamping, tone and coverage, CMYK inks, polygon crystals, pure-colour mezzotints with ten distinct patterns, dots on a white canvas, the same result at twice the resolution and when moved, the canvas, PDF and SVG through the engine, the command sweep with junk parameters, the dialogs and the menu. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |