From 26b35642b4c083b6a1c7df59f1215e1cb6a33296 Mon Sep 17 00:00:00 2001 From: scawful Date: Sun, 28 Dec 2025 18:16:27 -0600 Subject: [PATCH] backend-infra-engineer: finalize v0.5.0 branding --- CMakeLists.txt | 2 +- README.md | 2 +- docs/public/reference/changelog.md | 19 +++++++++++++ docs/public/release-notes.md | 41 ++++++++++++++++------------- src/app/editor/ui/welcome_screen.cc | 18 ++++++++++--- 5 files changed, 58 insertions(+), 24 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2c1bc45c..55ff9486 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,7 +20,7 @@ elseif(DEFINED YAZE_VERSION_OVERRIDE) set(YAZE_VERSION ${YAZE_VERSION_OVERRIDE}) else() set(YAZE_VERSION "0.5.0") - set(YAZE_VERSION_SUFFIX "-alpha") + set(YAZE_VERSION_SUFFIX "") endif() if(APPLE) diff --git a/README.md b/README.md index 2cdc179f..1ac1f0a2 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ A cross-platform Zelda 3 ROM editor with a modern C++ GUI, Asar 65816 assembler - **Modular AI stack**: Toggle agent UI (`YAZE_BUILD_AGENT_UI`), remote automation/gRPC (`YAZE_ENABLE_REMOTE_AUTOMATION`), and AI runtimes (`YAZE_ENABLE_AI_RUNTIME`) per preset. ## Project Status -`0.5.0-alpha` builds are in active development, focusing on the new Music Editor, Web Assembly port, and SDL3 migration. See [`docs/public/release-notes.md`](docs/public/release-notes.md) for details. +v0.5.0 is the current release. New to YAZE? Start with a clean, legally obtained ALttP (USA) ROM and the Quick Start steps below. See [`docs/public/release-notes.md`](docs/public/release-notes.md) for details. ## Quick Start diff --git a/docs/public/reference/changelog.md b/docs/public/reference/changelog.md index 95b7e834..bab72e18 100644 --- a/docs/public/reference/changelog.md +++ b/docs/public/reference/changelog.md @@ -1,5 +1,24 @@ # Changelog +## 0.5.0 (December 2025) + +### Graphics & Palette Reliability +- Fixed palette conversion and Tile16 tint regressions. +- Corrected palette slicing for graphics sheets and indexed β†’ SNES planar conversion. +- Stabilized overworld palette/tilemap saves and render service GameData loading. + +### Editor UX & Tools +- Refined dashboard/editor selection layouts and card text rendering. +- Moved layout designer into a lab target for safer experimentation. +- Hardened CLI/API room loading and Asar patch handling. + +### Platform, Build, and Tests +- Added iOS platform scaffolding (experimental) plus build helper scripts. +- Simplified nightly workflow, refreshed toolchain/dependency wiring, and standardized build dirs. +- Added role-based ROM selection/availability gating and stabilized rendering/benchmark tests. + +--- + ## 0.4.1 (December 2025) ### Overworld Editor Fixes diff --git a/docs/public/release-notes.md b/docs/public/release-notes.md index a6d186ce..7e8c032f 100644 --- a/docs/public/release-notes.md +++ b/docs/public/release-notes.md @@ -1,27 +1,32 @@ # Release Notes -## v0.5.0-alpha (In Development) +## v0.5.0 (Released December 2025) -**Type:** Major Feature & Architecture Update -**Date:** TBD +**Type:** Platform Expansion & Stability +**Date:** 2025-12-28 -### 🎡 New Music Editor -The highly anticipated SPC Music Editor is now available! -- **Tracker View:** Edit music patterns with a familiar tracker interface. -- **Piano Roll:** Visualize and edit notes with velocity and duration control. -- **Preview:** Real-time N-SPC audio preview with authentic ADSR envelopes. -- **Instruments:** Manage instruments and samples directly. +### 🧩 Graphics & Palette Accuracy +- Fixed palette conversion and Tile16 tint regressions. +- Corrected palette slicing for graphics sheets and indexed β†’ SNES planar conversion. +- Stabilized overworld palette/tilemap saves and render service GameData loads. -### πŸ•ΈοΈ Web App Improvements (WASM) -- **Experimental Web Port:** Run YAZE directly in your browser. -- **UI Refresh:** New panelized layout with VSCode-style terminal and problems view. -- **Usability:** Improved error handling for missing features (Emulator). -- **Security:** Hardened `SharedArrayBuffer` support with `coi-serviceworker`. +### 🧭 Editor UX & Reliability +- Refined dashboard/editor selection layouts and card rendering. +- Moved the layout designer into a lab target for safer experimentation. +- Hardened room loading APIs and added room count reporting for C API consumers. -### πŸ—οΈ Architecture & CI -- **Windows CI:** Fixed environment setup for `clang-cl` builds (MSVC dev cmd). -- **Code Quality:** Consolidated CI workflows. -- **SDL3 Prep:** Groundwork for the upcoming migration to SDL3. +### πŸ€– Automation & AI +- Refactored gRPC agent services and editor wiring. +- Hardened CLI patch handling and tool output formatting. + +### πŸ“¦ Platform & Build +- Added iOS platform scaffolding (experimental). +- Added build helper scripts and simplified nightly workflow. +- Refreshed toolchain/dependency wiring and standardized build directory policy. + +### πŸ§ͺ Testing +- Added role-based ROM selection and ROM-availability gating. +- Stabilized rendering/benchmark tests and aligned integration expectations. --- diff --git a/src/app/editor/ui/welcome_screen.cc b/src/app/editor/ui/welcome_screen.cc index 8a2a3076..90961a17 100644 --- a/src/app/editor/ui/welcome_screen.cc +++ b/src/app/editor/ui/welcome_screen.cc @@ -657,6 +657,12 @@ void WelcomeScreen::DrawHeader() { void WelcomeScreen::DrawQuickActions() { ImGui::TextColored(kSpiritOrange, ICON_MD_BOLT " Quick Actions"); + const ImVec4 text_secondary = gui::GetTextSecondaryVec4(); + ImGui::PushStyleColor(ImGuiCol_Text, text_secondary); + ImGui::TextWrapped( + "New here? Start with Open ROM or New Project. Use a clean, legally " + "obtained ALttP (USA) ROM to get going."); + ImGui::PopStyleColor(); ImGui::Spacing(); float button_width = ImGui::GetContentRegionAvail().x; @@ -699,7 +705,8 @@ void WelcomeScreen::DrawQuickActions() { // Handled by callback } if (ImGui::IsItemHovered()) { - ImGui::SetTooltip(ICON_MD_INFO " Open an existing ALTTP ROM file"); + ImGui::SetTooltip( + ICON_MD_INFO " Open a clean, legally obtained ALttP (USA) ROM file"); } ImGui::Spacing(); @@ -710,7 +717,7 @@ void WelcomeScreen::DrawQuickActions() { // Handled by callback } if (ImGui::IsItemHovered()) { - ImGui::SetTooltip(ICON_MD_INFO " Create a new ROM hacking project"); + ImGui::SetTooltip(ICON_MD_INFO " Create a new project from a ROM and template"); } ImGui::Spacing(); @@ -721,7 +728,8 @@ void WelcomeScreen::DrawQuickActions() { // Handled by callback } if (ImGui::IsItemHovered()) { - ImGui::SetTooltip(ICON_MD_INFO " Open AI Agent for natural language ROM editing"); + ImGui::SetTooltip( + ICON_MD_INFO " Ask the AI agent to guide edits in natural language"); } } @@ -742,7 +750,8 @@ void WelcomeScreen::DrawRecentProjects() { ImGui::SetCursorPosX(cursor.x); ImGui::TextWrapped( - "No recent projects yet.\nOpen a ROM to begin your adventure!"); + "No recent projects yet.\nOpen a ROM or start a new project to begin " + "your adventure!"); ImGui::PopStyleColor(); return; } @@ -1083,6 +1092,7 @@ void WelcomeScreen::DrawTipsSection() { // Static tip (or could rotate based on session start time rather than // animation) const char* tips[] = { + "New here? Open a ROM first, then save a copy before editing", "Press Ctrl+Shift+P to open the command palette", "Use z3ed agent for AI-powered ROM editing (Ctrl+Shift+A)", "Enable ZSCustomOverworld in Debug menu for expanded features",