Expand description
§iced_tour
Guided tour / onboarding overlay for iced applications.
There are zero existing Rust crates for in-app onboarding/guided tours. This is the first.
§Quick Start
use iced_tour::{TourState, TourStep, TourMessage, TourTheme, CardPosition, tour_steps};
// Define steps (no target = centered card, works without knowing layout)
let steps = tour_steps![
"Welcome" => "Let's take a quick tour of the app",
"Editor" => "This is where you edit your content",
"Timeline" => "Arrange your clips here",
];
let state = TourState::new(steps);See the README for full integration instructions.
Re-exports§
pub use animation::TourAnimation;pub use bounds::visible_bounds;pub use overlay::tour_manager_overlay;pub use overlay::tour_overlay;
Modules§
- animation
- Animation configuration for tour step transitions.
- bounds
- Widget bounds resolution via iced’s Operation system.
- overlay
- Tour overlay rendering (backdrop, spotlight cutout, tooltip card).
Macros§
- tour_
steps - Convenience macro for quick step definitions.
Structs§
- Tour
Manager - Manages multiple named tours with shared completion tracking.
- Tour
Manager Message - A message routed to the active tour within a
TourManager. - Tour
State - The core state machine for a guided tour.
- Tour
Step - A single step in the guided tour.
- Tour
Theme - Visual theme for the tour overlay, tooltip card, and spotlight cutout.
Enums§
- Card
Position - Controls where the tooltip card appears relative to the spotlight target.
- Theme
Mode - Whether the theme uses dark or light colors.
- Tour
Event - Lifecycle events emitted by
TourState::update(). - Tour
Manager Event - Events emitted by
TourManager::update(), enriched with the tour name. - Tour
Message - Add
Tour(TourMessage)as a variant in your app’s Message enum. In yourupdate()function, match on it and calltour_state.update(msg). - Tour
Target - How a tour step identifies its spotlight target.
Functions§
- integration_
checklist - Verify your tour integration. Only available in debug builds.