Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This introduces a paint method for specifying SVG paint servers, namely patterns and gradients.
In contrast to the render function approach and function uris, this approach eliminates manual management of unique identifiers, and lets you specify the desired paint inline, in one place — either as a constant fill or stroke option, or the range of an ordinal color scale (and perhaps even a quantitative scale?).
This also lets us offer convenience constructors for common paint servers such as linearGradient. We have to decide how much of the CSS specification to implement… but you could always go beyond that with a custom paint method. We should also decide whether e.g. color stops are expressed relative to the object bounding box, or if the stops should be positioned in data space. The former is the SVG default, but the latter allows more meaningful encodings in visualization.
TODO
Fixes #185 #903 (with additional work).