Remove ImGui Widget Testing Guide and update documentation structure

- Deleted the ImGui Widget Testing Guide as it is no longer needed.
- Updated the main documentation index to reflect the new Dungeon Editor Guide location.
- Revised z3ed README to clarify core capabilities and quick start instructions.
- Removed the developer guide for z3ed as its content is now integrated into other documentation.
- Enhanced the architecture section to provide a clearer overview of the z3ed system components.
- Updated command references and added details on agent commands and workflows.
This commit is contained in:
scawful
2025-10-04 13:47:41 -04:00
parent 20a406892c
commit 2ac363918e
13 changed files with 134 additions and 2530 deletions

View File

@@ -160,8 +160,6 @@ TEST(CpuTest, InstructionExecution) {
## E2E GUI Testing Framework
### Overview
An agent-friendly, end-to-end testing framework built on `ImGuiTestEngine` to automate UI interaction testing for the YAZE editor.
### Architecture
@@ -204,14 +202,6 @@ void RegisterCanvasSelectionTest() {
}
```
### Helper Functions
**test/test_utils.h** provides high-level wrappers:
- `LoadRomInTest(ctx, rom_path)` - Load ROM file in test context
- `OpenEditorInTest(ctx, editor_name)` - Open specific editor
- `VerifyTileData(ctx, expected)` - Assert tile data correctness
- `WaitForRender(ctx)` - Wait for rendering to complete
### Running GUI Tests
```bash
@@ -224,47 +214,3 @@ z3ed test-gui --rom zelda3.sfc --test canvas_selection
# Run in headless mode (CI)
z3ed test-gui --rom zelda3.sfc --test all --headless
```
### Test Categories for E2E
- **Smoke Tests**: Basic functionality verification (window opens, ROM loads)
- **Canvas Tests**: Drawing, selection, copy/paste operations
- **Editor Tests**: Specific editor workflows (Overworld, Dungeon, Graphics)
- **Integration Tests**: Multi-editor workflows and data persistence
### Development Status
-**Phase 1**: Core infrastructure & test execution flow
-**Phase 2**: Agent-friendly test definition & interaction
-**Phase 3**: Initial test case - Canvas rectangle selection
-**Phase 4**: Build and verify infrastructure
-**Phase 5**: Expand test coverage and fix identified bugs
-**Phase 6**: CI/CD integration with headless mode
### Best Practices
1. **Keep tests deterministic** - Use fixed delays and wait for specific states
2. **Use high-level helpers** - Abstract ImGuiTestEngine complexity
3. **Test user workflows** - Focus on real user interactions, not internal state
4. **Verify visually** - Check rendered output, not just data structures
5. **Clean up state** - Reset between tests to prevent interference
## Performance and Maintenance
### Regular Review
- **Monthly review** of experimental test failures
- **Promote stable experimental tests** to stable category
- **Deprecate obsolete tests** that no longer provide value
- **Update test categorization** as features mature
### Performance Monitoring
- **Track test execution times** for CI efficiency
- **Identify slow tests** for optimization or recategorization
- **Monitor CI resource usage** and adjust parallelism
- **Benchmark critical path tests** for performance regression
### E2E Test Maintenance
- **Update test helpers** as UI components change
- **Maintain test ROM files** for consistent test data
- **Review failed tests** for UI changes vs. actual bugs
- **Expand coverage** for new features and bug fixes