Skip to content

Commit e25e89a

Browse files
feat: Implement ring-buffer logging with categories, enhance render worker with cancellation and crash resistance, and add new PLAY, WAIT, and VGROUP node types with UI badges + bump up version
1 parent 120c252 commit e25e89a

19 files changed

Lines changed: 9113 additions & 8687 deletions

app/extension_mcp.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ def get_extension_info(self, author: str, repo: str) -> Dict:
103103
"permissions": [...],
104104
"dependencies": [...],
105105
"verified": true,
106-
"engine_version": ">=2.0.3",
106+
"engine_version": ">=2.0.4",
107107
"changelog": "...",
108108
"screenshots": [...]
109109
}

app/sdk_generator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"author": "{author}",
1414
"version": "0.1.0",
1515
"description": "A deterministic extension for EfficientManim",
16-
"engine_version": ">=2.0.3",
16+
"engine_version": ">=2.0.4",
1717
"permissions": ["register_nodes", "register_ui_panel"],
1818
"dependencies": [],
1919
"entry_file": "lib.py",

core/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
- MCP agent
1010
"""
1111

12-
__version__ = "2.0.3"
12+
__version__ = "2.0.4"
1313
# Initialize built-in extensions with pre-approved permissions
1414
try:
1515
from . import bootstrap

core/extension_mcp.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ def get_extension_info(self, author: str, repo: str) -> Dict:
103103
"permissions": [...],
104104
"dependencies": [...],
105105
"verified": true,
106-
"engine_version": ">=2.0.3",
106+
"engine_version": ">=2.0.4",
107107
"changelog": "...",
108108
"screenshots": [...]
109109
}

core/sdk_generator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"author": "{author}",
2424
"version": "0.1.0",
2525
"description": "A deterministic extension for EfficientManim",
26-
"engine_version": ">=2.0.3",
26+
"engine_version": ">=2.0.4",
2727
"permissions": [
2828
"register_nodes",
2929
"register_timeline_track"

docs/ARCHITECTURE.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# EfficientManim v2.0.3 — NEW ARCHITECTURE
1+
# EfficientManim v2.0.4 — NEW ARCHITECTURE
22

33
## System Law Enforcement: From Anarchy to Governance
44

55
---
66

77
## 1. KEYBINDING SYSTEM ARCHITECTURE
88

9-
### The Problem (v2.0.3)
9+
### The Problem (v2.0.4)
1010

1111
**Two competing registries with no synchronization:**
1212

@@ -39,7 +39,7 @@ Result: User edits shortcuts → changes disappear on restart
3939
or never apply to actual menus/canvas actions
4040
```
4141

42-
### The Solution (v2.0.3)
42+
### The Solution (v2.0.4)
4343

4444
**Single source of truth with cascading updates:**
4545

@@ -387,7 +387,7 @@ except ImportError:
387387
1. Auto-create missing config: `mkdir -p ~/.efficientmanim/`
388388
2. Reset keybindings: `rm ~/.efficientmanim/keybindings.json`
389389
3. Restore from backup
390-
4. Rollback to v2.0.3
390+
4. Rollback to v2.0.4
391391

392392
---
393393

@@ -441,7 +441,7 @@ except ImportError:
441441

442442
---
443443

444-
## 10. MIGRATION FROM v2.0.3
444+
## 10. MIGRATION FROM v2.0.4
445445

446446
### For End Users
447447
1. Keybindings automatically migrated from old system

docs/CHANGES.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
---
44

5-
## v2.0.3 — Structural Cleanup & Rendering Integrity Update
5+
## v2.0.4 — Structural Cleanup & Rendering Integrity Update
66

77
**Date:** February 28, 2026
88

@@ -99,7 +99,7 @@ All built-in snippet templates updated:
9999

100100
---
101101

102-
## v2.0.3 — Major Feature Release
102+
## v2.0.4 — Major Feature Release
103103

104104
Initial production release including:
105105

docs/COMPLETE_STRUCTURAL_CORRECTION.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 🔥 EFFICIENTMANIM v2.0.3 — COMPLETE STRUCTURAL CORRECTION
1+
# 🔥 EFFICIENTMANIM v2.0.4 — COMPLETE STRUCTURAL CORRECTION
22

33
**Status**: ✅ PRODUCTION COMPLETE
44
**Compliance**: 100% SPECIFICATION
@@ -11,7 +11,7 @@
1111

1212
You requested complete implementation of dual-screen system and timeline engine due to incomplete previous implementation. This has been delivered in full.
1313

14-
### What Was Wrong (v2.0.3)
14+
### What Was Wrong (v2.0.4)
1515
- ❌ Screen system not stateful
1616
- ❌ Timeline partially designed, not fully specified
1717
- ❌ Timing logic still partially UI-driven
@@ -21,7 +21,7 @@ You requested complete implementation of dual-screen system and timeline engine
2121
- ❌ Asset management via MCP not complete
2222
- ❌ Layout persistence not implemented
2323

24-
### What's Fixed (v2.0.3)
24+
### What's Fixed (v2.0.4)
2525
- ✅ Screen manager with persistent instances (zero recreation)
2626
- ✅ Complete timeline specification with multi-track architecture
2727
- ✅ Timing resolver as single authoritative source
@@ -438,7 +438,7 @@ agent.execute("get_asset", {"asset_id": "..."})
438438

439439
## 📥 WHAT YOU'RE GETTING
440440

441-
### Code Package (v2.0.3)
441+
### Code Package (v2.0.4)
442442
- ✅ screen_manager.py — Stateful dual-screen system
443443
- ✅ timing_resolver.py — Deterministic timing authority
444444
- ✅ layout_persistence.py — Complete state preservation
@@ -464,8 +464,8 @@ agent.execute("get_asset", {"asset_id": "..."})
464464
### Quick Start
465465
```bash
466466
# 1. Extract
467-
unzip EfficientManim-v2.0.3-complete.zip
468-
cd EfficientManim-v2.0.3-stabilized
467+
unzip EfficientManim-v2.0.4-complete.zip
468+
cd EfficientManim-v2.0.4-stabilized
469469

470470
# 2. Review integration guide
471471
less INTEGRATION_GUIDE.md
@@ -526,5 +526,5 @@ This delivery provides:
526526

527527
**End of Corrective Implementation**
528528

529-
*EfficientManim v2.0.3 — Production Structural Correction Complete*
529+
*EfficientManim v2.0.4 — Production Structural Correction Complete*
530530

docs/DELIVERY_SUMMARY.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 🏆 EFFICIENTMANIM v2.0.3 — PRODUCTION DELIVERY
1+
# 🏆 EFFICIENTMANIM v2.0.4 — PRODUCTION DELIVERY
22

33
## ✅ PHASE 1: SYSTEM AUDIT — COMPLETE
44

@@ -26,15 +26,15 @@
2626

2727
### Critical Problem Fixed
2828

29-
**Before (v2.0.3)**: Two competing keybinding systems with NO synchronization
29+
**Before (v2.0.4)**: Two competing keybinding systems with NO synchronization
3030
```
3131
KeyboardShortcuts class ≠ KeybindingsPanel class ≠ QActions (in main window)
3232
User changes → Lost on restart or never apply to UI
3333
Missing "Render Video" action entirely
3434
Changes don't rebind without app restart
3535
```
3636

37-
**After (v2.0.3)**: Single source of truth with guaranteed synchronization
37+
**After (v2.0.4)**: Single source of truth with guaranteed synchronization
3838
```
3939
KeybindingRegistry (authority) ← → Persistent JSON storage
4040
@@ -175,7 +175,7 @@ Not yet implemented (as documented in audit):
175175
### Included in ZIP File
176176

177177
```
178-
EfficientManim-v2.0.3-stabilized/
178+
EfficientManim-v2.0.4-stabilized/
179179
├── CORE APPLICATION FILES
180180
│ ├── main.py [UPDATED] ...................... 8,503 lines (keybindings unified)
181181
│ ├── home.py ............................... 405 lines (unchanged)
@@ -222,8 +222,8 @@ EfficientManim-v2.0.3-stabilized/
222222

223223
```bash
224224
# 1. Extract
225-
unzip EfficientManim-v2.0.3-stabilized.zip
226-
cd EfficientManim-v2.0.3-stabilized
225+
unzip EfficientManim-v2.0.4-stabilized.zip
226+
cd EfficientManim-v2.0.4-stabilized
227227

228228
# 2. Install dependencies
229229
pip install -r requirements.txt
@@ -263,7 +263,7 @@ See **README_IMPROVEMENTS.md** in the ZIP file for:
263263

264264
---
265265

266-
## 🔍 WHAT'S NEW (v2.0.3 vs v2.0.3)
266+
## 🔍 WHAT'S NEW (v2.0.4 vs v2.0.4)
267267

268268
### Breaking Changes
269269
**NONE** — 100% backward compatible
@@ -289,13 +289,13 @@ See **README_IMPROVEMENTS.md** in the ZIP file for:
289289

290290
## 📊 CODE QUALITY METRICS
291291

292-
**Before (v2.0.3)**:
292+
**Before (v2.0.4)**:
293293
- Lines of dead code: 144 (KeyboardShortcuts + KeybindingsPanel)
294294
- Duplicate registries: 2 (competing systems)
295295
- Data sync failures: 100% (no sync between systems)
296296
- Governance violations: 5 (identified in audit)
297297

298-
**After (v2.0.3)**:
298+
**After (v2.0.4)**:
299299
- Lines of dead code: 0 (all removed)
300300
- Duplicate registries: 0 (unified into one)
301301
- Data sync failures: 0% (single source of truth)
@@ -418,7 +418,7 @@ EfficientManim is now a **serious, production-grade tool** with:
418418

419419
---
420420

421-
**Version**: 2.0.3
421+
**Version**: 2.0.4
422422
**Release Date**: 2025-02-28
423423
**Status**: ✅ Production Ready
424424
**Risk Level**: LOW

docs/EXECUTION_SUMMARY.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
## 📦 DELIVERABLES
4141

4242
### 1. Fixed & Stabilized Codebase ✅
43-
**File**: `EfficientManim-v2.0.3-stabilized.zip` (471 KB)
43+
**File**: `EfficientManim-v2.0.4-stabilized.zip` (471 KB)
4444

4545
**Contents**:
4646
- main.py (8503 lines) — Refactored, keybindings integrated, Render Video action added
@@ -166,7 +166,7 @@
166166
## 🚀 DEPLOYMENT
167167

168168
### How to Use
169-
1. Extract ZIP file: `unzip EfficientManim-v2.0.3-stabilized.zip`
169+
1. Extract ZIP file: `unzip EfficientManim-v2.0.4-stabilized.zip`
170170
2. Install dependencies: `pip install -r requirements.txt`
171171
3. Launch: `python main.py`
172172
4. Test: Press Ctrl+K to open new unified keybindings panel
@@ -312,4 +312,4 @@ EfficientManim has undergone **production-grade architectural stabilization**. T
312312

313313
**End of Execution Summary**
314314

315-
*Version 2.0.3 | Released 2025-02-28 | Production Ready*
315+
*Version 2.0.4 | Released 2025-02-28 | Production Ready*

0 commit comments

Comments
 (0)