pub struct VectorAsset {
pub view_box: [f32; 4],
pub paths: Vec<VectorPath>,
pub gradients: Vec<VectorGradient>,
}Fields§
§view_box: [f32; 4]§paths: Vec<VectorPath>§gradients: Vec<VectorGradient>Gradient table referenced by VectorColor::Gradient indices. Kept
as a side-table so VectorColor stays Copy.
Implementations§
Source§impl VectorAsset
impl VectorAsset
Sourcepub fn from_paths(view_box: [f32; 4], paths: Vec<VectorPath>) -> Self
pub fn from_paths(view_box: [f32; 4], paths: Vec<VectorPath>) -> Self
Build a VectorAsset from a list of paths and an explicit view
box, without going through SVG parsing. The companion to
PathBuilder for apps that compose vector content
programmatically (commit-graph curves, Gantt connectors, custom
chart marks). Equivalent to setting the public fields directly,
but documents the construction site and keeps the gradient table
empty by default.
Sourcepub fn has_gradient(&self) -> bool
pub fn has_gradient(&self) -> bool
Whether any path’s fill or stroke uses a gradient.
Sourcepub fn resolved_palette(&self, palette: &Palette) -> Self
pub fn resolved_palette(&self, palette: &Palette) -> Self
Return this asset with every solid color resolved through
palette. Token names are preserved by palette resolution, so
subsequent palette swaps can resolve the same source asset again
while the resolved RGBA still participates in atlas identity.
Sourcepub fn content_hash(&self) -> u64
pub fn content_hash(&self) -> u64
Stable content-hash used as a cache key in MSDF / mesh atlases. Two assets with identical view box, paths, fills, strokes, and gradients hash to the same value — backends dedupe rasterised MSDF / tessellated mesh entries on this so an app that builds the same curve shape twice (e.g. two commits sharing a merge connector geometry) shares one atlas slot.
Floats hash via f32::to_bits — bitwise-equal-but-arithmetically-
equal cases (-0.0 vs 0.0, NaN payloads) are treated as
distinct, which matches what the atlas cache should do anyway.
Trait Implementations§
Source§impl Clone for VectorAsset
impl Clone for VectorAsset
Source§fn clone(&self) -> VectorAsset
fn clone(&self) -> VectorAsset
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for VectorAsset
impl Debug for VectorAsset
Source§impl PartialEq for VectorAsset
impl PartialEq for VectorAsset
Source§fn eq(&self, other: &VectorAsset) -> bool
fn eq(&self, other: &VectorAsset) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for VectorAsset
Auto Trait Implementations§
impl Freeze for VectorAsset
impl RefUnwindSafe for VectorAsset
impl Send for VectorAsset
impl Sync for VectorAsset
impl Unpin for VectorAsset
impl UnsafeUnpin for VectorAsset
impl UnwindSafe for VectorAsset
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.