reactive_mind_map 1.1.0
reactive_mind_map: ^1.1.0 copied to clipboard
A customizable and interactive mind map widget for Flutter with smooth animations and various layout 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.1.0 - 2025-06-20 #
๐ฏ New Features #
- NodeExpandCameraBehavior: ๋
ธ๋ ํ์ฅ ์ ์นด๋ฉ๋ผ ๋์์ ์ ์ดํ ์ ์๋ ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ
none: ์นด๋ฉ๋ผ ์ด๋ ์์ (๊ธฐ๋ณธ๊ฐ)focusClickedNode: ํด๋ฆญํ ๋ ธ๋๋ก ํฌ์ปค์ค ์ด๋fitExpandedChildren: ์๋ก ํผ์ณ์ง ์์ ๋ ธ๋๋ค์ด ๋ชจ๋ ๋ณด์ด๋๋ก ์กฐ์ fitExpandedSubtree: ํผ์ณ์ง ์ ์ฒด ์๋ธํธ๋ฆฌ๊ฐ ๋ณด์ด๋๋ก ์กฐ์
๐ Bug Fixes #
- ๋ ธ๋ ํ ๊ธ ์ ์นด๋ฉ๋ผ ์ด๋ ๋ฌธ์ ํด๊ฒฐ: ๋ ธ๋๋ฅผ ์ ๊ฑฐ๋ ํผ์น ๋ ์ ์ฒด ๋ง์ธ๋๋งต์ด ์กฐ๊ธ์ฉ ์ด๋ํ๋ ๋ฒ๊ทธ ์์
- ๋ฃจํธ ๋ ธ๋ ์์น ์์ ์ฑ ๊ฐ์ : ๋ ธ๋ ํ ๊ธ ์ค์๋ ๋ฃจํธ ๋ ธ๋ ์์น๋ฅผ ๊ณ ์ ํ์ฌ ์์ ์ ์ธ ์ฌ์ฉ์ ๊ฒฝํ ์ ๊ณต
๐ง Technical Improvements #
- ์นด๋ฉ๋ผ ์ ์ด ๋ก์ง ์ต์ ํ
- ๋ ธ๋ ํ ๊ธ ์ํ ๊ด๋ฆฌ ๊ฐ์
1.0.5 2024-01-XX #
๐ฏ New Features #
- Smart Camera Focus: ์ค๋งํธ ์นด๋ฉ๋ผ ํฌ์ปค์ค ์์คํ
์ถ๊ฐ
CameraFocus.rootNode: ๋ฃจํธ ๋ ธ๋์ ํฌ์ปค์ค (๊ธฐ๋ณธ๊ฐ)CameraFocus.center: ์บ๋ฒ์ค ์ค์์ ํฌ์ปค์คCameraFocus.fitAll: ๋ชจ๋ ๋ ธ๋๊ฐ ๋ณด์ด๋๋ก ์๋ ์กฐ์ CameraFocus.firstLeaf: ์ฒซ ๋ฒ์งธ ๋ฆฌํ ๋ ธ๋์ ํฌ์ปค์คCameraFocus.custom: ํน์ ๋ ธ๋ ID๋ก ํฌ์ปค์ค (focusNodeId์ฌ์ฉ)
๐ง Camera Control Options #
cameraFocus: ์นด๋ฉ๋ผ ํฌ์ปค์ค ์ต์ ์ค์ focusNodeId: ํฌ์ปค์คํ ํน์ ๋ ธ๋ ID ์ง์ focusAnimation: ํฌ์ปค์ค ์ด๋ ์ ๋๋ฉ์ด์ ์ง์์๊ฐ (๊ธฐ๋ณธ: 300ms)focusMargin: ํฌ์ปค์ค ์ ์ฌ๋ฐฑ ์ค์ (๊ธฐ๋ณธ: 20px)
๐จ Enhanced User Experience #
- ์์ ์ปจํ ์ด๋์์๋ ์๋ฒฝํ ๋ง์ธ๋๋งต ํ์
- ๋ถ๋๋ฌ์ด ์นด๋ฉ๋ผ ์ด๋ ์ ๋๋ฉ์ด์
- ์ ํํ ์ค์ ์ ๋ ฌ ๊ณ์ฐ์ผ๋ก ํฝ์ ํผํํธ ํฌ์ปค์ค
๐ Documentation #
- README์ Camera Focus Control ์ฌ์ฉ๋ฒ ์ถ๊ฐ
- 4๊ฐ์ง ์ค์ ์ฌ์ฉ ์์ ์ ๊ณต
- ํฌ์ปค์ค ์ต์ ํ ์ด๋ธ ์ถ๊ฐ
1.0.4 - 2025-06-20 #
๐ ์๋ก์ด ๊ธฐ๋ฅ / New Features #
- CameraFocus ๊ธฐ๋ฅ ์ถ๊ฐ: ๋ง์ธ๋๋งต์ ์นด๋ฉ๋ผ ํฌ์ปค์ค๋ฅผ ๋ค์ํ ๋ฐฉ์์ผ๋ก ์ ์ดํ ์ ์๋ ๊ธฐ๋ฅ
CameraFocus.rootNode: ๋ฃจํธ ๋ ธ๋ ์ค์ฌ์ผ๋ก ํฌ์ปค์คCameraFocus.center: ์บ๋ฒ์ค ์ ์ค์์ผ๋ก ํฌ์ปค์คCameraFocus.fitAll: ๋ชจ๋ ๋ ธ๋๊ฐ ๋ณด์ด๋๋ก ์๋ ์กฐ์ (์ค๋งํธ ์ค์ผ์ผ๋ง)CameraFocus.firstLeaf: ์ฒซ ๋ฒ์งธ ๋ฆฌํ ๋ ธ๋๋ก ํฌ์ปค์คCameraFocus.custom: ํน์ ๋ ธ๋ ID๋ก ํฌ์ปค์ค (focusNodeId์ ํจ๊ป ์ฌ์ฉ)
- ํฌ์ปค์ค ์ ๋๋ฉ์ด์
:
focusAnimation์์ฑ์ผ๋ก ๋ถ๋๋ฌ์ด ํฌ์ปค์ค ์ด๋ ์ ๋๋ฉ์ด์ ์ง์ - ํฌ์ปค์ค ์ฌ๋ฐฑ:
focusMargin์์ฑ์ผ๋ก ํฌ์ปค์ค ์ ์ฌ๋ฐฑ ์กฐ์ ๊ฐ๋ฅ - ์์ Container ํ๊ฒฝ ์ต์ ํ: ์ ํ๋ ๊ณต๊ฐ์์๋ ๋ง์ธ๋๋งต์ด ์ ๋ณด์ด๋๋ก ๊ฐ์
๐ ๏ธ ๊ฐ์ ์ฌํญ / Improvements #
- ์นด๋ฉ๋ผ ํฌ์ปค์ค ๋ก์ง์ ๋ถ๋ฆฌํ์ฌ ๋ ์ ์ฐํ ๋ทฐ ์ ์ด ๊ฐ๋ฅ
fitAll๋ชจ๋์์ ์ค๋งํธ ์ค์ผ์ผ๋ง์ผ๋ก ๋ชจ๋ ๋ ธ๋๋ฅผ ํจ์จ์ ์ผ๋ก ํ์- ํธ๋์คํผ ์ ๋๋ฉ์ด์ ์ฑ๋ฅ ์ต์ ํ
- ์์ Container์์์ UX ๋ํญ ๊ฐ์
๐ฆ ์๋ก์ด API #
cameraFocus: ์นด๋ฉ๋ผ ํฌ์ปค์ค ์ต์ ์ค์ focusNodeId: ํฌ์ปค์คํ ํน์ ๋ ธ๋ IDfocusAnimation: ํฌ์ปค์ค ์ ๋๋ฉ์ด์ ์ง์์๊ฐfocusMargin: ํฌ์ปค์ค ์ ์ฌ๋ฐฑ ์ค์
๐ฏ ์ฌ์ฉ ์ฌ๋ก #
์์ ์์ ฏ์ด๋ ์ ํ๋ ๊ณต๊ฐ์์ ๋ง์ธ๋๋งต์ ์ฌ์ฉํ ๋ ํนํ ์ ์ฉํฉ๋๋ค:
Container(
height: 200,
child: MindMapWidget(
data: data,
cameraFocus: CameraFocus.fitAll,
focusAnimation: Duration(milliseconds: 500),
focusMargin: EdgeInsets.all(10),
),
)
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