backend-infra-engineer: finalize v0.5.0 branding

This commit is contained in:
scawful
2025-12-28 18:16:27 -06:00
parent 8b45b16431
commit 26b35642b4
5 changed files with 58 additions and 24 deletions

View File

@@ -20,7 +20,7 @@ elseif(DEFINED YAZE_VERSION_OVERRIDE)
set(YAZE_VERSION ${YAZE_VERSION_OVERRIDE}) set(YAZE_VERSION ${YAZE_VERSION_OVERRIDE})
else() else()
set(YAZE_VERSION "0.5.0") set(YAZE_VERSION "0.5.0")
set(YAZE_VERSION_SUFFIX "-alpha") set(YAZE_VERSION_SUFFIX "")
endif() endif()
if(APPLE) if(APPLE)

View File

@@ -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. - **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 ## 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 ## Quick Start

View File

@@ -1,5 +1,24 @@
# Changelog # 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) ## 0.4.1 (December 2025)
### Overworld Editor Fixes ### Overworld Editor Fixes

View File

@@ -1,27 +1,32 @@
# Release Notes # Release Notes
## v0.5.0-alpha (In Development) ## v0.5.0 (Released December 2025)
**Type:** Major Feature & Architecture Update **Type:** Platform Expansion & Stability
**Date:** TBD **Date:** 2025-12-28
### 🎵 New Music Editor ### 🧩 Graphics & Palette Accuracy
The highly anticipated SPC Music Editor is now available! - Fixed palette conversion and Tile16 tint regressions.
- **Tracker View:** Edit music patterns with a familiar tracker interface. - Corrected palette slicing for graphics sheets and indexed → SNES planar conversion.
- **Piano Roll:** Visualize and edit notes with velocity and duration control. - Stabilized overworld palette/tilemap saves and render service GameData loads.
- **Preview:** Real-time N-SPC audio preview with authentic ADSR envelopes.
- **Instruments:** Manage instruments and samples directly.
### 🕸️ Web App Improvements (WASM) ### 🧭 Editor UX & Reliability
- **Experimental Web Port:** Run YAZE directly in your browser. - Refined dashboard/editor selection layouts and card rendering.
- **UI Refresh:** New panelized layout with VSCode-style terminal and problems view. - Moved the layout designer into a lab target for safer experimentation.
- **Usability:** Improved error handling for missing features (Emulator). - Hardened room loading APIs and added room count reporting for C API consumers.
- **Security:** Hardened `SharedArrayBuffer` support with `coi-serviceworker`.
### 🏗️ Architecture & CI ### 🤖 Automation & AI
- **Windows CI:** Fixed environment setup for `clang-cl` builds (MSVC dev cmd). - Refactored gRPC agent services and editor wiring.
- **Code Quality:** Consolidated CI workflows. - Hardened CLI patch handling and tool output formatting.
- **SDL3 Prep:** Groundwork for the upcoming migration to SDL3.
### 📦 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.
--- ---

View File

@@ -657,6 +657,12 @@ void WelcomeScreen::DrawHeader() {
void WelcomeScreen::DrawQuickActions() { void WelcomeScreen::DrawQuickActions() {
ImGui::TextColored(kSpiritOrange, ICON_MD_BOLT " Quick Actions"); 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(); ImGui::Spacing();
float button_width = ImGui::GetContentRegionAvail().x; float button_width = ImGui::GetContentRegionAvail().x;
@@ -699,7 +705,8 @@ void WelcomeScreen::DrawQuickActions() {
// Handled by callback // Handled by callback
} }
if (ImGui::IsItemHovered()) { 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(); ImGui::Spacing();
@@ -710,7 +717,7 @@ void WelcomeScreen::DrawQuickActions() {
// Handled by callback // Handled by callback
} }
if (ImGui::IsItemHovered()) { 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(); ImGui::Spacing();
@@ -721,7 +728,8 @@ void WelcomeScreen::DrawQuickActions() {
// Handled by callback // Handled by callback
} }
if (ImGui::IsItemHovered()) { 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::SetCursorPosX(cursor.x);
ImGui::TextWrapped( 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(); ImGui::PopStyleColor();
return; return;
} }
@@ -1083,6 +1092,7 @@ void WelcomeScreen::DrawTipsSection() {
// Static tip (or could rotate based on session start time rather than // Static tip (or could rotate based on session start time rather than
// animation) // animation)
const char* tips[] = { const char* tips[] = {
"New here? Open a ROM first, then save a copy before editing",
"Press Ctrl+Shift+P to open the command palette", "Press Ctrl+Shift+P to open the command palette",
"Use z3ed agent for AI-powered ROM editing (Ctrl+Shift+A)", "Use z3ed agent for AI-powered ROM editing (Ctrl+Shift+A)",
"Enable ZSCustomOverworld in Debug menu for expanded features", "Enable ZSCustomOverworld in Debug menu for expanded features",