Refactoring Phase 2: Vegetation & EzTree aus EditorApp extrahiert
- Neue Infrastruktur: ToolController, ToolRegistry, ToolContext (record)
- VegetationController: alle ~1000 Z. Vegetation-State + Panels ausgelagert
(Baum, Farn, Palme, Fruchtbusch, Weinpflanze, Trauerweide)
- EzTreeController: EzTree-State, Toolbar, Panel + buildLevelSection()
- UiHelper: shared static UI-Helpers (bold, sectionTitle, ezFloat, …)
- EditorApp: 14 222 → 13 187 Zeilen (-1035); switchToVegetationGenerator()
und switchToEzTree() delegieren an registry.activate()
- F5/F6: hybrides Routing – migrierte Tools über ToolController.onPreview()
/ onRandomSeed(), nicht-migrierte über bestehende Runnable-Felder
- AnimationTimer: treePreviewResized + treeGenStatusMsg → registry.onFrame()
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>