feat: Add Signal-Based How-To Guides (C3.10.1) - Complete C3.10
Final piece of Signal Flow Analysis - AI-generated tutorial guides: ## Signal-Based How-To Guides (C3.10.1) Completes the 5th and final proposed feature for C3.10. ### Implementation Added to SignalFlowAnalyzer class: - extract_signal_usage_patterns(): Identifies top 10 most-used signals - generate_how_to_guides(): Creates tutorial-style guides - _generate_signal_guide(): Builds structured guide for each signal ### Guide Structure (3-Step Pattern) Each guide includes: 1. **Step 1: Connect to the signal** - Code example with actual handler names from codebase - File context (which file to add connection in) 2. **Step 2: Emit the signal** - Code example with actual parameters from codebase - File context (where emission happens) 3. **Step 3: Handle the signal** - Function implementation template - Proper parameter handling 4. **Common Usage Locations** - Connected in: file.gd → handler() - Emitted from: file.gd ### Output Generates signal_how_to_guides.md with: - Table of Contents (10 signals) - Tutorial guide for each signal - Real code examples extracted from codebase - Actual file locations and handler names ### Test Results (Cosmic Ideler) Generated guides for 10 most-used signals: - camera_3d_resource_property_changed (most used) - changed - wait_started - dead_zone_changed - display_refresh_needed - pressed - pcam_priority_override - dead_zone_reached - noise_emitted - viewfinder_update File: signal_how_to_guides.md (6.1KB) ## C3.10 Status: 5/5 Features Complete ✅ 1. ✅ Signal Connection Mapping (634 connections tracked) 2. ✅ Event-Driven Architecture Detection (3 patterns) 3. ✅ Signal Flow Visualization (Mermaid diagrams) 4. ✅ Signal Documentation Extraction (docs in reference) 5. ✅ Signal-Based How-To Guides (10 tutorials) - NEW Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1180,7 +1180,7 @@ def analyze_codebase(
|
||||
logger.info("Analyzing signal flow patterns (Godot)...")
|
||||
try:
|
||||
signal_analyzer = SignalFlowAnalyzer(results)
|
||||
signal_output = signal_analyzer.save_analysis(output_dir)
|
||||
signal_output = signal_analyzer.save_analysis(output_dir, ai_mode)
|
||||
signal_analysis = signal_analyzer.analyze()
|
||||
|
||||
stats = signal_analysis["statistics"]
|
||||
|
||||
Reference in New Issue
Block a user