docs: record game audio client main integration

This commit is contained in:
2026-09-21 16:38:54 +08:00
parent 1841bafb18
commit e3a480964d
5 changed files with 87 additions and 7 deletions

View File

@@ -4,6 +4,18 @@ This file is the integrated default-branch snapshot. Feature tasks record progre
## Integrated Through
- 2026-09-21:任务 `20260921-integrate-game-audio-client-a6c8f241` 集成 Game Audio
产品源 `09e0ce5cf3d113b3bb7b128b2b04bc355d16173b` 与证据 HEAD
`938c4b1ed306fa7a45241534cd44817c775cca13`,保留 `b5907e8` 主线的模型切换及项目重开修复。
唯一冲突是 first-chat E2E 辅助函数参数,保留两边语义;无产品代码冲突。
新官方游戏音频插件随客户端 2.0.1 内置、按项目开通:一次确认后 Main 内部等待并自动保存全部输出,
对话中按需点击试听本地文件、不自动播放;恢复与下载重试不再次生成或收费。
合并后 123 项相关单测、类型检查及 Vite 全目标构建通过;首轮音频试听/模型切换 Electron 流程通过,
单独复跑模型错误提示出现间歇性等待超时,原因未确定,不能用首轮成功覆盖该记录。
整份 first-chat 诊断另有两条未改旧测试的非精确按钮定位歧义,不能据此宣称全 E2E 通过。
源 Windows 安装包仅证明原源树,未重新发布集成版;用户将自行在服务器验证真实 Meowa 输出。
原有三份未跟踪文档保持。详见[集成记录](tasks/20260921-integrate-game-audio-client-a6c8f241.md)。
- 2026-09-21:任务 `20260921-merge-readd-project-c82e9b` 经用户确认接管主目录,
将修复源 `6aa30a57b4dfd3af669db6e7f9a90175a9bdcbb7` 从 `576edb2` 无冲突快进合入本地 `main`。
Code 项目移除后,在“新建项目”直接选择原文件夹会重新打开,保留原身份、类型、智能体、对话及文件;

View File

