{"id":45709652,"url":"https://github.com/scawful/yaze","last_synced_at":"2026-02-25T02:10:36.452Z","repository":{"id":37247700,"uuid":"501491157","full_name":"scawful/yaze","owner":"scawful","description":"Yet Another Zelda3 Editor","archived":false,"fork":false,"pushed_at":"2026-02-14T08:58:44.000Z","size":20914,"stargazers_count":42,"open_issues_count":5,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-02-14T09:24:12.099Z","etag":null,"topics":["romhacking","zelda"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scawful.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2022-06-09T03:29:05.000Z","updated_at":"2026-02-14T08:58:48.000Z","dependencies_parsed_at":"2023-02-08T20:16:30.829Z","dependency_job_id":"989f59fb-1f3e-417e-9bcd-73f583058e24","html_url":"https://github.com/scawful/yaze","commit_stats":null,"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/scawful/yaze","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scawful%2Fyaze","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scawful%2Fyaze/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scawful%2Fyaze/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scawful%2Fyaze/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scawful","download_url":"https://codeload.github.com/scawful/yaze/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scawful%2Fyaze/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29809048,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T22:43:48.403Z","status":"online","status_checked_at":"2026-02-25T02:00:07.329Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["romhacking","zelda"],"created_at":"2026-02-25T02:10:33.103Z","updated_at":"2026-02-25T02:10:36.447Z","avatar_url":"https://github.com/scawful.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YAZE - Yet Another Zelda3 Editor\n\n[![CI](https://github.com/scawful/yaze/workflows/CI%2FCD%20Pipeline/badge.svg)](https://github.com/scawful/yaze/actions)\n[![License](https://img.shields.io/badge/license-GPLv3-blue.svg)](LICENSE)\n\nA ROM editor for The Legend of Zelda: A Link to the Past.\n\nBuilt in C++23 with ImGui, includes a built-in SNES emulator, the Asar 65816 assembler, and a CLI tool (`z3ed`) for scripted ROM operations. Runs on Windows, macOS, and Linux. There's also an experimental WASM build for browsers.\n\n## What It Does\n\n- **Overworld Editor** - Edit 160 overworld maps, tiles, entrances, exits\n- **Dungeon Editor** - Edit 296 dungeon rooms, objects, sprites, palettes\n- **Graphics Editor** - View and edit 223 graphics sheets, tilesets\n- **Palette Editor** - Modify color palettes with live preview\n- **Message Editor** - Edit in-game text and dialogue\n- **Sprite Editor** - View sprite graphics and animations\n- **Music Editor** - (Experimental) View and edit SPC700 music data\n- **Built-in Emulator** - Test changes without leaving the editor\n- **CLI (z3ed)** - Script ROM operations, integrate with AI agents (Ollama or cloud APIs)\n\n## Apps\n\n- **Desktop app (yaze)** - Full GUI editor + emulator. See `docs/public/build/quick-reference.md`.\n- **CLI (z3ed)** - Scriptable ROM editing and AI workflows. See `docs/public/usage/z3ed-cli.md`.\n- **Web/WASM preview** - Browser-based editor with a subset of features. See `docs/public/usage/web-app.md`.\n\n## What It Needs\n\n- A legally obtained ALttP ROM (US or JP)\n- CMake 3.25+, C++23 compiler (Clang 16+, GCC 13+, or MSVC 2022+)\n- For AI features: Ollama running locally or a cloud API key (Gemini/OpenAI/Anthropic)\n\n## Project Status\n\nv0.6.2 is the current release. See [`CHANGELOG.md`](CHANGELOG.md) for details.\n\n| Component | Status | Notes |\n|-----------|--------|-------|\n| Overworld Editor | Beta | 160 maps, undo/redo, copy/paste; tile16 palette issues, sprite workflow incomplete |\n| Dungeon Editor | Beta | 296 rooms, entity drag-drop, ROM safety; 12+ unknown object types, visual discrepancies |\n| Graphics Editor | Beta | Sheet editing, undo/redo |\n| Palette Editor | Beta | Live preview; JSON import/export not implemented |\n| Message Editor | Stable | Text editing, bundle import/export |\n| Assembly Editor | Beta | Symbol navigation, Asar integration; project file editor incomplete |\n| Sprite Editor | Beta | Viewing works, editing limited |\n| Music Editor | Beta | Playback and editing, no clipboard ops |\n| Screen Editor | WIP | Core operations unimplemented |\n| Memory Editor | WIP | Hex viewing only, search unimplemented |\n| Emulator | Beta | Functional, save-state UI incomplete |\n\nSee [`docs/public/reference/feature-coverage-report.md`](docs/public/reference/feature-coverage-report.md)\nfor cross-app status, persistence notes, and test coverage.\n\n## Quick Start\n\n```bash\n# Clone\ngit clone --recursive https://github.com/scawful/yaze.git\ncd yaze\n\n# Build (macOS, AI-enabled editor + CLI)\ncmake --preset mac-ai\ncmake --build build_ai --target yaze z3ed --parallel 8\n\n# Run\n./scripts/yaze zelda3.sfc\n```\n\n**Presets:** `mac-dbg`, `mac-rel`, `lin-dbg`, `lin-rel`, `win-dbg`, `win-rel`\n\nFor AI features, use `*-ai` presets (`mac-ai`, `win-ai`) which enable\nOllama/Gemini/OpenAI/Anthropic integration.\n\nSee [`docs/public/build/quick-reference.md`](docs/public/build/quick-reference.md) for full build instructions.\n\n## Usage\n\n```bash\n# GUI editor\n./scripts/yaze zelda3.sfc\n\n# CLI - ROM info\n./scripts/z3ed rom-info --rom=zelda3.sfc\n\n# CLI - List dungeon sprites\n./scripts/z3ed dungeon-list-sprites --room=1 --rom=zelda3.sfc\n\n# CLI - Interactive TUI\n./scripts/z3ed --tui\n\n# Web version (experimental)\n# https://scawful.github.io/yaze/\n```\n\n## Testing\n\n```bash\n# Fast local loop (quick labeled suites)\n./scripts/test_fast.sh --quick\n\n# Stable suites (label-filtered)\nctest --test-dir build_ai -C Debug -L unit\nctest --test-dir build_ai -C Debug -L integration\n\n# Preset-based runs (see CMakePresets.json testPresets)\nctest --preset mac-ai-unit\nctest --preset mac-ai-quick-unit\nctest --preset mac-ai-quick-integration\n```\n\nSome tests require a ROM. Set `YAZE_TEST_ROM_VANILLA` or\n`YAZE_TEST_ROM_VANILLA_PATH` (and optionally `YAZE_TEST_ROM_EXPANDED` or\n`YAZE_TEST_ROM_EXPANDED_PATH`).\n\nWeb app smoke checks: load `src/web/tests/wasm_debug_api_tests.js` in the\nbrowser console and run `await window.runWasmDebugApiTests()`.\n\n## Documentation\n\n- User docs: [`docs/public/`](docs/public/index.md)\n- Developer docs: [`docs/internal/`](docs/internal/README.md)\n- API reference: `doxygen Doxyfile` generates to `build/docs/`\n\n## Contributing\n\nSee [`CONTRIBUTING.md`](CONTRIBUTING.md). Discussion on [Oracle of Secrets Discord](https://discord.gg/MBFkMTPEmk).\n\n## License\n\nGPL v3. See [`LICENSE`](LICENSE).\n\n## Screenshots\n\n![Overworld Editor](https://github.com/scawful/yaze/assets/47263509/34b36666-cbea-420b-af90-626099470ae4)\n![Dungeon Editor](https://github.com/scawful/yaze/assets/47263509/d8f0039d-d2e4-47d7-b420-554b20ac626f)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscawful%2Fyaze","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscawful%2Fyaze","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscawful%2Fyaze/lists"}