Learnify - Conversation History - Hand mode behavior and hover issue
Learnify - Hand mode behavior and hover issueExported on 2025/7/7 at GMT+10 20:45:55 from Cursor (1.2.1) User @default-tool-button.ts When switching to Hand Mode, what behaviors are triggered? Why does the mouse become unable to hover? Cursor Let me analyze what behaviors are triggered when switching to Hand Mode and the reasons behind the mouse hover issue. [[memory:130323]] 123456disposables.add( effect(() => { const value = this.gfx.tool.currentToolOption$.value; ...
Learnify - Tool Switching Mechanism
Learnify - In-depth Analysis of Tool Switching MechanismOverviewThis document provides a detailed analysis of the core mechanism for tool switching in BlockSuite, with a particular focus on the full process of switching from DefaultTool to PanTool. Core Components1. ToolController (blocksuite/framework/std/src/gfx/tool/tool-controller.ts)ToolController is the core class responsible for managing tools, including registration, switching, and event routing. Key MethodsetTool<T extends BaseToo...
Learnify - Mind Map Node Collapse/Expand Button
Learnify - Mind Map Node Collapse/Expand ButtonOverviewA circular button appears on hover over mind map nodes that have children, allowing users to collapse/expand node branches. Key FilesMain Logic Location: /blocksuite/affine/gfx/mindmap/src/view/view.ts Class: MindMapView Key Methods _initCollapseButtons() - Initializes collapse buttons for all nodes _updateCollapseButton() - Creates/updates individual collapse buttons _updateButtonVisibility() (lines 431-461) - Controls bu...
Learnify - PanTool Enhancement Implementation Guide
Learnify - PanTool Enhancement Implementation GuideOverviewThis document provides a detailed record of the enhancement process for PanTool, upgrading it from a simple panning tool to a comprehensive tool that supports complete mind map interactions. This enhancement maintains the original panning functionality while adding complete interaction support including hover, click, double-click, and more. Original PanTool AnalysisFunctional LimitationsThe original PanTool located at blocksuite/affin...
Learnify - Tool Selector Modes - Select/Hand Toggle
Learnify - Tool Selector Modes - Select/Hand ToggleOverviewThe tool selector allows switching between Select mode (default) and Hand mode (pan) for navigating the canvas. Key File Location: /blocksuite/affine/gfx/pointer/src/quick-tool/default-tool-button.ts Main Function: _changeTool() (lines 24-48) Mode Types Select Mode (Default Tool) Icon: SelectIcon() Used for selecting and editing elements Keyboard shortcut: V Hand Mode (Pan Tool) Icon: HandIcon() Used for panning/draggin...
Learnify - Tool Switching Mechanism
Learnify - Tool Switching Mechanism In-depth AnalysisOverviewThis document provides a detailed analysis of the core tool switching mechanism in BlockSuite, with particular focus on the complete workflow when switching from DefaultTool to PanTool. Core Components1. ToolController (blocksuite/framework/std/src/gfx/tool/tool-controller.ts)ToolController is the core class for tool management, responsible for tool registration, switching, and event routing. Key MethodssetTool<T extends BaseTool...
Learnify - BlockSuite Tool System In-depth Research and Hand Mode Enhancement
BlockSuite Tool System In-depth Research and Hand Mode EnhancementProject OverviewThis document series records the in-depth research on the BlockSuite tool system, focusing on solving the issue of mindmap hover functionality failure in Hand Mode (pan tool), and successfully upgrading PanTool from a simple pan tool to a comprehensive tool supporting complete interactions. Problem BackgroundInitial ProblemWhen users switched from the default Select tool to Hand Mode, the following functions com...
Learnify - Edgeless Theme Behavior Analysis
Learnify - Edgeless Theme Behavior AnalysisProblem DescriptionEdgeless background color behaves inconsistently between edit mode and preview mode: Edit Mode: When users create an edgeless in light mode and switch to dark mode, the background remains white Preview Mode: Shared read-only preview correctly follows the current theme color Root Cause1. Different Theme Extension ImplementationsEdit Mode - AffineThemeExtension (/packages/frontend/core/src/blocksuite/view-extensions/theme/theme.ts)...
Learnify - Event Routing and Interactivity System Analysis
Learnify - Event Routing and Interactivity System AnalysisOverviewThis document provides an in-depth analysis of the event routing mechanism and Interactivity system in BlockSuite, explaining how they work together to handle complex user interactions, particularly hover and click functionalities in mind maps. Event Routing ArchitectureOverall Flow12345678910graph TD A[User Operation] --> B[Browser Native Event] B --> C[GfxViewEventManager] C --> D[ToolController.invokeToolHa...
Learnify - Hand Mode Hover Functionality Issue Analysis and Solution
Learnify - Hand Mode Hover Functionality Issue Analysis and SolutionProblem DescriptionWhen users switch from the default Select tool to Hand Mode (pan tool), the following issues occur: Complete hover functionality failure: No visual feedback when hovering over mind map nodes Collapse buttons invisible: Expand/collapse buttons for mind map nodes cannot be displayed Cursor doesn't change: Cursor doesn't change to pointer when hovering over interactive elements Click operations f...