@@ -0,0 +1,45 @@
# Task: Integrate official game audio client into main
## Identity
- Task ID: 20260921-integrate-game-audio-client-a6c8f241
- Mode: Integration
- Branch: main
- Worktree: D:\Datas\OthersProjects\makelore
- Base commit: b5907e895cd3c757b0bb269aab59fdbb4143cdac
- Owner: codex
- Status: Ready for Integration
## Scope
- Integrate completed official Game Audio source 938c4b1ed306fa7a45241534cd44817c775cca13 into local main while preserving later model-replacement and removed-project reopening fixes. Promote accepted module/domain/current-state facts and verify the combined client.
## Intent And Constraints
- User explicitly authorized transferring the completed primary task registration and preserving the original three foreign records. Official release --force of 20260921-merge-readd-project-c82e9b, integration start --adopt-existing and status passed at exact main/base b5907e895cd3c757b0bb269aab59fdbb4143cdac.
- Concurrent Task Gate and Planning Gate Passed. Read entry/memory index/own/source records, AGENTS, source outcome/promotion candidates, and all shared-memory changes since d222d175. Reuse unchanged previously-loaded decision/architecture/domain/evidence/reflection/commitment context and audio design. Project-positioning remains a placeholder; actual product is defined by AGENTS/README. Registry peers have no changes since the preceding read-only scope assessment; undefined historical scopes remain unknown/read-only, with no concrete audio conflict.
- Preserve main's explicit model replacement without requiring the old model, stable session history, and re-registration of preserved project folders. Audio adds a project-wide optional bundled plugin, Main-owned durable single-submit delivery and click-only local playback; no fourth authority, Provider key, partner gate or second download confirmation.
- Plan: merge the exact source with ancestry preserved, inspect any overlap in README/first-chat E2E semantically, verify the combined audio/model/project tests and build, promote compatible docs, commit and complete. Reuse source PostgreSQL/Windows artifact evidence only for the source tree; no claim that its older installer includes subsequent main fixes.
- Keep package-122, package-123 and client-hang-diagnosis untracked task records unchanged and out of commits. No reset, stash, clean, subagents, push, install or deployment. Real Meowa generation was moved to the user's server validation, not executed here.
## Outcome
- Merge 1841bafb18f0a3725e3a8bb354057408ab9eac4f integrates exact source 938c4b1ed306fa7a45241534cd44817c775cca13 into prior main b5907e895cd3c757b0bb269aab59fdbb4143cdac, preserving both parents. No product code conflict. The one first-chat fixture conflict retains removedModel as the fifth argument and appends audioPreview as sixth; the new audio call supplies false for removedModel. Both existing model and new audio scenarios remain intact.
- Promoted accepted Game Audio module, durable single-submit/all-output delivery, project-wide activation and click-only local preview rules in canonical memory. Model-replacement/project-reopening product modules and old assertions are unchanged by integration. Imported source task record remains byte-equivalent to the source; original three foreign untracked records are unchanged and not committed.
## Verification
- Combined root typecheck PASS; 12 relevant Vitest files / 123 tests PASS (audio client/delivery/files/plugin, timeline, resolver/manifest/routes, artifact, Pi conversation runtime, core routes and project identity). Vite all four targets PASS; scoped ESLint for the resolved E2E file PASS; diff/cached checks PASS; no unmerged entries remain.
- First Electron invocation through pnpm script passed the -- separator through to Playwright and consequently ran the whole first-chat file (9 tests): 7 passed, including audio native playback and removed-model replacement; 2 failed at unchanged loose button-name locators matching both Conversation button and its newly named menu button (Second Conversation, Feature UI branch). No product fix or full-E2E-PASS claim made for those older assertions.
- A direct targeted invocation then passed audio playback but failed the model-replacement error-message visibility wait. A bounded repeat also captured that wait timeout; no complete repeat-total result was retained, so it supplies no additional PASS count. That case did pass in the first run. Static comparison proves the existing removed-model scenario, its handler/flag propagation and model/Conversation store/runtime modules remain unchanged; the audio extension is optional and unset there. Treat this as unresolved intermittent E2E initialization/visibility evidence, not a proven audio regression or a fully diagnosed baseline cause. Trace contains test actions but no page/network snapshots, so it does not establish a deeper root cause. Do not rerun until green or hide the failed observation.
- Before merge commit, the drift checker refused the staged foreign source record because its import provenance requires committed shared ancestry; source-vs-index/working comparisons showed no edits. After the real two-parent merge, unchanged-source import provenance and task-aware doc drift PASS. Source worktree remains clean/ready and its latest tip is an ancestor of main.
- Adopt exact-source Windows artifact/verifier and broader test evidence only for that source tree. Those binaries predate main's model/project fixes and are not labelled integrated-main packages. No real Meowa generation or production acceptance claimed.
## Follow-ups
- Paired server migration 0093, actual pricing and real Meowa verification remain deployment/user validation steps. Rebuild installer from integrated main for distribution; retained source artifacts describe their exact older source tree only. The two unchanged locator ambiguities and intermittent model-error visibility test need separate fixture diagnosis, not a claim of full E2E acceptance.
- Cleanup awaiting explicit confirmation: task 20260921-game-audio-client-b74d9f31, clean managed ready worktree D:\Datas\OthersProjects\.codex-worktrees\makelore\20260921-game-audio-client-b74d9f31, branch codex/20260921-game-audio-client-b74d9f31-game-audio-client. Latest source tip 938c4b1e is integrated. Retiring preserves branch/commits but removes ignored dependencies and the locally built unpublished 2.0.1 installer/runtime. Nothing removed or installed.
## Promotion Candidates
- Promote accepted project-wide Game Audio/delivery/local-preview rules and exact integrated evidence without changing source historical records or erasing known baseline test limitations.