Commit c04d1b2
Epic: Next Feature Development - Build System and Documentation Improvements (#46)
* Refactor documentation structure with organized directories
- Restructured docs into logical categories: developer_guide, implementation, issues, project, reference, user_guide
- Updated README.md and prd.md with current project state
- Improved documentation organization for better navigation and maintenance
🤖 Generated with [Claude Code](https://claude.ai/code)
* Fix CommandHistory method call error in code editor
Replace incorrect 'push()' calls with 'execute_command()' in:
- CodeEditorDialog: Fix AttributeError when accepting code changes
- Test files: Update mock assertions to use correct method
Resolves error: 'CommandHistory' object has no attribute 'push'
🤖 Generated with [Claude Code](https://claude.ai/code)
* Fix connection deserialization for nodes with named output pins
Resolves issue where graphs using @outputs: docstring annotations failed
to execute due to ambiguous pin name resolution during connection creation.
Changes:
- Add get_pin_by_name_and_direction() method to Node class for precise pin lookup
- Update NodeGraph.deserialize() to use direction-aware pin resolution
- Ensure start pins are always output pins and end pins are input pins
- Maintain backward compatibility with existing graphs
This enables human-readable pin names from docstring @outputs: annotations
while preserving reliable connection resolution between nodes.
🤖 Generated with [Claude Code](https://claude.ai/code)
* Update password generator example with named output pins and enhanced pin display
- Add @outputs: docstring annotations to all functions in password generator example
- Remove UUID references from connections for cleaner human-readable format
- Update connection names to use semantic pin names instead of generic output_N
- Add pin type display functionality with settings-based visibility control
- Update GUI handler to use named output 'result' instead of 'output_1'
This demonstrates the working implementation of named output pins and provides
a cleaner, more maintainable graph format without embedded UUIDs.
🤖 Generated with [Claude Code](https://claude.ai/code)
* Add pin type visibility settings and named output examples
Settings Enhancement:
- Add checkbox in Settings dialog for toggling pin type display
- Implement refresh_pin_labels() to update all pins when settings change
- Save show_pin_types setting with default value true
Pin Display Updates:
- Pin labels can now show/hide type information (e.g., 'length (int)')
- Dynamic updates when user changes the setting via Settings dialog
- Maintains clean display option for users who prefer minimal UI
Example Files:
- Add named_output_example.md demonstrating @outputs: docstring usage
- Add named_output_test.md for testing named output functionality
- Provides reference implementations for future graph development
This completes the named output pins feature with full UI integration
and comprehensive examples for developers.
🤖 Generated with [Claude Code](https://claude.ai/code)
* Fix pin renaming to preserve connections when editing docstring outputs
Resolves issue where editing @outputs: names in entry point node docstrings
caused pins to disappear instead of being renamed with connections preserved.
Changes:
- Add rename_pin() method to update pin names while preserving connections
- Implement _update_data_pins() with position-based pin matching algorithm
- Replace naive pin removal/recreation with intelligent pin updates
- Preserve connections, pin types, and visual properties during renames
Pin Update Logic:
- Match pins by position/index rather than name for reliable updates
- Rename existing pins when docstring names change
- Add new pins only when count increases
- Remove pins only from the end when count decreases
- Maintain all existing connections and properties
This enables seamless editing of @outputs: annotations without losing
graph connectivity or requiring manual reconnection of pins.
🤖 Generated with [Claude Code](https://claude.ai/code)
* Fix pin type updates and label refresh when editing function signatures
Ensures that when pin types are changed in function annotations, both the
pin type property and visual labels are updated correctly.
Changes:
- Detect pin type changes during pin updates
- Update pin.pin_type when function signature types change
- Call update_label_text() to refresh visual display with new type
- Handle both name and type changes in the same update cycle
Test Results:
- Pin type changes: str->int, int->float, complex types (List, Dict) ✓
- Label updates: "Data (str)" -> "Data (int)" correctly ✓
- Connection preservation: Connections maintained through type changes ✓
- Input pin types: Function parameter type changes working ✓
This completes the pin editing experience - users can now edit both
@outputs: names and function signature types seamlessly with full
visual feedback and connection preservation.
🤖 Generated with [Claude Code](https://claude.ai/code)
* Update examples with named output pins and fix connection issues
- Add @outputs annotations to all example node functions for proper named pin support
- Fix connection pin names in weather_data_processor.md, nvidia_gpu_computer_vision_pipeline.md, and recipe_nutrition_calculator.md
- Update recipe_nutrition_calculator.md with complete GUI state handlers and example recipe
- Add file dialog folder memory functionality to remember last used directory
- Ensure proper data flow through all example pipelines with correct named pin connections
🤖 Generated with [Claude Code](https://claude.ai/code)
* Clean up examples directory by removing outdated example files
Remove example files that were not updated with named output pin support:
- Procedural_Sci-Fi_World_Generator.md
- data_analysis_dashboard.md
- file_organizer_automation.md
- interactive_game_engine.md
- named_output_example.md
- named_output_test.md
- password_generator_tool.md
- personal_finance_tracker.md
- social_media_scheduler.md
- text_processing_pipeline.md
Keeping core examples that have been updated with proper @outputs annotations:
- password_generator_tool_group.md
- weather_data_processor.md
- nvidia_gpu_computer_vision_pipeline.md
- recipe_nutrition_calculator.md
🤖 Generated with [Claude Code](https://claude.ai/code)
* Fix build script errors and organize builds into single directory
- Fix syntax errors in user prompts that caused batch script failures
- Remove interactive prompts to enable automated builds
- Organize all build artifacts into builds/ directory structure
- Fix PowerShell download command for Python runtime
- Update deprecated Nuitka console option to modern syntax
- Add python runtime validation to ensure Lib directory exists
- Remove manual exit prompt for automated workflow
- Add builds/ to .gitignore to prevent build artifact commits
🤖 Generated with [Claude Code](https://claude.ai/code)
---------
Co-authored-by: Bryan Howard <[email protected]>1 parent 3fbbd27 commit c04d1b2
File tree
65 files changed
+13889
-5055
lines changed- docs
- developer_guide
- implementation
- fixes
- migration_plans
- issues
- active
- project
- epics
- completed
- reference
- architecture
- specifications
- user_guide
- examples
- src
- core
- data
- ui
- dialogs
- editor
- tests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
65 files changed
+13889
-5055
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | | - | |
9 | | - | |
10 | | - | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
11 | 12 | | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
18 | 18 | | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
23 | 24 | | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
28 | 30 | | |
29 | | - | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
30 | 35 | | |
31 | | - | |
32 | | - | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
33 | 40 | | |
34 | | - | |
35 | | - | |
| 41 | + | |
36 | 42 | | |
37 | | - | |
38 | | - | |
| 43 | + | |
39 | 44 | | |
40 | | - | |
41 | | - | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
42 | 62 | | |
43 | 63 | | |
44 | 64 | | |
45 | 65 | | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
0 commit comments