From 0e0fcdf3cfc9cd478d5bca361c507c2a2237fba3 Mon Sep 17 00:00:00 2001 From: Bruce Mitchener Date: Fri, 22 May 2026 00:04:45 +0700 Subject: [PATCH] Prepare more for first releases --- Cargo.toml | 2 +- imaging/Cargo.toml | 2 +- imaging/README.md | 9 +++++++++ imaging/src/lib.rs | 9 +++++++++ imaging_skia/CHANGELOG.md | 6 +++--- imaging_skia/Cargo.toml | 8 +++++++- imaging_wgpu/Cargo.toml | 2 +- imaging_wgpu/README.md | 4 +++- imaging_wgpu/src/lib.rs | 4 +++- 9 files changed, 37 insertions(+), 9 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index b3014a6..b0bf2b1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,7 +28,7 @@ repository = "https://github.com/forest-rs/imaging" [workspace.dependencies] # Internal crate dependencies are centralized here so path dependencies carry # the version requirements needed for packaging. -imaging = { path = "imaging", version = "0.0.1" } +imaging = { default-features = false, path = "imaging", version = "0.0.1" } imaging_skia = { path = "imaging_skia", version = "0.0.1" } imaging_tiny_skia = { path = "imaging_tiny_skia", version = "0.0.1" } imaging_vello = { path = "imaging_vello", version = "0.0.1" } diff --git a/imaging/Cargo.toml b/imaging/Cargo.toml index 5002278..35e5b8d 100644 --- a/imaging/Cargo.toml +++ b/imaging/Cargo.toml @@ -18,7 +18,7 @@ peniko.workspace = true workspace = true [features] -default = [] +default = ["std"] std = ["kurbo/std", "peniko/std"] libm = ["kurbo/libm", "peniko/libm"] diff --git a/imaging/README.md b/imaging/README.md index 818e302..fc49bfd 100644 --- a/imaging/README.md +++ b/imaging/README.md @@ -124,6 +124,15 @@ assert_eq!(scene, replayed); Low-level retained payloads like [`record::Draw`], [`record::Clip`], and [`record::Group`] are also public under [`record`] when you need exact control over the recorded representation. +# Feature Flags + +The default feature set enables `std` support in the geometry and color dependencies. For +`no_std` builds, disable default features and enable `libm`: + +```toml +imaging = { version = "0.0.1", default-features = false, features = ["libm"] } +``` + The API is intentionally small and experimental; expect breaking changes while we iterate. diff --git a/imaging/src/lib.rs b/imaging/src/lib.rs index 97be4bb..a00feed 100644 --- a/imaging/src/lib.rs +++ b/imaging/src/lib.rs @@ -105,6 +105,15 @@ //! Low-level retained payloads like [`record::Draw`], [`record::Clip`], and [`record::Group`] are //! also public under [`record`] when you need exact control over the recorded representation. //! +//! # Feature Flags +//! +//! The default feature set enables `std` support in the geometry and color dependencies. For +//! `no_std` builds, disable default features and enable `libm`: +//! +//! ```toml +//! imaging = { version = "0.0.1", default-features = false, features = ["libm"] } +//! ``` +//! //! The API is intentionally small and experimental; expect breaking changes while we iterate. #![no_std] diff --git a/imaging_skia/CHANGELOG.md b/imaging_skia/CHANGELOG.md index 0d2a890..9a136b4 100644 --- a/imaging_skia/CHANGELOG.md +++ b/imaging_skia/CHANGELOG.md @@ -8,12 +8,12 @@ Subheadings to categorize changes are `added, changed, deprecated, removed, fixe # Changelog -The latest published `imaging_skia` release is [0.0.1](#001-2026-xx-xx), which was released on -2026-XX-XX. You can find its changes [documented below](#001-2026-xx-xx). +The latest published `imaging_skia` release is [0.0.1](#001-2026-05-21), which was released on +2026-05-21. You can find its changes [documented below](#001-2026-05-21). ## [Unreleased] -## [0.0.1][] (2026-XX-XX) +## [0.0.1][] (2026-05-21) This release has an [MSRV][] of 1.92. diff --git a/imaging_skia/Cargo.toml b/imaging_skia/Cargo.toml index ab41a2c..a5ae1b8 100644 --- a/imaging_skia/Cargo.toml +++ b/imaging_skia/Cargo.toml @@ -7,7 +7,8 @@ license.workspace = true repository.workspace = true description = "Skia backend for the imaging command stream." readme = "README.md" -publish = false +keywords = ["graphics", "imaging", "rendering", "skia"] +categories = ["graphics", "rendering"] [features] default = [] @@ -57,3 +58,8 @@ skia-safe = { version = "0.93.1", features = ["vulkan"] } [lints] workspace = true + +[package.metadata.docs.rs] +all-features = true +default-target = "x86_64-unknown-linux-gnu" +targets = [] diff --git a/imaging_wgpu/Cargo.toml b/imaging_wgpu/Cargo.toml index 92ab357..063c1d5 100644 --- a/imaging_wgpu/Cargo.toml +++ b/imaging_wgpu/Cargo.toml @@ -11,7 +11,7 @@ keywords = ["graphics", "imaging", "rendering", "wgpu"] categories = ["graphics", "rendering"] [features] -default = [] +default = ["wgpu-28"] # Normal consumers should enable exactly one version feature. If both are enabled by a # workspace-wide `--all-features` build, the crate exports `wgpu-28` deterministically. wgpu-27 = ["dep:wgpu_27"] diff --git a/imaging_wgpu/README.md b/imaging_wgpu/README.md index 6d22c33..15f8e95 100644 --- a/imaging_wgpu/README.md +++ b/imaging_wgpu/README.md @@ -23,7 +23,9 @@ Full documentation at https://github.com/orium/cargo-rdme --> `wgpu` texture rendering traits for `imaging` backends. -Enable exactly one of the crate features `wgpu-27` or `wgpu-28` for normal use. +The default feature set enables `wgpu-28`. Consumers that need `wgpu-27` should disable +default features and enable `wgpu-27`. + Workspace-wide `--all-features` builds enable both, so this crate resolves that case deterministically by exporting `wgpu-28` as [`wgpu`] and keeping `wgpu-27` linked only to satisfy older dependents that may still request it transitively. diff --git a/imaging_wgpu/src/lib.rs b/imaging_wgpu/src/lib.rs index 4af3cbf..9bae24e 100644 --- a/imaging_wgpu/src/lib.rs +++ b/imaging_wgpu/src/lib.rs @@ -3,7 +3,9 @@ //! `wgpu` texture rendering traits for `imaging` backends. //! -//! Enable exactly one of the crate features `wgpu-27` or `wgpu-28` for normal use. +//! The default feature set enables `wgpu-28`. Consumers that need `wgpu-27` should disable +//! default features and enable `wgpu-27`. +//! //! Workspace-wide `--all-features` builds enable both, so this crate resolves that case //! deterministically by exporting `wgpu-28` as [`wgpu`] and keeping `wgpu-27` linked only to //! satisfy older dependents that may still request it transitively.