flutter_roadmap_viewer 0.1.6
flutter_roadmap_viewer: ^0.1.6 copied to clipboard
A highly customizable roadmap and skill tree visualization widget with interactive pan/zoom, multiple layout orientations, and progress tracking.
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.
0.1.5 - 2024-12-12 #
Changed #
- Updated FlutterFlow integration to use primitive JSON types (
List<dynamic>) instead ofList<SkillData>.- This resolves type compatibility issues with FlutterFlow's generated
Structclasses. convertCourseJsonnow returnsList<dynamic>(List of Maps).CourseRoadmapWidgetnow acceptsskillDataJson(List of Maps) and handles conversion internally.
- This resolves type compatibility issues with FlutterFlow's generated
- Updated documentation and examples to reflect the new JSON-based integration flow.
0.1.4 - 2024-12-12 #
Changed #
- Updated
SkillDatamodel:- Added
progressStatusfield (enum: notStarted, current, complete, skipped) - Made
progressPercentoptional - Default status is now
ProgressStatus.notStarted
- Added
- Updated
GraphBuilderto useprogressStatusdirectly - Simplified FlutterFlow integration:
- Refactored
convertCourseJsonto handle both single and array prerequisites - Removed course node creation (focus on skills only)
- Removed progress conversion logic (defaults to notStarted)
- Implemented two-pass conversion to avoid
copyWith(better compatibility with generated code)
- Refactored
- Cleaned up duplicate/outdated FlutterFlow widget files
- Fixed all linting issues and updated analysis options
0.1.3 - 2024-12-12 #
Added #
- Multiple node widget types (circular, rectangular, capsule)
- Node widget factory for flexible node rendering
- Completion node widget for visual progress indicators
- Empty state widget for better UX
- Hatch pattern painter for visual effects
- Graph builder utility for node relationship management
- Completion node builder utility
- Skill data model for extended node information
- Node widget configuration system
- Roadmap viewport widget for improved rendering
- FlutterFlow integration with clean architecture:
flutterflow/convert_course_json.dart- Custom Action for JSON conversionflutterflow/course_roadmap_widget.dart- Custom Widget for displayflutterflow/README.md- Complete integration guideflutterflow/converters/flutterflow_json_converter.dart- Standalone converter
- FLUTTERFLOW_INTEGRATION.md - Comprehensive FlutterFlow documentation
- Enhanced example app with mock data and demo pages
- USAGE_EXAMPLES.md documentation
Changed #
- Refactored layout engine (renamed from parent_aware_layout_engine)
- Reorganized enums into dedicated directory structure
- Moved theme configuration to dedicated theme directory
- Improved edge painter implementation
- Enhanced roadmap viewer with new features
- Updated main library exports
- Restructured example app with better organization
Removed #
- Legacy bounds_data.dart model
- Legacy position_data.dart model
- Standalone progress_status.dart (moved to enums)
- Legacy roadmap_enums.dart (split into separate enum files)
- Legacy roadmap_node_style.dart (replaced by config system)
- Legacy roadmap_theme.dart (moved to theme directory)
- Background painter (functionality integrated elsewhere)
- Roadmap color utils (replaced by theme system)
- Roadmap fit button (integrated into viewer)
- Legacy roadmap_node_widget.dart (replaced by node_widgets system)
- Old layout utilities (replaced by layout_utils.dart)
- Test files (to be recreated for new architecture)
0.1.2 - 2024-12-11 #
Changed #
- Internal refactoring and code organization improvements
- Preparation for enhanced node widget system
0.1.0 - 2024-12-10 #
Added #
- Initial release of flutter_roadmap_viewer
RoadmapViewerwidget with interactive pan/zoomRoadmapNodemodel with JSON serializationProgressStatusenum (notStarted, current, complete, skipped)- Parent-aware layout engine with collision detection
- Multiple layout orientations (horizontal, vertical)
- Multiple edge styles (curved, orthogonal)
- Customizable themes with 4 pre-built options:
- Default theme (soft gradients)
- Dark theme
- Light theme
- Vibrant theme
RoadmapNodeStylefor per-node styling- Custom node builder support
- Node style provider support
- Fit-to-screen button
- Custom data support on nodes
- Legacy
progressPercentmigration viafromJsonLegacy()
Features #
- Interactive gestures (pan, zoom, tap)
- Progress-based node coloring
- Layer-based color cycling
- Duplicate leaf node collapsing
- Configurable node dimensions and spacing
- Customizable edge width and colors
- Shadow support on nodes
- Custom text styling
- Background gradient or solid color support
Documentation #
- Comprehensive README with examples
- API reference documentation
- Migration guide for legacy data
- Best practices and troubleshooting
Testing #
- Unit tests for models, layout, and utilities
- Widget smoke tests
- Integration tests
- ~30 test cases covering critical paths
[Unreleased] #
Planned #
- Variable node sizes support
- Animation support for state changes
- Node search and filtering
- Minimap for large roadmaps
- Export to image functionality
- More edge routing algorithms
- Accessibility improvements
- Comprehensive test suite for new architecture