Files
yaze/docs/yaze.org
scawful 508c5402ed Enhance documentation for E2E GUI testing framework and Tile16 editor palette system
- 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.
2025-10-01 09:23:59 -04:00

9.9 KiB

YAZE Development Tracker

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 state
  • C-c C-q : Add tags
  • C-c , : Set priority
  • C-c C-x C-s : Archive DONE items
  • C-c C-v : View agenda
  • C-c a t : Global TODO list
  • C-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

  1. Use C-c C-c on headlines to update statistics cookies [/] and [%]
  2. Create custom views with org-agenda-custom-commands
  3. Use org-refile (C-c C-w) to reorganize tasks
  4. Archive completed tasks regularly
  5. Use org-sparse-tree (C-c /) to filter by TODO state or tags
  6. Link to documentation: [[file:E7-tile16-editor-palette-system.md]]
  7. Track time with C-c C-x C-i (clock in) and C-c C-x C-o (clock out)