From 79178d2c0d5576aaa4fcfe2d036690f83c4de5c1 Mon Sep 17 00:00:00 2001 From: John McCardle Date: Sat, 7 Feb 2026 23:01:27 +0000 Subject: [PATCH] Update "Development-Workflow.-" --- ...t-Workflow.md => Development-Workflow.-.md | 249 +++++++++--------- 1 file changed, 129 insertions(+), 120 deletions(-) rename Development-Workflow.md => Development-Workflow.-.md (84%) diff --git a/Development-Workflow.md b/Development-Workflow.-.md similarity index 84% rename from Development-Workflow.md rename to Development-Workflow.-.md index 6ae8f8d..3468aac 100644 --- a/Development-Workflow.md +++ b/Development-Workflow.-.md @@ -1,120 +1,129 @@ -# Development Workflow - -This page defines how to use the wiki during feature development, bug fixes, and demo creation. Following this workflow keeps documentation synchronized with the codebase. - ---- - -## Wiki Consultation Table - -Before starting a task, consult the relevant wiki pages: - -| Task Type | Read First | Update After | -|-----------|------------|--------------| -| **UI widget work** (buttons, dialogs, HUD) | [[UI-Widget-Patterns]], [[UI-Component-Hierarchy]] | UI-Widget-Patterns if new pattern | -| **Grid/layer work** (rendering, layers, chunks) | [[Grid-System]], [[Grid-Rendering-Pipeline]] | Grid-Rendering-Pipeline if behavior changes | -| **Entity behavior** (AI, movement, pathfinding) | [[Entity-Management]], [[Grid-Interaction-Patterns]] | Entity-Management if API changes | -| **Mouse/keyboard interaction** | [[Input-and-Events]], then relevant pattern page | Input-and-Events if new event types | -| **Grid mouse interaction** (cell clicks, selection) | [[Grid-Interaction-Patterns]], [[Input-and-Events]] | Grid-Interaction-Patterns if new pattern | -| **Performance work** (optimization, profiling) | [[Performance-and-Profiling]] | Performance-and-Profiling with results | -| **Python binding changes** | [[UI-Component-Hierarchy]], [[Python-Binding-Layer]] | Both if signatures change | -| **Animation work** | [[Animation-System]] | Animation-System if new easing/features | -| **Demo creation** | Relevant pattern page + component page | Pattern page if demo reveals new technique | -| **New UIDrawable type** | [[UI-Component-Hierarchy]], [[Adding-Python-Bindings]] | UI-Component-Hierarchy to add new type | - ---- - -## Workflow Steps - -### 1. READ (Before Starting) - -- Open relevant wiki page(s) from the table above -- Note current documented behavior and API -- Check "Related Issues" section for context -- Understand existing patterns before inventing new ones - -### 2. WORK (During Development) - -Keep mental or written notes on: -- Discrepancies: "Wiki says X but code does Y" -- Gaps: "I needed to know Z but it wasn't documented" -- Discoveries: "This technique isn't in the patterns page" - -### 3. REFLECT (Before Commit) - -Ask yourself: -- Does the wiki accurately describe the new/changed behavior? -- Did I discover something that should be documented? -- Did I invalidate any documented information? -- Are there new patterns worth capturing? - -### 4. COMMIT (Push Code) - -- Reference issue numbers in commit messages (`closes #X`, `addresses #Y`) -- Granular commits preferred (one concern per commit) - -### 5. UPDATE (After Code Merged) - -With appropriate permissions: -- Fix any inaccuracies found during step 2 -- Add new patterns/techniques discovered -- Update issue references (mark closed issues) -- Update "Last updated" date at bottom of page - ---- - -## What Belongs Where - -| Content Type | Destination Page | -|--------------|------------------| -| Class properties, methods, signatures | Component pages ([[UI-Component-Hierarchy]], [[Grid-System]], [[Entity-Management]]) | -| "How to build X" with code examples | Pattern pages ([[UI-Widget-Patterns]], [[Grid-Interaction-Patterns]]) | -| Event handler signatures and dispatch | [[Input-and-Events]] | -| Performance metrics and optimization | [[Performance-and-Profiling]] | -| Architecture and design decisions | Relevant system page | -| Migration from old API | System page, in dedicated "Migration" section | -| C++ implementation details | System page, with file references | - ---- - -## Page Structure Conventions - -Each wiki page should include: - -**Header sections:** -- Quick Reference (related issues, key files) -- Related Pages links - -**Body:** -- Conceptual overview first -- API reference tables -- Code examples (focused snippets) -- Common patterns or techniques - -**Footer:** -- Related Systems links -- Last updated date - ---- - -## For Claude Code Sessions - -When working with Claude Code: - -1. Claude should read relevant wiki pages before implementing features -2. Claude should note documentation gaps during work -3. After committing code, Claude should propose wiki updates -4. User approves wiki changes before Claude pushes them - -This keeps documentation current without requiring separate documentation passes. - ---- - -## Related Pages - -- [[Home]] - Wiki index -- [[Contributing]] - Code contribution guidelines -- [[Writing-Tests]] - Test-driven development workflow - ---- - -*Last updated: 2025-11-29* \ No newline at end of file +# Development Workflow + +This page defines how to use the wiki during feature development, bug fixes, and demo creation. Following this workflow keeps documentation synchronized with the codebase. + +--- + +## Wiki Consultation Table + +Before starting a task, consult the relevant wiki pages: + +| Task Type | Read First | Update After | +|-----------|------------|--------------| +| **UI widget work** (buttons, dialogs, HUD) | [[UI-Widget-Patterns]], [[UI-Component-Hierarchy]] | UI-Widget-Patterns if new pattern | +| **Grid/layer work** (rendering, layers, chunks) | [[Grid-System]], [[Grid-Rendering-Pipeline]] | Grid-Rendering-Pipeline if behavior changes | +| **Entity behavior** (AI, movement, pathfinding) | [[Entity-Management]], [[Grid-Interaction-Patterns]] | Entity-Management if API changes | +| **Mouse/keyboard interaction** | [[Input-and-Events]], then relevant pattern page | Input-and-Events if new event types | +| **Grid mouse interaction** (cell clicks, selection) | [[Grid-Interaction-Patterns]], [[Input-and-Events]] | Grid-Interaction-Patterns if new pattern | +| **Performance work** (optimization, profiling) | [[Performance-and-Profiling]] | Performance-and-Profiling with results | +| **Python binding changes** | [[UI-Component-Hierarchy]], [[Python-Binding-Layer]] | Both if signatures change | +| **Animation work** | [[Animation-System]] | Animation-System if new easing/features | +| **Demo creation** | Relevant pattern page + component page | Pattern page if demo reveals new technique | +| **New UIDrawable type** | [[UI-Component-Hierarchy]], [[Adding-Python-Bindings]] | UI-Component-Hierarchy to add new type | +| **Procedural generation** (BSP, heightmaps, noise) | [[Procedural-Generation]] | Procedural-Generation if new technique | +| **Tiled/LDtk import** (tileset, wang, rules) | [[Grid-Rendering-Pipeline]], [[Procedural-Generation]] | Relevant page if import pipeline changes | +| **3D/Voxel work** | (no wiki page yet) | Create wiki page if significant | +| **WASM/Emscripten work** | (no wiki page yet) | Create wiki page if significant | +| **Headless mode / testing** | [[Headless-Mode]], [[Writing-Tests]] | Relevant page | + +--- + +## Workflow Steps + +### 1. READ (Before Starting) + +- Open relevant wiki page(s) from the table above +- Note current documented behavior and API +- Check "Related Issues" section for context +- Understand existing patterns before inventing new ones + +### 2. WORK (During Development) + +Keep mental or written notes on: +- Discrepancies: "Wiki says X but code does Y" +- Gaps: "I needed to know Z but it wasn't documented" +- Discoveries: "This technique isn't in the patterns page" + +### 3. REFLECT (Before Commit) + +Ask yourself: +- Does the wiki accurately describe the new/changed behavior? +- Did I discover something that should be documented? +- Did I invalidate any documented information? +- Are there new patterns worth capturing? + +### 4. COMMIT (Push Code) + +- Reference issue numbers in commit messages (`closes #X`, `addresses #Y`) +- Granular commits preferred (one concern per commit) + +### 5. UPDATE (After Code Merged) + +With appropriate permissions: +- Fix any inaccuracies found during step 2 +- Add new patterns/techniques discovered +- Update issue references (mark closed issues) +- Update "Last updated" date at bottom of page + +--- + +## What Belongs Where + +| Content Type | Destination Page | +|--------------|------------------| +| Class properties, methods, signatures | Component pages ([[UI-Component-Hierarchy]], [[Grid-System]], [[Entity-Management]]) | +| "How to build X" with code examples | Pattern pages ([[UI-Widget-Patterns]], [[Grid-Interaction-Patterns]]) | +| Event handler signatures and dispatch | [[Input-and-Events]] | +| Performance metrics and optimization | [[Performance-and-Profiling]] | +| Architecture and design decisions | Relevant system page | +| Migration from old API | System page, in dedicated "Migration" section | +| C++ implementation details | System page, with file references | +| Procgen patterns and techniques | [[Procedural-Generation]] | +| Grid layer rendering pipeline | [[Grid-Rendering-Pipeline]] | +| TCOD integration (FOV, pathfinding) | [[Grid-TCOD-Integration]] | + +--- + +## Page Structure Conventions + +Each wiki page should include: + +**Header sections:** +- Quick Reference (related issues, key files) +- Related Pages links + +**Body:** +- Conceptual overview first +- API reference tables +- Code examples (focused snippets) +- Common patterns or techniques + +**Footer:** +- Related Systems links +- Last updated date + +--- + +## For Claude Code Sessions + +When working with Claude Code: + +1. Claude should read relevant wiki pages before implementing features +2. Claude should note documentation gaps during work +3. After committing code, Claude should propose wiki updates +4. User approves wiki changes before Claude pushes them + +This keeps documentation current without requiring separate documentation passes. + +--- + +## Related Pages + +- [[Home]] - Wiki index +- [[Writing-Tests]] - Test-driven development workflow + +For contribution guidelines, see `CLAUDE.md` in the repository root. + +--- + +*Last updated: 2026-02-07* \ No newline at end of file