- Added comprehensive sections on the E2E GUI testing framework in `A1-testing-guide.md`, detailing architecture, test writing, and execution. - Introduced a new document `E7-tile16-editor-palette-system.md` outlining the redesign and implementation of the Tile16 editor palette system, including problem analysis, solution architecture, and UI/UX refactoring. - Updated `E6-z3ed-cli-design.md` with recent refactoring improvements and code quality enhancements for the z3ed CLI tool. - Expanded the YAZE development tracker in `yaze.org` to reflect ongoing issues and features related to the Tile16 editor and E2E testing.
9.9 KiB
9.9 KiB
YAZE Development Tracker
- Active Issues
[0/6]- Overworld sprites can't be moved on the overworld canvas
- Canvas multi select has issues with large map intersection drawing
- Right click randomly shows oversized tile16
- Overworld Map properties panel popup displaying incorrectly
- Tile8 source canvas palette issues in Tile16 Editor
- Scratch space implementation incomplete
- Editors
- Infrastructure
[4/7] - Testing
[4/6] - CLI Tool (z3ed)
[8/12]- Resource-oriented command structure
- FTXUI TUI component system
- Code quality refactoring
- Interactive palette editor (TUI)
- Interactive hex viewer (TUI)
- Command palette (TUI)
- ROM validation commands
- Agent framework foundation
- Complete agent execution loop (MCP)
- Agent GUI control panel
- Granular data manipulation commands
- SpriteBuilder CLI
- Documentation
[3/5] - Research & Planning
[0/3] - Org-Mode Productivity Tips
Active Issues [0/6]
TODO [A] Overworld sprites can't be moved on the overworld canvas bug
- Issue: Sprites are not responding to drag operations
- Location: Overworld canvas interaction
- Impact: Blocks sprite editing workflow
TODO [A] Canvas multi select has issues with large map intersection drawing bug
- Issue: Selection box rendering incorrect when crossing 512px boundaries
- Location: Canvas selection system
- Note: E2E test exists to reproduce this bug (canvas_selection_test)
TODO [B] Right click randomly shows oversized tile16 bug ui
- Issue: Context menu displays abnormally large tile16 preview
- Location: Right-click context menu
- Frequency: Random/intermittent
TODO [B] Overworld Map properties panel popup displaying incorrectly ui
- Issue: Modal popup positioning or rendering issues
- Similar to: Canvas popup fixes (now resolved)
- Potential fix: Apply same solution as canvas popup refactoring
TODO [A] Tile8 source canvas palette issues in Tile16 Editor bug
- Issue: Tile8 source canvas (current area graphics) shows incorrect colors
- Impact: Cannot properly preview tiles before placing them
- Root cause: Area graphics not receiving proper palette application
- Related issue: Palette buttons (0-7) do not update palettes correctly
- Status: Active investigation - graphics buffer processing issue
TODO [C] Scratch space implementation incomplete feature
- Feature: Temporary workspace for tile/object manipulation
- Status: Partially implemented
- Priority: Low (quality of life feature)
Editors
Overworld [2/7]
DONE Custom Overworld Map Settings Inputs
CLOSED: [2024-11-14]
DONE Load ZSCOW data from ROM in OverworldMap
CLOSED: [2024-11-14]
TODO [A] ZSCustomOverworld Main Palette support feature
TODO [A] ZSCustomOverworld Custom Area BG Color support feature
TODO [B] Fix sprite icon draw positions bug
TODO [B] Fix exit icon draw positions bug
TODO [C] Overworld Map screen editor feature
Dungeon [0/2]
TODO [B] Draw dungeon objects feature
- See E5-dungeon-object-system.md for design
ACTIVE [A] Dungeon Maps screen editor feature
- Currently in active development
- Supporting bin graphics for Oracle of Secrets
Graphics [1/2]
ACTIVE [A] Tile16 Editor palette system feature ui
- Fix palette system crashes (SIGBUS errors)
- Three-column layout refactoring
- Dynamic zoom controls
- Canvas popup fixes
- Tile8 source canvas palette issues (incorrect colors)
- Palette button update functionality (not working)
- Color consistency between canvases
TODO [C] Fix graphics sheet pencil drawing bug
Message [0/1]
TODO [C] Fix Message Parsing bug
Palette [0/1]
TODO [B] Persist color changes for saving to ROM feature
Screens [2/5]
ACTIVE [A] Dungeon Maps feature
ACTIVE [B] Inventory Menu feature ui
TODO [C] Overworld Map screen feature
TODO [C] Title Screen editor feature ui
TODO [C] Naming Screen editor feature ui
Infrastructure [4/7]
DONE Package layout files with executable
CLOSED: [2024-09-07]
DONE Create util for bundled resource handling
CLOSED: [2024-09-07]
DONE DisplayPalette function extraction
CLOSED: [2024-09-02]
DONE Header cleanup with LSP
CLOSED: [2024-09-07]
TODO [B] Update recent files manager for bundled apps refactor
TODO [C] Make font sizes configurable feature ui
TODO [C] Cross-platform font/asset loading refactor
Testing [4/6]
DONE [A] E2E testing framework infrastructure
CLOSED: [2025-01-31]
DONE [A] Canvas selection E2E test
CLOSED: [2025-01-31]
DONE [A] Stable test suite (CI/CD)
CLOSED: [2024-11-14]
DONE [B] ROM-dependent test separation
CLOSED: [2024-11-14]
TODO [B] Expand E2E test coverage feature
TODO [C] E2E CI/CD integration with headless mode feature
CLI Tool (z3ed) [8/12]
DONE [A] Resource-oriented command structure
CLOSED: [2025-01-31]
DONE [A] FTXUI TUI component system
CLOSED: [2025-01-31]
DONE [A] Code quality refactoring
CLOSED: [2025-01-31]
DONE [A] Interactive palette editor (TUI)
CLOSED: [2025-01-31]
DONE [A] Interactive hex viewer (TUI)
CLOSED: [2025-01-31]
DONE [A] Command palette (TUI)
CLOSED: [2025-01-31]
DONE [B] ROM validation commands
CLOSED: [2025-01-31]
DONE [B] Agent framework foundation
CLOSED: [2025-01-31]
TODO [A] Complete agent execution loop (MCP) feature
TODO [B] Agent GUI control panel feature ui
TODO [B] Granular data manipulation commands feature
TODO [C] SpriteBuilder CLI feature
Documentation [3/5]
DONE [A] Consolidate tile16 editor documentation
CLOSED: [2025-01-31]
DONE [A] Merge E2E testing documentation
CLOSED: [2025-01-31]
DONE [A] Merge z3ed refactoring documentation
CLOSED: [2025-01-31]
TODO [B] API documentation generation docs
TODO [C] User guide for ROM hackers docs
Research & Planning [0/3]
TODO [B] Advanced canvas rendering optimizations performance
TODO [B] Oracle of Secrets dungeon support feature
TODO [C] Plugin system architecture feature
Org-Mode Productivity Tips
Quick Capture Templates
Add to your Emacs config:
(setq org-capture-templates
'(("t" "TODO" entry (file+headline "~/Code/yaze/docs/yaze.org" "Active Issues")
"** TODO [#B] %?\n:PROPERTIES:\n:CREATED: %U\n:END:\n")
("b" "Bug" entry (file+headline "~/Code/yaze/docs/yaze.org" "Active Issues")
"** TODO [#A] %? :bug:\n:PROPERTIES:\n:CREATED: %U\n:END:\n")
("f" "Feature" entry (file+headline "~/Code/yaze/docs/yaze.org" "Active Issues")
"** TODO [#B] %? :feature:\n:PROPERTIES:\n:CREATED: %U\n:END:\n")))
Useful Commands
C-c C-t: Cycle TODO stateC-c C-q: Add tagsC-c ,: Set priorityC-c C-x C-s: Archive DONE itemsC-c C-v: View agendaC-c a t: Global TODO listC-c a m: Match tags/properties
Agenda Configuration
(setq org-agenda-files '("~/Code/yaze/docs/yaze.org"))
(setq org-agenda-custom-commands
'(("y" "YAZE Active Tasks"
((tags-todo "bug"
((org-agenda-overriding-header "Active Bugs")))
(tags-todo "feature"
((org-agenda-overriding-header "Features in Development")))
(todo "ACTIVE"
((org-agenda-overriding-header "Currently Working On")))))))
Workflow Tips
- Use
C-c C-con headlines to update statistics cookies [/] and [%] - Create custom views with
org-agenda-custom-commands - Use
org-refile(C-c C-w) to reorganize tasks - Archive completed tasks regularly
- Use
org-sparse-tree(C-c /) to filter by TODO state or tags - Link to documentation:
[[file:E7-tile16-editor-palette-system.md]] - Track time with
C-c C-x C-i(clock in) andC-c C-x C-o(clock out)