keyspot 0.3.1
keyspot: ^0.3.1 copied to clipboard
Interactive onboarding and guided tours for Flutter. Highlight widgets, teach gestures with an animated pointer, and track targets live so nothing drifts.
0.3.1 #
Documentation and presentation only — no API or behaviour changes.
- Repositioned the package around interactive onboarding and guided tours, rather than the spotlight implementation detail.
- Fixed the installation instructions, which still showed the pre-publish git dependency on pub.dev (a package's README is frozen at publish time, so the correction only reaches readers via this release).
- Added pub.dev screenshots.
- Reorganised the README so each capability is introduced next to the demonstration of it, and added an at-a-glance capability table.
0.3.0 #
Implements the full 0.1–0.3 surface described in SPEC.md. The package is
feature-complete and unpublished; the API may still move before 1.0.
Spotlight #
KeyspotController.spotlight()withSpotShape.auto/circle/rrect/stadium/path, configurable ring stacks, and per-ring opacity pulses.- Action-scoped spotlights via
until:, timed viaduration:, or held untilhideSpotlight(). SpotBarrierwithpassthrough,block(default),dismissOnTapandtargetOnly— the last forwards the tap to the real widget and resolves.- Automatic scroll-into-view before the spotlight appears.
- Graceful fade-out and future resolution when the target unmounts mid-spotlight.
Pointer #
KeyspotPointer.show/moveTo/sweep/tapPulse/hide, every future completing on real animation completion rather than a guessed delay.- Rotation as an explicit
Rotation.degrees/radiansvalue type, animated from the current angle along the shortest path. MotionPath.lineandMotionPath.arctrajectories.- Built-in
CustomPainterhand with no assets, replaceable by any widget throughPointerStyle.builder.
Tours #
KeyspotTour,KeyspotStep,TourSessionwithnext/previous/skip.StepAdvance.tapTarget/tapAnywhere/manual/after(duration), each mapping to a sensible default barrier.KeyspotTourStorageinterface plusInMemoryTourStorage; plug your own persistence in.- Step content cards positioned automatically above or below the cut-out.
Tracking and accessibility #
KeyspotAnchorTrackerexposed publicly withTrackingMode.everyFrame,onScrollAndMetricsandonce.- Reduced motion honoured through
MediaQuery.disableAnimations. semanticLabelannouncements, RTL-aware alignments, andflipForRtlartwork.
Foundations #
KeyspotThemeas aThemeExtension, resolved parameter → scope → theme → defaults.- Injected logger, silent by default.
- Disposal-safe notifications: every pending future completes rather than erroring.
0.0.1 #
- Initial development preview. Claims the package name and publishes the planned API surface (see README). First functional release will be 0.1.0.
