virtual_clock 1.0.0-dev.3
virtual_clock: ^1.0.0-dev.3 copied to clipboard
A Flutter package for virtual time manipulation. Speed up, pause, or travel through time to test streaks, bonuses, and other scheduled events.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.0-dev.3 - 2026-01-07 #
Added #
TimeMachinewidget - A new public wrapper for the debug overlay, replacing direct usage ofTimeControlPanelOverlay.VirtualClock.setup(ClockConfig)- Simplified initialization method properly accepting configuration.
Changed #
- BREAKING: Renamed
VirtualClock.initializetoVirtualClock.setup. - BREAKING: Removed
clockServiceparameter fromTimeMachine,TimeControlPanelOverlay, andTimeControlPanel. These widgets now strictly use the internal singleton service accessed via the globalclockgetter. - BREAKING: Made
TimeControlPanelOverlayinternal. UseTimeMachineinstead. - Refactored
VirtualClockto manage its own singletonClockServiceinstance. Manual injection is no longer supported.
1.0.0-dev.2 - 2026-01-07 #
Added #
TimeControlPanelOverlaywidget for slide-out panel integration- Animated slide-in/out from right edge
- Dark overlay with tap to dismiss
- Drag gestures with velocity-based snapping
- Persistent toggle button
- Production safety (hidden when clockRate == 1)
- Comprehensive example app demonstrating all package features
- GitHub Actions CI/CD workflows for automated publishing
Fixed #
- Font family path for package resolution in consuming apps
- Removed SnackBar from reset button to avoid ScaffoldMessenger dependency
Changed #
- Updated README with TimeControlPanelOverlay documentation
1.0.0-dev.1 - 2026-01-06 #
Added #
- Initial release of Virtual Clock package
ClockService- Core service for virtual time management- Time acceleration with configurable clock rate
- Time travel to any date/time
- Fast forward by duration
- Pause and resume functionality
- Persistence across app restarts
- Auto-reset on app version changes
- Production safety (forced to 1x in release builds)
VirtualClock- Global accessor for convenient clock accessVirtualTimer- Timer wrappers that respect virtual timeperiodic()- Repeating timerdelayed()- One-time timerwait()- Async wait
VirtualClockX- DateTime extensionsisVirtualToday()- Check if date is today in virtual timeisVirtualYesterday()- Check if date is yesterday in virtual timeisInVirtualPast()- Check if date is in virtual pastisInVirtualFuture()- Check if date is in virtual futuredifferenceFromVirtualNow()- Get difference from virtual nowisDifferentFromVirtualNow()- Check if different from virtual now
ClockConfig- Configuration class for clock initialization- Comprehensive documentation and examples
