Skip to main content

Crate iced_tour

Crate iced_tour 

Source
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§

TourManager
Manages multiple named tours with shared completion tracking.
TourManagerMessage
A message routed to the active tour within a TourManager.
TourState
The core state machine for a guided tour.
TourStep
A single step in the guided tour.
TourTheme
Visual theme for the tour overlay, tooltip card, and spotlight cutout.

Enums§

CardPosition
Controls where the tooltip card appears relative to the spotlight target.
ThemeMode
Whether the theme uses dark or light colors.
TourEvent
Lifecycle events emitted by TourState::update().
TourManagerEvent
Events emitted by TourManager::update(), enriched with the tour name.
TourMessage
Add Tour(TourMessage) as a variant in your app’s Message enum. In your update() function, match on it and call tour_state.update(msg).
TourTarget
How a tour step identifies its spotlight target.

Functions§

integration_checklist
Verify your tour integration. Only available in debug builds.