Get rid of Vello API (#1002)

See primarily [#vello > Clearing out Vello
API](https://xi.zulipchat.com/#narrow/channel/197075-vello/topic/Clearing.20out.20Vello.20API/with/517105581).
Its purpose was never all that clear, and so publishing it is likely to
lead to an incoherent story in the future.
diff --git a/Cargo.lock b/Cargo.lock
index cfb5e5e..2683ad5 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3180,10 +3180,11 @@
 version = "0.5.0"
 dependencies = [
  "bytemuck",
+ "peniko",
+ "png",
  "roxmltree",
  "skrifa",
  "smallvec",
- "vello_api",
 ]
 
 [[package]]
diff --git a/sparse_strips/vello_api/README.md b/sparse_strips/vello_api/README.md
index dbb0f08..f884ac1 100644
--- a/sparse_strips/vello_api/README.md
+++ b/sparse_strips/vello_api/README.md
@@ -24,24 +24,9 @@
 
 <!-- cargo-rdme start -->
 
-This crate defines the public API types used by both Vello CPU and Vello Hybrid.
-
-## Usage
-
-This crate should not be used on its own, and you should instead use one of the renderers which use it.
-At the moment, only [Vello CPU](crates.io/crates/vello_cpu) is published, and you probably want to use that.
-
-We also develop [Vello](crates.io/crates/vello), which makes use of the GPU for 2D rendering and has higher performance than Vello CPU.
-Vello CPU is being developed as part of work to address shortcomings in Vello.
-Vello does not use this crate.
-
-## Features
-
-- Shared API types for Vello's rendering pipeline.
-
-## Usage
-
-This crate is intended to be used by other Vello components.
+A stub crate.
+Planned to provide an abstraction between different renderers in the future.
+This abstraction is not yet designed.
 
 <!-- cargo-rdme end -->
 
diff --git a/sparse_strips/vello_api/src/glyph.rs b/sparse_strips/vello_api/src/glyph.rs
deleted file mode 100644
index 28d8b02..0000000
--- a/sparse_strips/vello_api/src/glyph.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2025 the Vello Authors
-// SPDX-License-Identifier: Apache-2.0 OR MIT
-
-//! Types for glyphs.
-
-/// Positioned glyph.
-#[derive(Copy, Clone, Default, Debug)]
-pub struct Glyph {
-    /// The font-specific identifier for this glyph.
-    ///
-    /// This ID is specific to the font being used and corresponds to the
-    /// glyph index within that font. It is *not* a Unicode code point.
-    pub id: u32,
-    /// X-offset in run, relative to transform.
-    pub x: f32,
-    /// Y-offset in run, relative to transform.
-    pub y: f32,
-}
diff --git a/sparse_strips/vello_api/src/lib.rs b/sparse_strips/vello_api/src/lib.rs
index e596ab1..f85f0cf 100644
--- a/sparse_strips/vello_api/src/lib.rs
+++ b/sparse_strips/vello_api/src/lib.rs
@@ -1,37 +1,9 @@
 // Copyright 2025 the Vello Authors
 // SPDX-License-Identifier: Apache-2.0 OR MIT
 
-//! This crate defines the public API types used by both Vello CPU and Vello Hybrid.
-//!
-//! ## Usage
-//!
-//! This crate should not be used on its own, and you should instead use one of the renderers which use it.
-//! At the moment, only [Vello CPU](crates.io/crates/vello_cpu) is published, and you probably want to use that.
-//!
-//! We also develop [Vello](crates.io/crates/vello), which makes use of the GPU for 2D rendering and has higher performance than Vello CPU.
-//! Vello CPU is being developed as part of work to address shortcomings in Vello.
-//! Vello does not use this crate.
-//!
-//! ## Features
-//!
-//! - Shared API types for Vello's rendering pipeline.
-// - Interfaces for render contexts and rendering options.
-// - Designed for compatibility across CPU and GPU implementations.
-//!
-//! ## Usage
-//!
-//! This crate is intended to be used by other Vello components.
-//and external consumers needing a stable API.
+//! A stub crate.
+//! Planned to provide an abstraction between different renderers in the future.
+//! This abstraction is not yet designed.
 
 #![forbid(unsafe_code)]
 #![no_std]
-extern crate alloc;
-
-pub use peniko;
-pub use peniko::color;
-pub use peniko::kurbo;
-pub mod execute;
-pub mod glyph;
-pub mod mask;
-pub mod paint;
-pub mod pixmap;
diff --git a/sparse_strips/vello_common/Cargo.toml b/sparse_strips/vello_common/Cargo.toml
index f8074ff..901d366 100644
--- a/sparse_strips/vello_common/Cargo.toml
+++ b/sparse_strips/vello_common/Cargo.toml
@@ -12,16 +12,26 @@
 publish = false
 
 [dependencies]
-vello_api = { workspace = true, default-features = true }
 bytemuck = { workspace = true, features = [] }
+peniko = { workspace = true, features = ["bytemuck"] }
+png = { workspace = true, optional = true }
+roxmltree = { version = "0.20.0", optional = true }
 skrifa = { workspace = true }
 smallvec = { workspace = true }
-roxmltree = { version = "0.20.0", optional = true }
+
 
 [features]
-simd = ["vello_api/simd"]
-png = ["vello_api/png"]
+default = ["std", "png"]
+# Enable using SIMD instructions for rendering
+simd = []
+# Enable a simple version of SVG drawing. This is likely to be removed.
 pico_svg = ["dep:roxmltree"]
+# Get floating point functions from the standard library (likely using your target’s libc).
+std = ["peniko/std"]
+# Use floating point implementations from libm.v
+libm = ["peniko/libm"]
+# Allow loading and saving Pixmap to PNG. 
+png = ["std", "dep:png"]
 
 [lints]
 workspace = true
diff --git a/sparse_strips/vello_common/src/coarse.rs b/sparse_strips/vello_common/src/coarse.rs
index 9a56928..c7d497e 100644
--- a/sparse_strips/vello_common/src/coarse.rs
+++ b/sparse_strips/vello_common/src/coarse.rs
@@ -4,13 +4,12 @@
 //! Generating and processing wide tiles.
 
 use crate::color::palette::css::TRANSPARENT;
-use crate::peniko::{BlendMode, Compose, Mix};
+use crate::mask::Mask;
+use crate::paint::{Paint, PremulColor};
+use crate::peniko::{BlendMode, Compose, Fill, Mix};
 use crate::{strip::Strip, tile::Tile};
 use alloc::vec;
 use alloc::{boxed::Box, vec::Vec};
-use vello_api::mask::Mask;
-use vello_api::paint::PremulColor;
-use vello_api::{paint::Paint, peniko::Fill};
 
 #[derive(Debug)]
 struct Layer {
@@ -1043,10 +1042,10 @@
     use crate::coarse::{Cmd, CmdFill, Wide, WideTile};
     use crate::color::AlphaColor;
     use crate::color::palette::css::TRANSPARENT;
+    use crate::paint::{Paint, PremulColor};
     use crate::peniko::{BlendMode, Compose, Fill, Mix};
     use crate::strip::Strip;
     use alloc::{boxed::Box, vec};
-    use vello_api::paint::{Paint, PremulColor};
 
     #[test]
     fn optimize_empty_layers() {
diff --git a/sparse_strips/vello_common/src/colr.rs b/sparse_strips/vello_common/src/colr.rs
index fc1e38e..5414327 100644
--- a/sparse_strips/vello_common/src/colr.rs
+++ b/sparse_strips/vello_common/src/colr.rs
@@ -4,10 +4,10 @@
 //! Drawing COLR glyphs.
 
 use crate::color::Srgb;
+use crate::color::{AlphaColor, DynamicColor};
 use crate::glyph::{ColorGlyph, OutlinePath};
 use crate::kurbo::{Affine, BezPath, Point, Rect, Shape};
-use crate::peniko;
-use crate::peniko::{BlendMode, ColorStops, Compose, Extend, Gradient, Mix};
+use crate::peniko::{self, BlendMode, ColorStops, Compose, Extend, Gradient, GradientKind, Mix};
 use alloc::boxed::Box;
 use alloc::vec;
 use alloc::vec::Vec;
@@ -18,8 +18,6 @@
 use skrifa::raw::types::BoundingBox;
 use skrifa::{GlyphId, MetadataProvider};
 use smallvec::SmallVec;
-use vello_api::color::{AlphaColor, DynamicColor};
-use vello_api::peniko::GradientKind;
 
 /// A trait for clients capable of rendering COLR glyphs.
 pub trait ColrRenderer {
diff --git a/sparse_strips/vello_common/src/encode.rs b/sparse_strips/vello_common/src/encode.rs
index 1a24df2..03c7df2 100644
--- a/sparse_strips/vello_common/src/encode.rs
+++ b/sparse_strips/vello_common/src/encode.rs
@@ -8,6 +8,7 @@
 use crate::color::{ColorSpaceTag, HueDirection, Srgb, gradient};
 use crate::kurbo::{Affine, Point, Vec2};
 use crate::math::compute_erf7;
+use crate::paint::{Image, IndexedPaint, Paint, PremulColor};
 use crate::peniko::{ColorStop, Extend, Gradient, GradientKind, ImageQuality};
 use crate::pixmap::Pixmap;
 use alloc::borrow::Cow;
@@ -16,7 +17,6 @@
 use core::f32::consts::PI;
 use core::iter;
 use smallvec::SmallVec;
-use vello_api::paint::{Image, IndexedPaint, Paint, PremulColor};
 
 const DEGENERATE_THRESHOLD: f32 = 1.0e-6;
 const NUDGE_VAL: f32 = 1.0e-7;
@@ -355,7 +355,7 @@
 ) -> Vec<GradientRange> {
     struct EncodedColorStop {
         offset: f32,
-        color: vello_api::color::PremulColor<Srgb>,
+        color: crate::color::PremulColor<Srgb>,
     }
 
     // Create additional (SRGB-encoded) stops in-between to approximate the color space we want to
@@ -833,11 +833,10 @@
     use super::{EncodeExt, Gradient};
     use crate::color::DynamicColor;
     use crate::color::palette::css::{BLACK, BLUE, GREEN};
-    use crate::kurbo::Point;
+    use crate::kurbo::{Affine, Point};
     use crate::peniko::{ColorStop, ColorStops, GradientKind};
     use alloc::vec;
     use smallvec::smallvec;
-    use vello_api::kurbo::Affine;
 
     #[test]
     fn gradient_missing_stops() {
diff --git a/sparse_strips/vello_api/src/execute.rs b/sparse_strips/vello_common/src/execute.rs
similarity index 100%
rename from sparse_strips/vello_api/src/execute.rs
rename to sparse_strips/vello_common/src/execute.rs
diff --git a/sparse_strips/vello_common/src/flatten.rs b/sparse_strips/vello_common/src/flatten.rs
index 72b74ee..3e71e06 100644
--- a/sparse_strips/vello_common/src/flatten.rs
+++ b/sparse_strips/vello_common/src/flatten.rs
@@ -3,9 +3,8 @@
 
 //! Flattening filled and stroked paths.
 
+use crate::kurbo::{self, Affine, BezPath, Stroke, StrokeOpts};
 use alloc::vec::Vec;
-use vello_api::kurbo;
-use vello_api::kurbo::{Affine, BezPath, Stroke, StrokeOpts};
 
 /// The flattening tolerance.
 const TOL: f64 = 0.25;
diff --git a/sparse_strips/vello_common/src/glyph.rs b/sparse_strips/vello_common/src/glyph.rs
index 13c1ca7..e3800b6 100644
--- a/sparse_strips/vello_common/src/glyph.rs
+++ b/sparse_strips/vello_common/src/glyph.rs
@@ -3,6 +3,7 @@
 
 //! Processing and drawing glyphs.
 
+use crate::kurbo::{Affine, BezPath, Vec2};
 use crate::peniko::Font;
 use alloc::boxed::Box;
 use core::fmt::{Debug, Formatter};
@@ -14,14 +15,26 @@
     GlyphId, MetadataProvider,
     outline::{HintingInstance, HintingOptions, OutlinePen},
 };
-use vello_api::kurbo::{Affine, BezPath, Vec2};
 
 use crate::colr::convert_bounding_box;
 use crate::encode::x_y_advances;
 use crate::kurbo::Rect;
+use crate::pixmap::Pixmap;
 use skrifa::bitmap::{BitmapData, BitmapFormat, BitmapStrikes, Origin};
-pub use vello_api::glyph::*;
-use vello_api::pixmap::Pixmap;
+
+/// Positioned glyph.
+#[derive(Copy, Clone, Default, Debug)]
+pub struct Glyph {
+    /// The font-specific identifier for this glyph.
+    ///
+    /// This ID is specific to the font being used and corresponds to the
+    /// glyph index within that font. It is *not* a Unicode code point.
+    pub id: u32,
+    /// X-offset in run, relative to transform.
+    pub x: f32,
+    /// Y-offset in run, relative to transform.
+    pub y: f32,
+}
 
 /// A type of glyph.
 #[derive(Debug)]
diff --git a/sparse_strips/vello_common/src/lib.rs b/sparse_strips/vello_common/src/lib.rs
index fde88fe..1b6425e 100644
--- a/sparse_strips/vello_common/src/lib.rs
+++ b/sparse_strips/vello_common/src/lib.rs
@@ -36,12 +36,18 @@
 pub mod coarse;
 pub mod colr;
 pub mod encode;
+pub mod execute;
 pub mod flatten;
 pub mod glyph;
+pub mod mask;
 pub mod math;
+pub mod paint;
 #[cfg(feature = "pico_svg")]
 pub mod pico_svg;
+pub mod pixmap;
 pub mod strip;
 pub mod tile;
 
-pub use vello_api::*;
+pub use peniko;
+pub use peniko::color;
+pub use peniko::kurbo;
diff --git a/sparse_strips/vello_api/src/mask.rs b/sparse_strips/vello_common/src/mask.rs
similarity index 100%
rename from sparse_strips/vello_api/src/mask.rs
rename to sparse_strips/vello_common/src/mask.rs
diff --git a/sparse_strips/vello_api/src/paint.rs b/sparse_strips/vello_common/src/paint.rs
similarity index 100%
rename from sparse_strips/vello_api/src/paint.rs
rename to sparse_strips/vello_common/src/paint.rs
diff --git a/sparse_strips/vello_common/src/pico_svg.rs b/sparse_strips/vello_common/src/pico_svg.rs
index ee149c0..df3abe1 100644
--- a/sparse_strips/vello_common/src/pico_svg.rs
+++ b/sparse_strips/vello_common/src/pico_svg.rs
@@ -11,15 +11,14 @@
 
 extern crate std;
 
+use crate::color::{AlphaColor, DynamicColor, Srgb, palette};
+use crate::kurbo::{Affine, BezPath, Point, Size, Vec2};
 use alloc::boxed::Box;
 use alloc::vec;
 use alloc::vec::Vec;
 use core::str::FromStr;
-use std::eprintln;
-
 use roxmltree::{Document, Node};
-use vello_api::kurbo::{Affine, BezPath, Point, Size, Vec2};
-use vello_api::peniko::color::{AlphaColor, DynamicColor, Srgb, palette};
+use std::eprintln;
 
 /// A simplified representation of an SVG document
 #[derive(Debug)]
@@ -293,7 +292,7 @@
 
 fn parse_color(color: &str) -> AlphaColor<Srgb> {
     let color = color.trim();
-    vello_api::peniko::color::parse_color(color.trim())
+    crate::color::parse_color(color.trim())
         .map(DynamicColor::to_alpha_color)
         .unwrap_or(palette::css::FUCHSIA.with_alpha(0.5))
 }
@@ -319,7 +318,7 @@
 #[cfg(test)]
 mod tests {
     use super::parse_color;
-    use vello_api::peniko::color::{AlphaColor, Srgb, palette};
+    use crate::color::{AlphaColor, Srgb, palette};
 
     fn assert_close_color(c1: AlphaColor<Srgb>, c2: AlphaColor<Srgb>) {
         const EPSILON: f32 = 1e-4;
diff --git a/sparse_strips/vello_api/src/pixmap.rs b/sparse_strips/vello_common/src/pixmap.rs
similarity index 100%
rename from sparse_strips/vello_api/src/pixmap.rs
rename to sparse_strips/vello_common/src/pixmap.rs
diff --git a/sparse_strips/vello_common/src/strip.rs b/sparse_strips/vello_common/src/strip.rs
index d43c788..aa9657d 100644
--- a/sparse_strips/vello_common/src/strip.rs
+++ b/sparse_strips/vello_common/src/strip.rs
@@ -3,11 +3,10 @@
 
 //! Rendering strips.
 
-use alloc::vec::Vec;
-use vello_api::peniko::Fill;
-
 use crate::flatten::Line;
+use crate::peniko::Fill;
 use crate::tile::{Tile, Tiles};
+use alloc::vec::Vec;
 
 /// A strip.
 #[derive(Debug, Clone, Copy)]
diff --git a/sparse_strips/vello_sparse_tests/tests/blurred_rounded_rect.rs b/sparse_strips/vello_sparse_tests/tests/blurred_rounded_rect.rs
index 88f13ba..bf40360 100644
--- a/sparse_strips/vello_sparse_tests/tests/blurred_rounded_rect.rs
+++ b/sparse_strips/vello_sparse_tests/tests/blurred_rounded_rect.rs
@@ -2,8 +2,8 @@
 // SPDX-License-Identifier: Apache-2.0 OR MIT
 
 use crate::renderer::Renderer;
-use vello_api::color::palette::css::REBECCA_PURPLE;
-use vello_api::kurbo::{Affine, Point, Rect};
+use vello_common::color::palette::css::REBECCA_PURPLE;
+use vello_common::kurbo::{Affine, Point, Rect};
 use vello_dev_macros::vello_test;
 
 fn rect_with(ctx: &mut impl Renderer, radius: f32, std_dev: f32, affine: Affine) {
diff --git a/sparse_strips/vello_sparse_tests/tests/clip.rs b/sparse_strips/vello_sparse_tests/tests/clip.rs
index 8a3086b..ad6fb6d 100644
--- a/sparse_strips/vello_sparse_tests/tests/clip.rs
+++ b/sparse_strips/vello_sparse_tests/tests/clip.rs
@@ -6,12 +6,12 @@
 use crate::renderer::Renderer;
 use crate::util::{circular_star, crossed_line_star};
 use std::f64::consts::PI;
-use vello_api::color::palette::css::{
+use vello_common::coarse::WideTile;
+use vello_common::color::palette::css::{
     BLACK, BLUE, DARK_BLUE, DARK_GREEN, GREEN, REBECCA_PURPLE, RED,
 };
-use vello_api::peniko::Color;
-use vello_common::coarse::WideTile;
 use vello_common::kurbo::{Affine, BezPath, Circle, Point, Rect, Shape, Stroke};
+use vello_common::peniko::Color;
 use vello_common::peniko::Fill;
 use vello_common::tile::Tile;
 use vello_dev_macros::vello_test;
diff --git a/sparse_strips/vello_sparse_tests/tests/glyph.rs b/sparse_strips/vello_sparse_tests/tests/glyph.rs
index ab6e48b..fe83e94 100644
--- a/sparse_strips/vello_sparse_tests/tests/glyph.rs
+++ b/sparse_strips/vello_sparse_tests/tests/glyph.rs
@@ -9,11 +9,10 @@
 use crate::util::{layout_glyphs_noto_cbtf, layout_glyphs_noto_colr, layout_glyphs_roboto};
 use std::iter;
 use std::sync::Arc;
-use vello_api::color::palette::css::{BLACK, BLUE, GREEN};
-use vello_api::glyph::Glyph;
-use vello_api::peniko::{Blob, Font};
-use vello_common::color::palette::css::REBECCA_PURPLE;
+use vello_common::color::palette::css::{BLACK, BLUE, GREEN, REBECCA_PURPLE};
+use vello_common::glyph::Glyph;
 use vello_common::kurbo::Affine;
+use vello_common::peniko::{Blob, Font};
 use vello_dev_macros::vello_test;
 
 #[vello_test(width = 300, height = 70)]
diff --git a/sparse_strips/vello_sparse_tests/tests/gradient.rs b/sparse_strips/vello_sparse_tests/tests/gradient.rs
index d2e8561..955a289 100644
--- a/sparse_strips/vello_sparse_tests/tests/gradient.rs
+++ b/sparse_strips/vello_sparse_tests/tests/gradient.rs
@@ -4,11 +4,10 @@
 use crate::renderer::Renderer;
 use crate::util::{stops_blue_green_red_yellow, stops_green_blue};
 use smallvec::smallvec;
-use vello_api::peniko::Gradient;
 use vello_common::color::palette::css::{BLACK, BLUE, WHITE, YELLOW};
 use vello_common::color::{ColorSpaceTag, DynamicColor};
 use vello_common::kurbo::{Point, Rect};
-use vello_common::peniko::{ColorStop, ColorStops, GradientKind};
+use vello_common::peniko::{ColorStop, ColorStops, Gradient, GradientKind};
 use vello_dev_macros::vello_test;
 
 pub(crate) const fn tan_45() -> f64 {
@@ -122,10 +121,8 @@
     };
     use peniko::Extend;
     use std::f64::consts::PI;
-    use vello_api::peniko;
-    use vello_api::peniko::Gradient;
     use vello_common::kurbo::{Affine, Point, Rect};
-    use vello_common::peniko::GradientKind;
+    use vello_common::peniko::{self, Gradient, GradientKind};
     use vello_dev_macros::vello_test;
 
     #[vello_test]
@@ -430,10 +427,9 @@
     };
     use peniko::Extend;
     use std::f64::consts::PI;
-    use vello_api::peniko;
-    use vello_api::peniko::{ColorStops, Gradient};
     use vello_common::kurbo::{Affine, Point, Rect};
     use vello_common::peniko::GradientKind::Radial;
+    use vello_common::peniko::{self, ColorStops, Gradient};
     use vello_dev_macros::vello_test;
 
     fn simple(ctx: &mut impl Renderer, stops: ColorStops) {
@@ -754,10 +750,8 @@
     };
     use peniko::Extend;
     use std::f64::consts::PI;
-    use vello_api::peniko;
-    use vello_api::peniko::{ColorStops, Gradient};
     use vello_common::kurbo::{Affine, Point, Rect};
-    use vello_common::peniko::GradientKind;
+    use vello_common::peniko::{self, ColorStops, Gradient, GradientKind};
     use vello_dev_macros::vello_test;
 
     fn basic(ctx: &mut impl Renderer, stops: ColorStops, center: Point) {
diff --git a/sparse_strips/vello_sparse_tests/tests/mask.rs b/sparse_strips/vello_sparse_tests/tests/mask.rs
index 5195d53..59c265a 100644
--- a/sparse_strips/vello_sparse_tests/tests/mask.rs
+++ b/sparse_strips/vello_sparse_tests/tests/mask.rs
@@ -3,12 +3,11 @@
 
 use crate::renderer::Renderer;
 use smallvec::smallvec;
-use vello_api::peniko::Gradient;
 use vello_common::color::DynamicColor;
 use vello_common::color::palette::css::{BLACK, LIME, RED, YELLOW};
 use vello_common::kurbo::{Point, Rect};
 use vello_common::mask::Mask;
-use vello_common::peniko::{ColorStop, ColorStops, GradientKind};
+use vello_common::peniko::{ColorStop, ColorStops, Gradient, GradientKind};
 use vello_cpu::RenderMode;
 use vello_cpu::{Pixmap, RenderContext};
 use vello_dev_macros::vello_test;
diff --git a/sparse_strips/vello_sparse_tests/tests/mix.rs b/sparse_strips/vello_sparse_tests/tests/mix.rs
index 6fb562f..e141a2b 100644
--- a/sparse_strips/vello_sparse_tests/tests/mix.rs
+++ b/sparse_strips/vello_sparse_tests/tests/mix.rs
@@ -4,13 +4,13 @@
 use crate::image::load_image;
 use crate::renderer::Renderer;
 use smallvec::smallvec;
-use vello_api::peniko::Gradient;
 use vello_common::color::palette::css::{BLUE, LIME, MAGENTA, RED, YELLOW};
 use vello_common::color::{AlphaColor, DynamicColor, Srgb};
 use vello_common::kurbo::{Affine, Point, Rect};
 use vello_common::paint::Image;
-use vello_common::peniko::{BlendMode, Compose, Extend, Mix};
-use vello_common::peniko::{ColorStop, ColorStops, GradientKind, ImageQuality};
+use vello_common::peniko::{
+    BlendMode, ColorStop, ColorStops, Compose, Extend, Gradient, GradientKind, ImageQuality, Mix,
+};
 use vello_dev_macros::vello_test;
 
 // The outputs have been compared visually with tiny-skia, and except for two cases (where tiny-skia
diff --git a/sparse_strips/vello_sparse_tests/tests/renderer.rs b/sparse_strips/vello_sparse_tests/tests/renderer.rs
index 5e12271..c610c1d 100644
--- a/sparse_strips/vello_sparse_tests/tests/renderer.rs
+++ b/sparse_strips/vello_sparse_tests/tests/renderer.rs
@@ -1,12 +1,12 @@
 // Copyright 2025 the Vello Authors
 // SPDX-License-Identifier: Apache-2.0 OR MIT
 
-use vello_api::kurbo::{Affine, BezPath, Rect, Stroke};
-use vello_api::mask::Mask;
-use vello_api::paint::PaintType;
-use vello_api::peniko::{BlendMode, Fill, Font};
-use vello_api::pixmap::Pixmap;
 use vello_common::glyph::{GlyphRenderer, GlyphRunBuilder};
+use vello_common::kurbo::{Affine, BezPath, Rect, Stroke};
+use vello_common::mask::Mask;
+use vello_common::paint::PaintType;
+use vello_common::peniko::{BlendMode, Fill, Font};
+use vello_common::pixmap::Pixmap;
 use vello_cpu::{RenderContext, RenderMode};
 use vello_hybrid::Scene;