Refactor _removeLastZone to avoid recreating entire editor
Simplified the _removeLastZone() function to be more efficient: Before: - Removed last zone from array - Destroyed and recreated entire editor interface (_cancelEditor + startEditor) - Recreated all remaining zones from scratch - Caused visual flicker and was inefficient - Could leave dangling event listeners After: - Remove last zone from zones array - Remove and destroy only the last zone actor - No need to update zone numbers (removing last zone doesn't affect other numbers) - No editor recreation needed Benefits: - No visual flicker - Much more efficient (O(1) instead of O(n)) - Cleaner code (15 lines vs 50+ lines) - No risk of dangling event listeners from recreation - Better user experience Fixes TODO item #2. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
12
TODO.md
12
TODO.md
@@ -11,13 +11,13 @@
|
||||
- [x] Save layouts when created in graphical editor
|
||||
- [x] Load layouts on extension initialization
|
||||
|
||||
### 2. Remove Last Zone Implementation (extension.js:236-274)
|
||||
### 2. Remove Last Zone Implementation ✅ COMPLETED
|
||||
**Priority: Medium**
|
||||
- [ ] `_removeLastZone()` destroys and recreates entire editor interface
|
||||
- [ ] Causes visual flicker
|
||||
- [ ] Inefficient approach
|
||||
- [ ] Could leave dangling event listeners
|
||||
- [ ] Refactor to only remove the last zone widget without recreating everything
|
||||
- [x] `_removeLastZone()` destroys and recreates entire editor interface
|
||||
- [x] Causes visual flicker
|
||||
- [x] Inefficient approach
|
||||
- [x] Could leave dangling event listeners
|
||||
- [x] Refactor to only remove the last zone widget without recreating everything
|
||||
|
||||
## Functionality Improvements
|
||||
|
||||
|
||||
Reference in New Issue
Block a user