overmark 0.2.0
overmark: ^0.2.0 copied to clipboard
Spotlight coach marks for Flutter onboarding tours. Dims the screen, highlights any widget through a cut-out, and explains it in a fully customizable card. Zero dependencies.
0.2.0 #
Teach by doing, smarter placement, and a premium spotlight identity (roadmap 0.3 features shipped here). New visual/behaviour knobs default off so existing tours keep the previous look.
- Action steps (
OvermarkStepGate.action): the spotlight hole passes taps through to the real target; advance withOvermarkController.completeAction(orOvermarkStepDetails.completeAction). Next is hidden while awaiting. - Anchor readiness: steps wait for their anchor to mount (timeout + poll),
with optional
preparefor lazy lists. Failed steps are skipped instead of dropping silently at entry. Mid-tour transitions use Exit → Travel → Reveal: the card fades out on the current hole, the list may scroll under a calm scrim, then the spotlight morphs onto the new target with a soft card entrance. - Scroll follow: configurable
scrollAlignment,scrollDuration, andscrollCurve; hole and card stay locked to the target while scrolling. - Smart docking: auto placement above / below / start / end (RTL-aware),
keyboard-safe, with an optional leader line (
OvermarkTheme.showLeaderLine). - Mark policy on
showOnce:onStart(default),onComplete, oronAction. - Default Back control via
OvermarkLabels.previousandOvermarkConfig.showPrevious. - Lock system back with
OvermarkConfig.dismissible: false. - Cinematic morph: hole geometry lerps between steps (center + size, rrect-unified); scroll-follow still snaps.
- Card Pop-in:
OvermarkCardMotion(none/fade/fadeSlide/fadeScale) — scale begins at 0.96, never 0. - Soft rim / glow and optional pulse on
OvermarkTheme. - Focus layers:
OvermarkStep.secondaryFocus+secondaryHoleStrength. - Whisper mode:
OvermarkPointerMode.whisperfor non-blocking tips. - Optional haptics:
OvermarkHaptics(off by default). - Example app split out of a single
main.dart; lab demos for whisper, action gates, and once-only policies; Sessions tab for lazy-list +prepare. - Scroll follow performance: coalesce hole/card rebuilds to at most one per frame while the target scrolls; isolate spotlight / card / leader paints.
0.1.2 #
- Fixed demo GIFs on pub.dev by using absolute image URLs in the README.
0.1.1 #
- Polished the example app and added demo GIFs to the README.
0.1.0 #
First release.
Overmark.showruns a spotlight tour over any set of widgets, returning anOvermarkOutcomedescribing how it ended.Overmark.showOnceruns a tour a single time, backed by a pluggableOvermarkStorage.OvermarkThemederives every colour and text style from the ambientThemeData, so the tour is at home in light and dark apps, andcopyWithoverrides only what you name.OvermarkConfigcovers tap-to-advance, the skip control, progress dots, animation timing, auto-scrolling, and back-gesture dismissal.- Per-step overrides for shape, radius, padding, and a full
cardBuilderreplacement. OvermarkControllerdrives a running tour from outside the card.- Runs as a route, so the system back gesture ends the tour and the spotlight keeps up with rotation, resize, and scrolling.
- No dependencies beyond Flutter.