mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-13 23:35:10 +00:00
A linear, radial, conic or diamond gradient has a spread: Pad (the default, as before), Repeat or Reflect, with a count of 1 to 100 (VectorCraft's own limit). Repeat and Reflect run the stops that many times along the vector (around the turn for a conic) and keep going past both ends, Reflect running every other run backwards, as SVG's spreadMethod does. The Gradient panel has a Spread menu and a Repeats field, and the Gradient tool marks where the runs meet. paint.setFill and paint.editGradient take `spread` and `repeats`; bad values are errors. Presets, swatches, blends, strokes along or across a path, Outline Stroke and Object › Expand follow the spread; Expand gives each run the same whole number of objects, and Outline Stroke's mesh keeps the color on each side of a sharp step between two stops at one offset. SVG writes and reads spreadMethod: SVG import now reads a repeating or reflecting gradient as one that repeats or reflects once, instead of expanding its stops over the shape. CSS writes repeating gradients. PDF writes a conic's sweep shading over one run. PDF, EPS, legacy .ai and the .ai editing data write the other kinds with their stops repeated across the shape: at most 256 runs and 16,384 stops (256 stops in .ai files), and for a radial or diamond no farther than 65,536 runs from its center, with a warning past those. PDF import now finds sharp steps in any axial or radial shading instead of blurring them. Docs: docs/mcp.md (Spread), docs/target-app-parity.md, docs/gaps.md.
43 lines
921 B
Rust
43 lines
921 B
Rust
//! Integration tests: one test binary for the crate, one module per area.
|
||
// Unwrapping and panicking on failure is fine here, unlike in shipped code (AGENTS.md › Robustness).
|
||
#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)]
|
||
|
||
mod basic_shapes;
|
||
mod blend_export;
|
||
mod clip_text;
|
||
mod colorized_images;
|
||
mod colour_glyphs;
|
||
mod conic;
|
||
mod container_export;
|
||
mod css_rules;
|
||
mod dash_align;
|
||
mod data_attributes;
|
||
mod diamond;
|
||
mod effects_export;
|
||
mod encoding_profile_fonts;
|
||
mod focal;
|
||
mod font_weights;
|
||
mod foreign_attributes;
|
||
mod gradients;
|
||
mod ids;
|
||
mod import_details;
|
||
mod import_live;
|
||
mod import_text;
|
||
mod import_units;
|
||
mod interactivity;
|
||
mod mask_options;
|
||
mod mesh_export;
|
||
mod non_scaling_stroke;
|
||
mod options;
|
||
mod prop_svg;
|
||
mod raster_paints;
|
||
mod roundtrip;
|
||
mod spread;
|
||
mod stroke_export;
|
||
mod svg_glyphs;
|
||
mod symbols_layers;
|
||
mod text_layout;
|
||
mod text_paint_order;
|
||
mod text_stroke;
|
||
mod title_control_chars;
|