reactive_mind_map 1.0.4
reactive_mind_map: ^1.0.4 copied to clipboard
A highly customizable and interactive mind map package for Flutter with multiple layouts, dynamic sizing, and rich styling options.
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.4 - 2025-06-19 #
Added #
- ๐ฏ ์๋ ์ค์ ์ ๋ ฌ ๊ธฐ๋ฅ: ์ด๊ธฐ ๋ก๋ ์ ๋ฃจํธ ๋ ธ๋๊ฐ ์๋์ผ๋ก ํ๋ฉด ์ค์์ ์์น / Auto-centering: Root node automatically centers on initial load
- ๐ ์ด๊ธฐ ์ค ์ค์ผ์ผ ์ค์ :
initialScale์์ฑ์ผ๋ก ๊ธฐ๋ณธ ํ๋/์ถ์ ๋ ๋ฒจ ์กฐ์ ๊ฐ๋ฅ / Initial zoom scale:initialScaleproperty for default zoom level control - ๐ ๋
ธ๋ ๊ธฐ๋ณธ ํ์ฅ ์ํ:
isNodesCollapsed์์ฑ์ผ๋ก ๋ ธ๋ ์ด๊ธฐ ์ํ ์ ์ด / Default node expansion:isNodesCollapsedproperty for initial node state control - ๐ธ ์ด๋ฏธ์ง ์บก์ฒ ๊ธฐ๋ฅ:
captureKey์์ฑ์ผ๋ก ๋ง์ธ๋๋งต์ ์ด๋ฏธ์ง๋ก ์ ์ฅ ๊ฐ๋ฅ / Image capture:captureKeyproperty for saving mind map as image - ๐ TransformationController ์ง์: ๋ทฐํฌํธ ์์น ๋ฐ ์ค ๋ ๋ฒจ ํ๋ก๊ทธ๋๋ฐ ์ ์ด / TransformationController support: Programmatic viewport and zoom control
Improved #
- ๐ง ํ
์คํธ ๋ ๋๋ง ํ์ง:
softWrap: true์ ์ฉ์ผ๋ก ํ ์คํธ ์ค๋ฒํ๋ก์ฐ ๋ฐฉ์ง / Text rendering quality:softWrap: trueprevents text overflow - โก ์ด๊ธฐ ๋ก๋ฉ ์ฑ๋ฅ: ์๋ ์ค์ ์ ๋ ฌ๋ก ์ฌ์ฉ์ ๊ฒฝํ ๊ฐ์ / Initial loading performance: Auto-centering improves user experience
- ๐จ InteractiveViewer ์ต์ ํ: ๋ ๋ถ๋๋ฌ์ด ํฌ/์ค ์ธํฐ๋์ / InteractiveViewer optimization: Smoother pan/zoom interactions
- ๐ฑ ๋ฐ์ํ ๊ฐ์ : ๋ค์ํ ํ๋ฉด ํฌ๊ธฐ์์ ๋ ๋์ ์ ์์ฑ / Responsive improvements: Better adaptation to various screen sizes
Fixed #
- โ ์ด๊ธฐ ๋ทฐํฌํธ ๋ฌธ์ : ๋ฃจํธ ๋ ธ๋๊ฐ ํ๋ฉด ๋ฐ์ ์์นํ๋ ๋ฌธ์ ํด๊ฒฐ / Initial viewport issue: Fixed root node appearing outside viewport
- ๐ค ํ ์คํธ ์๋ฆผ ๋ฌธ์ : ๊ธด ํ ์คํธ์ ํ์ ์ค๋ฅ ํด๊ฒฐ / Text clipping issue: Fixed display errors with long text
- ๐ฏ ๋ ธ๋ ํฌ์ปค์ค ๋ฌธ์ : ์ฌ์ฉ์๊ฐ ๋ง์ธ๋๋งต์ ์ฐพ๊ธฐ ์ด๋ ค์ด ๋ฌธ์ ํด๊ฒฐ / Node focus issue: Fixed difficulty finding mind map content
Breaking Changes #
- None - ์ด ์ ๋ฐ์ดํธ๋ ๋ชจ๋ ๊ธฐ์กด API์ ํธํ๋ฉ๋๋ค / This update is fully compatible with existing APIs
Usage Examples #
MindMapWidget(
data: yourMindMapData,
initialScale: 0.8, // ์ด๊ธฐ 80% ์ค ๋ ๋ฒจ
isNodesCollapsed: false, // ๋ชจ๋ ๋
ธ๋ ๊ธฐ๋ณธ ํ์ฅ
captureKey: GlobalKey(), // ์ด๋ฏธ์ง ์บก์ฒ์ฉ ํค
style: MindMapStyle(
// ... ๊ธฐ์กด ์คํ์ผ ์ค์
),
)
Contributors #
- Special thanks to @TOZXII for the major contributions including auto-centering, initial scale, and image capture features
1.0.3 - 2025-06-06 #
Added #
- ์ค์ ๋ ธ๋ ์์น ๊ธฐ๋ฐ ๋์ ์บ๋ฒ์ค ํฌ๊ธฐ ๊ณ์ฐ ์์คํ / Dynamic canvas sizing system based on actual node positions
- ์ฝํ ์ธ ๊ฒฝ๊ณ ๋ฐ์ค ๊ณ์ฐ์ผ๋ก ์ ํํ ์บ๋ฒ์ค ํฌ๊ธฐ ๊ฒฐ์ / Accurate canvas sizing through content bounding box calculation
- ์ค๋งํธ ํจ๋ฉ ์์คํ ์ผ๋ก ์ต์ ํ๋ ์ฌ๋ฐฑ ๊ด๋ฆฌ / Smart padding system for optimized margin management
Improved #
- ํ ์คํธ ๋ผ์ธ ์ ์ ํ ํด์ (๋ฌด์ ํ ํ ์คํธ ํ์ ๊ฐ๋ฅ) / Unlimited text lines support (removed maxLines restriction)
- ํ๊ตญ์ด/์์ด ์ฃผ์ ์์ ํ์คํ (ํ๊ตญ์ด ๋จผ์ , ์์ด ๋์ค) / Standardized Korean/English comment order
- ๋น๋์นญ ํธ๋ฆฌ ๊ตฌ์กฐ์์๋ ์ ํํ ๋ ์ด์์ ๊ณ์ฐ / Accurate layout calculation even for asymmetric tree structures
- ๋ ธ๋ ํฌ๊ธฐ์ ๋ฐ๋ฅธ ๋์ ์ฌ๋ฐฑ ์กฐ์ / Dynamic margin adjustment based on node sizes
- InteractiveViewer ๊ธฐ๋ณธ ์ค์ ๊ฐ์ (constrained: true, ๊ฒฝ๊ณ ๋ง์ง ์ถ์) / Improved InteractiveViewer defaults
Fixed #
- ํฐ ๋ง์ธ๋๋งต์์ ๋ ธ๋๊ฐ ์บ๋ฒ์ค ๊ฒฝ๊ณ๋ฅผ ๋ฒ์ด๋๋ ๋ฌธ์ ํด๊ฒฐ / Fixed nodes exceeding canvas boundaries in large mind maps
- ์ฝํ ์ธ ํฌ๊ธฐ์ ์บ๋ฒ์ค ํฌ๊ธฐ ๋ถ์ผ์น ๋ฌธ์ ํด๊ฒฐ / Resolved content size and canvas size mismatch issues
- ๋ฃจํธ ๋ ธ๋ ์์น ๊ณ์ฐ ์ ํ๋ ํฅ์ / Improved root node positioning accuracy
- MindMapWidget์ด Expanded ์์ ฏ ์์์ ํ๋ฉด์ ๋ฒ์ด๋๋ ๋ฌธ์ ํด๊ฒฐ / Fixed MindMapWidget exceeding screen boundaries inside Expanded widget
Technical Details #
- 2๋จ๊ณ ๋ ์ด์์ ์์คํ : ์์ ๊ณ์ฐ โ ์ค์ ํฌ๊ธฐ ๊ณ์ฐ โ ์ฌ์กฐ์ / Two-stage layout system: temporary calculation โ actual size calculation โ readjustment
_calculateRequiredCanvasSize()๋ฉ์๋๋ก ์ ํํ ์บ๋ฒ์ค ํฌ๊ธฐ ๊ณ์ฐ / Precise canvas size calculation with_calculateRequiredCanvasSize()method_collectAllVisibleNodes()๋ฉ์๋๋ก ํจ์จ์ ์ธ ๋ ธ๋ ์์ง / Efficient node collection with_collectAllVisibleNodes()method- README์ ์ค์ํ ์ฌ์ฉ๋ฒ ์ฃผ์์ฌํญ ์ถ๊ฐ / Added important usage notes to README
1.0.2 - 2025-06-13 #
Added #
- Screenshots and demo GIF in README
- GitHub raw links for images to ensure pub.dev compatibility
- Improved README readability with emojis and cleaner formatting
- Bilingual documentation (Korean/English)
Improved #
- Dynamic spacing calculation based on node sizes
- Better curve control points for connections
- Code comments with English translations
- Documentation structure and visual presentation
Fixed #
- Image display issues on pub.dev by using GitHub raw URLs
- Code formatting and removed unnecessary comments
1.0.1 - 2025-06-13 #
Added #
- Dynamic node sizing based on text content
- Enhanced spacing calculations for better layout
- Improved connection line rendering
- Auto-sizing configuration options
Improved #
- Node overlap prevention
- Curve connection quality
- Layout consistency across all directions
- Performance optimizations
Fixed #
- Connection point calculations for variable node sizes
- Layout issues in split arrangements
- Animation smoothness
1.0.0 - 2025-06-13 #
Added #
- Initial release of Reactive Mind Map package
- Multiple layout options (right, left, top, bottom, radial, horizontal, vertical)
- Six node shapes (rounded rectangle, circle, rectangle, diamond, hexagon, ellipse)
- Comprehensive styling system with MindMapStyle
- Interactive features (tap, long press, double tap, expand/collapse)
- Smooth animations with customizable curves and duration
- Pan and zoom functionality
- Rich customization options for colors, fonts, and effects
- Shadow effects for nodes
- Connection line customization
- Comprehensive test suite
- Example application demonstrating all features
- MIT License
- Complete documentation
๊ธฐ์ ์ ํน์ง #
- Flutter 3.0+ ์ง์
- ๋ฐ์ํ ๋์์ธ
- ์ ๊ทผ์ฑ ๊ณ ๋ ค
- ํ์ ์์ ์ฑ
์ง์ ํ๋ซํผ #
- Android
- iOS
- Web
- Windows
- macOS
- Linux